summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-06-11 13:35:11 (GMT)
committerBrad King <brad.king@kitware.com>2009-06-11 13:35:11 (GMT)
commit8c5c192b9dff5ad8e7b422ed16935c2c5d2016db (patch)
tree09b2fb001034d2cea20fc2cb89699e26f9f9cf9e
parent8ddfd1ed7f3cb6647fa679e240675d7065933e7c (diff)
downloadCMake-8c5c192b9dff5ad8e7b422ed16935c2c5d2016db.zip
CMake-8c5c192b9dff5ad8e7b422ed16935c2c5d2016db.tar.gz
CMake-8c5c192b9dff5ad8e7b422ed16935c2c5d2016db.tar.bz2
ENH: Remove Utilities/cmcurl-7.19.0 source tree
We never build this source tree anymore, so remove it.
-rw-r--r--Utilities/cmcurl-7.19.0/CHANGES1307
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/CMakeConfigurableFile.in2
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.c.in34
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.cmake56
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceCompiles.cmake75
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceRuns.cmake83
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/CurlTests.c526
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/OtherTests.cmake418
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/WindowsCache.cmake121
-rw-r--r--Utilities/cmcurl-7.19.0/CMake/config-aix.h486
-rw-r--r--Utilities/cmcurl-7.19.0/CMakeLists.txt49
-rw-r--r--Utilities/cmcurl-7.19.0/COPYING21
-rw-r--r--Utilities/cmcurl-7.19.0/ChangeLog57032
-rw-r--r--Utilities/cmcurl-7.19.0/Makefile270
-rw-r--r--Utilities/cmcurl-7.19.0/Makefile.am144
-rw-r--r--Utilities/cmcurl-7.19.0/Makefile.in844
-rw-r--r--Utilities/cmcurl-7.19.0/README53
-rw-r--r--Utilities/cmcurl-7.19.0/RELEASE-NOTES88
-rw-r--r--Utilities/cmcurl-7.19.0/acinclude.m43959
-rw-r--r--Utilities/cmcurl-7.19.0/aclocal.m47545
-rwxr-xr-xUtilities/cmcurl-7.19.0/buildconf324
-rwxr-xr-xUtilities/cmcurl-7.19.0/buildconf.bat13
-rwxr-xr-xUtilities/cmcurl-7.19.0/compile142
-rwxr-xr-xUtilities/cmcurl-7.19.0/config.guess1526
-rwxr-xr-xUtilities/cmcurl-7.19.0/config.sub1658
-rwxr-xr-xUtilities/cmcurl-7.19.0/configure44604
-rw-r--r--Utilities/cmcurl-7.19.0/configure.ac2615
-rw-r--r--Utilities/cmcurl-7.19.0/curl-config.in216
-rw-r--r--Utilities/cmcurl-7.19.0/curl-style.el51
-rwxr-xr-xUtilities/cmcurl-7.19.0/depcomp530
-rw-r--r--Utilities/cmcurl-7.19.0/docs/BINDINGS214
-rw-r--r--Utilities/cmcurl-7.19.0/docs/BUGS82
-rw-r--r--Utilities/cmcurl-7.19.0/docs/CMakeLists.txt4
-rw-r--r--Utilities/cmcurl-7.19.0/docs/CONTRIBUTE233
-rw-r--r--Utilities/cmcurl-7.19.0/docs/DISTRO-DILEMMA176
-rw-r--r--Utilities/cmcurl-7.19.0/docs/FAQ1173
-rw-r--r--Utilities/cmcurl-7.19.0/docs/FEATURES135
-rw-r--r--Utilities/cmcurl-7.19.0/docs/HISTORY153
-rw-r--r--Utilities/cmcurl-7.19.0/docs/INSTALL878
-rw-r--r--Utilities/cmcurl-7.19.0/docs/INSTALL.devcpp302
-rw-r--r--Utilities/cmcurl-7.19.0/docs/INTERNALS474
-rw-r--r--Utilities/cmcurl-7.19.0/docs/KNOWN_BUGS188
-rw-r--r--Utilities/cmcurl-7.19.0/docs/LICENSE-MIXING126
-rw-r--r--Utilities/cmcurl-7.19.0/docs/MANUAL962
-rw-r--r--Utilities/cmcurl-7.19.0/docs/Makefile.am41
-rw-r--r--Utilities/cmcurl-7.19.0/docs/Makefile.in611
-rw-r--r--Utilities/cmcurl-7.19.0/docs/README.netware27
-rw-r--r--Utilities/cmcurl-7.19.0/docs/README.win3226
-rw-r--r--Utilities/cmcurl-7.19.0/docs/RESOURCES72
-rw-r--r--Utilities/cmcurl-7.19.0/docs/SSLCERTS91
-rw-r--r--Utilities/cmcurl-7.19.0/docs/THANKS660
-rw-r--r--Utilities/cmcurl-7.19.0/docs/TODO601
-rw-r--r--Utilities/cmcurl-7.19.0/docs/TheArtOfHttpScripting490
-rw-r--r--Utilities/cmcurl-7.19.0/docs/VERSIONS67
-rw-r--r--Utilities/cmcurl-7.19.0/docs/curl-config.198
-rw-r--r--Utilities/cmcurl-7.19.0/docs/curl-config.html88
-rw-r--r--Utilities/cmcurl-7.19.0/docs/curl-config.pdfbin5908 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/curl.11612
-rw-r--r--Utilities/cmcurl-7.19.0/docs/curl.html776
-rw-r--r--Utilities/cmcurl-7.19.0/docs/curl.pdfbin75613 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/10-at-a-time.c185
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/CMakeLists.txt38
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/Makefile.am36
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/Makefile.example41
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/Makefile.in748
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/Makefile.inc17
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/Makefile.m32134
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/README76
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/anyauthput.c155
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/cacertinmem.c139
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/cookie_interface.c111
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/curlgtk.c109
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/curlx.c514
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/debug.c128
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/fileupload.c64
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/fopen.c566
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/ftpget.c87
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/ftpgetresp.c63
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/ftpupload.c118
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/ftpuploadresume.c159
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/getinfo.c42
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/getinmemory.c105
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/ghiper.c461
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/hiperfifo.c422
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/htmltidy.c118
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/htmltitle.cc301
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/http-post.c35
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/httpcustomheader.c38
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/httpput.c106
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/https.c53
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/makefile.dj40
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/multi-app.c132
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/multi-debugcallback.c182
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/multi-double.c99
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/multi-post.c128
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/multi-single.c94
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/multithread.c82
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/opensslthreadlock.c82
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/persistant.c41
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/post-callback.c117
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/postit2.c87
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/sampleconv.c95
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/sendrecv.c116
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/sepheaders.c76
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/simple.c28
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/simplepost.c37
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/simplessl.c123
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/synctime.c354
-rw-r--r--Utilities/cmcurl-7.19.0/docs/examples/threaded-ssl.c150
-rw-r--r--Utilities/cmcurl-7.19.0/docs/index.html20
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/ABI54
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.am81
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.in496
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.351
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.pdfbin3830 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.334
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.pdfbin3940 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.347
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.pdfbin3920 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.3233
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.html151
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.pdfbin13426 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.332
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.pdfbin3976 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.366
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.html71
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.pdfbin6192 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.340
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.pdfbin4322 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.370
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.html62
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.pdfbin5144 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.324
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.pdfbin3594 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.365
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.html61
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.pdfbin4901 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.31637
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.html634
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.pdfbin91070 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.320
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.pdf105
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.352
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.pdfbin4051 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.331
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.pdfbin3926 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.3216
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.html161
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.pdfbin12000 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.320
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.html55
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.pdfbin3326 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.349
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.html80
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.pdfbin3995 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.318
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.html54
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.pdfbin3195 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.3100
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.html93
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.pdfbin6868 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.330
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.html57
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.pdfbin4130 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.332
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.pdfbin3796 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.359
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.html65
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.pdfbin4678 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.342
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.html74
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.pdfbin3985 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.390
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.html70
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.pdfbin5830 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.338
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.html61
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.pdfbin4009 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.344
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.html61
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.pdfbin4492 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.327
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.pdfbin3701 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.341
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.html64
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.pdfbin4281 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.357
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.html74
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.pdfbin4825 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.321
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.html56
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.pdfbin3334 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.350
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.pdfbin5134 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.323
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.html57
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.pdfbin3717 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.384
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.html73
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.pdfbin7260 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.3158
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.html114
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.pdfbin10155 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.320
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.pdfbin3345 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.341
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.html61
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.pdfbin4290 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.321
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.html56
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.pdfbin3539 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.325
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.html57
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.pdfbin3728 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.361
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.html79
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.pdfbin4630 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.320
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.pdfbin3345 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.339
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.html66
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.pdfbin3729 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.320
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.html56
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.pdf104
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.332
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.html58
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.pdfbin4057 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.331
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.html59
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.pdfbin3889 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.319
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.html55
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.pdfbin3135 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.3148
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.html119
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.pdfbin8129 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/index.html61
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.328
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.html54
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.pdfbin4142 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.3259
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.html224
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.pdfbin14459 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.3141
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.html80
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.pdfbin9104 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.346
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.html61
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.pdfbin4763 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.31193
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.html500
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.pdfbin59715 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.3203
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.html103
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.m4240
-rw-r--r--Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.pdfbin12604 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/include/Makefile.am5
-rw-r--r--Utilities/cmcurl-7.19.0/include/Makefile.in527
-rw-r--r--Utilities/cmcurl-7.19.0/include/README55
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/Makefile.am25
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/Makefile.in482
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/curl.h1764
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/curlbuild.cmake.h.in153
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/curlbuild.h502
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/curlbuild.h.in153
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/curlrules.h216
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/curlver.h70
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/easy.h103
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/mprintf.h82
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/multi.h346
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/stdcheaders.h34
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/typecheck-gcc.h546
-rw-r--r--Utilities/cmcurl-7.19.0/include/curl/types.h1
-rwxr-xr-xUtilities/cmcurl-7.19.0/install-sh250
-rw-r--r--Utilities/cmcurl-7.19.0/lib/CMakeLists.txt577
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.Watcom505
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.am171
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.b3290
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.in777
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.inc23
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.m32148
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.netware622
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.riscos153
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.vc6520
-rw-r--r--Utilities/cmcurl-7.19.0/lib/Makefile.vc8520
-rw-r--r--Utilities/cmcurl-7.19.0/lib/NOTES4
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.NSS33
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.ares72
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.curl_off_t68
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.curlx62
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.encoding60
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.hostip35
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.httpauth74
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.memoryleak56
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.multi_socket73
-rw-r--r--Utilities/cmcurl-7.19.0/lib/README.pipelining51
-rw-r--r--Utilities/cmcurl-7.19.0/lib/amigaos.c78
-rw-r--r--Utilities/cmcurl-7.19.0/lib/amigaos.h61
-rw-r--r--Utilities/cmcurl-7.19.0/lib/arpa_telnet.h101
-rw-r--r--Utilities/cmcurl-7.19.0/lib/base64.c368
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-amigaos.h151
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-mac.h85
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-os400.h512
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-riscos.h479
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-symbian.h809
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-tpf.h750
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-win32.h448
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config-win32ce.h392
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config.cmake.h.in889
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config.dos150
-rw-r--r--Utilities/cmcurl-7.19.0/lib/config.h.in887
-rw-r--r--Utilities/cmcurl-7.19.0/lib/connect.c1030
-rw-r--r--Utilities/cmcurl-7.19.0/lib/connect.h59
-rw-r--r--Utilities/cmcurl-7.19.0/lib/content_encoding.c416
-rw-r--r--Utilities/cmcurl-7.19.0/lib/content_encoding.h45
-rw-r--r--Utilities/cmcurl-7.19.0/lib/cookie.c1053
-rw-r--r--Utilities/cmcurl-7.19.0/lib/cookie.h109
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curl_base64.h28
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curl_ldap.h34
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curl_md5.h29
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curllib.dsp662
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curllib.dsw29
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curllib.vcproj241
-rw-r--r--Utilities/cmcurl-7.19.0/lib/curlx.h107
-rw-r--r--Utilities/cmcurl-7.19.0/lib/dict.c303
-rw-r--r--Utilities/cmcurl-7.19.0/lib/dict.h29
-rw-r--r--Utilities/cmcurl-7.19.0/lib/easy.c1173
-rw-r--r--Utilities/cmcurl-7.19.0/lib/easyif.h40
-rw-r--r--Utilities/cmcurl-7.19.0/lib/escape.c196
-rw-r--r--Utilities/cmcurl-7.19.0/lib/escape.h30
-rw-r--r--Utilities/cmcurl-7.19.0/lib/file.c571
-rw-r--r--Utilities/cmcurl-7.19.0/lib/file.h29
-rwxr-xr-xUtilities/cmcurl-7.19.0/lib/firefox-db2pem.sh55
-rw-r--r--Utilities/cmcurl-7.19.0/lib/formdata.c1751
-rw-r--r--Utilities/cmcurl-7.19.0/lib/formdata.h101
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ftp.c4191
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ftp.h46
-rw-r--r--Utilities/cmcurl-7.19.0/lib/getenv.c66
-rw-r--r--Utilities/cmcurl-7.19.0/lib/getinfo.c224
-rw-r--r--Utilities/cmcurl-7.19.0/lib/getinfo.h28
-rw-r--r--Utilities/cmcurl-7.19.0/lib/gtls.c773
-rw-r--r--Utilities/cmcurl-7.19.0/lib/gtls.h69
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hash.c334
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hash.h93
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostares.c427
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostasyn.c183
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostip.c748
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostip.h293
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostip4.c309
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostip6.c305
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostsyn.c135
-rw-r--r--Utilities/cmcurl-7.19.0/lib/hostthre.c778
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http.c2900
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http.h91
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_chunks.c418
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_chunks.h108
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_digest.c510
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_digest.h58
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_negotiate.c359
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_negotiate.h39
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_ntlm.c1157
-rw-r--r--Utilities/cmcurl-7.19.0/lib/http_ntlm.h155
-rw-r--r--Utilities/cmcurl-7.19.0/lib/if2ip.c137
-rw-r--r--Utilities/cmcurl-7.19.0/lib/if2ip.h67
-rw-r--r--Utilities/cmcurl-7.19.0/lib/inet_ntoa_r.h44
-rw-r--r--Utilities/cmcurl-7.19.0/lib/inet_ntop.c225
-rw-r--r--Utilities/cmcurl-7.19.0/lib/inet_ntop.h37
-rw-r--r--Utilities/cmcurl-7.19.0/lib/inet_pton.c241
-rw-r--r--Utilities/cmcurl-7.19.0/lib/inet_pton.h42
-rw-r--r--Utilities/cmcurl-7.19.0/lib/krb4.c428
-rw-r--r--Utilities/cmcurl-7.19.0/lib/krb4.h75
-rw-r--r--Utilities/cmcurl-7.19.0/lib/krb5.c318
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ldap.c707
-rw-r--r--Utilities/cmcurl-7.19.0/lib/libcurl.framework.make137
-rw-r--r--Utilities/cmcurl-7.19.0/lib/libcurl.imp50
-rw-r--r--Utilities/cmcurl-7.19.0/lib/libcurl.plist35
-rw-r--r--Utilities/cmcurl-7.19.0/lib/libcurl.rc64
-rw-r--r--Utilities/cmcurl-7.19.0/lib/llist.c187
-rw-r--r--Utilities/cmcurl-7.19.0/lib/llist.h62
-rw-r--r--Utilities/cmcurl-7.19.0/lib/makefile.amiga27
-rw-r--r--Utilities/cmcurl-7.19.0/lib/makefile.dj37
-rw-r--r--Utilities/cmcurl-7.19.0/lib/md5.c355
-rw-r--r--Utilities/cmcurl-7.19.0/lib/memdebug.c315
-rw-r--r--Utilities/cmcurl-7.19.0/lib/memdebug.h129
-rw-r--r--Utilities/cmcurl-7.19.0/lib/memory.h50
-rwxr-xr-xUtilities/cmcurl-7.19.0/lib/mk-ca-bundle.pl187
-rw-r--r--Utilities/cmcurl-7.19.0/lib/mprintf.c1250
-rw-r--r--Utilities/cmcurl-7.19.0/lib/msvcproj.foot11
-rw-r--r--Utilities/cmcurl-7.19.0/lib/msvcproj.head147
-rw-r--r--Utilities/cmcurl-7.19.0/lib/multi.c2266
-rw-r--r--Utilities/cmcurl-7.19.0/lib/multiif.h47
-rw-r--r--Utilities/cmcurl-7.19.0/lib/netrc.c244
-rw-r--r--Utilities/cmcurl-7.19.0/lib/netrc.h34
-rw-r--r--Utilities/cmcurl-7.19.0/lib/nss.c1271
-rw-r--r--Utilities/cmcurl-7.19.0/lib/nssg.h81
-rw-r--r--Utilities/cmcurl-7.19.0/lib/nwlib.c322
-rw-r--r--Utilities/cmcurl-7.19.0/lib/nwos.c92
-rw-r--r--Utilities/cmcurl-7.19.0/lib/parsedate.c429
-rw-r--r--Utilities/cmcurl-7.19.0/lib/parsedate.h29
-rw-r--r--Utilities/cmcurl-7.19.0/lib/progress.c433
-rw-r--r--Utilities/cmcurl-7.19.0/lib/progress.h71
-rw-r--r--Utilities/cmcurl-7.19.0/lib/qssl.c486
-rw-r--r--Utilities/cmcurl-7.19.0/lib/qssl.h72
-rw-r--r--Utilities/cmcurl-7.19.0/lib/security.c541
-rw-r--r--Utilities/cmcurl-7.19.0/lib/select.c493
-rw-r--r--Utilities/cmcurl-7.19.0/lib/select.h98
-rw-r--r--Utilities/cmcurl-7.19.0/lib/sendf.c745
-rw-r--r--Utilities/cmcurl-7.19.0/lib/sendf.h83
-rw-r--r--Utilities/cmcurl-7.19.0/lib/setup-os400.h149
-rw-r--r--Utilities/cmcurl-7.19.0/lib/setup.h496
-rw-r--r--Utilities/cmcurl-7.19.0/lib/setup_once.h530
-rw-r--r--Utilities/cmcurl-7.19.0/lib/share.c220
-rw-r--r--Utilities/cmcurl-7.19.0/lib/share.h56
-rw-r--r--Utilities/cmcurl-7.19.0/lib/sockaddr.h38
-rw-r--r--Utilities/cmcurl-7.19.0/lib/socks.c688
-rw-r--r--Utilities/cmcurl-7.19.0/lib/socks.h48
-rw-r--r--Utilities/cmcurl-7.19.0/lib/speedcheck.c75
-rw-r--r--Utilities/cmcurl-7.19.0/lib/speedcheck.h34
-rw-r--r--Utilities/cmcurl-7.19.0/lib/splay.c439
-rw-r--r--Utilities/cmcurl-7.19.0/lib/splay.h66
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ssh.c2572
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ssh.h52
-rw-r--r--Utilities/cmcurl-7.19.0/lib/sslgen.c467
-rw-r--r--Utilities/cmcurl-7.19.0/lib/sslgen.h100
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ssluse.c2097
-rw-r--r--Utilities/cmcurl-7.19.0/lib/ssluse.h97
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strdup.c50
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strdup.h32
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strequal.c153
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strequal.h43
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strerror.c739
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strerror.h34
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strtok.c68
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strtok.h36
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strtoofft.c192
-rw-r--r--Utilities/cmcurl-7.19.0/lib/strtoofft.h65
-rw-r--r--Utilities/cmcurl-7.19.0/lib/telnet.c1460
-rw-r--r--Utilities/cmcurl-7.19.0/lib/telnet.h29
-rw-r--r--Utilities/cmcurl-7.19.0/lib/tftp.c923
-rw-r--r--Utilities/cmcurl-7.19.0/lib/tftp.h29
-rw-r--r--Utilities/cmcurl-7.19.0/lib/timeval.c132
-rw-r--r--Utilities/cmcurl-7.19.0/lib/timeval.h58
-rw-r--r--Utilities/cmcurl-7.19.0/lib/transfer.c2643
-rw-r--r--Utilities/cmcurl-7.19.0/lib/transfer.h63
-rw-r--r--Utilities/cmcurl-7.19.0/lib/url.c4825
-rw-r--r--Utilities/cmcurl-7.19.0/lib/url.h82
-rw-r--r--Utilities/cmcurl-7.19.0/lib/urldata.h1542
-rw-r--r--Utilities/cmcurl-7.19.0/lib/version.c260
-rw-r--r--Utilities/cmcurl-7.19.0/libcurl.pc.in38
-rwxr-xr-xUtilities/cmcurl-7.19.0/ltmain.sh6964
-rw-r--r--Utilities/cmcurl-7.19.0/m4/curl-reentrant.m4448
-rwxr-xr-xUtilities/cmcurl-7.19.0/maketgz152
-rwxr-xr-xUtilities/cmcurl-7.19.0/missing283
-rwxr-xr-xUtilities/cmcurl-7.19.0/mkinstalldirs40
-rw-r--r--Utilities/cmcurl-7.19.0/packages/AIX/Makefile.am3
-rw-r--r--Utilities/cmcurl-7.19.0/packages/AIX/Makefile.in524
-rw-r--r--Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.am2
-rw-r--r--Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.in369
-rw-r--r--Utilities/cmcurl-7.19.0/packages/AIX/RPM/README34
-rw-r--r--Utilities/cmcurl-7.19.0/packages/AIX/RPM/curl.spec.in132
-rw-r--r--Utilities/cmcurl-7.19.0/packages/DOS/Makefile.am1
-rw-r--r--Utilities/cmcurl-7.19.0/packages/DOS/Makefile.in366
-rw-r--r--Utilities/cmcurl-7.19.0/packages/DOS/README11
-rw-r--r--Utilities/cmcurl-7.19.0/packages/DOS/common.dj100
-rw-r--r--Utilities/cmcurl-7.19.0/packages/EPM/Makefile.am3
-rw-r--r--Utilities/cmcurl-7.19.0/packages/EPM/Makefile.in370
-rw-r--r--Utilities/cmcurl-7.19.0/packages/EPM/README12
-rw-r--r--Utilities/cmcurl-7.19.0/packages/EPM/curl.list.in59
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/Makefile.am1
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/Makefile.in523
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.am2
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.in371
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/RPM/README5
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl-ssl.spec.in84
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl.spec.in84
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Linux/RPM/make_curl_rpm62
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Makefile.am10
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Makefile.in533
-rw-r--r--Utilities/cmcurl-7.19.0/packages/NetWare/get_ver.awk76
-rw-r--r--Utilities/cmcurl-7.19.0/packages/OS400/README.OS400253
-rw-r--r--Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.c1175
-rw-r--r--Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.h65
-rw-r--r--Utilities/cmcurl-7.19.0/packages/OS400/curl.inc.in1611
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/OS400/initscript.sh177
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/OS400/make-include.sh55
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/OS400/make-lib.sh193
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/OS400/make-src.sh5
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/OS400/make-tests.sh102
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/OS400/makefile.sh53
-rw-r--r--Utilities/cmcurl-7.19.0/packages/OS400/os400sys.c1111
-rw-r--r--Utilities/cmcurl-7.19.0/packages/OS400/os400sys.h53
-rw-r--r--Utilities/cmcurl-7.19.0/packages/README27
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.am39
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.in400
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/bwins/libcurlu.def60
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/eabi/libcurlu.def60
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/bld.inf7
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.iby15
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.mmp23
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.pkg26
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.iby14
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.mmp33
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.pkg22
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Symbian/readme.txt80
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Win32/Makefile.am3
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Win32/Makefile.in524
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Win32/README53
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.am62
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.in427
-rw-r--r--Utilities/cmcurl-7.19.0/packages/Win32/cygwin/README114
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/Makefile.am3
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/Makefile.in370
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/axp/README1
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/vms/batch_compile.com7
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/vms/build_vms.com248
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/config-vms.h357
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/curlmsg.h115
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/curlmsg.msg110
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/curlmsg.sdl113
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/curlmsg_vms.h111
-rwxr-xr-xUtilities/cmcurl-7.19.0/packages/vms/defines.com78
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/hpssl_alpha.opt2
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/hpssl_ia64.opt2
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/hpssl_vax.opt2
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/ia64/README1
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/readme67
-rw-r--r--Utilities/cmcurl-7.19.0/packages/vms/vax/README1
-rwxr-xr-xUtilities/cmcurl-7.19.0/reconf15
-rw-r--r--Utilities/cmcurl-7.19.0/sample.emacs46
-rw-r--r--Utilities/cmcurl-7.19.0/src/CMakeLists.txt19
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.Watcom96
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.am92
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.b3290
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.in659
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.inc17
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.m32151
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.netware545
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.riscos48
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.vc6282
-rw-r--r--Utilities/cmcurl-7.19.0/src/Makefile.vc8282
-rw-r--r--Utilities/cmcurl-7.19.0/src/config-amigaos.h66
-rw-r--r--Utilities/cmcurl-7.19.0/src/config-mac.h21
-rw-r--r--Utilities/cmcurl-7.19.0/src/config-riscos.h387
-rw-r--r--Utilities/cmcurl-7.19.0/src/config-win32.h267
-rw-r--r--Utilities/cmcurl-7.19.0/src/config.h.in857
-rw-r--r--Utilities/cmcurl-7.19.0/src/curl.rc64
-rw-r--r--Utilities/cmcurl-7.19.0/src/curlsrc.dsp234
-rw-r--r--Utilities/cmcurl-7.19.0/src/curlsrc.dsw29
-rw-r--r--Utilities/cmcurl-7.19.0/src/curlutil.c135
-rw-r--r--Utilities/cmcurl-7.19.0/src/curlutil.h50
-rw-r--r--Utilities/cmcurl-7.19.0/src/getpass.c268
-rw-r--r--Utilities/cmcurl-7.19.0/src/getpass.h35
-rw-r--r--Utilities/cmcurl-7.19.0/src/homedir.c121
-rw-r--r--Utilities/cmcurl-7.19.0/src/homedir.h28
-rw-r--r--Utilities/cmcurl-7.19.0/src/hugehelp.c6622
-rw-r--r--Utilities/cmcurl-7.19.0/src/hugehelp.h26
-rw-r--r--Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT1
-rw-r--r--Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx1
-rw-r--r--Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp1
-rw-r--r--Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp1
-rw-r--r--Utilities/cmcurl-7.19.0/src/main.c5381
-rw-r--r--Utilities/cmcurl-7.19.0/src/makefile.amiga29
-rw-r--r--Utilities/cmcurl-7.19.0/src/makefile.dj65
-rwxr-xr-xUtilities/cmcurl-7.19.0/src/mkhelp.pl232
-rw-r--r--Utilities/cmcurl-7.19.0/src/setup.h208
-rw-r--r--Utilities/cmcurl-7.19.0/src/urlglob.c563
-rw-r--r--Utilities/cmcurl-7.19.0/src/urlglob.h68
-rw-r--r--Utilities/cmcurl-7.19.0/src/version.h36
-rw-r--r--Utilities/cmcurl-7.19.0/src/writeenv.c116
-rw-r--r--Utilities/cmcurl-7.19.0/src/writeenv.h28
-rw-r--r--Utilities/cmcurl-7.19.0/src/writeout.c296
-rw-r--r--Utilities/cmcurl-7.19.0/src/writeout.h28
-rw-r--r--Utilities/cmcurl-7.19.0/tests/FILEFORMAT324
-rw-r--r--Utilities/cmcurl-7.19.0/tests/Makefile.am74
-rw-r--r--Utilities/cmcurl-7.19.0/tests/Makefile.in590
-rw-r--r--Utilities/cmcurl-7.19.0/tests/README154
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/DISABLED10
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/Makefile.am79
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/Makefile.in442
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test155
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1067
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10056
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100042
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1001105
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1002116
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100348
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100459
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100548
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100649
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100739
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1008122
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test100944
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10158
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101056
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101176
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101279
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101337
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101437
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101553
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101639
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101740
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101839
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test101942
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10252
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102042
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1021135
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102237
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102337
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1024103
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1025105
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102639
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102739
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102894
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test102958
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10354
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1030109
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103176
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103256
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103360
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103462
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103559
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103661
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103754
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103853
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test103953
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10443
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104079
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104178
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104294
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104384
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104458
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104552
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104660
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104758
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104866
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test104944
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10553
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test105066
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1051118
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1052111
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1053125
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test105480
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1055100
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test105681
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test105751
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test105853
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test105958
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10651
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1060902
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1061907
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106249
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106347
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106479
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106578
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106682
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106778
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106857
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test106944
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10751
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test107065
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1071113
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test107278
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test107371
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test107476
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test107594
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10856
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test10948
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1176
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11052
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11145
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11249
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11337
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11438
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11544
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11652
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11744
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11848
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test11950
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1256
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12053
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12151
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12245
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12340
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12447
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12541
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12648
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12746
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test12857
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1344
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13065
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13166
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13265
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13365
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13465
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13553
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13642
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13747
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13849
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test13947
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1444
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14042
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14152
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test142190
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14344
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14449
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14551
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14655
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14749
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14842
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test14947
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1557
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15090
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15141
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15244
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test153133
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test154108
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test155127
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15652
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15739
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15850
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test15989
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1651
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16066
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16141
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16251
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16373
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16461
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16558
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16654
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test16781
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test168102
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test169126
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1754
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17043
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17158
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17256
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17373
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17445
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17586
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17679
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17754
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17843
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test17958
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1890
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18059
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18160
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18237
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18357
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18476
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18576
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18656
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18777
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18878
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test18969
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test1937
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19038
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19135
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19252
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19382
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19456
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19532
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19635
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19769
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19864
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test19952
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test253
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2036
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20041
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test200073
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2001109
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2002125
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2003162
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test200472
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20127
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20231
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20336
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20434
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20531
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test206100
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20758
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test20867
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test209115
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2133
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21046
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21148
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21257
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test213118
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21444
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21552
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21639
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21760
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test21852
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2246
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22068
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22171
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test222199
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22392
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test224104
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22529
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22629
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22756
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22853
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test22942
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2333
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23132
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23396
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23488
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23542
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23647
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23742
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23841
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test23989
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2447
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24058
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24156
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24254
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test243126
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24587
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24697
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24741
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24850
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test24947
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25116
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25052
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25154
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25259
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25362
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25460
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25563
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test25665
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test257115
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test258136
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test259134
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2645
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26055
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26148
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test262bin1133 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26355
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26450
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test265121
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26678
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test267105
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26857
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test26953
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2756
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27050
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27143
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27240
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27383
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27452
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27575
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27676
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27759
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27850
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test27951
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2875
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28063
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28165
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28245
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28336
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28467
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28544
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28692
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28754
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28842
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test28930
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test2952
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29043
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29147
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29256
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29360
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29464
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29545
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29648
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29746
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test29845
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test360
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3043
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30052
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30157
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30240
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30355
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30472
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30535
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30665
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30756
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30834
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test30986
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3176
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3256
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3364
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3466
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test35bin804 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test35057
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test35156
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test35257
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test35356
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test35450
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3666
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3747
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3861
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test3991
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test451
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4074
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40061
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40156
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40235
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40364
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40431
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40534
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40666
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40759
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40861
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test40956
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4132
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4274
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4381
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4472
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4576
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4689
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4749
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4847
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test4974
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test551
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5074
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50052
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50135
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50242
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50376
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50433
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50560
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test506181
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50728
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test50847
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5174
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51056
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51144
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51246
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51341
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51450
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51548
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51647
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51767
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51860
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test51971
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5274
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52047
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52160
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52260
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52364
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52446
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52559
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52663
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52763
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52865
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test52959
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5354
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53083
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53159
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53263
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53355
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53452
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53569
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53665
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53757
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53846
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test53963
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5445
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54099
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54151
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54257
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54335
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54449
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test545bin742 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54670
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test547131
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test548130
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test54965
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5566
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test55065
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test551103
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test552bin143222 -> 0 bytes
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test55367
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test55468
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test555136
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test55650
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test55737
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5661
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5748
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5851
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test5947
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test649
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6057
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60042
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60142
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60243
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60343
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60433
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60533
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60633
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60733
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60844
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test60945
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6170
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61047
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61147
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61247
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61348
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61449
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61544
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61639
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61739
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61839
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test61939
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6259
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62038
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62138
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62243
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62343
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62447
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62547
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62642
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62746
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62833
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test62933
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6353
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test63034
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test63134
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test63234
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6483
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6583
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6641
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6796
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test6895
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test69117
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test762
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7087
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70057
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70157
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70239
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70339
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70436
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70536
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70659
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test70759
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7179
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7286
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7355
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7474
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7550
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7639
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7755
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7867
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test7956
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test860
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8073
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8197
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8256
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8372
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8455
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8557
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8696
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test8736
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test88101
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test89141
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test973
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test90187
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test91118
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9254
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9351
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9458
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9574
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9752
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9855
-rw-r--r--Utilities/cmcurl-7.19.0/tests/data/test9969
-rw-r--r--Utilities/cmcurl-7.19.0/tests/ftp.pm108
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/ftpserver.pl909
-rw-r--r--Utilities/cmcurl-7.19.0/tests/getpart.pm224
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/httpserver.pl36
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/httpsserver.pl100
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/Makefile.am164
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/Makefile.in1300
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/first.c86
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib500.c50
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib501.c40
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib502.c90
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib503.c148
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib504.c156
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib505.c150
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib506.c265
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib507.c135
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib508.c87
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib510.c106
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib511.c40
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib512.c64
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib513.c67
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib514.c63
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib515.c44
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib516.c43
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib517.c51
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib518.c506
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib519.c47
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib520.c39
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib521.c41
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib523.c42
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib524.c40
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib525.c201
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib526.c212
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib530.c175
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib533.c163
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib536.c129
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib537.c509
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib539.c65
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib540.c134
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib541.c117
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib542.c71
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib543.c32
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib544.c57
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib547.c106
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib549.c48
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib552.c195
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib553.c85
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib554.c129
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib555.c147
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib556.c67
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/lib557.c1088
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/test.h50
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/libtest/test1013.pl49
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/libtest/test1022.pl45
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/libtest/test307.pl19
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/libtest/test610.pl33
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/libtest/test613.pl105
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/libtest/test75.pl13
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/testutil.c135
-rw-r--r--Utilities/cmcurl-7.19.0/tests/libtest/testutil.h50
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/memanalyze.pl356
-rw-r--r--Utilities/cmcurl-7.19.0/tests/runtests.1104
-rw-r--r--Utilities/cmcurl-7.19.0/tests/runtests.html83
-rw-r--r--Utilities/cmcurl-7.19.0/tests/runtests.pdfbin7139 -> 0 bytes
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/runtests.pl3160
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/Makefile.am64
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/Makefile.in656
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/getpart.c238
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/getpart.h27
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/resolve.c142
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/sockfilt.c964
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/sws.c1105
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/testpart.c48
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/tftp.h64
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/tftpd.c960
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/util.c272
-rw-r--r--Utilities/cmcurl-7.19.0/tests/server/util.h62
-rw-r--r--Utilities/cmcurl-7.19.0/tests/sshhelp.pm385
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/sshserver.pl982
-rw-r--r--Utilities/cmcurl-7.19.0/tests/stunnel.pem142
-rw-r--r--Utilities/cmcurl-7.19.0/tests/testcurl.1127
-rw-r--r--Utilities/cmcurl-7.19.0/tests/testcurl.html112
-rw-r--r--Utilities/cmcurl-7.19.0/tests/testcurl.pdfbin5634 -> 0 bytes
-rwxr-xr-xUtilities/cmcurl-7.19.0/tests/testcurl.pl658
-rw-r--r--Utilities/cmcurl-7.19.0/tests/valgrind.pm111
-rw-r--r--Utilities/cmcurl-7.19.0/vc6curl.dsw44
1176 files changed, 0 insertions, 320955 deletions
diff --git a/Utilities/cmcurl-7.19.0/CHANGES b/Utilities/cmcurl-7.19.0/CHANGES
deleted file mode 100644
index 219c205..0000000
--- a/Utilities/cmcurl-7.19.0/CHANGES
+++ /dev/null
@@ -1,1307 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- Changelog
-
-Version 7.19.0 (1 September 2008)
-
-Daniel Fandrich (29 Aug 2008)
-- Added tests 1071 through 1074 to test automatic downgrading from HTTP 1.1
- to HTTP 1.0 upon receiving a response from the HTTP server. Tests 1072
- and 1073 are similar to test 1069 in that they involve the impossible
- scenario of sending chunked data to a HTTP 1.0 server. All these fail
- and are added to DISABLED.
-
-- Added test 1075 to test --anyauth with Basic authentication.
-
-Daniel Stenberg (29 Aug 2008)
-- When libcurl was doing a HTTP POST and the server would respond with
- "Connection: close" and actually close the connection after the
- response-body, libcurl could still have outstanding data to send and it
- would not properly notice this and stop sending. This caused weirdness and
- sad faces. http://curl.haxx.se/bug/view.cgi?id=2080222
-
- Note that there are still reasons to consider libcurl's behavior when
- getting a >= 400 response code while sending data, as Craig Perras' note
- "http upload: how to stop on error" specifies:
- http://curl.haxx.se/mail/archive-2008-08/0138.html
-
-Daniel Stenberg (28 Aug 2008)
-- Dengminwen reported that libcurl would lock a (cookie) share twice (without
- an unlock in between) for a certain case and that in fact works when using
- regular windows mutexes but not with pthreads'! Locks should of course not
- get locked again so this is now fixed.
- http://curl.haxx.se/mail/lib-2008-08/0422.html
-
-- I'm abandoning the system with the web site mirrors (but keeping download
- files bing mirrored) and thus I've changed the URL in the cookiejar header
- to no longer use curlm.haxx.se but instead use the main site curl.haxx.se
-
-Daniel Fandrich (27 Aug 2008)
-- Fixed test case 1065 by changing the handling of CURLOPT_UPLOAD to set
- the HTTP method to GET (or HEAD) when given a value of 0.
-
-- Added test cases 1068 and 1069 to test a simple HTTP PUT from stdin. Test
- case 1069 fails in a similar manner to test 1065 so is added to DISABLED.
-
-Yang Tse (27 Aug 2008)
-- Fix generation of MS VC6 .dsp file to make it support compilation of either
- dynamic (DLL) or static (LIB) libcurl libraries in debug and release modes.
-
-Daniel Fandrich (26 Aug 2008)
-- Fixed out of memory problems that caused torture test failures in tests
- 1021 and 1067.
-
-Yang Tse (26 Aug 2008)
-- Added check and symbol definition for WIN32 file API usage in configure,
- supporting configure's --disable-largefile option for WIN32 targets also.
-
-- Non-configure systems which do not use config-win32.h configuration file,
- and want to use the WIN32 file API, must define USE_WIN32_LARGE_FILES or
- USE_WIN32_SMALL_FILES as appropriate in their own configuration files.
-
-Daniel Stenberg (23 Aug 2008)
-- Running 'make ca-firefox' in the root build dir will now run the new
- firefox-db2pem.sh conversion script that converts a local Firefox db of ca
- certs into PEM format, suitable for use with a OpenSSL or GnuTLS built
- libcurl.
-
-- Constantine Sapuntzakis fixed a bug when doing proxy CONNECT with the multi
- interface, and the proxy would send Connection: close during the
- authentication phase. http://curl.haxx.se/bug/view.cgi?id=2069047
-
-Daniel Fandrich (22 Aug 2008)
-- Fixed a problem when --dump-header - was given with more than one URL,
- which caused an error when the second header was dumped due to stdout
- being closed. Added test case 1066 to verify. Also fixed a potential
- problem where a closed file descriptor might be used for an upload
- when more than one URL is given.
-
-Yang Tse (22 Aug 2008)
-- Improved libcurl's internal curl_m*printf() functions integral data type
- size and signedness handling.
-
-- Internal adjustments to better select/differentiate when large/small file
- support is provided using WIN32 functions directly.
-
-Daniel Fandrich (20 Aug 2008)
-- Added an edited version of Vincent Le Normand's documentation of SFTP quote
- commands to the man pages.
-
-Daniel Stenberg (20 Aug 2008)
-- Phil Pellouchoud pointed out that the windows version of libcurl had a
- memory leak because it never called the OpenSSL function
- CRYPTO_cleanup_all_ex_data() as it was supposed to. This was because of a
- missing define in config-win32.h!
-
-Gisle Vanem (18 Aug 2008)
-- Updated lib/Makefile.Watcom with the option to use c-ares (USE_ARES=1).
-
-Yang Tse (18 Aug 2008)
-- Added test case 557 to verify libcurl's internal curl_m*printf() functions
- formatting functionality when handling signed and unsigned longs, as well as
- our curl_off_t data type.
-
-Yang Tse (17 Aug 2008)
-- OpenSSl enabled NetWare builds are changed to use the 'openssl' subdirectory
- when including the OpenSSL header files. This is the recommended setting, this
- prevents the undesired inclusion of header files with the same name as those
- of OpenSSL but which do not belong to the OpenSSL package. The visible change
- from previously released libcurl versions is that now OpenSSl enabled NetWare
- builds also define USE_OPENSSL in config files, and that OpenSSL header files
- must be located in a subdirectory named 'openssl'.
-
-Yang Tse (16 Aug 2008)
-- Library internal only C preprocessor macros FORMAT_OFF_T and FORMAT_OFF_TU
- remain in use as internal curl_off_t print formatting strings for the internal
- *printf functions which still cannot handle print formatting string directives
- such as "I64d", "I64u", and others available on MSVC, MinGW, Intel's ICC, and
- other DOS/Windows compilers.
-
-Daniel Fandrich (15 Aug 2008)
-- Added test case 1063 to test invalid long file ranges with file: URLs and
- 1064 to test multiple http PUTs.
-
-- Added test case 1065 to test a PUT with a single file but two URLs. This
- was discovered to be problematic while investigating an incident reported by
- Von back in May. curl in this case doesn't include a Content-Length: or
- Transfer-Encoding: chunked header which is illegal. This test case is
- added to DISABLED until a solution is found.
-
-Yang Tse (15 Aug 2008)
-- C preprocessor macros used internally and equally available externally which
- aid in the use of the curl_off_t data type are named: CURL_FORMAT_CURL_OFF_T,
- CURL_FORMAT_CURL_OFF_TU, CURL_SIZEOF_CURL_OFF_T, CURL_SUFFIX_CURL_OFF_T,
- CURL_SUFFIX_CURL_OFF_TU, CURL_OFF_T_C and CURL_OFF_TU_C.
-
-Yang Tse (13 Aug 2008)
-- The size of long is a build time characteristic and as such it is now recorded
- in curlbuild.h as CURL_SIZEOF_LONG. Definition now done from configure process
- and in CVS curlbuild.h.dist for non-configure systems.
-
-Daniel Fandrich (12 Aug 2008)
-- Fixed a buffer overflow problem in Curl_proxyCONNECT that could occur
- when a server responded with long headers and data. Luckily, the buffer
- overflowed into another unused buffer, so no actual harm was done.
- Added test cases 1060 and 1061 to verify.
-
-Daniel Stenberg (12 Aug 2008)
-- Andy Tsouladze fixed runtests.pl to not attempt to execute the stunnel
- _directory_ if that happened to appear in the path!
-
-Yang Tse (12 Aug 2008)
-- Added macros for minimum-width signed and unsigned curl_off_t integer
- constants CURL_OFF_T_C and CURL_OFF_TU_C. The clever double helper macro
- used internally to provide its functionality is thanks to Lars Nilsson.
-
-Daniel Fandrich (11 Aug 2008)
-- Fixed a boundary condition error in ftp_readresp() whereby a non-terminal
- line of a multiline FTP response whose last byte landed exactly at the end
- of the BUFSIZE-length buffer would be treated as the terminal response
- line. The following response code read in would then actually be the
- end of the previous response line, and all responses from then on would
- correspond to the wrong command. Test case 1062 verifies this.
-
-- Stop closing a never-opened ftp socket.
-
-Daniel Stenberg (11 Aug 2008)
-- Constantine Sapuntzakis filed bug report #2042430
- (http://curl.haxx.se/bug/view.cgi?id=2042430) with a patch. "NTLM Windows
- SSPI code is not thread safe". This was due to libcurl using static
- variables to tell wether to load the necessary SSPI DLL, but now the loading
- has been moved to the more suitable curl_global_init() call.
-
-- Constantine Sapuntzakis filed bug report #2042440
- (http://curl.haxx.se/bug/view.cgi?id=2042440) with a patch. He identified a
- problem when using NTLM over a proxy but the end-point does Basic, and then
- libcurl would do wrong when the host sent "Connection: close" as the proxy's
- NTLM state was erroneously cleared.
-
-Yang Tse (11 Aug 2008)
-- Added missing signed and unsigned curl_off_t integer constant suffixes for
- internal and external use. CURL_SUFFIX_CURL_OFF_T, CURL_SUFFIX_CURL_OFF_TU.
-
-Daniel Fandrich (7 Aug 2008)
-- Fixed an uninitialized variable in multi_runsingle() that could cause a
- request to prematurely end.
-
-- Added test1059 to test the FTP proxy tunnel problem fixed July 11.
-
-Yang Tse (7 Aug 2008)
-- Added curlbuild.h and curlrules.h header files to libcurl's public headers.
- File curlbuild.h is a generated file on configure-capable systems. This is
- a first step towards configure-based info in public headers. Currently only
- used to provide support for a curl_off_t data type which is not gated to
- off_t. Further details are documented inside these mentioned header files.
-
-- Fix CURL_CHECK_DEF so that when the expansion of the preprocessor symbol
- results in a set of double-quoted strings, this macro will now return an
- expansion which consists of a single double-quoted string as the result of
- concatenating all of them.
-
-- Skip data type check in DO_CURL_OFF_T_CHECK macro when argument is empty.
-
-- Adjusted testcurl.pl to copy checked out curlbuild.h.dist as curlbuild.h
- for non-configure targets when the host system doesn't run buildconf.bat.
-
-- Prevent buildconf from removing 'Makefile' and 'missing' files. This would
- blow away our CVS checked files 'missing' and 'hiper/Makefile'.
-
-- Remove adjustment done to testcurl.pl to verify if change introduced by
- Guenter Knauf in lib/Makefile.netware is enough to get the netware autobuilds
- going again.
-
-Yang Tse (5 Aug 2008)
-- Changes done to buildconf script. Validate that autom4te and autoconf, as
- well as aclocal and automake, versions match. Improve removal of previous
- run generated files. Remove verbose debug logging of aclocal on Solaris.
-
-Daniel Stenberg (5 Aug 2008)
-- Yehoshua Hershberg found a problem that would make libcurl re-use a
- connection with the multi interface even if a previous use of it caused a
- CURLE_PEER_FAILED_VERIFICATION to get returned. I now make sure that failed
- SSL connections properly close the connections.
-
-Daniel Stenberg (4 Aug 2008)
-- Test cases 1051, 1052 and 1055 were added by Daniel Fandrich on July 30 and
- proved how PUT and POST with a redirect could lead to a "hang" due to the
- data stream not being rewound properly when it had to in order to get sent
- properly (again) to the subsequent URL. This is now fixed and these test
- cases are no longer disabled.
-
-Yang Tse (4 Aug 2008)
-- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
- Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. 2.62
- version of AC_AIX defines _ALL_SOURCE and other four preprocessor symbols
- no matter if the system is AIX or not. To keep the traditional behaviour,
- and an uniform one across autoconf versions AC_AIX is replaced with our
- own internal macro CURL_CHECK_AIX_ALL_SOURCE.
-
-Daniel Stenberg (4 Aug 2008)
-- Test case 1041 (added by Daniel Fandrich July 14th) proved a bug where PUT
- with -C - sent garbage in the Content-Range: header. I fixed this problem by
- making sure libcurl always sets the size of the _entire_ upload if an app
- attemps to do resumed uploads since libcurl simply cannot know the size of
- what is currently at the server end. Test 1041 is no longer disabled.
-
-Yang Tse (2 Aug 2008)
-- No longer test availability of the gdi32 library, nor use it for linking, even
- when we have been doing this since revision 1.47 of configure.ac 4 years and
- 5 months ago when cross-compiling a Windows target. We actually don't use any
- function from the Windows GDI (Graphics Device Interface) related with drawing
- or graphics-related operations.
-
-Daniel Fandrich (1 Aug 2008)
-- Added support for --append on SFTP uploads. Unfortunately, OpenSSH doesn't
- support this so it goes untested.
-
-Yang Tse (1 Aug 2008)
-- Configure process now checks if the preprocessor _REENTRANT symbol is already
- defined. If it isn't currently defined a set of checks are performed to test
- if its definition is required to make visible to the compiler a set of *_r
- functions. Finally, if _REENTRANT is already defined or needed it takes care
- of making adjustments necessary to ensure that it is defined equally for the
- configure process tests and generated config file.
-
-- Removed definition of CURL_CHECK_WORKING_RESOLVER from acinclude.m4 it has
- not been in use since revision 1.81 of configure.in 6 years, 9 months ago.
-
-Daniel Fandrich (31 Jul 2008)
-- Fixed parsing of an IPv6 proxy address to support a scope identifier,
- as well as IPv4 addresses in IPv6 format. Also, better handle the case
- of a malformatted IPv6 address (avoid empty and NULL strings).
-
-- Fixed a problem with any FTP URL or any URLs containing an IPv6 address
- being mangled when passed to proxies when CURLOPT_PORT is also set
- (reported by Pramod Sharma).
-
-- User names embedded in proxy URLs without a password were parsed
- incorrectly--the host name is treated as part of the user name and the
- port number becomes the password. This can be observed in test 279
- (was KNOWN_ISSUE #54).
-
-Daniel Stenberg (30 Jul 2008)
-- Phil Blundell added the CURLOPT_ADDRESS_SCOPE option, as well as adjusted
- the URL parser to allow numerical IPv6-addresses to be specified with the
- scope given, as per RFC4007 - with a percent letter that itself needs to be
- URL escaped. For example, for an address of fe80::1234%1 the HTTP URL is:
- "http://[fe80::1234%251]/"
-
-- PHP's bug report #43158 (http://bugs.php.net/bug.php?id=43158) identifies a
- true bug in libcurl built with OpenSSL. It made curl_easy_getinfo() more or
- less always return 0 for CURLINFO_SSL_VERIFYRESULT because the function that
- would set it to something non-zero would return before the assign in almost
- all error cases. The internal variable is now set to non-zero from the start
- of the function only to get cleared later on if things work out fine.
-
-- Made the curl tool's -w option support the %{ssl_verify_result} variable
-
-Daniel Fandrich (30 Jul 2008)
-- Added test cases 1052 through 1055 to test uploading data from files
- during redirects. Test cases 1052 and 1055 show problems (maybe the same
- root cause as 1051) and are disabled.
-
-- Fixed a couple of buffer overflows in the MS-DOS port of the curl tool.
-
-Daniel Fandrich (29 Jul 2008)
-- Fixed --use-ascii to properly convert text files on Symbian OS, MS-DOS
- and OS/2.
-
-- Added test case 1051 to test Location: following with PUT, as reported
- by Ben Sutcliffe. The test when run manually shows a problem in curl
- so it's disabled.
-
-Daniel Fandrich (28 Jul 2008)
-- Fixed display of the interface bind address in the trace output when it's
- an IPv6 address.
-
-- Added test cases 1045 through 1049 as simple tests of --interface using the
- localhost interface.
-
-- Added test case 1050 to test --ftp-port with an IPv6 address
-
-Daniel Stenberg (26 Jul 2008)
-- David Bau filed bug report #2026240 "CURL_READFUNC_PAUSE leads to buffer
- overrun" (http://curl.haxx.se/bug/view.cgi?id=2026240) identifying two
- problems, and providing the fix for them:
-
- - CURL_READFUNC_PAUSE did in fact not pause the _sending_ of data that it is
- designed for but paused _receiving_ of data!
-
- - libcurl didn't internally set the read counter to zero when this return
- code was detected, which would potentially lead to junk getting sent to
- the server.
-
-Daniel Fandrich (26 Jul 2008)
-- Added test 1044 to test large file support in ftp with -I.
-
-- Eliminate a unnecessary socket creation in Curl_getaddrinfo for an IPv4
- address in an IPv6 capable libcurl.
-
-- Added feature in runtests.pl to select tests based on key word.
-
-Daniel Fandrich (23 Jul 2008)
-- Changed the long logfile elision code in runtests.pl to properly handle
- lines ending in \r.
-
-- Changed references to TRUE and FALSE in the curl_easy_setopt man page to
- 1 and zero, respectively, since TRUE and FALSE aren't part of the
- libcurl API.
-
-Daniel Stenberg (23 Jul 2008)
-- I went over the curl_easy_setopt man page and replaced most references to
- non-zero with the fixed value of 1. We should strive at making options
- support '1' for enabling them mentioned explicitly, as that then will allow
- us for to extend them in the future without breaking older programs.
-
- Possibly we should even introduce a fancy define to use instead of '1' all
- over...
-
-Yang Tse (21 Jul 2008)
-- Use the sreadfrom() wrapper to replace recvfrom() in our code.
-
-Yang Tse (20 Jul 2008)
-- when recvfrom prototype uses a void pointer for arguments 2, 5 or 6 this will
- now cause the definition, as appropriate, of RECVFROM_TYPE_ARG2_IS_VOID,
- RECVFROM_TYPE_ARG5_IS_VOID or RECVFROM_TYPE_ARG6_IS_VOID.
-
-Yang Tse (17 Jul 2008)
-- RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
- to the data type pointed by its respective argument and not the pointer type.
-
-Yang Tse (16 Jul 2008)
-- Configure process now checks availability of recvfrom() socket function and
- finds out its return type and the types of its arguments. Added definitions
- for non-configure systems config files, and introduced macro sreadfrom which
- will be used on udp sockets as a recvfrom() wrapper.
-
-Yang Tse (15 Jul 2008)
-- Added description/comment to include paths used in several Makefile.am files.
- Added automake option nostdinc to test servers makefile and modified libcurl
- external headers include path for libtest programs.
-
-Daniel Fandrich (14 Jul 2008)
-- Added test1040 through test1043 to test -C - on HTTP. Test 1041 failed so
- it's added to DISABLED.
-
-Yang Tse (14 Jul 2008)
-- HTTP_ONLY definition check in lib/setup.h is now done once that configuration
- file has been included. In this way if symbol is defined in the config file
- it will no longer be ignored. Removed inclusion of remaining system header
- files from configuration files. Moved _REENTRANT definition up/earlier in
- lib/setup.h
-
-Yang Tse (11 Jul 2008)
-- Added missing multiple header inclusion prevention definition for header
- file content_encoding.h
-
-Daniel Fandrich (11 Jul 2008)
-- Fixed test 553 to pass the torture test.
-
-Daniel Stenberg (11 Jul 2008)
-- Daniel Fandrich found out we didn't pass on the user-agent properly when
- doing "proxy-tunnels" with non-HTTP prototols and that was simply because
- the code assumed the user-agent was only needed for HTTP.
-
-Daniel Fandrich (10 Jul 2008)
-- Changed slightly the SFTP quote commands chmod, chown and chgrp to only
- set the attribute that has changed instead of all possible ones. Hopefully,
- this will solve the "Permission denied" problem that Nagarajan Sreenivasan
- reported when setting some modes, but regardless, it saves a protocol
- round trip in the chmod case.
-
-- Added test cases 1038 and 1039 to test Adrian Kreher's report that ftp
- uploads with -C - didn't resume properly, but the tests pass.
-
-Yang Tse (10 Jul 2008)
-- Peter Lamberg filed bug report #2015126: "poll gives WSAEINVAL when POLLPRI
- is set in fdset.events" (http://curl.haxx.se/bug/view.cgi?id=2015126) which
- exactly pinpointed the problem only triggered on Windows Vista, provided
- reference to docs and also a fix. There is much work behind Peter Lamberg's
- excellent bug report. Thank You!
-
-Daniel Fandrich (9 Jul 2008)
-- Added tests 1036 and 1037 to verify resumed ftp downloads with -C -
-
-Daniel Stenberg (9 Jul 2008)
-- Andreas Schuldei improved Phil Blundell's patch for IPv6 using c-ares, and I
- edited it slightly. Now you should be able to use IPv6 addresses fine even
- with libcurl built to use c-ares.
-
-Daniel Fandrich (9 Jul 2008)
-- Fixed an OOM handling problem that cause test 11 to fail the torture test.
-
-Daniel Fandrich (8 Jul 2008)
-- Fixed test 554 to pass the torture test.
-
-Daniel Fandrich (7 Jul 2008)
-- Added test cases 1034 & 1035 to test IDN name conversion failures.
-
-Daniel Stenberg (7 Jul 2008)
-- Scott Barrett provided a test case for a segfault in the FTP code and the
- fix for it. It occured when you did a FTP transfer using
- CURLFTPMETHOD_SINGLECWD and then did another one on the same easy handle but
- switched to CURLFTPMETHOD_NOCWD. Due to the "dir depth" variable not being
- cleared properly. Scott's test case is now known as test 539 and it
- verifies the fix.
-
-Daniel Stenberg (3 Jul 2008)
-- Phil Blundell provided a fix for libcurl's treatment of unexpected 1xx
- response codes. Previously libcurl would hang on such occurances. I added
- test case 1033 to verify.
-
-- Introcuding a new timestamp for curl_easy_getinfo():
- CURLINFO_APPCONNECT_TIME. This is set with the "application layer"
- handshake/connection is completed. Which typically is SSL, TLS or SSH and by
- using this you can figure out the application layer's own connect time. You
- can extract the time stamp using curl's -w option and the new variable named
- 'time_appconnect'. This feature was sponsored by Lenny Rachitsky at NeuStar.
-
-Daniel Fandrich (2 Jul 2008)
-- Support Open Watcom C on Linux (as well as Windows).
-
-Yang Tse (2 Jul 2008)
-- The previously committed fix for bug report #1999181 prevented using the
- monotonic clock on any system without an always supported POSIX compliant
- implementation. Now the POSIX compliant configuration check is removed and
- will fallback to gettimeofday when the monotonic clock is unavailable at
- run-time.
-
-- The configure process will now halt when sed, grep, egrep or ar programs
- can not be found among the directories in PATH variable.
-
-Daniel Stenberg (1 Jul 2008)
-- Rolland Dudemaine provided fixes to get libcurl to build for the INTEGRITY
- operating system.
-
-Daniel Stenberg (30 Jun 2008)
-- Made the internal printf() support %llu properly to print unsigned long longs.
-
-- Stephen Collyer and Tor Arntsen helped identify a flaw in the range code
- which output the range using a signed variable where it should rather use
- unsigned.
-
-Yang Tse (29 Jun 2008)
-- John Lightsey filed bug report #1999181: "CLOCK_MONOTONIC always fails on
- some systems" (http://curl.haxx.se/bug/view.cgi?id=1999181). The problem was
- that the configure script did not use the _POSIX_MONOTONIC_CLOCK feature test
- macro when checking monotonic clock availability. This is now fixed and the
- monotonic clock will not be used unless the feature test macro is defined
- with a value greater than zero indicating always supported.
-
-Daniel Fandrich (25 Jun 2008)
-- Honour --stderr with the -v option.
-
-- Fixed a file handle leak in the command line client if more than one
- --stderr option was given.
-
-Daniel Stenberg (22 Jun 2008)
-- Eduard Bloch filed the debian bug report #487567
- (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487567) pointing out that
- libcurl used Content-Range: instead of Range when doing a range request with
- --head (CURLOPT_NOBODY). This is now fixed and test case 1032 was added to
- verify.
-
-Daniel Fandrich (21 Jun 2008)
-- Stopped using ranges in scanf character sequences (e.g. %[a-z]) since that
- is not ANSI C, just a common extension. This caused problems on
- at least Open Watcom C.
-
-Yang Tse (20 Jun 2008)
-- Modified configuration script to actually verify if the compiler is good
- enough at detecting compilation errors or at least it has been properly
- configured to do so. Configuration heavily depends on this capability, so
- if this compiler sanity check fails the configuration process will now fail.
-
-Daniel Stenberg (20 Jun 2008)
-- Phil Pellouchoud found a case where libcurl built with NSS failed to
- handshake with a SSLv2 server, and it turned out to be because it didn't
- recognize the cipher named "rc4-md5". In our list that cipher was named
- plainly "rc4". I've now added rc4-md5 to work as an alias as Phil reported
- that it made things work for him again.
-
-- Hans-Jurgen May pointed out that trying SCP or SFTP over a SOCKS proxy
- crashed libcurl. This is now addressed by making sure we use "plain send"
- internally when doing the socks handshake instead of the Curl_write()
- function which is designed to use the "target" protocol. That's then SCP or
- SFTP in this case. I also took the opportunity and cleaned up some ssh-
- related #ifdefs in the code for readability.
-
-Daniel Stenberg (19 Jun 2008)
-- Christopher Palow fixed a curl_multi_socket() issue which previously caused
- libcurl to not tell the app properly when a socket was closed (when the name
- resolve done by c-ares is completed) and then immediately re-created and put
- to use again (for the actual connection). Since the closure will make the
- "watch status" get lost in several event-based systems libcurl will need to
- tell the app about this close/re-create case.
-
-- Dengminwen found a bug in the connection re-use function when using the
- multi interface with pipelining enabled as it would wrongly check for,
- detect and close "dead connections" even though that connection was already
- in use!
-
-Daniel Fandrich (18 Jun 2008)
-- Added SSH failure test cases 628-632
-
-- Fixed a memory leak in the command-line tool that caused a valgrind error.
-
-Daniel Stenberg (18 Jun 2008)
-- Rob Crittenden brought a fix for the NSS layer that makes libcurl no longer
- always fire up a new connection rather than using the existing one when the
- multi interface is used. Original bug report:
- https://bugzilla.redhat.com/show_bug.cgi?id=450140
-
-Yang Tse (18 Jun 2008)
-- Internal configure script improvement. No longer break out of shell "for"
- statements from inside AC_FOO_IFELSE macros, otherwise temporary macro files
- are not properly removed.
-
-Daniel Fandrich (12 Jun 2008)
-- Fixed curl-config --ca which wasn't being exported by configure.
-
-Daniel Stenberg (11 Jun 2008)
-- I did a cleanup of the internal generic SSL layer and how the various SSL
- libraries are supported. Starting now, each underlying SSL library support
- code does a set of defines for the 16 functions the generic layer (sslgen.c)
- uses (all these new function defines use the prefix "curlssl_"). This
- greatly simplified the generic layer in readability by involving much less
- #ifdefs and other preprocessor stuff and should make it easier for people to
- make libcurl work with new SSL libraries.
-
- Hopefully I can later on document these 16 functions somewhat as well.
-
- I also made most of the internal SSL-dependent functions (using Curl_ssl_
- prefix) #defined to nothing when no SSL support is requested - previously
- they would unnecessarily call mostly empty functions.
-
- I've built libcurl with OpenSSL and GnuTLS and without SSL to test this and
- I've also tried building with NSS but the NSS support is a mystery to me and
- I failed to build libcurl with the NSS libraries I have installed. We really
- should A) improve our configure script to detect unsuitable NSS versions
- already at configure time and B) document our requirements better for the
- SSL libraries.
-
-Daniel Stenberg (10 Jun 2008)
-- I made the OpenSSL code build again with OpenSSL 0.9.6. The CRLFILE
- functionality killed it due to its unconditional use of
- X509_STORE_set_flags...
-
-Daniel Stenberg (8 Jun 2008)
-- Due to the three new libcurl changes and the massive command line option
- change I decided we'll mark it by bumping the next release number to 7.19.0!
-
-- curl the tool now deals with its command line options somewhat differently!
- All boolean options (such as -O, -I, -v etc), both short and long versions,
- now always switch on/enable the option named. Using the same option multiple
- times thus make no difference. To switch off one of those options, you need
- to use the long version of the option and type --no-OPTION. Like to disable
- verbose mode you use --no-verbose!
-
-- Added --remote-name-all to curl, which if used changes the default for all
- given URLs to be dealt with as if -O is used. So if you want to disable that
- for a specific URL after --remote-name-all has been used, you muse use -o -
- or --no-remote-name.
-
-Daniel Stenberg (6 Jun 2008)
-- Axel Tillequin and Arnaud Ebalard added support for CURLOPT_ISSUERCERT, for
- OpenSSL, NSS and GnuTLS-built libcurls.
-
-- Axel Tillequin and Arnaud Ebalard added support for CURLOPT_CRLFILE, for
- OpenSSL, NSS and GnuTLS-built libcurls.
-
-- Added CURLINFO_PRIMARY_IP as a new information retrievable with
- curl_easy_getinfo. It returns a pointer to a string with the most recently
- used IP address. Modified test case 500 to also verify this feature. The
- implementing of this feature was sponsored by Lenny Rachitsky at NeuStar.
-
-Version 7.18.2 (4 June 2008)
-
-Daniel Fandrich (3 Jun 2008)
-- Fixed a problem where telnet data would be lost if an EWOULDBLOCK
- condition were encountered.
-
-Marty Kuhrt (1 Jun 2008)
-- Updated main.c to return CURLE_OK if PARAM_HELP_REQUESTED was returned
- from getparameter instead of CURLE_FAILED_INIT. No point in returning
- an error if --help or --version were requested.
-
-Daniel Stenberg (28 May 2008)
-- Emil Romanus found a problem and helped me repeat it. It occured when using
- the curl_multi_socket() API with HTTP pipelining enabled and could lead to
- the pipeline basically stalling for a very long period of time until it took
- off again.
-
-- Jeff Weber reported memory leaks with aborted SCP and SFTP transfers and
- provided excellent repeat recipes. I fixed the cases I managed to reproduce
- but Jeff still got some (SCP) problems even after these fixes:
- http://curl.haxx.se/mail/lib-2008-05/0342.html
-
-Daniel Stenberg (26 May 2008)
-- Bug report #1973352 (http://curl.haxx.se/bug/view.cgi?id=1973352) identified
- how the HTTP redirect following code didn't properly follow to a new URL if
- the new url was but a query string such as "Location: ?moo=foo". Test case
- 1031 was added to verify this fix.
-
-- Andreas Faerber and Scott McCreary made (lib)curl build for the Haiku OS.
-
-Yang Tse (26 May 2008)
-- David Rosenstrauch reported that header files spnegohelp.h and
- openssl/objects.h were needed to compile SPNEGO support.
-
-Daniel Fandrich (22 May 2008)
-- Made sure to pass longs in to curl_easy_setopt where necessary in the
- example programs and libtest code.
-
-Daniel Stenberg (19 May 2008)
-- When trying to repeat a multi interface problem I fell over a few multi
- interface problems:
-
- o with pipelining disabled, the state should never be set to WAITDO but
- rather go straight to DO
-
- o we had multiple states for which the internal function returned no socket
- at all to wait for, with the effect that libcurl calls the socket callback
- (when curl_multi_socket() is used) with REMOVE prematurely (as it would be
- added again within very shortly)
-
- o when in DO and DOING states, the HTTP and HTTPS protocol handler functions
- didn't return that the socket should be waited for writing, but instead it
- was treated as if no socket was needing monitoring so again REMOVE was
- called prematurely.
-
-Daniel Stenberg (13 May 2008)
-- Added test case 556 that uses curl_easy_send() and curl_easy_recv()
-
-Daniel Stenberg (9 May 2008)
-- Introducing curl_easy_send() and curl_easy_recv(). They can be used to send
- and receive data over a connection previously setup with curl_easy_perform()
- and its CURLOPT_CONNECT_ONLY option. The sendrecv.c example was added to
- show how they can be used.
-
-Yang Tse (9 May 2008)
-- Internal time differences now use monotonic time source if available.
- This also implies the removal of the winmm.lib dependency for WIN32.
-
-Daniel Stenberg (9 May 2008)
-- Stefan Krause reported a busy-looping case when using the multi interface
- and doing CONNECT to a proxy. The app would then busy-loop until the proxy
- completed its response.
-
-Michal Marek (9 May 2008)
-- Make Curl_write and it's callees accept a const pointer, in preparation
- of tetetest's patch for curl_easy_send()
-
-Daniel Stenberg (7 May 2008)
-- Liam Healy filed the debian bug report #480044
- (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480044) identifying a
- segfault when using krb5 ftp, but the krb4 code had the same problem.
-
-Yang Tse (7 May 2008)
-- Christopher Palow provided the patch (edited by me) that introduces the
- use of microsecond resolution keys for internal splay trees.
-
-Daniel Stenberg (4 May 2008)
-- Yuriy Sosov pointed out a configure fix for detecting c-ares when that is
- built debug-enabled.
-
-Daniel Stenberg (3 May 2008)
-- Ben Van Hof filed bug report #1945240: "libcurl sometimes sends body twice
- when using CURL_AUTH_ANY" (http://curl.haxx.se/bug/view.cgi?id=1945240).
- The problem was that when libcurl rewound a stream meant for upload when it
- would prepare for a second request, it could accidentally continue the
- sending of the rewound data on the first request instead of on the second.
- Ben also provided test case 1030 that verifies this fix.
-
-Daniel Stenberg (3 May 2008)
-- Jean-Francois Bertrand reported a libcurl crash with CURLOPT_TCP_NODELAY
- since libcurl used getprotobyname() and that isn't thread-safe. We now
- switched to use IPPROTO_TCP unconditionally, but perhaps the proper fix is
- to detect the thread-safe version of the function and use that.
- http://curl.haxx.se/mail/lib-2008-05/0011.html
-
-Daniel Stenberg (1 May 2008)
-- Bart Whiteley provided a patch that made libcurl work properly when an app
- uses the CURLOPT_OPENSOCKETFUNCTION callback to create a unix domain socket
- to a http server.
-
-Daniel Stenberg (29 Apr 2008)
-- To make it easier for applications that want lots of magic stuff done on
- redirections and thus cannot use CURLOPT_FOLLOWLOCATION easily, we now
- introduce the new CURLINFO_REDIRECT_URL option that lets applications
- extract the URL libcurl would've redirected to if it had been told to. This
- then enables the application to continue to that URL as it thinks is
- suitable, without having to re-implement the magic of creating the new URL
- from the Location: header etc. Test 1029 verifies it.
-
-Yang Tse (29 Apr 2008)
-- Improved easy interface resolving timeout handling in c-ares enabled builds
-
-Daniel Fandrich (28 Apr 2008)
-- Added test 1028 to test an HTTP redirect to a FTP URL.
-
-Daniel Stenberg (28 Apr 2008)
-- Norbert Frese filed bug report #1951588: "Problem with curlftpfs and
- libcurl" (http://curl.haxx.se/bug/view.cgi?id=1951588) which seems to be an
- identical report to what Denis Golovan reported in
- http://curl.haxx.se/mail/lib-2008-02/0108.html The FTP code didn't reset the
- user/password pointers properly even though there might've been a new
- struct/cconnection getting used.
-
-Daniel Stenberg (26 Apr 2008)
-- Reverted back to use automake 1.9.6 in the next release (from automake
- 1.10.1) since it *still* suffers from Solaris-related bugs. Our previous
- automake 1.10 problem was reported in bug #1701360
- (http://curl.haxx.se/bug/view.cgi?id=1701360) and this recent problem was
- bug #1944825 (http://curl.haxx.se/bug/view.cgi?id=1944825). I have not
- personally approached the automake team about either one of these but I
- figure we need a Solaris 10 guy to do it!
-
-Yang Tse (25 Apr 2008)
-- Added 'timeout' and 'delay' attributes support for the test harness
- <command> subsection.
-
-Daniel Fandrich (24 Apr 2008)
-- Made --stderr able to redirect all stderr messages.
-
-Yang Tse (23 Apr 2008)
-- Improve synchronization between test harness runtests.pl script
- and test harness servers to minimize risk of false test failures.
-
-Daniel Fandrich (22 Apr 2008)
-- Added support for running on Symbian OS.
-
-Daniel Fandrich (18 Apr 2008)
-- Added test cases 1026 and 1027 to do some rudimentary tests on the --manual
- and --help options.
-
-Michal Marek (14 Apr 2008)
-- allow disabling the typechecker by defining CURL_DISABLE_TYPECHECK, as
- discussed in http://curl.haxx.se/mail/lib-2008-04/0291.html
-
-Daniel Stenberg (14 Apr 2008)
-- Stefan Krause reported a case where the OpenSSL handshake phase wasn't
- properly acknowledging the timeout values, like if you pulled the network
- plug in the midst of it.
-
-- Andre Guibert de Bruet fixed a second case of not checking the malloc()
- return code in the Negotiate code.
-
-- Sandor Feldi reported bug #1942022
- (http://curl.haxx.se/bug/view.cgi?id=1942022) pointing out a mistake in the
- lib/Makefile.vc[68] makefiles' release-ssl-dll target.
-
-- Brock Noland reported that curl behaved differently depending on which order
- you used -i and -I.
-
-Daniel Stenberg (12 Apr 2008)
-- Andre Guibert de Bruet found and fixed a case where malloc() was called but
- was not checked for a NULL return, in the Negotiate code.
-
-Daniel Fandrich (9 Apr 2008)
-- Added test cases 1024 & 1025 to test a scenario similar to the one reported
- by Ben Combee where libcurl would send the wrong cookie to a redirected
- server. libcurl was doing the right thing in these test cases.
-
-Michal Marek (7 Apr 2008)
-- Fix the MIT / Heimdal check for good:
- Define HAVE_GSSMIT if <gssapi/{gssapi.h,gssapi_generic.h,gssapi_krb5.h}> are
- available, otherwise define HAVE_GSSHEIMDAL if <gssapi.h> is available.
-
- Only define GSS_C_NT_HOSTBASED_SERVICE to gss_nt_service_name if
- GSS_C_NT_HOSTBASED_SERVICE isn't declared by the gssapi headers. This should
- avoid breakage in case we wrongly recognize Heimdal as MIT again.
-
-Daniel Stenberg (5 Apr 2008)
-- Alexey Simak fixed curl_easy_reset() to reset the max redirect limit properly
-
-- Based on the Debian bug report #474224 that complained about the FTP error
- message when libcurl doesn't get a 220 back immediately on connect, I now
- changed it to be more specific on what the problem is. Also worth noticing:
- while the bug report contains an example where the response is:
-
- 421 There are too many connected users, please try again later
-
- we cannot assume that the error message will always be this readable nor
- that it fits within a particular boundary etc.
-
-Daniel Fandrich (3 Apr 2008)
-- Added test627 to test SFTP with CURLOPT_NOBODY
-
-Daniel Stenberg (3 Apr 2008)
-- Setting CURLOPT_NOBODY to FALSE will now switch the HTTP request method to
- GET simply because previously when you set CURLOPT_NOBODY to TRUE first and
- then FALSE you'd end up in a broken state where a HTTP request would do a
- HEAD by still act a lot like for a GET and hang waiting for the content etc.
-
-- Scott Barrett added support for CURLOPT_NOBODY over SFTP
-
-Daniel Fandrich (3 Apr 2008)
-- Made sure that curl_global_init is called in all the multithreaded
- example programs.
-
-Michal Marek (31 Mar 2008)
-- Removed the generated ca-bundle.h file. The verbatim value of $ca and
- $capath is known to configure, so it can be defined in config.h instead.
-
-Daniel Stenberg (31 Mar 2008)
-- Added CURLFORM_STREAM as a supported option to curl_formadd() to allow an
- application to provide data for a multipart with the read callback. Note
- that the size needs to be provided with CURLFORM_CONTENTSLENGTH when the
- stream option is used. This feature is verified by the new test case
- 554. This feature was sponsored by Xponaut.
-
-Daniel Fandrich (30 Mar 2008)
-- Changed the makefile so the doc/examples/ programs are never built in a
- normal build/install (only with the 'make check' target), so that a
- build failure in the examples isn't fatal.
-
-Version 7.18.1 (30 March 2008)
-
-Daniel Stenberg (28 Mar 2008)
-- Stephen Collyer pointed out that configure --with-libssh2 without a given
- path didn't work properly.
-
-Daniel Stenberg (27 Mar 2008)
-- As found out and reported by Dan Petitt, libcurl didn't show progress/call
- the progress callback for the first (potentially huge) piece of body data
- sent together with the POST request headers in the initial send().
-
-Daniel Stenberg (25 Mar 2008)
-- Made setting the CURLOPT_SSL_CTX_FUNCTION option return a failure in case
- libcurl wasn't built to use OpenSSL as that is a prerequisite for this
- option to function!
-
-Daniel Stenberg (22 Mar 2008)
-- Fixed the problem with doing a zero byte SCP transfer, verified with test
- case 617 (which was added by Daniel Fandrich 5 Mar 2008).
-
-Daniel Fandrich (20 Mar 2008)
-- Fixed a problem where curl-config --protocols could erroneously show LDAPS
- support when curl didn't even have regular LDAP support. It looks like
- this could happen when the --enable-ldaps configure switch is given but
- configure couldn't find the LDAP headers or libraries.
-
-Michal Marek (20 Mar 2008)
-- Added --with-ca-path=DIRECTORY configure option to use an openSSL CApath by
- default instead of a ca bundle. The configure script will also look for a
- ca path if no ca bundle is found and no option given.
-
-- Fixed detection of previously installed curl-ca-bundle.crt
-
-Daniel Fandrich (18 Mar 2008)
-- Added test 626 to reproduce an infinite loop when given an invalid
- SFTP quote command reported by Vincent Le Normand, and fixed it.
-
-Michal Marek (18 Mar 2008)
-- Added curl_easy_getinfo typechecker.
-
-- Added macros for curl_share_setopt and curl_multi_setopt to check at least
- the correct number of arguments.
-
-Daniel Fandrich (13 Mar 2008)
-- Added tests 622-625 to test SFTP/SCP uploads. Test 625 was an attempt to
- reproduce the --ftp-create-dirs problem reported by Brian Ulm, but that
- seems to need a call curl_easy_reset() which this test case doesn't do.
-
-Daniel Stenberg (13 Mar 2008)
-- Brian Ulm figured out that if you did an SFTP upload with
- CURLOPT_FTP_CREATE_MISSING_DIRS to create a directory, and then re-used the
- handle and uploaded another file to another directory that needed to be
- created, the second upload would fail. Another case of a state variable that
- wasn't properly reset between requests.
-
-- I rewrote the 100-continue code to use a single state variable instead of
- the previous two ones. I think it made the logic somewhat clearer.
-
-Daniel Stenberg (11 Mar 2008)
-- Dmitry Popov filed bug report #1911069
- (http://curl.haxx.se/bug/view.cgi?id=1911069) that identified a race
- condition in the name resolver code when the DNS cache is shared between
- multiple easy handles, each running in simultaneous threads that could cause
- crashes.
-
-- Added a macro for curl_easy_setopt() that accepts three arguments and simply
- does nothing with them, just to make sure libcurl users always use three
- arguments to this function. Due to its use of ... for the third argument, it
- is otherwise hard to detect abuse.
-
-Michal Marek (11 Mar 2008)
-- Added a type checking macro for curl_easy_setopt(), needs gcc-4.3 and only
- works in C mode atm (http://curl.haxx.se/mail/lib-2008-02/0267.html ,
- http://curl.haxx.se/mail/lib-2008-02/0292.html )
-
-Daniel Fandrich (10 Mar 2008)
-- Added tests 618-621 to test SFTP/SCP transfers of more than one file
- (test 620 tests the just-fixed problem reported by Brian Ulm).
-
-Daniel Stenberg (9 Mar 2008)
-- Brian Ulm reported a crash when doing a second SFTP transfer on a re-used
- easy handle if curl_easy_reset() was used between them. I fixed it and Brian
- verified that it cured his problem.
-
-- Brian Ulm reported that if you first tried to download a non-existing SFTP
- file and then fetched an existing one and re-used the handle, libcurl would
- still report the second one as non-existing as well! I fixed it and Brian
- verified that it cured his problem.
-
-Michal Marek (6 Mar 2008)
-- Fix the gssapi configure check to detect newer MIT Kerberos (patch by
- Michael Calmer)
-
-Yang Tse (6 Mar 2008)
-- Fix regression on Curl_socket_ready() and Curl_poll() so that these will
- again fail on select/poll errors different than EINTR.
-
-Daniel Fandrich (5 Mar 2008)
-- Fixed the test harness so it will write out zero-length data files.
-
-- Added tests 616 and 617 to see how SFTP and SCP cope with zero-length
- files, as questioned by Mike Protts. SFTP does for me but SCP doesn't
- so test 617 is disabled for now.
-
-Daniel S (4 Mar 2008)
-- Mike Protts brought a patch that makes resumed transfers work with SFTP.
-
-Daniel S (1 Mar 2008)
-- Anatoli Tubman found and fixed a crash with Negotiate authentication used on
- a re-used connection where both requests used Negotiate.
-
-Guenter Knauf (26 Feb 2008)
-- Kaspar Brand provided a patch to support server name indication (RFC 4366).
-
-Daniel S (25 Feb 2008)
-- Kaspar Brand made GnuTLS-built libcurl properly acknowledge the option that
- forces it to prefer SSLv3.
-
-Daniel S (23 Feb 2008)
-- Sam Listopad provided a patch in feature-request #1900014
- http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl (built to
- use OpenSSL) support a full chain of certificates in a given PKCS12
- certificate.
-
-Daniel S (22 Feb 2008)
-- Georg Lippitsch made the src/Makefile.vc6 makefile use the same memory model
- options as the lib/Makefile.vc6 already did.
-
-Daniel S (21 Feb 2008)
-- Zmey Petroff found a crash when libcurl accessed a NULL pointer, which
- happened if you set the connection cache size to 1 and for example failed to
- login to an FTP site. Bug report #1896698
- (http://curl.haxx.se/bug/view.cgi?id=1896698)
-
-Daniel S (20 Feb 2008)
-- Fixed test case 405 to not fail when libcurl is built with GnuTLS
-
-- Based on initial work done by Gautam Kachroo to address a bug, we now keep
- better control at the exact state of the connection's SSL status so that we
- know exactly when it has completed the SSL negotiation or not so that there
- won't be accidental re-uses of connections that are wrongly believed to be
- in SSL-completed-negotiate state.
-
-- We no longer support setting the CURLOPT_URL option from inside a callback
- such as the CURLOPT_SSL_CTX_FUNCTION one treat that as if it was a Location:
- following. The patch that introduced this feature was done for 7.11.0, but
- this code and functionality has been broken since about 7.15.4 (March 2006)
- with the introduction of non-blocking OpenSSL "connects".
-
- It was a hack to begin with and since it doesn't work and hasn't worked
- correctly for a long time and nobody has even noticed, I consider it a very
- suitable subject for plain removal. And so it was done.
-
-Guenter Knauf (19 Feb 2008)
-- We do no longer support SSLv2 by default since it has known flaws.
- Kaspar Brand provided a patch for all supported SSL toolkits.
-
-Daniel Fandrich (19 Feb 2008)
-- Added test309 to test HTTP redirect to HTTPS URL
-
-Daniel S (18 Feb 2008)
-- We're no longer providing a very old ca-bundle in the curl tarball. You can
- get a fresh one downloaded and created with 'make ca-bundle' or you can get
- one from here => http://curl.haxx.se/docs/caextract.html if you want a fresh
- new one extracted from Mozilla's recent list of ca certs.
-
- The configure option --with-ca-bundle now lets you specify what file to use
- as default ca bundle for your build. If not specified, the configure script
- will check a few known standard places for a global ca cert to use.
-
-Daniel S (17 Feb 2008)
-- Jerome Muffat-Meridol helped me fix Curl_done() to close the current
- connection by force when it was called before the entire request is
- completed, simply because we can't know if the connection really can be
- re-used safely at that point.
-
-- Based on the same debugging logic, I've also made Curl_http_done() not
- return CURLE_GOT_NOTHING if called "prematurely". This should have no real
- effect to anything but the code makes more sense like this.
-
-Daniel S (15 Feb 2008)
-- Made the gnutls code path not even try to get the server cert if no peer
- verification is requested. Previously it would even return failure if gnutls
- failed to get the server cert even though no verification was asked for.
- Public server showing the problem: https://www.net222.caisse-epargne.fr
-
-- Fix my Curl_timeleft() leftover mistake in the gnutls code
-
-- Pooyan McSporran found and fixed a flaw where you first would do a normal
- http request and then you'd reuse the handle and replace the Accept: header,
- as then libcurl would send two Accept: headers!
-
-Daniel S (11 Feb 2008)
-- Yang Tse pointed out a few remaining quirks from my timeout refactoring from
- Feb 7 that didn't abort properly on timeouts. These are actually old
- problems but now they should be fixed.
-
-Yang Tse (10 Feb 2008)
-- Bug report #1888932 (http://curl.haxx.se/bug/view.cgi?id=1888932) points out
- and provides test program that demonstrates that libcurl might not set error
- description message for error CURLE_COULDNT_RESOLVE_HOST for Windows threaded
- name resolver builds. Fixed now.
-
-Daniel Fandrich (8 Feb 2008)
-- Added key words to all SSL-using tests so they can be skipped if necessary.
- Removed a few unnecessary requires SSL statements.
-
-Daniel S (8 Feb 2008)
-- Mike Hommey filed and fixed bug report #1889856
- (http://curl.haxx.se/bug/view.cgi?id=1889856): When using the gnutls ssl
- layer, cleaning-up and reinitializing curl ends up with https requests
- failing with "ASN1 parser: Element was not found" errors. Obviously a
- regression added in 7.16.3.
-
-Yang Tse (8 Feb 2008)
-- Improved test harness SCP/SFTP start up server verification, doing a real
- connection to the sftp server, authenticating and running a simple sftp
- pwd command using the test harness generated configuration and key files.
-
-Daniel S (8 Feb 2008)
-- Günter Knauf added lib/mk-ca-bundle.pl which gets the Firefox ca bundle and
- creates a suitable ca-bundle.crt file in PEM format for use with curl. The
- recommended way to run it is to use 'make ca-bundle' in the build tree root.
-
-Daniel Fandrich (7 Feb 2008)
-- Added tests 1022 and 1023 to validate output of curl-config --version and
- --vernum
-
-Daniel S (7 Feb 2008)
-- Refactored a lot of timeout code into a few functions in an attempt to make
- them all use the same (hopefully correct) logic to make it less error-prone
- and easier to introduce library-wide where it should be used.
-
-Yang Tse (6 Feb 2008)
-- Fix an issue in strdup replacement function when dealing with absolutely
- huge strings. Only systems without a standard strdup would be affected.
-
-Daniel S (3 Feb 2008)
-- Dmitry Kurochkin cleaned up the pipelining code and removed the need for and
- use of the "is_in_pipeline" struct field.
-
-- I wrote up and added the threaded-ssl.c example source code that shows how
- to do multi-threaded downloads of HTTPS files with a libcurl that is built
- with OpenSSL. It uses pthreads for the threading.
-
-Daniel S (31 Jan 2008)
-- Niklas Angebrand made the cookie support in libcurl properly deal with the
- "HttpOnly" feature introduced by Microsoft and apparently also supported by
- Firefox: http://msdn2.microsoft.com/en-us/library/ms533046.aspx . HttpOnly
- is now supported when received from servers in HTTP headers, when written to
- cookie jars and when read from existing cookie jars.
-
- I modified test case 31 and 46 to also do some basic HttpOnly testing.
-
-- Dmitry Kurochkin moved several struct fields from the connectdata struct to
- the SingleRequest one to make pipelining better. It is a bit tricky to keep
- them in the right place, to keep things related to the actual request or to
- the actual connection in the right place.
-
-Daniel S (29 Jan 2008)
-- Dmitry Kurochkin fixed Curl_done() for pipelining, as it could previously
- crash!
-
-- Michal Marek fixed minor mistake in test case 553 that prevented it from
- working on other IP-addresses or port numbers.
-
-Version 7.18.0 (28 January 2008)
-
-Daniel S (27 Jan 2008)
-- Dmitry Kurochkin: In "real world" testing I found more bugs in
- pipelining. Broken connection is not restored and we get into infinite
- loop. It happens because of wrong is_in_pipeline values.
-
-Daniel S (26 Jan 2008)
-- Kevin Reed filed bug report #1879375
- (http://curl.haxx.se/bug/view.cgi?id=1879375) which describes how libcurl
- got lost in this scenario: proxy tunnel (or HTTPS over proxy), ask to do any
- proxy authentication and the proxy replies with an auth (like NTLM) and then
- closes the connection after that initial informational response.
-
- libcurl would not properly re-initialize the connection to the proxy and
- continue the auth negotiation like supposed. It does now however, as it will
- now detect if one or more authentication methods were available and asked
- for, and will thus retry the connection and continue from there.
-
-- I made the progress callback get called properly during proxy CONNECT.
-
-Daniel S (23 Jan 2008)
-- Igor Franchuk pointed out that CURLOPT_COOKIELIST set to "ALL" leaked
- memory, and so did "SESS". Fixed now.
-
-Yang Tse (22 Jan 2008)
-- Check poll.h at configuration time, and use it when sys/poll.h unavailable
-
-Daniel S (22 Jan 2008)
-- Dmitry Kurochkin removed the cancelled state for pipelining, as we agreed
- that it is bad anyway. Starting now, removing a handle that is in used in a
- pipeline will break the pipeline - it'll be set back up again but still...
-
-Yang Tse (21 Jan 2008)
-- Disable ldap support for cygwin builds, since it breaks whole build process.
- Fixing it will affect other platforms, so it is postponed for another release.
-
-Daniel S (18 Jan 2008)
-- Lau Hang Kin found and fixed a problem with the multi interface when doing
- CONNECT over a proxy. curl_multi_fdset() didn't report back the socket
- properly during that state, due to a missing case in the switch in the
- multi_getsock() function.
-
-Yang Tse (17 Jan 2008)
-- Don't abort tests 518 and 537 when unable to raise the open-file soft limit.
-
-Daniel S (16 Jan 2008)
-- Nathan Coulter's patch that makes runtests.pl respect the PATH when figuring
- out what valgrind to run.
-
-Yang Tse (16 Jan 2008)
-- Improved handling of out of memory in the command line tool that afected
- data url encoded HTTP POSTs when reading it from a file.
-
-Daniel S (16 Jan 2008)
-- Dmitry Kurochkin worked a lot on improving the HTTP Pipelining support that
- previously had a number of flaws, perhaps most notably when an application
- fired up N transfers at once as then they wouldn't pipeline at all that
- nicely as anyone would think... Test case 530 was also updated to take the
- improved functionality into account.
-
-- Calls to Curl_failf() are not supposed to provide a trailing newline as the
- function itself adds that. Fixed on 50 or something strings!
-
-Daniel S (15 Jan 2008)
-- I made the torture test on test 530 go through. This was actually due to
- silly code left from when we switched to let the multi handle "hold" the dns
- cache when using the multi interface... Of course this only triggered when a
- certain function call returned error at the correct moment.
-
-Daniel S (14 Jan 2008)
-- Joe Malicki filed bug report #1871269
- (http://curl.haxx.se/bug/view.cgi?id=1871269) and we could fix his hang-
- problem that occurred when doing a large HTTP POST request with the
- response-body read from a callback.
-
-Daniel S (12 Jan 2008)
-- I re-arranged the curl --help output. All the options are now sorted on
- their long option names and all descriptions are one-liners.
-
-- Eric Landes provided the patch (edited by me) that introduces the
- --keepalive-time to curl to set the keepalive probe interval. I also took
- the opportunity to rename the recently added no-keep-alive option to
- no-keepalive to keep a consistent naming and to avoid getting two dashes in
- these option names. Eric also provided an update to the man page for the new
- option.
-
-Daniel S (11 Jan 2008)
-- Daniel Egger made CURLOPT_RANGE work on file:// URLs the very same way it
- already worked for FTP:// URLs.
-
-- I made the curl tool switch from using CURLOPT_IOCTLFUNCTION to now use the
- spanking new CURLOPT_SEEKFUNCTION simply to take advantage of the improved
- performance for the upload resume cases where you want to upload the last
- few bytes of a very large file. To implement this decently, I had to switch
- the client code for uploading from fopen()/fread() to plain open()/read() so
- that we can use lseek() to do >32bit seeks (as fseek() doesn't allow that)
- on systems that offer support for that.
-
-Daniel S (10 Jan 2008)
-- Michal Marek made curl-config --libs not include /usr/lib64 in the output
- (it already before skipped /usr/lib). /usr/lib64 is the default library
- directory on many 64bit systems and it's unlikely that anyone would use the
- path privately on systems where it's not.
-
-- Georg Lippitsch brought CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA to allow
- libcurl to seek in a given input stream. This is particularly important when
- doing upload resumes when there's already a huge part of the file present
- remotely. Before, and still if this callback isn't used, libcurl will read
- and through away the entire file up to the point to where the resuming
- begins (which of course can be a slow opereration depending on file size,
- I/O bandwidth and more). This new function will also be preferred to get
- used instead of the CURLOPT_IOCTLFUNCTION for seeking back in a stream when
- doing multi-stage HTTP auth with POST/PUT.
-
-- Nikitinskit Dmitriy filed bug report #1868255
- (http://curl.haxx.se/bug/view.cgi?id=1868255) with a patch. It identifies
- and fixes a problem with parsing WWW-Authenticate: headers with additional
- spaces in the line that the parser wasn't written to deal with.
-
-Daniel S (8 Jan 2008)
-- Introducing curl_easy_pause() and new magic return codes for both the read
- and the write callbacks that now can make a connection's reading and/or
- writing get paused.
-
-Daniel S (6 Jan 2008)
-- Jeff Johnson filed bug report #1863171
- (http://curl.haxx.se/bug/view.cgi?id=1863171) where he pointed out that
- libcurl's date parser didn't accept a +1300 time zone which actually is used
- fairly often (like New Zealand's Dailight Savings Time), so I modified the
- parser to now accept up to and including -1400 to +1400.
-
-Daniel S (5 Jan 2008)
-- Based on further discussion on curl-library, I reverted yesterday's SOCKS5
- code to instead introduce support for a new proxy type called
- CURLPROXY_SOCKS5_HOSTNAME that is used to send the host name to the proxy
- instead of IP address and there's thus no longer any need for a new
- curl_easy_setopt() option.
-
- The default SOCKS5 proxy is again back to sending the IP address to the
- proxy. The new curl command line option for enabling sending host name to a
- SOCKS5 proxy is now --socks5-hostname.
-
-Daniel S (4 Jan 2008)
-- Based on Maxim Perenesenko's patch, we now do SOCKS5 operations and let the
- proxy do the host name resolving and only if --socks5ip (or
- CURLOPT_SOCKS5_RESOLVE_LOCAL) is used we resolve the host name locally and
- pass on the IP address only to the proxy.
-
-Yang Tse (3 Jan 2008)
-- Modified test harness to allow SCP, SFTP and SOCKS4 tests to run with
- OpenSSH 2.9.9, SunSSH 1.0 or later versions. SOCKS5 tests need OpenSSH
- 3.7, SunSSH 1.0 or later.
-
-Daniel S (2 Jan 2008)
-- I fixed two cases of missing return code checks when handling chunked
- decoding where a write error (or abort return from a callback) didn't stop
- libcurl's processing.
-
-- I removed the socklen_t use from the public curl/curl.h header and instead
- made it an unsigned int. The type was only used in the curl_sockaddr struct
- definition (only used by the curl_opensocket_callback). On all platforms I
- could find information about, socklen_t is 32 unsigned bits large so I don't
- think this will break the API or ABI. The main reason for this change is of
- course for all the platforms that don't have a socklen_t definition in their
- headers to build fine again. Providing our own configure magic and custom
- definition of socklen_t on those systems proved to work but was a lot of
- cruft, code and extra magic needed - when this very small change of type
- seems harmless and still solves the missing socklen_t problem.
-
-- Richard Atterer brought a patch that added support for SOCKS4a proxies,
- which is an inofficial PROXY4 variant that sends the hostname to the proxy
- instead of the resolved address (which is already supported by SOCKS5).
- --socks4a is the curl command line option for it and CURLOPT_PROXYTYPE can
- now be set to CURLPROXY_SOCKS4A as well.
-
-Daniel S (1 Jan 2008)
-- Mohun Biswas pointed out that --libcurl generated a source code with an int
- function but without a return statement. While fixing that, I also took care
- about adding some better comments for the generated code.
-
diff --git a/Utilities/cmcurl-7.19.0/CMake/CMakeConfigurableFile.in b/Utilities/cmcurl-7.19.0/CMake/CMakeConfigurableFile.in
deleted file mode 100644
index 4cf74a1..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/CMakeConfigurableFile.in
+++ /dev/null
@@ -1,2 +0,0 @@
-@CMAKE_CONFIGURABLE_FILE_CONTENT@
-
diff --git a/Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.c.in b/Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.c.in
deleted file mode 100644
index 8c9a016..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.c.in
+++ /dev/null
@@ -1,34 +0,0 @@
-#cmakedefine CHECK_TYPE_SIZE_TYPE @CHECK_TYPE_SIZE_TYPE@
-#ifdef CHECK_TYPE_SIZE_TYPE
-
-@CHECK_TYPE_SIZE_PREINCLUDE@
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif /* HAVE_SYS_TYPES_H */
-
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif /* HAVE_STDINT_H */
-
-#ifdef HAVE_STDDEF_H
-# include <stddef.h>
-#endif /* HAVE_STDDEF_H */
-
-@CHECK_TYPE_SIZE_PREMAIN@
-
-#ifdef __CLASSIC_C__
-int main(){
- int ac;
- char*av[];
-#else
-int main(int ac, char*av[]){
-#endif
- if(ac > 1000){return *av[0];}
- return sizeof(CHECK_TYPE_SIZE_TYPE);
-}
-
-#else /* CHECK_TYPE_SIZE_TYPE */
-
-# error "CHECK_TYPE_SIZE_TYPE has to specify the type"
-
-#endif /* CHECK_TYPE_SIZE_TYPE */
diff --git a/Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.cmake b/Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.cmake
deleted file mode 100644
index 5757719..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/CheckTypeSize.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-# - Check sizeof a type
-# CHECK_TYPE_SIZE(TYPE VARIABLE)
-# Check if the type exists and determine size of type. if the type
-# exists, the size will be stored to the variable.
-#
-# VARIABLE - variable to store size if the type exists.
-# HAVE_${VARIABLE} - does the variable exists or not
-
-MACRO(CHECK_TYPE_SIZE TYPE VARIABLE)
- SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1)
- IF(NOT DEFINED ${VARIABLE})
- IF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
- SET(CHECK_TYPE_SIZE_TYPE "${TYPE}")
- SET(MACRO_CHECK_TYPE_SIZE_FLAGS
- "${CMAKE_REQUIRED_FLAGS}")
- FOREACH(def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H)
- IF("${def}")
- SET(MACRO_CHECK_TYPE_SIZE_FLAGS
- "${MACRO_CHECK_TYPE_SIZE_FLAGS} -D${def}")
- ENDIF("${def}")
- ENDFOREACH(def)
- SET(CHECK_TYPE_SIZE_PREMAIN)
- FOREACH(def ${CMAKE_EXTRA_INCLUDE_FILES})
- SET(CHECK_TYPE_SIZE_PREMAIN "${CHECK_TYPE_SIZE_PREMAIN}#include \"${def}\"\n")
- ENDFOREACH(def)
- CONFIGURE_FILE(
- "${CURL_SOURCE_DIR}/CMake/CheckTypeSize.c.in"
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSize.c"
- IMMEDIATE @ONLY)
- FILE(READ
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSize.c"
- CHECK_TYPE_SIZE_FILE_CONTENT)
- MESSAGE(STATUS "Check size of ${TYPE}")
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_TYPE_SIZE_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- TRY_RUN(${VARIABLE} HAVE_${VARIABLE}
- ${CMAKE_BINARY_DIR}
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSize.c"
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS}
- "${CHECK_TYPE_SIZE_ADD_LIBRARIES}"
- OUTPUT_VARIABLE OUTPUT)
- IF(HAVE_${VARIABLE})
- MESSAGE(STATUS "Check size of ${TYPE} - done")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining size of ${TYPE} passed with the following output:\n${OUTPUT}\n\n")
- ELSE(HAVE_${VARIABLE})
- MESSAGE(STATUS "Check size of ${TYPE} - failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\nCheckTypeSize.c:\n${CHECK_TYPE_SIZE_FILE_CONTENT}\n\n")
- ENDIF(HAVE_${VARIABLE})
- ENDIF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
- ENDIF(NOT DEFINED ${VARIABLE})
- SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS )
-ENDMACRO(CHECK_TYPE_SIZE)
diff --git a/Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceCompiles.cmake b/Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceCompiles.cmake
deleted file mode 100644
index e31c0ee..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceCompiles.cmake
+++ /dev/null
@@ -1,75 +0,0 @@
-# - Check if the source code provided in the SOURCE argument compiles.
-# CURL_CHECK_C_SOURCE_COMPILES(SOURCE VAR)
-# - macro which checks if the source code compiles
-# SOURCE - source code to try to compile
-# VAR - variable to store whether the source code compiled
-#
-# The following variables may be set before calling this macro to
-# modify the way the check is run:
-#
-# CMAKE_REQUIRED_FLAGS = string of compile command line flags
-# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-# CMAKE_REQUIRED_INCLUDES = list of include directories
-# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-
-MACRO(CURL_CHECK_C_SOURCE_COMPILES SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
- SET(message "${VAR}")
- # If the number of arguments is greater than 2 (SOURCE VAR)
- IF(${ARGC} GREATER 2)
- # then add the third argument as a message
- SET(message "${ARGV2} (${VAR})")
- ENDIF(${ARGC} GREATER 2)
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- SET(src "")
- FOREACH(def ${EXTRA_DEFINES})
- SET(src "${src}#define ${def} 1\n")
- ENDFOREACH(def)
- FOREACH(inc ${HEADER_INCLUDES})
- SET(src "${src}#include <${inc}>\n")
- ENDFOREACH(inc)
-
- SET(src "${src}\nint main() { ${SOURCE} ; return 0; }")
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT "${src}")
- CONFIGURE_FILE(${CURL_SOURCE_DIR}/CMake/CMakeConfigurableFile.in
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
- IMMEDIATE)
- MESSAGE(STATUS "Performing Test ${message}")
- TRY_COMPILE(${VAR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
- COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- "${CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
- "${CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
- OUTPUT_VARIABLE OUTPUT)
- IF(${VAR})
- SET(${VAR} 1 CACHE INTERNAL "Test ${message}")
- MESSAGE(STATUS "Performing Test ${message} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Performing C SOURCE FILE Test ${message} succeded with the following output:\n"
- "${OUTPUT}\n"
- "Source file was:\n${src}\n")
- ELSE(${VAR})
- MESSAGE(STATUS "Performing Test ${message} - Failed")
- SET(${VAR} "" CACHE INTERNAL "Test ${message}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Performing C SOURCE FILE Test ${message} failed with the following output:\n"
- "${OUTPUT}\n"
- "Source file was:\n${src}\n")
- ENDIF(${VAR})
- ENDIF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
-ENDMACRO(CURL_CHECK_C_SOURCE_COMPILES)
diff --git a/Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceRuns.cmake b/Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceRuns.cmake
deleted file mode 100644
index 1d99d2e..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/CurlCheckCSourceRuns.cmake
+++ /dev/null
@@ -1,83 +0,0 @@
-# - Check if the source code provided in the SOURCE argument compiles and runs.
-# CURL_CHECK_C_SOURCE_RUNS(SOURCE VAR)
-# - macro which checks if the source code runs
-# SOURCE - source code to try to compile
-# VAR - variable to store size if the type exists.
-#
-# The following variables may be set before calling this macro to
-# modify the way the check is run:
-#
-# CMAKE_REQUIRED_FLAGS = string of compile command line flags
-# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-# CMAKE_REQUIRED_INCLUDES = list of include directories
-# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
-
-MACRO(CURL_CHECK_C_SOURCE_RUNS SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
- SET(message "${VAR}")
- # If the number of arguments is greater than 2 (SOURCE VAR)
- IF(${ARGC} GREATER 2)
- # then add the third argument as a message
- SET(message "${ARGV2} (${VAR})")
- ENDIF(${ARGC} GREATER 2)
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- SET(src "")
- FOREACH(def ${EXTRA_DEFINES})
- SET(src "${src}#define ${def} 1\n")
- ENDFOREACH(def)
- FOREACH(inc ${HEADER_INCLUDES})
- SET(src "${src}#include <${inc}>\n")
- ENDFOREACH(inc)
-
- SET(src "${src}\nint main() { ${SOURCE} ; return 0; }")
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT "${src}")
- CONFIGURE_FILE(${CURL_SOURCE_DIR}/CMake/CMakeConfigurableFile.in
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
- IMMEDIATE)
- MESSAGE(STATUS "Performing Test ${message}")
- TRY_RUN(${VAR} ${VAR}_COMPILED
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
- COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- "${CURL_CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
- "${CURL_CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
- OUTPUT_VARIABLE OUTPUT)
- # if it did not compile make the return value fail code of 1
- IF(NOT ${VAR}_COMPILED)
- SET(${VAR} 1)
- ENDIF(NOT ${VAR}_COMPILED)
- # if the return value was 0 then it worked
- SET(result_var ${${VAR}})
- IF("${result_var}" EQUAL 0)
- SET(${VAR} 1 CACHE INTERNAL "Test ${message}")
- MESSAGE(STATUS "Performing Test ${message} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Performing C SOURCE FILE Test ${message} succeded with the following output:\n"
- "${OUTPUT}\n"
- "Return value: ${${VAR}}\n"
- "Source file was:\n${src}\n")
- ELSE("${result_var}" EQUAL 0)
- MESSAGE(STATUS "Performing Test ${message} - Failed")
- SET(${VAR} "" CACHE INTERNAL "Test ${message}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Performing C SOURCE FILE Test ${message} failed with the following output:\n"
- "${OUTPUT}\n"
- "Return value: ${result_var}\n"
- "Source file was:\n${src}\n")
- ENDIF("${result_var}" EQUAL 0)
- ENDIF("${VAR}" MATCHES "^${VAR}$" OR "${VAR}" MATCHES "UNKNOWN")
-ENDMACRO(CURL_CHECK_C_SOURCE_RUNS)
diff --git a/Utilities/cmcurl-7.19.0/CMake/CurlTests.c b/Utilities/cmcurl-7.19.0/CMake/CurlTests.c
deleted file mode 100644
index d74a4f0..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/CurlTests.c
+++ /dev/null
@@ -1,526 +0,0 @@
-#ifdef TIME_WITH_SYS_TIME
-/* Time with sys/time test */
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-
-#endif
-
-#ifdef HAVE_O_NONBLOCK
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-int
-main ()
-{
- /* try to compile O_NONBLOCK */
-
-#if defined(sun) || defined(__sun__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-# if defined(__SVR4) || defined(__srv4__)
-# define PLATFORM_SOLARIS
-# else
-# define PLATFORM_SUNOS4
-# endif
-#endif
-#if (defined(_AIX) || defined(__xlC__)) && !defined(_AIX4)
-# define PLATFORM_AIX_V3
-#endif
-
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__))
-#error "O_NONBLOCK does not work on this platform"
-#endif
- int socket;
- int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK);
- return 0;
-}
-#endif
-
-#ifdef HAVE_GETHOSTBYADDR_R_5
-#include <sys/types.h>
-#include <netdb.h>
-int
-main ()
-{
-
-char * address;
-int length;
-int type;
-struct hostent h;
-struct hostent_data hdata;
-int rc;
-#ifndef gethostbyaddr_r
- (void)gethostbyaddr_r;
-#endif
-rc = gethostbyaddr_r(address, length, type, &h, &hdata);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYADDR_R_5_REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-int
-main ()
-{
-
-char * address;
-int length;q
-int type;
-struct hostent h;
-struct hostent_data hdata;
-int rc;
-#ifndef gethostbyaddr_r
- (void)gethostbyaddr_r;
-#endif
-rc = gethostbyaddr_r(address, length, type, &h, &hdata);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYADDR_R_7
-#include <sys/types.h>
-#include <netdb.h>
-int
-main ()
-{
-
-char * address;
-int length;
-int type;
-struct hostent h;
-char buffer[8192];
-int h_errnop;
-struct hostent * hp;
-
-#ifndef gethostbyaddr_r
- (void)gethostbyaddr_r;
-#endif
-hp = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &h_errnop);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYADDR_R_7_REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-int
-main ()
-{
-
-char * address;
-int length;
-int type;
-struct hostent h;
-char buffer[8192];
-int h_errnop;
-struct hostent * hp;
-
-#ifndef gethostbyaddr_r
- (void)gethostbyaddr_r;
-#endif
-hp = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &h_errnop);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYADDR_R_8
-#include <sys/types.h>
-#include <netdb.h>
-int
-main ()
-{
-
-char * address;
-int length;
-int type;
-struct hostent h;
-char buffer[8192];
-int h_errnop;
-struct hostent * hp;
-int rc;
-
-#ifndef gethostbyaddr_r
- (void)gethostbyaddr_r;
-#endif
-rc = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &hp, &h_errnop);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYADDR_R_8_REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-int
-main ()
-{
-
-char * address;
-int length;
-int type;
-struct hostent h;
-char buffer[8192];
-int h_errnop;
-struct hostent * hp;
-int rc;
-
-#ifndef gethostbyaddr_r
- (void)gethostbyaddr_r;
-#endif
-rc = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &hp, &h_errnop);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYNAME_R_3
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
-
-int
-main ()
-{
-
-struct hostent_data data;
-#ifndef gethostbyname_r
- (void)gethostbyname_r;
-#endif
-gethostbyname_r(NULL, NULL, NULL);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYNAME_R_3_REENTRANT
-#define _REENTRANT
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
-
-int
-main ()
-{
-
-struct hostent_data data;
-#ifndef gethostbyname_r
- (void)gethostbyname_r;
-#endif
-gethostbyname_r(NULL, NULL, NULL);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYNAME_R_5
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
-
-int
-main ()
-{
-#ifndef gethostbyname_r
- (void)gethostbyname_r;
-#endif
-gethostbyname_r(NULL, NULL, NULL, 0, NULL);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYNAME_R_5_REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
-
-int
-main ()
-{
-
-#ifndef gethostbyname_r
- (void)gethostbyname_r;
-#endif
-gethostbyname_r(NULL, NULL, NULL, 0, NULL);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYNAME_R_6
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
-
-int
-main ()
-{
-
-#ifndef gethostbyname_r
- (void)gethostbyname_r;
-#endif
-gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_GETHOSTBYNAME_R_6_REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
-
-int
-main ()
-{
-
-#ifndef gethostbyname_r
- (void)gethostbyname_r;
-#endif
-gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_SOCKLEN_T
-#ifdef _WIN32
-#include <ws2tcpip.h>
-#else
-#include <sys/types.h>
-#include <sys/socket.h>
-#endif
-int
-main ()
-{
-if ((socklen_t *) 0)
- return 0;
-if (sizeof (socklen_t))
- return 0;
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_IN_ADDR_T
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-
-int
-main ()
-{
-if ((in_addr_t *) 0)
- return 0;
-if (sizeof (in_addr_t))
- return 0;
- ;
- return 0;
-}
-#endif
-#ifdef STDC_HEADERS
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-int main() { return 0; }
-#endif
-#ifdef RETSIGTYPE_TEST
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int
-main ()
-{
- return 0;
-}
-#endif
-#ifdef HAVE_INET_NTOA_R_DECL
-#include <arpa/inet.h>
-
-typedef void (*func_type)();
-
-int main()
-{
-#ifndef inet_ntoa_r
- func_type func;
- func = (func_type)inet_ntoa_r;
-#endif
- return 0;
-}
-#endif
-#ifdef HAVE_INET_NTOA_R_DECL_REENTRANT
-#define _REENTRANT
-#include <arpa/inet.h>
-
-typedef void (*func_type)();
-
-int main()
-{
-#ifndef inet_ntoa_r
- func_type func;
- func = (func_type)&inet_ntoa_r;
-#endif
- return 0;
-}
-#endif
-#ifdef HAVE_GETADDRINFO
-#include <netdb.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
-int main(void) {
- struct addrinfo hints, *ai;
- int error;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
-#ifndef getaddrinfo
- (void)getaddrinfo;
-#endif
- error = getaddrinfo("127.0.0.1", "8080", &hints, &ai);
- if (error) {
- return 1;
- }
- return 0;
-}
-#endif
-#ifdef HAVE_FILE_OFFSET_BITS
-#ifdef _FILE_OFFSET_BITS
-#undef _FILE_OFFSET_BITS
-#endif
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int main () { ; return 0; }
-#endif
-#ifdef HAVE_IOCTLSOCKET
-#include <windows.h>
-
-int
-main ()
-{
-
-/* ioctlsocket source code */
- int socket;
- unsigned long flags = ioctlsocket(socket, FIONBIO, &flags);
-
- ;
- return 0;
-}
-
-#endif
-#ifdef HAVE_IOCTLSOCKET_CASE
-#include <windows.h>
-
-int
-main ()
-{
-
-/* IoctlSocket source code */
- int socket;
- int flags = IoctlSocket(socket, FIONBIO, (long)1);
-
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_FIONBIO
-/* headers for FIONBIO test */
-#include <unistd.h>
-#include <stropts.h>
-
-int
-main ()
-{
-
-/* FIONBIO source test (old-style unix) */
- int socket;
- int flags = ioctl(socket, FIONBIO, &flags);
-
- ;
- return 0;
-}
-#endif
-#ifdef HAVE_SO_NONBLOCK
-
-/* headers for SO_NONBLOCK test (BeOS) */
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-int main()
-{
-/* SO_NONBLOCK source code */
- long b = 1;
- int socket;
- int flags = setsockopt(socket, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
- return 0;
-}
-#endif
-#ifdef HAVE_GLIBC_STRERROR_R
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- char *string =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* this should've returned a string */
- if(!string || !string[0])
- return 99;
- return 0;
-}
-#endif
-#ifdef HAVE_POSIX_STRERROR_R
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- int error =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* This should've returned zero, and written an error string in the
- buffer.*/
- if(!buffer[0] || error)
- return 99;
- return 0;
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/CMake/OtherTests.cmake b/Utilities/cmcurl-7.19.0/CMake/OtherTests.cmake
deleted file mode 100644
index bcb714b..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/OtherTests.cmake
+++ /dev/null
@@ -1,418 +0,0 @@
-include(CurlCheckCSourceCompiles)
-set(EXTRA_DEFINES "__unused1\n#undef inline\n#define __unused2")
-set(HEADER_INCLUDES)
-set(headers_hack)
-
-macro(add_header_include check header)
- if(${check})
- set(headers_hack
- "${headers_hack}\n#include <${header}>")
- #SET(HEADER_INCLUDES
- # ${HEADER_INCLUDES}
- # "${header}")
- endif(${check})
-endmacro(add_header_include)
-
-set(signature_call_conv)
-if(HAVE_WINDOWS_H)
- add_header_include(HAVE_WINDOWS_H "windows.h")
- add_header_include(HAVE_WINSOCK2_H "winsock2.h")
- add_header_include(HAVE_WINSOCK_H "winsock.h")
- set(EXTRA_DEFINES ${EXTRA_DEFINES}
- "__unused7\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif\n#define __unused3")
- set(signature_call_conv "PASCAL")
-else(HAVE_WINDOWS_H)
- add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
- add_header_include(HAVE_SYS_SOCKET_H "sys/socket.h")
- add_header_include(HAVE_SYS_TIME_H "sys/time.h")
-endif(HAVE_WINDOWS_H)
-
-set(EXTRA_DEFINES_BACKUP "${EXTRA_DEFINES}")
-set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
-curl_check_c_source_compiles(
-" struct timeval ts;
- ts.tv_sec = 0;
- ts.tv_usec = 0;"
-HAVE_STRUCT_TIMEVAL)
-
-
-# function to find and set curl_typeof_curl_off_t
-# trytypes should be the name of a variable that
-# has the list of types to try, and size is the size in bytes
-# we are trying to find
-function(curl_find_curl_off_t trytypes size)
- if(DEFINED curl_typeof_curl_off_t)
- return()
- endif(DEFINED curl_typeof_curl_off_t)
- foreach(type ${${trytypes}})
- # force the try compile to try until it works
- set(curl_typeof_curl_off_t "UNKNOWN")
- set(EXTRA_DEFINES
- "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
- curl_check_c_source_compiles(
- "
- typedef ${type} curl_off_t;
- typedef char dummy_arr[sizeof(curl_off_t) == ${size} ? 1 : -1];
- curl_off_t dummy;
- "
- curl_typeof_curl_off_t
- )
- if(curl_typeof_curl_off_t)
- # this means it found the type and we can return
- set(CURL_TYPEOF_CURL_OFF_T "${type}" CACHE INTERNAL "type of curl_off_t")
- return()
- endif(curl_typeof_curl_off_t)
- endforeach(type)
-endfunction(curl_find_curl_off_t)
-
-
-if(NOT DEFINED curl_typeof_curl_off_t)
- set(curl_show_typeof_status 1)
-endif(NOT DEFINED curl_typeof_curl_off_t)
-# check for an 8 byte off_t type
-set(try_types_8 "long" "__int64" "long long"
- "int64_t" "__longlong" "__longlog_t")
-curl_find_curl_off_t(try_types_8 8 )
-# check for a 4 byte off_t type
-set(try_types_4 "long" "int32_t" "__int32" "int")
-curl_find_curl_off_t(try_types_4 4 )
-set(try_types_2 "long" "ubt16_t" "__int16" "int")
-curl_find_curl_off_t(try_types_2 2 )
-if(curl_show_typeof_status)
- message(STATUS "curl_typeof_curl_off_t = ${curl_typeof_curl_off_t}")
- check_type_size("${CURL_TYPEOF_CURL_OFF_T}" CURL_SIZEOF_CURL_OFF_T)
- message(STATUS "sizeof ${curl_typeof_curl_off_t} = ${CURL_SIZEOF_CURL_OFF_T}")
-endif(curl_show_typeof_status)
-
-
-# need to set the format strings used in printf for off_t
-# curl_format_curl_off_t - signed
-# curl_format_curl_off_tu - unsigned
-#
-# First see if the type is 2 4 or 8 bytes
-if(CURL_SIZEOF_CURL_OFF_T EQUAL 2)
- set(PRI_MACRO "PRId16")
-endif(CURL_SIZEOF_CURL_OFF_T EQUAL 2)
-if(CURL_SIZEOF_CURL_OFF_T EQUAL 4)
- set(PRI_MACRO "PRId32")
-endif(CURL_SIZEOF_CURL_OFF_T EQUAL 4)
-if(CURL_SIZEOF_CURL_OFF_T EQUAL 8)
- set(PRI_MACRO "PRId64")
-endif(CURL_SIZEOF_CURL_OFF_T EQUAL 8)
-# now see if PRI macros are defined for printing
-set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
-curl_check_c_source_compiles("char f[] = ${PRI_MACRO};" curl_pri_macro)
-if(curl_pri_macro)
- string(REPLACE i u "${PRI_MACRO}" PRI_MACROU)
- string(REPLACE d u "${PRI_MACRO}" PRI_MACROU)
- string(REPLACE D U "${PRI_MACRO}" PRI_MACROU)
- set(CURL_FORMAT_CURL_OFF_T "${PRI_MACRO}" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "${PRI_MACROU}" CACHE INTERNAL "print curl_off_t format string")
-else(curl_pri_macro)
- if(CURL_TYPEOF_CURL_OFF_T MATCHES "long.*long")
- set(CURL_FORMAT_CURL_OFF_T "lld" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "llu" CACHE INTERNAL "print curl_off_t format string")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "long")
- set(CURL_FORMAT_CURL_OFF_T "ld" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "lu" CACHE INTERNAL "print curl_off_t format string")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "int")
- set(CURL_FORMAT_CURL_OFF_T "d" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "u" CACHE INTERNAL "print curl_off_t format string")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "__int64")
- set(CURL_FORMAT_CURL_OFF_T "I64d" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "I64u" CACHE INTERNAL "print curl_off_t format string")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "__int32")
- set(CURL_FORMAT_CURL_OFF_T "I32d" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "I32u" CACHE INTERNAL "print curl_off_t format string")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "__int16")
- set(CURL_FORMAT_CURL_OFF_T "I16d" CACHE INTERNAL "print curl_off_t format string")
- set(CURL_FORMAT_CURL_OFF_TU "I16u" CACHE INTERNAL "print curl_off_t format string")
- endif()
- message(STATUS "CURL_FORMAT_CURL_OFF_T = ${CURL_FORMAT_CURL_OFF_T}")
- message(STATUS "CURL_FORMAT_CURL_OFF_TU = ${CURL_FORMAT_CURL_OFF_TU}")
-endif(curl_pri_macro)
-
-function (check_curl_off_t_suffix )
- if(DEFINED CURL_SUFFIX_CURL_OFF_T)
- return()
- endif()
- set(CURL_TYPEOF_CURL_OFF_T "long long")
- if(CURL_TYPEOF_CURL_OFF_T MATCHES "long.*long")
- set(curl_test_suffix "LL")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "long")
- set(curl_test_suffix "L")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "int")
- set(curl_test_suffix "")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "__int64")
- set(curl_test_suffix "LL" "i64")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "__int32")
- set(curl_test_suffix "L" "i32")
- endif()
- if(CURL_TYPEOF_CURL_OFF_T STREQUAL "__int16")
- set(curl_test_suffix "L" "i16")
- endif()
- foreach (suffix ${curl_test_suffix})
- set(curl_suffix_curl_off_t_test "unknown")
- if(suffix MATCHES "i64|i32|i16")
- set(curl_test_suffix_u "u${suffix}")
- endif(suffix MATCHES "i64|i32|i16")
- if(suffix MATCHES "LL|L")
- set(curl_test_suffix_u "U${suffix}")
- endif(suffix MATCHES "LL|L")
- message(STATUS "testing ${suffix} ${curl_test_suffix_u}")
- set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}")
- curl_check_c_source_compiles("
- typedef ${curl_typeof_curl_off_t} new_t;
- new_t s1;
- new_t s2;
- s1 = -10${suffix};
- s2 = 20${suffix};
- if(s1 > s2)
- return 1;
- " curl_suffix_curl_off_t_test)
- if(curl_suffix_curl_off_t_test)
- set(CURL_SUFFIX_CURL_OFF_T ${suffix} CACHE INTERNAL "signed suffix for off_t")
- set(CURL_SUFFIX_CURL_OFF_TU ${curl_test_suffix_u} CACHE INTERNAL "unsigned suffix for off_t")
- endif(curl_suffix_curl_off_t_test)
- endforeach(suffix)
- if(NOT DEFINED CURL_SUFFIX_CURL_OFF_T)
- set(CURL_SUFFIX_CURL_OFF_T "" CACHE INTERNAL "signed suffix for off_t")
- set(CURL_SUFFIX_CURL_OFF_TU "" CACHE INTERNAL "unsigned suffix for off_t")
- endif()
-endfunction(check_curl_off_t_suffix)
-# find the suffix to add to a literal number for the off_t type
-check_curl_off_t_suffix()
-message(STATUS "CURL_SUFFIX_CURL_OFF_T = ${CURL_SUFFIX_CURL_OFF_T} ")
-message(STATUS "CURL_SUFFIX_CURL_OFF_TU = ${CURL_SUFFIX_CURL_OFF_TU} ")
-message(STATUS "CURL_TYPEOF_CURL_OFF_T = ${CURL_TYPEOF_CURL_OFF_T} ")
-message(STATUS "CURL_FORMAT_CURL_OFF_T = ${CURL_FORMAT_CURL_OFF_T} ")
-message(STATUS "CURL_FORMAT_OFF_T = ${CURL_FORMAT_OFF_T}")
-curl_check_c_source_compiles("recv(0, 0, 0, 0)" curl_cv_recv)
-if(curl_cv_recv)
- # AC_CACHE_CHECK([types of arguments and return type for recv],
- #[curl_cv_func_recv_args], [
- #SET(curl_cv_func_recv_args "unknown")
- #for recv_retv in 'int' 'ssize_t'; do
- if(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
- foreach(recv_retv "int" "ssize_t" )
- foreach(recv_arg1 "int" "ssize_t" "SOCKET")
- foreach(recv_arg2 "void *" "char *")
- foreach(recv_arg3 "size_t" "int" "socklen_t" "unsigned int")
- foreach(recv_arg4 "int" "unsigned int")
- if(NOT curl_cv_func_recv_done)
- set(curl_cv_func_recv_test "UNKNOWN")
- set(extern_line "extern ${recv_retv} ${signature_call_conv} recv(${recv_arg1}, ${recv_arg2}, ${recv_arg3}, ${recv_arg4})\;")
- set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
- curl_check_c_source_compiles("
- ${recv_arg1} s=0;
- ${recv_arg2} buf=0;
- ${recv_arg3} len=0;
- ${recv_arg4} flags=0;
- ${recv_retv} res = recv(s, buf, len, flags)"
- curl_cv_func_recv_test
- "${recv_retv} recv(${recv_arg1}, ${recv_arg2}, ${recv_arg3}, ${recv_arg4})")
- if(curl_cv_func_recv_test)
- set(curl_cv_func_recv_args
- "${recv_arg1},${recv_arg2},${recv_arg3},${recv_arg4},${recv_retv}")
- set(RECV_TYPE_ARG1 "${recv_arg1}")
- set(RECV_TYPE_ARG2 "${recv_arg2}")
- set(RECV_TYPE_ARG3 "${recv_arg3}")
- set(RECV_TYPE_ARG4 "${recv_arg4}")
- set(RECV_TYPE_RETV "${recv_retv}")
- set(HAVE_RECV 1)
- set(curl_cv_func_recv_done 1)
- endif(curl_cv_func_recv_test)
- endif(NOT curl_cv_func_recv_done)
- endforeach(recv_arg4)
- endforeach(recv_arg3)
- endforeach(recv_arg2)
- endforeach(recv_arg1)
- endforeach(recv_retv)
- else(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
- string(REGEX REPLACE "^([^,]*),[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG1 "${curl_cv_func_recv_args}")
- string(REGEX REPLACE "^[^,]*,([^,]*),[^,]*,[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG2 "${curl_cv_func_recv_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,([^,]*),[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG3 "${curl_cv_func_recv_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,([^,]*),[^,]*$" "\\1" RECV_TYPE_ARG4 "${curl_cv_func_recv_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,[^,]*,([^,]*)$" "\\1" RECV_TYPE_RETV "${curl_cv_func_recv_args}")
- #MESSAGE("RECV_TYPE_ARG1 ${RECV_TYPE_ARG1}")
- #MESSAGE("RECV_TYPE_ARG2 ${RECV_TYPE_ARG2}")
- #MESSAGE("RECV_TYPE_ARG3 ${RECV_TYPE_ARG3}")
- #MESSAGE("RECV_TYPE_ARG4 ${RECV_TYPE_ARG4}")
- #MESSAGE("RECV_TYPE_RETV ${RECV_TYPE_RETV}")
- endif(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
-
- if("${curl_cv_func_recv_args}" STREQUAL "unknown")
- message(FATAL_ERROR "Cannot find proper types to use for recv args")
- endif("${curl_cv_func_recv_args}" STREQUAL "unknown")
-else(curl_cv_recv)
- message(FATAL_ERROR "Unable to link function recv")
-endif(curl_cv_recv)
-set(curl_cv_func_recv_args "${curl_cv_func_recv_args}" CACHE INTERNAL "Arguments for recv")
-set(HAVE_RECV 1)
-
-curl_check_c_source_compiles("send(0, 0, 0, 0)" curl_cv_send)
-if(curl_cv_send)
- # AC_CACHE_CHECK([types of arguments and return type for send],
- #[curl_cv_func_send_args], [
- #SET(curl_cv_func_send_args "unknown")
- #for send_retv in 'int' 'ssize_t'; do
- if(NOT DEFINED curl_cv_func_send_args OR "${curl_cv_func_send_args}" STREQUAL "unknown")
- foreach(send_retv "int" "ssize_t" )
- foreach(send_arg1 "int" "ssize_t" "SOCKET")
- foreach(send_arg2 "const void *" "void *" "char *" "const char *")
- foreach(send_arg3 "size_t" "int" "socklen_t" "unsigned int")
- foreach(send_arg4 "int" "unsigned int")
- if(NOT curl_cv_func_send_done)
- set(curl_cv_func_send_test "UNKNOWN")
- set(extern_line "extern ${send_retv} ${signature_call_conv} send(${send_arg1}, ${send_arg2}, ${send_arg3}, ${send_arg4})\;")
- set(EXTRA_DEFINES "${EXTRA_DEFINES_BACKUP}\n${headers_hack}\n${extern_line}\n#define __unused5")
- curl_check_c_source_compiles("
- ${send_arg1} s=0;
- ${send_arg2} buf=0;
- ${send_arg3} len=0;
- ${send_arg4} flags=0;
- ${send_retv} res = send(s, buf, len, flags)"
- curl_cv_func_send_test
- "${send_retv} send(${send_arg1}, ${send_arg2}, ${send_arg3}, ${send_arg4})")
- if(curl_cv_func_send_test)
- #MESSAGE("Found arguments: ${curl_cv_func_send_test}")
- string(REGEX REPLACE "(const) .*" "\\1" send_qual_arg2 "${send_arg2}")
- string(REGEX REPLACE "const (.*)" "\\1" send_arg2 "${send_arg2}")
- set(curl_cv_func_send_args
- "${send_arg1},${send_arg2},${send_arg3},${send_arg4},${send_retv},${send_qual_arg2}")
- set(SEND_TYPE_ARG1 "${send_arg1}")
- set(SEND_TYPE_ARG2 "${send_arg2}")
- set(SEND_TYPE_ARG3 "${send_arg3}")
- set(SEND_TYPE_ARG4 "${send_arg4}")
- set(SEND_TYPE_RETV "${send_retv}")
- set(HAVE_SEND 1)
- set(curl_cv_func_send_done 1)
- endif(curl_cv_func_send_test)
- endif(NOT curl_cv_func_send_done)
- endforeach(send_arg4)
- endforeach(send_arg3)
- endforeach(send_arg2)
- endforeach(send_arg1)
- endforeach(send_retv)
- else(NOT DEFINED curl_cv_func_send_args OR "${curl_cv_func_send_args}" STREQUAL "unknown")
- string(REGEX REPLACE "^([^,]*),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG1 "${curl_cv_func_send_args}")
- string(REGEX REPLACE "^[^,]*,([^,]*),[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG2 "${curl_cv_func_send_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,([^,]*),[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG3 "${curl_cv_func_send_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,([^,]*),[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG4 "${curl_cv_func_send_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,[^,]*,([^,]*),[^,]*$" "\\1" SEND_TYPE_RETV "${curl_cv_func_send_args}")
- string(REGEX REPLACE "^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]*)$" "\\1" SEND_QUAL_ARG2 "${curl_cv_func_send_args}")
- #MESSAGE("SEND_TYPE_ARG1 ${SEND_TYPE_ARG1}")
- #MESSAGE("SEND_TYPE_ARG2 ${SEND_TYPE_ARG2}")
- #MESSAGE("SEND_TYPE_ARG3 ${SEND_TYPE_ARG3}")
- #MESSAGE("SEND_TYPE_ARG4 ${SEND_TYPE_ARG4}")
- #MESSAGE("SEND_TYPE_RETV ${SEND_TYPE_RETV}")
- #MESSAGE("SEND_QUAL_ARG2 ${SEND_QUAL_ARG2}")
- endif(NOT DEFINED curl_cv_func_send_args OR "${curl_cv_func_send_args}" STREQUAL "unknown")
-
- if("${curl_cv_func_send_args}" STREQUAL "unknown")
- message(FATAL_ERROR "Cannot find proper types to use for send args")
- endif("${curl_cv_func_send_args}" STREQUAL "unknown")
- set(SEND_QUAL_ARG2 "const")
-else(curl_cv_send)
- message(FATAL_ERROR "Unable to link function send")
-endif(curl_cv_send)
-set(curl_cv_func_send_args "${curl_cv_func_send_args}" CACHE INTERNAL "Arguments for send")
-set(HAVE_SEND 1)
-
-set(EXTRA_DEFINES "${EXTRA_DEFINES}\n${headers_hack}\n#define __unused5")
-curl_check_c_source_compiles("int flag = MSG_NOSIGNAL" HAVE_MSG_NOSIGNAL)
-
-set(EXTRA_DEFINES "__unused1\n#undef inline\n#define __unused2")
-set(HEADER_INCLUDES)
-set(headers_hack)
-
-macro(add_header_include check header)
- if(${check})
- set(headers_hack
- "${headers_hack}\n#include <${header}>")
- #SET(HEADER_INCLUDES
- # ${HEADER_INCLUDES}
- # "${header}")
- endif(${check})
-endmacro(add_header_include header)
-
-if(HAVE_WINDOWS_H)
- set(EXTRA_DEFINES ${EXTRA_DEFINES}
- "__unused7\n#ifndef WIN32_LEAN_AND_MEAN\n#define WIN32_LEAN_AND_MEAN\n#endif\n#define __unused3")
- add_header_include(HAVE_WINDOWS_H "windows.h")
- add_header_include(HAVE_WINSOCK2_H "winsock2.h")
- add_header_include(HAVE_WINSOCK_H "winsock.h")
-else(HAVE_WINDOWS_H)
- add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
- add_header_include(HAVE_SYS_TIME_H "sys/time.h")
- add_header_include(TIME_WITH_SYS_TIME "time.h")
- add_header_include(HAVE_TIME_H "time.h")
-endif(HAVE_WINDOWS_H)
-set(EXTRA_DEFINES "${EXTRA_DEFINES}\n${headers_hack}\n#define __unused5")
-curl_check_c_source_compiles("struct timeval ts;\nts.tv_sec = 0;\nts.tv_usec = 0" HAVE_STRUCT_TIMEVAL)
-
-
-include(CurlCheckCSourceRuns)
-set(EXTRA_DEFINES)
-set(HEADER_INCLUDES)
-if(HAVE_SYS_POLL_H)
- set(HEADER_INCLUDES "sys/poll.h")
-endif(HAVE_SYS_POLL_H)
-curl_check_c_source_runs("return poll((void *)0, 0, 10 /*ms*/)" HAVE_POLL_FINE)
-
-set(HAVE_SIG_ATOMIC_T 1)
-set(EXTRA_DEFINES)
-set(HEADER_INCLUDES)
-if(HAVE_SIGNAL_H)
- set(HEADER_INCLUDES "signal.h")
- set(CMAKE_EXTRA_INCLUDE_FILES "signal.h")
-endif(HAVE_SIGNAL_H)
-check_type_size("sig_atomic_t" SIZEOF_SIG_ATOMIC_T)
-if(HAVE_SIZEOF_SIG_ATOMIC_T)
- curl_check_c_source_compiles("static volatile sig_atomic_t dummy = 0" HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
- if(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
- set(HAVE_SIG_ATOMIC_T_VOLATILE 1)
- endif(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
-endif(HAVE_SIZEOF_SIG_ATOMIC_T)
-
-set(CHECK_TYPE_SIZE_PREINCLUDE
- "#undef inline")
-
-if(HAVE_WINDOWS_H)
- set(CHECK_TYPE_SIZE_PREINCLUDE "${CHECK_TYPE_SIZE_PREINCLUDE}
- #ifndef WIN32_LEAN_AND_MEAN
- #define WIN32_LEAN_AND_MEAN
- #endif
- #include <windows.h>")
- if(HAVE_WINSOCK2_H)
- set(CHECK_TYPE_SIZE_PREINCLUDE "${CHECK_TYPE_SIZE_PREINCLUDE}\n#include <winsock2.h>")
- endif(HAVE_WINSOCK2_H)
-else(HAVE_WINDOWS_H)
- if(HAVE_SYS_SOCKET_H)
- set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES}
- "sys/socket.h")
- endif(HAVE_SYS_SOCKET_H)
- if(HAVE_NETINET_IN_H)
- set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES}
- "netinet/in.h")
- endif(HAVE_NETINET_IN_H)
- if(HAVE_ARPA_INET_H)
- set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES}
- "arpa/inet.h")
- endif(HAVE_ARPA_INET_H)
-endif(HAVE_WINDOWS_H)
-
-check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
-if(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
- set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
-endif(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
-
diff --git a/Utilities/cmcurl-7.19.0/CMake/WindowsCache.cmake b/Utilities/cmcurl-7.19.0/CMake/WindowsCache.cmake
deleted file mode 100644
index b4515ce..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/WindowsCache.cmake
+++ /dev/null
@@ -1,121 +0,0 @@
-IF(NOT UNIX)
- IF(WIN32)
- SET(HAVE_LIBDL 0)
- SET(HAVE_LIBUCB 0)
- SET(HAVE_LIBSOCKET 0)
- SET(NOT_NEED_LIBNSL 0)
- SET(HAVE_LIBNSL 0)
- SET(HAVE_LIBZ 0)
- SET(HAVE_LIBCRYPTO 0)
-
- SET(HAVE_DLOPEN 0)
-
- SET(HAVE_ALLOCA_H 0)
- SET(HAVE_ARPA_INET_H 0)
- SET(HAVE_DLFCN_H 0)
- SET(HAVE_FCNTL_H 1)
- SET(HAVE_FEATURES_H 0)
- SET(HAVE_INTTYPES_H 0)
- SET(HAVE_IO_H 1)
- SET(HAVE_MALLOC_H 1)
- SET(HAVE_MEMORY_H 1)
- SET(HAVE_NETDB_H 0)
- SET(HAVE_NETINET_IF_ETHER_H 0)
- SET(HAVE_NETINET_IN_H 0)
- SET(HAVE_NET_IF_H 0)
- SET(HAVE_PROCESS_H 1)
- SET(HAVE_PWD_H 0)
- SET(HAVE_SETJMP_H 1)
- SET(HAVE_SGTTY_H 0)
- SET(HAVE_SIGNAL_H 1)
- SET(HAVE_SOCKIO_H 0)
- SET(HAVE_STDINT_H 0)
- SET(HAVE_STDLIB_H 1)
- SET(HAVE_STRINGS_H 0)
- SET(HAVE_STRING_H 1)
- SET(HAVE_SYS_PARAM_H 0)
- SET(HAVE_SYS_POLL_H 0)
- SET(HAVE_SYS_SELECT_H 0)
- SET(HAVE_SYS_SOCKET_H 0)
- SET(HAVE_SYS_SOCKIO_H 0)
- SET(HAVE_SYS_STAT_H 1)
- SET(HAVE_SYS_TIME_H 0)
- SET(HAVE_SYS_TYPES_H 1)
- SET(HAVE_SYS_UTIME_H 1)
- SET(HAVE_TERMIOS_H 0)
- SET(HAVE_TERMIO_H 0)
- SET(HAVE_TIME_H 1)
- SET(HAVE_UNISTD_H 0)
- SET(HAVE_UTIME_H 0)
- SET(HAVE_X509_H 0)
- SET(HAVE_ZLIB_H 0)
-
- SET(HAVE_SIZEOF_LONG_DOUBLE 1)
- SET(SIZEOF_LONG_DOUBLE 8)
-
- SET(HAVE_SOCKET 1)
- SET(HAVE_POLL 0)
- SET(HAVE_SELECT 1)
- SET(HAVE_STRDUP 1)
- SET(HAVE_STRSTR 1)
- SET(HAVE_STRTOK_R 0)
- SET(HAVE_STRFTIME 1)
- SET(HAVE_UNAME 0)
- SET(HAVE_STRCASECMP 0)
- SET(HAVE_STRICMP 1)
- SET(HAVE_STRCMPI 1)
- SET(HAVE_GETHOSTBYADDR 1)
- SET(HAVE_GETTIMEOFDAY 0)
- SET(HAVE_INET_ADDR 1)
- SET(HAVE_INET_NTOA 1)
- SET(HAVE_INET_NTOA_R 0)
- SET(HAVE_TCGETATTR 0)
- SET(HAVE_TCSETATTR 0)
- SET(HAVE_PERROR 1)
- SET(HAVE_CLOSESOCKET 1)
- SET(HAVE_SETVBUF 0)
- SET(HAVE_SIGSETJMP 0)
- SET(HAVE_GETPASS_R 0)
- SET(HAVE_STRLCAT 0)
- SET(HAVE_GETPWUID 0)
- SET(HAVE_GETEUID 0)
- SET(HAVE_UTIME 1)
- SET(HAVE_RAND_EGD 0)
- SET(HAVE_RAND_SCREEN 0)
- SET(HAVE_RAND_STATUS 0)
- SET(HAVE_GMTIME_R 0)
- SET(HAVE_LOCALTIME_R 0)
- SET(HAVE_GETHOSTBYADDR_R 0)
- SET(HAVE_GETHOSTBYNAME_R 0)
- SET(HAVE_SIGNAL_FUNC 1)
- SET(HAVE_SIGNAL_MACRO 0)
-
- SET(HAVE_GETHOSTBYADDR_R_5 0)
- SET(HAVE_GETHOSTBYADDR_R_5_REENTRANT 0)
- SET(HAVE_GETHOSTBYADDR_R_7 0)
- SET(HAVE_GETHOSTBYADDR_R_7_REENTRANT 0)
- SET(HAVE_GETHOSTBYADDR_R_8 0)
- SET(HAVE_GETHOSTBYADDR_R_8_REENTRANT 0)
- SET(HAVE_GETHOSTBYNAME_R_3 0)
- SET(HAVE_GETHOSTBYNAME_R_3_REENTRANT 0)
- SET(HAVE_GETHOSTBYNAME_R_5 0)
- SET(HAVE_GETHOSTBYNAME_R_5_REENTRANT 0)
- SET(HAVE_GETHOSTBYNAME_R_6 0)
- SET(HAVE_GETHOSTBYNAME_R_6_REENTRANT 0)
-
- SET(TIME_WITH_SYS_TIME 0)
- SET(HAVE_O_NONBLOCK 0)
- SET(HAVE_IN_ADDR_T 0)
- SET(HAVE_INET_NTOA_R_DECL 0)
- SET(HAVE_INET_NTOA_R_DECL_REENTRANT 0)
- SET(HAVE_GETADDRINFO 0)
- SET(STDC_HEADERS 1)
- SET(RETSIGTYPE_TEST 1)
-
- SET(HAVE_SIGACTION 0)
- SET(HAVE_MACRO_SIGSETJMP 0)
- ELSE(WIN32)
- MESSAGE("This file should be included on Windows platform only")
- ENDIF(WIN32)
-ENDIF(NOT UNIX)
-
diff --git a/Utilities/cmcurl-7.19.0/CMake/config-aix.h b/Utilities/cmcurl-7.19.0/CMake/config-aix.h
deleted file mode 100644
index 86d1093..0000000
--- a/Utilities/cmcurl-7.19.0/CMake/config-aix.h
+++ /dev/null
@@ -1,486 +0,0 @@
-/* lib/config.h. Generated by configure. */
-/* lib/config.h.in. Generated from configure.in by autoheader. */
-/* Name of this package! */
-#define PACKAGE "curl"
-
-/* Version number of this archive. */
-#define VERSION "7.10.2"
-
-/* Define if you have the getpass function. */
-/* #undef HAVE_GETPASS */
-
-/* Define cpu-machine-OS */
-#define OS "powerpc-ibm-aix5.1.0.0"
-
-/* Define if you have the gethostbyaddr_r() function with 5 arguments */
-#define HAVE_GETHOSTBYADDR_R_5 1
-
-/* Define if you have the gethostbyaddr_r() function with 7 arguments */
-/* #undef HAVE_GETHOSTBYADDR_R_7 */
-
-/* Define if you have the gethostbyaddr_r() function with 8 arguments */
-/* #undef HAVE_GETHOSTBYADDR_R_8 */
-
-/* Define if you have the gethostbyname_r() function with 3 arguments */
-#define HAVE_GETHOSTBYNAME_R_3 1
-
-/* Define if you have the gethostbyname_r() function with 5 arguments */
-/* #undef HAVE_GETHOSTBYNAME_R_5 */
-
-/* Define if you have the gethostbyname_r() function with 6 arguments */
-/* #undef HAVE_GETHOSTBYNAME_R_6 */
-
-/* Define if you have the inet_ntoa_r function declared. */
-/* #undef HAVE_INET_NTOA_R_DECL */
-
-/* Define if you need the _REENTRANT define for some functions */
-/* #undef NEED_REENTRANT */
-
-/* Define if you have the Kerberos4 libraries (including -ldes) */
-/* #undef KRB4 */
-
-/* Define if you want to enable IPv6 support */
-#define ENABLE_IPV6 1
-
-/* Define this to 'int' if ssize_t is not an available typedefed type */
-/* #undef ssize_t */
-
-/* Define this to 'int' if socklen_t is not an available typedefed type */
-/* #undef socklen_t */
-
-/* Define this as a suitable file to read random data from */
-/* #undef RANDOM_FILE */
-
-/* Define this to your Entropy Gathering Daemon socket pathname */
-/* #undef EGD_SOCKET */
-
-/* Define if you have a working OpenSSL installation */
-/* #undef OPENSSL_ENABLED */
-
-/* Define the one correct non-blocking socket method below */
-/* #undef HAVE_FIONBIO */
-/* #undef HAVE_IOCTLSOCKET */
-/* #undef HAVE_IOCTLSOCKET_CASE */
-/* #undef HAVE_O_NONBLOCK */
-#define HAVE_DISABLED_NONBLOCKING 1
-
-/* Define this to 'int' if in_addr_t is not an available typedefed type */
-/* #undef in_addr_t */
-
-/* Define to disable DICT */
-/* #undef CURL_DISABLE_DICT */
-
-/* Define to disable FILE */
-/* #undef CURL_DISABLE_FILE */
-
-/* Define to disable FTP */
-/* #undef CURL_DISABLE_FTP */
-
-/* Define to disable GOPHER */
-/* #undef CURL_DISABLE_GOPHER */
-
-/* Define to disable HTTP */
-/* #undef CURL_DISABLE_HTTP */
-
-/* Define to disable LDAP */
-/* #undef CURL_DISABLE_LDAP */
-
-/* Define to disable TELNET */
-/* #undef CURL_DISABLE_TELNET */
-
-/* Define if you have zlib present */
-#define HAVE_LIBZ 1
-
-/* CA bundle full path name */
-#define CURL_CA_BUNDLE "/usr/local/share/curl/curl-ca-bundle.crt"
-
-/* to disable FILE */
-/* #undef CURL_DISABLE_FILE */
-
-/* to disable FTP */
-/* #undef CURL_DISABLE_FTP */
-
-/* to disable GOPHER */
-/* #undef CURL_DISABLE_GOPHER */
-
-/* to disable HTTP */
-/* #undef CURL_DISABLE_HTTP */
-
-/* to disable LDAP */
-/* #undef CURL_DISABLE_LDAP */
-
-/* to disable TELNET */
-/* #undef CURL_DISABLE_TELNET */
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-/* #undef DISABLED_THREADSAFE */
-
-/* your Entropy Gathering Daemon socket pathname */
-/* #undef EGD_SOCKET */
-
-/* Define if you want to enable IPv6 support */
-#define ENABLE_IPV6 1
-
-/* Define to 1 if you have the <alloca.h> header file. */
-#define HAVE_ALLOCA_H 1
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H 1
-
-/* Define to 1 if you have the `closesocket' function. */
-/* #undef HAVE_CLOSESOCKET */
-
-/* Define to 1 if you have the <crypto.h> header file. */
-/* #undef HAVE_CRYPTO_H */
-
-/* Define to 1 if you have the <des.h> header file. */
-/* #undef HAVE_DES_H */
-
-/* to disable NON-BLOCKING connections */
-#define HAVE_DISABLED_NONBLOCKING 1
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the `dlopen' function. */
-#define HAVE_DLOPEN 1
-
-/* Define to 1 if you have the <err.h> header file. */
-/* #undef HAVE_ERR_H */
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if getaddrinfo exists and works */
-#define HAVE_GETADDRINFO 1
-
-/* Define to 1 if you have the `geteuid' function. */
-#define HAVE_GETEUID 1
-
-/* Define to 1 if you have the `gethostbyaddr' function. */
-#define HAVE_GETHOSTBYADDR 1
-
-/* Define to 1 if you have the `gethostbyaddr_r' function. */
-#define HAVE_GETHOSTBYADDR_R 1
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-#define HAVE_GETHOSTBYNAME_R 1
-
-/* Define to 1 if you have the `getpass_r' function. */
-/* #undef HAVE_GETPASS_R */
-
-/* Define to 1 if you have the `getpwuid' function. */
-#define HAVE_GETPWUID 1
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#define HAVE_GMTIME_R 1
-
-/* Define to 1 if you have the `inet_addr' function. */
-#define HAVE_INET_ADDR 1
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#define HAVE_INET_NTOA 1
-
-/* Define to 1 if you have the `inet_ntoa_r' function. */
-#define HAVE_INET_NTOA_R 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the <io.h> header file. */
-/* #undef HAVE_IO_H */
-
-/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
-/* #undef HAVE_KRB_GET_OUR_IP_FOR_REALM */
-
-/* Define to 1 if you have the <krb.h> header file. */
-/* #undef HAVE_KRB_H */
-
-/* Define to 1 if you have the `crypto' library (-lcrypto). */
-/* #undef HAVE_LIBCRYPTO */
-
-/* Define to 1 if you have the `dl' library (-ldl). */
-/* #undef HAVE_LIBDL */
-
-/* Define to 1 if you have the `nsl' library (-lnsl). */
-/* #undef HAVE_LIBNSL */
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-/* #undef HAVE_LIBRESOLV */
-
-/* Define to 1 if you have the `resolve' library (-lresolve). */
-/* #undef HAVE_LIBRESOLVE */
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-/* #undef HAVE_LIBSOCKET */
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-/* #undef HAVE_LIBSSL */
-
-/* If zlib is available */
-#define HAVE_LIBZ 1
-
-/* Define to 1 if you have the `localtime_r' function. */
-#define HAVE_LOCALTIME_R 1
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H 1
-
-/* Define to 1 if you have the <netinet/if_ether.h> header file. */
-#define HAVE_NETINET_IF_ETHER_H 1
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H 1
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define to 1 if you have the <openssl/crypto.h> header file. */
-/* #undef HAVE_OPENSSL_CRYPTO_H */
-
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-/* #undef HAVE_OPENSSL_ENGINE_H */
-
-/* Define to 1 if you have the <openssl/err.h> header file. */
-/* #undef HAVE_OPENSSL_ERR_H */
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-/* #undef HAVE_OPENSSL_PEM_H */
-
-/* Define to 1 if you have the <openssl/rsa.h> header file. */
-/* #undef HAVE_OPENSSL_RSA_H */
-
-/* Define to 1 if you have the <openssl/ssl.h> header file. */
-/* #undef HAVE_OPENSSL_SSL_H */
-
-/* Define to 1 if you have the <openssl/x509.h> header file. */
-/* #undef HAVE_OPENSSL_X509_H */
-
-/* Define to 1 if you have the <pem.h> header file. */
-/* #undef HAVE_PEM_H */
-
-/* Define to 1 if you have the `perror' function. */
-#define HAVE_PERROR 1
-
-/* Define to 1 if you have the `poll' function. */
-#define HAVE_POLL 1
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#define HAVE_PWD_H 1
-
-/* Define to 1 if you have the `RAND_egd' function. */
-/* #undef HAVE_RAND_EGD */
-
-/* Define to 1 if you have the `RAND_screen' function. */
-/* #undef HAVE_RAND_SCREEN */
-
-/* Define to 1 if you have the `RAND_status' function. */
-/* #undef HAVE_RAND_STATUS */
-
-/* Define to 1 if you have the <rsa.h> header file. */
-/* #undef HAVE_RSA_H */
-
-/* Define to 1 if you have the `select' function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#define HAVE_SETJMP_H 1
-
-/* Define to 1 if you have the `setvbuf' function. */
-#define HAVE_SETVBUF 1
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-#define HAVE_SGTTY_H 1
-
-/* Define to 1 if you have the `sigaction' function. */
-#define HAVE_SIGACTION 1
-
-/* Define to 1 if you have the `signal' function. */
-#define HAVE_SIGNAL 1
-
-/* If you have sigsetjmp */
-#define HAVE_SIGSETJMP 1
-
-/* Define to 1 if you have the `socket' function. */
-#define HAVE_SOCKET 1
-
-/* Define to 1 if you have the <ssl.h> header file. */
-/* #undef HAVE_SSL_H */
-
-/* Define to 1 if you have the <stdint.h> header file. */
-/* #undef HAVE_STDINT_H */
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#define HAVE_STRCASECMP 1
-
-/* Define to 1 if you have the `strcmpi' function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME 1
-
-/* Define to 1 if you have the `stricmp' function. */
-/* #undef HAVE_STRICMP */
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strlcat' function. */
-/* #undef HAVE_STRLCAT */
-
-/* Define to 1 if you have the `strlcpy' function. */
-/* #undef HAVE_STRLCPY */
-
-/* Define to 1 if you have the `strstr' function. */
-#define HAVE_STRSTR 1
-
-/* Define to 1 if you have the `strtok_r' function. */
-#define HAVE_STRTOK_R 1
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-#define HAVE_SYS_POLL_H 1
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-/* #undef HAVE_SYS_SOCKIO_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/utime.h> header file. */
-/* #undef HAVE_SYS_UTIME_H */
-
-/* Define to 1 if you have the `tcgetattr' function. */
-#define HAVE_TCGETATTR 1
-
-/* Define to 1 if you have the `tcsetattr' function. */
-#define HAVE_TCSETATTR 1
-
-/* Define to 1 if you have the <termios.h> header file. */
-#define HAVE_TERMIOS_H 1
-
-/* Define to 1 if you have the <termio.h> header file. */
-#define HAVE_TERMIO_H 1
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define to 1 if you have the `uname' function. */
-#define HAVE_UNAME 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `utime' function. */
-#define HAVE_UTIME 1
-
-/* Define to 1 if you have the <utime.h> header file. */
-#define HAVE_UTIME_H 1
-
-/* Define to 1 if you have the <winsock.h> header file. */
-/* #undef HAVE_WINSOCK_H */
-
-/* Define to 1 if you have the <x509.h> header file. */
-/* #undef HAVE_X509_H */
-
-/* if you have the zlib.h header file */
-/* #undef HAVE_ZLIB_H */
-
-/* if you have the Kerberos4 libraries (including -ldes) */
-/* #undef KRB4 */
-
-/* cpu-machine-OS */
-#define OS "powerpc-ibm-aix5.1.0.0"
-
-/* Name of package */
-#define PACKAGE "curl"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME ""
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION ""
-
-/* a suitable file to read random data from */
-/* #undef RANDOM_FILE */
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Version number of package */
-#define VERSION "7.10.2"
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-# define _ALL_SOURCE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define for large files, on AIX-style hosts. */
-#define _LARGE_FILES 1
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* type to use in place of in_addr_t if not defined */
-/* #undef in_addr_t */
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-/* type to use in place of socklen_t if not defined */
-/* #undef socklen_t */
-
-/* Define to `int' if <sys/types.h> does not define. */
-/* #undef ssize_t */
diff --git a/Utilities/cmcurl-7.19.0/CMakeLists.txt b/Utilities/cmcurl-7.19.0/CMakeLists.txt
deleted file mode 100644
index f9a2151..0000000
--- a/Utilities/cmcurl-7.19.0/CMakeLists.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-cmake_minimum_required(VERSION 2.4)
-if(COMMAND CMAKE_POLICY)
- cmake_policy(SET CMP0003 NEW)
-endif(COMMAND CMAKE_POLICY)
-project(CURL C)
-
-include_regular_expression("^.*$")
-
-# Setup package meta-data
-set(PACKAGE "curl")
-set(VERSION "7.19.1")
-set(PACKAGE_TARNAME "curl")
-set(PACKAGE_BUGREPORT " ")
-set(PACKAGE_NAME "curl")
-set(PACKAGE_VERSION "-")
-set(PACKAGE_STRING "curl-")
-set(PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/")
-set(OS "${CMAKE_SYSTEM_NAME}")
-
-# We need ansi c-flags, especially on HP
-set(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
-set(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
-
-# Disable warnings on Borland to avoid changing 3rd party code.
-if(BORLAND)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
-endif(BORLAND)
-
-# If we are on AIX, do the _ALL_SOURCE magic
-if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
- set(_ALL_SOURCE 1)
-endif(${CMAKE_SYSTEM_NAME} MATCHES AIX)
-
-include_directories(
- ${CURL_BINARY_DIR}/include
- ${CURL_SOURCE_DIR}/include
- ${CURL_SOURCE_DIR}/lib
- ${CURL_BINARY_DIR}/lib)
-if(CMAKE_COMPILER_2005)
- add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
- add_definitions(-D_SCL_SECURE_NO_DEPRECATE)
-endif(CMAKE_COMPILER_2005)
-add_definitions(-DHAVE_CONFIG_H
- -DCURL_STATICLIB)
-option(CURL_SKIP_EXAMPLES "Skip building the curl examples" FALSE)
-add_subdirectory(lib)
-add_subdirectory(src)
-add_subdirectory(docs)
-
diff --git a/Utilities/cmcurl-7.19.0/COPYING b/Utilities/cmcurl-7.19.0/COPYING
deleted file mode 100644
index 8680f46..0000000
--- a/Utilities/cmcurl-7.19.0/COPYING
+++ /dev/null
@@ -1,21 +0,0 @@
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright (c) 1996 - 2008, Daniel Stenberg, <daniel@haxx.se>.
-
-All rights reserved.
-
-Permission to use, copy, modify, and distribute this software for any purpose
-with or without fee is hereby granted, provided that the above copyright
-notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
-NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder shall not
-be used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization of the copyright holder.
diff --git a/Utilities/cmcurl-7.19.0/ChangeLog b/Utilities/cmcurl-7.19.0/ChangeLog
deleted file mode 100644
index 73f1138..0000000
--- a/Utilities/cmcurl-7.19.0/ChangeLog
+++ /dev/null
@@ -1,57032 +0,0 @@
-2008-08-31 14:12 yangtse
-
- * docs/examples/10-at-a-time.c, docs/examples/anyauthput.c,
- docs/examples/fopen.c, docs/examples/ftpuploadresume.c,
- lib/easy.c: MSVC adjustment
-
-2008-08-30 22:23 bagder
-
- * TODO-RELEASE: Added:
-
- 165 - "Problem with CURLOPT_RESUME_FROM and CURLOPT_APPEND" by
- Daniele Pinau, recipe:
- http://curl.haxx.se/mail/lib-2008-08/0439.html
-
-2008-08-30 06:13 yangtse
-
- * Makefile.am, vc6curl.dsw, docs/INSTALL: vc6curl.dsw and MSVC 6
- IDE build directions
-
-2008-08-30 01:49 danf
-
- * TODO-RELEASE: Removed one, added two
-
-2008-08-30 01:42 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test1069, tests/data/test1071, tests/data/test1072,
- tests/data/test1073, tests/data/test1074, tests/data/test1075:
- Added tests 1071 through 1074 to test automatic downgrading from
- HTTP 1.1 to HTTP 1.0 upon receiving a response from the HTTP
- server. Tests 1072 and 1073 are similar to test 1069 in that
- they involve the impossible scenario of sending chunked data to a
- HTTP 1.0 server. All these currently fail and are added to
- DISABLED.
-
- Added test 1075 to test --anyauth with Basic authentication.
-
-2008-08-29 12:48 bagder
-
- * tests/data/Makefile.am: test 1070 added
-
-2008-08-29 12:47 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/transfer.c,
- tests/FILEFORMAT, tests/data/test1070, tests/server/sws.c: - When
- libcurl was doing a HTTP POST and the server would respond with
- "Connection: close" and actually close the connection after the
- response-body, libcurl could still have outstanding data to send
- and it would not properly notice this and stop sending. This
- caused weirdness and sad faces.
- http://curl.haxx.se/bug/view.cgi?id=2080222
-
- Note that there are still reasons to consider libcurl's
- behavior when
- getting a >= 400 response code while sending data, as Craig
- Perras' note
- "http upload: how to stop on error" specifies:
- http://curl.haxx.se/mail/archive-2008-08/0138.html
-
-2008-08-29 10:55 bagder
-
- * ares/: RELEASE-NOTES, ares_version.h: we start over working
- towards 1.5.4
-
-2008-08-29 10:33 bagder
-
- * ares/CHANGES: Version 1.5.3
-
-2008-08-29 10:29 bagder
-
- * ares/AUTHORS: added the three people from RELEASE-NOTES and
- sorted the list alphabetically
-
-2008-08-29 04:08 yangtse
-
- * src/: Makefile.am, curlsrc.dsp, curlsrc.dsw: Project and
- workspace files for VC6 IDE supporting 4 configurations:
-
- curl - Win32 using libcurl DLL Debug curl - Win32 using libcurl
- DLL Release curl - Win32 using libcurl LIB Debug curl - Win32
- using libcurl LIB Release
-
-2008-08-29 00:41 yangtse
-
- * lib/setup.h, src/main.c: When not using large file support
- WIN32's lseek offset is a 'long'.
-
-2008-08-28 22:08 bagder
-
- * Makefile.am, Makefile.dist: Andres Garcia pointed out these
- Makefile mistakes...
-
-2008-08-28 18:08 yangtse
-
- * include/curl/curlbuild.h.dist: Adjust curl_off_t definitions for
- DJGPP.
-
- Ancient versions of DJGPP do not have a 64-bit data type.
-
-2008-08-28 16:06 yangtse
-
- * TODO-RELEASE: Issue #144 seems to be complete. It should no
- longer be a show-stopper.
-
-2008-08-28 15:58 yangtse
-
- * include/curl/.cvsignore: ignore curlver.h.dist
-
-2008-08-28 15:53 yangtse
-
- * lib/Makefile.am: Adjust generation of MSVC project files
-
-2008-08-28 13:40 bagder
-
- * README: don't use the mirrors anymore
-
-2008-08-28 13:35 bagder
-
- * CHANGES, lib/cookie.c, tests/data/test171, tests/data/test172,
- tests/data/test31, tests/data/test46, tests/data/test506,
- tests/data/test61, tests/data/test62, tests/data/test73: - I'm
- abandoning the system with the web site mirrors (but keeping
- download files bing mirrored) and thus I've changed the URL in
- the cookiejar header to no longer use curlm.haxx.se but instead
- use the main site curl.haxx.se
-
-2008-08-28 10:57 bagder
-
- * TODO-RELEASE: we need to look over what libcurl does (not) do
- when error is received when it wants to send data
-
-2008-08-28 09:41 bagder
-
- * lib/easy.c: minor code indent fixes
-
-2008-08-28 09:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Dengminwen reported that
- libcurl would lock a (cookie) share twice (without an unlock in
- between) for a certain case and that in fact works when using
- regular windows mutexes but not with pthreads'! Locks should of
- course not get locked again so this is now fixed.
- http://curl.haxx.se/mail/lib-2008-08/0422.html
-
-2008-08-28 08:28 danf
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/DISABLED,
- tests/data/test1065: Fixed test case 1065 by changing the
- handling of CURLOPT_UPLOAD to set the HTTP method to GET (or
- HEAD) when given a value of 0.
-
-2008-08-28 05:31 yangtse
-
- * lib/: msvcproj.foot, msvcproj.head: This file must be kept in CVS
- with DOS style CR+LF line endings.
-
-2008-08-28 04:32 danf
-
- * docs/libcurl/curl_easy_setopt.3: Fixed a couple of typos
-
-2008-08-28 04:24 danf
-
- * tests/data/DISABLED: Added test 1069 to test PUT from stdin
- without content length. It fails in a similar manner to test 1065
- so is added to DISABLED.
-
-2008-08-28 04:18 danf
-
- * tests/data/: Makefile.am, test1069: Added test 1069 to test PUT
- from stdin without content length. It fails in a similar manner
- to test 1065 so is added to DISABLED.
-
-2008-08-28 04:03 danf
-
- * tests/data/: Makefile.am, test1068, test60: Added test case 1068
- to do a simple HTTP PUT from stdin
-
-2008-08-28 03:22 yangtse
-
- * lib/msvcproj.foot: DLL's resource file specification for VC6
- generated .dsp file
-
-2008-08-28 01:46 yangtse
-
- * lib/msvcproj.head: Add /D "CURL_STATICLIB" to LIB's BASE
- configuration
-
-2008-08-28 01:31 yangtse
-
- * CHANGES, lib/msvcproj.head: VC6 generated .dsp file now supports
- 4 configurations:
-
- libcurl - Win32 DLL Debug libcurl - Win32 DLL Release libcurl -
- Win32 LIB Debug libcurl - Win32 LIB Release
-
-2008-08-27 10:01 bagder
-
- * docs/TheArtOfHttpScripting: s/you you/you/ thanks to hexo6 at
- wp.pl
-
-2008-08-27 08:10 bagder
-
- * lib/README.curl_off_t: spell! (most of it fixed by Tor Arntsen)
-
-2008-08-27 03:48 danf
-
- * lib/config-symbian.h: Fix large file support for Symbian OS on
- the emulator.
-
-2008-08-27 02:25 yangtse
-
- * acinclude.m4, ares/acinclude.m4, ares/setup_once.h,
- lib/setup_once.h: Don't abort configuration if recvfrom() is not
- available.
-
-2008-08-27 00:36 danf
-
- * include/curl/curlbuild.h.dist: Treat all ARM compilers (RVCT,
- GCC) equally on Symbian OS. They are both compatible, and
- otherwise the dependency generation phase of the build would
- throw warnings since the actual compiler isn't known at that
- time.
-
-2008-08-26 23:28 danf
-
- * CHANGES, lib/connect.c, lib/transfer.c, lib/url.c: Fixed out of
- memory problems that caused torture test failures in tests 1021
- and 1067.
-
-2008-08-26 22:21 danf
-
- * tests/data/: test528, test531, test534, test535, test538: Added
- multi keyword
-
-2008-08-26 22:11 danf
-
- * tests/data/: test525, test526, test527, test529, test530,
- test532, test533, test555: Added multi keyword
-
-2008-08-26 18:46 yangtse
-
- * configure.ac: Windows build targets don't use the 'SONAME'
- mechanism.
-
-2008-08-26 15:40 yangtse
-
- * TODO-RELEASE: Another task completed and removed from #144:
-
- - Enabling and disabling of large file support is now complete.
-
-2008-08-26 15:35 yangtse
-
- * lib/README.curl_off_t: minor language adjustment
-
-2008-08-26 14:57 bagder
-
- * lib/README.curl_off_t: spell out some benefits of this new
- approach of doing curl_off_t
-
-2008-08-26 14:54 yangtse
-
- * CHANGES, acinclude.m4, configure.ac: Added check and symbol
- definition for WIN32 file API usage in configure, supporting
- configure's --disable-largefile option for WIN32 targets also.
- Non-configure systems which do not use config-win32.h
- configuration file, and want to use the WIN32 file API, must
- define USE_WIN32_LARGE_FILES or USE_WIN32_SMALL_FILES as
- appropriate in their own configuration files.
-
-2008-08-26 12:48 yangtse
-
- * lib/setup.h, src/main.c: Fix default SIZEOF_OFF_T definition
- logic
-
-2008-08-26 11:26 patrickm
-
- * lib/config-os400.h: Fix _LARGE_FILES definition (thanks to Yang
- Tse for signaling the bug)
-
-2008-08-26 05:08 yangtse
-
- * ares/ares_process.c: Functionality only possible if recvfrom() is
- available.
-
-2008-08-26 03:55 yangtse
-
- * TODO-RELEASE: Three tasks completed and removed:
-
- - Logic based on CURL_SIZEOF_CURL_OFF_T and SIZEOF_OFF_T already
- adjusted. - Test case 557 already passes on all autobuilds. -
- System off_t, or equivalent, size is finally not recorded in
- curlbuild.h for this release. SIZEOF_OFF_T from config file is
- used.
-
-2008-08-26 03:40 yangtse
-
- * lib/progress.c, lib/setup.h, lib/version.c, src/main.c: Use
- SIZEOF_OFF_T definition from config file
-
-2008-08-25 15:58 patrickm
-
- * packages/OS400/: initscript.sh, make-include.sh: Adapting OS400
- build scripts to new features: new curlbuild.h file and soname in
- VERSION --> VERSIONINFO
-
-2008-08-25 15:42 yangtse
-
- * include/curl/: curlbuild.h.dist, curlbuild.h.in: Add missing
- preprocessor symbol definition checks
-
-2008-08-25 14:50 bagder
-
- * configure.ac: remove some leftover debug code
-
-2008-08-25 14:49 bagder
-
- * configure.ac: if the size of off_t is not the same as curl_off_t,
- this is not like how libcurl used to get built < 7.19.0 so we
- enforce an soname bump and display a warning
-
-2008-08-25 05:50 yangtse
-
- * lib/Makefile.netware: leftover
-
-2008-08-25 05:44 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, acountry.c: George Neill's fix
- acountry sample application compilation failure.
-
-2008-08-25 05:34 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, ares_process.c: Brad House's
- validation that DNS response address matches the request address
-
-2008-08-25 03:18 yangtse
-
- * acinclude.m4, include/curl/curlbuild.h.dist,
- include/curl/curlbuild.h.in, include/curl/curlrules.h,
- lib/Makefile.netware: For congruency sake with the naming of
- other CURL_XXXXXX_CURL_OFF_T macros, the name of the curl_off_t
- data type used now becomes CURL_TYPEOF_CURL_OFF_T
-
- CURL_OFF_T -> CURL_TYPEOF_CURL_OFF_T
-
-2008-08-25 02:56 yangtse
-
- * acinclude.m4: Rename some shell vars with more descriptive names:
-
- x_typeof -> curl_typeof_curl_off_t x_sizeof ->
- curl_sizeof_curl_off_t x_format -> curl_format_curl_off_t
- u_format -> curl_format_curl_off_tu
-
-2008-08-25 01:26 yangtse
-
- * tests/runtests.pl: Re-enable all tests on x86_64 and ia64.
-
-2008-08-25 01:21 yangtse
-
- * lib/mprintf.c: Remove debug tracing and nearly all changes
- introduced since revision 1.72
-
- The effective result of this commit is revision 1.72 plus two
- changed lines. These can be viewed in
- http://cool.haxx.se/cvs.cgi/curl/lib/mprintf.c.diff?r1=1.72&r2=1.77
-
-2008-08-25 00:08 bagder
-
- * docs/KNOWN_BUGS: 58. It seems sensible to be able to use
- CURLOPT_NOBODY and CURLOPT_FAILONERROR with FTP to detect if a
- file exists or not, but it is not working:
- http://curl.haxx.se/mail/lib-2008-07/0295.html
-
-2008-08-24 23:26 bagder
-
- * configure.ac, lib/Makefile.am, lib/README.curl_off_t: Introduced
- the configure option --enable-soname-bump that lets a user
- enforce an SONAME bump.
-
-2008-08-24 22:42 bagder
-
- * lib/Makefile.am: Added firefox-db2pem.sh to the release archive
-
-2008-08-24 19:10 yangtse
-
- * tests/libtest/lib557.c: Fix wrong signed int formatting string
- directive in test case #557.
-
- This error did not cause test failures on systems where
- sizeof(int) == sizeof(long).
-
-2008-08-24 18:01 yangtse
-
- * lib/mprintf.c: Debug trace curl_mprintf() on x86_64 and ia64
- systems.
-
-2008-08-24 17:57 yangtse
-
- * tests/runtests.pl: Disable all tests except #557 on x86_64 and
- ia64 to debug trace curl_mprintf() on these systems.
-
-2008-08-24 12:40 yangtse
-
- * lib/mprintf.c: x86_64 fixes
-
-2008-08-24 05:59 yangtse
-
- * lib/mprintf.c: x86_64 fixes
-
-2008-08-24 02:15 yangtse
-
- * lib/mprintf.c: Test if type casting a 'signed int' to a 'signed
- long long' fails to do sign extension on x86_64.
-
-2008-08-24 00:02 bagder
-
- * CHANGES, Makefile.am, Makefile.dist, lib/firefox-db2pem.sh: -
- Running 'make ca-firefox' in the root build dir will now run the
- new firefox-db2pem.sh conversion script that converts a local
- Firefox db of ca certs into PEM format, suitable for use with a
- OpenSSL or GnuTLS built libcurl.
-
-2008-08-23 23:31 gknauf
-
- * lib/mk-ca-bundle.pl: removed obsolete slash in URL.
-
-2008-08-23 23:27 bagder
-
- * tests/data/: Makefile.am, test1067: added test case 1067 to
- verify --referer "firstone.html;auto"
-
-2008-08-23 14:14 bagder
-
- * configure.ac: revert accidental commit of test code
-
-2008-08-23 14:14 bagder
-
- * lib/mk-ca-bundle.pl: revert accidental commit
-
-2008-08-23 14:11 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/mk-ca-bundle.pl,
- lib/multi.c: - Constantine Sapuntzakis fixed a bug when doing
- proxy CONNECT with the multi interface, and the proxy would
- send Connection: close during the authentication phase.
- http://curl.haxx.se/bug/view.cgi?id=2069047
-
-2008-08-23 13:37 bagder
-
- * lib/README.curl_off_t: mention the no soname bump too
-
-2008-08-23 13:34 bagder
-
- * lib/README.curl_off_t: my first take at documenting the
- curl_off_t situation when doing an upgrade < 7.19.0 to >= 7.19.x
-
-2008-08-23 13:25 bagder
-
- * tests/runtests.pl: Andy Tsouladze's fix to kill the knowledge of
- servers properly after they have been killed.
-
-2008-08-23 04:35 yangtse
-
- * lib/mprintf.c: explicit value assignment for comparison result
-
-2008-08-23 04:04 yangtse
-
- * lib/mprintf.c: typecast constant in comparison
-
-2008-08-23 00:57 danf
-
- * CHANGES, RELEASE-NOTES, src/main.c, tests/data/Makefile.am,
- tests/data/test1066: Fixed a problem when --dump-header - was
- given with more than one URL, which caused an error when the
- second header was dumped due to stdout being closed. Added test
- case 1066 to verify. Also fixed a potential problem where a
- closed file descriptor might be used for an upload when more than
- one URL is given.
-
-2008-08-22 23:37 bagder
-
- * TODO-RELEASE: 161 - test case 1065 failure (HTTP PUT with one
- file but two URLs)
- http://curl.haxx.se/mail/archive-2008-08/0075.html
-
-2008-08-22 21:01 yangtse
-
- * lib/setup.h, src/main.c: Reinstate struct_stat definition that
- got lost in previous commit.
-
-2008-08-22 20:18 yangtse
-
- * tests/testcurl.pl: Increase to 20 the number of CVS update
- retries.
-
-2008-08-22 20:09 yangtse
-
- * CHANGES, lib/config-win32.h, lib/config-win32ce.h, lib/setup.h,
- src/config-win32.h, src/main.c: Adjustments to better
- select/differentiate when large/small file support is provided
- using WIN32 functions directly.
-
-2008-08-22 13:11 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/mprintf.c: Improved curl_m*printf()
- integral data type size and signedness handling
-
-2008-08-22 11:00 bagder
-
- * TODO-RELEASE: Removed issue #154 due to the massive problems I've
- had to repeat it and since this really hasn't bitten anyone else.
- The issuer of the report (Felix) suggested the closure himself
- and he will get back when (if?) he manage to get a more reliable
- way to see the problem.
-
- 154 - bug #2041827 "Segfault in http_output_auth w/ FORBID_REUSE
- (7.18.2)"
-
-2008-08-22 09:59 bagder
-
- * RELEASE-NOTES: Jamie Lokier is always helpful and this time
- around too...
-
-2008-08-22 09:58 bagder
-
- * configure.ac: Sort of hackish approach to get the off_t size
- before large file support is enabled (or skipped). Thanks to
- Jamie Lokier for the nice work-around the cached-check-problem:
- http://curl.haxx.se/mail/lib-2008-08/0331.html
-
-2008-08-22 08:53 yangtse
-
- * lib/mprintf.c: cleanup the BOOL usage
-
-2008-08-21 20:28 bagder
-
- * docs/KNOWN_BUGS: 57. On VMS-Alpha: When using an http-file-upload
- the file is not sent to the Server with the correct
- content-length. Sending a file with 511 or less bytes,
- content-length 512 is used. Sending a file with 513 - 1023
- bytes, content-length 1024 is used. Files with a length of a
- multiple of 512 Bytes show the correct content-length. Only
- these files work for upload.
- http://curl.haxx.se/bug/view.cgi?id=2057858
-
-2008-08-21 19:51 bagder
-
- * lib/mk-ca-bundle.pl: use a more updated certdata.txt URL
-
-2008-08-21 18:20 giva
-
- * lib/url.c: Work around a scanf() bug in djgpp 2.04. The
- assignments for this format is working okay. But the return value
- is incorrectly EOF.
-
-2008-08-21 16:08 giva
-
- * lib/config.dos: Added '#define HAVE_STRUCT_IN6_ADDR 1' needed
- when building with 'USE_ARES'.
-
-2008-08-21 15:51 giva
-
- * lib/makefile.dj: Added rule to generate
- '../include/curl/curlbuild.h'.
-
-2008-08-21 15:47 giva
-
- * lib/config.dos: Assume we have 'CRYPTO_cleanup_all_ex_data()' on
- OpenSSL/DOS too.
-
-2008-08-21 08:58 yangtse
-
- * include/curl/curlbuild.h.dist, lib/mprintf.c, lib/strtoofft.h:
- MSVC's __int64 data type is only available when
- _INTEGRAL_MAX_BITS >= 64
-
-2008-08-21 07:19 yangtse
-
- * configure.ac, tests/data/test557, tests/libtest/lib557.c: Test
- case 557 now also verifies signed and unsigned int formatting.
-
-2008-08-21 05:16 yangtse
-
- * TODO-RELEASE: Old logic based on ENABLE_64BIT and HAVE_LONGLONG
- already revisited and adjusted.
-
- Old logic based on CURL_SIZEOF_CURL_OFF_T is only partially
- adjusted.
-
-2008-08-21 03:55 yangtse
-
- * CHANGES: Fixed a couple of bugs in libcurl's internal
- curl_m*printf() functions.
-
-2008-08-21 03:49 yangtse
-
- * lib/mprintf.c: Fix a LONG_MIN and LLONG_MIN related bug in
- internal m*printf()
-
-2008-08-21 02:13 yangtse
-
- * ares/maketgz: fix the output name
-
-2008-08-21 02:12 yangtse
-
- * lib/mprintf.c: Fix one bug detected thanks to test case 557.
-
-2008-08-21 02:10 yangtse
-
- * lib/mprintf.c: Some data type size adjustments.
-
-2008-08-21 02:06 yangtse
-
- * configure.ac, ares/configure.ac, lib/config-os400.h,
- lib/config-symbian.h, lib/config-tpf.h, lib/mprintf.c,
- lib/setup.h, lib/version.c, src/config-win32.h: Get rid of
- ENABLE_64BIT symbol definition and usage.
-
- Improve HAVE_LONGLONG symbol description.
-
-2008-08-21 01:40 yangtse
-
- * CHANGES: Update of lib/Makefile.Watcom.
-
-2008-08-21 01:38 yangtse
-
- * ares/Makefile.vc6: Export 'ares_process_fd' too.
-
-2008-08-21 01:35 yangtse
-
- * lib/Makefile.Watcom: Added option to use c-ares resolver lib.
-
-2008-08-21 01:32 yangtse
-
- * lib/hostares.c: Use 'Curl_inet_pton()' instead of 'inet_pton()'.
-
-2008-08-21 01:29 yangtse
-
- * lib/setup.h, tests/libtest/lib557.c: Simplify condition check
-
-2008-08-20 23:06 bagder
-
- * docs/curl.1: the .netrc curl checks for is called _netrc on
- windows bug report #2061610
-
-2008-08-20 21:45 danf
-
- * CHANGES, docs/curl.1, docs/libcurl/curl_easy_setopt.3: Added an
- edited version of Vincent Le Normand's documentation of SFTP
- quote commands to the man pages.
-
-2008-08-20 21:29 bagder
-
- * CHANGES, RELEASE-NOTES, lib/config-win32.h: - Phil Pellouchoud
- pointed out that the windows version of libcurl had a memory
- leak because it never called the OpenSSL function
- CRYPTO_cleanup_all_ex_data() as it was supposed to. This was
- because of a missing define in config-win32.h!
-
-2008-08-18 20:52 yangtse
-
- * tests/: data/test557, libtest/lib557.c: Update test case 557
-
-2008-08-18 12:11 yangtse
-
- * TODO-RELEASE: #159 and #160 already done.
-
- Add more tasks to #144.
-
-2008-08-18 11:58 yangtse
-
- * CHANGES, tests/data/Makefile.am, tests/data/test557,
- tests/libtest/Makefile.am, tests/libtest/lib557.c: Added test
- case 557 to verify libcurl's internal curl_m*printf() functions
- formatting functionality when handling signed and unsigned longs,
- as well as our curl_off_t data type.
-
-2008-08-17 18:20 giva
-
- * docs/examples/makefile.dj: Pick-up programs from Makefile.inc.
-
-2008-08-17 15:55 giva
-
- * include/curl/curl.h: Replace 'HttpPost' with 'curl_httppost'.
-
-2008-08-17 15:34 giva
-
- * lib/Makefile.Watcom: Rewritten to also produce a static library
- (libcurl_wc.lib).
-
-2008-08-17 15:25 yangtse
-
- * CHANGES, lib/Makefile.netware, src/Makefile.netware: OpenSSl
- enabled NetWare builds are changed to use the 'openssl'
- subdirectory when including the OpenSSL header files. This is the
- recommended setting, this prevents the undesired inclusion of
- header files with the same name as those of OpenSSL but which do
- not belong to the OpenSSL package. The visible change from
- previously released libcurl versions is that now OpenSSl enabled
- NetWare builds also define USE_OPENSSL in config files, and that
- OpenSSL header files must be located in a subdirectory named
- 'openssl'.
-
-2008-08-17 03:57 yangtse
-
- * lib/: http_ntlm.c, md5.c, urldata.h: Adjust usage of conditional
- definition of USE_OPENSSL
-
-2008-08-17 02:25 yangtse
-
- * lib/Makefile.Watcom, lib/Makefile.inc, lib/base64.c,
- lib/base64.h, lib/curl_base64.h, lib/http.c, lib/http_digest.c,
- lib/http_negotiate.c, lib/http_ntlm.c, lib/krb4.c, lib/krb5.c,
- lib/ldap.c, lib/security.c, tests/server/getpart.c: libcurl
- internal base64.h header file renamed to curl_base64.h
-
-2008-08-17 02:01 yangtse
-
- * lib/: Makefile.Watcom, Makefile.inc, curl_md5.h, http_digest.c,
- md5.c, md5.h: libcurl internal md5.h header file renamed to
- curl_md5.h
-
-2008-08-16 19:12 yangtse
-
- * TODO-RELEASE: Added #159 and #160
-
-2008-08-16 19:05 giva
-
- * ares/acountry.c: Ops, remove 'use_vc'.
-
-2008-08-16 18:42 giva
-
- * ares/acountry.c: Support Watt-32 under Win32.
-
-2008-08-16 05:40 yangtse
-
- * lib/setup.h: Oops, missed FORMAT_OFF_TU
-
-2008-08-16 05:27 yangtse
-
- * lib/Makefile.netware, lib/http_negotiate.c, src/Makefile.netware:
- Fix Use of conditional definition of USE_OPENSSL
-
-2008-08-16 03:33 yangtse
-
- * CHANGES, lib/cookie.c, lib/file.c, lib/formdata.c, lib/ftp.c,
- lib/http.c, lib/progress.c, lib/setup.h, lib/ssh.c,
- lib/transfer.c, lib/url.c: Library internal only C preprocessor
- macros FORMAT_OFF_T and FORMAT_OFF_TU remain in use as internal
- curl_off_t print formatting strings for the internal *printf
- functions which still cannot handle print formatting string
- directives such as "I64d", "I64u", and others available on MSVC,
- MinGW, Intel's ICC, and other DOS/Windows compilers.
-
- This reverts previous commit part which did:
-
- FORMAT_OFF_T -> CURL_FORMAT_CURL_OFF_T FORMAT_OFF_TU ->
- CURL_FORMAT_CURL_OFF_TU
-
-2008-08-15 21:18 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test1064, tests/data/test1065: Added test case 1065 to
- test a PUT with a single file but two URLs. This was discovered
- to be problematic while investigating an incident reported by Von
- back in May. curl in this case doesn't include a Content-Length:
- or Transfer-Encoding: chunked header which is illegal. This test
- case is added to DISABLED until a solution is found.
-
-2008-08-15 04:58 yangtse
-
- * CHANGES, acinclude.m4, include/curl/curlbuild.h.dist,
- include/curl/curlbuild.h.in, include/curl/curlrules.h,
- lib/Makefile.netware, lib/cookie.c, lib/file.c, lib/formdata.c,
- lib/ftp.c, lib/http.c, lib/progress.c, lib/setup.h, lib/ssh.c,
- lib/transfer.c, lib/url.c: For congruency sake with the naming of
- other CURL_XXXXXX_CURL_OFF_T macros, the names of the curl_off_t
- formatting string directives now become CURL_FORMAT_CURL_OFF_T
- and CURL_FORMAT_CURL_OFF_TU.
-
- CURL_FMT_OFF_T -> CURL_FORMAT_CURL_OFF_T CURL_FMT_OFF_TU ->
- CURL_FORMAT_CURL_OFF_TU
-
- Remove the use of an internal name for the curl_off_t formatting
- string directives and use the common one available from the
- inside and outside of the library.
-
- FORMAT_OFF_T -> CURL_FORMAT_CURL_OFF_T FORMAT_OFF_TU ->
- CURL_FORMAT_CURL_OFF_TU
-
-2008-08-15 01:55 yangtse
-
- * buildconf: curlbuild.h is a generated file on configure-capable
- systems
-
-2008-08-14 21:18 danf
-
- * tests/data/: test1016, test1017, test1018, test1019, test1020:
- Added Range keyword
-
-2008-08-14 21:18 danf
-
- * tests/data/: Makefile.am, test1063: Added test 1063 to test an
- invalid large range on a file:
-
-2008-08-14 20:41 danf
-
- * docs/examples/sendrecv.c: Fixed unused variable warning
-
-2008-08-14 20:30 yangtse
-
- * acinclude.m4: Take three at trying to detect signed and unsigned
- curl_off_t integer constant suffixes, using a test-and-try suffix
- approach letting the compiler validate it.
-
-2008-08-14 13:56 yangtse
-
- * lib/strtoofft.h: When using our internal curlx_strtoll function
- NEED_CURL_STRTOLL must be defined, the source code of
- curlx_strtoll is excluded if NEED_CURL_STRTOLL isn't defined.
-
-2008-08-14 12:30 yangtse
-
- * lib/strtoofft.h: CURL_LLONG_MIN should now be signed
-
-2008-08-14 05:39 yangtse
-
- * src/main.c: Use our CURL_LLONG_MAX and CURL_LLONG_MIN which are
- defined with the proper suffix.
-
-2008-08-14 03:39 yangtse
-
- * acinclude.m4: Change CURL_CHECK_DEF_INTXX_C suffix definition
- detection.
-
- Add debug tracing for CURL_CHECK_DEF_INTXX_C.
-
-2008-08-13 23:05 bagder
-
- * TODO-RELEASE: Fixed:
-
- 155 - bug #2038004 "Curl OpenSSL not compatible with 7.17 or
- 7.18"
-
- 156 - proxy CONNECT issue (details not public yet due to possible
- security impact)
-
-2008-08-13 21:49 yangtse
-
- * acinclude.m4, configure.ac: Use autoconf's result of
- AC_CHECK_SIZEOF(long) in CURL_CONFIGURE_LONG
-
-2008-08-13 20:57 yangtse
-
- * acinclude.m4: Ensure that the compiler 'knows' the 'long' type in
- CURL_CONFIGURE_LONG
-
-2008-08-13 20:43 yangtse
-
- * lib/Makefile.netware, src/Makefile.netware: Sync config.h
- generation from lib/Makefile.netware and src/Makefile.netware
-
-2008-08-13 19:23 yangtse
-
- * acinclude.m4: Using the name of a macro inside AC_MSG_WARN takes
- aclocal to NeverLand.
-
-2008-08-13 18:14 yangtse
-
- * include/curl/curlbuild.h.dist: Adjust IBM C compiler
- CURL_SIZEOF_LONG
-
-2008-08-13 17:48 yangtse
-
- * CHANGES: Remove first version of comment not intended to be
- finally committed.
-
-2008-08-13 17:32 yangtse
-
- * CHANGES, acinclude.m4, include/curl/curlbuild.h.dist,
- include/curl/curlbuild.h.in, include/curl/curlrules.h,
- lib/Makefile.netware, lib/config-symbian.h, lib/config-tpf.h,
- lib/strtoofft.h, src/main.c: The size of long is a build time
- characteristic and as such it is now recorded in curlbuild.h as
- CURL_SIZEOF_LONG. Definition now done from configure process and
- in CVS curlbuild.h.dist for non-configure systems.
-
-2008-08-13 15:07 yangtse
-
- * src/main.c: Split comparison among several lines for debugging
-
-2008-08-13 12:57 bagder
-
- * RELEASE-NOTES: on second thought, let's remove this number from
- here since it doesn't really belong among the release numbers
- anyway
-
-2008-08-13 12:55 bagder
-
- * RELEASE-NOTES: dead mirrors removed =>
- http://curl.haxx.se/mail/lib-2008-08/0208.html
-
-2008-08-13 10:51 bagder
-
- * docs/examples/: Makefile.inc, httpcustomheader.c:
- httpcustomheader.c is a new tiny example showing a HTTP request
- with a custom header replacing an internal one
-
-2008-08-13 10:32 giva
-
- * include/curl/curl.h: Watcom doesn't have <sys/time.h>.
-
-2008-08-13 10:19 giva
-
- * lib/Makefile.Watcom: Remved '-dDEBUG_THREADING_GETADDRINFO' (no
- longer used).
-
-2008-08-13 10:17 giva
-
- * lib/Makefile.Watcom: Update dependencies.
-
-2008-08-13 09:30 giva
-
- * src/Makefile.Watcom: Update dependencies.
-
-2008-08-13 09:16 giva
-
- * include/curl/curlbuild.h.dist: MingW uses gcc. Hence the suffixes
- for 64-bit are 'LL' and 'ULL'.
-
-2008-08-13 05:05 yangtse
-
- * lib/strtoofft.h, src/main.c: Adjustment due to curl_off_t no
- longer following off_t
-
-2008-08-13 02:43 danf
-
- * RELEASE-NOTES: Added a few user-visible bug fixes
-
-2008-08-12 23:25 gknauf
-
- * src/Makefile.netware: sync src makefile with lib makefile.
-
-2008-08-12 22:21 danf
-
- * lib/ssh.c: Removed unneeded header files
-
-2008-08-12 22:07 danf
-
- * CHANGES, lib/http.c, tests/data/Makefile.am, tests/data/test1060,
- tests/data/test1061: Fixed a buffer overflow problem in
- Curl_proxyCONNECT that could occur when a server responded with
- long headers and data. Luckily, the buffer overflowed into
- another unused buffer, so no actual harm was done. Added test
- cases 1060 and 1061 to verify.
-
-2008-08-12 21:09 yangtse
-
- * lib/transfer.c: Fix 'result' may be used uninitialized in
- function readwrite_data()
-
-2008-08-12 20:49 yangtse
-
- * lib/progress.c: Fix curl_off_t sized constants usage
-
-2008-08-12 20:32 danf
-
- * tests/libtest/lib556.c: Handle short reads
-
-2008-08-12 12:08 yangtse
-
- * lib/Makefile.netware: DOS/Windows 'shells' eat echoed percent
- sign characters unless escaped.
-
-2008-08-12 09:21 bagder
-
- * CHANGES, RELEASE-NOTES, tests/runtests.pl: - Andy Tsouladze fixed
- runtests.pl to not attempt to execute the stunnel _directory_
- if that happened to appear in the path!
-
-2008-08-12 09:20 yangtse
-
- * acinclude.m4: Fix CURL_CHECK_DEF_INTXX_C suffix definition
- detection
-
-2008-08-12 05:00 yangtse
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h,
- include/curl/curlrules.h: Added macros for minimum-width signed
- and unsigned curl_off_t integer constants CURL_OFF_T_C and
- CURL_OFF_TU_C. The clever double helper macro used internally to
- provide its functionality is thanks to Lars Nilsson.
-
-2008-08-12 01:16 danf
-
- * tests/data/: test1008, test1021, test206, test209, test213,
- test265, test287, test503, test95: Added HTTP CONNECT keywords
-
-2008-08-12 01:16 danf
-
- * CHANGES, lib/ftp.c, tests/data/Makefile.am, tests/data/test1062:
- Fixed a boundary condition error in ftp_readresp() whereby a
- non-terminal line of a multiline FTP response whose last byte
- landed exactly at the end of the BUFSIZE-length buffer would be
- treated as the terminal response line. The following response
- code read in would then actually be the end of the previous
- response line, and all responses from then on would correspond to
- the wrong command. Test case 1062 verifies this.
-
- Stop closing a never-opened ftp socket.
-
-2008-08-11 22:30 bagder
-
- * TODO-RELEASE: 152 + 153 are fixed!
-
-2008-08-11 22:29 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/http_ntlm.c,
- lib/http_ntlm.h: - Constantine Sapuntzakis filed bug report
- #2042430 (http://curl.haxx.se/bug/view.cgi?id=2042430) with a
- patch. "NTLM Windows SSPI code is not thread safe". This was
- due to libcurl using static variables to tell wether to load
- the necessary SSPI DLL, but now the loading has been moved to
- the more suitable curl_global_init() call.
-
-2008-08-11 21:26 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Constantine Sapuntzakis
- filed bug report #2042440
- (http://curl.haxx.se/bug/view.cgi?id=2042440) with a patch. He
- identified a problem when using NTLM over a proxy but the
- end-point does Basic, and then libcurl would do wrong when the
- host sent "Connection: close" as the proxy's NTLM state was
- erroneously cleared.
-
-2008-08-11 21:00 yangtse
-
- * include/curl/curlbuild.h.dist: Ooops
-
-2008-08-11 20:27 yangtse
-
- * CHANGES, acinclude.m4, include/curl/curlbuild.h.dist,
- include/curl/curlbuild.h.in, lib/Makefile.netware: Added missing
- signed and unsigned curl_off_t integer constant suffixes for
- internal and external use. CURL_SUFFIX_CURL_OFF_T,
- CURL_SUFFIX_CURL_OFF_TU.
-
-2008-08-11 14:41 bagder
-
- * TODO-RELEASE: added two known topics for 7.19.1
-
-2008-08-11 12:55 bagder
-
- * TODO-RELEASE: five more bugs I'd like to get fixed or at least
- considered before 7.19.0
-
-2008-08-11 05:26 yangtse
-
- * TODO-RELEASE: Old logic based on CURL_SIZEOF_CURL_OFF_T,
- ENABLE_64BIT, HAVE_LONGLONG, has to be revisited and adjusted as
- appropriate.
-
- Enabling and disabling of large file support needs further
- inspection.
-
-2008-08-11 04:40 yangtse
-
- * lib/Makefile.netware: Fix NetWare missing curl_off_t typedef!!
-
-2008-08-11 03:22 yangtse
-
- * lib/mprintf.c, lib/progress.c, lib/setup.h, lib/strtoofft.h,
- lib/version.c, src/main.c:
- s/SIZEOF_CURL_OFF_T/CURL_SIZEOF_CURL_OFF_T/g
-
-2008-08-11 02:15 yangtse
-
- * tests/testcurl.pl: Die when curlbuild.h is not created or
- available
-
-2008-08-11 00:28 gknauf
-
- * lib/Makefile.netware: fixed creation of curlbuild.h.
-
-2008-08-10 20:33 yangtse
-
- * lib/Makefile.netware, tests/testcurl.pl: Fix NetWare curlbuild.h
-
- NetWare curlbuild.h settings depend on whether LIBC or CLIB is
- used.
-
- The NetWare specific Makefile is capable of knowing which target
- is being built. So, finally, the NetWare Makefile will take care
- of generating curlbuild.h
-
-2008-08-10 02:39 yangtse
-
- * ares/Makefile.netware: Fix: Remove now this SIZEOF_CURL_OFF_T
- symbol definition.
-
- This should have been done with the initial 64-bit curl_off_t
- patch.
-
-2008-08-10 01:14 yangtse
-
- * tests/testcurl.pl: When running testcurl.pl display definitions
- from curlbuild.h
-
-2008-08-09 23:10 yangtse
-
- * acinclude.m4: Remove debug tracing for DO_CURL_OFF_T_CHECK and
- CURL_CHECK_DEF
-
-2008-08-09 19:46 yangtse
-
- * acinclude.m4: Use int64_t in favour of __int64 for curl_off_t
- when both are available.
-
-2008-08-09 19:26 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Improve CURL_CHECK_DEF
-
-2008-08-09 19:01 yangtse
-
- * configure.ac, ares/configure.ac: Fix IBM C and DEC/Compaq C
- compiler detection
-
-2008-08-09 17:28 yangtse
-
- * include/curl/curlbuild.h.dist: Remove some redundancy
-
-2008-08-08 22:37 danf
-
- * lib/transfer.c: Refactored Curl_readwrite() into a number of
- smaller functions.
-
-2008-08-08 19:42 yangtse
-
- * acinclude.m4: Add debug tracing for DO_CURL_OFF_T_CHECK
-
-2008-08-08 18:53 yangtse
-
- * acinclude.m4: Remove some redundancy
-
-2008-08-08 18:25 yangtse
-
- * acinclude.m4: Remove potential overquoting
-
-2008-08-08 17:16 yangtse
-
- * lib/Makefile.netware: Remove rule no longer needed since
- tests/testcurl.pl revision 1.63
-
- See CVS commit comment on tests/testcurl.pl revision 1.63
-
-2008-08-08 14:34 yangtse
-
- * tests/testcurl.pl: Reintroduce the adjustment previously done in
- testcurl.pl so that it copies the CVS checked out
- curlbuild.h.dist as curlbuild.h for any non-configure target when
- host system is not running buildconf.bat.
-
- All the curlbuild.h stuff was done taking in consideration that
- no adjustment would be needed in non-configure makefiles.
-
- As it is documented, when trying to build on non-configure
- capable systems or on systems which for any reason don't run the
- true configure script, it is required to have the proper
- curlbuild.h in place before calling any makefile.
-
- Due to the hardcore memory debugging stuff c-ares enabled debug
- builds also need the file in the proper place before attempting
- to build c-ares.
-
-2008-08-08 13:34 yangtse
-
- * acinclude.m4: Add debug tracing for CURL_CHECK_DEF
-
-2008-08-08 09:51 danf
-
- * tests/data/test1059: Made ftp a required feature
-
-2008-08-08 09:26 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1059: Added
- test1059 to test the FTP proxy tunnel problem fixed July 11.
-
-2008-08-08 07:58 yangtse
-
- * tests/testcurl.pl: Peek at predefined symbols done. and now
- removed.
-
- Netware's autobuilds gcc can not been told apart from a standard
- built gcc.
-
-2008-08-08 07:53 yangtse
-
- * include/curl/curlbuild.h.dist: Add metroworks and generic gcc
-
-2008-08-08 05:09 yangtse
-
- * tests/testcurl.pl: Take a peek at netware's gcc predefined
- symbols.
-
-2008-08-08 03:52 danf
-
- * CHANGES, lib/multi.c: Fixed an uninitialized variable in
- multi_runsingle() that could cause a request to prematurely end.
-
-2008-08-08 00:40 yangtse
-
- * CHANGES, tests/testcurl.pl: Remove last adjustment done to
- testcurl.pl to verify if change introduced by Guenter Knauf in
- lib/Makefile.netware is enough to get the netware autobuilds
- going again.
-
-2008-08-07 23:43 gknauf
-
- * lib/Makefile.netware: use CP macro rather than cp command.
-
-2008-08-07 23:34 gknauf
-
- * lib/Makefile.netware: added rule to create
- include/curl/curlbuild.h from include/curl/curlbuild.h.dist.
-
-2008-08-07 22:41 yangtse
-
- * CHANGES, tests/testcurl.pl: Adjust testcurl.pl to copy checked
- out curlbuild.h.dist as curlbuild.h for non-configure targets
- when host system doesn't run buildconf.bat.
-
-2008-08-07 21:03 yangtse
-
- * CHANGES, acinclude.m4: Skip data type check in
- DO_CURL_OFF_T_CHECK macro when argument is empty.
-
-2008-08-07 18:22 yangtse
-
- * CHANGES, buildconf: Prevent buildconf from removing 'Makefile'
- and 'missing' files. This would blow away our CVS checked
- 'missing' file and also CVS checked 'hiper/Makefile'.
-
-2008-08-07 18:07 yangtse
-
- * CHANGES, acinclude.m4: Fix CURL_CHECK_DEF so that when the
- expansion of the preprocessor symbol results in a set of
- double-quoted strings, this macro will now return an expansion
- which consists of a single double-quoted string result of
- concatenating all of them.
-
-2008-08-07 04:46 yangtse
-
- * TODO-RELEASE: sync with reality
-
-2008-08-07 02:29 yangtse
-
- * CHANGES, RELEASE-NOTES, acinclude.m4, buildconf.bat,
- configure.ac, ares/Makefile.am, ares/configure.ac,
- docs/examples/Makefile.am, include/README,
- include/curl/.cvsignore, include/curl/Makefile.am,
- include/curl/curl.h, include/curl/curlbuild.h.dist,
- include/curl/curlbuild.h.in, include/curl/curlrules.h,
- lib/Makefile.am, lib/Makefile.netware, lib/config-amigaos.h,
- lib/config-os400.h, lib/config-symbian.h, lib/config-tpf.h,
- lib/config-win32.h, lib/config-win32ce.h, lib/config.dos,
- lib/setup.h, packages/vms/config-vms.h, src/Makefile.Watcom,
- src/Makefile.am, src/Makefile.netware, src/setup.h,
- tests/libtest/Makefile.am, tests/server/Makefile.am: Initial
- support of curlbuild.h and curlrules.h which allows to have a
- curl_off_t data type no longer gated to off_t.
-
-2008-08-06 23:22 bagder
-
- * docs/libcurl/curl_multi_timeout.3: - mention
- curl_multi_socket_action() rather than the deprecated
- curl_multi_socket() - don't claim that it has an argument named
- 'easy' because it doesn't!
-
-2008-08-06 11:54 bagder
-
- * lib/http.c: remove debug code I accidentally left in here
-
-2008-08-06 10:05 giva
-
- * lib/hostthre.c: Removed TRACE() code.
-
-2008-08-05 11:08 yangtse
-
- * ares/m4/cares-reentrant.m4, m4/curl-reentrant.m4: The minimum
- autoconf version required for this file is 2.50
-
- Avoid dot notation in aclocal serial file number, use a single
- number now.
-
-2008-08-05 08:44 yangtse
-
- * TODO-RELEASE: #148 Removed.
-
- Rebooting the problematic system, releasing allocated memory and
- swap, has allowed buildconf and configure to complete sucessfully
- since then.
-
-2008-08-05 08:20 yangtse
-
- * CHANGES, buildconf: Validate that autom4te and autoconf versions
- match.
-
- Validate that aclocal and automake versions match.
-
- Improve removal of previous run generated files.
-
- Remove verbose debug logging of aclocal on Solaris.
-
-2008-08-05 00:07 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/http.c: - Yehoshua
- Hershberg found a problem that would make libcurl re-use a
- connection with the multi interface even if a previous use of it
- caused a CURLE_PEER_FAILED_VERIFICATION to get returned. I now
- make sure that failed SSL connections properly close the
- connections.
-
-2008-08-05 00:00 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/http.c, lib/http.h,
- lib/transfer.c, tests/data/DISABLED, tests/data/test1051,
- tests/data/test1052, tests/data/test1055: - Test cases 1051, 1052
- and 1055 were added by Daniel Fandrich on July 30 and proved
- how PUT and POST with a redirect could lead to a "hang" due to
- the data stream not being rewound properly when it had to in
- order to get sent properly (again) to the subsequent URL. This
- is now fixed and these test cases are no longer disabled.
-
-2008-08-04 22:23 bagder
-
- * ares/: CHANGES, RELEASE-NOTES, ares_init.c: - Fix by Tofu Linden:
-
- The symptom:
- * Users (usually, but not always) on 2-Wire routers and the
- Comcast service
- and a wired connection to their router would find that the
- second and
- subsequent DNS lookups from fresh processes using c-ares to
- resolve the same
- address would cause the process to never see a reply (it keeps
- polling for
- around 1m15s before giving up).
-
- The repro:
- * On such a machine (and yeah, it took us a lot of QA to find
- the systems
- that reproduce such a specific problem!), do 'ahost
- www.secondlife.com',
- then do it again. The first process's lookup will work,
- subsequent lookups
- will time-out and fail.
-
- The cause:
- * init_id_key() was calling randomize_key() *before* it
- initialized
- key->state, meaning that the randomness generated by
- randomize_key() is
- immediately overwritten with deterministic values.
- (/dev/urandom was also
- being read incorrectly in the c-ares version we were using, but
- this was
- fixed in a later version.)
- * This makes the stream of generated query-IDs from any new
- c-ares process
- be an identical and predictable sequence of IDs.
- * This makes the 2-Wire's default built-in DNS server detect
- these queries
- as probable-duplicates and (erroneously) not respond at all.
-
-2008-08-04 12:13 yangtse
-
- * TODO-RELEASE: Update #144
-
- Third version of the patch fixing a failure to chose a proper
- data type submitted to the mailing list 2008-08-04.
-
-2008-08-04 08:48 yangtse
-
- * CHANGES, acinclude.m4, configure.ac, ares/CHANGES,
- ares/acinclude.m4, ares/configure.ac: Autoconf 2.62 has changed
- the behaviour of the AC_AIX macro which we use. Prior versions
- of autoconf defined _ALL_SOURCE if _AIX was defined. But,
- autoconf 2.62 version of AC_AIX defines _ALL_SOURCE along with
- other four preprocessor symbols no matter if the system is AIX or
- not. To keep the traditional behaviour, as well as an uniform
- one, across autoconf versions AC_AIX is replaced with our own
- internal macro.
-
-2008-08-04 00:20 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/http.c,
- tests/data/DISABLED: - Test case 1041 (added by Daniel Fandrich
- April 14th) proved a bug where PUT with -C - sent garbage in
- the Content-Range: header. I fixed this problem by making sure
- libcurl always sets the size of the _entire_ upload if an app
- attemps to do resumed uploads since libcurl simply cannot know
- the size of what is currently at the server end. Test 1041 is
- no longer disabled.
-
-2008-08-03 23:50 bagder
-
- * CHANGES, RELEASE-NOTES: refer to the new option by its real name
-
-2008-08-03 18:46 yangtse
-
- * TODO-RELEASE: Update #148
-
- Rebooting the Solaris system, releasing allocated memory and
- swap, has allowed buildconf and configure to complete
- sucessfully. Further tests on the system might allow
- determination of the problem origin. Solaris AutoBuilds suceeded
- on August 2 and 3.
-
-2008-08-03 07:13 danf
-
- * tests/data/test1058: Improved title
-
-2008-08-03 05:14 yangtse
-
- * configure.ac, ares/configure.ac: Adjust DEC/Compaq C compiler
- settings.
-
-2008-08-03 03:01 yangtse
-
- * configure.ac: Another AC_TRY_COMPILE conversion to
- AC_COMPILE_IFELSE
-
-2008-08-02 03:44 yangtse
-
- * CHANGES, RELEASE-NOTES, configure.ac: No longer test availability
- of the gdi32 library, nor use it for linking, even when we have
- been doing this since revision 1.47 of configure.ac 4 years and 5
- months ago when cross-compiling a Windows target. We actually
- don't use any function from the Windows GDI (Graphics Device
- Interface) related with drawing or graphics-related operations.
-
-2008-08-02 00:12 danf
-
- * tests/data/: Makefile.am, test1057, test1058: Added tests 1057
- and 1058 to test FTP and HTTPS transfers with ranges relative to
- end of file.
-
-2008-08-01 21:29 yangtse
-
- * ares/configure.ac: Another AC_TRY_LINK conversion to
- AC_LINK_IFELSE. Proper definition of HAVE_function if function
- is found deeper.
-
-2008-08-01 21:01 yangtse
-
- * configure.ac: Another AC_TRY_LINK conversion to AC_LINK_IFELSE.
- Sorting of function names. Proper definition of HAVE_function if
- function is found deeper.
-
-2008-08-01 20:41 danf
-
- * CHANGES, RELEASE-NOTES, docs/MANUAL, docs/curl.1, lib/ssh.c,
- src/main.c: Added support for --append on SFTP uploads.
- Unfortunately, OpenSSH doesn't support this so it goes untested.
-
-2008-08-01 09:46 yangtse
-
- * buildconf: This line was for local testing, not intended to be
- committed.
-
-2008-08-01 08:21 yangtse
-
- * acinclude.m4: Add a whitespace
-
-2008-08-01 08:07 yangtse
-
- * acinclude.m4, buildconf: Ensure that reserved keyword AC_DEFUN is
- only used for its purpose.
-
-2008-08-01 07:24 yangtse
-
- * CHANGES, acinclude.m4: Removed definition of
- CURL_CHECK_WORKING_RESOLVER from acinclude.m4 it has not been in
- use since revision 1.81 of configure.in 6 years, 9 months ago.
-
-2008-08-01 05:17 yangtse
-
- * CHANGES, RELEASE-NOTES: Sync up with reality
-
-2008-08-01 05:10 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES: Sync up with reality
-
-2008-08-01 04:48 yangtse
-
- * ares/m4/cares-reentrant.m4, ares/m4/reentrant.m4,
- m4/curl-reentrant.m4, m4/reentrant.m4: Rename reentrant.m4 to
- avoid filename clash.
-
-2008-08-01 04:09 danf
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/url.c,
- tests/data/test279: User names embedded in proxy URLs without a
- password were parsed incorrectly--the host name is treated as
- part of the user name and the port number becomes the password.
- This can be observed in test 279 (was KNOWN_ISSUE #54).
-
-2008-08-01 03:39 danf
-
- * lib/transfer.c: Added more code under #ifndef CURL_DISABLE_HTTP
- to fix builds with --disable-http
-
-2008-08-01 02:55 danf
-
- * lib/url.c: Refactored create_conn by breaking it up into many
- smaller functions
-
-2008-08-01 02:49 danf
-
- * lib/: netrc.c, netrc.h: Made a parameter const
-
-2008-08-01 00:46 danf
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Fixed a problem with any FTP
- URL or any URLs containing an IPv6 address being mangled when
- passed to proxies when CURLOPT_PORT is also set (reported by
- Pramod Sharma).
-
-2008-07-31 22:04 danf
-
- * CHANGES, docs/MANUAL, lib/url.c: Fixed parsing of an IPv6 proxy
- address to support a scope identifier, as well as IPv4 addresses
- in IPv6 format. Also, better handle the case of a malformatted
- IPv6 address (avoid empty and NULL strings).
-
-2008-07-31 19:58 yangtse
-
- * TODO-RELEASE: Second version of the patch addressing building
- outside of CVS tree submitted to the mailing list 2008-07-31.
- Awaiting Ok to commit.
-
-2008-07-31 15:20 patrickm
-
- * packages/OS400/curl.inc.in: New CURLOPT_ADDRESS_SCOPE option in
- ILE/RPG binding
-
-2008-07-31 07:00 danf
-
- * tests/data/test1053: Fixed keyword
-
-2008-07-31 04:51 danf
-
- * tests/data/: test1029, test1054, test184, test187, test188,
- test193, test217, test57: Added keywords
-
-2008-07-31 04:38 danf
-
- * tests/data/: Makefile.am, test1056: Added test of IPv6 scope
- handling
-
-2008-07-31 04:18 danf
-
- * lib/url.c: Fixed a couple of problems in the IPv6 scope code.
- First, a host name in an URL in a Location: header didn't have
- the scope ID removed, so an invalid host name was used. Second,
- when the scope ID was removed, it also removed any port number
- that may have existed in the URL.
-
-2008-07-31 03:41 yangtse
-
- * tests/testcurl.pl: s/silly/underquoted definition/
-
-2008-07-31 03:20 yangtse
-
- * TODO-RELEASE: #149 fully done and verified. Removed from here
- now.
-
-2008-07-31 03:12 danf
-
- * CHANGES, src/main.c: Fixed a couple of buffer overflows in the
- MS-DOS port of the curl tool. Factored out unslashquote. Added
- some 'const's in function parameters.
-
-2008-07-31 01:49 danf
-
- * docs/MANUAL: Added IPv6 section
-
-2008-07-31 00:09 bagder
-
- * TODO-RELEASE: Committed just now and thus removed from here:
-
- 145 - Phil Blundell's CURLOPT_SCOPE patch/work
-
-2008-07-30 23:57 bagder
-
- * RELEASE-NOTES: another option added, bump counter
-
-2008-07-30 23:55 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/connect.c, lib/url.c, lib/urldata.h: -
- Phil Blundell added the CURLOPT_SCOPE option, as well as adjusted
- the URL parser to allow numerical IPv6-addresses to be
- specified with the scope given, as per RFC4007 - with a percent
- letter that itself needs to be URL escaped. For example, for an
- address of fe80::1234%1 the HTTP URL is:
- "http://[fe80::1234%251]/"
-
-2008-07-30 23:42 bagder
-
- * TODO-RELEASE: Fixed:
-
- 147 - PHP's bug report #43158
- (http://bugs.php.net/bug.php?id=43158) identifies a true
- bug in libcurl built with OpenSSL.
-
-2008-07-30 23:24 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: - PHP's bug report #43158
- (http://bugs.php.net/bug.php?id=43158) identifies a true bug in
- libcurl built with OpenSSL. It made curl_easy_getinfo() more or
- less always return 0 for CURLINFO_SSL_VERIFYRESULT because the
- function that would set it to something non-zero would return
- before the assign in almost all error cases. The internal
- variable is now set to non-zero from the start of the function
- only to get cleared later on if things work out fine.
-
-2008-07-30 23:24 bagder
-
- * docs/curl.1, src/writeout.c: - Made the curl tool's -w option
- support the %{ssl_verify_result} variable
-
-2008-07-30 23:04 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test1028, tests/data/test1052, tests/data/test1053,
- tests/data/test1054, tests/data/test1055: Added test cases 1052
- through 1055 to test uploading data from files during redirects.
- Test cases 1052 and 1055 show problems (maybe the same root cause
- as 1051) and are disabled.
-
-2008-07-30 22:11 danf
-
- * lib/: http.c, http.h, transfer.c: Factored out
- Curl_copy_header_value
-
-2008-07-30 14:09 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Add file version serial
- number that might be used by 'aclocal' and others.
-
- Keep the '#' character as the first one on the line.
-
-2008-07-30 10:27 yangtse
-
- * ares/setup.h, src/setup.h: Update copyright year.
-
-2008-07-30 10:21 yangtse
-
- * ares/setup.h, lib/setup.h, src/setup.h: Sync comment with
- reality.
-
-2008-07-30 09:31 danf
-
- * TODO-RELEASE: Added the problems with test cases 1041 and 1051
-
-2008-07-30 09:24 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test1051, tests/server/sws.c: Added test case 1051 to
- test Location: following with PUT, as reported by Ben Sutcliffe.
- The test when run manually shows a problem in curl, but the test
- harness web server doesn't run the test correctly so it's
- disabled for now.
-
-2008-07-30 08:20 yangtse
-
- * tests/server/tftpd.c: Undo using the sreadfrom() wrapper to
- replace recvfrom() in our code, for real ;-)
-
-2008-07-30 07:15 yangtse
-
- * TODO-RELEASE: #149 done. Awaiting autobuild verification before
- removing.
-
-2008-07-30 07:10 yangtse
-
- * lib/tftp.c, tests/server/tftpd.c: Undo using the sreadfrom()
- wrapper to replace recvfrom() in our code.
-
-2008-07-30 06:46 yangtse
-
- * TODO-RELEASE: #148 no longer blocks #144
-
-2008-07-30 06:42 yangtse
-
- * tests/testcurl.pl: Reinstate hiding aclocal 'underquoted
- definition' warnings.
-
-2008-07-30 05:24 yangtse
-
- * TODO-RELEASE: updated #148
-
-2008-07-30 05:10 yangtse
-
- * Makefile.am, acinclude.m4, buildconf, ares/Makefile.am,
- ares/acinclude.m4, ares/buildconf: Reinstate the 'aclocal -I m4'
- in buildconf and 'ACLOCAL_AMFLAGS = -I m4' way of including our
- local m4/reentrant.m4 file. This even takes care of including the
- file in the distribution tarball.
-
-2008-07-30 03:17 yangtse
-
- * buildconf: Show autom4te and aclocal versions.
-
- Set SED for Solaris to gsed if available.
-
-2008-07-30 02:10 danf
-
- * lib/config-symbian.h, packages/Symbian/readme.txt: Minor Symbian
- updates.
-
-2008-07-30 02:09 danf
-
- * CHANGES, RELEASE-NOTES, lib/urldata.h: Fixed --use-ascii to
- properly convert text files on Symbian OS, MS-DOS and OS/2.
-
-2008-07-30 01:56 yangtse
-
- * TODO-RELEASE: Updtae #148 with link to start of thread
-
-2008-07-30 01:51 yangtse
-
- * TODO-RELEASE: Updated #144
-
- Added #148 and # 149
-
-2008-07-29 23:51 bagder
-
- * docs/KNOWN_BUGS: 56. When libcurl sends CURLOPT_POSTQUOTE
- commands when connected to a SFTP server using the multi
- interface, the commands are not being sent correctly and
- instead the connection is "cancelled" (the operation is
- considered done) prematurely. There is a half-baked
- (busy-looping) patch provided in the bug report but it cannot
- be accepted as-is. See
- http://curl.haxx.se/bug/view.cgi?id=2006544
-
-2008-07-29 23:39 bagder
-
- * TODO-RELEASE: Added:
-
- 146 - Yehoshua Hershberg's re-using of connections that failed
- with CURLE_PEER_FAILED_VERIFICATION
-
- 147 - PHP's bug report #43158
- (http://bugs.php.net/bug.php?id=43158) identifies a true
- bug in libcurl built with OpenSSL.
-
-2008-07-29 22:59 danf
-
- * docs/INSTALL: Document that PKG_CONFIG_PATH is the preferred way
- to configure with OpenSSL.
-
-2008-07-29 21:31 yangtse
-
- * buildconf: For testing purposes on SunOS systems; directly feed
- acinclude.m4 with reentrant.m4 and remove reentrant.m4 before
- calling aclocal.
-
-2008-07-29 21:01 yangtse
-
- * buildconf: For debugging purposes, show all sed's available in
- PATH on SunOS systems.
-
-2008-07-29 20:57 danf
-
- * tests/data/Makefile.am: Return an error code when extra files are
- found in filecheck:
-
-2008-07-29 20:26 danf
-
- * lib/hostthre.c: Eliminate a unnecessary socket creation in
- Curl_getaddrinfo for an IPv4 address in an IPv6 capable libcurl.
-
-2008-07-29 20:23 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Add quoting for the
- AC_DEFINE arguments.
-
-2008-07-29 20:01 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Also remove the
- whitespace.
-
-2008-07-29 19:45 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Also remove the extra
- quoting.
-
-2008-07-29 18:29 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Replace some '@%:@'
- quadigraphs by its actual representation '#'.
-
- This quadigraph used before a C preprocessor 'define' directive
- could be fooling M4, when processing this file, and make it think
- that the line contains a pure M4 'define' macro.
-
-2008-07-29 04:26 yangtse
-
- * Makefile.am, acinclude.m4, buildconf, ares/Makefile.am,
- ares/acinclude.m4, ares/buildconf: Tests done using 'aclocal -I
- m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4 in top Makefile.am
- triggered a problem that prevented aclocal from running
- successfully on SunOS 5.10 with GNU m4 1.4.5 and GNU Autoconf
- 2.61
-
- A tarball which reproduces mentioned problem is the one dated
- July-28-2008
- http://cool.haxx.se/curl-daily/curl-7.19.0-20080728.tar.gz
-
- We actually don't need all the bells and whistles that the above
- mechanism provides. We only need to include our m4/reentrant.m4
- file in acinclude.m4 so here we go with this simpler mechanism.
-
-2008-07-29 04:05 yangtse
-
- * lib/.cvsignore: ignore *.dist files
-
-2008-07-29 03:05 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1045,
- tests/data/test1046, tests/data/test1047, tests/data/test1048,
- tests/data/test1049, tests/data/test1050: Added test case 1050 to
- test --ftp-port with an IPv6 address. Made --interface tests
- less restrictive on host address.
-
-2008-07-28 23:53 bagder
-
- * TODO-RELEASE: I removed: "139 - Christopher Palow's
- CURLM_EASY_HANDLE_EXISTS patch" simply because at the current
- point in time I think the benefit of adding that new return code
- is very slim and it is a lot of work to introduce new return
- codes (for docs and maintenance etc)
-
- I added "145 - Phil Blundell's CURLOPT_SCOPE patch/work" since I
- want it sorted/committed.
-
-2008-07-28 20:39 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1045,
- tests/data/test1046, tests/data/test1047, tests/data/test1048,
- tests/data/test1049: Added test cases 1045 through 1049 as simple
- tests of --interface using the localhost interface.
-
-2008-07-28 20:35 danf
-
- * lib/connect.c: Fixed display of the interface bind address in the
- trace output when it's an IPv6 address.
-
-2008-07-28 18:17 yangtse
-
- * buildconf: Ensure that buildconf runs from the subdirectory where
- configure.ac lives
-
-2008-07-28 17:15 yangtse
-
- * buildconf: Remove files generated on previous buildconf/configure
- run, and for debugging purposes show ACLOCAL_FLAGS.
-
-2008-07-28 17:13 yangtse
-
- * ares/buildconf: for debugging purposes show ACLOCAL_FLAGS
-
-2008-07-28 14:36 yangtse
-
- * .cvsignore: ignore another file that might be generated
-
-2008-07-28 01:43 yangtse
-
- * configure.ac, ares/configure.ac: These lines were unintentionally
- removed in previous commit
-
-2008-07-28 00:25 yangtse
-
- * configure.ac, ares/configure.ac: Partially undo change that
- prevented SED, GREP, EGREP and AR from being changed by libtool
- or autoconf.
-
-2008-07-27 23:47 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Assert that SED and GREP are set
-
-2008-07-27 22:29 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Require autoconf 2.57 or
- newer
-
-2008-07-27 20:10 yangtse
-
- * buildconf, ares/buildconf: When calling aclocal, user defined
- ACLOCAL_FLAGS will now precede ours.
-
-2008-07-27 19:24 yangtse
-
- * buildconf: For debugging purposes, run aclocal in verbose mode on
- SunOS systems.
-
-2008-07-27 18:37 yangtse
-
- * Makefile.am, ares/Makefile.am: move ACLOCAL_AMFLAGS after
- AUTOMAKE_OPTIONS
-
-2008-07-27 05:16 yangtse
-
- * ares/setup.h, ares/m4/reentrant.m4, lib/setup.h, m4/reentrant.m4,
- src/setup.h: setup.h handles definition of _REENTRANT based on
- NEED_REENTRANT definition which might be defined in config.h or
- config-*.h files
-
-2008-07-27 04:41 yangtse
-
- * configure.ac, ares/configure.ac: Remove explicit inclusion of our
- m4 files first. It was interesting as a test, but it breaks
- aclocal execution on some systems, with the following error:
-
- Can't locate object method "rel2abs" via package "File::Spec" at
- /usr/local/bin/aclocal line 256.
-
-2008-07-27 04:34 danf
-
- * CHANGES, RELEASE-NOTES, tests/FILEFORMAT, tests/runtests.1,
- tests/runtests.pl: Added feature in runtests.pl to select tests
- based on key word.
-
-2008-07-27 04:20 danf
-
- * lib/hostip6.c: Eliminate a unnecessary socket creation in
- Curl_getaddrinfo for an IPv4 address in an IPv6 capable libcurl.
-
-2008-07-27 03:36 yangtse
-
- * configure.ac, ares/configure.ac, ares/m4/reentrant.m4,
- m4/reentrant.m4: Another step towards detecting if _REENTRANT is
- already defined or actually needed, and being able to define it
- if appropriate for further configure tests as well as for the
- generated config file.
-
-2008-07-26 23:15 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: - David Bau filed bug
- report #2026240 "CURL_READFUNC_PAUSE leads to buffer overrun"
- (http://curl.haxx.se/bug/view.cgi?id=2026240) identifying two
- problems, and providing the fix for them:
-
- - CURL_READFUNC_PAUSE did in fact not pause the _sending_ of
- data that it is
- designed for but paused _receiving_ of data!
-
- - libcurl didn't internally set the read counter to zero when
- this return
- code was detected, which would potentially lead to junk
- getting sent to
- the server.
-
-2008-07-26 22:09 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1044,
- tests/data/test99: Added test 1044 to test large file support in
- ftp with -I.
-
-2008-07-26 16:45 yangtse
-
- * configure.ac, ares/configure.ac: Explicitly include our m4 files
- first. This might minimize the impact that other package's
- underquoted m4 function definitions have on ours.
-
-2008-07-26 14:11 yangtse
-
- * acinclude.m4, configure.ac, m4/reentrant.m4: simplify multi '#'
- char comment line
-
-2008-07-26 03:24 yangtse
-
- * ares/m4/reentrant.m4, m4/reentrant.m4: Add a 3 argument check for
- getprotobyname_r
-
-2008-07-26 03:00 yangtse
-
- * m4/reentrant.m4: additional debug logging of getprotobyname_r on
- Tru64 and AIX
-
-2008-07-26 02:19 yangtse
-
- * tests/testcurl.pl: No longer hide aclocal 'underquoted
- definition' warnings.
-
- http://sources.redhat.com/automake/automake.html#Extending-aclocal
- documents that starting with Automake 1.8, aclocal will warn
- about all underquoted calls to AC_DEFUN due to the fact that in a
- single aclocal run it might include more than once all .m4 files
- which it finds available, this includes .m4 files from other
- software packages.
-
- If the first argument to AC_DEFUN is underquoted and the same
- macro is included more than once, successive inclusions after the
- first one will expand the macro instead of assuming it is the
- same as the first one included.
-
-2008-07-25 15:21 yangtse
-
- * Makefile.am, buildconf, reentrant.m4, ares/Makefile.am,
- ares/buildconf, ares/reentrant.m4, ares/m4/reentrant.m4,
- m4/reentrant.m4: move reentrant.m4 to the m4 subdirectory to
- avoid infinite loop inclusion problem
-
-2008-07-24 20:02 yangtse
-
- * reentrant.m4, ares/reentrant.m4: add checks for strtok_r and
- getprotobyname_r
-
-2008-07-24 17:20 yangtse
-
- * Makefile.am, acinclude.m4, buildconf, configure.ac, reentrant.m4,
- ares/Makefile.am, ares/acinclude.m4, ares/buildconf,
- ares/configure.ac, ares/reentrant.m4: Another step towards
- detecting if _REENTRANT is already defined or actually needed,
- and being able to define it if appropriate for further configure
- tests as well as for the generated config file.
-
- Introduced reentrant.m4 intended for our reentrant related
- autotools/m4 macros.
-
-2008-07-24 17:11 yangtse
-
- * lib/.cvsignore: ignore curllib.vcproj
-
-2008-07-24 04:16 danf
-
- * CHANGES, tests/runtests.pl: Changed the long logfile elision code
- in runtests.pl to properly handle lines ending in \r.
-
-2008-07-24 01:03 danf
-
- * tests/runtests.1: Mention that the test harness can't check every
- possible feature.
-
-2008-07-24 00:02 danf
-
- * docs/libcurl/: curl_easy_setopt.3, libcurl-tutorial.3: Eliminated
- references to TRUE and FALSE since those identifiers aren't
- defined by the libcurl API. Also changed curl_easy_setopt
- examples to pass longs where appropriate.
-
-2008-07-23 22:53 bagder
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3: - I went over the
- curl_easy_setopt man page and replaced most references to
- non-zero with the fixed value of 1. We should strive at making
- options support '1' for enabling them mentioned explicitly, as
- that then will allow us for to extend them in the future
- without breaking older programs.
-
-2008-07-23 20:17 danf
-
- * docs/INSTALL: Simplified Minix compile instructions and added
- some special cases.
-
-2008-07-23 06:20 yangtse
-
- * ares/acinclude.m4: reorder argument number detection for
- getservbyport_r to actually verify if the test is properly
- working
-
-2008-07-22 21:13 yangtse
-
- * acinclude.m4: cleanup duplicate line
-
-2008-07-22 21:04 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- Make sure that configure process tests are done with the same
- _REENTRANT setting as the one actually used when finally building
- the library.
-
-2008-07-22 20:56 yangtse
-
- * acinclude.m4: checks for gethostbyaddr_r with 7 and 8 args now
- also done with -D_REENTRANT
-
- checks for gethostbyname_r with 5 and 6 args now also done with
- -D_REENTRANT
-
-2008-07-22 02:12 yangtse
-
- * lib/: config-os400.h, setup-os400.h, setup.h: minor reordering in
- OS/400 config/setup files
-
-2008-07-21 20:24 yangtse
-
- * ares/setup_once.h, lib/setup_once.h: Change recvfrom's sixth
- argument data type to the 'historically standard' 'int' data type
- for systems where this sixth argument is prototyped as a void
- pointer.
-
- Start of thread: http://curl.haxx.se/mail/lib-2008-07/0153.html
-
-2008-07-21 17:39 giva
-
- * lib/setup.h: Undefine 'byte' due to dict.c.
-
-2008-07-21 16:01 yangtse
-
- * ares/acinclude.m4: use prototypes to improve getservbyport_r
- detection
-
-2008-07-21 11:23 yangtse
-
- * tests/server/tftpd.c: fix compiler warning: implicit conversion
- from "long" to "int"
-
-2008-07-21 05:59 yangtse
-
- * lib/tftp.c: fix compiler warning: comparison between signed and
- unsigned
-
-2008-07-21 05:50 yangtse
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: Adjust recvfrom's sixth arg data type
- definition for NetWare (LIBC)
-
-2008-07-21 05:06 yangtse
-
- * CHANGES, ares/setup_once.h, lib/setup_once.h, lib/tftp.c,
- tests/server/tftpd.c: Use the sreadfrom() wrapper to replace
- recvfrom() in our code.
-
-2008-07-21 02:36 yangtse
-
- * CHANGES, acinclude.m4, ares/CHANGES, ares/Makefile.dj,
- ares/Makefile.netware, ares/acinclude.m4, lib/Makefile.netware,
- lib/config-mac.h, lib/config-riscos.h, lib/config-symbian.h,
- lib/config.dos, packages/vms/config-vms.h, src/Makefile.netware:
- when recvfrom prototype uses a void pointer for arguments 2, 5 or
- 6 this will now cause the definition of
- RECVFROM_TYPE_ARG2_IS_VOID, RECVFROM_TYPE_ARG5_IS_VOID or
- RECVFROM_TYPE_ARG6_IS_VOID, as appropriate.
-
-2008-07-20 19:18 yangtse
-
- * configure.ac, ares/configure.ac: Adjust DEC/Compaq C compiler
- settings
-
-2008-07-20 11:51 yangtse
-
- * acinclude.m4: Remove showing additional info needed to debug
- configure failure to properly detect recvfrom arg types on
- Solaris
-
-2008-07-20 11:46 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Added "pointer to void" as
- another data type to check for the sixth argument of function
- recvfrom as a result of the info additionally logged when running
- on a Solaris system.
-
- The compiler error showed that the prototype being used on
- Solaris was the one declared in line 427 of
- "/usr/include/sys/socket.h" as:
-
- function(int, pointer to void, unsigned int,
- int, pointer to struct sockaddr, pointer
- to void) returning int
-
-2008-07-19 20:32 yangtse
-
- * acinclude.m4: Temporarily show additional info needed to debug
- configure failure to properly detect recvfrom arg types on
- Solaris
-
-2008-07-19 13:27 yangtse
-
- * ares/configure.ac, configure.ac: Adjust DEC/Compaq C compiler
- settings
-
-2008-07-18 16:46 patrickm
-
- * packages/OS400/README.OS400: README.OS400 update for new string
- options.
-
-2008-07-18 16:43 patrickm
-
- * packages/OS400/README.OS400: README.OS400 update for new string
- options.
-
-2008-07-18 00:39 danf
-
- * tests/data/: test1026, test1027, test1033, test12, test60: Fixed
- the XML syntax of a few test files.
-
-2008-07-17 05:07 yangtse
-
- * CHANGES, acinclude.m4, ares/CHANGES, ares/Makefile.dj,
- ares/Makefile.netware, ares/acinclude.m4, ares/config-win32.h,
- ares/setup_once.h, lib/Makefile.netware, lib/config-amigaos.h,
- lib/config-mac.h, lib/config-os400.h, lib/config-riscos.h,
- lib/config-symbian.h, lib/config-tpf.h, lib/config-win32.h,
- lib/config-win32ce.h, lib/config.dos, lib/setup_once.h,
- packages/vms/config-vms.h, src/Makefile.netware,
- src/config-win32.h: RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and
- RECVFROM_TYPE_ARG6 are now defined to the data type pointed by
- its respective argument and not the pointer type.
-
-2008-07-16 21:24 yangtse
-
- * lib/config.dos: fix comment
-
-2008-07-16 21:16 yangtse
-
- * CHANGES, acinclude.m4, configure.ac, ares/CHANGES,
- ares/Makefile.dj, ares/Makefile.netware, ares/acinclude.m4,
- ares/config-win32.h, ares/configure.ac, ares/setup_once.h,
- lib/Makefile.netware, lib/config-amigaos.h, lib/config-mac.h,
- lib/config-os400.h, lib/config-riscos.h, lib/config-symbian.h,
- lib/config-tpf.h, lib/config-win32.h, lib/config-win32ce.h,
- lib/config.dos, lib/setup_once.h, packages/vms/config-vms.h,
- src/Makefile.netware, src/config-win32.h: Configure process now
- checks availability of recvfrom() socket function and finds out
- its return type and the types of its arguments. Added definitions
- for non-configure systems config files, and introduced macro
- sreadfrom which will be used on udp sockets as a recvfrom()
- wrapper.
-
-2008-07-16 16:17 yangtse
-
- * configure.ac, ares/configure.ac: Initial DEC/Compaq C compiler
- detection and flags
-
-2008-07-16 14:26 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, acinclude.m4: Improved configure
- detection of number of arguments for getservbyport_r
-
-2008-07-15 18:43 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, configure.ac, setup.h: Allow
- --enable-largefile and --disable-largefile configurations.
- Configure process no longer needs nor checks size of curl_off_t.
- Library will now be built with _REENTRANT symbol defined.
-
-2008-07-15 15:54 yangtse
-
- * CHANGES, docs/examples/Makefile.am: add comment for include paths
-
-2008-07-15 07:46 yangtse
-
- * lib/Makefile.am, src/Makefile.am, tests/libtest/Makefile.am,
- tests/libtest/lib506.c, tests/libtest/test.h,
- tests/server/Makefile.am: add comment for include paths
-
-2008-07-15 06:12 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1041,
- tests/data/test1042, tests/data/test1043: Added test1042 and
- test1043 to test -C - on HTTP.
-
-2008-07-15 05:36 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test1040, tests/data/test1041: Added test1040 and
- test1041 to test -C - on HTTP. Test 1041 failed so it's added to
- DISABLED.
-
-2008-07-14 19:31 yangtse
-
- * lib/setup.h, CHANGES: Move _REENTRANT definition earlier in
- lib/setup.h
-
-2008-07-14 18:58 yangtse
-
- * CHANGES, lib/config-tpf.h, lib/setup.h: Removed inclusion of
- remaining system header files from configuration files. These
- are included from lib/setup.h or specific source code file.
-
-2008-07-14 18:10 yangtse
-
- * lib/: config-mac.h, setup.h: Inclusion of <extra/stricmp.h> and
- <extra/strdup.h> is moved to lib/setup.h
-
-2008-07-14 17:58 yangtse
-
- * lib/config.dos: Remove duplicate file inclusions. These are
- already done in lib/setup.h and lib/setup_once.h
-
-2008-07-14 17:30 yangtse
-
- * lib/config-win32ce.h: Remove duplicate file inclusions. These are
- already done in lib/setup.h
-
-2008-07-14 14:39 yangtse
-
- * CHANGES, docs/INSTALL, lib/setup.h: HTTP_ONLY definition check in
- lib/setup.h is now done once that configuration file has been
- included. In this way if symbol is defined in the config file it
- will no longer be ignored.
-
-2008-07-11 20:59 yangtse
-
- * lib/parsedate.h: fix multiple header inclusion prevention
- definition
-
-2008-07-11 20:52 yangtse
-
- * lib/: strdup.h, strtok.h: move multiple header inclusion
- prevention definition to top of file
-
-2008-07-11 20:42 yangtse
-
- * CHANGES, lib/content_encoding.h: Added missing multiple header
- inclusion prevention definition
-
-2008-07-11 20:23 danf
-
- * CHANGES, tests/libtest/lib552.c, tests/libtest/lib553.c: Fixed
- test 553 to pass the torture test.
-
-2008-07-11 19:18 danf
-
- * tests/ftpserver.pl: Avoid a potential zombie process when killing
- an old ftpserver
-
-2008-07-11 12:50 bagder
-
- * docs/curl.1: document the exit codes 82 and 83 that are new in
- 7.19.0
-
-2008-07-11 11:18 bagder
-
- * lib/url.c: indent and comment cleanup (no code change)
-
-2008-07-11 11:08 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Daniel Fandrich found out we
- didn't pass on the user-agent properly when doing
- "proxy-tunnels" with non-HTTP prototols and that was simply
- because the code assumed the user-agent was only needed for
- HTTP.
-
-2008-07-11 07:08 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1038,
- tests/data/test1039: Added test cases 1038 and 1039 to test
- Adrian Kreher's report that ftp uploads with -C - didn't resume
- properly, but the tests pass.
-
-2008-07-11 06:38 danf
-
- * CHANGES, lib/ssh.c: Changed slightly the SFTP quote commands
- chmod, chown and chgrp to only set the attribute that has changed
- instead of all possible ones. Hopefully, this will solve the
- "Permission denied" problem that Nagarajan Sreenivasan reported
- when setting some modes, but regardless, it saves a protocol
- round trip in the chmod case.
-
-2008-07-11 00:24 bagder
-
- * docs/libcurl/curl_easy_setopt.3: (Added in the section for
- CURLOPT_DNS_CACHE_TIMEOUT, pointed out on the curl-library list
- on July 9th 2008 by Mathew Hounsell)
-
- NOTE: the name resolve functions of various libc implementations
- don't re-read name server information unless explicitly told so
- (by for example calling Ires_init(3). This may cause libcurl to
- keep using the older server even if DHCP has updated the server
- info, and this may look like a DNS cache issue to the casual
- libcurl-app user.
-
-2008-07-10 22:29 bagder
-
- * src/main.c: --remote-name-all
-
-2008-07-10 20:15 danf
-
- * lib/transfer.c: Fixed another OOM problem, this time with test
- 64.
-
-2008-07-10 20:01 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/select.h: Peter Lamberg filed bug
- report #2015126: "poll gives WSAEINVAL when POLLPRI is set in
- fdset.events" (http://curl.haxx.se/bug/view.cgi?id=2015126) which
- exactly pinpointed the problem only triggered on Windows Vista,
- provided reference to docs and also a fix. There is much work
- behind Peter Lamberg's excellent bug report. Thank You!
-
-2008-07-10 15:40 bagder
-
- * docs/libcurl/curl_multi_socket.3: updated to match current
- reality
-
-2008-07-10 10:21 yangtse
-
- * ares/: ares_private.h, ares_process.c, ares_send.c: fix compiler
- warning
-
-2008-07-10 10:00 bagder
-
- * docs/curl.1: s/muse/must
-
-2008-07-10 09:53 bagder
-
- * docs/curl.1: document --remote-name-all
-
-2008-07-10 09:16 yangtse
-
- * src/curlutil.c, tests/libtest/testutil.c: fallback to
- gettimeofday when monotonic clock is unavailable at run-time
-
-2008-07-10 08:09 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1036,
- tests/data/test1037: Added tests 1036 and 1037 to verify resumed
- ftp downloads with -C -
-
-2008-07-09 20:39 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostares.c, lib/hostip.c,
- lib/hostip.h, lib/hostip4.c: - Andreas Schuldei improved Phil
- Blundell's patch for IPv6 using c-ares, and I edited it
- slightly. Now you should be able to use IPv6 addresses fine even
- with libcurl built to use c-ares.
-
-2008-07-09 20:33 danf
-
- * CHANGES, lib/transfer.c: Fixed an OOM handling problem that cause
- test 11 to fail the torture test.
-
-2008-07-09 18:38 yangtse
-
- * ares/Makefile.netware: since Jun 30 2008 MAXHOSTNAMELEN define is
- no longer used
-
-2008-07-08 23:16 danf
-
- * CHANGES, docs/libcurl/curl_formadd.3, lib/formdata.c,
- tests/libtest/lib554.c: Fixed test 554 to pass the torture test.
-
-2008-07-08 15:55 giva
-
- * docs/examples/makefile.dj: Added libidn libs as needed. Added
- compilation of sendrecv.c and cookie_interface.c.
-
-2008-07-08 01:52 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1034,
- tests/data/test1035, tests/data/test165: Added test cases 1034 &
- 1035 to test IDN name conversion failures.
-
-2008-07-07 22:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/test539,
- tests/libtest/Makefile.am, tests/libtest/lib539.c: - Scott
- Barrett provided a test case for a segfault in the FTP code and
- the fix for it. It occured when you did a FTP transfer using
- CURLFTPMETHOD_SINGLECWD and then did another one on the same easy
- handle but switched to CURLFTPMETHOD_NOCWD. Due to the "dir
- depth" variable not being cleared properly. Scott's test case
- is now known as test 539 and it verifies the fix.
-
-2008-07-07 12:39 patrickm
-
- * lib/qssl.h, packages/OS400/ccsidcurl.c,
- packages/OS400/curl.inc.in: New options added to OS400 wrapper
- and ILERPG definitions. Wrong defines (typos) for QSSL layer
- fixed.
-
-2008-07-07 04:11 yangtse
-
- * ares/: configure.ac, maketgz: fix c-ares version reported in
- generated libcares.pc file when building from CVS tree.
-
-2008-07-05 05:31 yangtse
-
- * lib/sslgen.h: fix compiler warning: empty body in an if-statement
-
-2008-07-05 05:12 yangtse
-
- * CHANGES: mention that egrep and ar are also mandatory
-
-2008-07-04 06:03 yangtse
-
- * configure.ac, ares/configure.ac: egrep and ar are also mandatory
-
-2008-07-03 13:41 bagder
-
- * ares/README: just to clarify that c-ares actually have some ipv6
- support
-
-2008-07-03 13:34 bagder
-
- * ares/RELEASE-NOTES: ares_gethostbyname() fallback from AAA to A
- records with CNAME present
-
-2008-07-03 13:32 bagder
-
- * ares/: CHANGES, ares_gethostbyname.c: - Phil Blundell: If you ask
- ares_gethostbyname() to do an AF_INET6 lookup and the target
- host has only A records, it automatically falls back to an
- AF_INET lookup and gives you the A results. However, if the
- target host has a CNAME record, this behaviour is defeated
- since the original query does return some data even though
- ares_parse_aaa_reply() doesn't consider it relevant. Here's a
- small patch to make it behave the same with and without the
- CNAME.
-
-2008-07-03 10:47 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/transfer.c,
- tests/data/Makefile.am, tests/data/test1033: Phil Blundell
- provided a fix for libcurl's treatment of unexpected 1xx response
- codes. Previously libcurl would hang on such occurances. I added
- test case 1033 to verify.
-
-2008-07-03 08:56 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_getinfo.3, include/curl/curl.h,
- lib/getinfo.c, lib/progress.c, lib/progress.h, lib/ssh.c,
- lib/sslgen.c, lib/url.c, lib/urldata.h, src/writeout.c:
- Introcuding a new timestamp for curl_easy_getinfo():
- CURLINFO_APPCONNECT_TIME. This is set with the "application
- layer" handshake/connection is completed (typically SSL, TLS or
- SSH). By using this you can figure out the application layer's
- own connect time. You can extract the time stamp using curl's -w
- option and the new variable named 'time_appconnect'. This feature
- was sponsored by Lenny Rachitsky at NeuStar.
-
-2008-07-02 20:34 danf
-
- * include/curl/curl.h, CHANGES, lib/if2ip.c: Support Open Watcom C
- on Linux (as well as Windows).
-
-2008-07-02 19:42 yangtse
-
- * CHANGES, configure.ac, ares/configure.ac: The configure process
- will now halt when sed or grep are unavailable
-
-2008-07-02 05:04 yangtse
-
- * CHANGES, RELEASE-NOTES, acinclude.m4, ares/CHANGES,
- ares/RELEASE-NOTES, ares/acinclude.m4, ares/ares__timeval.c,
- lib/timeval.c: fallback to gettimeofday when monotonic clock is
- unavailable at run-time
-
-2008-07-01 23:53 bagder
-
- * CHANGES, RELEASE-NOTES, docs/INSTALL, include/curl/curl.h: -
- Rolland Dudemaine provided fixes to get libcurl to build for the
- INTEGRITY operating system.
-
-2008-07-01 23:53 bagder
-
- * lib/url.c: CreateConnection collided with a function using the
- exact same name in the INTEGRITY RTOS, so I renamed it to
- create_conn. It then made sense to also rename SetupConnection to
- setup_conn to match it.
-
-2008-07-01 12:29 yangtse
-
- * configure.ac, ares/configure.ac: IBM C/C++ compiler predefined
- macro check
-
-2008-07-01 02:30 yangtse
-
- * configure.ac, ares/configure.ac: set earlier in configure process
- IBM compilers optimization flags
-
-2008-06-30 16:10 yangtse
-
- * acinclude.m4, ares/acinclude.m4: make check message wording more
- precise
-
-2008-06-30 15:07 bagder
-
- * CHANGES, RELEASE-NOTES, lib/setup.h, lib/url.c: - Stephen Collyer
- and Tor Arntsen helped identify a flaw in the range code which
- output the range using a signed variable where it should rather
- use unsigned.
-
-2008-06-30 14:58 bagder
-
- * lib/mprintf.c: made %llu work for printing unsigned long longs,
- added the generic curl source header
-
-2008-06-30 14:48 bagder
-
- * ares/: CHANGES, ares_init.c, nameser.h: - As was pointed out to
- me by Andreas Schuldei, the MAXHOSTNAMELEN define is not posix
- or anything and thus c-ares failed to build on hurd (and possibly
- elsewhere). The define was also somewhat artificially used in
- the windows port. Now, I instead rewrote the use of
- gethostbyname to enlarge the host name buffer in case of need
- and totally avoid the use of the MAXHOSTNAMELEN define. I thus
- also removed the defien from the namser.h file where it was
- once added for the windows build.
-
- I also fixed init_by_defaults() function to not leak memory in
- case if
- error.
-
-2008-06-30 11:39 bagder
-
- * docs/libcurl/ABI: minor language fix
-
-2008-06-29 13:08 yangtse
-
- * acinclude.m4, ares/acinclude.m4: fix C style comment
-
-2008-06-29 05:19 yangtse
-
- * CHANGES, RELEASE-NOTES, acinclude.m4, ares/acinclude.m4: John
- Lightsey filed bug report #1999181: "CLOCK_MONOTONIC always fails
- on some systems" (http://curl.haxx.se/bug/view.cgi?id=1999181).
- The problem was that the configure script did not use the
- _POSIX_MONOTONIC_CLOCK feature test macro when checking monotonic
- clock availability. This is now fixed and the monotonic clock
- will not be used unless the feature test macro is defined with a
- value greater than zero indicating always supported.
-
-2008-06-26 09:53 bagder
-
- * docs/INTERNALS: let's try to maintain compatibility with NSS
- 3.11.x
-
-2008-06-26 03:43 danf
-
- * CHANGES, src/main.c: Honour --stderr with the -v option. Fixed a
- file handle leak in the command line client if more than one
- --stderr option was given.
-
-2008-06-24 10:52 bagder
-
- * lib/: Makefile.am, README.NSS: Added README.NSS to describe the
- current NSS situation.
-
-2008-06-22 22:38 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/Makefile.am,
- tests/data/test1032: - Eduard Bloch filed the debian bug report
- #487567
- (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487567)
- pointing out that libcurl used Content-Range: instead of Range
- when doing a range request with --head (CURLOPT_NOBODY). This
- is now fixed and test case 1032 was added to verify.
-
-2008-06-22 08:57 danf
-
- * CHANGES, lib/parsedate.c, lib/url.c: Stopped using ranges in
- scanf character sequences (e.g. %[a-z]) since that is not ANSI C,
- just a common extension. This caused problems on at least Open
- Watcom C.
-
-2008-06-21 23:21 bagder
-
- * lib/Makefile.am: Oops, that was an experimental change not meant
- to be committed!
-
-2008-06-21 23:19 bagder
-
- * lib/: Makefile.am, nss.c, nssg.h: made Curl_nss_send() take const
- data to kill compiler warning
-
-2008-06-21 19:56 danf
-
- * tests/data/: test1021, test104, test106, test12, test141,
- test188, test194, test258, test259, test56, test71, test92:
- Edited some test keywords for consistency
-
-2008-06-20 20:09 yangtse
-
- * CHANGES, acinclude.m4, configure.ac, ares/acinclude.m4,
- ares/configure.ac: Modified configuration script to actually
- verify if the compiler is good enough at detecting compilation
- errors or at least it has been properly configured to do so.
- Configuration heavily depends on this capability, so if this
- compiler sanity check fails the configuration process will now
- fail.
-
-2008-06-20 13:15 bagder
-
- * CHANGES, RELEASE-NOTES, lib/nss.c: - Phil Pellouchoud found a
- case where libcurl built with NSS failed to handshake with a
- SSLv2 server, and it turned out to be because it didn't
- recognize the cipher named "rc4-md5". In our list that cipher was
- named plainly "rc4". I've now added rc4-md5 to work as an alias
- as Phil reported that it made things work for him again.
-
-2008-06-20 12:45 bagder
-
- * lib/ssh.h: remove leftover proto that isn't used, I made it a
- macro instead
-
-2008-06-20 12:43 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sendf.c, lib/sendf.h, lib/socks.c,
- lib/ssh.h: - Hans-Jurgen May pointed out that trying SCP or SFTP
- over a SOCKS proxy crashed libcurl. This is now addressed by
- making sure we use "plain send" internally when doing the socks
- handshake instead of the Curl_write() function which is
- designed to use the "target" protocol. That's then SCP or SFTP
- in this case. I also took the opportunity and cleaned up some
- ssh- related #ifdefs in the code for readability.
-
-2008-06-20 00:24 bagder
-
- * CHANGES: minor language fix
-
-2008-06-19 23:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: - Christopher Palow fixed a
- curl_multi_socket() issue which previous caused libcurl to not
- tell the app properly when a socket was closed (when the name
- resolve done by c-ares is done) and then immediately re-created
- and put to use again (for the actual connection). Since the
- closure will make the "watch status" get lost in several
- event-based systems libcurl will need to tell the app about
- this close/re-create case.
-
-2008-06-19 10:31 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Dengminwen found a bug in
- the connection re-use function when using the multi interface
- with pipelining enabled as it would wrongly check for, detect
- and close "dead connections" even though that connection was
- already in use!
-
-2008-06-19 07:47 bagder
-
- * lib/nss.c: Removed the #define of ciphernum since keeping a
- define updated to be the number of entries in a provided table is
- doomed to fail in the long run. Now we use the NUM_OF_CIPHERS
- define instead to figure out the amount.
-
-2008-06-19 07:42 bagder
-
- * lib/nss.c: s/strcasecmp/strequal to make it more portable
-
-2008-06-19 03:12 danf
-
- * tests/runtests.pl: Always use $LOGDIR when referring to the log
- directory.
-
-2008-06-19 02:30 danf
-
- * CHANGES, src/main.c: Fixed a memory leak in the command-line tool
- that caused a valgrind error.
-
-2008-06-19 02:18 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test628,
- tests/data/test629, tests/data/test630, tests/data/test631,
- tests/data/test632: Added SSH failure test cases 628-632
-
-2008-06-19 00:01 bagder
-
- * CHANGES, RELEASE-NOTES, lib/nss.c: - Rob Crittenden brought a fix
- for the NSS layer that makes libcurl no longer always fire up a
- new connection rather than using the existing one when the
- multi interface is used. Original bug report:
- https://bugzilla.redhat.com/show_bug.cgi?id=450140
-
-2008-06-18 23:50 bagder
-
- * lib/nss.c: removed warning about unused argument by simply
- removing that argument from the check_issuer_cert() proto
-
-2008-06-18 23:48 bagder
-
- * lib/nss.c: check_issuer_cert() now builds and there's one warning
- less. Still one compiler warning in the code though but we need
- NSS' base64.h header for that and we don't currently have a
- suitable way to include it as our own base64.h header kind of
- "blocks" it.
-
-2008-06-18 06:39 yangtse
-
- * CHANGES, acinclude.m4, ares/acinclude.m4: No longer break out of
- a shell "for" statement from inside AC_FOO_IFELSE macros,
- otherwise temp files are not removed.
-
- Identation adjustment.
-
-2008-06-13 23:16 bagder
-
- * lib/multi.c: In checkPendPipeline() we can't be setting the
- TIMER_CONNECT correctly as that is for the TCP connect. I changed
- it to TIMER_PRETRANSFER which seems to be what was intended here.
-
-2008-06-13 22:45 bagder
-
- * tests/runtests.pl: fixed the language somewhat
-
-2008-06-13 02:03 danf
-
- * CHANGES, RELEASE-NOTES, acinclude.m4: Fixed curl-config --ca
- which wasn't being exported by configure.
-
-2008-06-13 01:50 danf
-
- * tests/data/: test252, test253, test254, test255: Added IPv6
- keywords for some more tests that require IPv6 networking support
-
-2008-06-13 00:00 bagder
-
- * lib/nss.c: fixed bad infof() usage!
-
-2008-06-12 23:16 bagder
-
- * docs/INTERNALS: added the versions of a range of build tools that
- we want to remain to work
-
-2008-06-12 23:03 bagder
-
- * docs/INTERNALS: My first attempt at documenting what we try to
- support and make curl run with in regard to C standard, third
- party libraries and operating systems etc.
-
-2008-06-11 19:01 bagder
-
- * CHANGES, lib/gtls.h, lib/nss.c, lib/nssg.h, lib/qssl.h,
- lib/sslgen.c, lib/sslgen.h, lib/ssluse.c, lib/ssluse.h: - I did a
- cleanup of the internal generic SSL layer and how the various SSL
- libraries are supported. Starting now, each underlying SSL
- library support code does a set of defines for the 16 functions
- the generic layer (sslgen.c) uses (all these new function
- defines use the prefix "curlssl_"). This greatly simplified the
- generic layer in readability by involving much less #ifdefs and
- other preprocessor stuff and should make it easier for people to
- make libcurl work with new SSL libraries.
-
- Hopefully I can later on document these 16 functions somewhat
- as well.
-
- I also made most of the internal SSL-dependent functions (using
- Curl_ssl_
- prefix) #defined to nothing when no SSL support is requested -
- previously
- they would unnecessarily call mostly empty functions.
-
-2008-06-11 17:26 yangtse
-
- * lib/ssluse.c: fix compiler warning: conversion from `pointer to
- void' to `pointer to int function(pointer to char,int,int,pointer
- to void)' is compiler dependent
-
-2008-06-11 02:07 gknauf
-
- * ares/Makefile.netware: enable additional CFLAGS from commandline.
-
-2008-06-10 23:53 bagder
-
- * lib/: gtls.c, gtls.h: fix warning in GnuTLS build by making sure
- Curl_gtls_send() takes a const void *
-
-2008-06-10 22:49 bagder
-
- * CHANGES, lib/ssluse.c: - I made the OpenSSL code build again with
- OpenSSL 0.9.6. The CRLFILE functionality killed it due to its
- unconditional use of X509_STORE_set_flags...
-
-2008-06-09 13:13 mmarek
-
- * include/curl/typecheck-gcc.h: CURLOPT_CRLFILE and
- CURLOPT_ISSUERCERT are new string options
-
-2008-06-09 03:06 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, configure.ac, libcares.pc.in: fix
- pkg-config reporting of private libraries needed for static
- linking
-
-2008-06-09 00:29 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: enable additional
- CFLAGS from commandline.
-
-2008-06-09 00:00 bagder
-
- * docs/libcurl/: curl_easy_getinfo.3, curl_easy_setopt.3: 7.19.0 is
- next
-
-2008-06-08 23:04 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, docs/libcurl/libcurl-errors.3,
- include/curl/curl.h, include/curl/curlver.h: the next release is
- now called 7.19.0
-
-2008-06-08 22:53 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c,
- tests/runtests.pl, tests/data/test256, tests/data/test38: - curl
- the tool now deals with its command line options somewhat
- differently! All boolean options (such as -O, -I, -v etc), both
- short and long versions, now always switch on/enable the option
- named. Using the same option multiple times thus make no
- difference. To switch off one of those options, you need to use
- the long version of the option and type --no-OPTION. Like to
- disable verbose mode you use --no-verbose!
-
- - Added --remote-name-all to curl, which if used changes the
- default for all given URLs to be dealt with as if -O is used.
- So if you want to disable that for a specific URL after
- --remote-name-all has been used, you muse use -o - or
- --no-remote-name.
-
-2008-06-08 17:52 gknauf
-
- * lib/connect.c: use our *printf functions only.
-
-2008-06-07 00:11 bagder
-
- * CHANGES, CHANGES.0: Moved all changes from 2007 from CHANGES to
- CHANGES.0
-
-2008-06-06 22:57 bagder
-
- * lib/nss.c: code style cleanup
-
-2008-06-06 22:52 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE,
- docs/libcurl/curl_easy_setopt.3, docs/libcurl/libcurl-errors.3,
- include/curl/curl.h, lib/gtls.c, lib/nss.c, lib/ssluse.c,
- lib/strerror.c, lib/url.c, lib/urldata.h: - Axel Tillequin and
- Arnaud Ebalard added support for CURLOPT_ISSUERCERT, for
- OpenSSL, NSS and GnuTLS-built libcurls.
-
-2008-06-06 20:44 yangtse
-
- * acinclude.m4, ares/acinclude.m4: MSVC does build Windows native
- targets
-
-2008-06-06 20:40 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention added in 7.18.3
-
-2008-06-06 20:40 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE,
- docs/libcurl/curl_easy_setopt.3, docs/libcurl/libcurl-errors.3,
- include/curl/curl.h, lib/gtls.c, lib/nss.c, lib/ssluse.c,
- lib/strerror.c, lib/url.c, lib/urldata.h: - Axel Tillequin and
- Arnaud Ebalard added support for CURLOPT_CRLFILE, for OpenSSL,
- NSS and GnuTLS-built libcurls.
-
-2008-06-06 19:33 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_getinfo.3,
- include/curl/curl.h, lib/connect.c, lib/getinfo.c, lib/urldata.h,
- tests/data/test500, tests/libtest/lib500.c: - Added
- CURLINFO_PRIMARY_IP as a new information retrievable with
- curl_easy_getinfo. It returns a pointer to a string with the most
- recently used IP address. Modified test case 500 to also verify
- this feature. The implementing of this feature was sponsored by
- Lenny Rachitsky at NeuStar.
-
-2008-06-05 14:33 bagder
-
- * TODO-RELEASE: 7.18.2 is done now
-
-2008-06-05 02:15 danf
-
- * packages/Symbian/readme.txt: Mention the minimum Symbian OS
- version required.
-
-2008-06-05 01:44 danf
-
- * src/main.c: Mention a few options that require an argument in
- --help
-
-2008-06-04 18:05 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.18.3!
-
-2008-06-04 18:03 bagder
-
- * docs/THANKS: new contributors from the 7.18.2 release
-
-2008-06-04 17:38 bagder
-
- * CHANGES: 7.18.2
-
-2008-06-03 20:03 danf
-
- * CHANGES, RELEASE-NOTES, lib/telnet.c: Fixed a problem where
- telnet data would be lost if an EWOULDBLOCK condition were
- encountered.
-
-2008-06-03 20:00 danf
-
- * include/curl/curl.h: Fixed typo in comment
-
-2008-06-02 00:10 bagder
-
- * tests/data/: test1026, test1027: curl returns 0 for these options
- now
-
-2008-06-02 00:04 bagder
-
- * tests/data/: test1013, test1014, test1022, test1023: now returns
- 0
-
-2008-06-01 19:59 bagder
-
- * CHANGES: (committed this for Marty Kuhrt:) - Updated main.c to
- return CURLE_OK if PARAM_HELP_REQUESTED was returned from
- getparameter instead of CURLE_FAILED_INIT. No point in returning
- an error if --help or --version were requested.
-
-2008-06-01 18:01 curlvms
-
- * src/main.c: return CURLE_OK instead of CURLE_FAILED_INIT if
- PARAM_HEKP_REQUESTED returned by getparameter
-
-2008-05-31 03:37 yangtse
-
- * lib/ssh.c: Fix problem: 'result' may be used uninitialized.
- Issue detected by Guenter Knauf's NetWare autobuild.
-
-2008-05-31 01:53 curlvms
-
- * packages/vms/curlmsg_vms.h: updated to match curlmsg.msg 1.7
-
-2008-05-31 01:52 curlvms
-
- * packages/vms/: curlmsg.h, curlmsg.sdl: resync with curl.h
- messages
-
-2008-05-31 01:51 curlvms
-
- * packages/vms/curlmsg.msg: resync with curl.h curle_ messages
-
-2008-05-30 17:26 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, adig.c: Brad House fixed a missing
- header file inclusion in adig sample program
-
-2008-05-29 23:48 bagder
-
- * docs/TheArtOfHttpScripting: Added a new "13. Web Login" chapter
-
-2008-05-29 22:39 bagder
-
- * ares/ares_version.h: start working on 1.5.3
-
-2008-05-29 22:10 bagder
-
- * ares/CHANGES: 1.5.2
-
-2008-05-28 22:57 bagder
-
- * TODO-RELEASE: Fixed 142 and 143 Moved 144 to 7.18.3 instead
-
-2008-05-28 22:56 bagder
-
- * lib/multi.c, CHANGES, RELEASE-NOTES: - Emil Romanus found a
- problem and helped me repeat it. It occured when using the
- curl_multi_socket() API with HTTP pipelining enabled and could
- lead to the pipeline basically stalling for a very long period
- of time until it took off again.
-
-2008-05-28 22:31 bagder
-
- * lib/ssh.c, CHANGES, RELEASE-NOTES: - Jeff Weber reported memory
- leaks with aborted SCP and SFTP transfers and provided
- excellent repeat recipes. I fixed the cases I managed to
- reproduce but Jeff still got some (SCP) problems even after
- these fixes: http://curl.haxx.se/mail/lib-2008-05/0342.html
-
-2008-05-27 18:10 yangtse
-
- * docs/KNOWN_BUGS: Known bug #55, libcurl fails to build with MIT
- Kerberos for Windows (KfW) due to KfW's library header files
- exporting symbols/macros that should be kept private to the KfW
- library. See ticket #5601 at http://krbdev.mit.edu/rt/
-
-2008-05-26 22:39 bagder
-
- * lib/transfer.c, CHANGES, RELEASE-NOTES, tests/data/Makefile.am,
- tests/data/test1031: - Bug report #1973352
- (http://curl.haxx.se/bug/view.cgi?id=1973352) identified how
- the HTTP redirect following code didn't properly follow to a new
- URL if the new url was but a query string such as "Location:
- ?moo=foo". Test case 1031 was added to verify this fix.
-
-2008-05-26 18:05 bagder
-
- * TODO-RELEASE: I'd like to see this fixed for the 7.18,2:
-
- 144 - Help apps use 64bit/LFS libcurl
-
-2008-05-26 17:09 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/select.c: Andreas
- Faerber and Scott McCreary made (lib)curl build for the Haiku OS
-
-2008-05-26 17:06 bagder
-
- * docs/INSTALL: Added Haiku OS, sorted the list of i386 OSes
-
-2008-05-26 15:52 yangtse
-
- * ares/ahost.c: fix compiler warning: unreferenced formal parameter
-
-2008-05-26 05:10 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/http_negotiate.c: David Rosenstrauch
- reported that header files spnegohelp.h and openssl/objects.h
- were needed to compile SPNEGO support.
-
-2008-05-26 03:59 yangtse
-
- * lib/: nss.c, security.c, ssluse.c: fix: preprocessor complaining
- about macro redefinition
-
-2008-05-24 21:28 bagder
-
- * TODO-RELEASE: summary of the current outstanding issues for
- upcoming and the subsequent releases
-
-2008-05-24 21:19 bagder
-
- * docs/libcurl/: curl_multi_add_handle.3, curl_multi_socket.3:
- Christopher Palow's multi interface docs updates
-
-2008-05-24 13:20 bagder
-
- * RELEASE-NOTES: Nikolai Kondrashov for his man page update
-
-2008-05-24 13:19 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Nikolai Kondrashov provided a
- clarification for CURLOPT_HEADERFUNCTION
-
-2008-05-23 23:52 bagder
-
- * ares/Makefile.am: list all local sources the (demo) tools need,
- add a few missing scripts to the dist tarball and remove a two
- duplicate file names from EXTRA_DIST (most of it pointed out by
- Yang Tse)
-
-2008-05-23 23:46 bagder
-
- * ares/FILES: this is not used (anymore)
-
-2008-05-23 22:52 danf
-
- * docs/: KNOWN_BUGS, TODO: Added some more to do items and a known
- bug.
-
-2008-05-23 19:56 bagder
-
- * lib/Makefile.am: Dan Fandrich pointed out that this is the way we
- should increase the number for 7.18.2 since we have added
- functions in this release.
-
- http://curl.haxx.se/mail/lib-2008-05/0240.html
-
-2008-05-22 23:49 danf
-
- * CHANGES, tests/libtest/lib500.c, tests/libtest/lib501.c,
- tests/libtest/lib503.c, tests/libtest/lib504.c,
- tests/libtest/lib505.c, tests/libtest/lib506.c,
- tests/libtest/lib508.c, tests/libtest/lib510.c,
- tests/libtest/lib511.c, tests/libtest/lib512.c,
- tests/libtest/lib513.c, tests/libtest/lib514.c,
- tests/libtest/lib515.c, tests/libtest/lib516.c,
- tests/libtest/lib518.c, tests/libtest/lib519.c,
- tests/libtest/lib520.c, tests/libtest/lib521.c,
- tests/libtest/lib523.c, tests/libtest/lib524.c,
- tests/libtest/lib525.c, tests/libtest/lib526.c,
- tests/libtest/lib530.c, tests/libtest/lib536.c,
- tests/libtest/lib537.c, tests/libtest/lib540.c,
- tests/libtest/lib541.c, tests/libtest/lib542.c,
- tests/libtest/lib544.c, tests/libtest/lib547.c,
- tests/libtest/lib549.c, tests/libtest/lib552.c,
- tests/libtest/lib553.c, tests/libtest/lib554.c,
- tests/libtest/lib555.c: Made sure to pass longs in to
- curl_easy_setopt where necessary in the libtest code.
-
-2008-05-22 23:20 danf
-
- * docs/examples/: 10-at-a-time.c, anyauthput.c, cacertinmem.c,
- cookie_interface.c, curlgtk.c, curlx.c, debug.c, fileupload.c,
- fopen.c, ftpget.c, ftpupload.c, ftpuploadresume.c, ghiper.c,
- hiperfifo.c, htmltidy.c, htmltitle.cc, httpput.c, https.c,
- multi-app.c, multi-debugcallback.c, multi-post.c, persistant.c,
- post-callback.c, sepheaders.c, simplepost.c, simplessl.c,
- synctime.c, threaded-ssl.c: Fixed a surprising number of example
- programs that were passing int arguments to curl_easy_setopt
- instead of long.
-
-2008-05-22 22:34 bagder
-
- * lib/Makefile.am: we bump the SO "revision" for next release due
- to the new functions added
-
-2008-05-22 21:44 danf
-
- * lib/: krb5.c, security.c: Fixed some include file problems on
- Windows reported by David Rosenstrauch
-
-2008-05-22 19:41 bagder
-
- * ares/maketgz: make sure the configure.ac file with the correct
- version number is shipped in the tarball
-
-2008-05-22 18:10 yangtse
-
- * ares/Makefile.vc6: MSVC6+ clean-up targets must also remove
- acountry.exe
-
-2008-05-22 17:31 yangtse
-
- * ares/AUTHORS: sync with reality
-
-2008-05-21 23:36 danf
-
- * lib/file.c: Renamed MSDOS_FILESYSTEM to avoid conflict with MIT
- GSS
-
-2008-05-21 23:08 danf
-
- * lib/: connect.c, ssh.c: Removed some duplicated #includes
-
-2008-05-21 20:24 yangtse
-
- * acinclude.m4, ares/acinclude.m4: fix: [action-if-found] part of
- AC_CHECK_TYPE macro cannot be quoted when empty
-
-2008-05-21 16:04 yangtse
-
- * acinclude.m4, ares/acinclude.m4, ares/setup_once.h,
- lib/setup_once.h: fix: remove need and definition of
- HAVE_SOCKLEN_T symbol
-
-2008-05-21 15:57 yangtse
-
- * acinclude.m4, ares/acinclude.m4, lib/config-os400.h,
- lib/config-riscos.h, lib/config-symbian.h, lib/config-tpf.h,
- packages/vms/config-vms.h, src/config-riscos.h: fix: socklen_t
- definition comment
-
-2008-05-20 19:30 yangtse
-
- * acinclude.m4: When unable to properly detect gethostbyname_r()
- usage, configure script will simply issue a warning and
- gethostbyname() will be used.
-
-2008-05-20 17:55 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- update several macros using AC_TRY_LINK with AC_LINK_IFELSE
-
-2008-05-20 12:21 patrickm
-
- * include/curl/curl.h, include/curl/mprintf.h,
- include/curl/multi.h, include/curl/typecheck-gcc.h,
- lib/config-os400.h, lib/qssl.c, lib/qssl.h, lib/setup-os400.h,
- packages/OS400/curl.inc.in, packages/OS400/initscript.sh,
- packages/OS400/os400sys.c: Adapting last changes to OS400: _
- Updated packages/OS400/curl.inc.in with new definitions. _ New
- connect/bind/sendto/recvfrom wrappers to support AF_UNIX sockets.
- _ Include files line length shortened below 100 chars. _ Const
- parameter in lib/qssl.[ch]. _ Typos in
- packages/OS400/initscript.sh.
-
-2008-05-20 06:23 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4: fix underquoting
- of AC_LANG_PROGRAM arguments
-
-2008-05-20 03:24 yangtse
-
- * ares/: ares__timeval.c, ares_private.h: if'def out private
- function ares__tvdiff(), it is not in use yet.
-
-2008-05-20 03:03 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4: update several
- macros using AC_TRY_LINK with AC_LINK_IFELSE
-
-2008-05-19 22:58 bagder
-
- * CHANGES, RELEASE-NOTES: - When trying to repeat a multi interface
- problem I fell over a few multi interface problems:
-
- o with pipelining disabled, the state should never be set to
- WAITDO but
- rather go straight to DO
-
- o we had multiple states for which the internal function
- returned no socket
- at all to wait for, with the effect that libcurl calls the
- socket callback
- (when curl_multi_socket() is used) with REMOVE prematurely
- (as it would be
- added again within very shortly)
-
- o when in DO and DOING states, the HTTP and HTTPS protocol
- handler functions
- didn't return that the socket should be waited for writing,
- but instead it
- was treated as if no socket was needing monitoring so again
- REMOVE was
- called prematurely.
-
-2008-05-19 22:58 bagder
-
- * lib/multi.c: with pipelining disabled, the state should never be
- set to WAITDO but rather go straight to DO
-
- we had multiple states for which the internal function returned
- no socket at all to wait for, with the effect that libcurl calls
- the socket callback (when curl_multi_socket() is used) with
- REMOVE prematurely (as it would be added again within very
- shortly)
-
-2008-05-19 22:57 bagder
-
- * lib/http.c: when the multi handle was in DO and DOING states, the
- HTTP and HTTPS protocol handler functions didn't return that the
- socket should be waited for writing, but instead it was treated
- as if no socket was needing monitoring so REMOVE was called
- prematurely
-
-2008-05-19 22:40 bagder
-
- * docs/examples/hiperfifo.c: change the code style to be more
- curlish, and changed some of the output to be more descriptive
- and finally set VERBOSE mode to 1 by default
-
-2008-05-19 18:57 yangtse
-
- * acinclude.m4, configure.ac: better select() function detection
- that works even when cross compiling a Windows target.
-
-2008-05-19 14:31 yangtse
-
- * acinclude.m4, ares/acinclude.m4: fix socklen_t equivalent
- detection when cross compiling Windows target
-
-2008-05-19 04:50 yangtse
-
- * ares/configure.ac, configure.ac: if WINSOCK2 API is used link
- with 'ws2_32', else
-
- if WINSOCK API is used under WinCE link with 'winsock', else
-
- if WINSOCK API is used link with 'wsock32'.
-
-2008-05-18 22:13 yangtse
-
- * configure.ac, ares/configure.ac: on winsock systems linking is
- done using library 'ws2_32' when winsock2.h is available, and
- library 'winsock' is used when only winsock.h is available.
-
-2008-05-17 03:20 yangtse
-
- * acinclude.m4, configure.ac, ares/configure.ac: minor change for
- wince-cegcc and wince-mingw32ce support
-
-2008-05-16 23:14 bagder
-
- * docs/examples/hiperfifo.c: removed lots of warnings
-
-2008-05-16 00:57 yangtse
-
- * ares/: ares_process.c, ares_timeout.c: millisecond resolution
- support followup
-
-2008-05-16 00:31 danf
-
- * docs/examples/anyauthput.c: Included stdint.h to get the intptr_t
- type (needed on OpenBSD at least).
-
-2008-05-16 00:02 bagder
-
- * TODO-RELEASE: ten days with no further response or feedback,
- removing: 136 - adding easy handles when using curl_multi_socket*
- by Markus Koetter
-
-2008-05-15 22:47 giva
-
- * ares/Makefile.dj: Replaced "-DHAVE_FIONBIO" with
- "-DHAVE_IOCTLSOCKET". Added "-DHAVE_GETTIMEOFDAY". Trimmed
- lines.
-
-2008-05-15 12:04 yangtse
-
- * ares/RELEASE-NOTES: sync with reality
-
-2008-05-15 11:18 yangtse
-
- * ares/Makefile.am: remove compilation time generated files
-
-2008-05-15 02:00 yangtse
-
- * ares/ares_init.c: use same time source for timeout initialization
- and processing
-
-2008-05-15 01:38 danf
-
- * packages/Symbian/: readme.txt, group/curl.mmp: Reduced the
- required stack size.
-
-2008-05-15 01:36 danf
-
- * lib/: config-symbian.h, memdebug.c: Move the CURLDEBUG check
- after setup.h so it can be set there if necessary.
-
-2008-05-14 21:42 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Improve toolchain detection for
- WinCE cross compilation:
-
- When cross compiling WinCE with the arm-wince-cegcc-gcc C
- compiler symbol __CEGCC__ is defined and the unix-like
- compatibility layer is used. For our purposes this is not a
- native Windows build.
-
- When cross compiling WinCE with the arm-wince-mingw32ce-gcc C
- compiler symbol __MINGW32CE__ is defined and the unix-like
- compatibility layer is not used. For our purposes this _is_ a
- native Windows build.
-
-2008-05-14 18:17 yangtse
-
- * configure.ac: remove duplicate check
-
-2008-05-14 18:14 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- skip checks for Windows specific header files when build target
- is not a native Windows one
-
-2008-05-14 15:54 yangtse
-
- * acinclude.m4, ares/acinclude.m4: WinCE cross compilation
- adjustments:
-
- HAVE_WINSOCK2_H shall not be defined. HAVE_WS2TCPIP_H shall not
- be defined.
-
-2008-05-13 23:43 bagder
-
- * tests/libtest/lib556.c: wait for all 129 bytes
-
-2008-05-13 23:42 bagder
-
- * CHANGES, tests/data/Makefile.am, tests/data/test556,
- tests/libtest/Makefile.am, tests/libtest/lib556.c: Added test
- case 556 that uses curl_easy_send() and curl_easy_recv()
-
-2008-05-13 23:12 bagder
-
- * TODO-RELEASE: Three out of the four issues are now extinct.
-
-2008-05-13 22:48 bagder
-
- * ares/: CHANGES, ares.h, ares_init.3, ares_init.c, ares_private.h,
- ares_process.c, ares_send.c, ares_timeout.c: - Introducing
- millisecond resolution support for the timeout option. See
- ares_init_options()'s ARES_OPT_TIMEOUTMS.
-
-2008-05-13 20:27 yangtse
-
- * ares/vc/.cvsignore: also ignore this
-
-2008-05-13 19:50 danf
-
- * packages/Symbian/: readme.txt, bwins/libcurlu.def,
- eabi/libcurlu.def, group/bld.inf, group/curl.mmp,
- group/libcurl.mmp: Added curl_easy_recv & curl_easy_send Symbian
- exports. Cleaned up Symbian files.
-
-2008-05-13 19:23 yangtse
-
- * ares/vc/: acountry/.cvsignore, adig/.cvsignore, ahost/.cvsignore,
- areslib/.cvsignore: also ignore this
-
-2008-05-13 19:11 yangtse
-
- * ares/vc/: acountry/.cvsignore, adig/.cvsignore, ahost/.cvsignore,
- areslib/.cvsignore: ignore this compilation time generated files
-
-2008-05-13 19:03 yangtse
-
- * ares/vc/: adig/adig.dep, ahost/ahost.dep, areslib/areslib.dep:
- don't keep in CVS this compilation time generated file
-
-2008-05-13 17:37 yangtse
-
- * ares/Makefile.am: add MSVC6 project for acountry sample program
-
-2008-05-13 17:34 yangtse
-
- * ares/vc/: adig/adig.dsp, ahost/ahost.dsp, areslib/areslib.dsp:
- update MSVC6 projects to use the multithreaded DLL runtime
- library
-
-2008-05-13 17:31 yangtse
-
- * ares/vc/: acountry/acountry.dsp, vc.dsw: add MSVC6 project for
- acountry sample program
-
-2008-05-12 23:43 bagder
-
- * CHANGES, RELEASE-NOTES, docs/examples/Makefile.inc,
- docs/examples/sendrecv.c, docs/libcurl/Makefile.am,
- docs/libcurl/curl_easy_recv.3, docs/libcurl/curl_easy_send.3,
- docs/libcurl/index.html, docs/libcurl/libcurl-errors.3,
- include/curl/curl.h, include/curl/easy.h, lib/connect.c,
- lib/connect.h, lib/easy.c, lib/getinfo.c, lib/strerror.c: -
- Introducing curl_easy_send() and curl_easy_recv(). They can be
- used to send and receive data over a connection previously
- setup with curl_easy_perform() and its CURLOPT_CONNECT_ONLY
- option. The sendrecv.c example was added to show how they can
- be used.
-
-2008-05-12 17:02 yangtse
-
- * ares/configure.ac: skip libtool C++ preprocessor compiler and
- linker checks
-
-2008-05-12 14:22 yangtse
-
- * ares/.cvsignore: ignore libcares.pc
-
-2008-05-12 04:04 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4,
- ares/ares__timeval.c, ares/configure.ac, lib/timeval.c,
- src/curlutil.c, tests/libtest/testutil.c: configure script will
- now define HAVE_CLOCK_GETTIME_MONOTONIC symbol only when function
- clock_gettime() is available and the monotonic timer is also
- available. Otherwise, in some cases, librt or libposix4 could be
- used for linking even when finally not using the clock_gettime()
- function due to lack of the monotonic clock.
-
-2008-05-11 01:50 yangtse
-
- * ares/ares__timeval.c, lib/timeval.c, src/curlutil.c,
- tests/libtest/testutil.c: fix syntax error: missing semicolon
-
-2008-05-10 17:46 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- Add library checking for clock_gettime() support
-
-2008-05-09 18:31 yangtse
-
- * CHANGES, RELEASE-NOTES, configure.ac, docs/INSTALL.devcpp,
- docs/examples/Makefile.m32, lib/Makefile.Watcom,
- lib/Makefile.m32, lib/Makefile.vc6, lib/config-win32ce.h,
- lib/msvcproj.head, lib/select.c, lib/timeval.c,
- src/Makefile.Watcom, src/Makefile.m32, src/Makefile.vc6,
- src/curlutil.c, tests/libtest/testutil.c: Internal time
- differences now use monotonic time source if available. This
- also implies the removal of the winmm.lib dependency for WIN32.
-
-2008-05-09 18:30 yangtse
-
- * ares/: ares__timeval.c, CHANGES, Makefile.inc, Makefile.vc6,
- RELEASE-NOTES, ares_private.h, configure.ac, nameser.h,
- windows_port.c, vc/areslib/areslib.dsp: Use monotonic time source
- if available.
-
-2008-05-09 15:10 bagder
-
- * ares/configure.ac: Removed AC_PROG_CC_STDC again. It enforces
- C99/gnu99 stdandard which is too liberal for me. Also, autoconf
- 2.61 and earlier doesn't work with icc 10.1 for this macro. (2.62
- confirmed to work though). See discusson on the mailing list
- starting here:
-
- http://daniel.haxx.se/projects/c-ares/mail/c-ares-archive-2008-05/0001.shtml
-
-2008-05-09 14:59 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: - Stefan Krause reported a
- busy-looping case when using the multi interface and doing
- CONNECT to a proxy. The app would then busy-loop until the proxy
- completed its response.
-
-2008-05-09 14:53 bagder
-
- * lib/transfer.c: Removed an unused variable and one do-while loop
- that wasn't used either. Added a few comments while at it.
-
-2008-05-09 13:27 mmarek
-
- * CHANGES, lib/krb4.c, lib/krb4.h, lib/krb5.c, lib/security.c,
- lib/sendf.c, lib/sendf.h, lib/ssh.c, lib/ssh.h, lib/sslgen.c,
- lib/sslgen.h, lib/ssluse.c, lib/ssluse.h: - Make Curl_write and
- it's callees accept a const pointer, in preparation of
- tetetest's patch for curl_easy_send()
-
-2008-05-09 00:14 bagder
-
- * ares/: acountry.c, adig.c, ahost.c: include strings.h (if
- available) for the strcasecmp() proto
-
-2008-05-09 00:11 bagder
-
- * ares/: ares_gethostbyname.c, ares_parse_a_reply.c,
- ares_parse_aaaa_reply.c, ares_parse_ptr_reply.c, ares_process.c,
- configure.ac: check for strings.h in configure and use it for the
- strcasecmp() proto
-
-2008-05-08 07:45 yangtse
-
- * lib/splay.c: fix compiler warning: format '%ld' expects type
- 'long int'
-
-2008-05-07 23:27 bagder
-
- * ares/maketgz: adjusted to work with the updated configure.ac
-
-2008-05-07 23:20 bagder
-
- * ares/: CHANGES, ares_parse_ptr_reply.c: - Sebastian made c-ares
- able to return all PTR-records when doing reverse lookups. It
- is not common practice to have multiple PTR-Records for a single
- IP, but its perfectly legal and some sites have those.
-
-2008-05-07 23:16 bagder
-
- * ares/: CHANGES, configure.ac: - Doug Goldstein provided a
- configure patch: updates autoconf 2.13 usage to autoconf 2.57
- usage (which is the version you have specified as the minimum
- version). It's a minor change but it does clean up some warnings
- with newer autoconf (specifically 2.62).
-
-2008-05-07 23:11 bagder
-
- * TODO-RELEASE: -135 - Busy looping bug in multi_socket interface
- by - Christopher Palow
-
-2008-05-07 23:02 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: - Liam Healy filed the debian
- bug report #480044
- (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480044)
- identifying a segfault when using krb5 ftp, but the krb4 code
- had the same problem.
-
-2008-05-07 17:41 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/multi.c, lib/splay.c, lib/splay.h:
- Christopher Palow provided the patch (edited by me) that
- introduces the use of microsecond resolution keys for internal
- splay trees.
-
- http://curl.haxx.se/mail/lib-2008-04/0513.html
-
-2008-05-06 06:37 yangtse
-
- * lib/transfer.c: fix compiler warning: enumerated type mixed with
- another type
-
-2008-05-06 00:27 bagder
-
- * TODO-RELEASE: mention four outstanding issues we should deal with
- before release
-
-2008-05-05 19:48 yangtse
-
- * ares/: CHANGES, RELEASE-NOTES, ares_init.c: Improved parsing of
- resolver configuration files
-
-2008-05-04 00:04 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac: - Yuriy Sosov pointed out a
- configure fix for detecting c-ares when that is built
- debug-enabled.
-
-2008-05-03 23:49 bagder
-
- * lib/transfer.c: minor spell and language fix of a comment
-
-2008-05-03 23:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c, tests/data/Makefile.am,
- tests/data/test1030: - Ben Van Hof filed bug report #1945240:
- "libcurl sometimes sends body twice when using CURL_AUTH_ANY"
- (http://curl.haxx.se/bug/view.cgi?id=1945240). The problem was
- that when libcurl rewound a stream meant for upload when it
- would prepare for a second request, it could accidentally
- continue the sending of the rewound data on the first request
- instead of on the second. Ben also provided test case 1030
- that verifies this fix.
-
-2008-05-03 23:44 bagder
-
- * lib/http.c: Added comments, check Curl_http_auth_act()'s return
- code and added a check that closes the connection somewhat faster
- when perhapsrewind() has marked the connection for closure.
-
-2008-05-03 15:43 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c: - Jean-Francois Bertrand
- reported a libcurl crash with CURLOPT_TCP_NODELAY since libcurl
- used getprotobyname() and that isn't thread-safe. We now
- switched to use IPPROTO_TCP unconditionally, but perhaps the
- proper fix is to detect the thread-safe version of the function
- and use that. http://curl.haxx.se/mail/lib-2008-05/0011.html
-
-2008-05-01 23:34 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/connect.c: - Bart
- Whiteley provided a patch that made libcurl work properly when an
- app uses the CURLOPT_OPENSOCKETFUNCTION callback to create a
- unix domain socket to a http server.
-
-2008-05-01 22:58 bagder
-
- * docs/KNOWN_BUGS: 53. SFTP busy-loop problem when doing SFTP
- uploads.
-
-2008-05-01 19:48 danf
-
- * tests/: FILEFORMAT, data/test1028: Document that variable
- replacement now takes place in the test file <stdout> section.
-
-2008-05-01 12:52 bagder
-
- * tests/data/test1029: use variables to support other IPs and port
- numbers
-
-2008-05-01 12:51 bagder
-
- * tests/runtests.pl: do variable replacement in the stdout data
- read from the test case
-
-2008-05-01 02:20 danf
-
- * tests/data/test1029: Added precheck for hard-coded test server
- address and port
-
-2008-05-01 02:18 danf
-
- * tests/data/test555: Made file XML compatible
-
-2008-04-30 23:32 bagder
-
- * docs/INSTALL: Christian Vogt told us about OS21 in
- http://curl.haxx.se/mail/lib-2008-04/0443.html
-
-2008-04-30 23:20 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_getinfo.3, include/curl/curl.h,
- lib/getinfo.c, lib/multi.c, lib/transfer.c, lib/transfer.h,
- lib/url.c, lib/urldata.h, src/writeout.c, tests/data/Makefile.am,
- tests/data/test1029: - To make it easier for applications that
- want lots of magic stuff done on redirections and thus cannot
- use CURLOPT_FOLLOWLOCATION easily, we now introduce the new
- CURLINFO_REDIRECT_URL option that lets applications extract the
- URL libcurl would've redirected to if it had been told to. This
- then enables the application to continue to that URL as it thinks
- is suitable, without having to re-implement the magic of
- creating the new URL from the Location: header etc. Test 1029
- verifies it.
-
-2008-04-29 06:28 yangtse
-
- * CHANGES: improved easy interface resolving timeout handling in
- c-ares enabled builds
-
-2008-04-29 06:18 yangtse
-
- * lib/hostares.c: improve easy interface resolving timeout handling
- in c-ares enabled builds
-
-2008-04-29 04:30 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1028: Added test
- 1028 to test an HTTP redirect to a FTP URL.
-
-2008-04-28 23:29 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: - Norbert Frese filed bug
- report #1951588: "Problem with curlftpfs and libcurl"
- (http://curl.haxx.se/bug/view.cgi?id=1951588) which seems to be
- an identical report to what Denis Golovan reported in
- http://curl.haxx.se/mail/lib-2008-02/0108.html The FTP code
- didn't reset the user/password pointers properly even though
- there might've been a new struct/cconnection getting used.
-
-2008-04-27 00:02 bagder
-
- * CHANGES: mention the automake problems and solution even though
- it doesn't strictly caused any change in curl-related files
-
-2008-04-26 00:49 danf
-
- * packages/: Symbian/readme.txt, Symbian/group/curl.iby,
- Symbian/group/curl.mmp, Symbian/group/curl.pkg,
- Symbian/group/libcurl.iby, Symbian/group/libcurl.mmp,
- Symbian/group/libcurl.pkg, Makefile.am: Updated Symbian UIDs.
- Added .pkg files for creating .sis packages.
-
-2008-04-25 13:01 yangtse
-
- * tests/libtest/: Makefile.am, delay.pl: tests/libtest/delay.pl no
- longer used. The 'delay' attribute of the test harness <command>
- subsection now provides this functionality.
-
-2008-04-25 06:19 yangtse
-
- * CHANGES, tests/FILEFORMAT, tests/runtests.pl, tests/data/test190:
- Add 'timeout' and 'delay' attributes support for the test harness
- <command> subsection
-
-2008-04-25 02:41 danf
-
- * CHANGES, src/main.c: Made --stderr able to redirect all stderr
- messages.
-
-2008-04-25 01:24 danf
-
- * packages/Symbian/: readme.txt, group/curl.mmp, group/libcurl.mmp:
- Reduced the requested Symbian capabilities. Correctly noted what
- happens to stderr.
-
-2008-04-24 01:58 yangtse
-
- * tests/data/test1001: <postcheck> delay no longer needed for this
- test.
-
- http://curl.haxx.se/mail/lib-2008-04/0392.html
-
-2008-04-24 01:55 yangtse
-
- * tests/: ftp.pm, ftpserver.pl, runtests.pl, server/sws.c,
- server/tftpd.c, server/util.c, server/util.h: improve
- synchronization between test harness runtests.pl script and test
- harness servers to minimize risk of false test failures.
-
- http://curl.haxx.se/mail/lib-2008-04/0392.html
-
-2008-04-23 20:29 danf
-
- * lib/config-symbian.h: Symbian OS is a.k.a. EPOC32
-
-2008-04-23 20:14 danf
-
- * docs/INSTALL: Mention that P.I.P.S. is needed for Symbian.
-
-2008-04-23 07:14 danf
-
- * packages/Makefile.am: List extra files individually instead of by
- directory to avoid including CVS directories.
-
-2008-04-23 00:53 danf
-
- * CHANGES, RELEASE-NOTES, docs/INSTALL, include/curl/curl.h,
- lib/Makefile.am, lib/config-symbian.h, lib/connect.c, lib/easy.c,
- lib/file.c, lib/ftp.c, lib/if2ip.c, lib/setup.h, lib/url.c,
- packages/Makefile.am, packages/Symbian/readme.txt,
- packages/Symbian/bwins/libcurlu.def,
- packages/Symbian/eabi/libcurlu.def,
- packages/Symbian/group/bld.inf, packages/Symbian/group/curl.iby,
- packages/Symbian/group/curl.mmp,
- packages/Symbian/group/libcurl.iby,
- packages/Symbian/group/libcurl.mmp, src/getpass.c, src/main.c,
- src/setup.h: Added support for running on Symbian OS.
-
-2008-04-22 15:07 yangtse
-
- * tests/server/sws.c: fix minor memory leak triggered upon test
- failure
-
-2008-04-22 14:40 yangtse
-
- * configure.ac, lib/config-win32.h, lib/config-win32ce.h,
- src/config-win32.h, tests/data/test1001, tests/server/sws.c:
- Remove fflush() + fsync() previously introduced accelerated
- writing of server input and response request files of the test
- harness sws server.
-
- Reintroduce, for test # 1001, the <postcheck> small delay. The
- delay is needed even with the accelerated writing of server input
- and response request files in test harness sws server.
-
- http://curl.haxx.se/mail/lib-2008-04/0385.html
-
-2008-04-22 02:23 yangtse
-
- * tests/data/test1001: Remove previously introduced small delay to
- verify if it can be avoided with the accelerated writing of
- server input and response request files in test harness sws
- server.
-
-2008-04-22 01:17 danf
-
- * src/mkhelp.pl: Allocate the decompression buffer for the --manual
- option on the heap instead of the stack.
-
-2008-04-22 01:16 danf
-
- * src/main.c: Fixed typo in log message
-
-2008-04-21 23:44 bagder
-
- * docs/BINDINGS: added Haskell binding, unified the formatting
- somewhat
-
-2008-04-21 21:17 yangtse
-
- * lib/config-win32.h, lib/config-win32ce.h, src/config-win32.h:
- HAVE_FFLUSH and HAVE_FSYNC symbol definitions for WIN32 systems
-
-2008-04-21 19:19 danf
-
- * tests/runtests.pl: Ignore the result of the postcheck command in
- torture mode
-
-2008-04-21 18:57 danf
-
- * tests/data/test1026: Make the test work with nroffs that use
- special escaping for bold output.
-
-2008-04-20 21:15 yangtse
-
- * configure.ac, tests/server/sws.c: accelerate the writing of
- server input and response request files to disk, trying to defeat
- file and disk write-behind algorithms
-
-2008-04-19 00:31 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1026,
- tests/data/test1027: Added test cases 1026 and 1027 to do some
- rudimentary tests on the --manual and --help options.
-
-2008-04-18 19:25 yangtse
-
- * tests/libtest/Makefile.am: test 1001 needs a small delay between
- client part execution and test result file verifications to allow
- the test server to completely write out all files
-
-2008-04-18 19:17 yangtse
-
- * tests/: data/test1001, libtest/delay.pl: test 1001 needs a small
- delay between client part execution and test result file
- verifications to allow the test server to completely write out
- all files
-
-2008-04-17 13:59 yangtse
-
- * tests/libtest/lib555.c: fix compiler warning: enumerated type
- mixed with another type
-
-2008-04-17 02:45 danf
-
- * include/curl/curl.h, lib/file.c, lib/ftp.c, lib/http.c,
- src/getpass.c, src/writeout.c, src/writeout.h: Some trivial
- changes
-
-2008-04-16 23:11 bagder
-
- * tests/: data/Makefile.am, data/test555, libtest/Makefile.am,
- libtest/lib555.c: Added test case 555, a variation of 547 but
- using multi interface instead of easy. This was reported not
- working by Penugonda Chenna Reddy in
- http://curl.haxx.se/mail/lib-2008-04/0046.html but I fail to
- repeat that problem.
-
-2008-04-16 16:48 bagder
-
- * TODO-RELEASE: Removed 129 and 130 due to lack of response on
- those issues
-
-2008-04-14 21:01 mmarek
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h: allow disabling the
- typechecker by defining CURL_DISABLE_TYPECHECK, as discussed in
- http://curl.haxx.se/mail/lib-2008-04/0291.html
-
-2008-04-14 17:26 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: - Stefan Krause reported a
- case where the OpenSSL handshake phase wasn't properly
- acknowledging the timeout values, like if you pulled the network
- plug in the midst of it.
-
-2008-04-14 17:22 bagder
-
- * CHANGES, lib/http_negotiate.c: - Andre Guibert de Bruet fixed a
- second case of not checking the malloc() return code in the
- Negotiate code.
-
-2008-04-14 17:20 bagder
-
- * RELEASE-NOTES: mention Sandor as contributor
-
-2008-04-14 17:19 bagder
-
- * CHANGES, lib/Makefile.vc6: - Sandor Feldi reported bug #1942022
- (http://curl.haxx.se/bug/view.cgi?id=1942022) pointing out a
- mistake in the lib/Makefile.vc[68] makefiles' release-ssl-dll
- target.
-
-2008-04-14 16:42 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: - Brock Noland reported that
- curl behaved differently depending on which order you used -i
- and -I.
-
-2008-04-12 13:50 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_negotiate.c: - Andre Guibert de
- Bruet found and fixed a case where malloc() was called but was
- not checked for a NULL return, in the Negotiate code.
-
-2008-04-12 10:35 bagder
-
- * docs/examples/post-callback.c: return 0 not -1 at end of data!
-
-2008-04-10 20:18 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1025: Added test
- case 1025 to test a command-line cookie with Location: following
-
-2008-04-10 11:06 bagder
-
- * docs/libcurl/curl_easy_pause.3: mention what happens to the data
- when a write callback returns pause
-
-2008-04-10 11:03 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify the COOKIE option a bit
-
-2008-04-10 06:21 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1024,
- tests/data/test46: Added test case 1024 to test a scenario
- similar to the one reported by Ben Combee where libcurl would
- send the wrong cookie to a redirected server. libcurl was doing
- the right thing in this test case.
-
-2008-04-09 13:27 bagder
-
- * docs/libcurl/: curl_easy_escape.3, curl_easy_unescape.3: "tag"
- the function referals properly
-
-2008-04-07 21:12 yangtse
-
- * ares/adig.c: make previous compiler warning fix more portable
-
-2008-04-07 17:40 yangtse
-
- * tests/libtest/lib554.c: fix compiler warning: argument is
- incompatible with corresponding format string conversion
-
-2008-04-07 16:37 yangtse
-
- * ares/adig.c: fix compiler warning: indirection to slightly
- different base types
-
-2008-04-07 16:20 yangtse
-
- * ares/ares_gethostbyname.c: fix compiler warning: local variable
- may be used without having been initialized
-
-2008-04-07 15:09 patrickm
-
- * lib/qssl.c, packages/OS400/ccsidcurl.c,
- packages/OS400/curl.inc.in, packages/OS400/initscript.sh: Adapt
- OS400 SSL (qssl.h) to V5R4 Fix qssl.c wrong error message Upgrade
- OS400 wrappers and makefiles to 7.18.1
-
-2008-04-07 14:44 yangtse
-
- * ares/adig.c: fix compiler warning: unreferenced formal parameter
-
-2008-04-07 14:40 yangtse
-
- * ares/ares_getopt.c: fix compiler warning: assignment within
- conditional expression
-
-2008-04-07 11:26 mmarek
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/http_negotiate.c,
- lib/krb5.c: - Fix the MIT / Heimdal check for good: Define
- HAVE_GSSMIT if <gssapi/{gssapi.h,gssapi_generic.h,gssapi_krb5.h}>
- are available, otherwise define HAVE_GSSHEIMDAL if <gssapi.h>
- is available.
-
- Only define GSS_C_NT_HOSTBASED_SERVICE to gss_nt_service_name
- if
- GSS_C_NT_HOSTBASED_SERVICE isn't declared by the gssapi
- headers. This should
- avoid breakage in case we wrongly recognize Heimdal as MIT
- again.
-
-2008-04-05 23:13 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c: - Alexey Simak fixed
- curl_easy_reset() to reset the max redirect limit properly
-
-2008-04-05 23:13 bagder
-
- * lib/: url.c, url.h: provide CURL_DEFAULT_PROXY_PORT set to 1080
- for the default port libcurl assumes proxies to use
-
-2008-04-05 23:02 bagder
-
- * CHANGES, lib/ftp.c: - Based on the Debian bug report #474224 that
- complained about the FTP error message when libcurl doesn't get
- a 220 back immediately on connect, I now changed it to be more
- specific on what the problem is. Also worth noticing: while the
- bug report contains an example where the response is:
-
- 421 There are too many connected users, please try again
- later
-
- we cannot assume that the error message will always be this
- readable nor
- that it fits within a particular boundary etc.
-
-2008-04-04 22:26 bagder
-
- * ares/: CHANGES, vc/areslib/areslib.dsp: - Alexey Simak fixed the
- VC dsp file by adding the missing source file
- ares_expand_string.c
-
-2008-04-04 22:24 bagder
-
- * ares/: CHANGES, adig.c: Alexey Simak made adig support NAPTR
- records
-
-2008-04-04 22:05 bagder
-
- * ares/: CHANGES, ares_init.c: Eino Tuominen improved the code when
- a file is used to seed the randomizer
-
-2008-04-04 20:45 danf
-
- * docs/examples/fopen.c: Give a hint as to why a url_fopen failed.
-
-2008-04-04 16:47 yangtse
-
- * tests/sshserver.pl: SunSSH sshd ignores UsePrivilegeSeparation
- option
-
-2008-04-04 16:08 yangtse
-
- * tests/sshserver.pl: SunSSH 1.2 options sync
-
-2008-04-04 13:39 bagder
-
- * tests/data/Makefile.am: oops, forgot to add test554
-
-2008-04-04 04:06 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test627: Added
- test627 to test SFTP with CURLOPT_NOBODY
-
-2008-04-03 23:44 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/url.c: - Setting
- CURLOPT_NOBODY to FALSE will now switch the HTTP request method
- to GET simply because previously when you set CURLOPT_NOBODY to
- TRUE first and then FALSE you'd end up in a broken state where
- a HTTP request would do a HEAD by still act a lot like for a
- GET and hang waiting for the content etc.
-
-2008-04-03 22:56 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/ssh.c: Scott Barrett
- added support for CURLOPT_NOBODY over SFTP
-
-2008-04-03 22:28 danf
-
- * CHANGES, docs/examples/multithread.c,
- docs/examples/smooth-gtk-thread.c, docs/examples/threaded-ssl.c,
- docs/examples/curlgtk.c: Made sure that curl_global_init is
- called in all the multithreaded example programs.
-
-2008-04-02 05:11 gknauf
-
- * docs/examples/Makefile.m32: removed unused var.
-
-2008-04-02 05:08 gknauf
-
- * src/Makefile.netware: removed double dependency.
-
-2008-04-01 23:49 bagder
-
- * TODO-RELEASE: 128 - Phil Blundell's ares and ipv6 fix (feedback
- lacking) removed
-
- 133 - Setting CURLOPT_NOBODY to "false" causes cURL to wait for
- content if a content-length header is read added
-
-2008-04-01 15:54 bagder
-
- * docs/THANKS: Eetu contributed back in 2000...
-
-2008-03-31 22:32 bagder
-
- * TODO-RELEASE: 132 - Xponaut's CURLFORM_STREAM option to
- curl_formadd() done
-
-2008-03-31 14:51 gknauf
-
- * lib/Makefile.netware: moved CURL_CA_BUNDLE define to generated
- config.h.
-
-2008-03-31 14:09 mmarek
-
- * CHANGES, acinclude.m4, buildconf.bat, configure.ac,
- lib/.cvsignore, lib/Makefile.Watcom, lib/Makefile.am,
- lib/Makefile.inc, lib/Makefile.m32, lib/Makefile.netware,
- lib/easy.c, lib/url.c, packages/OS400/make-lib.sh: Removed the
- generated ca-bundle.h file. The verbatim value of $ca and $capath
- is known to configure, so it can be defined in config.h instead.
-
-2008-03-31 12:16 bagder
-
- * lib/http.c: expanded a comment around some of the new formpost
- callback usage
-
-2008-03-31 12:02 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_formadd.3,
- include/curl/curl.h, lib/formdata.c, lib/formdata.h, lib/http.c,
- tests/data/test554, tests/libtest/Makefile.am,
- tests/libtest/lib554.c: - Added CURLFORM_STREAM as a supported
- option to curl_formadd() to allow an application to provide
- data for a multipart with the read callback. Note that the size
- needs to be provided with CURLFORM_CONTENTSLENGTH when the
- stream option is used. This feature is verified by the new test
- case 554. This feature was sponsored by Xponaut.
-
-2008-03-31 05:01 danf
-
- * CHANGES, Makefile.am, docs/INSTALL, docs/examples/Makefile.am,
- docs/examples/Makefile.inc, docs/examples/Makefile.m32: Changed
- the makefile so the doc/examples/ programs are never built in a
- normal build/install (only with the 'make check' target), so that
- a build failure in the examples isn't fatal.
-
-2008-03-30 11:30 bagder
-
- * docs/THANKS: added people from the 7.18.1 release announcement
-
-2008-03-30 11:22 bagder
-
- * RELEASE-NOTES: back to a blank for 7.18.2
-
-2008-03-30 11:22 bagder
-
- * include/curl/curlver.h: start working on 7.18.2
-
-2008-03-30 11:11 bagder
-
- * CHANGES: 7.18.1
-
-2008-03-30 11:08 bagder
-
- * TODO-RELEASE: 132 - Xponaut's CURLFORM_STREAM option to
- curl_formadd()
-
-2008-03-30 11:07 bagder
-
- * TODO-RELEASE: I'm officially pushing the two remaining issues to
- the next release instead, since they're still not clear enough to
- be to sort about before 7.18.1
-
-2008-03-28 19:19 danf
-
- * tests/libtest/test1022.pl: Made the test work on perl 5.00
-
-2008-03-28 00:13 bagder
-
- * CHANGES, RELEASE-NOTES: - Stephen Collyer pointed out that
- configure --with-libssh2 without a given path didn't work
- properly but now it does!
-
-2008-03-28 00:10 bagder
-
- * configure.ac: fix --with-libssh2 when given without path
-
-2008-03-27 14:07 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/http.c: - As found out
- and reported by Dan Petitt, libcurl didn't show progress/call
- the progress callback for the first (potentially huge) piece of
- body data sent together with the POST request headers in the
- initial send().
-
-2008-03-25 20:23 bagder
-
- * RELEASE-NOTES: spell!
-
-2008-03-25 20:19 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Made setting the
- CURLOPT_SSL_CTX_FUNCTION option return a failure in case
- libcurl wasn't built to use OpenSSL as that is a prerequisite for
- this option to function!
-
-2008-03-25 20:17 bagder
-
- * docs/libcurl/curl_easy_setopt.3: spell it out loudly and clearly
- that CURLOPT_SSL_CTX_FUNCTION is only functional if libcurl is
- built against OpenSSL
-
-2008-03-22 23:00 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/transfer.c,
- tests/data/DISABLED: - Fixed the problem with doing a zero byte
- SCP transfer, verified with test case 617 (which was added by
- Daniel Fandrich 5 Mar 2008).
-
-2008-03-21 12:53 bagder
-
- * TODO-RELEASE: roadmap ahead
-
-2008-03-20 21:16 danf
-
- * RELEASE-NOTES: Jes reported the curl-config bug
-
-2008-03-20 21:08 danf
-
- * CHANGES, RELEASE-NOTES, configure.ac: Fixed a problem where
- curl-config --protocols could erroneously show LDAPS support when
- curl didn't even have regular LDAP support. It looks like this
- could happen when the --enable-ldaps configure switch is given
- but configure couldn't find the LDAP headers or libraries.
-
-2008-03-20 17:10 gknauf
-
- * tests/testcurl.pl: added --extvercmd parameter which can be used
- to specify an external command to display 'curl --version', f.e.
- with MinW32 crosscompile --extvercmd=/usr/bin/wine can be used.
-
-2008-03-20 09:09 mmarek
-
- * CHANGES, RELEASE-NOTES, acinclude.m4, configure.ac,
- lib/Makefile.am, lib/easy.c, lib/url.c: - Added
- --with-ca-path=DIRECTORY configure option to use an openSSL
- CApath by default instead of a ca bundle. The configure script
- will also look for a ca path if no ca bundle is found and no
- option given.
-
- - Fixed detection of previously installed curl-ca-bundle.crt
-
-2008-03-18 23:59 danf
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c, tests/data/DISABLED,
- tests/data/test626: Fixed an infinite loop when given an invalid
- SFTP quote command.
-
-2008-03-18 18:05 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test626: Added test 626 to reproduce an infinite loop
- when given an invalid SFTP quote command reported by Vincent Le
- Normand, but left it disabled.
-
-2008-03-18 09:14 mmarek
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h,
- include/curl/typecheck-gcc.h, lib/easy.c, lib/multi.c,
- lib/share.c: - Added curl_easy_getinfo typechecker.
-
- - Added macros for curl_share_setopt and curl_multi_setopt to
- check at least the correct number of arguments.
-
-2008-03-17 15:22 mmarek
-
- * include/curl/typecheck-gcc.h: Mark the statement expr with
- __extension__ so that gcc -pedantic doesn't emit any
- hard-to-grasp warnings in curl_easy_setopt() calls in
- applications. Also delete superfluous semicolons.
-
-2008-03-15 02:03 danf
-
- * tests/libtest/test610.pl: Spell the commands right
-
-2008-03-13 23:51 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test622,
- tests/data/test623, tests/data/test624, tests/data/test625,
- tests/libtest/test610.pl: Added tests 622-625 to test SFTP/SCP
- uploads. Test 625 was an attempt to reproduce the
- --ftp-create-dirs problem reported by Brian Ulm, but that seems
- to need a call curl_easy_reset() which this test case doesn't do.
-
-2008-03-13 22:43 bagder
-
- * CHANGES, RELEASE-NOTES: - Brian Ulm figured out that if you did
- an SFTP upload with CURLOPT_FTP_CREATE_MISSING_DIRS to create a
- directory, and then re-used the handle and uploaded another
- file to another directory that needed to be created, the second
- upload would fail. Another case of a state variable that wasn't
- properly reset between requests.
-
- - I rewrote the 100-continue code to use a single state variable
- instead of the previous two ones. I think it made the logic
- somewhat clearer.
-
-2008-03-13 22:43 bagder
-
- * lib/ssh.c: - Brian Ulm figured out that if you did an SFTP upload
- with CURLOPT_FTP_CREATE_MISSING_DIRS to create a directory, and
- then re-used the handle and uploaded another file to another
- directory that needed to be created, the second upload would
- fail. Another case of a state variable that wasn't properly
- reset between requests.
-
-2008-03-13 21:56 bagder
-
- * lib/: transfer.c, urldata.h: Change the confusing two variables
- for the expect 100 continue stuff into a single state variable to
- make the code easier to follow and understand.
-
-2008-03-13 21:49 danf
-
- * docs/curl.1: --ftp-create-dirs works on SFTP as well
-
-2008-03-13 13:36 bagder
-
- * docs/examples/post-callback.c: fix code that is normally
- #ifdef'ed out
-
-2008-03-12 14:14 bagder
-
- * TODO-RELEASE: Done: 125 - Michal Marek's typechecker-gcc work
-
-2008-03-11 23:58 bagder
-
- * tests/data/test506: updated according to the name resolve race
- condition fix just committed
-
-2008-03-11 23:55 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostip.c: - Dmitry Popov filed bug
- report #1911069 (http://curl.haxx.se/bug/view.cgi?id=1911069)
- that identified a race condition in the name resolver code when
- the DNS cache is shared between multiple easy handles, each
- running in simultaneous threads that could cause crashes.
-
-2008-03-11 14:14 bagder
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h: - Added a macro for
- curl_easy_setopt() that accepts three arguments and simply does
- nothing with them, just to make sure libcurl users always use
- three arguments to this function. Due to its use of ... for the
- third argument, it is otherwise hard to detect abuse.
-
-2008-03-11 13:18 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Recommend passing a 1 as
- parameter to CURLOPT_SSLENGINE_DEFAULT rather than a "dummy" just
- to get things as fixed as possible in case we ever get the urge
- to change this to actually mean something.
-
-2008-03-11 08:37 mmarek
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/Makefile.am, include/curl/curl.h,
- include/curl/typecheck-gcc.h, lib/easy.c: - Added a type checking
- macro for curl_easy_setopt(), needs gcc-4.3 and only works in C
- mode atm (http://curl.haxx.se/mail/lib-2008-02/0267.html ,
- http://curl.haxx.se/mail/lib-2008-02/0292.html )
-
-2008-03-10 20:40 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test618,
- tests/data/test619, tests/data/test620, tests/data/test621: Added
- tests 618-621 to test SFTP/SCP transfers of more than one file
- (test 620 tests the just-fixed problem reported by Brian Ulm).
-
-2008-03-10 15:32 mmarek
-
- * tests/README: fixed typo
-
-2008-03-10 10:56 mmarek
-
- * configure.ac: (try to) use LIBS for libraries (-l) and LDFLAGS
- for paths (-L) in the gssapi check. Cleans up curl-config --libs
- output when REQUIRE_LIB_DEPS=no
-
-2008-03-09 12:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: - Brian Ulm reported a crash
- when doing a second SFTP transfer on a re-used easy handle if
- curl_easy_reset() was used between them. I fixed it and Brian
- verified that it cured his problem.
-
- - Brian Ulm reported that if you first tried to download a
- non-existing SFTP file and then fetched an existing one and
- re-used the handle, libcurl would still report the second one
- as non-existing as well! I fixed it abd Brian verified that it
- cured his problem.
-
-2008-03-08 23:19 bagder
-
- * TODO-RELEASE: Done: 123 - Mike Protts' SFTP resume download
-
-2008-03-07 03:49 yangtse
-
- * lib/config-win32.h, lib/config-win32ce.h, src/config-win32.h:
- VS2005 and later dafault size for time_t is 64-bit, unless
- _USE_32BIT_TIME_T has been defined to get a 32-bit time_t
-
-2008-03-06 18:22 mmarek
-
- * CHANGES, RELEASE-NOTES, configure.ac: Fix the gssapi configure
- check to detect newer MIT Kerberos (patch by Michael Calmer)
-
-2008-03-06 13:43 bagder
-
- * docs/libcurl/curl_multi_socket.3: spellchecked
-
-2008-03-06 13:37 bagder
-
- * docs/libcurl/curl_multi_socket.3: curl_multi_timeout() is really
- not recommended with curl_multi_socket()-based usage
-
-2008-03-06 04:48 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/select.c: Regression fix:
-
- select/poll calls will only be retried upon EINTR failures as it
- previously was in lib/select.c revision 1.29
-
- In this way Curl_socket_ready() and Curl_poll() will again fail
- on any select/poll errors different than EINTR.
-
-2008-03-06 02:15 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test616, tests/data/test617: Added tests 616 and 617
- to see how SFTP and SCP cope with zero-length files, as
- questioned by Mike Protts. SFTP does for me but SCP doesn't so
- test 617 is disabled for now.
-
-2008-03-06 02:11 danf
-
- * tests/: FILEFORMAT, runtests.pl: Fixed the test harness so it
- will write out zero-length data files.
-
-2008-03-05 19:27 yangtse
-
- * tests/server/sockfilt.c: fix log message used when unable to
- connect to destination port
-
-2008-03-04 12:53 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: Mike Protts brought a patch
- that makes resumed transfers work with SFTP.
-
-2008-03-01 23:32 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/http.c,
- lib/http_negotiate.c: - Anatoli Tubman found and fixed a crash
- with Negotiate authentication used on a re-used connection
- where both requests used Negotiate.
-
-2008-02-29 18:13 yangtse
-
- * ares/configure.ac, configure.ac: Force AIX xlc to fail and not
- generate object code if the source code has compiled with errors.
- This behaviour is needed for autoconf macros which rely on the
- ability to compile with or without errors, and is safer than
- xlc's default of failing only upon severe errors.
-
-2008-02-28 22:25 bagder
-
- * TODO-RELEASE: Removed:
-
- 121 - Kaspar Brand's and Guenter Knauf's work on the TLS
- extension Server Name Indication is now committed
-
- 122 - Progress callback not called during failed socket connect
- with the multi interface, is now simply pending a closure
- since no feedback has been received lately.
-
- Added:
-
- 123 - Mike Protts' SFTP resume download
-
- 124 - Anatoli Tubman's fix for a Negotiate: crash
-
- 125 - Michal Marek's typechecker-gcc work
-
-2008-02-28 12:34 gknauf
-
- * lib/Makefile.vc6, src/Makefile.vc6: fixed commented define for
- SSPI.
-
-2008-02-28 11:15 yangtse
-
- * tests/server/sockfilt.c: signal handling to properly cleanup on
- SIGINT and SIGTERM
-
-2008-02-28 11:13 yangtse
-
- * tests/server/sockfilt.c: when terminating do it falling through
- cleanup code
-
-2008-02-28 10:38 yangtse
-
- * tests/server/: util.c, util.h: avoid inclusion of setup.h in
- util.h
-
-2008-02-28 01:55 yangtse
-
- * tests/server/: getpart.c, resolve.c, sockfilt.c, sws.c,
- testpart.c, tftpd.c, util.c, util.h: header inclusion cleanup
-
-2008-02-27 15:54 yangtse
-
- * tests/server/sockfilt.c: make comment more precise
-
-2008-02-27 10:06 bagder
-
- * docs/examples/10-at-a-time.c, docs/examples/anyauthput.c,
- docs/examples/debug.c, docs/examples/ftpget.c,
- docs/examples/multi-debugcallback.c, tests/libtest/lib506.c,
- tests/libtest/lib552.c: Michal Marek's cleanup of how
- curl_easy_setopt() is used in examples and test code. Thanks to
- his curl_easy_setopt() typechecker work...
-
-2008-02-27 02:51 gknauf
-
- * ares/get_ver.awk: added get_ver.awk since c-ares is a standalone
- project, and should therefore also compile when cURL is absent.
-
-2008-02-27 02:43 gknauf
-
- * ares/Makefile.netware: a couple of small fixes to the makefile:
- fixed comments; fixed INSTDIR define, simplified rules; changed
- to use get_ver.awk in current dir rather than the curl one.
-
-2008-02-27 02:36 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: another small change
- to the makefiles to simplify rules.
-
-2008-02-27 00:06 gknauf
-
- * tests/server/util.c: trial to fix the HP-UX breakage...
-
-2008-02-26 22:42 gknauf
-
- * src/Makefile.netware: added curl.html to install package.
-
-2008-02-26 22:41 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: some more minor
- makefile changes; removed useless dist target.
-
-2008-02-26 22:24 gknauf
-
- * lib/Makefile.netware: fixed install target to create a
- ca-bundle.crt since we have no longer one in the project.
-
-2008-02-26 19:13 yangtse
-
- * tests/server/sockfilt.c: all reads from stdin and writes to
- stdout will be retried until the whole operation completes or an
- unrecoverable condition is detected
-
-2008-02-26 16:06 yangtse
-
- * tests/server/: sockfilt.c, sws.c, tftpd.c, util.c, util.h:
- refactor some code out to write_pidfile() in util.c
-
-2008-02-26 11:30 gknauf
-
- * CHANGES, lib/gtls.c, lib/ssluse.c: Added support for server name
- indication (RFC 4366). Patch submitted by Kaspar Brand.
-
-2008-02-25 08:51 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: - Kaspar Brand made
- GnuTLS-built libcurl properly acknowledge the option that
- forces it to prefer SSLv3.
-
-2008-02-24 00:00 bagder
-
- * docs/examples/threaded-ssl.c: now builds and runs with
- GnuTLS-built libcurls too
-
-2008-02-23 13:27 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: - Sam Listopad provided a
- patch in feature-request #1900014
- http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl
- (built to use OpenSSL) support a full chain of certificates in
- a given PKCS12 certificate.
-
-2008-02-22 23:53 bagder
-
- * CHANGES, RELEASE-NOTES, src/Makefile.vc6: - Georg Lippitsch made
- the src/Makefile.vc6 makefile use the same memory model options
- as the lib/Makefile.vc6 already did.
-
-2008-02-22 10:31 yangtse
-
- * tests/server/sockfilt.c: Revert sockfilt.c back to revision 1.42
-
- Changes introduced in revision 1.43 were useless
-
-2008-02-21 18:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: - Zmey Petroff found a
- crash when libcurl accessed a NULL pointer, which happened if
- you set the connection cache size to 1 and for example failed to
- login to an FTP site. Bug report #1896698
- (http://curl.haxx.se/bug/view.cgi?id=1896698)
-
-2008-02-21 16:02 gknauf
-
- * docs/examples/ftpupload.c: fixed missing header; changed bail out
- from exit() to return(). Mentioned on the list by Michal Marek.
-
-2008-02-21 13:28 bagder
-
- * lib/url.c: assert that the *connp is a non-NULL pointer when
- Curl_done() is called
-
-2008-02-20 18:17 yangtse
-
- * tests/server/sockfilt.c: Avoid timeout restart when signal caught
- while awaiting socket and stdin events
-
-2008-02-20 13:36 gknauf
-
- * docs/examples/ftpupload.c: reformatted comment.
-
-2008-02-20 13:33 gknauf
-
- * docs/examples/ftpupload.c: added read callback function in order
- to prevent crashs on Win32 when linked against DLL:
-
-2008-02-20 13:18 bagder
-
- * CHANGES, RELEASE-NOTES, tests/data/test405: - Fixed test case 405
- to not fail when libcurl is built with GnuTLS
-
-2008-02-20 13:14 bagder
-
- * tests/runtests.pl: made the non-matching error code output nicer
- since we know it is a number and the string contains a newline...
-
-2008-02-20 12:58 gknauf
-
- * CHANGES: mention removal of SSLv2 by default.
-
-2008-02-20 11:01 bagder
-
- * lib/gtls.c: oops, fixed to build
-
-2008-02-20 10:58 bagder
-
- * TODO-RELEASE: "118 - Gautam Kachroo's issue with proxies and ssl"
- is now in CVS
-
-2008-02-20 10:56 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c, lib/nss.c, lib/qssl.c,
- lib/sendf.c, lib/sslgen.c, lib/ssluse.c, lib/url.c,
- lib/urldata.h: - Based on initial work done by Gautam Kachroo to
- address a bug, we now keep better control at the exact state of
- the connection's SSL status so that we know exactly when it has
- completed the SSL negotiation or not so that there won't be
- accidental re-uses of connections that are wrongly believed to be
- in SSL-completed-negotiate state.
-
-2008-02-20 09:28 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c, lib/multi.c, lib/transfer.c,
- lib/url.c, lib/urldata.h, tests/data/Makefile.am,
- tests/data/test509, tests/libtest/Makefile.am,
- tests/libtest/lib509.c: - We no longer support setting the
- CURLOPT_URL option from inside a callback such as the
- CURLOPT_SSL_CTX_FUNCTION one treat that as if it was a Location:
- following. The patch that introduced this feature was done for
- 7.11.0, but this code and functionality has been broken since
- about 7.15.4 (March 2006) with the introduction of non-blocking
- OpenSSL "connects".
-
- It was a hack to begin with and since it doesn't work and
- hasn't worked
- correctly for a long time and nobody has even noticed, I
- consider it a very
- suitable subject for plain removal. And so it was done.
-
-2008-02-20 00:10 gknauf
-
- * docs/libcurl/curl_easy_setopt.3, lib/nss.c, lib/qssl.c,
- lib/ssluse.c: applied patch to disable SSLv2 by default;
- discussion:
- http://sourceforge.net/tracker/index.php?func=detail&aid=1767276&group_id=976&atid=350976
- Submitted by Kaspar Brand.
-
-2008-02-19 22:57 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test309: Added
- test309 to test HTTP redirect to HTTPS URL
-
-2008-02-19 19:51 yangtse
-
- * tests/server/sockfilt.c: juggle() actually returns bool.
-
- Remove redundant and unreachable log message.
-
-2008-02-19 18:25 yangtse
-
- * lib/ssh.c: fix compiler warnings: 'statement is unreachable'
-
-2008-02-19 17:23 gknauf
-
- * docs/examples/ftpupload.c: fix for new codestyle.
-
-2008-02-19 17:13 gknauf
-
- * docs/examples/ftpupload.c: made changes to work with Win32;
- replaced fstat() with stat() call and bail out if local file not
- found.
-
-2008-02-19 16:07 yangtse
-
- * lib/ssh.c: fix compiler warnings: 'enumerated type mixed with
- another type'
-
-2008-02-18 21:13 yangtse
-
- * tests/server/: sockfilt.c, util.c, util.h: Reduce to 20 seconds
- the time allowed to set SO_REUSEADDR option on sockfilt listener
- socket.
-
- Log some more error descriptions.
-
-2008-02-18 20:53 bagder
-
- * lib/http.c: https_getsock() should be static all over (and did
- some fixed indenting)
-
-2008-02-18 17:55 bagder
-
- * TODO-RELEASE: the ca-bundle is now removed
-
-2008-02-18 16:43 gknauf
-
- * docs/examples/Makefile.m32: added makefile for MingW32 to build
- most of the samples.
-
-2008-02-18 16:32 gknauf
-
- * docs/examples/: Makefile.am, Makefile.inc: moved sample program
- defines into separate Makefile.inc so that other makefiles can
- pick up the defines from there.
-
-2008-02-18 16:30 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: added check symbol
- for linking with POSIX prelude.
-
-2008-02-18 14:05 yangtse
-
- * lib/ssh.c: fix compiler warnings:
-
- 'enumerated type mixed with another type'
-
- and
-
- 'variable was set but never used'
-
-2008-02-18 12:40 bagder
-
- * docs/curl.1: just mention in --cacert that curl normally has a
- default ca cert path built-in
-
-2008-02-18 12:39 bagder
-
- * docs/FAQ: the ca-bundle is no longer shipped
-
-2008-02-18 12:35 bagder
-
- * CHANGES, RELEASE-NOTES, acinclude.m4, configure.ac,
- docs/SSLCERTS, lib/Makefile.am, lib/ca-bundle.crt: - We're no
- longer providing a very old ca-bundle in the curl tarball. You
- can get a fresh one downloaded and created with 'make
- ca-bundle' or you can get one from here =>
- http://curl.haxx.se/docs/caextract.html if you want a fresh new
- one extracted from Mozilla's recent list of ca certs.
-
- The configure option --with-ca-bundle now lets you specify what
- file to use
- as default ca bundle for your build. If not specified, the
- configure script
- will check a few known standard places for a global ca cert to
- use.
-
-2008-02-17 14:49 bagder
-
- * CHANGES, RELEASE-NOTES: - Jerome Muffat-Meridol helped me fix
- Curl_done() to close the current connection by force when it
- was called before the entire request is completed, simply
- because we can't know if the connection really can be re-used
- safely at that point.
-
-2008-02-17 14:49 bagder
-
- * lib/http.c: rephrased comment
-
-2008-02-17 14:43 bagder
-
- * lib/url.c: In Curl_done() if premature is TRUE, it means this
- connection was said to be DONE before the entire request
- operation is complete and thus we can't know in what state it is
- for re-using, so we're forced to close it. In a perfect world we
- can add code that keep track of if we really must close it here
- or not, but currently we have no such detail knowledge.
-
- Jerome Muffat-Meridol helped us work this out.
-
-2008-02-17 14:40 bagder
-
- * lib/http.c: don't do the GOT_NOTHING error check if the DONE
- function was called with premature set TRUE, which means it was
- done before the request comleted. It could then very well not
- have received any data.
-
-2008-02-17 14:38 bagder
-
- * lib/multi.c: added a comment about the ignoring of the
- Curl_done() return code
-
-2008-02-17 05:36 yangtse
-
- * configure.ac, tests/server/sockfilt.c: sockfilt will quit when
- orphaned
-
-2008-02-16 14:44 bagder
-
- * lib/gtls.c: oops, that was debug code not meant to be committed
- like this...
-
-2008-02-16 14:41 bagder
-
- * lib/gtls.c: fix warnings about shadowing
-
-2008-02-16 01:44 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: seems that curently
- we dont need the imports from (l)ldapx.imp.
-
-2008-02-16 01:21 gknauf
-
- * ares/Makefile.netware: fixed linker def file for tools when
- compiled with gcc/nlmconv.
-
-2008-02-16 01:15 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: re-ordered the module
- dependency list; removed unsused ldap module dependency since the
- module didnt autounload from protected address space.
-
-2008-02-15 23:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: - Made the gnutls code path
- not even try to get the server cert if no peer verification is
- requested. Previously it would even return failure if gnutls
- failed to get the server cert even though no verification was
- asked for.
-
- - Fix my Curl_timeleft() leftover mistake in the gnutls code
-
-2008-02-15 22:38 bagder
-
- * lib/url.c: mention that we explicitly ignore the return code
-
-2008-02-15 18:00 yangtse
-
- * lib/ssh.c: log SSH public key authentication failure and reason
-
-2008-02-15 10:29 bagder
-
- * RELEASE-NOTES: new mirror and mirror recount after cleansing
-
-2008-02-15 09:56 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: - Pooyan McSporran found and
- fixed a flaw where you first would do a normal http request and
- then you'd reuse the handle and replace the Accept: header, as
- then libcurl would send two Accept: headers!
-
-2008-02-15 01:41 gknauf
-
- * lib/mk-ca-bundle.pl: fixed version var.
-
-2008-02-15 01:26 gknauf
-
- * lib/mk-ca-bundle.pl: moved info block up before help block so
- that it can also be displayed before help option; trial to add a
- version number.
-
-2008-02-14 22:24 gknauf
-
- * ares/Makefile.am: added some files which were missing in release
- tarballs.
-
-2008-02-14 11:14 bagder
-
- * TODO-RELEASE: five current issues we should deal with somehow
- before the next release
-
-2008-02-14 00:06 danf
-
- * CVS-INFO: Updated some out-of-date information.
-
-2008-02-13 22:36 bagder
-
- * tests/libtest/lib509.c: make this test disabled properly when
- built with yassl
-
-2008-02-13 07:06 yangtse
-
- * tests/runtests.pl: verifyserver() actually returns the pid of the
- unsecure http and ftp servers when verifying the https and ftps
- servers
-
-2008-02-12 14:47 yangtse
-
- * tests/runtests.pl: On heavily loaded systems any test server
- start up can take longer than the timeout passed to startnew,
- when this happens startnew completes without being able to read
- the pidfile and consequently returns a zero pid2.
-
- To fix the above posibility the server pid is recovered from the
- verification stage which will actually return the server pid when
- verification is valid.
-
-2008-02-12 02:11 yangtse
-
- * tests/README: fix grammatical issues
-
-2008-02-11 23:03 bagder
-
- * CHANGES, lib/qssl.c, lib/socks.c, lib/tftp.c: Yang Tse pointed
- out a few remaining quirks from my timeout refactoring from Feb 7
- that didn't abort properly on timeouts. These are actually old
- problems but now they should be fixed.
-
-2008-02-11 21:21 yangtse
-
- * tests/README: shell startup scripts and possible influence in
- scp/sftp/socks tests
-
-2008-02-11 21:10 danf
-
- * tests/runtests.pl: Disable test due to keyword before disabling
- due to bad server.
-
-2008-02-11 19:52 gknauf
-
- * lib/mk-ca-bundle.pl: open pipe to openssl commandline instead of
- writing into temp file.
-
-2008-02-11 19:27 danf
-
- * lib/tftp.c: Fixed unused variable warning.
-
-2008-02-11 16:00 gknauf
-
- * lib/mk-ca-bundle.pl: added strict to make sure all vars are
- properly defined; added -t switch to make text info of CAs
- optional; added -q switch to be really quiet.
-
-2008-02-11 15:28 yangtse
-
- * tests/sshserver.pl: Additional SunSSH 1.1 ssh server options
-
-2008-02-10 05:20 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/hostthre.c: Bug report #1888932
- (http://curl.haxx.se/bug/view.cgi?id=1888932) points out and
- provides test program that demonstrates that libcurl might not
- set error description message for error
- CURLE_COULDNT_RESOLVE_HOST for Windows threaded name resolver
- builds. Fixed now.
-
-2008-02-10 03:52 yangtse
-
- * tests/runtests.pl: Verify only once test harness sftp server
- connectivity and functionality.
-
- Make sure that the sftp client tool uses the ssh client binary
- that we have used to generate the configuration files, otherwise
- sftp might be using one located in the preferred path compiled
- into sftp.
-
-2008-02-10 02:32 gknauf
-
- * Makefile.am, Makefile.dist: removed 'mv' call and changed to use
- new backup feature of mk-ca-bundle.pl.
-
-2008-02-10 02:29 gknauf
-
- * lib/mk-ca-bundle.pl: added -b switch to provide a backup
- functionality for existing ca-bundle.crt file.
-
-2008-02-09 16:32 gknauf
-
- * lib/mk-ca-bundle.pl: fixed another wrong var in error message.
-
-2008-02-09 16:07 gknauf
-
- * Makefile.am, Makefile.dist: make use of mv's backup feature so
- that calling the ca-bundle target more than once will never fail;
- ignore error which can occure if for whatever reason there's no
- orignial ca-bundle.crt to rename.
-
-2008-02-09 16:00 gknauf
-
- * lib/mk-ca-bundle.pl: fixed wrong var in error message.
-
-2008-02-09 03:37 danf
-
- * tests/data/: test164, test185, test29, test303: Fixed some XML
- parsing problems.
-
-2008-02-09 03:08 danf
-
- * CHANGES, tests/data/test146, tests/data/test183,
- tests/data/test184, tests/data/test185, tests/data/test300,
- tests/data/test301, tests/data/test302, tests/data/test304,
- tests/data/test305, tests/data/test306, tests/data/test307,
- tests/data/test308, tests/data/test509, tests/data/test94: Added
- key words to all SSL-using tests so they can be skipped if
- necessary. Removed a few unnecessary requires SSL statements.
-
-2008-02-09 03:01 danf
-
- * tests/data/test303: Fixed test to use HTTPS as documented.
-
-2008-02-08 23:02 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: - Mike Hommey filed and fixed
- bug report #1889856
- (http://curl.haxx.se/bug/view.cgi?id=1889856): When using the
- gnutls ssl layer, cleaning-up and reinitializing curl ends up
- with https requests failing with "ASN1 parser: Element was not
- found" errors. Obviously a regression added in 7.16.3.
-
-2008-02-08 22:04 gknauf
-
- * docs/SSLCERTS: fixed a typo.
-
-2008-02-08 19:42 danf
-
- * tests/data/: test1022, test1023: Missed checking in these test
- data files.
-
-2008-02-08 18:32 yangtse
-
- * tests/sshserver.pl: Get rid of sftp subsystem additional
- parameters, they aren't widely supported
-
-2008-02-08 14:54 yangtse
-
- * CHANGES, tests/.cvsignore, tests/runtests.pl, tests/sshhelp.pm,
- tests/sshserver.pl: To verify that the sftp server is actually
- running, responsive and that all curl's tests generated
- configuration and key files are fine, a real connection is
- established to the test harness sftp server authenticating and
- running a simple sftp remote pwd command.
-
- The verification is done using OpenSSH's or SunSSH's sftp client
- tool with a configuration file with the same options as the test
- harness socks server with the exception that dynamic forwarding
- is not used for sftp.
-
-2008-02-08 12:20 bagder
-
- * docs/FAQ: and mention make ca-bundle in the 1.11 faq entry as
- well
-
-2008-02-08 12:18 bagder
-
- * docs/SSLCERTS: for step 5, mention that we can now generate an
- own version locally if wanted instead of downloading it from the
- curl site
-
-2008-02-08 12:16 bagder
-
- * CHANGES, RELEASE-NOTES: Günter Knauf added lib/mk-ca-bundle.pl
- which gets the Firefox ca bundle and creates a suitable
- ca-bundle.crt file in PEM format for use with curl. The
- recommended way to run it is to use 'make ca-bundle' in the build
- tree root.
-
-2008-02-08 12:12 bagder
-
- * Makefile.am: oops, we make the copyright year ranges the simple
- style
-
-2008-02-08 12:11 bagder
-
- * Makefile.am: provide the ca-bundle target the same way as the
- Makefile.dist does it so that it works the same way for
- configure-based platforms as for non-configure ones
-
-2008-02-08 10:56 bagder
-
- * lib/Makefile.am: include mk-ca-bundle.pl in the tarballs
-
-2008-02-08 03:57 gknauf
-
- * Makefile.dist: added ca-bundle target to main makefile; for now
- this does rename the existing ca-bundle.crt to ca-bundle.crt.old;
- maybe we can remove this once we are 100% sure that the new
- script works properly, and just overwrite the shipping one?
-
-2008-02-08 03:38 gknauf
-
- * lib/mk-ca-bundle.pl: use argument to specify output filename if
- present.
-
-2008-02-08 02:58 gknauf
-
- * lib/mk-ca-bundle.pl: fixed regex to fetch certdata.txt version
- since it was replaced by CVS (argh!) added a switch to display
- certdata.txt version header.
-
-2008-02-08 02:21 danf
-
- * CHANGES, tests/data/Makefile.am, tests/libtest/Makefile.am,
- tests/libtest/test1013.pl, tests/libtest/test1022.pl: Added tests
- 1022 and 1023 to validate output of curl-config --version and
- --vernum
-
-2008-02-08 02:08 gknauf
-
- * lib/mk-ca-bundle.pl: added Perl script to create a fresh
- ca-bundle.crt.
-
-2008-02-07 23:25 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c, lib/connect.h, lib/ftp.c,
- lib/gtls.c, lib/qssl.c, lib/socks.c, lib/ssluse.c, lib/tftp.c: -
- Refactored a lot of timeout code into a few functions in an
- attempt to make them all use the same (hopefully correct) logic
- to make it less error-prone and easier to introduce
- library-wide where it should be used.
-
-2008-02-07 16:43 bagder
-
- * docs/FAQ, lib/ca-bundle.crt: ca-bundle.crt documentational
- updates that more clearly describe the bundle ca-bundle.crt file
- as outdated and in need for replacement by anyone who wants to
- verify modern peers as the one we have is from year 2000!
-
-2008-02-06 20:01 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/strdup.c: Fix problem in strdup
- replacement when dealing with absolutely huge strings.
-
-2008-02-06 18:35 yangtse
-
- * tests/server/tftpd.c: Don't try to compare more than strlen chars
-
-2008-02-06 17:54 yangtse
-
- * tests/server/: sockfilt.c, sws.c, tftpd.c: Use a long int data
- type to handle getpid() result
-
-2008-02-05 19:37 yangtse
-
- * tests/server/sws.c: Fix buffer size specification.
-
- Improve handling of boundary conditions for huge requests.
-
-2008-02-05 15:43 yangtse
-
- * tests/server/sws.c: Minor variable type cleanups.
-
- Disable "swsbounce" mode when the received request isn't for the
- same test and part number.
-
-2008-02-05 03:21 yangtse
-
- * tests/server/sws.c: proper initialization of httprequest, no
- longer zeroing out twice the whole 150000+ bytes struct, and also
- removing an equally big additional buffer for pipelining
- treatment.
-
-2008-02-04 23:40 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: fixed entry symbols
- when linked with posix prelude.
-
-2008-02-04 23:29 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: added makefile flag
- to link with NLM POSIX semantics.
-
-2008-02-03 13:31 bagder
-
- * CHANGES, lib/multi.c, lib/url.c, lib/urldata.h: - Dmitry
- Kurochkin cleaned up the pipelining code and removed the need for
- and use of the "is_in_pipeline" struct field.
-
-2008-02-03 13:28 bagder
-
- * docs/examples/: Makefile.am, threaded-ssl.c: threaded-ssl.c is a
- little example that does multi-threaded downloads from HTTPS
- sites with OpenSSL-enabled libcurl (and pthreads) and thus do the
- thread-locking and things openssl-style.
-
-2008-02-03 11:10 bagder
-
- * docs/libcurl/curl_multi_timeout.3: it is stable now...
-
-2008-02-01 21:34 danf
-
- * mkinstalldirs: Make mkinstalldirs ignore umask, for consistency
- with the rest of the install process. Note that mkinstalldirs
- appears to be used only in some configurations.
-
-2008-01-31 17:37 yangtse
-
- * tests/sshserver.pl: When possible, use additional config options
- for test harness ssh server, which are deprecated in recent
- OpenSSH versions but are current for SunSSH.
-
-2008-01-31 13:21 bagder
-
- * CHANGES, RELEASE-NOTES, lib/cookie.c, lib/cookie.h,
- tests/data/test31, tests/data/test46: - Niklas Angebrand made the
- cookie support in libcurl properly deal with the "HttpOnly"
- feature introduced by Microsoft and apparently also supported by
- Firefox: http://msdn2.microsoft.com/en-us/library/ms533046.aspx
- . HttpOnly is now supported when received from servers in HTTP
- headers, when written to cookie jars and when read from
- existing cookie jars.
-
-2008-01-31 13:04 bagder
-
- * CHANGES, lib/file.c, lib/ftp.c, lib/http.c, lib/http_chunks.c,
- lib/transfer.c, lib/url.c, lib/urldata.h: - Dmitry Kurochkin
- moved several struct fields from the connectdata struct to the
- SingleRequest one to make pipelining better. It is a bit tricky
- to keep them in the right place, to keep things related to the
- actual request or to the actual connection in the right place.
-
-2008-01-31 12:36 bagder
-
- * docs/KNOWN_BUGS: bug 51 may possibly be fixed, and as such it is
- not a known bug anymore:
-
- 51.Kevin Reed's reported problem with a proxy when doing CONNECT
- and it wants NTLM and close the connection to the initial
- CONNECT response: http://curl.haxx.se/bug/view.cgi?id=1879375
-
-2008-01-30 00:46 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: silent stupid 'del' message
- when no files to delete found; added curl.res to clean target.
-
-2008-01-30 00:10 bagder
-
- * tests/libtest/lib509.c: add verbose output to test 509 for easier
- debugging
-
-2008-01-29 13:58 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/url.c: - Dmitry
- Kurochkin fixed Curl_done() for pipelining, as it could
- previously crash!
-
-2008-01-29 13:31 bagder
-
- * CHANGES, RELEASE-NOTES, tests/data/test553: - Michal Marek fixed
- minor mistake in test case 553 that prevented it from working
- on other IP-addresses or port numbers.
-
-2008-01-28 22:19 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start over on 7.18.1
-
-2008-01-28 20:25 bagder
-
- * docs/THANKS: Added peeps from the 7.18.0 release annoucement
-
-2008-01-28 18:28 bagder
-
- * CHANGES: 7.18.0
-
-2008-01-28 17:04 bagder
-
- * docs/KNOWN_BUGS: Add the three currently discussed bugs that
- won't make it into the 7.18.0 release but hopefully they'll all
- be fixed in 7.18.1...
-
-2008-01-28 12:56 bagder
-
- * lib/sendf.c: this was modified this year so we bump the copyright
- year
-
-2008-01-28 12:48 bagder
-
- * configure.ac: updated copyright year in the generated configure
-
-2008-01-27 23:53 bagder
-
- * CHANGES, lib/multi.c: Dmitry Kurochkin: In "real world" testing I
- found more bugs in pipelining. Broken connection is not restored
- and we get into infinite loop. It happens because of wrong
- is_in_pipeline values.
-
-2008-01-27 03:35 yangtse
-
- * tests/sshserver.pl: Dont rely on PAMAuthenticationViaKbdInt
- default being 'no'
-
-2008-01-26 01:13 bagder
-
- * tests/data/: Makefile.am, test1021: added test 1021 to verify my
- fix for bug report #1879375
-
-2008-01-26 00:33 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: - Kevin Reed filed bug report
- #1879375 (http://curl.haxx.se/bug/view.cgi?id=1879375) which
- describes how libcurl got lost in this scenario: proxy tunnel
- (or HTTPS over proxy), ask to do any proxy authentication and
- the proxy replies with an auth (like NTLM) and then closes the
- connection after that initial informational response.
-
- libcurl would not properly re-initialize the connection to the
- proxy and
- continue the auth negotiation like supposed. It does now
- however, as it will
- now detect if one or more authentication methods were available
- and asked
- for, and will thus retry the connection and continue from
- there.
-
- - I made the progress callback get called properly during proxy
- CONNECT.
-
-2008-01-25 23:35 bagder
-
- * docs/curl.1: using anyauth isn't unconditionally an extra
- roundtrip
-
-2008-01-25 23:10 bagder
-
- * docs/INSTALL: just wanted to mention two uclinux archs I've tried
- libcurl builds on myself
-
-2008-01-25 06:08 yangtse
-
- * tests/server/sws.c: improve request initialization for test
- harness HTTP server
-
-2008-01-25 06:07 yangtse
-
- * tests/server/sws.c: Dmitry Kurochkin's test harness HTTP server
- pipelining fix fot test 530
-
-2008-01-24 18:17 bagder
-
- * CHANGES, RELEASE-NOTES: and Igor Franchuk is his name!
-
-2008-01-24 16:39 gknauf
-
- * packages/NetWare/get_ver.awk: fixed link to latest native awk.
-
-2008-01-24 16:28 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: updated makefiles to
- use global copyright define.
-
-2008-01-24 16:27 gknauf
-
- * packages/NetWare/get_ver.awk: updated awk script to fetch
- copyright from header.
-
-2008-01-24 16:05 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: minor makefile
- tweaks.
-
-2008-01-24 15:15 gknauf
-
- * src/version.h: happy new year
-
-2008-01-24 15:14 gknauf
-
- * src/: curl.rc, version.h: use more correctly named define.
-
-2008-01-24 15:10 gknauf
-
- * lib/libcurl.rc, src/curl.rc: use copyright define instead of
- hardcoded string.
-
-2008-01-24 15:05 gknauf
-
- * include/curl/curlver.h: added copyright define to curlver.h.
-
-2008-01-23 23:22 bagder
-
- * CHANGES, RELEASE-NOTES, lib/cookie.c, lib/cookie.h, lib/http.c:
- "Igor" pointed out that CURLOPT_COOKIELIST set to "ALL" leaked
- memory, and so did "SESS". Fixed now.
-
-2008-01-23 13:22 bagder
-
- * lib/multi.c: Dmitry Kurochkin's pipelining close-down segfault
- fix
-
-2008-01-23 08:27 yangtse
-
- * docs/INSTALL, lib/Makefile.vc6, src/Makefile.vc6: update openssl
- version
-
-2008-01-23 07:11 yangtse
-
- * src/main.c: STDIN_FILENO, STDOUT_FILENO and STDERR_FILENO clone
- macros
-
-2008-01-23 03:12 gknauf
-
- * lib/nwlib.c: happy new year
-
-2008-01-23 03:10 gknauf
-
- * lib/nwlib.c: removed inclusion of libcurl memory debug headers
- since this lib stub is a well proofed method suggested by Novell.
- This enables usage of the stub with language bindings.
-
-2008-01-22 18:26 yangtse
-
- * lib/ssh.c: when unable to initialize sftp session, also log
- failure reason
-
-2008-01-22 15:52 yangtse
-
- * CHANGES, configure.ac, lib/select.h, src/main.c,
- tests/server/util.c: check availability of poll.h header at
- configuration time, and include it when sys/poll.h is unavailable
-
-2008-01-22 04:48 yangtse
-
- * lib/libcurl.rc, src/curl.rc: update copyright year
-
-2008-01-22 00:48 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c, lib/sendf.c, lib/url.c,
- lib/urldata.h: Dmitry Kurochkin removed the cancelled state for
- pipelining, as we agreed that it is bad anyway. Starting now,
- removing a handle that is in used in a pipeline will break the
- pipeline - it'll be set back up again but still...
-
-2008-01-21 21:22 yangtse
-
- * CHANGES, configure.ac: Disable ldap support for cygwin builds,
- since it breaks whole build process.
-
-2008-01-21 06:35 yangtse
-
- * tests/libtest/: Makefile.am, lib530.c: undo using internal
- *printf() clones for test #530
-
-2008-01-20 23:53 yangtse
-
- * tests/libtest/: Makefile.am, lib530.c: use internal *printf()
- clones since snprintf() not available on all platforms
-
-2008-01-20 12:29 bagder
-
- * RELEASE-NOTES: Judson provided an example, and the added mirror
- adds the count
-
-2008-01-20 12:12 bagder
-
- * docs/examples/smooth-gtk-thread.c: 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
-
-2008-01-20 12:07 bagder
-
- * RELEASE-NOTES: http://curl.very-clever.com/ is a new mirror in
- Nuremberg, Germany
-
-2008-01-20 05:05 yangtse
-
- * tests/sshserver.pl: Also disable GSSAPIAuthentication for the
- test harness ssh client
-
-2008-01-19 12:33 bagder
-
- * Makefile.dist: added a (sample) target for 64bit msvc builds
-
-2008-01-19 11:30 bagder
-
- * src/main.c: rephrased the --socks5-hostname help output somewhat
-
-2008-01-19 11:14 bagder
-
- * tests/: data/test530, libtest/lib530.c: Dmitry Kurochkin fixed
- test case 530 (pipelining)
-
-2008-01-18 22:51 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Lau Hang Kin found and fixed
- a problem with the multi interface when doing CONNECT over a
- proxy. curl_multi_fdset() didn't report back the socket properly
- during that state, due to a missing case in the switch in the
- multi_getsock() function.
-
-2008-01-18 10:18 yangtse
-
- * tests/runtests.pl: fix failure to properly detect SSH and SOCKS
- servers start up on loaded systems
-
-2008-01-18 06:58 yangtse
-
- * src/main.c: to actually allow really big HTTP POSTs curl's
- postfieldsize type is changed to curl_off_t and
- CURLOPT_POSTFIELDSIZE_LARGE is used to pass value to libcurl
-
-2008-01-17 23:43 bagder
-
- * RELEASE-NOTES: curl-java 0.2.1
-
-2008-01-17 22:46 bagder
-
- * docs/BINDINGS: the java binding is not really maintained
-
-2008-01-17 19:57 yangtse
-
- * CHANGES, tests/libtest/lib518.c, tests/libtest/lib537.c: Don't
- abort tests 518 and 537 when unable to raise the open-file soft
- limit
-
-2008-01-17 19:03 yangtse
-
- * src/main.c: fix compiler warning
-
-2008-01-17 05:10 danf
-
- * tests/data/: test551, test552: Put the comments in an XML-valid
- location.
-
-2008-01-17 02:25 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: updated lib versions.
-
-2008-01-17 02:20 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: updated copyright for new year.
-
-2008-01-16 23:54 bagder
-
- * tests/: data/Makefile.am, data/test553, libtest/Makefile.am,
- libtest/lib553.c: Added test 553. This test case and code is
- based on the bug recipe Joe Malicki provided for bug report
- #1871269, fixed on Jan 14 2008 before the 7.18.0 release.
-
-2008-01-16 23:09 bagder
-
- * tests/runtests.pl: remove trailing comma too, even though I don't
- think it does any harm
-
-2008-01-16 23:08 bagder
-
- * CHANGES, RELEASE-NOTES, tests/runtests.pl: Nathan Coulter's patch
- that makes runtests.pl respect the PATH when figuring out what
- valgrind to run.
-
-2008-01-16 22:33 bagder
-
- * lib/multi.c: Dmitry Kurochkin's additional pipelining bugfix
-
-2008-01-16 22:01 yangtse
-
- * CHANGES, RELEASE-NOTES, src/main.c: fix handling of out of memory
- in the command line tool that afected data url encoded HTTP POSTs
- when reading it from a file.
-
-2008-01-16 17:04 patrickm
-
- * packages/OS400/: README.OS400, ccsidcurl.c, ccsidcurl.h,
- curl.inc.in, initscript.sh, make-lib.sh, os400sys.c, os400sys.h:
- OS/400 update: New declarations in curl.h reported to
- curl.inc.in. Copyrights extended to 2008. SONAME handling
- introduced in build scripts.
-
-2008-01-16 13:24 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/llist.c, lib/llist.h,
- lib/multi.c, lib/transfer.c, lib/url.c, lib/url.h, lib/urldata.h,
- tests/data/test530: Dmitry Kurochkin worked a lot on improving
- the HTTP Pipelining support that previously had a number of
- flaws, perhaps most notably when an application fired up N
- transfers at once as then they wouldn't pipeline at all that
- nicely as anyone would think... Test case 530 was also updated to
- take the improved functionality into account.
-
-2008-01-16 00:19 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/krb4.c, lib/nss.c,
- lib/qssl.c, lib/ssh.c, lib/ssluse.c, lib/tftp.c, lib/transfer.c:
- Calls to Curl_failf() are not supposed to provide a trailing
- newline as the function itself adds that. Fixed on 50 or
- something strings!
-
-2008-01-15 23:44 bagder
-
- * lib/: easy.c, hostip.c, hostip.h, url.c, urldata.h: Woops, partly
- revert my previous commit and do it slightly differently instead.
- The signalling of that a global DNS cache is wanted is done by
- setting the option but the setting of the internal variable that
- it is in use must not be done until it finally actually gets
- used!
-
- NOTE and WARNING: I noticed that you can't actually switch off
- the global dns cache with CURLOPT_DNS_USE_GLOBAL_CACHE but you
- couldn't do that previously either and the option is very clearly
- and loudly documented as DO NOTE USE so I won't bother to fix
- this bug now.
-
-2008-01-15 23:15 bagder
-
- * CHANGES, docs/TODO, lib/hostip.c, lib/hostip.h, lib/url.c,
- lib/urldata.h: I made the torture test on test 530 go through.
- This was actually due to silly code left from when we switched to
- let the multi handle "hold" the dns cache when using the multi
- interface... Of course this only triggered when a certain
- function call returned error at the correct moment.
-
-2008-01-15 09:45 bagder
-
- * docs/curl.1: Michal Marek's improved .curlrc syntax description
-
-2008-01-14 23:02 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Joe Malicki filed bug report
- #1871269 (http://curl.haxx.se/bug/view.cgi?id=1871269) and we
- could fix his hang- problem that occurred when doing a large HTTP
- POST request with the response-body read from a callback.
-
-2008-01-14 20:40 yangtse
-
- * lib/socks.c: fix compiler warning
-
-2008-01-14 20:28 yangtse
-
- * tests/runtests.pl: startnew() shouldn't return a positive pid as
- reported in the pidfile by the spawned server itself unless it is
- actually alive
-
-2008-01-14 18:49 bagder
-
- * docs/TODO: 5.3 support FF3 sqlite cookie files
-
-2008-01-14 17:51 giva
-
- * lib/urldata.h: Trying GnuTLS and OpenSSL together fails to
- compile in not so obvious ways. Give an explicit error.
-
-2008-01-14 02:53 yangtse
-
- * TODO-RELEASE: #115 is done
-
-2008-01-13 05:39 yangtse
-
- * lib/socks.c, src/main.c: fix compiler warning
-
-2008-01-13 04:27 yangtse
-
- * tests/data/: test1016, test1017, test1018, test1019, test1020:
- add client features part
-
-2008-01-12 23:56 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: I re-arranged the curl --help
- output. All the options are now sorted on their long option names
- and all descriptions are one-liners.
-
-2008-01-12 23:10 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/curl.1, src/main.c:
- Eric Landes provided the patch (edited by me) that introduces the
- --keepalive-time to curl to set the keepalive probe interval. I
- also took the opportunity to rename the recently added
- no-keep-alive option to no-keepalive to keep a consistent naming
- and to avoid getting two dashes in these option names. Eric also
- provided an update to the man page for the new option.
-
-2008-01-12 11:31 bagder
-
- * CHANGES.0: added release dates for four very old releases
-
-2008-01-12 05:32 yangtse
-
- * tests/sshserver.pl: Remove hardcoded verbosity
-
-2008-01-12 01:12 yangtse
-
- * tests/runtests.pl: Ooops
-
-2008-01-11 22:59 yangtse
-
- * tests/runtests.pl: Ooops
-
-2008-01-11 22:23 bagder
-
- * COPYING: new year
-
-2008-01-11 21:17 yangtse
-
- * tests/runtests.pl: When verifying that test harness's SSH and
- SOCKS servers have been started check also that the process is
- actually alive, since they could have died once the pidfile was
- written out
-
-2008-01-11 18:35 yangtse
-
- * lib/ftp.c: fix compiler warning
-
-2008-01-11 17:49 yangtse
-
- * lib/file.c: fix compiler warning
-
-2008-01-11 16:21 bagder
-
- * TODO-RELEASE: "114 - Ranged downloads on file:// URLs" done
-
-2008-01-11 15:20 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, lib/file.c,
- tests/data/Makefile.am, tests/data/test1016, tests/data/test1017,
- tests/data/test1018, tests/data/test1019, tests/data/test1020:
- Daniel Egger made CURLOPT_RANGE work on file:// URLs the very
- same way it already worked for FTP:// URLs
-
-2008-01-11 15:00 bagder
-
- * CHANGES, configure.ac, src/main.c: I made the curl tool switch
- from using CURLOPT_IOCTLFUNCTION to now use the spanking new
- CURLOPT_SEEKFUNCTION simply to take advantage of the improved
- performance for the upload resume cases where you want to upload
- the last few bytes of a very large file. To implement this
- decently, I had to switch the client code for uploading from
- fopen()/fread() to plain open()/read() so that we can use lseek()
- to do >32bit seeks (as fseek() doesn't allow that) on systems
- that offer support for that.
-
-2008-01-10 23:14 bagder
-
- * CHANGES, RELEASE-NOTES, curl-config.in: Michal Marek made
- curl-config --libs not include /usr/lib64 in the output (it
- already before skipped /usr/lib). /usr/lib64 is the default
- library directory on many 64bit systems and it's unlikely that
- anyone would use the path privately on systems where it's not.
-
-2008-01-10 17:19 yangtse
-
- * tests/: runtests.pl, sshserver.pl: Temporary change to help
- debugging SSH server verification failures
-
-2008-01-10 11:31 bagder
-
- * TODO-RELEASE: Two more items done:
-
- 109 - curl_easy_pause 110 - seekfunction
-
-2008-01-10 11:30 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/ftp.c, lib/http.c, lib/transfer.c,
- lib/url.c, lib/urldata.h, src/main.c: Georg Lippitsch brought
- CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA to allow libcurl to
- seek in a given input stream. This is particularly important when
- doing upload resumes when there's already a huge part of the file
- present remotely. Before, and still if this callback isn't used,
- libcurl will read and through away the entire file up to the
- point to where the resuming begins (which of course can be a slow
- opereration depending on file size, I/O bandwidth and more). This
- new function will also be preferred to get used instead of the
- CURLOPT_IOCTLFUNCTION for seeking back in a stream when doing
- multi-stage HTTP auth with POST/PUT.
-
-2008-01-10 10:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_digest.c: Nikitinskit Dmitriy
- filed bug report #1868255
- (http://curl.haxx.se/bug/view.cgi?id=1868255) with a patch. It
- identifies and fixes a problem with parsing WWW-Authenticate:
- headers with additional spaces in the line that the parser wasn't
- written to deal with.
-
-2008-01-10 10:16 bagder
-
- * lib/transfer.c: corrected comment
-
-2008-01-09 20:11 yangtse
-
- * lib/socks.c, lib/tftp.c, lib/transfer.c, src/main.c: fix compiler
- warning
-
-2008-01-09 02:11 yangtse
-
- * tests/sshhelp.pm: Fix file Id
-
-2008-01-09 01:58 yangtse
-
- * tests/sshhelp.pm: Add /usr/freeware/sbin and
- /usr/freeware/libexec to the ssh binaries locations search list.
-
-2008-01-08 23:15 bagder
-
- * docs/KNOWN_BUGS: added the --retry problems mention on the
- curl-library list today
-
-2008-01-08 21:12 yangtse
-
- * tests/runtests.pl: Partially cleanup debugging messages in test
- harness, introduced for new minimum SSH version support for SCP,
- SFTP and SOCKS tests.
-
- Some verbosity which still remains, will go out before next
- release.
-
-2008-01-08 20:18 yangtse
-
- * tests/sshserver.pl: Remove increased loglevel intended to debug
- autobuild's publickey authentication failures when using OpenSSH
- 2.9.9 or SunSSH.
-
- Verified fact: Even when only using publickey authentication,
- OpenSSH and SunSSH first validate the user, this implies that if
- the user validation fails, 'invalid user', the publickey
- authentication will not be allowed to complete.
-
-2008-01-08 15:52 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, docs/libcurl/Makefile.am,
- docs/libcurl/curl_easy_pause.3, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, include/curl/curlver.h, lib/easy.c,
- lib/multi.c, lib/sendf.c, lib/transfer.c, lib/url.c,
- lib/urldata.h: Introducing curl_easy_pause() and new magic return
- codes for both the read and the write callbacks that now can make
- a connection's reading and/or writing get paused.
-
-2008-01-08 12:11 bagder
-
- * TODO-RELEASE: removed 113, both bugs #1850730 and #1854175 are
- fixed in CVS
-
-2008-01-08 02:05 yangtse
-
- * lib/connect.c: Change typecast due to
- http://cool.haxx.se/cvs.cgi/curl/include/curl/curl.h.diff?r1=1.336&r2=1.337
-
-2008-01-08 01:40 yangtse
-
- * tests/sshserver.pl: Increase loglevel to debug autobuild's
- publickey authentication failures when using OpenSSH 2.9.9 or
- SunSSH
-
-2008-01-08 01:39 yangtse
-
- * tests/runtests.pl: Display ssh server log and configuration upon
- socks server failure
-
-2008-01-07 20:54 danf
-
- * tests/data/test289: Fixed test description
-
-2008-01-07 17:32 patrickm
-
- * packages/OS400/curl.inc.in: ILE RPG support update (from
- include/curl/curl.h)
-
-2008-01-07 00:22 bagder
-
- * TODO-RELEASE: updated URLs and moved down two issues to the new
- "less likely" section
-
-2008-01-06 22:41 bagder
-
- * lib/: ftp.c, url.c: more SOCKS5_HOSTNAME adjustments from Richard
- Atterer
-
-2008-01-06 13:56 bagder
-
- * lib/ftp.c: make sure we deal with SOCKS5_HOSTNAME as a proxy type
- as well
-
-2008-01-06 13:56 bagder
-
- * src/main.c: Richard Atterer reverted back what I missed in my
- previous revert ;-)
-
-2008-01-06 13:54 bagder
-
- * lib/url.c: make sure CURLPROXY_SOCKS5_HOSTNAME is taken care of
- as well
-
-2008-01-06 12:10 bagder
-
- * TODO-RELEASE: fixed: 116 - bug #1863171, curl_getdate() bug
- added: 117 - Eric Landes patch for introducing the --tcp-keep*
- options
-
-2008-01-06 11:50 bagder
-
- * CHANGES, RELEASE-NOTES, lib/parsedate.c: Jeff Johnson filed bug
- report #1863171 (http://curl.haxx.se/bug/view.cgi?id=1863171)
- where he pointed out that libcurl's date parser didn't accept a
- +1300 time zone which actually is used fairly often (like New
- Zealand's Dailight Savings Time), so I modified the parser to now
- accept up to and including -1400 to +1400.
-
-2008-01-06 03:02 yangtse
-
- * tests/sshserver.pl: Increase MaxAuthTries from 0 to 10. Using a
- value of 0 is too restrictive
-
-2008-01-05 23:04 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/socks.c, lib/url.c, lib/urldata.h, src/main.c: Based on
- further discussion on curl-library, I reverted yesterday's SOCKS5
- code to instead introduce support for a new proxy type called
- CURLPROXY_SOCKS5_HOSTNAME that is used to send the host name to
- the proxy instead of IP address and there's thus no longer any
- need for a new curl_easy_setopt() option.
-
- The default SOCKS5 proxy is again back to sending the IP address
- to the proxy. The new curl command line option for enabling
- sending host name to a SOCKS5 proxy is now --socks5-hostname.
-
-2008-01-05 22:04 bagder
-
- * RELEASE-NOTES: Added Daniel Egger and extended the
- --no-keep-alive description
-
-2008-01-05 13:15 bagder
-
- * tests/data/test200: added keyword
-
-2008-01-05 02:39 yangtse
-
- * src/main.c: Don't abort operation when attempting to set
- SO_KEEPALIVE fails, just issue a warning and ignore the failure.
-
-2008-01-05 00:57 danf
-
- * tests/FILEFORMAT: "yes" must be in quotes to be XML compatible
-
-2008-01-05 00:55 bagder
-
- * TODO-RELEASE: 111 - DNS resolve over socks5 is done added 116 -
- bug #1863171, curl_getdate() bug
-
-2008-01-05 00:31 bagder
-
- * tests/: FILEFORMAT, runtests.pl: Daniel Egger provided
- 'nonewline=yes' support for the <stdout> section
-
-2008-01-05 00:01 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/socks.c, lib/url.c, lib/urldata.h, src/main.c: Based on Maxim
- Perenesenko's patch, we now do SOCKS5 operations and let the
- proxy do the host name resolving and only if --socks5ip (or
- CURLOPT_SOCKS5_RESOLVE_LOCAL) is used we resolve the host name
- locally and pass on the IP address only to the proxy.
-
-2008-01-04 23:16 bagder
-
- * docs/TODO: 14.3 extend CURLOPT_SOCKOPTFUNCTION prototype (for
- next SONAME bump)
-
-2008-01-04 20:56 yangtse
-
- * tests/runtests.pl: Missing newline at end of message
-
-2008-01-04 16:39 yangtse
-
- * tests/libtest/lib552.c: Fix 'format string' compiler warning
-
-2008-01-04 15:12 yangtse
-
- * tests/sshserver.pl: 'ControlPath' ssh client configuration file
- option requires OpenSSH 4.2 or later to accept 'none' as an
- indication to disable connection multiplexing
-
-2008-01-04 14:24 yangtse
-
- * tests/sshserver.pl: SunSSH 1.1 ssh client does not support config
- file options:
-
- ConnectTimeout
- ForwardX11Trusted
- HashKnownHosts
- RekeyLimit
- ServerAliveCountMax
- ServerAliveInterval
-
-2008-01-04 14:00 yangtse
-
- * tests/runtests.pl: - Display curl_ssh_config when socks server
- fails to start.
-
- - Capability of running socks5 tests must be based on ssh daemon
- version and not on ssh client version.
-
-2008-01-04 04:05 yangtse
-
- * tests/runtests.pl: Make sure @INC is modified before 'using' the
- sshhelp module.
-
-2008-01-04 04:04 yangtse
-
- * tests/sshserver.pl: 'LocalCommand' no longer used for ssh client
- config file. When used it requires a non blank argument.
-
-2008-01-03 21:48 yangtse
-
- * CHANGES, TODO-RELEASE, tests/Makefile.am, tests/runtests.pl,
- tests/sshhelp.pm, tests/sshserver.pl: Modify test harness so that
- the minimum SSH version required to run SCP, SFTP and SOCKS4
- tests is now OpenSSH 2.9.9 or SunSSH 1.0
-
- For SOCKS5 tests minimum versions are OpenSSH 3.7 or SunSSH 1.0
-
-2008-01-03 16:18 giva
-
- * lib/: ftp.c, url.c: 'false' and 'true' are not built-ins on most
- compilers. Use TRUE/FALSE from setup_once.h.
-
-2008-01-02 23:46 bagder
-
- * TODO-RELEASE: one gone, one added
-
-2008-01-02 23:30 bagder
-
- * CHANGES, lib/http_chunks.c: - I fixed two cases of missing return
- code checks when handling chunked decoding where a write error
- (or abort return from a callback) didn't stop libcurl's
- processing.
-
-2008-01-02 23:23 bagder
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h: I removed the
- socklen_t use from the public curl/curl.h header and instead made
- it an unsigned int. The type was only used in the curl_sockaddr
- struct definition (only used by the curl_opensocket_callback). On
- all platforms I could find information about, socklen_t is 32
- unsigned bits large so I don't think this will break the API or
- ABI. The main reason for this change is of course for all the
- platforms that don't have a socklen_t definition in their headers
- to build fine again. Providing our own configure magic and custom
- definition of socklen_t on those systems proved to work but was a
- lot of cruft, code and extra magic needed - when this very small
- change of type seems harmless and still solves the missing
- socklen_t problem.
-
-2008-01-02 22:40 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ftp.c,
- lib/socks.c, lib/socks.h, lib/url.c, src/main.c: Richard Atterer
- brought a patch that added support for SOCKS4a proxies, which is
- an inofficial PROXY4 variant that sends the hostname to the proxy
- instead of the resolved address (which is already supported by
- SOCKS5). --socks4a is the curl command line option for it and
- CURLOPT_PROXYTYPE can now be set to CURLPROXY_SOCKS4A as well.
-
-2008-01-02 22:39 bagder
-
- * TODO-RELEASE: updated
-
-2008-01-02 06:30 giva
-
- * ares/acountry.c: Added '-d' option for Watt-32 debugging.
-
-2008-01-01 22:11 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: Mohun Biswas pointed out that
- --libcurl generated a source code with an int function but
- without a return statement. While fixing that, I also took care
- about adding some better comments for the generated code.
-
-2007-12-27 22:44 bagder
-
- * docs/curl.1: --libcurl was added in 7.16.1, a useful information
-
-2007-12-27 00:29 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Dmitry Kurochkin mentioned a
- flaw (http://curl.haxx.se/mail/lib-2007-12/0252.html) in
- detect_proxy() which failed to set the bits.proxy variable
- properly when an environment variable told libcurl to use a http
- proxy.
-
-2007-12-26 22:48 bagder
-
- * CHANGES, tests/data/Makefile.am, tests/data/test552,
- tests/libtest/Makefile.am, tests/libtest/lib552.c: In an attempt
- to repeat the problem in bug report #1850730
- (http://curl.haxx.se/bug/view.cgi?id=1850730) I wrote up test
- case 552. The test is doing a 70K POST with a read callback and
- an ioctl callback over a proxy requiring Digest auth. The test
- case code is more or less identical to the test recipe code
- provided by Spacen Jasset (who submitted the bug report).
-
-2007-12-26 22:46 bagder
-
- * TODO-RELEASE: what we're having atm
-
-2007-12-25 14:26 gknauf
-
- * lib/sslgen.c: added missing semicolon fromn last commit.
-
-2007-12-25 00:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sslgen.c: Gary Maxwell filed bug
- report #1856628 (http://curl.haxx.se/bug/view.cgi?id=1856628) and
- provided a fix for the (small) memory leak in the SSL session ID
- caching code. It happened when a previous entry in the cache was
- re-used.
-
-2007-12-22 19:25 danf
-
- * tests/: runtests.pl, sshserver.pl, httpsserver.pl: Use getcwd()
- to get the directory, which works even if one of the directory
- components doesn't have read permission set.
-
-2007-12-20 22:21 danf
-
- * tests/testcurl.pl: Use getcwd() to get the directory, which works
- even if one of the directory components doesn't have read
- permission set.
-
-2007-12-19 22:19 danf
-
- * CHANGES, src/Makefile.am: Ensure that nroff doesn't put anything
- but ASCII characters into the --manual text.
-
-2007-12-18 19:33 yangtse
-
- * CHANGES, RELEASE-NOTES, src/main.c:
- (http://curl.haxx.se/mail/archive-2007-12/0039.html) reported and
- fixed a file truncation problem on Windows build targets
- triggered when retrying a download with curl.
-
-2007-12-18 19:08 yangtse
-
- * CHANGES, ares/config-win32.h, lib/config-win32.h,
- src/config-win32.h: MSVC 9.0 (VS2008) does not support Windows
- build targets prior to WinXP, and makes wrong asumptions of build
- target when it isn't specified. So, if no build target has been
- defined we will target WinXP when building with MSVC 9.0
- (VS2008).
-
-2007-12-18 11:36 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/config-win32.h: pollfd struct and
- WSA_poll fixes for Windows Vista already present in CVS
-
-2007-12-17 22:19 bagder
-
- * CHANGES, RELEASE-NOTES, lib/config-win32.h: Mateusz Loskot
- pointed out that VC++ 9.0 (2008) has the pollfd struct and
- defines in the SDK somehow differently so we have to add a define
- to the config-win32.h file to make select.h compile nicely.
-
-2007-12-15 23:19 bagder
-
- * tests/data/test551: spell!
-
-2007-12-15 23:13 bagder
-
- * tests/data/: Makefile.am, test551: Add test 551 that tests
- callback-post over a proxy that requires Digest auth. A failed
- attempt to repeat bug report #1850730 (ie the test works fine).
-
-2007-12-14 23:09 bagder
-
- * configure.ac: remove mistaken "-d" from here
-
-2007-12-14 12:19 bagder
-
- * docs/curl.1: -u addition: If you just give the user name (without
- entering a colon) curl will prompt for a password. Denis Bredelet
- pointed out!
-
-2007-12-14 02:09 danf
-
- * tests/data/: test549, test550: Added missing <features>
-
-2007-12-14 02:05 danf
-
- * tests/data/: test549, test550: Fixed typo in test title
-
-2007-12-13 15:39 yangtse
-
- * src/main.c: Fix compiler warning
-
-2007-12-13 11:00 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: David Wright filed bug report
- #1849764 (http://curl.haxx.se/bug/view.cgi?id=1849764) with an
- included fix. He identified a problem for re-used connections
- that previously had sent Expect: 100-continue and in some
- situations the subsequent POST (that didn't use Expect:) still
- had the internal flag set for its use. David's fix (that makes
- the setting of the flag in every single request unconditionally)
- is fine and is now used!
-
-2007-12-12 12:22 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/curl.1, src/main.c:
- Gilles Blanc made the curl tool enable SO_KEEPALIVE for the
- connections and added the --no-keep-alive option that can disable
- that on demand.
-
-2007-12-11 22:19 bagder
-
- * docs/libcurl/curl_multi_setopt.3: clarify that the
- CURLMOPT_TIMERFUNCTION callback can pass in 0 and -1 as legal
- values and what they mean
-
-2007-12-11 20:34 bagder
-
- * ares/Makefile.am: build acountry too
-
-2007-12-11 18:26 giva
-
- * ares/CHANGES: Added acountry.c.
-
-2007-12-11 18:24 giva
-
- * ares/Makefile.netware: Added build of acountry.nlm.
-
-2007-12-11 18:23 giva
-
- * ares/: Makefile.m32, Makefile.vc6: Added build of acountry.exe.
-
-2007-12-11 18:22 giva
-
- * ares/Makefile.dj: Build acountry.exe. Added 'socklen_t' define.
-
-2007-12-11 18:21 giva
-
- * ares/acountry.c: Another sample application that returns
- country-code and name from an IPv4-address or host-name. Using
- the service of countries.nerd.dk.
-
-2007-12-10 23:20 bagder
-
- * ares/Makefile.am: grrr, the previous commit was meant to properly
- make sure that we don't link any executables when doing debug
- builds since they kind of assume symbols provided by libcurl, but
- it also wrongly included acountry.c
-
-2007-12-10 23:19 bagder
-
- * ares/: Makefile.am, configure.ac: when building
-
-2007-12-10 22:42 bagder
-
- * ares/Makefile.am: build ahost and adig by default but don't
- install them
-
-2007-12-10 18:09 patrickm
-
- * packages/OS400/: README.OS400, curl.inc.in, initscript.sh,
- make-lib.sh: Define new options in OS400 RPG interface Port OS400
- compilation scripts to >= V5R2M0
-
-2007-12-10 17:14 giva
-
- * ares/: ares.h, ares_ipv6.h: Fix for targets that do have 'struct
- in6_addr', but which doesn't define 's6_addr' as a macro.
-
-2007-12-10 12:33 bagder
-
- * docs/FAQ: cut out the number of contributors from this file since
- it'll always be wrong
-
-2007-12-10 11:28 bagder
-
- * docs/FAQ: 5.13 How do I stop an ongoing transfer?
-
-2007-12-09 23:31 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sendf.c: Andrew Moise filed bug
- report #1847501 (http://curl.haxx.se/bug/view.cgi?id=1847501) and
- pointed out a memcpy() that should be memmove() in the
- convert_lineends() function.
-
-2007-12-09 13:26 bagder
-
- * docs/TODO: add in toc too
-
-2007-12-09 13:22 bagder
-
- * docs/TODO: RTMP support?
-
-2007-12-09 13:20 bagder
-
- * docs/TODO: oops another bad numbering
-
-2007-12-09 13:12 bagder
-
- * docs/TODO: oops duplicate numbering
-
-2007-12-09 13:00 bagder
-
- * docs/TODO: slightly rephrased
-
-2007-12-09 10:58 giva
-
- * src/Makefile.Watcom: Removed use of '..\lib\libcurl_wc.lib' as
- this is not really a static-lib. Renamed 'OBJ_DIR' to
- 'WC_Win32.obj'.
-
-2007-12-09 10:44 giva
-
- * lib/Makefile.Watcom: Removed building 'libcurl_wc.lib' as this
- isn't a static-library in the common sense. Renamed 'OBJ_DIR' to
- 'WC_Win32.obj'.
-
-2007-12-09 00:01 bagder
-
- * CHANGES: Travelling some 500km by train back and forth on the
- same day gives you time to do things you don't otherwise do, but
- here's the summary of today's work...
-
-2007-12-09 00:00 bagder
-
- * docs/TODO: reformat to FAQ/CONTRIBUTE style, for nicer web-look
- when I apply the magic script(s) on it online
-
-2007-12-08 23:58 bagder
-
- * docs/KNOWN_BUGS: cleanup
-
-2007-12-08 23:57 bagder
-
- * src/main.c: fix a crash in oom situations (thanks runtests.pl
- -t!)
-
-2007-12-08 23:56 bagder
-
- * tests/data/: test1008, test137, test138, test139, test140,
- test141, test142, test143, test144, test145, test146, test35: add
- keywords
-
-2007-12-08 23:56 bagder
-
- * tests/data/Makefile.am: add missing files
-
-2007-12-08 23:53 bagder
-
- * tests/libtest/lib547.c: correct the comment about size
-
-2007-12-08 23:53 bagder
-
- * tests/: data/test549, data/test550, libtest/Makefile.am,
- libtest/lib549.c: add test 549 and 550
-
-2007-12-08 23:52 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention how to enable chunked
- encoding for POSTs
-
-2007-12-08 23:50 bagder
-
- * lib/: dict.c, file.c, ftp.c, http.c, parsedate.c, sendf.c,
- ssluse.c, telnet.c, tftp.c, transfer.c, url.c: All static
- functions that were previously name Curl_* something no longer
- use that prefix as we use that prefix only for library-wide
- internal global symbols.
-
-2007-12-06 23:36 bagder
-
- * docs/libcurl/curl_multi_timeout.3: clarify that when
- curl_multi_timeout() returns -1 it just means that there is no
- current timeout. It does not mean wait forever and it does not
- mean do not wait at all. It means there is no timeout value known
- at this point in time.
-
-2007-12-05 22:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/test547,
- tests/data/test548, tests/libtest/lib547.c: Spacen Jasset
- reported a problem with doing POST (with data read with a
- callback) over a proxy when NTLM is used as auth with the proxy.
- The bug also concerned Digest and was limited to using callback
- only. Spacen worked with us to provide a useful patch. I added
- the test case 547 and 548 to verify two variations of POST over
- proxy with NTLM.
-
-2007-12-05 12:10 bagder
-
- * tests/libtest/lib547.c: fix compiler warning
-
-2007-12-05 12:08 bagder
-
- * tests/: data/test548, libtest/Makefile.am, libtest/lib547.c:
- added test548 which uses the lib547 source file, preparing for
- test547 which is supposed to repeat the bug report "NTLM proxy
- authentication with CURLOPT_READDATA seems broken." posted on the
- curl-library mailing list on dec 3 2007.
-
-2007-12-04 01:15 yangtse
-
- * lib/ssluse.c: Fix compiler warning: variable may be used
- uninitialized
-
-2007-12-03 23:44 bagder
-
- * CHANGES, RELEASE-NOTES: Ray Pekowski filed bug report #1842029
-
-2007-12-03 20:57 yangtse
-
- * ares/ares_gethostbyaddr.c: Fix three issues previous cleanup
- introduces.
-
-2007-12-03 12:49 bagder
-
- * RELEASE-NOTES: SSL session id caching bugfix
-
-2007-12-03 12:48 bagder
-
- * CHANGES, lib/sslgen.c: Bug report #1842029
- (http://curl.haxx.se/bug/view.cgi?id=1842029) identified a
- problem with SSL session caching that prevent it from working,
- and the associated fix!
-
-2007-12-03 12:41 bagder
-
- * RELEASE-NOTES: mention "no longer default-appends ;type= on FTP
- URLs thru proxies" as a bug fix even if kind of implied by the
- new option
-
-2007-12-03 12:39 bagder
-
- * CHANGES, lib/ssluse.c: Now libcurl (built with OpenSSL) doesn't
- return error anymore if the remote SSL-based server doesn't
- present a certificate when the request is told to ignore
- certificate verification anyway.
-
-2007-12-03 11:25 bagder
-
- * ares/: CHANGES, ares_gethostbyaddr.c: Erik Kline cleaned up
- ares_gethostbyaddr.c:next_lookup() somewhat
-
-2007-12-03 11:22 bagder
-
- * ares/: CHANGES, configure.ac: Brad Spencer fixed the configure
- script to assume that there's no /dev/urandom when built
- cross-compiled as then the script cannot check for it.
-
-2007-12-03 10:50 bagder
-
- * tests/data/: test208, test79: removed the ;type= thing for FTP
- urls through proxy, since that's now only present when enabled by
- on option which isn't done by default (and isn't even available
- for the curl app atm)
-
-2007-12-03 00:39 bagder
-
- * TODO-RELEASE: 107 - resolve the type= thing for FTP URLs over
- HTTP proxies, is solved
-
-2007-12-03 00:38 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/http.c, lib/url.c, lib/urldata.h: Michal
- Marek introduced CURLOPT_PROXY_TRANSFER_MODE which is used to
- control the appending of the "type=" thing on FTP URLs when they
- are passed to a HTTP proxy. Some proxies just don't like that
- appending (which is done unconditionally in 7.17.1), and some
- proxies treat binary/ascii transfers better with the appending
- done!
-
-2007-11-30 03:31 danf
-
- * configure.ac: Upped copyright year
-
-2007-11-29 23:27 bagder
-
- * CHANGES: uh, corrected pretty major write error!
-
-2007-11-29 23:15 bagder
-
- * CHANGES, RELEASE-NOTES: ftp resumed upload and long Digest nonces
-
-2007-11-29 23:14 bagder
-
- * lib/http_digest.c: A bug report on the curl-library list showed a
- HTTP Digest session going on with a 700+ letter nonce. Previously
- libcurl only support 127 letter ones and now I bumped it to 1023.
-
-2007-11-29 23:14 bagder
-
- * lib/ftp.c: Fixed the resumed FTP upload loop to not require that
- the read callback returns a full buffer on each invoke.
-
-2007-11-29 12:25 bagder
-
- * lib/ssh.c: include the libssh2 return code in the output for
- these failures to ease debugging
-
-2007-11-28 16:18 bagder
-
- * ares/ares_gethostbyaddr.c: the gethostbyname fix applied here as
- well
-
-2007-11-28 11:46 bagder
-
- * ares/ares_gethostbyname.c: fix next_lookup() to continue
- searching even if c-ares failed to load the /etc/hosts file,
- pointed out by Erik Kline:
- http://daniel.haxx.se/projects/c-ares/mail/c-ares-archive-2007-11/0027.shtml
-
-2007-11-28 11:33 bagder
-
- * configure.ac: When --with-gssapi (without given path) is used, we
- must use krb5-config to get the libs as well and not only the
- include path like we used to.
-
-2007-11-28 02:46 yangtse
-
- * tests/sshserver.pl: To allow remote log inspection avoid
- redirecting messages to stderr. Cleanup some debugging messages.
- Unlink log file on exit.
-
-2007-11-27 23:41 bagder
-
- * ares/configure.ac: Remove the check for libdl since that isn't
- actually used and it causes warnings. Pointed out by Robin
- Cornelius.
-
-2007-11-27 23:38 bagder
-
- * ares/Makefile.am: pkgconfig fix by Andreas Schuldei
-
-2007-11-27 23:37 bagder
-
- * ares/libcares.pc.in: spellfix
-
-2007-11-27 21:57 yangtse
-
- * tests/sshserver.pl: ConnectTimeout requires OpenSSH 3.7 or later
-
-2007-11-27 01:52 yangtse
-
- * tests/sshserver.pl: Explicitly disallow remote hosts to connect
- to local forwarded ports, the socks server port in the test
- suite. This is the default setting unless a tinkered built ssh is
- being used.
-
-2007-11-26 15:26 yangtse
-
- * tests/runtests.pl: Stop ssh and socks servers when verification
- fails
-
-2007-11-26 15:07 yangtse
-
- * tests/runtests.pl: Providing an explicit bind address besides the
- port for dynamic application-level port forwarding, our socks
- port, prevents ssh from running on some systems.
-
- By default, ssh binds local port forwardings to the loopback
- address, since this was the address being given as the explicit
- bind address, now it isn't given.
-
-2007-11-26 13:26 bagder
-
- * docs/INTERNALS: more blurb
-
-2007-11-26 12:04 bagder
-
- * CHANGES: Added recent changes and spellchecked
-
-2007-11-26 12:04 bagder
-
- * tests/data/: Makefile.am, test1015: test1015 --data-urlencode
-
-2007-11-26 12:03 bagder
-
- * src/main.c: #1 fixed --data-urlencode when no = or @ was used #2
- extended the user-agent buffer since I hit the 128 byte boundary!
-
-2007-11-26 12:02 bagder
-
- * docs/INTERNALS: slightly less outdated
-
-2007-11-26 03:45 yangtse
-
- * tests/: runtests.pl, sshserver.pl: Temporary change to better
- debug startup failures of test suite ssh and socks servers.
-
-2007-11-25 04:55 yangtse
-
- * tests/runtests.pl: Allow different start timeout specification
- for each server
-
-2007-11-25 00:18 bagder
-
- * lib/: ldap.c, tftp.c, url.c: reqdata doesn't exist anymore and
- the path moved to the UrlState struct
-
-2007-11-25 00:16 bagder
-
- * lib/: content_encoding.c, content_encoding.h, dict.c, easy.c,
- file.c, ftp.c, http.c, http_chunks.c, multi.c, progress.c, ssh.c,
- telnet.c, tftp.c, transfer.c, url.c, urldata.h: struct HandleData
- is now called struct SingleRequest, and is only for data that is
- inited at the start of the DO action. I removed the
- Curl_transfer_keeper struct completely, and I had to move out a
- few struct members (that had to be set before DO or used after
- DONE) to the UrlState struct. The SingleRequest struct is
- accessed with SessionHandle->req.
-
- One of the biggest reasons for doing this was the bunch of
- duplicate struct members in HandleData and Curl_transfer_keeper
- since it was really messy to keep track of two variables with the
- same name and basically the same purpose!
-
-2007-11-23 13:18 yangtse
-
- * tests/runtests.pl: make 'checkdied' in runtests.pl more robust
-
-2007-11-23 10:50 yangtse
-
- * tests/: data/test1013, ftpserver.pl, httpserver.pl, runtests.pl,
- data/test1014: Revert last change since it breaks running the
- test suite when builddir is different from srcdir.
-
-2007-11-23 05:03 yangtse
-
- * tests/: ftpserver.pl, httpserver.pl, runtests.pl, data/test1013,
- data/test1014: Improve chance of running runtests.pl from outside
- the source tree 'tests' directory
-
-2007-11-22 20:56 yangtse
-
- * tests/runtests.pl: Debugging messages to trace startnew failures
-
-2007-11-22 17:35 yangtse
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h: Provide a socklen_t
- definition in curl.h for Win32 API build targets which don't have
- one.
-
-2007-11-22 10:39 bagder
-
- * src/main.c: make nlen a size_t to better hold diffs between
- pointers etc
-
-2007-11-22 10:36 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: Alessandro
- Vesely helped me improve the --data-urlencode's syntax, parser
- and documentation.
-
-2007-11-21 23:37 bagder
-
- * lib/url.c: Make the do_complete() function not get called until
- the DO actually is compelete, which bascially means when used
- with the multi interface
-
-2007-11-21 20:33 yangtse
-
- * tests/runtests.pl: Temporary change adding additional debugging
- messages to better pinpoint startup failures of test suite ssh
- and socks servers.
-
-2007-11-21 18:50 yangtse
-
- * tests/httpsserver.pl: Fix trying to return outside of a
- subroutine
-
-2007-11-21 11:16 bagder
-
- * ares/: CHANGES, RELEASE-NOTES, ares_version.h: and we start on
- 1.5.2!
-
-2007-11-21 11:12 bagder
-
- * ares/CHANGES: change
-
-2007-11-21 11:12 bagder
-
- * ares/: Makefile.inc, RELEASE-NOTES: oops
-
-2007-11-21 10:31 bagder
-
- * ares/: RELEASE-NOTES, ares_version.h: start working on 1.5.1 now
-
-2007-11-21 10:24 bagder
-
- * ares/RELEASE-NOTES: this is what 1.5.0 is
-
-2007-11-21 00:17 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/http_negotiate.c,
- lib/urldata.h: While inspecting the Negotiate code, I noticed how
- the proxy auth was using the same state struct as the host auth,
- so both could never be used at the same time! I fixed it (without
- being able to check) to use two separate structs to allow
- authentication using Negotiate on host and proxy simultanouesly.
-
-2007-11-21 00:16 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify somewhat what happens to
- some data when a share is set to be used
-
-2007-11-21 00:02 bagder
-
- * lib/: easy.c, http.c, http_negotiate.c: white space changes only
- to clean up indent and source width
-
-2007-11-20 23:59 bagder
-
- * lib/url.c: remove the unconditional enabling of cookies if you
- set a share to use!
-
-2007-11-20 23:57 bagder
-
- * lib/urldata.h: a bunch of new comments
-
-2007-11-20 23:01 bagder
-
- * docs/curl.1: rephrased
-
-2007-11-20 17:47 yangtse
-
- * tests/sshserver.pl: Don't gather additional debug info unless
- sshd actually fails
-
-2007-11-20 15:23 patrickm
-
- * docs/BINDINGS: ILE RPG binding: OS/400 specific and contained in
- source distribution
-
-2007-11-20 15:10 yangtse
-
- * tests/sshserver.pl: Improve detection of sshd un/supported
- options.
-
- Gather additional debug info when the test suite ssh server fails
- to start.
-
-2007-11-20 11:08 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: Introuced
- --data-urlencode to the curl tool for easier url encoding of the
- data sent in a post.
-
-2007-11-20 11:03 bagder
-
- * lib/mprintf.c: fix the treatment of the parameter-based
- precision, as in "%.*s%s" as previously the second %s would
- wrongly get the numerical argument that is used for the variable
- precision for the first %s...
-
-2007-11-20 10:44 bagder
-
- * TODO-RELEASE: 107 - resolve the type= thing for FTP URLs over
- HTTP proxies
-
-2007-11-20 00:20 bagder
-
- * TODO-RELEASE: 106 - Share interface force-enable the cookie
- parser
-
-2007-11-19 18:20 yangtse
-
- * tests/: runtests.pl, sshserver.pl: This is a temporary change to
- test if OpenSSH 3.6 and SunSSH 1.1 are good/compatible enough to
- run the test suite ssh server and socks tests
-
-2007-11-19 16:47 bagder
-
- * ares/: ares_ipv6.h, bitncmp.h, inet_net_pton.h, inet_ntop.h: fill
- in missing copyrights
-
-2007-11-19 10:24 bagder
-
- * lib/sslgen.c: I think this is the right fix for other non-OpenSSL
- libs, based on the NSS fix from the other day. It is time to
- setup the internal SSL libs and treat them with a "handler"
- struct similar to how we deal with the protocols these days...
-
-2007-11-19 02:49 yangtse
-
- * tests/sshserver.pl: Temporary change to help debugging string(s)
- returned by sshd -V when sshd is not being identified as an
- OpenSSH daemon
-
-2007-11-18 23:48 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: removed now obsolete defines; updated
- external library versions to latest.
-
-2007-11-18 10:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sslgen.c: Rob Crittenden fixed SSL
- connections with NSS done with the multi-interface
-
-2007-11-18 02:16 yangtse
-
- * tests/sshserver.pl: Add /opt/ssh/sbin and /opt/ssh/libexec to the
- sshd locations search list.
-
- Improve wording of a couple of debug messages.
-
-2007-11-17 18:43 yangtse
-
- * tests/sshserver.pl: When unable to start test suite sshserver,
- log if OpenSSH has not been found or the OpenSSH version found
-
-2007-11-17 11:22 bagder
-
- * CHANGES, configure.ac, docs/examples/Makefile.am: Andres Garcia
- made the examples build fine on Windows (mingw + msys) when the
- lib was built staticly.
-
-2007-11-17 03:28 yangtse
-
- * tests/sshserver.pl: Add /usr/local/sbin and /usr/freeware/bin to
- the sshd locations search list
-
-2007-11-17 00:06 bagder
-
- * CHANGES, tests/runtests.pl: Michal Marek made the test suite
- remember what test servers that fail to start so that subsequent
- tries are simply skipped.
-
-2007-11-16 10:36 sesse
-
- * ares/ares_parse_aaaa_reply.c: Fix a double free.
-
-2007-11-16 02:19 yangtse
-
- * lib/http.c: Fix unsigned integral math check in add_buffer_send()
-
-2007-11-16 00:42 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Ates Goral identified a
- problem in http.c:add_buffer_send() when a debug callback was
- used, as it could wrongly pass on a bad size for the outgoing
- HTTP header. The bad size would be a very large value as it was a
- wrapped size_t content. This happened when the whole HTTP request
- failed to get sent in one single send.
- http://curl.haxx.se/mail/lib-2007-11/0165.html
-
-2007-11-16 00:30 bagder
-
- * lib/http.c: removed unnecessary check from add_buffer_send() that
- only was made within #ifdef CURL_DOES_CONVERSIONS anyway! I
- turned it into a DEBUGASSERT() instead.
-
-2007-11-15 23:41 bagder
-
- * CHANGES, tests/runtests.pl: Michal Marek fixed the test suite to
- better deal with the case when the HTTP ipv6 server can't run.
-
-2007-11-15 22:45 bagder
-
- * lib/: file.c, http_chunks.c, multi.c, tftp.c, transfer.c,
- transfer.h, url.c, urldata.h: Rearranged code and changed
- Curl_readwrite_init() and Curl_pre_readwrite() into do_init() and
- do_complete() which now are called first and last in the DO
- function. It simplified the flow in multi.c and the functions got
- more sensible names!
-
-2007-11-15 20:44 yangtse
-
- * ares/: ahost.c, ares.h, ares_ipv6.h, ares_parse_a_reply.c,
- ares_parse_aaaa_reply.c, config-win32.h, nameser.h: Needed now
- that in6_addr is referenced in ares.h
-
-2007-11-15 14:20 yangtse
-
- * tests/server/tftpd.c: Replace isupper with our uppercase macro
- version
-
-2007-11-15 14:12 yangtse
-
- * src/main.c: Replace isgraph with our uppercase macro version
-
-2007-11-15 12:03 bagder
-
- * lib/transfer.c: Make the Transfer() function return earlier
- without doing any initializations for the cases where there's
- nothing to do in here, like for SFTP directory listings that
- already is complete when this function gets called. The init
- stuff clears byte counters which isn't really desired.
-
-2007-11-15 10:16 sesse
-
- * ares/ares_gethostbyname.c: When looking up in DNS and then in the
- hosts file, return the error code from DNS if both fail, instead
- of returning the error code from the hosts file, as today. Patch
- from the Google tree.
-
-2007-11-15 09:36 sesse
-
- * ares/: ares.h, ares_gethostbyname.c, ares_parse_a_reply.3,
- ares_parse_a_reply.c, ares_parse_aaaa_reply.3,
- ares_parse_aaaa_reply.c: Return TTL data from
- ares_parse_{a,aaaa}_reply, if the user is so inclined. Patch from
- the Google tree.
-
-2007-11-14 23:44 bagder
-
- * lib/tftp.c: use the existing variable instead
-
-2007-11-14 23:41 bagder
-
- * lib/tftp.c: Fix how TFTP connections are treated when re-used, if
- the SessionHandle has been used for other protocols in between. I
- found this when test 2004 started to fail for me!
-
-2007-11-14 01:48 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Fix a variable potential
- wrapping in add_buffer() when using absolutely huge send buffer
- sizes
-
-2007-11-13 00:04 bagder
-
- * CHANGES, lib/ssh.c, lib/urldata.h: Fixed a remaining problem with
- doing SFTP directory listings on a re-used persistent connection.
- Mentioned by Immanuel Gregoire on the mailing list.
-
-2007-11-12 22:42 bagder
-
- * lib/url.c: comment language
-
-2007-11-12 22:38 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Bug report #1830637
- (http://curl.haxx.se/bug/view.cgi?id=1830637), which was
- forwarded from the Gentoo bug tracker by Daniel Black and was
- originally submitted by Robin Johnson, pointed out that libcurl
- would do bad memory references when it failed and bailed out
- before the handler thing was setup. My fix is not done like the
- provided patch does it, but instead I make sure that there's
- never any chance for a NULL pointer in that struct member.
-
-2007-11-12 10:24 bagder
-
- * lib/ssh.c: oops, fixed build when CURL_LIBSSH2_DEBUG is defined
-
-2007-11-11 15:20 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: new ruby binding, curl-multi
- version 0.1
-
-2007-11-10 05:23 yangtse
-
- * lib/select.h: Some versions of winsock2.h have pollfd struct and
- constants
-
-2007-11-08 20:28 yangtse
-
- * lib/url.c: Fix compiler warning: integral size mismatch in
- argument
-
-2007-11-08 19:13 yangtse
-
- * ares/ares.h, ares/ares_private.h, ares/setup.h, lib/setup.h,
- src/setup.h, include/curl/curl.h: Define WIN32 when build target
- is Win32 API. This also defines it for WinCE even though it is a
- subset of WIN32.
-
-2007-11-08 17:43 yangtse
-
- * lib/ssh.c: Fix compiler warning: may be used uninitialized
-
-2007-11-08 17:32 yangtse
-
- * tests/server/tftp.h: Fix comment
-
-2007-11-08 11:25 bagder
-
- * lib/urldata.h: spell!
-
-2007-11-08 11:22 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c, lib/urldata.h: Bug report
- #1823487 (http://curl.haxx.se/bug/view.cgi?id=1823487) pointed
- out that SFTP requests didn't use persistent connections. Neither
- did SCP ones. I gave the SSH code a good beating and now both
- SCP and SFTP should use persistent connections fine. I also did a
- bunch for indent changes as well as a bug fix for the "keyboard
- interactive" auth.
-
-2007-11-08 02:33 yangtse
-
- * ares/vc/: adig/adig.dsp, ahost/ahost.dsp: The only libraries
- actually needed for sample programs adig and ahost are ws2_32.lib
- and advapi32.lib
-
-2007-11-07 19:18 yangtse
-
- * ares/config-win32.h, lib/config-win32.h, lib/config-win32ce.h,
- src/config-win32.h: MSVC versions prior to VS2005 do not complain
- about portable C functions
-
-2007-11-07 10:21 bagder
-
- * lib/: cookie.c, dict.c, escape.c, file.c, ftp.c, getenv.c,
- getinfo.c, gtls.c, hash.c, hostares.c, hostip.c, hostip4.c,
- hostip6.c, http_chunks.c, http_digest.c, if2ip.c, inet_ntop.c,
- inet_pton.c, krb4.c, llist.c, md5.c, memdebug.c, netrc.c,
- nwlib.c, nwos.c, parsedate.c, qssl.c, security.c, share.c, ssh.c,
- sslgen.c, strdup.c, strequal.c, strerror.c, strtok.c, telnet.c,
- tftp.c, version.c: if () => if() while () => while() and some
- other minor re-indentings
-
-2007-11-07 06:52 danf
-
- * CHANGES, lib/telnet.c: Improved telnet support by drastically
- reducing the number of write callbacks needed to pass a buffer to
- the user. Instead one per byte it is now as little as one per
- segment.
-
-2007-11-07 05:53 danf
-
- * docs/examples/getinmemory.c: Add a call to curl_global_cleanup to
- show how to do a proper shutdown.
-
-2007-11-06 18:18 yangtse
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h: Bug report #1824894
- (http://curl.haxx.se/bug/view.cgi?id=1824894) pointed out a
- problem in curl.h when building C++ apps with MSVC. To fix it,
- the inclusion of header files in curl.h is moved outside of the
- C++ extern "C" linkage block.
-
-2007-11-06 17:20 giva
-
- * lib/strtoofft.h: Added prototype for _strtoi64().
-
-2007-11-06 17:20 giva
-
- * lib/parsedate.c: Constified from arguments.
-
-2007-11-05 21:54 danf
-
- * tests/libtest/test613.pl: Sort the directory listing because the
- server doesn't always do it.
-
-2007-11-05 21:53 danf
-
- * tests/data/: test1013, test1014: Added some keywords
-
-2007-11-05 16:43 bagder
-
- * RELEASE-NOTES: tclcurl and a mirror recount when bad ones have
- been cut out
-
-2007-11-05 11:07 bagder
-
- * docs/examples/10-at-a-time.c: Andres Garcia made it build and run
- on windows
-
-2007-11-05 10:45 bagder
-
- * lib/: base64.c, connect.c, content_encoding.c, easy.c,
- formdata.c, ftp.c, hostthre.c, http.c, http_negotiate.c,
- http_ntlm.c, inet_pton.c, ldap.c, mprintf.c, multi.c, nss.c,
- select.c, sendf.c, socks.c, splay.c, ssluse.c, strtoofft.c,
- telnet.c, transfer.c, url.c: removed space after if and while
- before the parenthesis for better source code consistency
-
-2007-11-05 10:31 bagder
-
- * docs/CONTRIBUTE: I check the code right now and while() and if()
- are in majority over while () and if () so the rule is from now
- on => no space before the parenthesis.
-
-2007-11-05 10:30 bagder
-
- * lib/: ssh.c, urldata.h: Move connection-oriented variables from
- the SessionHandle struct to the connectdata struct. This will in
- theory enable us to do persistent connections with SCP+SFTP, but
- currently the state machine always (and wrongly) cleanup
- everything in the 'done' action instead of in 'disconnect'. Also
- did a bunch of indent fixes, if () => if() and a few other source
- cleanups like added comments etc.
-
-2007-11-03 15:44 bagder
-
- * lib/multi.c: make sure the code deals with failures on the
- DO_MORE state properly
-
-2007-11-03 00:34 bagder
-
- * lib/ftp.c: avoid setting up a transfer when the state machine
- failed previously
-
-2007-11-01 22:49 bagder
-
- * CHANGES, RELEASE-NOTES, src/homedir.c: Toby Peterson patched a
- memory problem in the command line tool that happened when a user
- had a home dir as an empty string. curl would then do free() on a
- wrong area.
-
-2007-11-01 22:43 bagder
-
- * lib/ftp.c: minor re-indent
-
-2007-11-01 22:20 danf
-
- * tests/libtest/test1013.pl: Ignore more features that curl-config
- is not expected to know about
-
-2007-11-01 19:55 danf
-
- * CHANGES, RELEASE-NOTES, configure.ac: Fixed curl-config
- --features to not display libz when it wasn't used due to a
- missing header file.
-
-2007-11-01 18:42 danf
-
- * tests/runtests.pl: Make postcheck failure message more like the
- others
-
-2007-11-01 04:09 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1013,
- tests/data/test1014, tests/libtest/test1013.pl: Added test case
- 1014 to compare curl-config --features with curl --version
-
-2007-11-01 01:36 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1013,
- tests/libtest/Makefile.am, tests/libtest/test1013.pl: Added test
- case 1013 to check that curl-config --protocols matches the
- protocols listed in curl --version
-
-2007-11-01 00:33 danf
-
- * CHANGES, RELEASE-NOTES, configure.ac: Fixed the output of
- curl-config --protocols which showed SCP and SFTP always, except
- when --without-libssh2 was given
-
-2007-10-31 19:32 danf
-
- * tests/valgrind.pm: Detect curl source when valgrind provides an
- absolute source file name
-
-2007-10-31 11:58 giva
-
- * lib/Makefile.Watcom: Add support for LDAP urls. Allthough the
- OpenWatcom headers <winlap.h> and <winber.h> defines wrong
- calling convention.
-
-2007-10-31 11:20 giva
-
- * lib/Makefile.Watcom: Added optional use of zlib (USE_ZLIB=1).
- Use a response-file for the C-compiler.
-
-2007-10-31 10:21 bagder
-
- * RELEASE-NOTES: contributor re-count (we'll break the 600 limit
- very very soon now) and I made all the numericals at the top
- phrased "shorter" and I cut out the "number of releases since the
- very beginning" since that's just the number curl releases + 26
- and not a very interesting number anyway.
-
-2007-10-31 00:00 danf
-
- * CHANGES, lib/file.c, lib/file.h, lib/url.c: Fixed an OOM problem
- with file: URLs Moved Curl_file_connect into the protocol handler
- struct.
-
-2007-10-30 23:48 bagder
-
- * docs/THANKS: added new people from the 7.17.1 announcement
-
-2007-10-29 23:57 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test546: Added test
- case 546 to check that subsequent FTP transfers work after a
- failed one using the multi interface
-
-2007-10-29 23:13 bagder
-
- * RELEASE-NOTES: curl-config --features and --protocols show the
- correct output when built with NSS
-
-2007-10-29 23:13 bagder
-
- * CHANGES, configure.ac, curl-config.in: Based on one of those bug
- reports that are intercepted by a distro's bug tracker
- (https://bugzilla.redhat.com/show_bug.cgi?id=316191), I now made
- curl-config --features and --protocols show the correct output
- when built with NSS.
-
-2007-10-29 21:57 danf
-
- * lib/: sendf.c, sendf.h: Reverted the const change--what was I
- thinking?
-
-2007-10-29 19:32 danf
-
- * lib/: sendf.c, sendf.h: Made some pointers const
-
-2007-10-29 16:06 bagder
-
- * include/curl/curlver.h: 7.17.2
-
-2007-10-29 16:05 bagder
-
- * RELEASE-NOTES: start working on 7.17.2
-
-2007-10-29 15:49 bagder
-
- * CHANGES: 7.17.1!
-
-2007-10-29 15:48 bagder
-
- * RELEASE-NOTES: correct mirror count
-
-2007-10-29 11:19 bagder
-
- * lib/Makefile.am: let 7.17.1 be version-info 4:1:0
-
-2007-10-28 13:02 giva
-
- * lib/Makefile.Watcom: OpenWatcom cannot use wldap32.lib (wrong
- calling convention?). Added generation of dummy ca-bundle.h.
- Sorted objects.
-
-2007-10-28 10:33 bagder
-
- * RELEASE-NOTES: http://curl.wetzlmayr.at/ is a new web mirror in
- Nuremberg, Germany
-
-2007-10-27 03:04 danf
-
- * tests/: FILEFORMAT, data/test2000, data/test2001, data/test2002,
- data/test2003, data/test2004: Fixed the 2000-series tests so that
- the downloaded data is actually checked
-
-2007-10-27 03:02 danf
-
- * tests/ftpserver.pl: Made the magic testnumber > 10000 support
- actually work
-
-2007-10-26 22:19 danf
-
- * tests/data/test2004: Fixed the test case to create only a single
- test file, which is all the test harness supports.
-
-2007-10-26 21:26 danf
-
- * lib/ftp.c: Fixed a valgrind uninitialized variable error.
-
-2007-10-26 21:26 danf
-
- * tests/runtests.pl: Check that all servers in the <server> section
- are supported, not just the first.
-
-2007-10-26 09:46 bagder
-
- * docs/curl-config.1: mention --static-libs as added in 7.17.1
-
-2007-10-26 03:12 yangtse
-
- * lib/url.c: typecast to prevent compiler warning
-
-2007-10-26 02:36 yangtse
-
- * tests/server/sws.c: Detect, log and avoid storing a request with
- a negative size.
-
-2007-10-26 00:30 danf
-
- * CHANGES, RELEASE-NOTES, configure.ac, curl-config.in,
- docs/curl-config.1: Added the --static-libs option to curl-config
-
-2007-10-25 23:49 danf
-
- * tests/data/test518: Disable valgrind for this test to avoid the
- rlimit = soft rlimit problem found by Michal Marek.
-
-2007-10-25 23:14 bagder
-
- * RELEASE-NOTES: oops
-
-2007-10-25 23:08 bagder
-
- * CHANGES, RELEASE-NOTES, lib/nss.c: Made libcurl built with NSS
- possible to ignore the peer verification. Previously it would
- fail if the ca bundle wasn't present, even if the code ignored
- the verification results.
-
-2007-10-25 23:04 danf
-
- * tests/data/: Makefile.am, test1004, test2004: Added test case
- 2004. Disable valgrind in test case 1004 due to a libtool bug.
-
-2007-10-25 22:54 bagder
-
- * lib/nss.c: prevent compiler warnings about shadowing and one case
- of unused variable
-
-2007-10-25 21:40 patrickm
-
- * CHANGES, tests/data/Makefile.am, tests/data/test35,
- tests/data/test544, tests/data/test545,
- tests/libtest/Makefile.am, tests/libtest/lib544.c,
- tests/server/sws.c: Allow test server to handle binary POSTs.
- Tests 35, 544 545 added: binary data POSTs.
-
-2007-10-25 21:39 danf
-
- * tests/runtests.pl: When valgrind is disabled in the test file,
- don't run it at all (as opposed to running it and ignoring its
- output).
-
-2007-10-25 20:07 yangtse
-
- * tests/runtests.pl: Don't show valgrind log files of other tests
-
-2007-10-25 16:30 bagder
-
- * CHANGES, RELEASE-NOTES, tests/runtests.pl: Michal Marek fixed the
- test script to be able to use valgrind even when the lib is built
- shared with libtool.
-
-2007-10-25 11:41 bagder
-
- * lib/url.c: Don't assume there's a sessionhandle around when a
- connection is disconnected, so do the data->reqdata.current_conn
- assignment when we know there is an easy handle existing! Fixes
- the valgrind report on test 509.
-
-2007-10-25 11:34 bagder
-
- * lib/tftp.c: fix the check
-
-2007-10-25 09:47 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c, tests/data/DISABLED: Fixed a
- TFTP memory leak. Enabled test 2003 to verify this.
-
-2007-10-25 00:48 danf
-
- * CHANGES, tests/data/DISABLED, tests/data/Makefile.am,
- tests/data/test2002, tests/data/test2003, tests/server/tftpd.c:
- Fixed the test TFTP server to support the >10000 test number
- notation Added test cases 2002 and 2003 (the latter disabled for
- now)
-
-2007-10-24 23:27 bagder
-
- * tests/data/DISABLED: enable 2000 and 2001
-
-2007-10-24 23:14 bagder
-
- * lib/ftp.c: Curl_ftp_disconnect() no longer relies on anything in
- the reqdata struct. That was even mentioned to be bad in a
- comment! Should make test 2000 and 2001 work fine.
-
- Also, freedirs() now take a ftp_conn struct pointer which saves
- some extra unnecessary variable assignments.
-
-2007-10-24 23:09 bagder
-
- * lib/urldata.h: added clarifying comment
-
-2007-10-24 21:40 danf
-
- * CHANGES, tests/README, tests/data/DISABLED,
- tests/data/Makefile.am, tests/data/test2000, tests/data/test2001,
- tests/data/test51: Added test cases 2000 and 2001 which test
- multiple protocols using the same easy handle Fixed the
- filecheck: make target to work outside the source tree
-
-2007-10-24 21:39 danf
-
- * tests/ftpserver.pl: Fixed the test FTP server to support the
- >10000 test number notation
-
-2007-10-24 18:40 yangtse
-
- * acinclude.m4: Missing double quotes
-
-2007-10-24 16:39 yangtse
-
- * ares/config-win32.h, ares/setup.h, ares/setup_once.h,
- lib/config-win32.h, lib/config-win32ce.h, lib/setup_once.h,
- src/config-win32.h: Windows build targets have socklen_t
- definition in ws2tcpip.h but some versions of ws2tcpip.h do not
- have the definition. It seems that when the socklen_t definition
- is missing from ws2tcpip.h the definition for INET_ADDRSTRLEN is
- also missing, and that when one definition is present the other
- one also is available.
-
-2007-10-24 15:03 patrickm
-
- * tests/server/tftpd.c: Close log/server.input ASAP to avoid
- lengthy file lock on cygwin
-
-2007-10-24 11:28 bagder
-
- * CHANGES, RELEASE-NOTES, maketgz, src/Makefile.vc6: Vladimir
- Lazarenko pointed out that we should do some 'mt' magic when
- building with VC8 to get the "manifest" embedded to make fine
- stand-alone binaries. The maketgz and the src/Makefile.vc6 files
- were adjusted accordingly.
-
-2007-10-23 23:00 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/url.c: Bug report
- #1812190 (http://curl.haxx.se/bug/view.cgi?id=1812190) points out
- that libcurl tried to re-use connections a bit too much when
- using non-SSL protocols tunneled over a HTTP proxy.
-
-2007-10-23 17:16 yangtse
-
- * lib/file.c: File is not a protocol that can deal with
- "persistancy"
-
-2007-10-23 17:10 yangtse
-
- * tests/libtest/lib508.c: Read callback should return 0 when no
- more data left
-
-2007-10-23 12:14 yangtse
-
- * lib/http.c: Fix compiler warning: subscript has type `char'
-
-2007-10-23 01:31 gknauf
-
- * ares/ares_init.c: removed dependency on gettimeofday() since we
- use only 1 sec resolution here.
-
-2007-10-22 17:07 bagder
-
- * TODO-RELEASE: removed 105, it is now assumed to be fixed!
-
- 105 - "invalid free after an http redirect to ftp"
-
-2007-10-22 17:05 bagder
-
- * CHANGES, RELEASE-NOTES, lib/file.c, lib/ftp.c, lib/http.c,
- lib/ssh.c, lib/url.c, lib/url.h, lib/urldata.h: Michal Marek
- forwarded the bug report
- https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP
- redirect to FTP that caused memory havoc. His work together with
- my efforts created two fixes:
-
- #1 - FTP::file was moved to struct ftp_conn, because is has to be
- dealt with at connection cleanup, at which time the struct
- HandleData could be used by another connection. Also,
- the unused char *urlpath member is removed from struct FTP.
-
- #2 - provide a Curl_reset_reqproto() function that frees
- data->reqdata.proto.* on connection setup if needed (that is if
- the SessionHandle was used by a different connection).
-
-2007-10-22 16:48 bagder
-
- * TODO-RELEASE: Removed 93 and 100, there's no work on these and
- they're not critical in any way:
-
- 93 - Digest for IIS fix (subject for removal) 100 - icc
- segmentation faults (subject for removal)
-
-2007-10-22 12:23 bagder
-
- * TODO-RELEASE: #103 is fixed
-
-2007-10-22 11:28 bagder
-
- * RELEASE-NOTES: mention Patrick Monnerat's recent work on the
- postfields problems
-
-2007-10-22 11:25 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Bug report #1815530
- (http://curl.haxx.se/bug/view.cgi?id=1815530) points out that
- specifying a proxy with a trailing slash didn't work (unless it
- also contained a port number).
-
-2007-10-20 23:06 gknauf
-
- * maketgz: Mohun Biswas sent a patch to fix generated MSVC8
- makefiles.
-
-2007-10-20 17:47 yangtse
-
- * lib/url.c: We use this ZERO_NULL to avoid picky compiler
- warnings, when assigning a NULL pointer to a function pointer
- var.
-
-2007-10-20 17:11 yangtse
-
- * ares/ares_init.c, lib/hostares.c, lib/url.c: Fix compiler
- warning: conversion from "int" to "unsigned short" may lose
- significant bits
-
-2007-10-19 18:15 yangtse
-
- * acinclude.m4: Add custom check for WINLDAP libraries.
-
- In CURL_CHECK_LIBS_WINLDAP and CURL_CHECK_LIBS_LDAP, check first
- with no additional library even when the optional list of
- libraries has been given.
-
-2007-10-19 14:15 yangtse
-
- * configure.ac, ares/configure.ac: Fix message shown when detecting
- icc version
-
-2007-10-19 12:52 yangtse
-
- * ares/ares.h: Avoid shadowing a global declaration
-
-2007-10-18 19:31 yangtse
-
- * ares/ares_init.c: Renamed a variable to avoid shadowing a global
- declaration
-
-2007-10-18 19:17 yangtse
-
- * ares/ares_process.c: Renamed internal function to avoid a
- variable shadowing it
-
-2007-10-18 18:24 yangtse
-
- * configure.ac, ares/configure.ac: Fix compiler warning:
- feupdateenv is not implemented and will always fail.
- Specifically for linux x86-64 with Intel's icc.
-
-2007-10-18 17:11 yangtse
-
- * ares/acinclude.m4: Sync PLATFORM_AIX_V3 detection and
- CURL_CC_DEBUG_OPTS() icc warning level with libcurl's
-
-2007-10-18 12:54 patrickm
-
- * lib/url.c: Allow CURLOPT_COPYPOSTFIELDS with explicit data size =
- 0
-
-2007-10-18 03:04 danf
-
- * lib/url.c: Avoid a NULL pointer dereference in an OOM condition.
-
-2007-10-18 03:01 yangtse
-
- * ares/: ares_init.c, ares_query.c: Fix compiler warning:
- conversion from "int" to "unsigned char" may lose significant
- bits
-
-2007-10-17 21:29 yangtse
-
- * lib/url.c: Fix overflow detection, take four. Avoiding zero size
- malloc.
-
-2007-10-17 20:47 yangtse
-
- * acinclude.m4: Fix CURL_CHECK_LIBS_LDAP failure when no parameter
- is given
-
-2007-10-17 20:18 yangtse
-
- * ares/setup_once.h: actually sync with lib/setup_once.h
-
-2007-10-17 20:06 yangtse
-
- * lib/url.c: Fix overflow detection, thanks to Patrick Monnerat
- detecting test failure condition:
- http://curl.haxx.se/mail/lib-2007-10/0152.html
-
-2007-10-17 18:59 yangtse
-
- * ares/setup_once.h: sync with lib/setup_once.h
-
-2007-10-17 18:58 yangtse
-
- * lib/dict.c, lib/file.c, lib/ftp.c, lib/http.c, lib/ldap.c,
- lib/setup_once.h, lib/ssh.c, lib/telnet.c, lib/tftp.c, lib/url.c,
- tests/libtest/lib509.c: We use this ZERO_NULL to avoid picky
- compiler warnings, when assigning a NULL pointer to a function
- pointer var.
-
-2007-10-17 15:08 yangtse
-
- * acinclude.m4: Default check for more libraries in
- CURL_CHECK_LIBS_LDAP, and allow parameter specification of
- libraries to check.
-
-2007-10-17 02:44 yangtse
-
- * lib/connect.c: Fix compiler warning: signed and unsigned type in
- conditional expression
-
-2007-10-17 02:10 yangtse
-
- * lib/connect.c: Fix compiler warning: comparison between signed
- and unsigned
-
-2007-10-17 01:32 yangtse
-
- * lib/url.c: ANSI C compliant overflow check
-
-2007-10-16 23:27 sesse
-
- * ares/ares_search.c: Fix a bug where fallback from AF_INET6 to
- AF_INET would not work properly together with relative search; if
- you had a search path of .a.com and .b.com, and foo.a.com would
- return ARES_ENODATA and foo.b.com would return ARES_ENOTFOUND,
- the lookup would not properly retry with AF_INET as it forgot the
- first ARES_ENODATA.
-
-2007-10-16 20:09 danf
-
- * lib/url.c: Fixed compiler warning re: unused variable `bigsize'
-
-2007-10-16 01:58 yangtse
-
- * acinclude.m4: Avoid depending on a header file for the definition
- of NULL
-
-2007-10-15 23:19 danf
-
- * ares/ares_expand_string.3, docs/libcurl/curl_easy_setopt.3,
- docs/libcurl/curl_formadd.3: Mention first version with
- CURLOPT_COPYPOSTFIELDS. Don't confuse NUL with NULL.
-
-2007-10-15 23:03 danf
-
- * docs/INSTALL: Updated minimum libcurl size
-
-2007-10-15 20:32 patrickm
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/config-os400.h, lib/http.c, lib/transfer.c, lib/url.c,
- lib/urldata.h, packages/OS400/README.OS400,
- packages/OS400/ccsidcurl.c: Fix dynamic CURLOPT_POSTFIELDS bug:
- back to static. CURLOPT_COPYPOSTFIELDS option added for dynamic.
- Fix some OS400 features.
-
-2007-10-15 18:24 danf
-
- * acinclude.m4, lib/url.c: Fix LDAP compile error when LDAP is not
- available. Fixed a typo in the LDAP configure code and made sure
- NULL is defined in a test programs that need it.
-
-2007-10-15 01:47 yangtse
-
- * acinclude.m4: Fix custom check for LDAP libraries
-
-2007-10-14 23:25 yangtse
-
- * acinclude.m4, configure.ac: Add custom check for LDAP libraries
-
-2007-10-14 04:37 yangtse
-
- * acinclude.m4, configure.ac: Add custom checks for lber, ldap,
- ldapssl and ldap_ssl header files
-
-2007-10-13 22:49 bagder
-
- * docs/curl.1: Chris Leighton:
-
- My understanding is that we use "number" for discrete variables
- and "amount" for continuous variables.
-
- So you can say "The amount of flour required depends on..." or,
- "Last night I consumed a large amount of beer!".
-
- And, "That tank contains a large number of fish" or, "Over the
- week I consumed a number of cases of beer."
-
- I think that features are discrete, so the man page would read
- "...the number of features will make your head spin!".
-
-2007-10-13 16:23 yangtse
-
- * acinclude.m4, configure.ac: Add check for winldap and winber
- header files
-
-2007-10-13 02:47 danf
-
- * lib/: file.c, file.h, ftp.c, url.c: Made a few more functions
- static with the protocol handler table in place.
-
-2007-10-12 22:53 bagder
-
- * lib/url.c: another Curl_handler fix, the #ifdefs got a bit mixed
- up...
-
-2007-10-12 20:49 danf
-
- * lib/: ftp.c, http.c, url.c: Fixed a few compile errors and
- warnings.
-
-2007-10-12 17:26 bagder
-
- * TODO-RELEASE: added three serious bugs to fix before release, and
- marked the previous two as subject for removal from this list
- (without any fix)
-
-2007-10-12 15:36 patrickm
-
- * CHANGES, lib/curl_ldap.h, lib/dict.c, lib/dict.h, lib/file.c,
- lib/file.h, lib/ftp.c, lib/ftp.h, lib/http.c, lib/http.h,
- lib/ldap.c, lib/ssh.c, lib/ssh.h, lib/telnet.c, lib/telnet.h,
- lib/tftp.c, lib/tftp.h, lib/url.c, lib/urldata.h: Added
- per-protocol callback static tables, replacing callback ptr
- storage in the connectdata structure by a single handler table
- ptr.
-
-2007-10-12 04:09 danf
-
- * tests/data/: test171, test194: Fixed a couple of typos that
- messed up the tests.
-
-2007-10-12 03:44 danf
-
- * tests/data/: test1001, test1002, test131, test153, test154,
- test167, test168, test169, test171, test172, test175, test177,
- test179, test188, test194, test206, test233, test242, test243,
- test245, test246, test258, test33, test506, test540, test6,
- test62, test7, test73, test92: Added some <keywords> sections and
- use some key words more consistently.
-
-2007-10-11 23:15 danf
-
- * CHANGES, tests/runtests.1, tests/runtests.pl: Fixed the -l option
- of runtests.pl Added support for skipping tests based on key
- words.
-
-2007-10-10 15:00 yangtse
-
- * configure.ac: improve checking for ldap.h and ldap_ssl.h header
- files
-
-2007-10-10 01:51 yangtse
-
- * lib/ldap.c: lber.h needs to be included since ldap.h might not
- include it
-
-2007-10-10 01:44 yangtse
-
- * configure.ac: Add check for lber.h and ldap.h header files
-
-2007-10-10 01:25 gknauf
-
- * lib/ldap.c: added check for MSVC6 standard PSDK and bail out
- since insufficient for LDAP support with current code.
-
-2007-10-10 01:24 yangtse
-
- * tests/server/sws.c: also log error message string
-
-2007-10-10 01:21 yangtse
-
- * tests/server/sockfilt.c: logmsg already appends '\n'
-
-2007-10-10 00:10 gknauf
-
- * lib/config-win32.h: fix socklen_t for MSVC6 & 7.
-
-2007-10-09 22:15 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: added two more module
- dependencies for LDAPS.
-
-2007-10-09 18:49 danf
-
- * docs/curl.1: Documented error codes 77-80, and fixed the one for
- 60.
-
-2007-10-09 16:53 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Add a paragraph about
- CURLOPT_CUSTOMREQUEST not actually changing libcurl's behavior,
- it only changes the actual request method keyword and this is not
- always what the user/app wants.
-
-2007-10-09 10:42 bagder
-
- * CHANGES, docs/curl.1: Michal Marek removed the no longer existing
- return codes from the curl.1 man page.
-
-2007-10-08 16:39 giva
-
- * ares/Makefile.dj: Added needed 'HAVE_*' defines.
-
-2007-10-08 16:38 giva
-
- * ares/ares_process.c: 'FD_CLOXEC' is meaningless on MSDOS/Watt-32.
-
-2007-10-07 10:28 bagder
-
- * CHANGES, TODO-RELEASE, docs/KNOWN_BUGS, lib/http.c: Known bug
- #47, which confused libcurl if doing NTLM auth over a proxy with
- a response that was larger than 16KB is now improved slightly so
- that now the restriction at 16KB is for the headers only and it
- should be a rare situation where the response-headers exceed
- 16KB. Thus, I consider #47 fixed and the header limitation is now
- known as known bug #48.
-
-2007-10-06 19:20 giva
-
- * include/curl/curl.h: <ws2tcpip.h> needed for 'socklen_t' typedef.
-
-2007-10-05 17:18 bagder
-
- * docs/libcurl/ABI: add url to the wikipedia article for a longer
- description
-
-2007-10-05 17:16 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Alexey Pesternikov documented
- CURLOPT_OPENSOCKETDATA and CURLOPT_OPENSOCKETFUNCTION
-
-2007-10-05 16:37 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- lib/url.c: Michael Wallner made the CULROPT_COOKIELIST option
- support a new magic string: "FLUSH". Using that will cause
- libcurl to flush its cookies to the CURLOPT_COOKIEJAR file.
-
-2007-10-05 00:05 bagder
-
- * CHANGES, docs/libcurl/ABI, docs/libcurl/Makefile.am: The new file
- docs/libcurl/ABI describes how we view ABI breakages, soname
- bumps and what the version number's significance to all that is.
-
-2007-10-04 23:26 bagder
-
- * CHANGES, tests/data/DISABLED, tests/data/test1009: I enabled test
- 1009 and made the --local-port use a wide range to reduce the
- risk of failures.
-
-2007-10-04 12:01 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c, lib/tftp.c, lib/urldata.h,
- tests/data/DISABLED, tests/data/Makefile.am, tests/data/test1009:
- Kim Rinnewitz reported that --local-port didn't work with TFTP
- transfers. This happened because the tftp code always
- uncondionally did a bind() without caring if one already had been
- done and then it failed. I wrote a test case (1009) to verify
- this, but it is a bit error-prone since it will have to pick a
- fixed local port number and since the tests are run on so many
- different hosts in different situations I add it in disabled
- state.
-
-2007-10-04 10:12 sesse
-
- * ares/ares_process.c: Removed a piece of redundant code
- (process_answer already takes care of it).
-
-2007-10-04 10:09 sesse
-
- * ares/ares_getnameinfo.c: Another timeout fix in
- ares_getnameinfo().
-
-2007-10-04 10:09 sesse
-
- * ares/ares_getnameinfo.c: Send the timeout count in
- ares_getnameinfo().
-
-2007-10-04 10:07 sesse
-
- * ares/ares_destroy.c: Moved the NULL check for channel upwards in
- ares_destroy().
-
-2007-10-04 10:06 sesse
-
- * ares/ares_cancel.c: Clarified the comment over ares_cancel.
-
-2007-10-04 04:09 yangtse
-
- * tests/server/sws.c: On error, close "log/server.response"
-
-2007-10-04 01:38 yangtse
-
- * tests/server/sws.c: If TCP_NODELAY is not defined we can't
- disable the Nagle algorithm
-
-2007-10-03 18:58 yangtse
-
- * lib/select.c: Cleanup no longer used macros
-
-2007-10-03 18:26 yangtse
-
- * lib/select.c: Fix compiler warning: local variable may be used
- without having been initialized
-
-2007-10-03 17:09 patrickm
-
- * packages/OS400/: README.OS400, ccsidcurl.c, curl.inc.in: Upgrade
- OS400 wrappers and RPG copy file according to latest code updates
-
-2007-10-03 15:19 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/hostares.c: Fix issue related with
- the use of ares_timeout() result.
-
-2007-10-03 10:58 bagder
-
- * include/curl/curl.h, lib/connect.c: exported symbols must use
- lowercase "curl_", and I also fixed two compiler warnings, one
- C99 thing and the bad pointer sent to the callback
-
-2007-10-03 10:54 bagder
-
- * RELEASE-NOTES: recount contributors after the 7.17.0 release
-
-2007-10-03 10:51 bagder
-
- * docs/THANKS: people from the 7.17.0 announcement
-
-2007-10-03 10:46 bagder
-
- * TODO-RELEASE: "97 - check ip callback", check
-
-2007-10-03 10:45 bagder
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h, lib/connect.c,
- lib/url.c, lib/urldata.h: Alexey Pesternikov introduced
- CURLOPT_OPENSOCKETFUNCTION and CURLOPT_OPENSOCKETDATA to set a
- callback that allows an application to replace the socket() call
- used by libcurl. It basically allows the app to change address,
- protocol or whatever of the socket. (I also did some whitespace
- indent/cleanups in lib/url.c which kind of hides some of these
- changes, sorry for mixing those in.)
-
-2007-10-03 10:07 bagder
-
- * CHANGES, docs/curl.1, docs/libcurl/libcurl-errors.3,
- include/curl/curl.h, lib/gtls.c, lib/qssl.c, lib/ssh.c,
- lib/ssluse.c, lib/strerror.c: I renamed the
- CURLE_SSL_PEER_CERTIFICATE error code to
- CURLE_PEER_FAILED_VERIFICATION (standard CURL_NO_OLDIES style),
- and made this return code get used by the previous SSH MD5
- fingerprint check in case it fails.
-
-2007-10-03 10:00 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ssh.c,
- lib/url.c, lib/urldata.h, src/main.c: Based on a patch brought by
- Johnny Luong, libcurl now offers CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
- and the curl tool --hostpubmd5. They both make the SCP or SFTP
- connection verify the remote host's md5 checksum of the public
- key before doing a connect, to reduce the risk of a
- man-in-the-middle attack.
-
-2007-10-03 00:00 bagder
-
- * TODO-RELEASE: "99 - curl_easy_close()" seems to have gone
- uninteresting
-
-2007-10-02 23:59 bagder
-
- * TODO-RELEASE: 102, check
-
-2007-10-02 21:19 yangtse
-
- * lib/ftp.c: Fix memory leak under low memory conditions.
-
-2007-10-02 20:26 yangtse
-
- * ares/: CHANGES, ares_init.c: Avoid a segfault when generating a
- DNS "Transaction ID" in internal function init_id_key() under low
- memory conditions.
-
-2007-10-02 18:05 yangtse
-
- * tests/libtest/: first.c, lib503.c, lib504.c, lib505.c, lib509.c,
- lib521.c, lib523.c, lib525.c, lib533.c, lib536.c, lib540.c,
- lib541.c, test.h: Renamed a couple of global variables to avoid
- shadowing warnings
-
-2007-10-02 17:26 yangtse
-
- * lib/: ftp.c, url.c: Fix compiler warning
-
-2007-10-02 16:48 yangtse
-
- * lib/ldap.c: <winber.h> needed for Windows LDAP client 32 API
- support
-
-2007-10-02 16:26 yangtse
-
- * lib/msvcproj.head: Linking with wldap32.lib needed for Windows
- LDAP client 32 API support
-
-2007-10-02 13:13 yangtse
-
- * ares/vc/areslib/areslib.dsp: Add ares_llist.c and ares_llist.h to
- MSCV project file.
-
-2007-10-02 12:21 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/http.c,
- lib/http_chunks.c, lib/transfer.c, lib/urldata.h,
- tests/data/Makefile.am, tests/data/test1008: known bug #46:
- chunked-encoded CONNECT responses from a http proxy now works.
- Added test case 1008 to verify. Note that #47 is still there.
-
-2007-10-02 12:13 bagder
-
- * tests/server/sws.c: Disable the Nagle algorithm and send back
- responses in small chunks in an attempt to force smaller bits to
- get read by clients.
-
-2007-10-02 11:57 bagder
-
- * docs/curl.1: document --post301, based on the phrasing in
- curl_easy_setopt.3 for CURLOPT_POST301 written by Philip Langdale
-
-2007-10-02 11:56 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_POST301 section, added
- by Philip Langdale
-
-2007-10-02 10:12 bagder
-
- * ares/ares_gethostbyname.c: Fixed the problem where next_lookup
- would use 'status' uninitialized. Now it gets passed the initial
- value as an argument.
-
-2007-10-02 04:18 yangtse
-
- * ares/: Makefile.inc, Makefile.vc6, ares_llist.c, ares_llist.h,
- ares_private.h: Avoid inline C99ism, and move c-ares routines for
- managing doubly-linked lists.
-
-2007-10-02 00:52 bagder
-
- * ares/CHANGES: ares_strerror() segfaulted if the input error
- number was out of the currently supported range.
-
-2007-10-02 00:51 bagder
-
- * ares/ares_strerror.c: Prevent ares_strerror() from segfaulting if
- an invalid error code is passed in as argument!
-
-2007-10-01 00:58 bagder
-
- * tests/data/Makefile.am: Added test536 that was accidentally
- missing. I also wrote up a new makefile target called 'filecheck'
- so that if you run 'make filecheck' in this directory it'll check
- if the local files are also mentioned in the Makefile.am so that
- they are properly included in release archives!
-
-2007-10-01 00:40 bagder
-
- * CHANGES, RELEASE-NOTES, lib/escape.c, tests/data/Makefile.am,
- tests/data/test543, tests/libtest/Makefile.am,
- tests/libtest/lib543.c: Alex Fishman reported a
- curl_easy_escape() problem that was made the function do wrong on
- all input bytes that are >= 0x80 (decimal 128) due to a signed /
- unsigned mistake in the code. I fixed it and added test case 543
- to verify.
-
-2007-09-30 21:43 yangtse
-
- * ares/ares_process.c: Fix compiler warning
-
-2007-09-30 04:12 yangtse
-
- * ares/: ares_process.c, configure.ac: check availability of
- <netinet/tcp.h>
-
-2007-09-30 03:27 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: Fix missing right parenthesis
-
-2007-09-30 03:01 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: Fix comparison between signed
- and unsigned
-
-2007-09-30 02:37 yangtse
-
- * ares/nameser.h: improve portability, defining MAXDNAME and
- MAXCDNAME
-
-2007-09-30 02:08 sesse
-
- * ares/ares_gethostbyname.c: Fix a memory leak that I recently
- inadvertedly introduced.
-
-2007-09-29 23:57 sesse
-
- * ares/: ares_gethostbyname.c, ares_process.c: Use ISDIGIT instead
- of isdigit; fixes a gcc warning.
-
-2007-09-29 23:34 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: Immanuel Gregoire fixed a
- problem with persistent transfers over SFTP - the previous proto
- struct was kept.
-
-2007-09-29 21:26 sesse
-
- * ares/ares_getsock.c: Port the TCP socket fix made in ares_fds()
- to ares_getsock() as well.
-
-2007-09-29 20:18 sesse
-
- * ares/: ares_cancel.c, ares_destroy.c, ares_fds.c, ares_getsock.c,
- ares_init.c, ares_private.h, ares_process.c, ares_query.c,
- ares_send.c, ares_timeout.c: Previously, processing a large batch
- of timeouts was O(n^2) in the number of outstanding queries, and
- processing a DNS response packet was O(n) in the number of
- outstanding queries. To speed things up in Google, we added a few
- circular, doubly-linked lists of queries that are hash-bucketed
- based on the attributes we care about, so most important
- operations are now O(1).
-
- It might be that the number of buckets are higher than most
- people would need, but on a quick calculation it should only be
- 100kB or so even on a 64-bit system, so I've let it stay as-is.
-
-2007-09-29 16:37 giva
-
- * ares/ares_expand_name.c: We should standarise on C comments.
-
-2007-09-29 16:34 giva
-
- * ares/ares_process.c: Fix compiler warning in setsockopt().
-
-2007-09-29 16:25 sesse
-
- * ares/ares_process.c: TCP queries can time out too, not just UDP
- queries. (Patch from the Google tree.)
-
-2007-09-29 16:21 sesse
-
- * ares/ares_process.c: Read and process as many packets as possible
- in read_udp_packets, to avoid having to run the entire event loop
- once per packet. (Patch from the Google tree.)
-
-2007-09-29 16:09 sesse
-
- * ares/ares_process.c: There are two different places in
- write_tcp_data() that advance the send_queue; however, they are
- slightly different and only the first one properly uses a while
- loop. Consolidate both into a single function that DTTR. (Patch
- from the Google tree.)
-
-2007-09-29 15:58 sesse
-
- * ares/ares_mkquery.c: Reject names that are longer than 255
- characters, to avoid problems with strict or buggy DNS server
- implementations. (Patch from the Google tree)
-
-2007-09-29 15:56 sesse
-
- * ares/ares_mkquery.c: In ares_mkquery, make sure we set buflen and
- buf to reasonable values if there's an error. (Patch from the
- Google tree)
-
-2007-09-29 15:52 sesse
-
- * ares/ares_gethostbyname.c: Be stricter about what's a valid IP
- address in fake_hostent. (Patch from the Google tree.)
-
-2007-09-29 15:38 sesse
-
- * ares/ares_expand_name.c: Handle the root of the DNS tree
- correctly in ares_expand_name.
-
-2007-09-28 23:48 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostasyn.c, lib/hostip.h: Adapted the
- c-ares code to the API change c-ares 1.5.0 brings in the notifier
- callback(s).
-
-2007-09-28 23:45 bagder
-
- * lib/ssh.c: rename variable to prevent shadow warning
-
-2007-09-28 22:28 bagder
-
- * ares/CHANGES: today's modifications by Steinar and me
-
-2007-09-28 22:28 bagder
-
- * ares/: Makefile.am, ares_version.h: Bumped version to 1.5.0 for
- next release and soname bumped to 2 due to ABI and API changes in
- the progress callback (and possibly more coming up from Steinar)
-
-2007-09-28 20:47 danf
-
- * lib/hostip.c: Renamed a variable to avoid shadowing a global
- declarations.
-
-2007-09-28 17:56 sesse
-
- * ares/ares_gethostbyname.c: Unrevert previous 'missing' hunks.
- They were missing since the patch is still in for review :-)
-
-2007-09-28 17:55 sesse
-
- * ares/ares_gethostbyname.c: Yet more missing hunks... Nggh.
-
-2007-09-28 17:53 sesse
-
- * ares/ares_fds.c: Always register for TCP events even if there are
- no outstanding queries, as the other side could always close the
- connection, which is a valid event which should be responded to.
-
-2007-09-28 17:51 sesse
-
- * ares/ares_process.c: Forgot to include a few hunks from
- ares_process.c earlier. Fixing now.
-
-2007-09-28 17:15 sesse
-
- * ares/: ares.h, ares_init.c, ares_process.c: Support a few more
- socket options, and refactor the option setting a bit. (Patch
- from the Google tree.)
-
-2007-09-28 16:46 sesse
-
- * ares/: adig.c, ahost.c, ares.h, ares_cancel.c, ares_destroy.c,
- ares_gethostbyaddr.3, ares_gethostbyaddr.c, ares_gethostbyname.3,
- ares_gethostbyname.c, ares_getnameinfo.3, ares_getnameinfo.c,
- ares_private.h, ares_process.c, ares_query.3, ares_query.c,
- ares_search.3, ares_search.c, ares_send.3, ares_send.c: Make the
- query callbacks return the number of timeouts that happened
- during the execution of a query, and update documentation
- accordingly. (Patch from the Google tree.)
-
-2007-09-28 16:28 sesse
-
- * ares/: ares__close_sockets.c, ares_cancel.c, ares_destroy.c,
- ares_init.c, ares_private.h, ares_process.c, ares_send.c: Three
- fixes in one commit (sorry): a) Take care of the tcpbuf if it
- ends while queued for transmission, note broken servers and close
- them in the main loop, and store TCP socket generation number in
- order not to send the same query twice over the same socket.
-
-2007-09-28 16:26 sesse
-
- * ares/ares_process.c: Don't skip a server if it's the only one.
- (Bugfix from the Google tree.)
-
-2007-09-27 20:39 danf
-
- * lib/getenv.c: Don't strdup an empty string
-
-2007-09-27 20:12 danf
-
- * lib/hash.c: Renamed a few variables to avoid shadowing global
- declarations.
-
-2007-09-27 19:22 danf
-
- * tests/libtest/lib542.c: Removed cut-and-paste cruft leading to
- fclose() of an unopened file
-
-2007-09-27 14:05 bagder
-
- * lib/hostares.c: a name resolve that times out is still a failed
- name resolve
-
-2007-09-27 14:04 bagder
-
- * ares/ares_process.c: wrong, revert the previous "fix" and instead
- check that the fd_set pointer is non-NULL before we FD_CLR
-
-2007-09-27 14:02 bagder
-
- * ares/ares_process.c: eek, fix the conditions to return on either
- problem instead of requiring both to occur
-
-2007-09-27 04:45 danf
-
- * lib/: ftp.c, gtls.h, nssg.h: Renamed a few variables to avoid
- shadowing global declarations.
-
-2007-09-27 03:45 danf
-
- * CHANGES, acinclude.m4, lib/file.c, lib/formdata.c, lib/ftp.c,
- lib/http_ntlm.c, lib/multi.c, lib/sendf.c, lib/splay.c,
- lib/splay.h, lib/transfer.c, lib/url.c, lib/url.h,
- tests/libtest/lib506.c, tests/server/sockfilt.c,
- tests/server/tftpd.c: Enabled a few more gcc warnings with
- --enable-debug. Renamed a few variables to avoid shadowing
- global declarations.
-
-2007-09-27 02:58 yangtse
-
- * lib/getenv.c: Fix compiler warning: the address of 'env' will
- always evaluate as 'true'
-
-2007-09-26 14:46 bagder
-
- * RELEASE-NOTES: we added a curl_easy_setopt() option too
-
-2007-09-26 14:44 bagder
-
- * CHANGES, RELEASE-NOTES, include/curl/curl.h, lib/transfer.c,
- lib/url.c, lib/urldata.h, packages/OS400/curl.inc.in, src/main.c,
- tests/data/Makefile.am, tests/data/test1011, tests/data/test1012:
- Philip Langdale provided the new CURLOPT_POST301 option for
- curl_easy_setopt() that alters how libcurl functions when
- following redirects. It makes libcurl obey the RFC2616 when a 301
- response is received after a non-GET request is made. Default
- libcurl behaviour is to change method to GET in the subsequent
- request (like it does for response code 302 - because that's what
- many/most browsers do), but with this CURLOPT_POST301 option
- enabled it will do what the spec says and do the next request
- using the same method again. I.e keep POST after 301.
-
- The curl tool got this option as --post301
-
- Test case 1011 and 1012 were added to verify.
-
-2007-09-26 14:00 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/urldata.h,
- tests/data/test542, tests/libtest/Makefile.am,
- tests/libtest/lib542.c: Max Katsev reported that when doing a
- libcurl FTP request with CURLOPT_NOBODY enabled but not
- CURLOPT_HEADER, libcurl wouldn't do TYPE before it does SIZE
- which makes it less useful. I walked over the code and made it do
- this properly, and added test case 542 to verify it.
-
-2007-09-25 19:33 danf
-
- * lib/strequal.c: Make glibc define the prototype for strcasestr
-
-2007-09-25 10:46 bagder
-
- * docs/BINDINGS: a new Lua binding and I shortened the wording on
- several bindings by cutting out "written"
-
-2007-09-25 08:45 danf
-
- * lib/: sslgen.c, ssluse.c: #ifdef out a few more functions when
- SSL is disabled.
-
-2007-09-25 08:43 danf
-
- * configure.ac, lib/strequal.c: Use a native strcasestr() if found.
-
-2007-09-24 23:47 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/ftp.c,
- tests/data/DISABLED, tests/data/Makefile.am, tests/data/test1010:
- Immanuel Gregoire fixed KNOWN_BUGS #44: --ftp-method nocwd did
- not handle URLs ending with a slash properly (it should list the
- contents of that directory). Test case 351 brought back and also
- test 1010 was added.
-
-2007-09-24 12:56 bagder
-
- * docs/curl.1: Bad use of "its" replaceed with a rephrase. I
- noticed this flaw thanks to the Debian bug report
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=443734
-
-2007-09-22 23:23 bagder
-
- * ares/: CHANGES, ares_process.c: Steinar H. Gunderson fixed:
- Correctly clear sockets from the fd_set on in several functions
- (write_tcp_data, read_tcp_data, read_udp_packets) so that if it
- fails and the socket is closed the following code doesn't try to
- use the file descriptor.
-
-2007-09-22 23:04 bagder
-
- * ares/: CHANGES, ares_process.c: Steinar H. Gunderson modified
- c-ares to now also do to DNS retries even when TCP is used since
- there are several edge cases where it still makes sense.
-
-2007-09-22 22:45 bagder
-
- * ares/: CHANGES, ares_init.c: Brad House provided a fix for
- ares_save_options(): Apparently I overlooked something with the
- ares_save_options() where it would try to do a malloc(0) when no
- options of that type needed to be saved. On most platforms, this
- was fine because malloc(0) doesn't actually return NULL, but on
- AIX it does, so ares_save_options would return ARES_ENOMEM.
-
-2007-09-21 13:53 bagder
-
- * docs/curl.1: --proxy-negotiate is added in 7.17.1
-
-2007-09-21 13:19 bagder
-
- * TODO-RELEASE: the NSS patch has been committed
-
-2007-09-21 13:08 bagder
-
- * RELEASE-NOTES: Available command line options: 119
-
-2007-09-21 13:05 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, lib/http.c,
- lib/http_negotiate.c, lib/http_negotiate.h, src/main.c: Mark
- Davies fixed Negotiate authentication over proxy, and also
- introduced the --proxy-negotiate command line option to allow a
- user to explicitly select it.
-
-2007-09-20 22:39 danf
-
- * tests/: FILEFORMAT, README, ftpserver.pl, runtests.pl,
- data/test172, data/test46, data/test53: Added variable
- substitution to the <verify><file> section. Made a few more
- tests work remotely.
-
-2007-09-20 16:43 bagder
-
- * docs/CONTRIBUTE: reformatted to be similar to the FAQ to make it
- look nicer on the site: http://curl.haxx.se/docs/contribute.html
-
-2007-09-20 16:19 bagder
-
- * docs/CONTRIBUTE: Achint Mehta pointed out this dead link
-
-2007-09-20 16:05 bagder
-
- * docs/INTERNALS: the winsock stuff is made by curl_global_init
-
-2007-09-20 16:05 bagder
-
- * docs/BINDINGS: fix bad link
-
-2007-09-20 16:02 bagder
-
- * CHANGES, RELEASE-NOTES: Immanuel Gregoire is the man
-
-2007-09-20 02:37 danf
-
- * src/urlglob.c: Fixed typo in error message.
-
-2007-09-19 00:21 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, docs/curl.1, lib/nss.c,
- lib/urldata.h: Rob Crittenden provided an NSS update with the
- following highlights:
-
- o It looks for the NSS database first in the environment variable
- SSL_DIR, then in /etc/pki/nssdb, then it initializes with no
- database if neither of those exist.
-
- o If the NSS PKCS#11 libnspsem.so driver is available then PEM
- files may be loaded, including the ca-bundle. If it is not
- available then only certificates already in the NSS database
- are used.
-
- o Tries to detect whether a file or nickname is being passed in
- so the right thing is done
-
- o Added a bit of code to make the output more like the OpenSSL
- module, including displaying the certificate information when
- connecting in verbose mode
-
- o Improved handling of certificate errors (expired, untrusted,
- etc)
-
- The libnsspem.so PKCS#11 module is currently only available in
- Fedora 8/rawhide. Work will be done soon to upstream it. The NSS
- module will work with or without it, all that changes is the
- source of the certificates and keys.
-
-2007-09-18 23:33 bagder
-
- * docs/CONTRIBUTE: mention the prefered source code line length to
- be less than 80 columns
-
-2007-09-18 23:14 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: Immanuel pointed out that
- public key SSH auth failed if no public/private key was specified
- and there was no HOME environment variable, and then it didn't
- continue to try the other auth methods. Now it will instead try
- to get the files id_dsa.pub and id_dsa from the current directory
- if none of the two conditions were met.
-
-2007-09-18 22:41 danf
-
- * tests/data/: test15, test18, test192, test193, test199, test214,
- test217, test22, test258, test27, test44, test57: Use double
- quotes in command lines for consistency.
-
-2007-09-18 20:18 gknauf
-
- * lib/config-win32.h: added a define for Win32 to detect already
- defined ssize_t.
-
-2007-09-18 19:41 danf
-
- * tests/data/: test116, test212: IPv6 is a required feature for
- these two tests, even if it's not obvious.
-
-2007-09-18 01:23 danf
-
- * tests/data/test212: Fixed the required server entry
-
-2007-09-17 23:44 danf
-
- * CHANGES, tests/data/test101, tests/data/test103,
- tests/data/test108, tests/data/test116, tests/data/test119,
- tests/data/test144, tests/data/test145, tests/data/test146,
- tests/data/test147, tests/data/test148, tests/data/test149,
- tests/data/test212, tests/data/test251, tests/data/test406,
- tests/data/test408, tests/data/test525, tests/data/test529,
- tests/data/test531: Changed some FTP tests to validate the format
- of the PORT and EPRT commands sent by curl, if not the addresses
- themselves.
-
-2007-09-17 23:42 danf
-
- * tests/: FILEFORMAT, runtests.pl: Added %CLIENTIP and %CLIENT6IP
- data file substitution variables. Added hooks to the test suite
- to make it possible to test a curl running on a remote host.
-
-2007-09-17 23:39 danf
-
- * tests/: ftpserver.pl, sshserver.pl: Allow setting the IP address
- on which to listen for connections.
-
-2007-09-17 22:43 bagder
-
- * RELEASE-NOTES: Günter's ldap fixes
-
-2007-09-17 20:12 danf
-
- * tests/: ftpserver.pl, server/sockfilt.c: Make the ftp server
- connect to the address given by curl in the PORT/EPRT instead of
- hard-coding it to 127.0.0.1
-
-2007-09-17 19:22 danf
-
- * tests/: libtest/test613.pl, data/test613, data/test614: Made the
- directory postprocessor more forgiving of input directory format
-
-2007-09-16 00:05 bagder
-
- * TODO-RELEASE: three done, seven to go
-
-2007-09-15 23:14 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/test208,
- tests/data/test79: Michal Marek made libcurl automatically append
- ";type=<a|i>" when using HTTP proxies for FTP urls.
-
-2007-09-15 23:06 bagder
-
- * maketgz: offer a friendlier single-line command
-
-2007-09-15 22:03 gknauf
-
- * lib/ldap.c: fixed ldap support for winldap.
-
-2007-09-15 22:02 gknauf
-
- * lib/Makefile.vc6, src/Makefile.vc6: fixed VC6 makefiles for new
- ldap linkage.
-
-2007-09-15 10:51 bagder
-
- * TODO-RELEASE: I want these CONNECT problems fixed too
-
-2007-09-15 10:50 bagder
-
- * TODO-RELEASE: 7.17.1 planned release in November 2007, and a
- bunch of things to deal with
-
-2007-09-14 21:32 danf
-
- * tests/data/: test1, test10, test11, test12, test13, test14,
- test15, test150, test151, test152, test153, test154, test155,
- test156, test157, test158, test159, test160, test162, test163,
- test164, test166, test17, test172, test173, test174, test175,
- test176, test177, test178, test18, test180, test181, test186,
- test187, test188, test189, test192, test193, test194, test197,
- test198, test2, test207, test218, test22, test220, test221,
- test222, test223, test224, test24, test249, test25, test256,
- test26, test260, test262, test266, test267, test268, test269,
- test27, test273, test274, test276, test277, test28, test29,
- test292, test293, test3, test30, test300, test301, test303,
- test304, test306, test307, test31, test32, test33, test34,
- test36, test37, test38, test39, test4, test40, test42, test43,
- test44, test45, test46, test47, test48, test49, test5, test50,
- test500, test503, test504, test508, test509, test51, test510,
- test512, test513, test514, test518, test52, test522, test53,
- test535, test536, test537, test54, test55, test56, test57,
- test58, test59, test6, test60, test64, test65, test66, test67,
- test68, test69, test7, test70, test700, test701, test71, test72,
- test74, test77, test78, test79, test8, test80, test81, test82,
- test83, test84, test85, test86, test88, test89, test9, test90,
- test91, test92, test93, test95, test97, test98, test99: Replaced
- 127.0.0.1 with %HOSTIP where possible
-
-2007-09-14 03:56 danf
-
- * CHANGES, RELEASE-NOTES: Added LDAPS, SCP and SFTP to curl-config
- --protocols. Removed and fixed some AC_SUBST configure entries.
-
-2007-09-14 03:24 danf
-
- * configure.ac, curl-config.in: Added LDAPS, SCP and SFTP to
- curl-config --protocols. Removed and fixed some AC_SUBST
- configure entries.
-
-2007-09-14 00:20 danf
-
- * docs/examples/Makefile.am: Compile samples with -DCURL_NO_OLDIES
-
-2007-09-13 23:06 bagder
-
- * include/curl/curlver.h: 7.17.1-CVS is now the dev version
-
-2007-09-13 23:05 bagder
-
- * RELEASE-NOTES: start over on 7.17.1
-
-2007-09-13 22:36 danf
-
- * docs/examples/: README, makefile.dj: Remove remaining traces of
- ftp3rdparty.c and mention htmltidy.c
-
-2007-09-13 22:22 bagder
-
- * CHANGES: Version 7.17.0 (13 September 2007)
-
-2007-09-13 11:02 bagder
-
- * docs/TODO: added some further stuff from the feature-requests
- tracker, and a bunch of URLs to the specific tracker entries
-
-2007-09-12 20:20 danf
-
- * RELEASE-NOTES: TFTP error 0 is no longer treated as success
-
-2007-09-12 12:46 bagder
-
- * tests/libtest/lib540.c: Extracting the CURLINFO_PRIVATE pointer
- makes no point since nothing set it. This caused a segfault in
- some fprintf() implementations. Like on Solaris.
-
-2007-09-12 00:37 bagder
-
- * RELEASE-NOTES: rephrased to mention ftp
-
-2007-09-12 00:36 bagder
-
- * RELEASE-NOTES: curl.digimirror.nl is a new mirror in Amsterdam,
- the Netherlands
-
-2007-09-12 00:23 bagder
-
- * CHANGES, RELEASE-NOTES, tests/data/Makefile.am,
- tests/data/test541, tests/libtest/Makefile.am,
- tests/libtest/lib541.c: Daniel S (12 September 2007) - Bug report
- #1792649 (http://curl.haxx.se/bug/view.cgi?id=1792649) pointed
- out a problem with doing an empty upload over FTP on a re-used
- connection. I added test case 541 to reproduce it and to
- verify the fix.
-
- - I noticed while writing test 541 that the FTP code wrongly did
- a CWD on the second transfer as it didn't store and remember
- the "" path from the previous transfer so it would instead CWD
- to the entry path as stored. This worked, but did a superfluous
- command. Thus, test case 541 now also verifies this fix.
-
-2007-09-12 00:21 bagder
-
- * lib/ftp.c: - I noticed while writing test 541 that the FTP code
- wrongly did a CWD on the second transfer as it didn't store and
- remember the "" path from the previous transfer so it would
- instead CWD to the entry path as stored. This worked, but did a
- superfluous command. Thus, test case 541 now also verifies this
- fix.
-
-2007-09-12 00:21 bagder
-
- * lib/transfer.c: - Bug report #1792649
- (http://curl.haxx.se/bug/view.cgi?id=1792649) pointed out a
- problem with doing an empty upload over FTP on a re-used
- connection. I added test case 541 to reproduce it and to
- verify the fix.
-
-2007-09-10 00:22 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: A brand new binding for SP-Forth
- was written
-
-2007-09-07 22:35 danf
-
- * CHANGES, lib/tftp.c: TFTP now reports the "not defined" TFTP
- error code 0 as an error, not success.
-
-2007-09-07 22:05 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test1007: Added test
- case 1007 to test permission problem when uploading with TFTP (to
- validate bug #1790403).
-
-2007-09-06 23:38 bagder
-
- * RELEASE-NOTES: http://curl.cheap.co.il is a new mirror in
- Tel-Aviv, Israel
-
-2007-09-06 15:38 bagder
-
- * docs/KNOWN_BUGS: two new CONNECT response problems that have
- appeared
-
-2007-09-06 00:01 danf
-
- * lib/: connect.c, setup_once.h: Minix doesn't support getsockopt
- on UDP sockets or send/recv on TCP sockets.
-
-2007-09-05 23:41 bagder
-
- * CHANGES, lib/ftp.c: Curl_GetFTPResponse() now checks and properly
- deals with the fact that the underlying ftp_readresp() function
- has a separate "cache" where there might in fact be leftover
- data...
-
-2007-09-05 19:22 danf
-
- * CHANGES: Minix doesn't support getsockopt on UDP sockets or
- send/recv on TCP sockets.
-
-2007-09-05 19:17 danf
-
- * docs/KNOWN_BUGS, tests/FILEFORMAT: Minor updates
-
-2007-09-03 16:10 bagder
-
- * RELEASE-NOTES: I can't spell
-
-2007-09-03 16:08 bagder
-
- * RELEASE-NOTES: curlpp 0.7.1 was relased
-
-2007-09-03 13:10 gknauf
-
- * docs/INSTALL: added some comments for MingW32 builds.
-
-2007-09-01 23:21 danf
-
- * docs/INSTALL: bash is not required when compiling under Minix
-
-2007-08-31 21:36 danf
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3,
- docs/libcurl/libcurl-errors.3, include/curl/curl.h, lib/ftp.c,
- lib/strerror.c, lib/url.c, lib/urldata.h,
- packages/OS400/curl.inc.in, src/main.c: Renamed the
- CURLE_FTP_SSL_FAILED error code to CURLE_USE_SSL_FAILED. Renamed
- the curl_ftpssl enum to curl_usessl and its enumerated constants,
- creating macros for backward compatibility.
-
-2007-08-31 19:56 danf
-
- * CHANGES, lib/strerror.c: Made some of the error strings returned
- by the *strerror functions more generic, and more consistent with
- each other.
-
-2007-08-31 19:54 danf
-
- * lib/multi.c: Fixed an invalid returned error code added in my
- last submission.
-
-2007-08-31 01:03 danf
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c, tests/data/Makefile.am,
- tests/data/test615: Added more accurate error code returns from
- SFTP operations. Added test case 615 to test an SFTP upload
- failure.
-
-2007-08-30 22:34 danf
-
- * CHANGES, RELEASE-NOTES, docs/TODO,
- docs/examples/ftpuploadresume.c, docs/examples/simplessl.c,
- docs/libcurl/curl_easy_setopt.3, docs/libcurl/libcurl-errors.3,
- docs/libcurl/libcurl-tutorial.3, include/curl/curl.h,
- lib/base64.c, lib/connect.c, lib/ftp.c, lib/gtls.c, lib/nss.c,
- lib/speedcheck.c, lib/ssh.c, lib/ssluse.c, lib/strerror.c,
- lib/telnet.c, lib/tftp.c, lib/transfer.c, lib/url.c,
- packages/OS400/README.OS400, packages/OS400/ccsidcurl.c,
- packages/OS400/curl.inc.in, src/main.c, tests/data/test189,
- tests/data/test190, tests/data/test99: Renamed several libcurl
- error codes and options to make them more general and allow reuse
- by multiple protocols. Several unused error codes were removed.
- In all cases, macros were added to preserve source (and binary)
- compatibility with the old names. These macros are subject to
- removal at a future date, but probably not before 2009. An
- application can be tested to see if it is using any obsolete code
- by compiling it with the CURL_NO_OLDIES macro defined.
-
- Documented some newer error codes in libcurl-error(3)
-
-2007-08-30 22:28 gknauf
-
- * configure.ac: added --enable-ldaps switch; renamed LDAP(S)
- messages from 'yes' to 'enabled'.
-
-2007-08-30 20:26 danf
-
- * tests/server/sockfilt.c, lib/multi.c: Fixed a few compiler
- warnings. Try to do a slightly better job of cleaning up after an
- OOM condition in curl_multi_add_handle
-
-2007-08-30 16:06 bagder
-
- * lib/ftp.c: Made Curl_GetFTPResponse() use lots less code and
- instead use the proper low-level ftp_readresp() function.
- Hopefully adressing bug #1779054.
-
-2007-08-29 07:36 danf
-
- * lib/: cookie.c, cookie.h, file.c, hash.c, tftp.c, url.c: Added
- lots of consts
-
-2007-08-28 20:23 danf
-
- * tests/README: Mention that 'make test' does more than just run
- all the tests (suggested by Kris/tinker105 in bug #1779054) and
- mention the torture tests.
-
-2007-08-27 08:31 danf
-
- * lib/: formdata.c, ftp.c, http.c, http.h, http_digest.c,
- http_digest.h, http_negotiate.c, http_negotiate.h, http_ntlm.c,
- http_ntlm.h, socks.c, socks.h, sslgen.c, sslgen.h, ssluse.c,
- transfer.c, transfer.h: Fixed some minor type mismatches and
- missing consts mainly found by splint.
-
-2007-08-26 07:53 danf
-
- * lib/: dict.c, easy.c, escape.c, hostip.c, http.c, http.h,
- multi.c, multiif.h, url.c, urldata.h: Fixed some minor mismatched
- types found by splint.
-
-2007-08-25 14:10 gknauf
-
- * lib/ldap.c: bail out with error if someone tries to use another
- cert than PEM with OpenLDAP.
-
-2007-08-25 14:08 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: only link with -lwldap32 if
- we dont use other LDAP SDKs.
-
-2007-08-24 19:08 gknauf
-
- * lib/Makefile.m32, lib/config-win32.h, src/Makefile.m32: added
- defines to build with OpenLDAP.
-
-2007-08-24 17:56 patrickm
-
- * packages/OS400/: make-include.sh, makefile.sh: Adding DOCS file
- in OS400 installation library with license and various other
- documentation text files. Setting character set of OS400
- installed source components
-
-2007-08-24 16:00 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/Makefile.am,
- tests/data/test1006: Bug report #1779054
- (http://curl.haxx.se/bug/view.cgi?id=1779054) pointed out that
- libcurl didn't deal with large responses from server commands,
- when the single response was consisting of multiple lines but of
- a total size of 16KB or more. Dan Fandrich improved the ftp test
- script and provided test case 1006 to repeat the problem, and I
- fixed the code to make sure this new test case runs fine.
-
-2007-08-24 11:06 patrickm
-
- * lib/: gtls.c, nss.c, ssluse.c, version.c: Remove leading space in
- curl_version_info ss_version field.
-
-2007-08-24 01:25 danf
-
- * tests/data/: Makefile.am, test1005: Added test case 1005 to test
- excessively-long replies spread out over multiple lines (similar
- to test case 1003).
-
-2007-08-24 01:24 danf
-
- * tests/: FILEFORMAT, ftpserver.pl: Allow ftp server alternate
- replies to contain backslash-escaped control characters.
-
-2007-08-23 20:46 patrickm
-
- * packages/OS400/os400sys.c: Make ldap.h, gssapi.h and qsossl.h
- inclusions conditional.
-
-2007-08-23 20:45 danf
-
- * tests/ftpserver.pl: Need even more time to wait for an accept.
-
-2007-08-23 19:35 danf
-
- * tests/data/: Makefile.am, test1004, test16: Added test1004 to
- validate a previous fix for a memory leak when an empty proxy
- server is selected.
-
-2007-08-23 19:26 danf
-
- * docs/INSTALL: Mention OS/400 and TPF
-
-2007-08-23 17:00 bagder
-
- * RELEASE-NOTES: ported to OS/400
-
-2007-08-23 16:58 bagder
-
- * lib/Makefile.am: added the two new os400 files
-
-2007-08-23 16:46 bagder
-
- * packages/Makefile.am: Add the files in the OS400 dir to the dist.
- I didn't add it as a new subdir just because if I do that
- automake does funny things automatically with the makefile.sh
- file in that directory and thus doing it this way was a quick
- work-around that annoyance!
-
-2007-08-23 16:33 bagder
-
- * docs/curl.1: --libcurl does not support -F
-
-2007-08-23 16:30 patrickm
-
- * CHANGES, include/curl/curl.h, lib/config-os400.h,
- lib/inet_ntop.c, lib/setup-os400.h, lib/setup.h,
- packages/OS400/README.OS400, packages/OS400/ccsidcurl.c,
- packages/OS400/ccsidcurl.h, packages/OS400/curl.inc.in,
- packages/OS400/initscript.sh, packages/OS400/make-include.sh,
- packages/OS400/make-lib.sh, packages/OS400/make-src.sh,
- packages/OS400/make-tests.sh, packages/OS400/makefile.sh,
- packages/OS400/os400sys.c, packages/OS400/os400sys.h: Porting
- library to OS/400
-
-2007-08-23 02:10 gknauf
-
- * lib/ldap.c: added support for CA cert verification; default now
- to verify cert unless data->set.ssl.verifypeer is 0.
-
-2007-08-23 00:48 bagder
-
- * CHANGES, RELEASE-NOTES, lib/file.c: Bug report #1779751
- (http://curl.haxx.se/bug/view.cgi?id=1779751) pointed out that
- doing first a file:// upload and then an FTP upload crashed
- libcurl or at best caused furious valgrind complaints. Fixed now
- by making sure we free and clear the file-specific struct
- properly when done with it.
-
-2007-08-22 20:05 giva
-
- * lib/ldap.c: Reversed the 'HAVE_LDAP_URL_PARSE' ifdef statement.
-
-2007-08-22 16:18 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/Makefile.am,
- tests/data/test1003: Bug report #1779054
- (http://curl.haxx.se/bug/view.cgi?id=1779054) pointed out that
- libcurl didn't deal with very long (>16K) FTP server response
- lines properly. Starting now, libcurl will chop them off (thus
- the client app will not get the full line) but survive and deal
- with them fine otherwise. Test case 1003 was added to verify
- this.
-
-2007-08-22 16:09 bagder
-
- * tests/server/sockfilt.c: added a size > buffer size check to make
- it easier to track this in the future
-
-2007-08-22 15:57 bagder
-
- * tests/server/sockfilt.c: Upped the buffer size to 17000+ bytes to
- prepare for the upcoming test 1003 that verfies ridiculously long
- server response lines. Also changed sprintf to snprintf in a few
- places.
-
-2007-08-22 13:28 bagder
-
- * docs/libcurl/curl_easy_cleanup.3: 1) the talk about strings used
- by libcurl doesn't apply to libcurl >= 7.17.0 2) added nroff
- header
-
-2007-08-22 12:14 gknauf
-
- * lib/ldap.c: for now comment the tls_start section...
-
-2007-08-21 05:04 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: sync libssh2 paths with
- comments.
-
-2007-08-21 04:42 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: added targets to create the
- files missing in CVS which makes calling buildconf.bat obsolete;
- removed obsolete wsock32 link lib.
-
-2007-08-21 01:31 gknauf
-
- * src/Makefile.m32: fixed wrong CLAGS define.
-
-2007-08-21 01:31 gknauf
-
- * lib/ldap.c: fixed warning with unused var; removed now obsolete
- defines since we include now ldap headers which define these.
-
-2007-08-20 23:54 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Based on a patch by Christian
- Vogt, the FTP code now sets the upcoming download transfer size
- much earlier to be possible to get read with
- CURLINFO_CONTENT_LENGTH_DOWNLOAD as soon as possible.
-
-2007-08-20 21:33 gknauf
-
- * configure.ac: converted tabs to spaces.
-
-2007-08-20 21:30 gknauf
-
- * configure.ac: removed trailing spaces.
-
-2007-08-20 19:53 danf
-
- * tests/ftpserver.pl: Increase timeout for accept for improved
- reliability on loaded servers.
-
-2007-08-20 18:34 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: compile with ldaps by
- default since it seems to work fine so far.
-
-2007-08-20 18:30 gknauf
-
- * lib/ldap.c: fixed ldaps section for OpenLDAP. Still not working,
- but at least it compiles now, and should serve as base to get it
- finally working. Also seems that the ifdefs can be arranged some
- better because the Solaris and Netscape/iPlanet/Mozilla LDAP SDKs
- seem to be closer to the Novell section than the OpenLDAP one.
-
-2007-08-20 18:21 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: added some comments about the
- paths and build options; added define to build with ldaps
- support; enabled build with the Novell LDAP SDK.
-
-2007-08-20 17:51 gknauf
-
- * configure.ac: dont set CURL_LDAP_HYBRID for MingW32 configure
- builds.
-
-2007-08-20 14:50 gknauf
-
- * configure.ac, lib/Makefile.netware, lib/config-win32.h,
- src/Makefile.netware: added define for ldap_ssl.h.
-
-2007-08-20 01:23 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: ignore errors of the RM
- command; seems that the del command fails on W2K when the file to
- delete isnt found while on XP it only prints the warning but make
- continues....
-
-2007-08-19 02:26 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: added some comments in the
- makefiles about build options.
-
-2007-08-18 00:33 bagder
-
- * docs/examples/.cvsignore: ignore all the binaries and the .deps
- and .libs
-
-2007-08-18 00:31 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: - Robson Braga Araujo filed
- bug report #1776232
- (http://curl.haxx.se/bug/view.cgi?id=1776232) about libcurl
- calling Curl_client_write(), passing on a const string that the
- caller may not modify and yet it does (on some platforms).
-
-2007-08-18 00:24 bagder
-
- * tests/data/test1000: remove stupid comment since there's no
- content in this test case
-
-2007-08-18 00:22 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/Makefile.am,
- tests/data/test1000: Robson Braga Araujo filed bug report
- #1776235 (http://curl.haxx.se/bug/view.cgi?id=1776235) about ftp
- requests with NOBODY on a directory would do a "SIZE (null)"
- request. This is now fixed and test case 1000 was added to
- verify.
-
-2007-08-18 00:21 bagder
-
- * docs/TODO: NEXT soname bump
-
- * #undef CURL_FTP_HTTPSTYLE_HEAD in lib/ftp.c to remove the
- HTTP-style headers
- from being output in NOBODY requests over ftp
-
-2007-08-18 00:17 bagder
-
- * tests/data/: test1001, test1002: some keywords for future
- stats/coverage checks
-
-2007-08-18 00:11 bagder
-
- * tests/data/: Makefile.am, test1001, test1002, test5320, test5322:
- Moved the 5320 and 5322 into the 1000-series instead which is a
- documented range. They are about FTP but the 100-199 range is
- full.
-
-2007-08-17 22:21 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/Makefile.am,
- tests/data/test5320, tests/data/test5322: Song Ma provided a
- patch that cures a problem libcurl has when doing resume HTTP PUT
- using Digest authentication. Test case 5320 and 5322 were also
- added to verify the functionality.
-
-2007-08-16 17:23 gknauf
-
- * lib/ldap.c: fixed warning about uninitialized.
-
-2007-08-16 16:08 gknauf
-
- * lib/: ldap.c, url.c, version.c: added basic ldaps support; for
- now its ifdef'd with HAVE_LDAP_SSL unless we know its fully
- working, and available with all LDAP SDKs. Win32 requires to
- have the trusted CA in local keystore - I've not found yet a way
- to disable the cert check.
-
-2007-08-15 18:17 gknauf
-
- * lib/urldata.h: added define PORT_LDAPS.
-
-2007-08-15 16:49 patrickm
-
- * lib/version.c: Fix a potential buffer overflow bug in
- lib/version.c
-
-2007-08-15 10:18 gknauf
-
- * lib/ldap.c: added ldap_msgfree() to fix memory leak.
-
-2007-08-14 20:39 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: added a dependency for
- libcares if build with ares support; other minor makefile tweaks.
-
-2007-08-14 19:23 danf
-
- * docs/INSTALL: LDAP is no longer excluded on Minix.
-
-2007-08-14 18:43 gknauf
-
- * docs/INSTALL: updated NetWare docu about recent LDAP changes.
-
-2007-08-14 18:31 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: only include LDAP
- headers if we build with LDAP support.
-
-2007-08-14 16:48 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: added -lwldap32 to link
- libs.
-
-2007-08-14 15:01 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: changed autoload
- dependent LDAP NLM.
-
-2007-08-14 14:02 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: trial to enable LDAP
- support again with patched Novell headers.
-
-2007-08-14 12:28 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_ntlm.c: Andrew Wansink provided
- an NTLM bugfix: in the case the server sets the flag
- NTLMFLAG_NEGOTIATE_UNICODE, we need to filter it off because
- libcurl doesn't unicode encode the strings it packs into the NTLM
- authenticate packet.
-
-2007-08-14 12:11 bagder
-
- * docs/TODO: the curl_multi_handle_control() idea
-
-2007-08-13 20:11 danf
-
- * tests/libtest/Makefile.am: Removed redundant dependency lines
-
-2007-08-13 18:37 danf
-
- * lib/ldap.c: Removed unused variable.
-
-2007-08-13 15:03 patrickm
-
- * lib/ldap.c: Simplify and rename internal structure to avoid
- potential name clash with LDAP header file.
-
-2007-08-13 00:25 bagder
-
- * lib/ldap.c: Fixed the LDAP_DEPRECATED #define as suggested by
- Daniel Johnson, and indented some of the code to curl-style
-
-2007-08-12 22:36 bagder
-
- * src/main.c: minor change in language for the --libcurl source
- header
-
-2007-08-12 02:48 gknauf
-
- * lib/Makefile.netware: disable LDAP since we can no longer compile
- due to header incompatiblities.
-
-2007-08-11 23:05 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Allen Pulsifer provided a
- patch that makes libcurl set the expected download size earlier
- when doing HTTP downloads, so that applications and the progress
- meter etc know get the info earlier in the flow than before.
-
-2007-08-11 22:57 bagder
-
- * CHANGES, RELEASE-NOTES, acinclude.m4, configure.ac,
- docs/examples/Makefile.example, hiper/Makefile,
- lib/Makefile.Watcom, lib/Makefile.inc, lib/Makefile.netware,
- lib/config-riscos.h, lib/config-tpf.h, lib/config-win32.h,
- lib/config-win32ce.h, lib/curl_ldap.h, lib/ldap.c, lib/ldap.h,
- lib/url.c, packages/vms/config-vms.h, src/Makefile.netware,
- src/config-riscos.h: Patrick Monnerat modified the LDAP code and
- approach in curl. Starting now, the configure script checks for
- openldap and friends and we link with those libs just like we
- link all other third party libraries, and we no longer dlopen()
- those libraries. Our private header file lib/ldap.h was renamed
- to lib/curl_ldap.h due to this. I set a tag in CVS
- (curl-7_17_0-preldapfix) just before this commit, just in case.
-
-2007-08-10 00:33 gknauf
-
- * lib/nwos.c: fixed warning with gcc 4.x (hopefully); dynamincally
- imported UseAccurateCaseForPaths() for CLIB port to be
- stonetime-compatible (NW 3.x).
-
-2007-08-09 23:05 gknauf
-
- * lib/mprintf.c: fixed a warning which MingW gcc 4.2.1.
-
-2007-08-09 05:28 danf
-
- * tests/data/test56: There's no need to ignore the User-Agent for
- this test.
-
-2007-08-08 22:09 gknauf
-
- * lib/: inet_ntop.c, nwos.c: moved ugly CLIB define to nwos.c.
-
-2007-08-08 19:51 danf
-
- * CHANGES, RELEASE-NOTES, lib/content_encoding.c: Song Ma noted a
- zlib memory leak in the illegal compressed header countermeasures
- code path.
-
-2007-08-08 19:07 gknauf
-
- * src/Makefile.m32: removed asm rules since we have no asm in the
- sources, and this produced 2 warnings.
-
-2007-08-08 18:59 gknauf
-
- * lib/config-win32.h, src/config-win32.h: blocked ssize_t define
- for MingW32.
-
-2007-08-08 12:37 patrickm
-
- * lib/: krb5.c, memdebug.c: Fix getsockname argument type Improve
- "universal" alignment type in struct memdebug
-
-2007-08-07 23:14 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Usage of the
- BCURLOPT_PROGRESSFUNCTION callback is not recommended when using
- the multi interface, but having the comment in here caused more
- questions than we fixed problems so I remove it now. It still
- works fine.
-
-2007-08-07 20:24 danf
-
- * lib/url.c: Fixed torture test for test 509
-
-2007-08-07 19:40 gknauf
-
- * lib/Makefile.Watcom, lib/Makefile.m32, lib/config-win32.h,
- src/Makefile.Watcom, src/config-win32.h: moved HAVE_LONGLONG from
- makefiles to config-win32.h.
-
-2007-08-07 15:01 bagder
-
- * docs/TODO: add URL to more "generated public config.h" details
-
-2007-08-07 14:44 patrickm
-
- * include/curl/mprintf.h, lib/ssluse.c, lib/strtoofft.h: Some #if
- --> #ifdef undef standard *printf before (re)defining them
-
-2007-08-07 02:10 danf
-
- * tests/libtest/lib540.c, lib/url.c: Fixed some icc compiler
- warnings.
-
-2007-08-07 00:21 gknauf
-
- * docs/INSTALL: Peteris Krumins pointed out that MingW32 doesnt
- provide a batch file to set the path to the bin folder.
-
-2007-08-06 17:58 bagder
-
- * docs/THANKS: ontributors from the 7.16.4 release notes and a
- removed duplicate
-
-2007-08-06 17:54 bagder
-
- * docs/INSTALL: removed the rsaglue hint since it doesn't apply to
- modern OpenSSL, and added some brief hints about gssapi and
- libssh2
-
-2007-08-06 16:56 bagder
-
- * docs/TODO: we now support GSS/Kerberos 5 for ftp file transfers!
-
-2007-08-05 23:33 bagder
-
- * lib/formdata.c: Patrick Monnerat updated the _FORM_DEBUG-enabled
- code, and I updated comments based on his comments/suggestions.
-
-2007-08-05 01:35 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: changed to use
- libssh2 0.16; fixed link order in case libssh2 is build with
- zlib.
-
-2007-08-04 22:58 bagder
-
- * RELEASE-NOTES: another mirror
-
-2007-08-04 22:47 bagder
-
- * CHANGES, lib/escape.c, lib/strtoofft.c: Patrick Monnerat fixed
- curl_easy_escape() and curlx_strtoll() to work on non-ASCII
- systems.
-
-2007-08-04 18:54 danf
-
- * lib/url.c: Fixed a couple of compiler warnings.
-
-2007-08-04 00:46 danf
-
- * lib/url.c: Refactored CreateConnection() somewhat to reduce its
- length by splitting it into a few new functions. Fixed a few
- leaks in out of memory conditions, including for test case 231.
-
-2007-08-03 21:54 gknauf
-
- * src/Makefile.m32: fixed small fix issue I introduced with my
- previous commit.
-
-2007-08-03 16:30 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: some more makefile
- fixes/changes.
-
-2007-08-03 15:57 jehousley
-
- * lib/ssh.c: Start adding some expanded error conversion of libssh2
- errors.
-
-2007-08-03 15:46 jehousley
-
- * lib/: transfer.c, url.c: The previous commit to force the use of
- libssh2-0.16 by removing LIBSSH2_APINO
-
-2007-08-03 14:53 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: changed 'rm -f' to 'del /f'
- so it works without GnuUtils as Peteris Krumins pointed out;
- changed to use latest external libs.
-
-2007-08-03 13:46 gknauf
-
- * docs/: INSTALL, README.win32: Peteris Krumins pointed out some
- MingW32 related build issues.
-
-2007-08-03 13:24 gknauf
-
- * Makefile.dist: Peteris Krumins pointed out that the standard
- MingW32 build depends on zlib; removed that, and added another
- option for zlib build, and renamed all other targets to reflect
- zlib dependency.
-
-2007-08-03 10:31 bagder
-
- * RELEASE-NOTES: SCP and SFTP support now requires libssh2 0.16 or
- later
-
-2007-08-03 10:25 bagder
-
- * lib/ssh.c: remove left-over partly support for libssh2 0.14
-
-2007-08-03 10:14 bagder
-
- * lib/: ssh.c, ssh.h: The SSH code now only works with libssh2 0.16
- or later. Thus we must not release the next curl until there is a
- libssh2 0.16 released.
-
-2007-08-02 22:10 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Scott Cantor filed bug report
- #1766320 (http://curl.haxx.se/bug/view.cgi?id=1766320) pointing
- out that the libcurl code accessed two curl_easy_setopt() options
- (CURLOPT_DNS_CACHE_TIMEOUT and CURLOPT_DNS_USE_GLOBAL_CACHE) as
- ints even though they're documented to be passed in as longs, and
- that makes a difference on 64 bit architectures.
-
-2007-08-02 21:23 danf
-
- * lib/url.c: Fixed a compiler warning.
-
-2007-08-02 16:42 bagder
-
- * lib/: connect.c, qssl.c: Patrick Monnerat's cleanup fix after my
- alloc-strings commit
-
-2007-08-02 16:09 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/Makefile.am,
- tests/data/test231: Dmitriy Sergeyev reported a regression:
- resumed file:// transfers broke after 7.16.2. This is much due to
- the different treatment file:// gets internally, but now I added
- test 231 to make it less likely to happen again without us
- noticing!
-
-2007-08-02 15:26 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify that setting POSTFIELDS
- to NULL or "" is not enough to make a zero byte POST
-
-2007-08-02 13:34 bagder
-
- * lib/http.c: argh, Greg Morse pointed out that the NTLM POST fix
- only worked if VERBOSE was set, this should make it work for all
- cases!
-
-2007-08-01 23:20 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_getinfo.3,
- docs/libcurl/curl_easy_setopt.3, include/curl/curlver.h,
- lib/connect.c, lib/easy.c, lib/ftp.c, lib/getinfo.c, lib/gtls.c,
- lib/gtls.h, lib/http.c, lib/nss.c, lib/nssg.h, lib/ssh.c,
- lib/sslgen.c, lib/ssluse.c, lib/transfer.c, lib/url.c, lib/url.h,
- lib/urldata.h: Patrick Monnerat and I modified libcurl so that
- now it *copies* all strings passed to it with curl_easy_setopt()!
- Previously it has always just refered to the data, forcing the
- user to keep the data around until libcurl is done with it. That
- is now history and libcurl will instead clone the given strings
- and keep private copies.
-
-2007-08-01 14:58 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Greg Morse reported a problem
- with POSTing using ANYAUTH to a server requiring NTLM, and he
- provided test code and a test server and we worked out a bug fix.
- We failed to count sent body data at times, which then caused
- internal confusions when libcurl tried to send the rest of the
- data in order to maintain the same connection alive.
-
- (and then I did some minor reformatting of code in lib/http.c)
-
-2007-07-31 00:54 bagder
-
- * RELEASE-NOTES: AIX 4 and 5 get to use non-blocking sockets
-
-2007-07-31 00:53 bagder
-
- * CHANGES, acinclude.m4: Peter O'Gorman pointed out (and fixed)
- that the non-blocking check in configure made libcurl use
- blocking sockets on AIX 4 and 5, while that wasn't the intention.
-
-2007-07-31 00:01 bagder
-
- * docs/libcurl/curl_multi_socket.3: users should use the
- CURLMOPT_TIMERFUNCTION rather than curl_multi_timeout when using
- the socket API
-
-2007-07-30 23:47 bagder
-
- * docs/libcurl/libcurl-multi.3: less blocking these days
-
-2007-07-30 23:47 bagder
-
- * docs/libcurl/curl_multi_socket.3: updated based on suggestion
- from Jeff Pohlmeyer
-
-2007-07-30 23:41 bagder
-
- * lib/: http.c, qssl.h: Patrick Monnerat restored qssl successful
- compilation and loading
-
-2007-07-30 22:07 bagder
-
- * CHANGES, RELEASE-NOTES: give credit to Greg Zavertnik
-
-2007-07-30 19:08 danf
-
- * lib/setup.h: Properly set USE_SSL on OS/400
-
-2007-07-30 19:05 danf
-
- * lib/sslgen.c: Fixed compiler warning on non-SSL builds
-
-2007-07-30 00:17 bagder
-
- * docs/FAQ: Added "4.15 FTPS doesn't work" and updated a few other
- sections slightly
-
-2007-07-29 14:54 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/gtls.c, lib/nss.c,
- lib/qssl.c, lib/sslgen.c, lib/sslgen.h, lib/ssluse.c,
- lib/ssluse.h, lib/url.c, lib/urldata.h: Bug report #1759542
- (http://curl.haxx.se/bug/view.cgi?id=1759542). A bad use of a
- socket after it has been closed, when the FTP-SSL data connection
- is taken down.
-
-2007-07-27 10:33 bagder
-
- * lib/urldata.h: added missing part for the qsossl support
-
-2007-07-26 23:56 bagder
-
- * ares/: Makefile.am, configure.ac, libcares.pc.in: added initial
- pkg-config file (attempt)
-
-2007-07-24 17:23 danf
-
- * lib/qssl.c: Removed unused variable.
-
-2007-07-23 23:48 bagder
-
- * lib/url.c: #if that should be #ifdef
-
-2007-07-23 23:46 bagder
-
- * CHANGES, RELEASE-NOTES, lib/Makefile.inc, lib/qssl.c, lib/qssl.h,
- lib/sslgen.c: Implemented the parts of Patrick Monnerat's OS/400
- patch that introduces support for the OS/400 Secure Sockets Layer
- library
-
-2007-07-23 20:51 danf
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/file.c, lib/ftp.c,
- lib/http.c, lib/sendf.c, lib/transfer.c, lib/url.c,
- lib/urldata.h, tests/libtest/lib506.c: Implemented only the parts
- of Patrick Monnerat's OS/400 patch that renamed some few internal
- identifiers to avoid conflicts, which could be useful on other
- platforms.
-
-2007-07-23 19:51 danf
-
- * tests/ftpserver.pl: Log the "<CMD> wasn't handled" error normally
- since it is now expected to occur in a couple of tests.
-
-2007-07-23 03:05 gknauf
-
- * src/Makefile.vc6: added 2 system libs necessary for linking
- OpenSSL 0.9.8e statically.
-
-2007-07-22 12:19 bagder
-
- * RELEASE-NOTES: fix mess added in my previous commit
-
-2007-07-22 12:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_digest.c: HTTP Digest auth fix
- on a re-used connection
-
-2007-07-22 12:08 bagder
-
- * CHANGES, tests/data/Makefile.am, tests/data/test354: Added test
- case 354 that makes a simple FTP retrieval without password,
- which verifies the bug fix in #1757328.
-
-2007-07-21 23:49 bagder
-
- * tests/data/test141: test and verify curl -I on a single FTP file
- somewhat more than before
-
-2007-07-21 23:48 bagder
-
- * tests/ftpserver.pl: To allow more flexibility in FTP test cases,
- I've removed the enforced states from the test server code as
- they served no real purpose. The test server is here to serve for
- the test cases, not to attempt to function as a real server!
-
-2007-07-21 23:47 bagder
-
- * RELEASE-NOTES: news
-
-2007-07-21 04:08 danf
-
- * lib/: ftp.c, ssh.c: Make the pointers of a few static const
- arrays const, too, for safety.
-
-2007-07-20 23:50 gknauf
-
- * ares/Makefile.netware: added curl include for debug builds.
-
-2007-07-20 19:29 danf
-
- * docs/: curl.1, libcurl/curl_easy_setopt.3: Document pwd as an
- sftp quote command for curl(1), and show it as lower case for
- consistency since sftp commands are case insensitive.
-
-2007-07-20 18:01 gknauf
-
- * src/getpass.c: added lf to Win32 getpass_r() so that next output
- appears in new line.
-
-2007-07-20 17:33 bagder
-
- * CHANGES, RELEASE-NOTES: PWD for SFTP is fixed
-
-2007-07-20 11:38 bagder
-
- * RELEASE-NOTES: the "libssh2 owns the memory don't free it" case
-
-2007-07-20 11:35 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Ralf S. Engelschall filed bug
- report #1757328 (http://curl.haxx.se/bug/view.cgi?id=1757328) and
- submitted a patch. It turns out we broke login to FTP servers
- that don't require (nor understand) PASS after the USER command
-
-2007-07-20 03:03 jehousley
-
- * lib/ssh.c: Fix a loop with PWD
-
-2007-07-20 02:41 danf
-
- * lib/: ftp.c, gtls.c, nss.c, splay.c, ssh.c: Made some const
- arrays static to avoid unnecessary stack usage.
-
-2007-07-19 23:35 bagder
-
- * docs/BUGS: minor addition, re-count of the number of lines of
- code
-
-2007-07-19 17:08 bagder
-
- * CHANGES: libssh2 fix
-
-2007-07-19 03:42 danf
-
- * tests/sshserver.pl: Revert the 512 change since newer versions of
- OpenSSH don't support DSA keys that small.
-
-2007-07-19 01:21 jehousley
-
- * docs/libcurl/curl_easy_setopt.3: SFTP also supports PWD
-
-2007-07-19 00:23 danf
-
- * docs/libcurl/curl_easy_setopt.3: Added the list of sftp quote
- commands.
-
-2007-07-18 20:31 jehousley
-
- * lib/ssh.c: As has been pointed out, err_msg should not be freed
- here. The actual issue is in libssh2 and not freeing a dynamic
- error message during cleanup.
-
-2007-07-18 02:27 danf
-
- * tests/sshserver.pl: Use 512 bit keys to reduce the time taken to
- generate them. This shouldn't really reduce security since in
- the common case of a daily automated build the keys are only used
- for a single test run lasting a few minutes before being deleted.
-
-2007-07-17 23:53 danf
-
- * CHANGES, tests/libtest/test613.pl: Fixed test cases 613 and 614
- by improving the log postprocessor to handle a new directory
- listing format that newer libssh2's can provide. This is
- probably NOT sufficient to handle all directory listing formats
- that server's can provide and should be revisited.
-
-2007-07-17 22:59 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Jofell Gallardo posted a
- libcurl log using FTP that exposed a bug which made a control
- connection that was deemed "dead" to yet be re-used in a
- following request. We must make sure the connection gets closed
- on this situation.
-
-2007-07-16 23:44 bagder
-
- * tests/data/test540: make it do all three requests on the same
- connection
-
-2007-07-16 23:22 danf
-
- * docs/examples/: anyauthput.c, cookie_interface.c, ftpget.c,
- ftpgetresp.c, ftpupload.c, getinmemory.c, httpput.c,
- post-callback.c, sepheaders.c: Fixed some more simple compile
- warnings in the examples.
-
-2007-07-16 23:08 bagder
-
- * docs/KNOWN_BUGS: 45. libcurl built to support ipv6 uses
- getaddrinfo() to resolve host names. getaddrinfo() sorts the
- response list which effectively kills how libcurl deals with
- round-robin DNS entries. All details:
- http://curl.haxx.se/mail/lib-2007-07/0168.html initial
- suggested function to use for randomizing the response:
- http://curl.haxx.se/mail/lib-2007-07/0178.html
-
-2007-07-15 23:00 bagder
-
- * tests/: data/test540, libtest/lib540.c: convert test case 540 to
- use a custom Host: header as well
-
-2007-07-15 22:59 bagder
-
- * tests/libtest/: first.c, test.h: let's just export the whole argc
- + argv pair globally so that each test tool can take advantage of
- it however they see fit!
-
-2007-07-15 15:00 gknauf
-
- * lib/Makefile.vc6, src/Makefile.vc6: make users use the latest
- OpenSSL and Zlib libraries; added hint to compile with SSPI with
- MSVC6 without PSDK.
-
-2007-07-15 01:01 bagder
-
- * ares/ares_free_hostent.3: added another SEE ALSO
-
-2007-07-15 00:39 bagder
-
- * tests/: data/Makefile.am, data/test540, libtest/Makefile.am,
- libtest/lib540.c: Added test case 540 and lib540.c, the
- 'proxyauth.c' test app posted by Shmulik Regev on the libcurl
- mailing list on 10 Jul 2007, converted to a test case.
-
-2007-07-15 00:38 bagder
-
- * tests/libtest/: first.c, test.h: add support for arg3 as the
- third argument...
-
-2007-07-15 00:33 bagder
-
- * tests/runtests.pl: add some better logging when HTTP server start
- fails, and make the failure really hard if the test server can't
- be resolved (like for ::1 ipv6)
-
-2007-07-14 17:59 gknauf
-
- * lib/: ssh.c, ssh.h, transfer.c, url.c: for now unless we do
- better fixed LIBSSH2_APINO compares to use long constants.
-
-2007-07-14 15:14 bagder
-
- * ares/ares_init.c: Brad House's fix to hish a win32 compiler
- warning
-
-2007-07-14 15:11 bagder
-
- * ares/CHANGES: added Vlad's entire description of his valgrind fix
-
-2007-07-14 15:08 bagder
-
- * ares/: CHANGES, ares_init.c, ares_process.c, ares_query.c: Vlad
- Dinulescu fixed two outstanding valgrind reports
-
-2007-07-13 23:31 danf
-
- * docs/examples/Makefile.am: The examples don't need access to curl
- internal source files.
-
-2007-07-13 22:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c: Colin Hogben filed bug
- report #1750274 (http://curl.haxx.se/bug/view.cgi?id=1750274) and
- submitted a patch for the case where libcurl did a connect
- attempt to a non-listening port and didn't provide a human
- readable error string back.
-
-2007-07-13 22:09 bagder
-
- * docs/INSTALL: Daniel Cater added the mentioning of
- CURL_DISABLE_TFTP
-
-2007-07-13 22:07 bagder
-
- * docs/libcurl/libcurl-errors.3: Daniel Cater: libcurl-errors needs
- updating to reflect a couple of deprecated error codes
-
-2007-07-13 22:04 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c, lib/ftp.c: Daniel Cater
- made libcurl build with CURL_NO_OLDIES defined (which doesn't
- define the symbols for backwards source compatibility)
-
-2007-07-13 21:38 bagder
-
- * Makefile.dist: Daniel Cater made the vc8-generating line use
- double-quotes to run fine on windows
-
-2007-07-12 23:34 bagder
-
- * CHANGES, RELEASE-NOTES, lib/krb5.c: Made the krb5 code build with
- Heimdal's GSSAPI lib
-
-2007-07-12 23:11 danf
-
- * CHANGES, docs/examples/cacertinmem.c,
- docs/examples/cookie_interface.c, docs/examples/curlx.c,
- docs/examples/fileupload.c, docs/examples/fopen.c,
- docs/examples/ftp3rdparty.c, docs/examples/ftpget.c,
- docs/examples/ftpupload.c, docs/examples/ftpuploadresume.c,
- docs/examples/ghiper.c, docs/examples/hiperfifo.c,
- docs/examples/httpput.c, docs/examples/https.c,
- docs/examples/multi-app.c, docs/examples/multi-post.c,
- docs/examples/multithread.c, docs/examples/opensslthreadlock.c,
- docs/examples/post-callback.c, docs/examples/postit2.c,
- docs/examples/sepheaders.c, docs/examples/simplepost.c,
- docs/examples/simplessl.c, docs/examples/synctime.c: Fixed some
- compile warnings and errors and improved portability in the
- examples. Removed ftp3rdparty.c since libcurl doesn't support
- 3rd party FTP transfers any longer.
-
-2007-07-12 22:55 bagder
-
- * docs/examples/anyauthput.c: make it compile fine
-
-2007-07-12 22:54 bagder
-
- * docs/examples/Makefile.am: fix include path
-
-2007-07-12 22:38 danf
-
- * Makefile.am, docs/examples/Makefile.am: Compile most of the
- example apps in docs/examples when doing a 'make check'.
-
-2007-07-12 22:15 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Shmulik Regev found an (albeit
- rare) case where the proxy CONNECT operation could in fact get
- stuck in an endless loop.
-
-2007-07-12 19:03 bagder
-
- * tests/server/sockfilt.c: start the retry delay at 10 ms, double
- it for every failed attempt which makes it 10 seconds delay after
- 11 attempts
-
-2007-07-12 12:54 gknauf
-
- * tests/server/sockfilt.c: the timeout was probably too short with
- max = 1 sec, so lets test with 5 sec.
-
-2007-07-12 12:44 gknauf
-
- * lib/Makefile.am: added nwos.c so that it gets distributed with
- releases and tarballs.
-
-2007-07-12 03:07 gknauf
-
- * tests/server/: sockfilt.c, util.c, util.h: added time loop to
- sockfilt.c in order to wait for SO_REUSEADDR; added go_sleep() to
- util.c.
-
-2007-07-12 01:17 curlvms
-
- * packages/vms/: curlmsg.h, curlmsg.msg, curlmsg.sdl,
- curlmsg_vms.h: Updated to match curl.h
-
-2007-07-12 00:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Made CURLOPT_SSL_VERIFYHOST
- set to 1 acts as described in the documentation: fail to connect
- if there is no Common Name field found in the remote cert. We
- should deprecate the support for this set to 1 anyway soon, since
- the feature is pointless and most likely never really used by
- anyone.
-
-2007-07-11 23:47 gknauf
-
- * lib/: connect.c, hostip4.c, nwlib.c: removed now obsolete
- NETDB_DEFINE_CONTEXT macro calls.
-
-2007-07-11 23:38 gknauf
-
- * lib/Makefile.netware: updated makefile to compile nwos.c.
-
-2007-07-11 23:34 gknauf
-
- * lib/: easy.c, nwos.c, setup.h: added NetWare-own file to provide
- some init functions (for now only CLIB); added call to
- netware_init() in curl_global_init() to make sure it gets called
- before any library functions get used.
-
-2007-07-11 21:21 danf
-
- * docs/libcurl/curl_easy_setopt.3: Added the first libcurl version
- to which the SSH options were added.
-
-2007-07-11 11:08 gknauf
-
- * lib/http_ntlm.c: added netdb.h for NetWare CLIB since
- gethostname() is defined there.
-
-2007-07-11 11:03 gknauf
-
- * lib/url.c: fixed endif comment.
-
-2007-07-11 10:55 gknauf
-
- * lib/ssh.h: fixed endif comment.
-
-2007-07-11 00:55 danf
-
- * tests/README: Added a code coverage section using gcc and gcov.
-
-2007-07-11 00:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_chunks.c: Shmulik Regev: The
- tiny patch below fixes a bug (that I introduced :) which happens
- when negotiating authentication with a proxy (probably with web
- servers as well) that uses chunked transfer encoding for the 407
- error pages. In this case the ''ignorebody'' flag was ignored (no
- pun intended).
-
-2007-07-11 00:31 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Giancarlo Formicuccia
- reported and fixed a problem with a closed connection to a proxy
- during CONNECT auth negotiation.
-
-2007-07-11 00:27 danf
-
- * CHANGES, RELEASE-NOTES, tests/data/test31, tests/data/test46,
- tests/data/test506, tests/data/test517, tests/data/test61: Force
- the time zone to GMT in the cookie tests in case the user is
- using one of the so-called 'right' time zones that take into
- account leap seconds, which causes the tests to fail (as reported
- by Daniel Black in bug report #1745964).
-
-2007-07-11 00:26 jehousley
-
- * tests/data/test605: The previous commits changed the error code
-
-2007-07-11 00:26 jehousley
-
- * lib/: ssh.c, ssh.h, transfer.c, url.c, urldata.h: * Finish moving
- sftp:// into a state machine so it won't block in multi mode *
- Move scp:// into a state machine so it won't block in multi mode
- * When available use the full directory entry from the sftp://
- server
-
-2007-07-11 00:23 danf
-
- * src/main.c, tests/data/Makefile.am, tests/data/test289: Fixed a
- curl memory leak reported by Song Ma with a modified version of
- the patch he suggested. Added his test case as test289 to
- verify.
-
-2007-07-11 00:07 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.16.5...
-
-2007-07-10 23:36 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: 7.16.4 preps
-
-2007-07-09 04:00 gknauf
-
- * lib/Makefile.netware: added better CodeWarrior detection (forgot
- to add with previos version).
-
-2007-07-09 01:19 gknauf
-
- * src/Makefile.netware: added better CodeWarrior detection; added
- defines for setlocale().
-
-2007-07-09 01:18 gknauf
-
- * lib/Makefile.netware: added better CodeWarrior detection; moved
- autounload flag so that its used for both lib architectures.
-
-2007-07-09 01:17 gknauf
-
- * ares/Makefile.netware: added better CodeWarrior detection.
-
-2007-07-07 18:26 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: removed some obsolete include paths and
- defines.
-
-2007-07-07 00:14 bagder
-
- * lib/: krb5.c, security.c: Thomas J. Moore made it build with less
- warnings
-
-2007-07-06 23:56 bagder
-
- * RELEASE-NOTES: Gavrie Philipson's change, updated numbers
-
-2007-07-06 22:14 bagder
-
- * docs/examples/ftpgetresp.c: add note about windows and dlls with
- CURLOPT_WRITEDATA
-
-2007-07-06 16:58 gknauf
-
- * src/getpass.c: fixed NetWare CLIB implementation of getpass_r()
-
-2007-07-05 14:48 jehousley
-
- * CHANGES, lib/ssh.c: Gavrie Philipson provided a patch that will
- use a more specific error message for an scp:// upload failure.
- If libssh2 has his matching patch, then the error message return
- by the server will be used instead of a more generic error.
-
-2007-07-05 03:38 danf
-
- * tests/Makefile.am: Add -a when running torture tests now that
- it's supported.
-
-2007-07-05 00:54 jehousley
-
- * lib/ssh.c: Fix spelling error in error message
-
-2007-07-04 19:20 gknauf
-
- * ares/configure.ac: add test for gettimeofday() so that
- HAVE_GETTIMEOFDAY gets defined.
-
-2007-07-04 15:45 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: enabled ares build.
-
-2007-07-04 12:54 gknauf
-
- * ares/nameser.h: although the check for HAVE_STRUCT_TIMEVAL solved
- the redefine it is incorrect; lets see if a check for
- HAVE_GETTIMEOFDAY also works; if gettimeofday() is present then
- we can assume we have the timezone struct too.
-
-2007-07-04 11:01 gknauf
-
- * ares/configure.ac: added check for sys/param.h.
-
-2007-07-03 20:18 gknauf
-
- * ares/nameser.h: trial to catch problem with Daniels cross-mingw
- ares builds.
-
-2007-07-03 18:21 gknauf
-
- * ares/ares.h: added NetWare CLIB-own header to solve gcc warnings.
-
-2007-07-03 18:00 gknauf
-
- * ares/: Makefile.netware, ares.h, ares_getnameinfo.c, ares_init.c:
- few minor changes to make ares compile for NetWare CLIB
- architecture.
-
-2007-07-03 02:50 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: fixed rule to build
- libcares when needed.
-
-2007-07-03 02:42 gknauf
-
- * ares/Makefile.netware: changed to build for CLIB / LIBC.
-
-2007-07-03 02:12 gknauf
-
- * src/Makefile.netware: added libcares to static build if ares
- enabled.
-
-2007-07-03 00:04 bagder
-
- * docs/THANKS: contributors from the 7.16.3 release notes
-
-2007-07-02 20:50 gknauf
-
- * ares/Makefile.netware: sync'd with lib makefile changes: use var
- for awk; fixed RECV* / SEND* defines; debug var can be
- overwritten; added better compiler path handling.
-
-2007-07-02 20:42 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: some more makefile
- tweaks and hacks to deal with both lib architectures.
-
-2007-07-02 19:22 jehousley
-
- * docs/libcurl/curl_easy_setopt.3: Fix problem with the indenting
- noticed by Pavel
-
-2007-07-02 00:17 gknauf
-
- * src/Makefile.netware: ignore make error when trying to copy
- curl.pdf which isnt in CVS.
-
-2007-07-02 00:03 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention the old name
-
-2007-07-02 00:01 bagder
-
- * CHANGES, RELEASE-NOTES, docs/FEATURES, docs/MANUAL, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/Makefile.inc, lib/ftp.c, lib/hostip.c, lib/hostip4.c,
- lib/hostip6.c, lib/krb4.h, lib/krb5.c, lib/security.c,
- lib/sendf.c, lib/url.c, lib/urldata.h, src/main.c: Thomas J.
- Moore provided a patch that introduces Kerberos5 support in
- libcurl. This also makes the options change name to --krb (from
- --krb4) and CURLOPT_KRBLEVEL (from CURLOPT_KRB4LEVEL) but the old
- names are still
-
-2007-07-01 23:28 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Song Ma helped me verify and
- extend a fix for doing FTP over a SOCKS4/5 proxy
-
-2007-07-01 23:06 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: changed RECV_* /
- SEND_* defines to correctly reflect NetWare APIs; some more minor
- Makefile tidyups.
-
-2007-07-01 18:55 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: disabled 64bit type
- for CLIB build which removes compiler runtime dependency.
-
-2007-07-01 14:09 gknauf
-
- * docs/INSTALL: updated NetWare docu.
-
-2007-07-01 03:33 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: added lib
- architecture to NLM description.
-
-2007-07-01 01:53 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: added
- HAVE_SYS_IOCTL_H define; added gcc runtime.
-
-2007-07-01 01:45 gknauf
-
- * lib/setup.h, lib/timeval.c, src/curlutil.c, src/setup.h: moved
- includes to setup.h so that the project headers also pick them up
- (eleminate gcc warning).
-
-2007-06-30 23:20 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: fixed path to
- Metrowerks tools and runtime since they changed between compiler
- versions.
-
-2007-06-30 22:16 gknauf
-
- * include/curl/curl.h: minor patches to enable building for NetWare
- CLIB. sent by Dmitry Mityugov.
-
-2007-06-30 22:08 gknauf
-
- * lib/connect.c, lib/hostip.h, lib/hostip4.c, lib/inet_ntop.c,
- lib/timeval.c, src/curlutil.c, src/getpass.c, src/main.c: minor
- patches to enable building for NetWare CLIB. sent by Dmitry
- Mityugov.
-
-2007-06-30 22:02 gknauf
-
- * lib/Makefile.netware, lib/nwlib.c, src/Makefile.netware: enabled
- building for NetWare CLIB architecture.
-
-2007-06-29 00:31 gknauf
-
- * tests/testcurl.pl: revert previous patch since it turned out that
- older cp dont know this switch, argh!
-
-2007-06-28 13:11 jehousley
-
- * lib/file.c, lib/memdebug.c, lib/memdebug.h, tests/memanalyze.pl:
- Using fdopen() is a more correct way to implement the
- CURLOPT_NEW_FILE_PREMS file.c, but the debug interface was
- missing. This adds the routines needed to make the memory
- debuging work for fdopen().
-
-2007-06-28 12:47 bagder
-
- * CHANGES, RELEASE-NOTES: reality sync
-
-2007-06-28 03:20 gknauf
-
- * tests/testcurl.pl: fixed nasty cp warnings about not beeing able
- to preserve ownership.
-
-2007-06-27 23:35 bagder
-
- * docs/examples/10-at-a-time.c: James Bursa's improvement
-
-2007-06-27 23:29 bagder
-
- * docs/examples/10-at-a-time.c: fix little flaw that could make the
- transfer loop end prematurely
-
-2007-06-27 22:15 jehousley
-
- * docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/easy.c,
- lib/file.c, lib/ssh.c, lib/url.c, lib/urldata.h: Add two new
- options for the SFTP/SCP/FILE protocols: CURLOPT_NEW_FILE_PERMS
- and CURLOPT_NEW_DIRECTORY_PERMS. These control the premissions
- for files and directories created on the remote server.
- CURLOPT_NEW_FILE_PERMS defaults to 0644 and
- CURLOPT_NEW_DIRECTORY_PERMS defaults to 0755
-
-2007-06-27 12:14 gknauf
-
- * lib/ssh.c: removed trailing spaces.
-
-2007-06-27 12:12 gknauf
-
- * lib/ssh.c: fixed wrong var name
-
-2007-06-26 23:53 bagder
-
- * docs/FAQ: add an FTP rename example to 3.7
-
-2007-06-26 23:09 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hash.c, lib/hash.h, lib/hostip.c,
- lib/multi.c: Robert Iakobashvili re-arranged the internal hash
- code to work with a custom hash function for different hashes,
- and also expanded the default size for the socket hash table used
- in multi handles to greatly enhance speed when very many
- connections are added and the socket API is used.
-
-2007-06-26 22:23 jehousley
-
- * lib/ssh.c: The results for a list only directory should be sent
- to the callback
-
-2007-06-26 21:12 jehousley
-
- * lib/ssh.c: ftp_list_only mode should list all file types, not
- just directories.
-
-2007-06-25 16:17 bagder
-
- * lib/transfer.c: gah, adding missing braces, removed silly debug
- output, added new debug output
-
-2007-06-25 15:58 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c, tests/data/test282:
- Adjusted how libcurl treats HTTP 1.1 responses without
- content-lenth or chunked encoding (that also lacks "Connection:
- close"). It now simply assumes that the connection WILL be closed
- to signal the end, as that is how RFC2616 section 4.4 point #5
- says we should behave.
-
-2007-06-25 15:52 bagder
-
- * include/curl/curlver.h: fix the version string as well
-
-2007-06-25 11:34 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working towards
- 7.16.4
-
-2007-06-25 11:18 bagder
-
- * CHANGES: 7.16.3
-
-2007-06-24 21:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: As reported by "Tro" in
- http://curl.haxx.se/mail/lib-2007-06/0161.html and
- http://curl.haxx.se/mail/lib-2007-06/0238.html, libcurl didn't
- properly do no-body requests on FTP files on re-used connections
- properly, or at least it didn't provide the info back in the
- header callback properly in the subsequent requests.
-
-2007-06-22 23:10 gknauf
-
- * Makefile.dist: added netware install target
-
-2007-06-22 23:10 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: made debug flag
- settable from outside; add allways debug stuff when DB != NDEBUG
-
-2007-06-22 22:24 bagder
-
- * lib/transfer.c: remove annoying debug output
-
-2007-06-21 16:23 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/test506: Gerrit
- Bruchhäuser pointed out a warning that the Intel(R) Thread
- Checker tool reports and it was indeed a legitimate one and it is
- one fixed. It was a use of a share without doing the proper
- locking first.
-
-2007-06-20 23:57 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: Adam Piggott filed bug report
- #1740263 (http://curl.haxx.se/bug/view.cgi?id=1740263). Adam
- discovered that when getting a large amount of URLs with curl,
- they were fetched slower and slower... which turned out to be
- because the --libcurl data collecting which wrongly always was
- enabled, but no longer is...
-
-2007-06-20 13:30 jehousley
-
- * lib/ssh.c: If the creation of rsa and rsa_pub fail due to memory,
- don't try other authentication methods. Terminate with a memory
- error.
-
-2007-06-19 15:23 jehousley
-
- * lib/ssh.c: Check both variables, not the same one twice. Pointed
- out by Colin Hogben
-
-2007-06-19 14:33 bagder
-
- * lib/ftp.c, tests/data/Makefile.am, tests/data/test353: and fix
- another flaw in the singlecwd case when we get ftp://site.com/,
- also from the #1739100 bug report
-
-2007-06-19 13:50 bagder
-
- * lib/ssh.c: extra precaution to make PATH_MAX always be defined
-
-2007-06-19 13:31 jehousley
-
- * lib/: ssh.c, urldata.h: Change rsa and rsa_pub from static arrays
- in ssh_conn to be dynamically allocated when needed
-
-2007-06-19 00:28 jehousley
-
- * lib/ssh.c: If LIBSSH2DEBUG was defined "i" was undefined
-
-2007-06-18 23:09 bagder
-
- * CHANGES, RELEASE-NOTES: Robson Braga Araujo filed bug report
- #1739100 (http://curl.haxx.se/bug/view.cgi?id=1739100) that
- mentioned that libcurl could not actually list the contents of
- the root directory of a given FTP server if the login directory
- isn't root. I fixed the problem and added three test cases (one
- is disabled for now since I identified KNOWN_BUGS #44, we cannot
- use --ftp-method nocwd and list ftp directories).
-
-2007-06-18 23:04 bagder
-
- * lib/ftp.c: make the ftp-method multicwd case possible to LIST the
- root directory of a server!
-
-2007-06-18 23:04 bagder
-
- * tests/data/: DISABLED, Makefile.am, test350, test351, test352:
- Test listing of root dir with the three ftp-methods. KNOWN_BUGS
- #44 make me disable test 351 by default by I add the test case
- anyway to make it easier to work on this problem in the future.
-
-2007-06-18 23:03 bagder
-
- * docs/KNOWN_BUGS: 44. --ftp-method nocwd does not handle URLs
- ending with a slash properly (it should list the contents of that
- directory). See test case 351.
-
-2007-06-18 10:57 bagder
-
- * docs/KNOWN_BUGS: Daniel Johnson reported the tests now run fine
- on OS X!
-
-2007-06-16 18:58 jehousley
-
- * lib/ssh.c: Curl_ssh_connect() was using an uninitialized variable
- in one location. Caught by the auto-builds
-
-2007-06-14 23:16 bagder
-
- * tests/sshserver.pl: Tom Regner added /usr/lib/misc to the path to
- scan for sftp to make the sftp tests run fine on gentoo
-
-2007-06-14 16:42 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Shmulik Regev fixed a flaw
- in the multi interface that occurred when doing HTTP CONNECT over
- a proxy
-
-2007-06-14 16:15 bagder
-
- * CHANGES, RELEASE-NOTES: s/HAVE_POLL/HAVE_SYS_POLL_H
-
-2007-06-14 15:22 jehousley
-
- * lib/ssh.c: Remove duplicate code that was left in as part of
- 1.35. This code only affected sftp_sendquote() for the
- "chgrp/chmod/chown" commands.
-
- This also fixed failure of test 614 on a system that previously
- failed.
-
-2007-06-14 13:21 bagder
-
- * lib/select.h: Make our own definitions of the POLL* defiens and
- the pollfd struct only get done if the sys/poll.h file is
- missing, as we have seen machines with poll() present but without
- the header file and machines that don't get HAVE_POLL defined but
- that do have the sys/poll.h header file...
-
-2007-06-14 12:36 jehousley
-
- * lib/ssh.c: BUG FIX: When reading a directory listing that
- contains symlinks with the latest libssh2, the listing would be
- truncated at the symlink. Fix by looping on
- LIBSSH2_ERROR_EAGAIN, like the rest of the calls.
-
-2007-06-13 22:17 bagder
-
- * CHANGES, RELEASE-NOTES: Tom Regner provided a patch and worked
- together with James Housley, so now
- CURLOPT_FTP_CREATE_MISSING_DIRS works for SFTP connections as
- well as FTP ones.
-
-2007-06-13 22:08 bagder
-
- * CHANGES, RELEASE-NOTES: Rich Rauenzahn filed bug report #1733119
- (http://curl.haxx.se/bug/view.cgi?id=1733119) and we collaborated
- on the fix. The problem is that for 64bit HPUX builds, several
- socket-related functions would still assume int (32 bit)
- arguments and not socklen_t (64 bit) ones.
-
-2007-06-13 19:13 jehousley
-
- * lib/ssh.c: Restore functionality mistakenly removed in the
- previous commit
-
-2007-06-13 17:02 jehousley
-
- * docs/: curl.1, libcurl/curl_easy_setopt.3: Update documentation
- to reflect SFTP's ability to create directories on upload. Some
- text provieded by Tom Regner
-
-2007-06-13 16:01 giva
-
- * lib/ssh.c: libssh2_session_free() returns void. Fix "#endif".
-
-2007-06-13 14:15 jehousley
-
- * lib/ssh.c: Commit Tom Regner's code for SFTP create missing
- directories. This patch uses the --ftp-create-dirs flag to
- control if cURL will try and create directories that are
- specified in an upload path, but don't exist.
-
-2007-06-13 13:27 jehousley
-
- * lib/ssh.c: Add a define to protect the state machine from older
- versions of libssh2, ie 0.14, that don't know about newer
- constants used in the state machine.
-
-2007-06-12 23:39 bagder
-
- * configure.ac, lib/setup_once.h: With lots of help from Rich
- Rauenza(?) in bug #1733119, we introduce a fairly complicated
- work-around for 64bit HPUX compiles. We do the fix using inline
- static functions to make them follow the header file properly and
- thus get used fine in the test suite too etc.
-
-2007-06-12 23:32 jehousley
-
- * lib/: ssh.c, urldata.h: * Updates for the latest version of
- libssh2, specifically libssh2_sftp_shutdown() and
- libssh2_session_free() can now return LIBSSH2_ERROR_EAGAIN.
-
- * Fix the _send() and _recv() return values so non-blocking works
-
-2007-06-12 18:15 jehousley
-
- * lib/ssh.c: While connect and transfer works fine in non-blocking
- mode for the test suite, transfer fails in the real world. So
- after connect set to blocking as full non-blocking is migrated
- out.
-
-2007-06-12 15:51 bagder
-
- * CHANGES: mention James current work on ssh
-
-2007-06-12 15:47 jehousley
-
- * lib/ssh.c: Prevent the state machine from getting stuck in
- SSH_AUTH_HOST_INIT
-
-2007-06-12 14:31 jehousley
-
- * lib/: ssh.c, ssh.h, urldata.h: Convert Curl_ssh_connect() to run
- in a state machine for LIBSSH2_APINO >= 200706012030. More to
- come...
-
-2007-06-12 10:15 bagder
-
- * lib/tftp.c: remove unused field in the state struct
-
-2007-06-11 19:53 danf
-
- * tests/runtests.pl: Wait longer for servers to start up since the
- ssh server needs to generate keys the first time (which can take
- a while on a slow or loaded host). Enforce a longer startup wait
- time for the ssh client SOCKS server, too. Check for an error
- code from startnew() when starting any server.
-
-2007-06-11 19:49 danf
-
- * tests/sshserver.pl: We do not use RSA keys in the test suite.
-
-2007-06-11 15:35 bagder
-
- * lib/hostares.c: restore the correct timeout time that my previous
- commit broke
-
-2007-06-11 15:32 bagder
-
- * lib/hostares.c: Properly wait for the c-ares resolve to complete,
- hopefully the cure for bug #1733955
-
-2007-06-11 09:27 bagder
-
- * docs/FAQ: Daniel Black's clarfication about the NTLM support
-
-2007-06-11 06:33 giva
-
- * lib/hostthre.c: constify 'hostname' in init_thread_sync_data().
- Simply clear the whole 'tsd' structure on exit in
- destroy_thread_sync_data().
-
-2007-06-11 06:07 giva
-
- * lib/ssh.c: Squelsh some warnings for libssh older than 0.1.5.
-
-2007-06-08 20:56 danf
-
- * CHANGES, tests/runtests.pl: Fixed the test harness so that it
- actually kills the ssh being used as the SOCKS server.
-
-2007-06-08 19:32 danf
-
- * tests/sshserver.pl: Improved compatibility with perl 5.0 on the
- 'open' calls.
-
-2007-06-08 19:21 danf
-
- * CHANGES, tests/runtests.pl, tests/data/Makefile.am,
- tests/data/test706, tests/data/test707: Incorporated Daniel
- Black's test706 and test707 SOCKS test cases.
-
-2007-06-08 19:03 danf
-
- * tests/runtests.pl: Improved compatibility with perl 5.0 on the
- 'open' calls.
-
-2007-06-08 18:19 jehousley
-
- * lib/ssh.c: Curl_scp_done() needs to call libssh2_channel_free()
- to prevent a memory leak, and it is the right thing to do.
-
-2007-06-08 18:02 jehousley
-
- * lib/ssh.c: Fix to work with the latest CVS version of libssh2
-
- * As of (LIBSSH2_APINO >= 200706012030) there are not *nb()
- functions * As of (LIBSSH2_APINO >= 200706012030) most
- libssh2_*() functions can return LIBSSH2_ERROR_EAGAIN to
- indicate that the call would block.
-
- To make the code work as previously, blocking, all the code has
- been updated so that when (LIBSSH2_APINO >= 200706012030) it
- loops simulating blocking. This allows the existing code to
- function and not hold up the upcoming release.
-
-2007-06-08 11:01 bagder
-
- * ares/: RELEASE-NOTES, ares_version.h: start working on 1.4.1
-
-2007-06-08 10:46 bagder
-
- * ares/: CHANGES, Makefile.am, RELEASE-NOTES: 1.4.0 preps
-
-2007-06-08 00:42 danf
-
- * tests/runtests.pl: Changed the opens to work on older versions of
- perl. Redirect ssh output to ssh.log
-
-2007-06-08 00:24 danf
-
- * lib/file.c: Fixed a compiler warning on uClibc.
-
-2007-06-07 23:56 bagder
-
- * docs/KNOWN_BUGS: bug #1720605, There seems to be a problem when
- connecting to the Microsoft telnet server
-
-2007-06-07 23:47 bagder
-
- * CHANGES, RELEASE-NOTES: Daniel S (6 June 2007) - -s/--silent can
- now be used to toggle off the silence again if used a second
- time.
-
- Daniel S (5 June 2007) - Added Daniel Black's work that adds the
- first few SOCKS test cases. I also fixed two minor SOCKS
- problems to make the test cases run fine.
-
-2007-06-07 23:42 danf
-
- * tests/sshserver.pl: Renamed the sshd log file to sshd.log. Added
- more options to the ssh config file to improve the consistency of
- the test environment. Force a rewrite of the ssh config files on
- every invocation. Changed the opens to work on older versions of
- perl.
-
-2007-06-07 22:14 danf
-
- * tests/data/: test700, test701, test702, test703, test704,
- test705: Cleaned up SOCKS tests. Use a magic port number instead
- of killserver to do nonlistening server tests, like other tests.
-
-2007-06-07 21:49 danf
-
- * tests/: runtests.pl, sshserver.pl: Fixed some problems in
- starting SSH for use in SOCKS.
-
-2007-06-06 22:08 bagder
-
- * src/main.c: make -s/--silent properly toggle as it is documented
-
-2007-06-05 15:53 bagder
-
- * ares/CHANGES: the revert
-
-2007-06-05 15:52 bagder
-
- * tests/data/: Makefile.am, test703: added 703: a socks5 version of
- 702
-
-2007-06-05 15:50 bagder
-
- * tests/: .cvsignore, FILEFORMAT, README, runtests.pl,
- sshserver.pl, data/Makefile.am, data/test700, data/test701,
- data/test702, data/test704, data/test705: Daniel Black's test
- suite fixes and initial test cases for SOCKS4/5 using openssh
-
-2007-06-05 15:42 bagder
-
- * lib/socks.c: if we read zero bytes from the proxy, the connection
- is broken and we need to bail out
-
-2007-06-05 15:41 bagder
-
- * lib/url.c: mark connect failures as non-connected when
- ConnectPlease() fails, like when a connection through a socks
- proxy doesn't work
-
-2007-06-04 23:33 bagder
-
- * ares/ares_gethostbyname.c: Revered Ashish Sharma's multiple
- entries patch, as it caused memory madness
-
-2007-06-04 23:26 bagder
-
- * ares/ares_query.c: minor edit since getting an ID seems pointless
- when failure happens
-
-2007-06-04 23:04 bagder
-
- * ares/ares_free_hostent.c: fix the bad bad bad mess this caused on
- name resolves returning more than one name... Reported by James
- Bursa
-
-2007-06-02 22:09 bagder
-
- * ares/: AUTHORS, CHANGES, ares_init.c: Brad Spencer found and
- fixed three flaws in the code, found with the new gcc 4.2.0
- warning: -Waddress
-
-2007-06-02 21:48 bagder
-
- * ares/: CHANGES, ares_process.c, ares_timeout.c, setup.h: Brad
- House fixed VS2005 compiler warnings due to time_t being 64bit.
- He also made recent Microsoft compilers use _strdup() instead of
- strdup().
-
-2007-06-02 21:42 bagder
-
- * ares/: AUTHORS, CHANGES, ares__get_hostent.c,
- ares_free_hostent.c, ares_gethostbyname.c: Ashish Sharma provided
- a patch for supporting multiple entries in the /etc/hosts file.
- Patch edited for coding style and functionality by me (Daniel).
-
-2007-06-02 21:32 bagder
-
- * ares/: Makefile.inc, ares_destroy_options.3, ares_save_options.3:
- ares_destroy_options() and ares_save_options() man pages by Brad
- House
-
-2007-06-01 23:24 bagder
-
- * lib/multi.c: ouch, two conditionals were turned backwards!
-
-2007-06-01 23:01 bagder
-
- * lib/multi.c: do the update timer stuff even when
- CURLM_CALL_MULTI_PERFORM is returned
-
-2007-05-31 13:34 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/README.ares,
- lib/easy.c, lib/hostares.c, lib/select.c, lib/select.h: When
- transferring 500 downloads in parallel with a c-ares enabled
- build only to find that it crashed miserably, and this was due to
- some select()isms left in the code. This was due to API
- restrictions in c-ares 1.3.x, but with the upcoming c-ares 1.4.0
- this is no longer the case so now libcurl runs much better with
- c-ares and the multi interface with > 1024 file descriptors in
- use.
-
-2007-05-31 10:59 bagder
-
- * CHANGES, RELEASE-NOTES, lib/file.c: Feng Tu made (lib)curl
- support "upload" resuming work for file:// URLs.
-
-2007-05-30 23:45 bagder
-
- * ares/ares_version.h: make next version 1.4.0
-
-2007-05-30 23:37 bagder
-
- * ares/: ares_init.c, configure.ac: first take at detecting a
- random device and seeding the random key using data from it in
- randomize_key()
-
-2007-05-30 23:11 bagder
-
- * ares/: CHANGES, ares_init.c, ares_private.h, ares_query.c:
- Shmulik Regev brought cryptographically secure transaction IDs
-
-2007-05-30 22:49 bagder
-
- * ares/: CHANGES, ares.h, ares_destroy.c, ares_init.c: Brad House
- added ares_save_options() and ares_destroy_options() that can be
- used to keep options for later re-usal when ares_init_options()
- is used.
-
-2007-05-30 22:04 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- docs/libcurl/curl_multi_setopt.3, include/curl/multi.h,
- lib/multi.c: Added CURLMOPT_MAXCONNECTS which is a
- curl_multi_setopt() option for setting the maximum size of the
- connection cache maximum size of the multi handle.
-
-2007-05-30 19:15 yangtse
-
- * tests/runtests.pl: In case of test failure, try not to show log
- files of other tests
-
-2007-05-30 14:58 bagder
-
- * ares/: CHANGES, ares.h, ares_process.3, ares_process.c, setup.h:
- added ares_process_fd() to allow applications to ask for
- processing on specific sockets and thus avoiding select() and
- associated functions/macros. This function will be used by
- upcoming libcurl releases for this very reason. It also made me
- export the ares_socket_t type in the public ares.h header file,
- since ares_process_fd() uses that type for two of the arguments.
-
-2007-05-30 11:24 bagder
-
- * lib/url.c: remove really annoying debug output that makes life
- miserable when you do hundreds of parallel transfers...
-
-2007-05-27 00:09 bagder
-
- * CHANGES, RELEASE-NOTES: When working with a problem Stefan Becker
- had, I found an off-by-one buffer overwrite in Curl_select().
- While fixing it, I also improved its performance somewhat by
- changing calloc to malloc and breaking out of a loop earlier
- (when possible).
-
-2007-05-27 00:02 bagder
-
- * lib/select.c: Primarily this fixes an off-by-one buffer overwrite
- (rare but still existing).
-
- I also switched from calloc() to malloc() as a minor performance
- boost since the rest of the code fills in the structs fine anyway
- - and they must for the case when we use the stack-based auto
- variable array instead of the allocated one.
-
- I made the loop filling in poll_fds[] break when poll_nfds is
- reached as a minor speed improvement.
-
-2007-05-26 22:50 bagder
-
- * docs/libcurl/libcurl-multi.3: Clarify a bit about the fact that
- easy handles remain in the multi stack when transfers are done
- and need to be removed and closed or re-added.
-
-2007-05-26 22:47 bagder
-
- * docs/libcurl/curl_multi_info_read.3: make it a WARNING since this
- hits people hard in their faces
-
-2007-05-25 23:56 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/nss.c: Rob
- Crittenden fixed bug #1705802
- (http://curl.haxx.se/bug/view.cgi?id=1705802), which was filed by
- Daniel Black identifying several FTP-SSL test cases fail when we
- build libcurl with NSS for TLS/SSL. Listed as #42 in KNOWN_BUGS.
-
-2007-05-25 23:20 bagder
-
- * docs/FEATURES: updated
-
-2007-05-25 23:11 bagder
-
- * ares/: CHANGES, ares_init.c: Ravi Pratap fixed a flaw in the
- init_by_resolv_conf() function for windows that could cause it to
- return a bad return code.
-
-2007-05-24 23:11 bagder
-
- * CHANGES, lib/tftp.c: Song Ma filed bug report #1724016
- (http://curl.haxx.se/bug/view.cgi?id=1724016) noticing that
- downloading glob-ranges for TFTP was broken in CVS.
-
-2007-05-24 23:11 bagder
-
- * lib/transfer.c: stay within 80 cols
-
-2007-05-24 22:58 bagder
-
- * src/main.c, CHANGES: 'mytx' in bug report #1723194
- (http://curl.haxx.se/bug/view.cgi?id=1723194) pointed out that
- the warnf() function in the curl tool didn't properly deal with
- the cases when excessively long words were used in the string to
- chop up.
-
-2007-05-23 14:59 bagder
-
- * docs/libcurl/libcurl-multi.3: TFTP transfers are also blocking
-
-2007-05-23 14:51 bagder
-
- * docs/libcurl/libcurl-multi.3: fix the formatting of the trailing
- list
-
-2007-05-22 22:46 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Andre Guibert de Bruet
- fixed a memory leak when PKCS #12 parsing failed
-
-2007-05-22 21:51 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Andre Guibert de Bruet
- fixed a memory leak in the function that verifies the peer's name
- in the SSL certificate when built for OpenSSL. The leak happens
- for libcurls with CURL_DOES_CONVERSIONS enabled that fail to
- convert the CN name from UTF8.
-
-2007-05-21 00:11 bagder
-
- * lib/hostthre.c: WaitForSingleObject() uses a millisecond timeout
- and CURL_TIMEOUT_RESOLVE is counted in seconds...
-
-2007-05-18 12:40 bagder
-
- * lib/tftp.c: better fix for the dl/ul counters
-
-2007-05-18 12:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c, lib/transfer.c: Feng Tu
- reported that curl -w did wrong on TFTP transfers in bug report
- #1715394 (http://curl.haxx.se/bug/view.cgi?id=1715394), and the
- transfer-related info "variables" were indeed overwritten with
- zeroes wrongly and have now been adjusted. The upload size still
- isn't accurate.
-
-2007-05-18 12:12 bagder
-
- * lib/tftp.c: bail out with error codes on failures
-
-2007-05-17 23:41 bagder
-
- * CHANGES: they spell five with a v...
-
-2007-05-17 23:40 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c: Feng Tu pointed out a
- division by zero error in the TFTP connect timeout code for
- timeouts less than fice seconds, and also provided a fix for it.
-
-2007-05-17 08:04 danf
-
- * CHANGES, configure.ac, docs/INSTALL, lib/setup.h: Added support
- for compiling under Minix 3.1.3 using ACK.
-
-2007-05-16 19:45 danf
-
- * tests/libtest/test613.pl: Match file times occurring in the
- morning.
-
-2007-05-15 02:36 danf
-
- * lib/memdebug.c: Added call to setvbuf (disabled by default for
- speed) to flush the memdebug log file after every line and avoid
- losing the last few log entries if curl crashes.
-
-2007-05-15 02:28 danf
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, lib/ssh.c,
- tests/data/Makefile.am, tests/data/test614: Added support for
- quote commands before a transfer using SFTP and test case 614.
- Allow SFTP quote commands chmod, chown, chgrp to set a value of
- 0.
-
-2007-05-15 00:03 danf
-
- * CHANGES, docs/curl.1, tests/data/Makefile.am, tests/data/test613,
- tests/libtest/Makefile.am, tests/libtest/test613.pl: Added SFTP
- directory listing test case 613.
-
-2007-05-10 22:03 danf
-
- * tests/data/: Makefile.am, test408, test409: Added FTPS upload
- tests 408 and 409.
-
-2007-05-09 20:24 danf
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: Kristian Gunstone fixed a
- problem where overwriting an uploaded file with sftp didn't
- truncate it first, which would corrupt the file if the new file
- was shorter than the old.
-
-2007-05-09 20:05 danf
-
- * docs/curl.1: Added the list of SFTP post-quote commands, and
- fixed a few typos.
-
-2007-05-09 00:14 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test406,
- tests/data/test407: Added FTPS test cases 406 and 407
-
-2007-05-08 13:34 bagder
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3,
- docs/libcurl/libcurl-errors.3, include/curl/curl.h, lib/ssh.c,
- lib/strerror.c: CURLE_FTP_COULDNT_STOR_FILE is now known as
- CURLE_UPLOAD_FAILED. This is because I just made SCP uploads
- return this value if the file size of the upload file isn't given
- with CURLOPT_INFILESIZE*. Docs updated to reflect this news, and
- a define for the old name was added to the public header file.
-
-2007-05-07 09:07 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: James Bursa fixed a bug in
- the multi handle code that made the connection cache grow a bit
- too much, beyond the normal 4 * easy_handles.
-
-2007-05-06 10:14 bagder
-
- * CHANGES: extended the description for the
- curl_multi_socket_action() change
-
-2007-05-03 22:50 bagder
-
- * docs/KNOWN_BUGS: 42. Daniel Black filed bug report #1705802 where
- he accurately mentions that several FTP-SSL test cases fail
- when we build libcurl with NSS for TLS/SSL:
- http://curl.haxx.se/bug/view.cgi?id=1705802
-
-2007-05-03 21:12 danf
-
- * docs/libcurl/: curl_easy_getinfo.3, curl_easy_setopt.3: Fixed a
- few typos.
-
-2007-05-03 14:30 bagder
-
- * docs/libcurl/curl_easy_setopt.3: document the new 200alias
- behaviour
-
-2007-05-02 22:42 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Anders Gustafsson
- remarked that requiring CURLOPT_HTTP_VERSION set to 1.0 when
- CURLOPT_HTTP200ALIASES is used to avoid the problem mentioned
- below is not very nice if the client wants to be able to use
- _either_ a HTTP 1.1 server or one within the aliases list... so
- starting now, libcurl will simply consider 200-alias matches the
- to be HTTP 1.0 compliant.
-
-2007-05-02 21:13 danf
-
- * lib/: multi.c, url.c, url.h: Fixed an out of memory handling
- issue with HTTP pipelines.
-
-2007-05-02 19:35 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Tobias Rundstrom reported
- a problem they experienced with xmms2 and recent libcurls, which
- turned out to be the 25-nov-2006 change which treats HTTP
- responses without Content-Length or chunked encoding as without
- bodies. We now added the conditional that the above mentioned
- response is only without body if the response is HTTP 1.1.
-
-2007-05-02 15:52 bagder
-
- * CHANGES, RELEASE-NOTES, docs/examples/hiperfifo.c: - Jeff
- Pohlmeyer improved the hiperfifo.c example to use the
- CURLMOPT_TIMERFUNCTION callback option.
-
-2007-05-02 15:47 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: - Set the timeout for easy
- handles to expire really soon after addition or when
- CURLM_CALL_MULTI_PERFORM is returned from
- curl_multi_socket*/perform, to make applications using only
- curl_multi_socket() to properly function when adding easy
- handles "on the fly". Bug report and test app provided by
- Michael Wallner.
-
-2007-05-02 15:14 bagder
-
- * CHANGES, CHANGES.0, CHANGES.1999, CHANGES.2000, CHANGES.2001,
- CHANGES.2002, CHANGES.2003, CHANGES.2004, CHANGES.2005: Merged
- _all_ old changelogs into the single CHANGES.0 file. Having a new
- one for every year is giving us too many files! I also split out
- the changes from 2006 from CHANGES to CHANGES.0 now.
-
-2007-05-02 13:14 bagder
-
- * lib/sendf.c: spell and language fix
-
-2007-05-02 08:02 danf
-
- * tests/libtest/lib536.c: Check the return code from
- curl_multi_add_handle()
-
-2007-05-02 02:50 danf
-
- * src/main.c: Fixed a logic error in the last patch and another out
- of memory issue. Reduce the scope of some variables.
-
-2007-05-01 22:52 danf
-
- * src/main.c: Improved behaviour in out of memory conditions.
-
-2007-05-01 22:50 danf
-
- * lib/strdup.c: Use memcpy instead of strcpy to improve
- performance.
-
-2007-04-30 23:47 bagder
-
- * configure.ac: brlcad on #curl provided this patch (edited by me)
- since "configure will fail looking for a C++ preprocessor on
- libtool-using projects" with the factory- installed libtool
- version on Mac OS X.
-
-2007-04-30 22:15 danf
-
- * CHANGES, tests/FILEFORMAT, tests/README, tests/runtests.pl,
- tests/data/test75, tests/libtest/Makefile.am,
- tests/libtest/test75.pl: Improved the test harness to allow
- running test servers on other than the default port numbers,
- allowing more than one test suite to run simultaneously on the
- same host.
-
-2007-04-30 21:05 danf
-
- * tests/data/: test239, test243, test245, test246: Fixed some tests
- to stop hard-coding the port number.
-
-2007-04-29 09:04 danf
-
- * lib/url.c: Rearranged some allocs so they will be freed correctly
- in the error path.
-
-2007-04-28 23:01 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: Peter O'Gorman fixed libcurl
- to not init GnuTLS as early as we did before, since it then inits
- libgcrypt and libgcrypt is being evil and EXITS the application
- if it fails to get a fine random seed. That's really not a nice
- thing to do by a library.
-
-2007-04-28 22:27 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c: Frank Hempel fixed a
- curl_easy_duphandle() crash on a handle that had been removed
- from a multi handle, and then fixed another flaw that prevented
- curl_easy_duphandle() to work even after the first fix - the
- handle was still marked as using the multi interface.
-
-2007-04-27 10:30 bagder
-
- * lib/url.c: Move the explictit free of the range string to
- Curl_close() from Curl_disconnect() since it easy-handle related
- and not connection-related.
-
-2007-04-27 10:19 bagder
-
- * lib/url.c: oops, this was supposed to be properly removed
-
-2007-04-27 10:18 bagder
-
- * lib/url.c: As a follow-up to the removal of the free of the range
- data in Curl_done() - this moves and re-arranges how range/resume
- is setup and freed.
-
-2007-04-26 23:30 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Peter O'Gorman found a
- problem with SCP downloads when the downloaded file was 16385
- bytes (16K+1) and it turned out we didn't properly always "suck
- out" all data from libssh2. The effect being that libcurl would
- hang on the socket waiting for data when libssh2 had in fact
- already read it all...
-
-2007-04-26 01:18 danf
-
- * CHANGES, tests/README, tests/runtests.pl: Added support in
- runtests.pl for "!n" test numbers to disable individual tests.
-
-2007-04-25 22:54 danf
-
- * lib/ftp.c: Fixed an out of memory handling issue.
-
-2007-04-25 22:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Sonia Subramanian brought our
- attention to a problem that happens if you set the
- CURLOPT_RESUME_FROM or CURLOPT_RANGE options and an existing
- connection in the connection cache is closed to make room for the
- new one when you call curl_easy_perform(). It would then wrongly
- free range-related data in the connection close funtion.
-
-2007-04-25 22:09 danf
-
- * tests/runtests.pl: When displaying log files, truncate the really
- longs ones such as you would get from a torture test.
-
-2007-04-25 05:00 yangtse
-
- * CHANGES, RELEASE-NOTES, ares/setup_once.h, lib/base64.c,
- lib/hostip.c, lib/netrc.c, lib/setup_once.h, lib/splay.c,
- packages/vms/build_vms.com, src/main.c: Steve Little's fixes to
- allow compilation on VMS 64-bit mode
-
-2007-04-25 01:28 danf
-
- * tests/runtests.pl: Treat log files and -k the same when running
- torture tests as when not.
-
-2007-04-24 23:30 danf
-
- * tests/: ftp.pm, ftpserver.pl: Clear out FTP server options before
- each new client. Wait for child processes to die to avoid
- creating zombies.
-
-2007-04-24 12:18 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sendf.c, lib/transfer.c, lib/url.c,
- lib/urldata.h: Robert Iakobashvili made the 'master_buffer' get
- allocated first once it is can/will be used as it then makes the
- common cases save 16KB of data for each easy handle that isn't
- used for pipelining.
-
-2007-04-24 01:00 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test610,
- tests/data/test611, tests/data/test612, tests/libtest/test610.pl:
- Added tests 610-612 to test more SFTP post-quote commands.
-
-2007-04-24 00:58 danf
-
- * tests/: FILEFORMAT, README, runtests.pl: Added <postcheck>
- support to the test harness.
-
-2007-04-23 23:18 danf
-
- * tests/FILEFORMAT: Mention NSS, <postcmd> commands
-
-2007-04-23 03:51 danf
-
- * tests/data/test20: Changed another nonexistent host name to be
- under the haxx.se domain to guarantee against it ever being
- valid.
-
-2007-04-22 20:17 yangtse
-
- * lib/: connect.c, ftp.c: Avoid an unnecessary call to
- gettimeofday() when using custom timeout values.
-
-2007-04-22 11:37 bagder
-
- * configure.ac: --without-ssl disables OpenSSL only
-
-2007-04-22 11:31 bagder
-
- * CHANGES, docs/curl.1, src/main.c: - Song Ma's warning if
- -r/--range is given with a "bad" range, also noted in the man
- page now.
-
-2007-04-22 10:51 bagder
-
- * RELEASE-NOTES: configure fix and new mirror
-
-2007-04-22 10:05 bagder
-
- * docs/curl.1: clarify a bit on the follow-redirect logic and when
- curl switches from POST to GET on redirect
-
-2007-04-22 09:36 bagder
-
- * configure.ac: shell script assigns should not have spaces,
- hopefully fixes bug #1705177
-
-2007-04-21 23:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: Daniel Black filed bug
- #1704675 (http://curl.haxx.se/bug/view.cgi?id=1704675)
- identifying a double-free problem in the SSL-dealing layer,
- telling GnuTLS to free NULL credentials on closedown after a
- failure and a bad #ifdef for NSS when closing down SSL.
-
-2007-04-21 23:24 bagder
-
- * lib/sslgen.c: Curl_ssl_close(): mark the connection as not using
- SSL anymore, to better survive getting called twice
-
-2007-04-21 17:32 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware: fixed ARFLAGS for
- CodeWarrior build.
-
-2007-04-20 19:16 danf
-
- * tests/ftpserver.pl: Changed an error message slightly so it can
- be caught easier by the autobuild logs scanner.
-
-2007-04-20 09:19 bagder
-
- * include/curl/curl.h: ifndef check the CURL_MAX_WRITE_SIZE define
- to allow this value to easier be changed at build time (from
- command line or similar)
-
-2007-04-20 03:58 yangtse
-
- * lib/select.c: initialize pending_ms to zero to avoid compiler
- warning: 'pending_ms' may be used uninitialized in this function
-
-2007-04-20 02:07 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/select.c: - Save one call to
- curlx_tvnow(), which calls gettimeofday(), in each of
- Curl_socket_ready(), Curl_poll() and Curl_select() when these are
- called with a zero timeout or a timeout value indicating a
- blocking call should be performed.
-
- These unnecessary calls to gettimeofday() got introduced in
- 7.16.2 when
- fixing 'timeout would restart when signal caught while awaiting
- socket
- events' on 20 March 2007.
-
- - Move some loop breaking logic from the while clause into the
- loop, avoiding compiler warning 'assignment within conditional
- expression'
-
-2007-04-19 22:20 bagder
-
- * lib/select.c: keep lines < 80 columns
-
-2007-04-19 22:16 yangtse
-
- * lib/connect.c: fix comment and line spacing
-
-2007-04-18 22:22 danf
-
- * tests/data/: test100, test102, test105, test109, test110,
- test111, test112, test113, test114, test115, test116, test117,
- test118, test119, test120, test122, test124, test125, test126,
- test130, test131, test132, test133, test134, test137, test138,
- test144, test145, test147, test148, test190, test195, test196,
- test211, test212, test227, test228, test229, test235, test236,
- test237, test238, test250, test252, test254, test261, test280,
- test290, test302, test305, test400, test402, test511, test520,
- test521, test526, test527, test528, test530, test532, test533,
- test534, test538: Various test file cleanups, including using
- <servercmd> instead of writing directly to ftpserver.cmd and
- removing unneeded empty sections.
-
-2007-04-18 22:15 bagder
-
- * lib/ssh.c: clarify the comment about libssh2_sftp_write's return
- type
-
-2007-04-18 22:11 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: - James Housley made SFTP
- uploads use libssh2's non-blocking API (if available)
-
-2007-04-18 22:02 bagder
-
- * CHANGES, RELEASE-NOTES, lib/progress.c: - Prevent the internal
- progress meter from updating more frequently than once per
- second.
-
-2007-04-18 08:30 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test296,
- tests/data/test297, tests/data/test298: Added test cases 296, 297
- and 298 to test --ftp-method handling
-
-2007-04-16 22:54 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware: added ranlib when
- library is created with ar.
-
-2007-04-16 18:52 giva
-
- * ares/Makefile.dj: No need for USE_MANUAL. Use select_s() instead
- of select(). Added ares_getopt.o to program sample objects.
-
-2007-04-16 18:34 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_multi_socket.3,
- include/curl/multi.h, lib/connect.c, lib/multi.c, lib/select.c,
- lib/select.h, lib/socks.c, lib/transfer.c, lib/urldata.h: -
- Robert Iakobashvil added curl_multi_socket_action() to libcurl,
- which is a function that deprecates the curl_multi_socket()
- function. Using the new function the application tell libcurl
- what action that was found in the socket that it passes in.
- This gives a significant performance boost as it allows libcurl
- to avoid a call to poll()/select() for every call to
- curl_multi_socket*().
-
-2007-04-16 17:35 yangtse
-
- * ares/: adig.c, ahost.c, ares_getopt.c, ares_getopt.h: move
- linkage var declarations to ares_getopt.h
-
-2007-04-16 15:53 gknauf
-
- * ares/Makefile.m32: use Makefile.inc to determine sources.
-
-2007-04-16 15:17 gknauf
-
- * ares/Makefile.netware: ares_getopt() command-line parser function
- does not belong to actual c-ares library. It is just a
- convinience source code helper function for use in example
- programs adig.c and ahost.c
-
-2007-04-16 13:55 bagder
-
- * CHANGES, RELEASE-NOTES: Jay Austin added "DH PARAMETERS" to the
- stunnel.pem certificate
-
-2007-04-16 11:08 yangtse
-
- * ares/CHANGES: ares_getopt() command-line parser function does not
- belong to actual c-ares library. It is just a convinience source
- code helper function for use in example programs adig.c and
- ahost.c
-
-2007-04-16 11:01 yangtse
-
- * ares/: Makefile.inc, Makefile.vc6, adig.c, ahost.c, ares.h,
- ares_getopt.c, ares_getopt.h, vc/adig/adig.dsp,
- vc/ahost/ahost.dsp, vc/areslib/areslib.dsp: ares_getopt()
- command-line parser function does not belong to actual c-ares
- library. It is just a convinience source code helper function for
- use in example programs adig.c and ahost.c
-
-2007-04-15 08:24 danf
-
- * src/main.c: Minor updates to --help output
-
-2007-04-14 22:29 bagder
-
- * tests/stunnel.pem: jayjwa added the "DH PARAMETERS" to make this
- work with recent stunnels
-
-2007-04-14 22:27 bagder
-
- * RELEASE-NOTES: updates
-
-2007-04-14 18:55 gknauf
-
- * src/getpass.c: removed unneeded brackets with NetWare
- implementation.
-
-2007-04-14 18:45 gknauf
-
- * src/getpass.c: ups - c&p error.
-
-2007-04-14 18:38 gknauf
-
- * src/getpass.c: use system-own getpassword() function on NetWare.
-
-2007-04-13 22:59 danf
-
- * CHANGES, tests/data/Makefile.am, tests/data/test294,
- tests/data/test295: Added test cases 294 and 295 to test
- --ftp-account handling
-
-2007-04-13 13:35 yangtse
-
- * CHANGES, RELEASE-NOTES, tests/data/test534: Fix test case 534
- which started to fail 2007-04-13 due to the existance of a new
- host on the net with the same silly domain the test was using for
- a host which was supposed not to exist.
-
-2007-04-13 10:45 yangtse
-
- * lib/base64.c: proper fix for compiler warning
-
-2007-04-13 10:22 yangtse
-
- * lib/libcurl.rc, src/curl.rc: Take in account that it can be built
- with compiler debug info and without the curl memory debugging
- leak detection code enabled.
-
-2007-04-13 09:57 yangtse
-
- * lib/: base64.c, inet_pton.c, multi.c: fix compiler warning
-
-2007-04-12 23:53 bagder
-
- * RELEASE-NOTES: update!
-
-2007-04-12 22:41 bagder
-
- * Makefile.dist: add a 'vc8' target that (re-)builds the
- */Makefile.vc8 files
-
-2007-04-12 22:09 bagder
-
- * CHANGES, lib/if2ip.c: Song Ma found a memory leak in the if2ip
- code if you pass in an interface name longer than the name field
- of the ifreq struct (typically 6 bytes), as then it wouldn't
- close the used dummy socket.
-
-2007-04-12 21:14 yangtse
-
- * ares/vc/: adig/adig.dsp, areslib/areslib.dsp: update MSVC project
- files with ares_getopt()
-
-2007-04-12 21:01 yangtse
-
- * ares/: Makefile.inc, Makefile.vc6, adig.c, ahost.c: use
- ares_getopt for all platforms
-
-2007-04-12 20:59 yangtse
-
- * ares/: ares.h, ares_getopt.c: add ares_getopt prototype
-
-2007-04-12 20:06 yangtse
-
- * ares/ares_getopt.c: Rename function as ares_getopt()
-
-2007-04-12 19:45 yangtse
-
- * ares/ares_getopt.c: Replace tabs with spaces
-
-2007-04-12 18:53 yangtse
-
- * ares/ares_getopt.c: Add file ares_getopt.c
-
- Original file name getopt.c Initial import into the c-ares
- source tree on 2007-04-11. Lifted from version 5.2 of the 'Open
- Mash' project with the modified BSD license, BSD license without
- the advertising clause.
-
-2007-04-12 03:26 danf
-
- * lib/ftp.c: Work around an out of memory situation in
- Curl_ftp_done instead of returning an error code, to allow
- connections to be torn down cleanly since this function can be
- called AFTER an OOM situation has already been reached.
-
-2007-04-11 15:32 bagder
-
- * include/curl/curlver.h: start working on 7.16.3
-
-2007-04-11 15:31 bagder
-
- * RELEASE-NOTES: restart towards 7.16.3
-
-2007-04-11 15:30 bagder
-
- * docs/THANKS: add recent contributors
-
-2007-04-11 15:12 bagder
-
- * CHANGES, TODO-RELEASE: 7.16.2
-
-2007-04-11 13:02 yangtse
-
- * ares/setup_once.h, lib/setup_once.h: convenience SIG_ATOMIC_T
- macro definition
-
-2007-04-11 02:25 danf
-
- * lib/: ftp.c, tftp.c: Fixed some out of memory handling issues.
-
-2007-04-11 00:52 danf
-
- * lib/: http.c, http_ntlm.c: Fixed some out of memory handling
- issues.
-
-2007-04-10 22:52 bagder
-
- * docs/KNOWN_BUGS: blah
-
-2007-04-10 22:51 bagder
-
- * docs/KNOWN_BUGS: 41. When doing an operation over FTP that
- requires the ACCT command (but not when logging in), the
- operation will fail since libcurl does detect this and thus
- fails to issue the correct command:
- http://curl.haxx.se/bug/view.cgi?id=1693337
-
-2007-04-10 22:46 bagder
-
- * CHANGES, lib/ftp.c, lib/http.c, lib/multi.c, lib/multiif.h,
- lib/transfer.c, lib/url.c, lib/urldata.h: Ravi Pratap provided
- fixes for HTTP pipelining
-
-2007-04-10 21:09 yangtse
-
- * CHANGES: configure script will ignore --enable-sspi option for
- non-native Windows
-
-2007-04-10 20:53 yangtse
-
- * acinclude.m4, configure.ac: --enable-sspi only supported on
- Windows native builds
-
-2007-04-10 04:17 yangtse
-
- * lib/: http_ntlm.c, http_ntlm.h: Update NTLM flag and description
-
-2007-04-10 02:38 danf
-
- * lib/http.c: Fixed an out of memory handling issue.
-
-2007-04-10 02:37 danf
-
- * tests/runtests.pl: Honour the -a option when -t is enabled.
-
-2007-04-09 20:24 danf
-
- * tests/data/: test600, test601, test604, test606, test607: Changed
- error return codes to match update code.
-
-2007-04-09 19:46 yangtse
-
- * lib/config-win32.h, src/config-win32.h: VC8+ (VS2005+) has C99
- variadic macro support
-
-2007-04-09 00:49 yangtse
-
- * lib/: easy.c, url.c: fix out of memory handling issue
-
-2007-04-09 00:44 bagder
-
- * CHANGES, configure.ac, lib/ssh.c: Nick Zitzmann did ssh.c
- cleanups
-
-2007-04-09 00:23 bagder
-
- * RELEASE-NOTES: builds on QNX 6 again
-
-2007-04-07 19:25 yangtse
-
- * lib/multi.c: fix out of memory handling issue
-
-2007-04-07 06:51 yangtse
-
- * lib/: cookie.c, ssluse.c: fix out of memory handling issue
-
-2007-04-07 02:38 yangtse
-
- * lib/transfer.c: fix compiler warning
-
-2007-04-06 22:53 yangtse
-
- * lib/http.c: fix out of memory handling issue
-
-2007-04-06 08:32 danf
-
- * lib/ssh.c: Fixed a few memory leaks in OOM conditions. Made
- libssh2 logging more verbose when debugging is enabled.
-
-2007-04-06 06:24 yangtse
-
- * tests/runtests.pl: In case of test failure, try not to show log
- files of other tests
-
-2007-04-05 21:28 danf
-
- * tests/data/DISABLED: Enabled the ssh tests 600-609.
-
-2007-04-05 13:09 yangtse
-
- * lib/http.c: runtests -t discovered this out of memory handling
- issues
-
-2007-04-05 13:05 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: unify fopen() failure error
- message among tests, allowing the testsuite to count them as
- errors of the same kind
-
-2007-04-05 02:14 yangtse
-
- * tests/runtests.pl: Further improve displaying of individual
- logfiles
-
-2007-04-05 01:41 danf
-
- * lib/: base64.c, http_negotiate.c, http_ntlm.c, url.c: Fixes some
- more out of memory handling bugs.
-
-2007-04-05 00:49 danf
-
- * lib/cookie.c: Fixed file handle leak in OOM condition.
-
-2007-04-04 22:27 danf
-
- * src/main.c: Fixed curl_slist_append handling of out of memory
- conditions on the easycode list (discovered by runtests' torture
- test).
-
-2007-04-04 20:03 yangtse
-
- * docs/INSTALL: Building Windows DLLs and C run-time (CRT) linkage
- issues
-
-2007-04-04 10:58 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: add debug message and expand
- comment
-
-2007-04-04 08:39 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: test can be allowed to run if
- fopen() is capable of fopen()ing three additional files once that
- we have already open()ed the big bunch of file descriptors.
-
-2007-04-04 08:06 yangtse
-
- * ares/setup_once.h, lib/inet_pton.c, lib/select.c,
- lib/setup_once.h: move WinSock definitions of EBADF, EINTR,
- EINVAL and EAFNOSUPPORT to setup_once.h
-
-2007-04-04 07:04 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: cleanup
-
-2007-04-04 06:57 danf
-
- * tests/data/DISABLED: Whoops--didn't mean to enable the ssh tests
- quite yet.
-
-2007-04-04 05:19 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: test can be allowed to run if
- fopen() is capable of fopen()ing SAFETY_MARGIN additional files
- once that we have already open()ed the big bunch of file
- descriptors.
-
-2007-04-04 02:48 danf
-
- * tests/data/: DISABLED, Makefile.am, test606, test607, test608,
- test609: Added more SSH tests (left disabled for now).
-
-2007-04-04 02:46 danf
-
- * lib/ssh.c: Fixed a memory leak and improper shutdown on SFTP
- post-quote command failure.
-
-2007-04-03 23:15 bagder
-
- * TODO-RELEASE: Only one issue left to deal with. Most of the
- others cut due to lack of response and/or my personal lack of
- time to deal further with them at this point.
-
-2007-04-03 22:54 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/http.c, lib/transfer.c,
- lib/url.c: Rob Jones fixed better #ifdef'ing for a bunch of
- #include lines.
-
-2007-04-03 20:25 yangtse
-
- * ares/ares_getsock.c, lib/Makefile.am, lib/hostasyn.c,
- lib/hostsyn.c, lib/socks.h, lib/timeval.h, lib/transfer.h,
- tests/server/Makefile.am: update copyright year
-
-2007-04-03 20:02 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: Verify if the test is limited
- by an ancient stdio with a 256 open file limit. In this case the
- test is skipped with a message showing this limitation when the
- number of open files needed for the test is greater than 256.
-
-2007-04-03 17:59 yangtse
-
- * tests/runtests.pl: fix enumeration of disabled tests when they
- have the highest number
-
-2007-04-03 17:35 yangtse
-
- * lib/select.c, src/main.c: fix MSDOS symbol check
-
-2007-04-03 15:26 yangtse
-
- * lib/url.c: recover code simplification lost with last commit
-
-2007-04-03 14:27 yangtse
-
- * tests/runtests.pl: Improve displaying of logfiles making sure all
- lines end with \n and avoid using ! as last char of line.
-
-2007-04-03 12:55 giva
-
- * src/main.c: djgpp isn't the only possible DOS target. Use the
- more traditional DJGPP define. Added basename() for non-djgpp
- targets.
-
-2007-04-03 12:30 giva
-
- * src/main.c: Simplify setting binary mode on file-descriptors.
- Work around the non-standard _setmode() in Metaware's HighC.
-
-2007-04-03 12:18 giva
-
- * lib/config.dos: DOS targets do have setmode().
-
-2007-04-03 06:11 danf
-
- * src/main.c: Added --ftp-account to --help output.
-
-2007-04-03 04:57 yangtse
-
- * tests/libtest/Makefile.am: try not to link with unneeded libs,
- avoiding global LDADD
-
-2007-04-03 04:45 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Cleanup. Warnings related with
- FD_SET, FD_ISSET, and FD_ZERO macros are not icc 9.0 specific.
-
-2007-04-03 04:36 yangtse
-
- * tests/sshserver.pl: when detecting un/supported sshd options use
- curl's sshd config file.
-
-2007-04-03 02:06 danf
-
- * tests/sshserver.pl: Eliminate the sshd option checking dependency
- on wc and make it faster.
-
-2007-04-02 23:24 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssh.c: Nick Zitzmann made
- CURLOPT_POSTQUOTE work for SFTP as well.
-
-2007-04-02 06:14 yangtse
-
- * tests/sshserver.pl: fix error in previous commit
-
-2007-04-02 05:38 yangtse
-
- * lib/getinfo.c: fix compiler warning
-
-2007-04-02 04:13 yangtse
-
- * lib/select.c: fix compiler warning
-
-2007-04-02 03:21 yangtse
-
- * tests/sshserver.pl: verify ssh daemon version
-
-2007-04-01 15:59 gknauf
-
- * tests/testcurl.pl: print update message only if we really update
- CVS.
-
-2007-04-01 14:37 gknauf
-
- * .cvsignore: ignore another generated file.
-
-2007-04-01 10:24 bagder
-
- * CHANGES, lib/multi.c, lib/urldata.h: Robert Iakobashvili made
- curl_multi_remove_handle() a lot faster when many easy handles
- are added to a multi handle, by avoiding the looping over all the
- handles to find which one to remove.
-
-2007-04-01 09:51 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/strequal.c,
- src/config-win32.h, src/main.c: Matt Kraai provided a patch that
- makes curl build on QNX 6 fine again. Mostly by letting configure
- check for setmode and ifdef on HAVE_SETMODE. NOTE: non- configure
- platforms that havve setmode() needs their hard-coded config.h
- files fixed. I fixed the src/config-win32.h.
-
-2007-04-01 08:28 danf
-
- * tests/data/: DISABLED, test604, test605: Added scp and sftp
- nonexistent file retrieval tests, but leave them disabled for
- now.
-
-2007-03-31 23:38 bagder
-
- * RELEASE-NOTES: 26 flaws identified by coverity.com
-
-2007-03-31 23:35 bagder
-
- * src/main.c: Since the str2num() function gets called with the
- 'nextarg' pointer from within the getparameter a lot, we must
- check it for NULL before accessing the str data. CID 14 of the
- coverity.com scan
-
-2007-03-31 23:28 bagder
-
- * src/main.c: check the correct variable to want about --stderr
- failures properly CID 18 by the coverity.com scan
-
-2007-03-31 23:20 bagder
-
- * src/main.c: fix memory leak in case of memory problems CID 16 by
- coverity.com scan
-
-2007-03-31 23:15 bagder
-
- * src/main.c: fix a (minor) memory leak in case of error CID 21 in
- the coverity.com scan
-
-2007-03-31 23:10 bagder
-
- * lib/ssluse.c: Pointless to check for non-NULL pointers that
- already have been dereferenced and they have to be non-NULL long
- before this check. CID 22 in the coverity.com scan
-
-2007-03-31 23:06 bagder
-
- * lib/dict.c: avoid dereferencing a NULL pointer by setting a
- default word to lookup in case it is missing CID 5 in the
- coverity.com scan
-
-2007-03-31 23:01 bagder
-
- * lib/formdata.c: Better deal with NULL pointers. CID 3 and 4 from
- the coverity.com scan.
-
-2007-03-31 22:47 bagder
-
- * CHANGES, RELEASE-NOTES: "Pixel" fixed a problem that appeared
- when you used -f with user+password embedded in the URL.
-
-2007-03-31 22:46 bagder
-
- * lib/transfer.c: [no log message]
-
-2007-03-31 22:19 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: add units to a few info
-
-2007-03-31 22:17 bagder
-
- * docs/BINDINGS: new URL for wxWidgets binding
-
-2007-03-31 22:00 danf
-
- * tests/data/DISABLED: Disable the SSH tests until the libssh2 bugs
- that causes test hangs are sorted out.
-
-2007-03-31 13:28 bagder
-
- * lib/easy.c: When curl_easy_duphandle() fails because it can't get
- or make a connection cache, we must make sure not to derefence
- the NULL pointer... CID 6 coverity.com scan
-
-2007-03-31 13:12 bagder
-
- * lib/getinfo.c: The info types cannot be checked for explicity by
- ANDing the types since they have not been properly defined to
- allow this! Instead of changing the defines and break the
- ABI/API, I opted to modify the code to check for exact type
- matches. CID 10 coverity.com scan
-
-2007-03-31 12:56 bagder
-
- * lib/multi.c: Check for a NULL easy->easy_conn in multi_getsock()
- since it can in fact happen when curl_multi_remove_handle() is
- called. CID 13. coverity.com scan
-
-2007-03-31 12:39 bagder
-
- * lib/ftp.c: Removed check for ftpcode being NULL, as later it is
- derefenced unconditionally anyway and we can just as well rely on
- it being valid. CID 12, coverity.com scan
-
-2007-03-31 05:21 yangtse
-
- * tests/sshserver.pl: sshd might fail to start if given an
- unsupported configuration option. Try to avoid this problem
- checking for some possible unsupported options, and avoid using
- them in the configuration file.
-
-2007-03-31 00:07 danf
-
- * tests/data/: test206, test209, test213, test265: Fixed some typos
- in the comments.
-
-2007-03-31 00:04 danf
-
- * tests/data/: Makefile.am, test404, test405: Resurrected old FTPS
- error tests 402 and 403 as 404 and 405.
-
-2007-03-30 22:54 bagder
-
- * lib/transfer.c: Pointer "conn" dereferenced before NULL check.
- found by coverity.com scan
-
-2007-03-30 22:52 bagder
-
- * lib/ftp.c: Pointer "cur_pos" dereferenced before NULL check,
- found by coverity.com scan. Removed the NULL check since the
- pointer must be valid already.
-
-2007-03-30 22:50 bagder
-
- * src/main.c: pointless check for 'out' being non-NULL, since it
- was badly done and is unnecessary - found by coverity.com scan
-
-2007-03-30 21:59 bagder
-
- * lib/socks.c: dead code removed, found by the coverity.com scan
-
-2007-03-30 20:50 danf
-
- * tests/data/: Makefile.am, test292, test293, test403: Added HTTP
- --max-filesize tests and FTPS CCC failure test.
-
-2007-03-30 12:11 yangtse
-
- * tests/sshserver.pl: Searching for sshd and sftp-server will be
- done first in the PATH and afterwards in other common locations.
-
-2007-03-30 04:59 yangtse
-
- * tests/.cvsignore: ignore more generated files
-
-2007-03-30 03:13 danf
-
- * CHANGES, lib/ftp.c, tests/data/Makefile.am, tests/data/test283,
- tests/data/test290, tests/data/test291: Don't tear down the ftp
- connection if the maximum filesize was exceeded and added tests
- 290 and 291 to check.
-
-2007-03-30 02:08 danf
-
- * tests/data/: Makefile.am, test402: Added FTP-SSL failure test 402
-
-2007-03-30 00:50 danf
-
- * tests/data/: Makefile.am, test401: Added ftps upload test 401
-
-2007-03-29 23:01 danf
-
- * docs/LICENSE-MIXING: Added a libssh2 section.
-
-2007-03-29 22:44 danf
-
- * docs/MANUAL: Show an absolute sftp: file path to give an
- additional example.
-
-2007-03-29 21:19 danf
-
- * tests/data/: test600, test601, test602, test603: Eliminated extra
- / in scp/sftp URLs.
-
-2007-03-29 21:17 danf
-
- * lib/ssh.c: Send an EOF message before closing a channel, as
- recommended by RFC4254. Enable libssh2 tracing when ssh
- debugging is turned on.
-
-2007-03-29 20:46 danf
-
- * tests/sshserver.pl: Add another option to tighten the test
- environment.
-
-2007-03-29 14:29 yangtse
-
- * lib/url.c: fix compiler warning
-
-2007-03-29 07:25 danf
-
- * tests/sshserver.pl: Abort if attempting to run as root.
-
-2007-03-29 02:11 yangtse
-
- * lib/select.c: fix error introduced in last commit
-
-2007-03-29 01:53 yangtse
-
- * packages/vms/config-vms.h: Update comment
-
-2007-03-28 21:05 yangtse
-
- * lib/url.c: fix compiler warning
-
-2007-03-28 20:59 yangtse
-
- * lib/select.c: Improve detection of socket events which allow a
- further recv() call to complete with no delay and actually find
- out what happened with the socket. As well as detection of socket
- send()able condition.
-
- This also allows removal of a Cygwin specific block of code.
-
-2007-03-28 06:48 giva
-
- * lib/config.dos: djgpp uses gcc which has varadic macros.
-
-2007-03-28 06:44 giva
-
- * lib/url.c: Fix compiler warning.
-
-2007-03-28 06:36 danf
-
- * tests/sshserver.pl: Only show exit status in verbose mode.
-
-2007-03-28 06:23 giva
-
- * lib/url.c: Simplified code around 'tld_errmsg' a bit.
-
-2007-03-28 06:05 danf
-
- * tests/sshserver.pl: Don't launch sshd as a daemon so its output
- can be logged.
-
-2007-03-27 21:27 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: added variadic macro stuff.
-
-2007-03-27 20:16 yangtse
-
- * lib/: ftp.c, gtls.c, http.c, ssluse.c: Update message
-
-2007-03-27 20:15 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/hostares.c, lib/select.c,
- lib/select.h: New Internal wrapper function Curl_select() around
- select (2), it uses poll() when a fine poll() is available, so
- now libcurl can be built without select() support at all if a
- fine poll() is available.
-
-2007-03-27 17:22 yangtse
-
- * lib/select.c: don't retry select() call upon unrecoverable error
- EBADF
-
-2007-03-27 07:10 danf
-
- * acinclude.m4: Daniel Johnson's fix for shared object extension
- detection on Mac OS X.
-
-2007-03-27 06:17 yangtse
-
- * lib/sendf.h: Platforms that lack autotools support should define
- HAVE_VARIADIC_MACROS_C99 and/or HAVE_VARIADIC_MACROS_GCC for
- specific compiler versions that support variadic macros with C99
- style and/or old gcc style in their specific config.h file.
-
- If previous definitions are not done, even when aplicable, and
- --disable-verbose is used, the fallback (void) method will be
- used to define infof, avoiding the inclusion of unwanted strings
- in the resulting library/executable.
-
-2007-03-27 06:01 danf
-
- * tests/: README, sshserver.pl: Tighten up a few more OpenSSH
- options
-
-2007-03-27 01:26 yangtse
-
- * CHANGES: Fix date
-
-2007-03-27 01:23 yangtse
-
- * CHANGES, lib/connect.c, lib/ftp.c, lib/gtls.c, lib/http.c,
- lib/select.c, lib/select.h, lib/socks.c, lib/ssluse.c,
- lib/tftp.c, lib/transfer.c, lib/url.c: Internal function
- Curl_select() renamed to Curl_socket_ready()
-
-2007-03-26 21:23 danf
-
- * tests/data/: Makefile.am, test600, test601, test602, test603:
- Added SFTP and SCP upload tests in test602 & test603
-
-2007-03-26 20:04 danf
-
- * tests/: README, data/test600, data/test601: Added test600 and
- test601, SFTP and SCP file retrieval tests.
-
-2007-03-26 19:18 gknauf
-
- * tests/testcurl.pl: catch up new lib extension when build with
- gcc/nlmconv.
-
-2007-03-26 19:01 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: changed link lib
- order to make nlmconv happy.
-
-2007-03-26 03:54 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: added CVS Id tag.
-
-2007-03-26 03:50 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: fixed build to use compiler-default lib
- extension.
-
-2007-03-25 10:41 bagder
-
- * TODO-RELEASE: #92 is fixed
-
-2007-03-25 10:41 bagder
-
- * docs/CONTRIBUTE: Added the How to get your patches into the
- libcurl sources instruction posted recently
-
-2007-03-25 10:16 bagder
-
- * RELEASE-NOTES: added Daniel Johnson
-
-2007-03-25 10:16 bagder
-
- * CHANGES, lib/multi.c: - Daniel Johnson fixed multi code to
- traverse the easy handle list properly. A left-over bug from
- the February 21 fix.
-
-2007-03-25 09:44 bagder
-
- * TODO-RELEASE, docs/KNOWN_BUGS: addressed (replied to with
- comments) most out-stading release issues and moved one over to
- KNOWN_BUGS
-
-2007-03-25 05:20 yangtse
-
- * lib/url.c: fix compiler warning
-
-2007-03-25 04:30 yangtse
-
- * lib/: cookie.c, ftp.c, ssluse.c, telnet.c: fix compiler warning
-
-2007-03-25 03:59 yangtse
-
- * lib/: ftp.c, hostip4.c, url.c: fix compiler warning
-
-2007-03-24 18:23 danf
-
- * lib/: ssh.c, url.c: Fixed a couple of compile problems.
-
-2007-03-24 07:29 danf
-
- * tests/Makefile.am: Added sshserver.pl
-
-2007-03-24 03:15 danf
-
- * CHANGES, lib/url.c, tests/data/Makefile.am, tests/data/test288:
- Fixed a memory leak when specifying a proxy with a file: URL and
- added test case 288 to verify it.
-
-2007-03-24 02:01 danf
-
- * CHANGES, tests/FILEFORMAT, tests/runtests.pl, tests/sshserver.pl:
- Changed the test harness to attempt to gracefully shut down
- servers before resorting to the kill -9 hammer.
-
- Added test harness infrastructure to support scp/sftp tests,
- using OpenSSH as the server.
-
-2007-03-23 23:25 bagder
-
- * lib/multi.c: add missing state name for the debug state switch
- output
-
-2007-03-23 23:24 bagder
-
- * lib/url.c: fix debug message
-
-2007-03-23 18:59 danf
-
- * CHANGES, RELEASE-NOTES, docs/MANUAL, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, lib/ssh.c, src/main.c: Added
- --pubkey option to curl and made --key also work for SCP/SFTP,
- plus made --pass work on an SSH private key as well.
-
-2007-03-23 13:13 yangtse
-
- * lib/sendf.h: fix yet another leftover in previous commit
-
-2007-03-23 13:09 yangtse
-
- * lib/sendf.h: fix leftover in previous commit
-
-2007-03-23 13:01 yangtse
-
- * lib/sendf.h: fix compiler warning: empty body in an
- if/else-statement
-
-2007-03-23 05:23 yangtse
-
- * lib/progress.c: Change spelling, ONE_TERRABYTE -> ONE_TERABYTE
-
- Shave off a couple of function calls in the part of
- Curl_pgrsUpdate() which is always executed when called.
-
- Fix a couple of comments.
-
-2007-03-23 01:03 danf
-
- * lib/ssh.c: Don't shut down sftp in an error if it was never
- started.
-
-2007-03-22 20:45 danf
-
- * src/main.c: Free some additional strings on exit to avoid memory
- leaks.
-
-2007-03-22 19:59 yangtse
-
- * acinclude.m4: fix wrong macro name introduced in las commit
-
-2007-03-22 19:25 yangtse
-
- * acinclude.m4, configure.ac: Add check for compiler variadic macro
- support in configuration script
-
-2007-03-22 18:58 danf
-
- * lib/hostip4.c: Fixed unused variable compiler warning.
-
-2007-03-22 18:18 danf
-
- * lib/sendf.h: Use C99-style variadic macros when available.
-
-2007-03-22 16:32 yangtse
-
- * lib/select.c: Add a couple of local macros to improve code
- readability.
-
- For completeness sake, wait_ms() might also get interrupted when
- experimental CURL_ACKNOWLEDGE_EINTR is defined.
-
-2007-03-22 16:23 bagder
-
- * docs/MANUAL: -z hasn't supported "yesterday" for quite some
- time...
-
-2007-03-22 15:41 yangtse
-
- * acinclude.m4, ares/acinclude.m4: attempt to keep message length
- below 80 chars
-
-2007-03-21 14:09 yangtse
-
- * lib/: sendf.c, sendf.h: reverted back to previous version =>
- http://curl.haxx.se/mail/lib-2007-03/0258.html
-
-2007-03-21 09:17 yangtse
-
- * lib/: sendf.c, sendf.h: avoid the use of variadic macros for
- greater portability
-
-2007-03-21 08:29 yangtse
-
- * lib/select.c: fix compiler warning: implicit conversion from
- "long" to "int"
-
-2007-03-20 21:00 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/select.c: Fixed: When a signal was
- caught awaiting for an event using Curl_select() or Curl_poll()
- with a non-zero timeout both functions would restart the
- specified timeout. This could even lead to the extreme case that
- if a signal arrived with a frecuency lower to the specified
- timeout neither function would ever exit.
-
- Added experimental symbol definition check CURL_ACKNOWLEDGE_EINTR
- in Curl_select() and Curl_poll(). When compiled with
- CURL_ACKNOWLEDGE_EINTR defined both functions will return as soon
- as a signal is caught. Use it at your own risk, all calls to
- these functions in the library should be revisited and checked
- before fully supporting this feature.
-
-2007-03-20 17:30 giva
-
- * lib/: Makefile.netware, config-tpf.h, config-win32ce.h: Remove
- unneeded 'HAVE_*' defines.
-
-2007-03-19 16:41 yangtse
-
- * configure.ac: Avoid false positive detection of yaSSL
-
-2007-03-19 13:14 bagder
-
- * TODO-RELEASE: committed
-
-2007-03-19 13:02 yangtse
-
- * CHANGES, RELEASE-NOTES, lib/progress.c: Bryan Henderson fixed the
- progress function so that it can get called more frequently
- allowing same calling frecuency for the client progress callback,
- while keeping the once a second frecuency for speed calculations
- and internal display of the transfer progress.
-
-2007-03-19 00:16 bagder
-
- * tests/FILEFORMAT: language fix
-
-2007-03-19 00:13 bagder
-
- * TODO-RELEASE: Removed: yassl build breaks Added: Frequent calling
- of user progress callback
-
-2007-03-18 23:37 bagder
-
- * tests/runtests.pl: detect and show if built with yassl, but also
- set the "openssl" flag internally since that is the API yassl
- attempts to provide
-
-2007-03-18 23:36 bagder
-
- * configure.ac: detect if built with the OpenSSL API "emulated" by
- yassl
-
-2007-03-18 18:29 yangtse
-
- * lib/select.c: Fix compiler warning/error: ISO C90 forbids mixed
- declarations and code
-
-2007-03-18 05:51 yangtse
-
- * lib/: select.c, select.h: Code refactoring, extracting a new
- function wait_ms() from Curl_select and Curl_poll() which is
- called whenever not a single valid file descriptor is passed to
- these functions.
-
- Improve readibility using a poll() macro to replace WSApoll().
-
-2007-03-17 19:19 giva
-
- * lib/config-win32.h: Remove unneeded 'HAVE_*' defines. Detect i386
- OS-target (gcc).
-
-2007-03-17 18:58 giva
-
- * docs/examples/makefile.dj: Added cvs id. Use TOPDIR variable.
- Updated CSOURCES. Dependencies are now put in external file
- depend.dj.
-
-2007-03-17 18:56 giva
-
- * ares/Makefile.dj: Added a hack to work around the circular
- dependency when CURL_DEBUG is defined.
-
-2007-03-16 23:44 bagder
-
- * tests/libtest/lib509.c: openssl/bio.h doesn't exist when we build
- with yassl so avoid trying
-
-2007-03-16 05:34 danf
-
- * tests/data/test75: Fixed the test case to use a truly invalid
- urlglob range.
-
-2007-03-15 23:43 bagder
-
- * TODO-RELEASE: Sebastien Trottier's issue
-
-2007-03-15 23:34 bagder
-
- * TODO-RELEASE: eight fresh issues to keep track of
-
-2007-03-15 23:29 danf
-
- * CHANGES: Various memory leaks plugged and NULL pointer fixes made
- in the ssh code.
-
-2007-03-15 23:05 bagder
-
- * CHANGES, src/urlglob.c: - Nick made the curl tool accept globbing
- ranges that only is one number, i.e you can now use [1-1]
- without curl complaining.
-
-2007-03-15 22:25 danf
-
- * lib/ssh.c: Fixed some memory leaks in various error paths.
-
-2007-03-15 16:35 yangtse
-
- * ares/configure.ac, configure.ac: show better description for
- AMD64-linux static libraries PIC check
-
-2007-03-15 01:04 danf
-
- * lib/ssh.c: Fixed a memory leak.
-
-2007-03-15 00:40 bagder
-
- * configure.ac, lib/ssluse.c: yassl doesn't have SSL_get_shutdown()
- in its OpenSSL() layer so we check for it and avoid it, even if
- this cripples the CCC command
-
-2007-03-14 03:04 danf
-
- * lib/ssh.c: Fixed a NULL pointer dereference on sftp
- initialization failure. Added some more debug logs.
-
-2007-03-13 20:54 danf
-
- * RELEASE-NOTES: --ftp-ssl-control is now honoured on ftps:// URLs
-
-2007-03-13 13:52 giva
-
- * lib/connect.c: Use Curl_inet_pton() instead of inet_pton().
-
-2007-03-12 21:50 danf
-
- * tests/runtests.pl: libcurl supplies its own crypto hash functions
- when SSL is disabled, so 'crypto' tests aren't dependent on SSL.
- Compiling with --disable-crypto-auth will cause test failures,
- however.
-
-2007-03-12 14:20 bagder
-
- * docs/libcurl/curl_easy_setopt.3: RECV is for download
-
-2007-03-12 06:09 yangtse
-
- * lib/ldap.c: Emmanuel Dreyfus fixed not being able to find
- ber_free() in libldap when available in liblber.
-
-2007-03-11 23:48 bagder
-
- * lib/url.c: can just as well NULLify the pointer in a single spot
-
-2007-03-11 10:11 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac,
- docs/libcurl/curl_easy_setopt.3, lib/progress.c, lib/select.c,
- lib/select.h, lib/transfer.c: reverted the pselect patch =>
- http://curl.haxx.se/mail/lib-2007-03/0100.html
-
-2007-03-11 01:26 yangtse
-
- * lib/connect.c: fix compiler warning: unused variable
-
-2007-03-10 23:51 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Eygene Ryabinkin fixed a
- use-after-free issue with HTTP transfers with the multi interface
-
-2007-03-10 23:36 bagder
-
- * RELEASE-NOTES: Bryan Henderson
-
-2007-03-10 13:11 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac,
- docs/libcurl/curl_easy_setopt.3, lib/progress.c, lib/select.c,
- lib/select.h, lib/transfer.c: - Bryan Henderson introduces two
- things: 1) the progress callback gets called more frequently
- (at times) 2) libcurl *might* call the callback when it
- receives a signal
-
-2007-03-10 12:54 bagder
-
- * RELEASE-NOTES: pycurl 7.16.1
-
-2007-03-10 01:19 yangtse
-
- * tests/libtest/: lib502.c, lib503.c, lib504.c, lib507.c, lib509.c,
- lib525.c, lib526.c, lib530.c, lib533.c, lib536.c: change max
- allowed time for this test to complete to 90 seconds
-
-2007-03-10 00:39 danf
-
- * CHANGES, tests/FILEFORMAT, tests/runtests.pl, tests/data/test153,
- tests/data/test154, tests/data/test167, tests/data/test168,
- tests/data/test175, tests/data/test177, tests/data/test206,
- tests/data/test245, tests/data/test246, tests/data/test258,
- tests/data/test259, tests/data/test273, tests/data/test64,
- tests/data/test65, tests/data/test72, tests/data/test88: Updated
- the test harness to add a new "crypto" feature check and updated
- the appropriate test case to use it. For now, this is treated
- the same as the "SSL" feature because curl doesn't list it
- separately.
-
-2007-03-09 23:48 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c: - Robert Iakobashvili
- fixed CURLOPT_INTERFACE for IPv6.
-
-2007-03-09 23:26 bagder
-
- * CHANGES, maketgz, lib/Makefile.vc6, src/Makefile.vc6: - Robert A.
- Monat improved the maketgz and VC6/8 generating to set the
- correct machine type too.
-
-2007-03-09 22:51 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: - Justin Fletcher fixed a
- file descriptor leak in the curl tool when trying to upload a
- file it couldn't open. Bug #1676581
- (http://curl.haxx.se/bug/view.cgi?id=1676581)
-
-2007-03-09 22:01 danf
-
- * CHANGES, docs/KNOWN_BUGS, tests/FILEFORMAT, tests/runtests.pl,
- tests/data/test19, tests/data/test20, tests/data/test200,
- tests/data/test201, tests/data/test202, tests/data/test203,
- tests/data/test204, tests/data/test205, tests/data/test208,
- tests/data/test212, tests/data/test501, tests/data/test504,
- tests/data/test75, tests/data/test76, tests/data/test79,
- tests/data/test87: Updated the test harness to check for protocol
- support before running each test, fixing KNOWN_BUGS #11. Fixed
- some tests to more accurately specify their required servers and
- features.
-
-2007-03-08 21:00 danf
-
- * tests/FILEFORMAT: Made a few cleanups.
-
-2007-03-08 20:50 danf
-
- * CHANGES, tests/data/test400: Added SSL as a required feature for
- test case 400.
-
-2007-03-08 13:04 yangtse
-
- * ares/acinclude.m4: remove code superceeded by the new method used
- to force libtool to skip C++ and Fortran checks in patchset:
- http://cool.haxx.se/cvs.cgi/curl/ares/configure.ac.diff?r1=1.60&r2=1.64
-
-2007-03-08 03:38 danf
-
- * tests/: README, httpsserver.pl, runtests.pl, data/Makefile.am,
- data/test400: Added test infrastructure to support basic FTPS
- tests. This currently supports only ftps:// URLs with
- --ftp-ssl-control specified, which implicitly encrypts the
- control channel but not the data channels. That allows stunnel
- to be used with an unmodified ftp server in exactly the same way
- that the test https server is set up. Added test case 400 as a
- basic FTPS test.
-
-2007-03-07 23:42 danf
-
- * CHANGES, lib/url.c: Honour --ftp-ssl-control on ftps:// URLs to
- allow encrypted control and unencrypted data connections.
-
-2007-03-07 19:02 yangtse
-
- * configure.ac, ares/configure.ac: fix test leftover in previous
- commit
-
-2007-03-07 18:59 yangtse
-
- * ares/configure.ac, configure.ac: force libtool to build static
- libraries with PIC on AMD64
-
-2007-03-07 02:13 yangtse
-
- * configure.ac, ares/configure.ac: Autoconf redefines the M4
- builtin macro 'm4_undefine' in such a way that it fails if the
- macro that is being undefined is not already defined. To make
- this work under all cases and be sure that at a certain point
- some specific macro isn't defined we must use the following style
- in configure:
-
- m4_ifdef([macro], [m4_undefine([macro])])
-
-2007-03-06 20:55 danf
-
- * src/main.c: Fixed a couple of problems detected by valgrind in
- test cases 181 & 216
-
-2007-03-06 19:08 danf
-
- * configure.ac, ares/configure.ac: Autoconf 2.57 didn't like these
- m4_undefine for some reason (probably a bug). Luckily, they
- weren't needed.
-
-2007-03-06 17:53 yangtse
-
- * configure.ac, ares/configure.ac: skip libtool C++ and Fortran
- linker checks
-
-2007-03-06 06:05 yangtse
-
- * configure.ac, ares/configure.ac: skip libtool C++ and Fortran
- checks
-
-2007-03-03 06:16 yangtse
-
- * tests/data/: test278, test279: stricter newline policy
-
-2007-03-03 05:27 yangtse
-
- * tests/libtest/lib530.c: 30 seconds isn't long enough for this
- test on a loaded server.
-
-2007-03-03 03:06 yangtse
-
- * tests/data/: test278, test279: stricter newline policy
-
-2007-03-02 23:42 bagder
-
- * CHANGES, Makefile.dist, RELEASE-NOTES, maketgz: - Robert A. Monat
- and Shmulik Regev helped out to fix the new */Makefile.vc8
- makefiles that are included in the source release archives,
- generated from the Makefile.vc6 files by the maketgz script. I
- also modified the root Makefile to have a VC variable that
- defaults to vc6 but can be overridden to allow it to be used
- for vc8 as well. Like this:
-
- nmake VC=vc8 vc
-
-2007-03-01 22:26 bagder
-
- * docs/MANUAL: remove unncessary and wrong remark
-
-2007-03-01 17:42 yangtse
-
- * tests/ftpserver.pl: Reduce the posibility of leaving the
- sockfilter hanging around when tearing down the test ftp server
- due to a read error condition.
-
-2007-03-01 13:02 yangtse
-
- * lib/multi.c: Do not remove CURLM_STATE_WAITPROXYCONNECT from the
- CURLMstate enum in builds with HTTP support disabled to keep
- consistent enum values for CURLMstate in all kind of builds.
-
-2007-02-28 16:10 yangtse
-
- * lib/nwlib.c: proper symbol definition check for Novell NetWare
-
-2007-02-28 15:45 yangtse
-
- * lib/amigaos.c, lib/amigaos.h, lib/config-amigaos.h, lib/easy.c,
- lib/if2ip.c, lib/mprintf.c, lib/setup.h, src/config-amigaos.h,
- src/main.c, src/setup.h: proper symbol definition check for all
- AmigaOS flavours
-
-2007-02-28 11:30 bagder
-
- * docs/curl.1: clarify that -K files are expected to have one
- option per line
-
-2007-02-28 06:15 yangtse
-
- * lib/: amigaos.c, amigaos.h, nwlib.c: protect from themselves
- those who need it
-
-2007-02-28 00:46 yangtse
-
- * tests/testcurl.pl: log a 1120 chars long string to aid in
- quoted-printable and soft line break detection in daily build
- logs.
-
-2007-02-27 23:12 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Hang Kin Lau found and
- fixed: When I use libcurl to connect to an https server through
- a proxy and have the remote https server port set using the
- CURLOPT_PORT option, protocol gets reset to http from https after
- the first request.
-
- User defined URL was modified internally by libcurl and
- subsequent reuse of
- the easy handle may lead to connection using a different
- protocol (if not
- originally http).
-
- I found that libcurl hardcoded the protocol to "http" when it
- tries to
- regenerate the URL if CURLOPT_PORT is set. I tried to fix the
- problem as
- follows and it's working fine so far
-
-2007-02-27 16:44 giva
-
- * src/makefile.dj: Added "CSOURCES = $(CURL_SOURCES)".
-
-2007-02-27 16:35 giva
-
- * ares/Makefile.dj: Added TOPDIR variable. Put dependencies in
- external file. Added -DHAVE_STRUCT_TIMEVAL to CFLAGS.
-
-2007-02-27 16:32 giva
-
- * src/makefile.dj: Remove $(CURL_SOURCES).
-
-2007-02-27 16:27 giva
-
- * src/makefile.dj: Added TOPDIR variable. Put dependencies in
- external file. config.h includes ../lib/config.dos.
-
-2007-02-27 16:24 giva
-
- * lib/makefile.dj: Added TOPDIR variable. Put dependencies in
- external file.
-
-2007-02-27 16:22 giva
-
- * packages/DOS/common.dj: Added TOPDIR variable. Updated package
- locations. Simplified dependency generation.
-
-2007-02-27 14:51 bagder
-
- * RELEASE-NOTES: HTTP Digest header parsing fix
-
-2007-02-27 13:44 bagder
-
- * docs/libcurl/libcurl-tutorial.3: Somewhat updated, changes
- include: I tried to be more agnostic about the specific SSL
- library that might be used, and I cut out the closepolicy stuff
- that we no longer support
-
-2007-02-27 03:24 yangtse
-
- * lib/multi.c: no proxy support if libcurl is built with HTTP
- disabled
-
-2007-02-26 23:03 bagder
-
- * lib/http_digest.c: Jose Kahan pointed out a Digest server that
- provided the algorith last in the header line without quotes and
- with a CRLF immediately following...
-
-2007-02-26 05:33 giva
-
- * ares/: adig.c, ahost.c, ares__get_hostent.c, ares_expand_name.c,
- ares_expand_string.c, ares_fds.c, ares_gethostbyaddr.c,
- ares_gethostbyname.c, ares_getnameinfo.c, ares_getsock.c,
- ares_init.c, ares_mkquery.c, ares_parse_a_reply.c,
- ares_parse_aaaa_reply.c, ares_parse_ns_reply.c,
- ares_parse_ptr_reply.c, ares_process.c, ares_query.c,
- ares_send.c, ares_timeout.c, bitncmp.c, inet_net_pton.c,
- inet_ntop.c: Removed inclusion of <sys/types.h> in .c-files since
- it's already included through "setup.h".
-
-2007-02-26 05:24 giva
-
- * lib/: connect.c, dict.c, easy.c, file.c, formdata.c, ftp.c,
- gtls.c, hostares.c, hostasyn.c, hostip.c, hostip4.c, hostip6.c,
- hostsyn.c, hostthre.c, http.c, inet_ntop.c, inet_pton.c, ldap.c,
- mprintf.c, multi.c, netrc.c, nss.c, select.c, sendf.c, ssh.c,
- sslgen.c, ssluse.c, telnet.c, tftp.c, transfer.c, url.c: Removed
- inclusion of <sys/types.h> and <sys/stat.h> in .c-files since
- they're already included through "setup.h".
-
-2007-02-26 04:41 giva
-
- * lib/config.dos: Removed unneeded 'HAVE_x' defines.
-
-2007-02-26 04:38 giva
-
- * lib/setup.h: Fix typo.
-
-2007-02-25 19:02 giva
-
- * src/main.c: Constify some arguments.
-
-2007-02-25 18:34 giva
-
- * src/Makefile.Watcom: Use dynamic version of libcurl. Use '\' in
- dependencies.
-
-2007-02-25 12:50 bagder
-
- * RELEASE-NOTES: Two new mirrors, but the total amount of mirrors
- still don't go up very much due to the frequent dying of
- mirrors...
-
-2007-02-25 12:38 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/multi.c, lib/urldata.h: -
- Adam D. Moss made the HTTP CONNECT procedure less blocking when
- used from the multi interface. Note that it still does a part
- of the connection in a blocking manner.
-
-2007-02-23 11:08 bagder
-
- * docs/KNOWN_BUGS: Works for me
-
-2007-02-23 10:48 bagder
-
- * CHANGES, docs/curl.1, src/main.c: - Added warning outputs if the
- command line uses more than one of the options -v, --trace and
- --trace-ascii, since it could really confuse the user.
- Clarified this fact in the man page.
-
-2007-02-22 22:21 bagder
-
- * docs/libcurl/curl_easy_setopt.3: setting CURLOPT_PROXY to ""
- explicitly disables the use of a proxy (even if there is an
- environment variable set)
-
-2007-02-22 19:35 danf
-
- * tests/runtests.pl: 5 seconds isn't always enough time to start a
- server on a loaded system.
-
-2007-02-22 18:34 yangtse
-
- * tests/testcurl.pl: remove redundant check in timestamp detection
-
-2007-02-22 17:44 yangtse
-
- * ares/configure.ac, configure.ac: include <sys/types.h> when
- checking availability of the bool type
-
-2007-02-22 08:39 yangtse
-
- * lib/url.c: compiler warning fix
-
-2007-02-22 07:22 yangtse
-
- * lib/http_chunks.c: Fix compiler warning "statement is
- unreachable"
-
-2007-02-22 07:19 yangtse
-
- * lib/: content_encoding.c, urldata.h: Fix compiler warnings
-
- "case label value exceeds maximum value for type" and "comparison
- is always false due to limited range of data type"
-
- Both triggered when using a bool variable as the switch variable
- in a switch statement and using enums for the case targets.
-
-2007-02-22 03:51 yangtse
-
- * ares/ares_process.c, configure.ac, ares/configure.ac,
- ares/setup_once.h, lib/connect.c, lib/setup.h, lib/setup_once.h,
- src/setup.h, tests/libtest/test.h, tests/server/util.h: Check for
- stdbool.h at configuration stage, and include it if available.
-
- Check for lowercase 'bool' type at configuration stage. If not
- available provide a suitable replacement with a type definition
- of 'unsigned char' in setup_once.h
-
- Move definitions of TRUE and FALSE to setup_once.h
-
-2007-02-21 23:02 bagder
-
- * lib/http_ntlm.c: silence two cases of "comparison between signed
- and unsigned"
-
-2007-02-21 22:59 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_chunks.c, lib/http_chunks.h,
- lib/multi.c, lib/transfer.c, lib/transfer.h, lib/url.c,
- tests/data/test34: - Ravi Pratap provided work on libcurl making
- pipelining more robust and fixing some bugs: o Don't mix GET
- and POST requests in a pipeline o Fix the order in which
- requests are dispatched from the pipeline o Fixed several curl
- bugs with pipelining when the server is returning chunked
- encoding: * Added states to chunked parsing for final CRLF
- * Rewind buffer after parsing chunk with data remaining *
- Moved chunked header initializing to a spot just before receiving
- headers
-
-2007-02-21 20:03 yangtse
-
- * ares/ares_strerror.c, ares/setup_once.h, lib/connect.c,
- lib/hostip.c, lib/hostthre.c, lib/http.c, lib/http_ntlm.c,
- lib/inet_ntop.c, lib/memdebug.c, lib/setup.h, lib/setup_once.h,
- lib/ssluse.c, lib/strerror.c, lib/telnet.c, lib/transfer.c:
- curlassert macro replaced with DEBUGASSERT macro defined in
- setup_once.h
-
-2007-02-21 19:05 danf
-
- * lib/socks.c: Include some possible dependencies of arpa/inet.h
-
-2007-02-21 16:01 giva
-
- * ares/: adig.c, ahost.c: Cleanup WIN32 target using WSACleanup().
-
-2007-02-21 06:48 yangtse
-
- * lib/url.c: fix compiler warning "enumerated type mixed with
- another type"
-
-2007-02-20 23:08 linus
-
- * RELEASE-NOTES, docs/KNOWN_BUGS: New FTP CCC functionality - adds
- passive and active mode to accomodate for different server
- behaviour
-
-2007-02-20 23:02 linus
-
- * docs/curl.1, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/ftp.c, lib/gtls.c, lib/ssluse.c,
- lib/url.c, lib/urldata.h, src/main.c: New FTP CCC functionality -
- adds passive and active mode to accomodate for different server
- behaviour
-
-2007-02-20 18:31 danf
-
- * lib/socks.c: Include network byte order conversion macros on
- Minix.
-
-2007-02-20 15:26 yangtse
-
- * lib/getinfo.c: compiler warning fix
-
-2007-02-20 15:01 yangtse
-
- * lib/socks.c: compiler warning fix
-
-2007-02-20 13:13 yangtse
-
- * src/: Makefile.Watcom, Makefile.inc, Makefile.m32, Makefile.vc6,
- curlutil.c, curlutil.h, main.c, makefile.amiga, makefile.dj: curl
- tool was using functions curlx_tvnow and curlx_tvdiff which are
- not part of the official libcurl API
- http://curl.haxx.se/lxr/source/lib/README.curlx The documented
- way of using them would be to use timeval.c as a source code
- file.
-
- The above described method works very well when statically
- linking libcurl and apps, curl tool, but has several drawbacks
- when you build a true shared libcurl (i.e. Name space clash at
- linkage stage as functions are defined more than once. Windows
- makefiles are not capable of handling this system of source-level
- sharing)
-
- So...
-
- Now curlutil.h and curlutil.c define and implement cutil_tvnow
- and cutil_tvdiff which replace curlx_tvnow and curlx_tvdiff for
- the curl tool. Doing this we avoid the above described problems.
-
-2007-02-20 13:12 yangtse
-
- * ares/setup_once.h, lib/setup_once.h, lib/timeval.h,
- tests/libtest/testutil.c, tests/libtest/testutil.h: Move header
- file inclusion logic and definition of timeval struct for
- platforms that don't have it to setup_once.h
-
-2007-02-20 06:28 yangtse
-
- * tests/testcurl.pl: Several corrections & changes to what has been
- stated in revision 1.45
-
- 1) The maketgz script does not insert the timestamp in curlver.h,
- it actually updates it. For CVS versions it is the "CVS"
- string.
-
- 2) testcurl.pl will always print the "date" string which
- represents the moment the test build is run.
-
- 3) testcurl.pl may not print the "timestamp" string since the
- script may end before it is printed out. (i.e. unable to
- update from CVS)
-
- 4) The "timestamp" string printed will be the same as the "date"
- one unless one of the following conditions is met.
-
- *) It is a tarball-based build. Timestamp will be creation
- time.
-
- *) CVS update has been done. Timestamp will be end of CVS
- update.
-
-2007-02-20 02:09 yangtse
-
- * tests/libtest/: testutil.c, testutil.h: add tutil_tvdiff_secs()
- for completeness
-
-2007-02-19 22:50 danf
-
- * RELEASE-NOTES: Mention curl-config dependencies fix.
-
-2007-02-19 20:46 yangtse
-
- * tests/testcurl.pl: fix typo
-
-2007-02-19 20:41 yangtse
-
- * tests/testcurl.pl: Show libcurl's timestamp. This timestamp is
- only available in curlver.h for tarball-based tests and builds,
- the maketgz script inserts it when the tarball is created. For
- CVS-based tests and builds the timestamp we show is the current
- UTC build time as it is the CVS version timestamp.
-
- In this way, all builds will have a valid source code timestamp
- which isn't related to the moment the tests and build is
- performed, with the exception of CVS-based ones which have the
- same "date" and "timestamp"
-
-2007-02-19 18:44 giva
-
- * ares/Makefile.vc6: Added ares_parse_ns_reply.obj etc.
-
-2007-02-19 18:41 giva
-
- * ares/adig.c: INADDR_NONE no longer used.
-
-2007-02-19 18:40 giva
-
- * ares/windows_port.c: Fixed typo.
-
-2007-02-19 15:06 bagder
-
- * ares/: CHANGES, Makefile.inc, ares.h, ares_parse_ns_reply.3,
- ares_parse_ns_reply.c: Vlad Dinulescu added ares_parse_ns_reply()
-
-2007-02-19 13:37 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/libcurl.m4: Ian Turner fixed
- the libcurl.m4 macro's support for --with-libcurl. AC_PATH_PROG
- was not used properly.
-
-2007-02-19 13:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: - Shmulik Regev found a memory
- leak in re-used HTTPS connections, at least when the multi
- interface was used.
-
-2007-02-19 12:55 bagder
-
- * lib/ftp.c: and fix warnings due to lack of protos
-
-2007-02-19 12:53 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/ftp.c, lib/socks.c,
- lib/socks.h, lib/url.c: - Robson Braga Araujo made passive FTP
- transfers work with SOCKS (both 4 and 5).
-
-2007-02-19 12:47 bagder
-
- * lib/gtls.c: fixed code to compile and removed one warning
-
-2007-02-19 05:51 yangtse
-
- * tests/libtest/lib509.c: log a message, stating the need of
- openssl to run this test
-
-2007-02-19 04:59 yangtse
-
- * tests/server/sws.c: Oops missing var
-
-2007-02-19 03:29 yangtse
-
- * ares/ares_mkquery.c: compiler warning fix
-
-2007-02-19 03:03 yangtse
-
- * ares/ares_gethostbyaddr.c, ares/ares_gethostbyname.c,
- ares/ares_init.c, ares/ares_search.c, tests/server/sockfilt.c,
- tests/server/sws.c, tests/server/tftpd.c, tests/server/util.c:
- add debug messages for initialization failures
-
-2007-02-19 00:02 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/http.c, lib/multi.c,
- lib/url.c: - Jeff Pohlmeyer identified two problems: first a
- rather obscure problem with the multi interface and connection
- re-use that could make a curl_multi_remove_handle() ruin a
- pointer in another handle.
-
- The second problem was less of an actual problem but more of
- minor quirk:
- the re-using of connections wasn't properly checking if the
- connection was
- marked for closure.
-
-2007-02-18 01:54 yangtse
-
- * lib/urldata.h: Michal Marek comment fix
-
-2007-02-18 01:34 yangtse
-
- * ares/setup_once.h, lib/setup_once.h: fix ENAMETOOLONG and
- ENOTEMPTY may already be defined in errno.h
-
-2007-02-17 18:55 danf
-
- * curl-config.in, libcurl.pc.in: Use configure's new LIBCURL_LIBS
- variable
-
-2007-02-17 14:51 yangtse
-
- * ares/nameser.h, ares/setup_once.h, lib/connect.c,
- lib/inet_ntop.c, lib/setup_once.h, tests/server/util.h: Move
- portable error number symbolic name definitions to setup_once.h
-
-2007-02-17 12:59 yangtse
-
- * ares/ares_gethostbyaddr.c: compiler warning fix
-
-2007-02-17 12:43 yangtse
-
- * tests/libtest/testutil.h: Replicate the configure tests that
- determined that timeval was available.
-
-2007-02-17 12:34 yangtse
-
- * ares/: ares_gethostbyaddr.c, ares_search.c: compiler warning fix
-
-2007-02-17 09:49 danf
-
- * configure.ac: Do a better job at determining what test servers
- *really* need to link against.
-
-2007-02-17 09:16 danf
-
- * tests/server/Makefile.am: getpart implicitly drags in some
- networking functions, so it needs to be linked to the networking
- libraries.
-
-2007-02-17 02:29 danf
-
- * configure.ac, lib/Makefile.am, src/Makefile.am,
- tests/server/Makefile.am: Better separate the library
- dependencies into those required by libcurl and those required by
- other components to avoid forcing unneeded dependencies into the
- target objects.
-
-2007-02-17 02:25 danf
-
- * tests/server/util.c: Remove C99isms
-
-2007-02-17 02:23 danf
-
- * lib/timeval.h: Replicate the configure tests that determined that
- timeval was available.
-
-2007-02-16 20:41 yangtse
-
- * tests/server/util.c: add debug messages for fopen() failures
-
-2007-02-16 20:17 yangtse
-
- * ares/ares_gethostbyaddr.c, ares/ares_search.c,
- tests/libtest/lib505.c, tests/libtest/lib525.c: add debug
- messages for fopen() failures
-
-2007-02-16 19:19 yangtse
-
- * lib/connect.c, lib/connect.h, lib/easy.c, lib/ftp.c, lib/gtls.c,
- lib/hostares.c, lib/hostip4.c, lib/hostip6.c, lib/hostthre.c,
- lib/inet_pton.c, lib/memdebug.c, lib/nss.c, lib/select.c,
- lib/sendf.c, lib/ssluse.c, lib/strtoofft.c, lib/telnet.c,
- lib/tftp.c, lib/transfer.c, tests/server/sockfilt.c,
- tests/server/util.c, tests/server/util.h: use macros ERRNO,
- SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling
-
-2007-02-16 17:01 yangtse
-
- * src/main.c, tests/libtest/lib518.c, tests/libtest/lib537.c,
- tests/libtest/test.h, tests/server/sockfilt.c,
- tests/server/sws.c, tests/server/tftpd.c, tests/server/util.c,
- tests/server/util.h: use macros ERRNO, SET_ERRNO(), SOCKERRNO and
- SET_SOCKERRNO() for errno handling
-
-2007-02-16 16:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: - Duncan Mac-Vicar Prett and
- Michal Marek reported problems with resetting CURLOPT_RANGE
- back to no range on an easy handle when using FTP.
-
-2007-02-16 16:27 bagder
-
- * lib/urldata.h: maxdownload is actually -1 for unlimited
-
-2007-02-16 16:04 yangtse
-
- * ares/: adig.c, ares_init.c, ares_process.c, inet_net_pton.c,
- inet_ntop.c, windows_port.c: use macros ERRNO, SET_ERRNO(),
- SOCKERRNO and SET_SOCKERRNO() for errno handling
-
-2007-02-16 15:22 yangtse
-
- * ares/ares_dns.h: compiler warning fix
-
-2007-02-15 19:44 yangtse
-
- * lib/inet_ntop.c: avoid redefinition of SET_ERRNO()
-
-2007-02-15 17:23 yangtse
-
- * ares/setup_once.h, lib/setup_once.h: introduce uppercase macros
- SOCKERRNO, SET_SOCKERRNO(), ERRNO and SET_ERRNO() making them
- available to any source code file which includes "setup.h".
-
- Macro SOCKERRNO / SET_SOCKERRNO() returns / sets the
- *socket-related* errno (or equivalent) on this platform to hide
- platform details to code using it.
-
- Macro ERRNO / SET_ERRNO() returns / sets the NOT *socket-related*
- errno (or equivalent) on this platform to hide platform details
- to code using it.
-
-2007-02-15 15:02 yangtse
-
- * acinclude.m4, ares/acinclude.m4: icc 9.0 when compiling its
- generated code for its own FD_SET, FD_ISSET, and FD_ZERO macros
- emits warnings #1469 and #593. So for icc 9.0 we also ignore
- warnings #1469 and #593. * 593 warns on "variable __d0 was set
- but never used" * 1469 warns on "cc clobber ignored"
-
-2007-02-15 13:14 yangtse
-
- * ares/ares_dns.h: compiler warning fix
-
-2007-02-15 02:58 yangtse
-
- * lib/config-win32.h: Do not define HAVE_GMTIME_R for native
- Windows builds
-
-2007-02-15 02:38 yangtse
-
- * lib/strerror.c: Daniel Mirchandani fix to make libcurl build
- nicely on Winsock build targets when --disable-verbose is
- specified.
-
-2007-02-15 02:36 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: enabled IPV6 builds.
-
-2007-02-14 21:02 danf
-
- * docs/KNOWN_BUGS: Added --ftp-ssl-ccc issue.
-
-2007-02-14 19:13 danf
-
- * CHANGES, curl-config.in: Don't bother adding a library path of
- /usr/lib in curl-config --libs
-
-2007-02-14 18:38 yangtse
-
- * ares/ares_init.c: Oops, missing argument separator comma
-
-2007-02-14 15:11 yangtse
-
- * ares/ares_init.c: in debug messages also show error description
-
-2007-02-14 14:46 yangtse
-
- * tests/server/sws.c: compiler warning fix
-
-2007-02-14 14:31 yangtse
-
- * ares/configure.ac, ares/setup_once.h, configure.ac, lib/cookie.c,
- lib/setup_once.h: avoid using funtion isblank() and just use our
- ISBLANK macro to provide this functionality on all platforms
-
-2007-02-14 05:45 yangtse
-
- * lib/cookie.c: compiler warning fix
-
-2007-02-14 04:00 danf
-
- * configure.ac, curl-config.in: Fixed the problem of curl-config
- --libs specifying unneeded libraries dependencies to
- applications.
-
-2007-02-14 01:28 yangtse
-
- * tests/server/sws.c: enhance HTTP server request input writing,
- retrying upon EINTR errors.
-
-2007-02-13 23:50 bagder
-
- * CHANGES, RELEASE-NOTES, lib/urldata.h, tests/data/test100,
- tests/data/test101, tests/data/test102, tests/data/test103,
- tests/data/test104, tests/data/test106, tests/data/test107,
- tests/data/test108, tests/data/test109, tests/data/test110,
- tests/data/test111, tests/data/test112, tests/data/test114,
- tests/data/test115, tests/data/test116, tests/data/test117,
- tests/data/test118, tests/data/test119, tests/data/test120,
- tests/data/test121, tests/data/test122, tests/data/test123,
- tests/data/test124, tests/data/test125, tests/data/test126,
- tests/data/test127, tests/data/test128, tests/data/test135,
- tests/data/test137, tests/data/test138, tests/data/test139,
- tests/data/test140, tests/data/test141, tests/data/test142,
- tests/data/test143, tests/data/test144, tests/data/test145,
- tests/data/test146, tests/data/test147, tests/data/test148,
- tests/data/test149, tests/data/test161, tests/data/test182,
- tests/data/test190, tests/data/test195, tests/data/test196,
- tests/data/test210, tests/data/test211, tests/data/test212,
- tests/data/test215, tests/data/test216, tests/data/test227,
- tests/data/test228, tests/data/test229, tests/data/test235,
- tests/data/test236, tests/data/test237, tests/data/test238,
- tests/data/test247, tests/data/test248, tests/data/test250,
- tests/data/test251, tests/data/test252, tests/data/test253,
- tests/data/test254, tests/data/test255, tests/data/test261,
- tests/data/test270, tests/data/test272, tests/data/test280,
- tests/data/test505, tests/data/test511, tests/data/test520,
- tests/data/test524, tests/data/test525, tests/data/test526,
- tests/data/test527, tests/data/test529, tests/data/test531,
- tests/data/test532, tests/data/test533, tests/data/test534,
- tests/data/test538: ftp@example.com is now the new anonymous FTP
- password. I opted for 'ftp' on the left side of @ to make it
- short(er).
-
-2007-02-13 22:21 bagder
-
- * CHANGES, lib/config-win32.h: - Robert A. Monat made libcurl build
- fine with VC2005 - it doesn't have gmtime_r() like the older VC
- versions. He also made use of some machine- specific defines to
- differentiate the "OS" define.
-
-2007-02-13 20:59 danf
-
- * acinclude.m4: Added last-resort dynamic library names.
-
-2007-02-13 20:01 yangtse
-
- * configure.ac, ares/configure.ac, ares/setup_once.h,
- lib/setup_once.h: check for isblank() at configuration stage. If
- not available provide a suitable replacement for use in our
- ISBLANK macro
-
-2007-02-13 19:02 yangtse
-
- * ares/inet_net_pton.c, ares/setup_once.h, ares/windows_port.c,
- lib/setup_once.h: use our own ISUPPER and ISLOWER macros
-
-2007-02-13 18:47 yangtse
-
- * ares/setup_once.h, lib/cookie.c, lib/setup_once.h: use our own
- ISBLANK macro
-
-2007-02-13 18:28 yangtse
-
- * lib/nss.c: use our own ISSPACE macro
-
-2007-02-13 17:14 yangtse
-
- * ares/: CHANGES, ares_init.c: Fix c-ares failing to get the search
- sequence of /etc/hosts and DNS from /etc/nsswitch.conf,
- /etc/host.conf or /etc/svc.conf when /etc/resolv.conf did not
- exist or was unable to read it.
-
-2007-02-13 03:30 yangtse
-
- * lib/sslgen.c: compiler warning fix
-
-2007-02-12 23:41 bagder
-
- * CHANGES: mention today's LIBCURL_TIMESTAMP fix
-
-2007-02-12 23:32 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, docs/FAQ, docs/FEATURES,
- docs/INSTALL, docs/LICENSE-MIXING, docs/TODO, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, lib/Makefile.inc, lib/http.c,
- lib/nss.c, lib/nssg.h, lib/setup.h, lib/sslgen.c, lib/urldata.h,
- tests/runtests.pl: Rob Crittenden added support for NSS (Network
- Security Service) for the SSL/TLS layer.
- http://www.mozilla.org/projects/security/pki/nss/
-
-2007-02-12 22:13 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/http_chunks.c, lib/transfer.c, lib/url.c, lib/urldata.h,
- src/main.c: - Shmulik Regev fixed so that the final CRLF of HTTP
- response headers are sent to the debug callback.
-
- - Shmulik Regev added CURLOPT_HTTP_CONTENT_DECODING and
- CURLOPT_HTTP_TRANSFER_DECODING that if set to zero will disable
- libcurl's internal decoding of content or transfer encoded
- content. This may be preferable in cases where you use libcurl
- for proxy purposes or similar. The command line tool got a
- --raw option to disable both at once.
-
-2007-02-12 13:17 bagder
-
- * RELEASE-NOTES: Jeff Pohlmeyer for his bug fix today, but too
- specific to get desrcibed as a bugfix here ;-)
-
-2007-02-12 13:15 bagder
-
- * CHANGES, lib/multi.c: - Jeff Pohlmeyer fixed a flaw in
- curl_multi_add_handle() when adding a handle that has an easy
- handle present in the "closure" list pending closure.
-
-2007-02-12 12:53 bagder
-
- * maketgz, include/curl/curlver.h: When building tarballs, we also
- set the timestamp of the generated package. This is meant to
- primarily be used for the autobuilds to know from what point in
- time a particular tarball is, and thus what changes it contains
- (or not).
-
-2007-02-11 11:10 bagder
-
- * docs/DISTRO-DILEMMA: updated with recent info and cut out some of
- the more speculating parts and instead focus on explaining on how
- the libs differ from each other
-
-2007-02-11 10:55 bagder
-
- * docs/: FAQ, TODO: updated
-
-2007-02-11 00:24 bagder
-
- * docs/FAQ: darned tab completion on a late evening... :-P
-
-2007-02-11 00:23 bagder
-
- * docs/FAQ: minor updates to reflect reality better
-
-2007-02-10 13:07 bagder
-
- * docs/libcurl/libcurl-multi.3: file:// transfers are blocking
-
-2007-02-09 13:41 yangtse
-
- * tests/libtest/Makefile.am: Include both testutil.c and
- testutil.h, and not just testutil.c, in the list of source files
- for those tests that use it. Otherwise testutil.h might not be
- found by the compiler.
-
-2007-02-09 02:17 yangtse
-
- * tests/libtest/: testutil.c, testutil.h: Some tests were using
- functions curlx_tvnow and curlx_tvdiff which are not part of the
- official libcurl API
- http://curl.haxx.se/lxr/source/lib/README.curlx The documented
- way of using them would be to use timeval.c as a source code
- file.
-
- The above described method works very well when statically
- linking libcurl and apps, test programs, but has several
- drawbacks when you build a true shared libcurl (i.e. Name space
- clash at linkage stage as functions are defined more than once.
- Windows makefiles are not capable of handling this system of
- source-level sharing)
-
- So...
-
- Now testutil.h and testutil.c define and implement tutil_tvnow
- and tutil_tvdiff which replace curlx_tvnow and curlx_tvdiff for
- the libtest programs. Doing this we avoid the above described
- problems, and the code in the testsuite does not impose the need
- to keep those functions public in libcurl even when not part of
- the API.
-
-2007-02-09 02:11 yangtse
-
- * tests/libtest/: Makefile.am, lib502.c, lib503.c, lib504.c,
- lib507.c, lib509.c, lib525.c, lib526.c, lib530.c, lib533.c,
- lib536.c: Some tests were using functions curlx_tvnow and
- curlx_tvdiff which are not part of the official libcurl API
- http://curl.haxx.se/lxr/source/lib/README.curlx The documented
- way of using them would be to use timeval.c as a source code
- file.
-
- The above described method works very well when statically
- linking libcurl and apps, test programs, but has several
- drawbacks when you build a true shared libcurl (i.e. Name space
- clash at linkage stage as functions are defined more than once.
- Windows makefiles are not capable of handling this system of
- source-level sharing)
-
- So...
-
- Now testutil.h and testutil.c define and implement tutil_tvnow
- and tutil_tvdiff which replace curlx_tvnow and curlx_tvdiff for
- the libtest programs. Doing this we avoid the above described
- problems, and the code in the testsuite does not impose the need
- to keep those functions public in libcurl even when not part of
- the API.
-
-2007-02-08 18:01 yangtse
-
- * ares/: ares_dns.h, ares_send.c: compiler warning fix
-
-2007-02-08 01:28 yangtse
-
- * ares/configure.ac: use macro AC_AIX to define `_ALL_SOURCE', if
- on AIX.
-
-2007-02-07 23:00 bagder
-
- * lib/ssh.c: SCP upload done non-blocking
-
-2007-02-07 19:13 yangtse
-
- * ares/configure.ac: use same AIX XLC compiler options as curl's
-
-2007-02-07 18:34 yangtse
-
- * configure.ac: AIX xlc has to have strict aliasing turned off. If
- not, the optimizer assumes that pointers can only point to an
- object of the same type.
-
-2007-02-07 16:15 yangtse
-
- * ares/acinclude.m4: *) Remove duplicate declaration of
- TYPE_SOCKADDR_STORAGE *) Update CURL_CC_DEBUG_OPTS from curl's
- script
-
-2007-02-06 20:14 giva
-
- * ares/ahost.c: INADDR_NONE no longer used.
-
-2007-02-06 20:12 giva
-
- * ares/ahost.c: Added debug option ('-d') for Watt-32 programs.
-
-2007-02-06 20:09 giva
-
- * ares/: Makefile.dj, ares_init.c, config-win32.h: Added
- HAVE_PROCESS_H for DOS/Win32. Include <process.h> for getpid()
- in ares_init.c.
-
-2007-02-06 20:00 giva
-
- * ares/adig.c: Fix compiler warning.
-
-2007-02-06 19:56 giva
-
- * ares/ahost.c: Include <sys/time.h> and <unistd.h> inside
- HAVE_x_H. Added 'optind' and 'optarg' as in adig.c.
-
-2007-02-06 19:54 giva
-
- * ares/adig.c: Include <sys/time.h> and <unistd.h> inside HAVE_x_H.
-
-2007-02-06 19:08 yangtse
-
- * lib/: socks.c, tftp.c: fix for millisecond resolution timeouts
-
-2007-02-06 19:06 yangtse
-
- * lib/: ftp.c, http.c, transfer.c: compiler warning fix
-
-2007-02-06 17:07 bagder
-
- * CHANGES: non-blocking SSH stuff
-
-2007-02-06 16:41 bagder
-
- * lib/ssh.c: read SFTP with the non-blocking API
-
-2007-02-06 04:31 yangtse
-
- * ares/ares_getnameinfo.c, lib/hostip4.c: compiler warning fix
-
-2007-02-05 23:51 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/connect.c, lib/ftp.c, lib/gtls.c,
- lib/hostares.c, lib/hostthre.c, lib/http.c, lib/socks.c,
- lib/ssluse.c, lib/telnet.c, lib/tftp.c, lib/transfer.c,
- lib/url.c, lib/urldata.h: - Michael Wallner provided a patch that
- adds support for CURLOPT_TIMEOUT_MS and
- CURLOPT_CONNECTTIMEOUT_MS that, as their names should hint, do
- the timeouts with millisecond resolution instead. The only
- restriction to that is the alarm() (sometimes) used to abort
- name resolves as that uses full seconds. I fixed the FTP
- response timeout part of the patch.
-
- Internally we now count and keep the timeouts in milliseconds
- but it also
- means we multiply set timeouts with 1000. The effect of this is
- that no
- timeout can be set to more than 2^31 milliseconds (on 32 bit
- systems), which
- equals 24.86 days. We probably couldn't before either since
- the code did
- *1000 on the timeout values on several places already.
-
-2007-02-05 12:32 giva
-
- * ares/Makefile.dj: Remove '-Dselect=select_s'. Remove depend.dj-
-
-2007-02-05 05:10 yangtse
-
- * ares/ares_getnameinfo.c, lib/hostip4.c, lib/tftp.c: compiler
- warning fix
-
-2007-02-05 03:43 yangtse
-
- * RELEASE-NOTES: cookie expiry date in several test cases set to
- year 2030/2035
-
-2007-02-05 03:38 yangtse
-
- * tests/data/: test31, test46, test506, test61, test62: Year 2038
- has its own problems (32 bit integer overflow). So cookie
- expiration date is lowered to expire at most in 2035.
-
-2007-02-04 14:34 giva
-
- * ares/ares_process.c: Use correct 3rd argument for ioctlsocket()
- under Watt-32.
-
-2007-02-04 14:02 giva
-
- * ares/windows_port.c: Use correct calling convention.
-
-2007-02-04 13:50 giva
-
- * ares/windows_port.c: Added DllMain() function for Watcom.
-
-2007-02-04 13:18 giva
-
- * lib/sendf.c: Suppress warning "'nread' might be used
- uninitialized in this function".
-
-2007-02-04 13:12 giva
-
- * tests/libtest/lib506.c: Constify argument to suburl(). Remove
- trailing space.
-
-2007-02-03 22:35 bagder
-
- * docs/libcurl/libcurl-multi.3: some additional info
-
-2007-02-03 14:05 yangtse
-
- * lib/hostip4.c: compiler warning fix
-
-2007-02-03 10:34 bagder
-
- * CHANGES, RELEASE-NOTES: - Yang Tse fixed the cookie expiry date
- in several test cases that started to fail since they used "1
- feb 2007"...
-
- - Manfred Schwarb reported that socks5 support was broken and
- help us pinpoint the problem. The code now tries harder to use
- httproxy and proxy where apppropriate, as not all proxies are
- HTTP...
-
-2007-02-03 10:33 bagder
-
- * lib/: url.c, urldata.h: - Manfred Schwarb reported that socks5
- support was broken and help us pinpoint the problem. The code
- now tries harder to use httproxy and proxy where apppropriate,
- as not all proxies are HTTP...
-
-2007-02-02 18:16 yangtse
-
- * ares/ares_getnameinfo.c, lib/hostip4.c, src/urlglob.c,
- tests/server/tftpd.c: compiler warning fix
-
-2007-02-02 17:01 yangtse
-
- * ares/ares_init.c: add debug messages for initialization failures
-
-2007-02-02 17:01 yangtse
-
- * ares/ares_strerror.c: add missing strings for existing error
- codes
-
-2007-02-02 16:31 yangtse
-
- * ares/setup_once.h, lib/setup.h, lib/setup_once.h: move DEBUGF
- macro definition to setup_once.h
-
-2007-02-02 16:26 bagder
-
- * lib/: sendf.c, ssh.c: prefer using the (upcoming) non-blocking
- libssh2 API
-
-2007-02-02 16:26 bagder
-
- * configure.ac: don't require OpenSSL for libssh2 linking to work,
- in preparation for upcoming libgcrypt-capable libssh2-versions
-
-2007-02-02 12:49 yangtse
-
- * tests/data/test46: fix leftover updating cookie expiration date
-
-2007-02-02 03:30 yangtse
-
- * RELEASE-NOTES: In testsuite, update test cookies expiration from
- 2007-Feb-1 to 2038-Feb-1
-
-2007-02-02 03:12 yangtse
-
- * tests/data/test46: reported in bug: #1566077 the former URL
- mentioned in the generated cookie jar has died and we now instead
- point out our own version of that
-
-2007-02-02 02:36 yangtse
-
- * tests/data/test62: fix test case 62 which was failing due to
- cookies expiring 1 Feb 2007
-
-2007-02-02 02:05 yangtse
-
- * tests/data/: test31, test46, test506, test61: more fixes for the
- testsuite cookie expiration issue
-
-2007-02-02 01:10 yangtse
-
- * tests/data/: test31, test46, test506, test61: cookie expiration
- time got us with pants at our knees. Next time in 2038 :-)
-
-2007-02-01 16:36 yangtse
-
- * ares/ares_getnameinfo.c, ares/ares_process.c, lib/ftp.c,
- lib/sslgen.c, src/urlglob.c: compiler warning fix
-
-2007-02-01 13:23 giva
-
- * lib/base64.c: Suppress the "'convbuf' might be used uninitialized
- in this function" warning.
-
-2007-02-01 12:27 yangtse
-
- * lib/url.h: fogot to change Curl_mk_connc in header file
-
-2007-02-01 02:42 yangtse
-
- * ares/ares_getnameinfo.c, ares/ares_init.c, ares/ares_mkquery.c,
- ares/ares_send.c, ares/inet_net_pton.c, lib/ftp.c, lib/mprintf.c,
- lib/url.c: compiler warning fix
-
-2007-02-01 00:15 danf
-
- * acinclude.m4: Properly use libtool macros to fix OpenLDAP library
- name detection on Darwin.
-
-2007-01-31 20:47 yangtse
-
- * lib/: easy.c, url.c: add debug messages for initialization
- failures
-
-2007-01-31 16:34 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: when using select() instead
- of poll, skip the test if the number of open file descriptors is
- greater than FD_SETSIZE minus SAFETY_MARGIN, also skip the test
- if any of the open file descriptors has a number greater than
- FD_SETSIZE minus SAFETY_MARGIN.
-
-2007-01-31 10:37 bagder
-
- * packages/vms/: config-vms.h, curlmsg.h, curlmsg.msg, curlmsg.sdl,
- curlmsg_vms.h: Marty Kuhrt's VMS updates
-
-2007-01-30 14:21 yangtse
-
- * tests/libtest/lib537.c: fix temp string buffer variable name
-
-2007-01-30 14:15 giva
-
- * ares/: nameser.h, setup.h: Support for OpenWatcom (Win32): It do
- have getpid(), but no <sys/time.h>.
-
-2007-01-30 13:25 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.16.2
-
-2007-01-30 04:48 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: skip test on platforms on
- which we use select() instead of poll() and select() happens to
- be bound by FD_SETSIZE
-
-2007-01-29 21:56 yangtse
-
- * ares/: ares_free_hostent.c, ares_gethostbyname.c,
- ares_getnameinfo.c: fix compiler warning "discards qualifiers
- from pointer target type" in debug builds
-
-2007-01-29 21:37 bagder
-
- * tests/libtest/Makefile.am: the same source file is re-used for
- multiple tests and I missed to add the timval.c dependency on
- some of those
-
-2007-01-29 21:24 giva
-
- * tests/libtest/: lib503.c, lib504.c, lib509.c: Some compilers
- lacks <sys/time.h>. Include "timeval.h" to simplify the #ifdefs.
-
-2007-01-29 20:08 giva
-
- * lib/: vc8proj.foot, vc8proj.head: Use DOS line-endings.
-
-2007-01-29 15:53 bagder
-
- * CHANGES: release time
-
-2007-01-29 11:12 bagder
-
- * RELEASE-NOTES: the user-agent fix
-
-2007-01-29 11:09 bagder
-
- * tests/libtest/Makefile.am: the libtest source codes that use
- curlx_tv* functions MUST use the lib/timeval.c source code since
- those functions are not in the API (and might not be accessible)
-
-2007-01-29 10:26 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/Makefile.am,
- tests/data/test287: - Michael Wallner reported that when doing a
- CONNECT with a custom User-Agent header, you got _two_
- User-Agent headers in the CONNECT request...! Added test case
- 287 to verify the fix.
-
-2007-01-29 01:51 gknauf
-
- * buildconf.bat, lib/Makefile.m32, lib/setup.h: fixed segfault when
- compiled with MingW32 and cmd or command shell.
-
-2007-01-28 23:45 bagder
-
- * lib/url.c: Andreas Rieke added extra infof() for when a
- connection is not re-used due to SSL conditions not being the
- same
-
-2007-01-28 23:36 bagder
-
- * lib/ssh.c: silence compiler warnings
-
-2007-01-28 22:54 gknauf
-
- * Makefile.dist, lib/Makefile.m32, src/Makefile.m32: enabled build
- with sspi.
-
-2007-01-28 16:31 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: enabled build with
- hardcoded ca-bundle path; added distclean target.
-
-2007-01-28 16:07 gknauf
-
- * lib/Makefile.netware: force to create ca-bunde.h even if it
- exists already.
-
-2007-01-28 15:43 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: use var for awk.
-
-2007-01-28 13:58 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c: curl_easy_reset() now resets
- the CA bundle path correctly
-
-2007-01-28 13:35 gknauf
-
- * lib/ssh.c: another small fix to directory listing output;
- disabled CURL_LIBSSH2_DEBUG.
-
-2007-01-28 10:59 bagder
-
- * docs/THANKS: recent contributors
-
-2007-01-28 04:51 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: Compiler warning fix
-
-2007-01-28 00:02 bagder
-
- * CHANGES, TODO-RELEASE, docs/KNOWN_BUGS, src/main.c: - David
- McCreedy fixed the Curl command line tool for HTTP on non-ASCII
- platforms.
-
-2007-01-27 13:14 gknauf
-
- * lib/ssh.c: fix sftp directory listing so that it works without -v
- and is redirectable with -o/-O.
-
-2007-01-27 12:50 gknauf
-
- * lib/ssh.c: tell us what we put out here...
-
-2007-01-27 04:43 yangtse
-
- * Makefile.dist, lib/formdata.c, lib/formdata.h, lib/ftp.h,
- lib/http.h, lib/url.h, tests/runtests.pl, tests/testcurl.pl:
- update copyright year notice
-
-2007-01-27 04:14 yangtse
-
- * lib/: multi.c, sendf.c: Compiler warning fix
-
-2007-01-27 02:56 yangtse
-
- * ares/setup_once.h: sync with lib/setup_once.h
-
-2007-01-27 02:56 yangtse
-
- * lib/setup_once.h: sync comment with reality
-
-2007-01-26 22:00 gknauf
-
- * src/Makefile.m32: remove the res file too with clean target.
-
-2007-01-26 21:05 gknauf
-
- * src/Makefile.m32: removed CFLAGS from linking.
-
-2007-01-26 21:00 gknauf
-
- * buildconf.bat: fix redefine warning when build from CVS.
-
-2007-01-26 18:50 danf
-
- * lib/transfer.c: Fixed compiler warning.
-
-2007-01-26 17:36 giva
-
- * src/main.c: Remove LoadLibrary() (from my private build).
-
-2007-01-26 17:24 giva
-
- * src/main.c: Free 'config->libcurl' at exit.
-
-2007-01-26 17:18 giva
-
- * src/main.c: Use "%Od" instead of CURL_FORMAT_OFF_T for <curlx.h>
- functions.
-
-2007-01-26 16:15 giva
-
- * src/main.c: Options of type CURLOPTTYPE_FUNCTIONPOINT are never
- printable.
-
-2007-01-26 14:55 gknauf
-
- * docs/INSTALL: updated mingw build instructions for libssh2.
-
-2007-01-26 09:53 gknauf
-
- * lib/libcurl.rc, src/curl.rc: added project header to lib resource
- file; fixed header copyright.
-
-2007-01-26 09:50 gknauf
-
- * src/Makefile.m32: use provided resource file for exe.
-
-2007-01-25 22:00 bagder
-
- * lib/: sslgen.c, sslgen.h: fix compiler warnings for SSL-disabled
- builds
-
-2007-01-25 21:47 bagder
-
- * src/main.c: ugha, prevent a buffer overflow and allow very long
- strings in the generated libcurl source...
-
-2007-01-25 16:58 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: - Added the
- --libcurl [file] option to curl. Append this option to any
- ordinary curl command line, and you will get a libcurl-using
- source code written to the file that does the equivalent
- operation of what your command line operation does!
-
-2007-01-25 16:00 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: removed unused define.
-
-2007-01-25 15:06 gknauf
-
- * tests/testcurl.pl: set proper lib extension for non-configure
- mingw32 builds on Win32.
-
-2007-01-25 14:17 gknauf
-
- * lib/libcurl.rc, src/curl.rc: fixed copyright for new year.
-
-2007-01-25 14:15 gknauf
-
- * Makefile.dist: added targets for libssh2 builds.
-
-2007-01-25 14:14 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: enabled build with libssh2.
-
-2007-01-25 12:09 bagder
-
- * lib/sslgen.h: fix non-SSL builds again
-
-2007-01-25 02:35 danf
-
- * CHANGES, TODO-RELEASE, lib/url.c, tests/runtests.pl: Fixed a
- dangling pointer problem that prevented the http_proxy
- environment variable from being properly used in many cases (and
- caused test case 63 to fail).
-
-2007-01-25 01:26 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: removed not used
- define.
-
-2007-01-24 20:09 danf
-
- * lib/ftp.c: Only shut down SSL if the CCC command succeeded.
-
-2007-01-24 18:19 bagder
-
- * lib/: sslgen.c, sslgen.h, transfer.c: moved the SSL pending
- function to the proper place and name
-
-2007-01-24 13:34 bagder
-
- * lib/http.c: bail out on strdup() errors
-
-2007-01-23 23:57 bagder
-
- * CHANGES, lib/http_ntlm.c: - David McCreedy did NTLM changes
- mainly for non-ASCII platforms:
-
- #1
- There's a compilation error in http_ntlm.c if USE_NTLM2SESSION
- is NOT
- defined. I noticed this while testing various configurations.
- Line 867 of
- the current http_ntlm.c is a closing bracket for an if/else
- pair that only
- gets compiled in if USE_NTLM2SESSION is defined. But this
- closing bracket
- wasn't in an #ifdef so the code fails to compile unless
- USE_NTLM2SESSION was
- defined. Lines 198 and 140 of my patch wraps that closing
- bracket in an
- #ifdef USE_NTLM2SESSION.
-
- #2
- I noticed several picky compiler warnings when DEBUG_ME is
- defined. I've
- fixed them with casting. By the way, DEBUG_ME was a huge help
- in
- understanding this code.
-
- #3
- Hopefully the last non-ASCII conversion patch for libcurl in a
- while. I
- changed the "NTLMSSP" literal to hex since this signature must
- always be in
- ASCII.
-
- Conversion code was strategically added where necessary. And
- the
- Curl_base64_encode calls were changed so the binary "blobs"
- http_ntlm.c
- creates are NOT translated on non-ASCII platforms.
-
-2007-01-23 23:13 bagder
-
- * RELEASE-NOTES: recount
-
-2007-01-23 23:13 bagder
-
- * TODO-RELEASE: #79 is no problem to me (and no response on my
- mail)
-
-2007-01-23 23:13 bagder
-
- * lib/ssh.c: very minor indent change
-
-2007-01-23 21:24 danf
-
- * tests/server/getpart.c: Ignore XML DOCTYPEs and declarations.
-
-2007-01-23 09:57 giva
-
- * src/main.c: Speed-up djgpp's stat() by avoid checking for uneeded
- stuff.
-
-2007-01-23 03:29 danf
-
- * CHANGES: Convert (most of) the test data files into genuine XML.
- A handful still are not, due mainly to the lack of support for
- XML character entities (e.g. & => &amp; ). This will make it
- easier to validate test files using tools like xmllint, as well
- as edit and view them using XML tools.
-
-2007-01-23 03:25 danf
-
- * tests/: FILEFORMAT, data/test1, data/test10, data/test100,
- data/test101, data/test102, data/test103, data/test104,
- data/test105, data/test106, data/test107, data/test108,
- data/test109, data/test11, data/test110, data/test111,
- data/test112, data/test113, data/test114, data/test115,
- data/test116, data/test117, data/test118, data/test119,
- data/test12, data/test120, data/test121, data/test122,
- data/test123, data/test124, data/test125, data/test126,
- data/test127, data/test128, data/test13, data/test130,
- data/test131, data/test132, data/test133, data/test134,
- data/test135, data/test136, data/test137, data/test138,
- data/test139, data/test14, data/test140, data/test141,
- data/test142, data/test143, data/test144, data/test145,
- data/test146, data/test147, data/test148, data/test149,
- data/test15, data/test150, data/test151, data/test152,
- data/test153, data/test154, data/test155, data/test156,
- data/test157, data/test158, data/test159, data/test16,
- data/test160, data/test161, data/test162, data/test163,
- data/test164, data/test165, data/test166, data/test167,
- data/test168, data/test169, data/test17, data/test170,
- data/test171, data/test172, data/test173, data/test174,
- data/test175, data/test176, data/test177, data/test178,
- data/test179, data/test18, data/test180, data/test181,
- data/test182, data/test183, data/test184, data/test185,
- data/test186, data/test187, data/test188, data/test189,
- data/test19, data/test190, data/test191, data/test192,
- data/test193, data/test194, data/test195, data/test196,
- data/test197, data/test198, data/test199, data/test2,
- data/test20, data/test200, data/test201, data/test202,
- data/test203, data/test204, data/test205, data/test206,
- data/test207, data/test208, data/test209, data/test21,
- data/test210, data/test211, data/test212, data/test213,
- data/test214, data/test215, data/test216, data/test217,
- data/test218, data/test22, data/test220, data/test221,
- data/test222, data/test223, data/test224, data/test225,
- data/test226, data/test227, data/test228, data/test229,
- data/test23, data/test233, data/test234, data/test235,
- data/test236, data/test237, data/test238, data/test239,
- data/test24, data/test240, data/test241, data/test242,
- data/test243, data/test245, data/test246, data/test247,
- data/test248, data/test249, data/test25, data/test250,
- data/test251, data/test252, data/test253, data/test254,
- data/test255, data/test256, data/test257, data/test258,
- data/test259, data/test26, data/test260, data/test261,
- data/test262, data/test263, data/test264, data/test265,
- data/test266, data/test267, data/test268, data/test269,
- data/test27, data/test270, data/test271, data/test272,
- data/test273, data/test274, data/test275, data/test276,
- data/test277, data/test278, data/test279, data/test28,
- data/test280, data/test281, data/test282, data/test283,
- data/test284, data/test285, data/test286, data/test29,
- data/test3, data/test30, data/test300, data/test301,
- data/test302, data/test303, data/test304, data/test305,
- data/test306, data/test307, data/test308, data/test31,
- data/test32, data/test33, data/test34, data/test36, data/test37,
- data/test38, data/test39, data/test4, data/test40, data/test41,
- data/test42, data/test43, data/test44, data/test45, data/test46,
- data/test47, data/test48, data/test49, data/test5, data/test50,
- data/test500, data/test501, data/test502, data/test503,
- data/test504, data/test505, data/test506, data/test507,
- data/test508, data/test509, data/test51, data/test510,
- data/test511, data/test512, data/test513, data/test514,
- data/test515, data/test516, data/test517, data/test518,
- data/test519, data/test52, data/test520, data/test521,
- data/test522, data/test523, data/test524, data/test525,
- data/test526, data/test527, data/test528, data/test529,
- data/test53, data/test530, data/test531, data/test532,
- data/test533, data/test534, data/test535, data/test536,
- data/test537, data/test538, data/test54, data/test55,
- data/test56, data/test57, data/test58, data/test59, data/test6,
- data/test60, data/test61, data/test62, data/test63, data/test64,
- data/test65, data/test66, data/test67, data/test68, data/test69,
- data/test7, data/test70, data/test71, data/test72, data/test73,
- data/test74, data/test75, data/test76, data/test77, data/test78,
- data/test79, data/test8, data/test80, data/test81, data/test82,
- data/test83, data/test84, data/test85, data/test86, data/test87,
- data/test88, data/test89, data/test9, data/test90, data/test91,
- data/test92, data/test93, data/test94, data/test95, data/test97,
- data/test98, data/test99, server/getpart.c: Convert (most of) the
- test data files into genuine XML. A handful still are not, due
- mainly to the lack of support for XML character entities (e.g. &
- => &amp; ). This will make it easier to validate test files
- using tools like xmllint, as well as edit and view them using XML
- tools.
-
-2007-01-23 01:26 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: enabled build with libssh2; fixed copyright
- for new year..
-
-2007-01-18 21:32 danf
-
- * tests/: getpart.pm, testcurl.pl: Make the test script tag parser
- a bit more robust. Check for the .exe extension on mingw32
- builds.
-
-2007-01-18 19:04 danf
-
- * tests/: runtests.pl, data/test307, libtest/Makefile.am,
- libtest/test307.pl: Added precheck that curl supports the
- 'openssl' engine in test 307.
-
-2007-01-17 21:36 danf
-
- * tests/data/: test133, test150, test155, test159, test161,
- test169, test180, test181, test209, test212, test213, test22,
- test239, test243, test265, test267, test36, test37, test67,
- test68, test69, test81, test89, test90, test91: Fixed some tag
- typos in the test data files.
-
-2007-01-17 20:23 danf
-
- * tests/data/: test307, test308: Disabled test 307 for now.
-
-2007-01-17 16:15 giva
-
- * lib/sendf.c: Supress "comparison between signed and unsigned"
- warning.
-
-2007-01-17 13:00 bagder
-
- * TODO-RELEASE: two other still outstanding issues
-
-2007-01-17 11:15 bagder
-
- * TODO-RELEASE: more reported bugs we need to address at some
- point, possibly before a release
-
-2007-01-17 09:57 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify the INFILESIZE option(s)
-
-2007-01-16 23:26 bagder
-
- * lib/http_chunks.c: David McCreedy fixed a flaw from his previous
- non-ascii HTTP patch
-
-2007-01-16 23:22 bagder
-
- * CHANGES, RELEASE-NOTES, lib/file.c, lib/file.h, lib/ftp.c,
- lib/ftp.h, lib/http.c, lib/http.h, lib/multi.c, lib/ssh.c,
- lib/ssh.h, lib/telnet.c, lib/telnet.h, lib/tftp.c, lib/tftp.h,
- lib/transfer.c, lib/url.c, lib/url.h, lib/urldata.h: - Armel
- Asselin improved libcurl to behave a lot better when an easy
- handle doing an FTP transfer is removed from a multi handle
- before completion. The fix also fixed the "alive counter" to be
- correct on "premature removal" for all protocols.
-
-2007-01-16 22:28 bagder
-
- * lib/sendf.c: restore previous addition to the amount of data that
- is returned
-
-2007-01-16 19:34 danf
-
- * tests/data/: Makefile.am, test307, test308: Added simple OpenSSL
- crypto engine tests.
-
-2007-01-16 19:33 danf
-
- * CHANGES, lib/tftp.c: Fixed a small memory leak in tftp uploads
- discovered by curl's memory leak detector. Also changed tftp
- downloads to URL-unescape the downloaded file name.
-
-2007-01-15 22:06 danf
-
- * tests/data/: Makefile.am, test285, test286: Added TFTP upload
- tests.
-
-2007-01-15 22:03 danf
-
- * tests/server/tftpd.c: Leave the TFTPD test server running after a
- file upload. Flush the protocol log data so it's immediately
- available to the test harness.
-
-2007-01-14 15:57 bagder
-
- * CHANGES, RELEASE-NOTES, lib/formdata.c, lib/formdata.h,
- lib/http.c, lib/http_chunks.c, lib/http_digest.c, lib/sendf.c,
- lib/transfer.c, lib/url.c: - David McCreedy provided libcurl
- changes for doing HTTP communication on non-ASCII platforms. It
- does add some complexity, most notably with more #ifdefs, but I
- want to see this supported added and I can't see how we can add
- it without the extra stuff added.
-
-2007-01-14 00:33 bagder
-
- * CHANGES, RELEASE-NOTES: 4GB download and cookielist "ALL" fixes
-
-2007-01-14 00:33 bagder
-
- * lib/transfer.c: fixed bad variable use when getting the size
- which we should read when attempting not to read data that might
- belong to the next response (if pipelining)
-
-2007-01-14 00:32 bagder
-
- * lib/cookie.c: make Curl_cookie_clearall() survive getting called
- with a NULL pointer
-
-2007-01-11 00:40 danf
-
- * tests/data/: Makefile.am, test284: Added test for TFTP retrieve
- of boundary case 512 byte file.
-
-2007-01-10 22:21 danf
-
- * lib/ssluse.c: Display crypto engine name correctly in debug
- message.
-
-2007-01-10 04:32 danf
-
- * tests/data/: Makefile.am, test283: Added test of TFTP server
- error reporting.
-
-2007-01-09 19:58 bagder
-
- * docs/libcurl/curl_slist_append.3: corrected example
-
-2007-01-08 12:24 linus
-
- * include/curl/curl.h, lib/ftp.c, lib/sslgen.c, lib/strerror.c:
- Correct error code for CCC/SSL shutdown failure
-
-2007-01-08 11:03 linus
-
- * lib/ssluse.c: Removed unused variable in Curl_ossl_shutdown()
-
-2007-01-08 10:32 bagder
-
- * docs/INSTALL: no suprise really, but it works fine on SH4 as
- well...
-
-2007-01-06 11:49 linus
-
- * lib/sslgen.c: Fix compilation errors when building without SSL
-
-2007-01-06 00:11 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ftp.c,
- lib/gtls.c, lib/gtls.h, lib/sslgen.c, lib/sslgen.h, lib/ssluse.c,
- lib/ssluse.h, lib/strerror.c, lib/url.c, lib/urldata.h,
- src/main.c: - Linus Nielsen Feltzing introduced the --ftp-ssl-ccc
- command line option to curl that uses the new
- CURLOPT_FTP_SSL_CCC option in libcurl. If enabled, it will make
- libcurl shutdown SSL/TLS after the authentication is done on a
- FTP-SSL operation.
-
-2007-01-05 16:56 giva
-
- * lib/select.c: Include <dos.h> for delay() on MSDOS.
-
-2007-01-05 00:04 bagder
-
- * tests/server/getpart.c: prevent compiler warning since we use
- base64.h from libcurl which now has function(s) using
- SessionHandle pointers
-
-2007-01-04 00:13 bagder
-
- * TODO-RELEASE: one issue less before release
-
-2007-01-04 00:04 bagder
-
- * CHANGES, RELEASE-NOTES, lib/base64.c, lib/base64.h, lib/http.c,
- lib/http_digest.c, lib/http_negotiate.c, lib/http_ntlm.c,
- lib/krb4.c, lib/ldap.c: - David McCreedy made changes to allow
- base64 encoding/decoding to work on non-ASCII platforms.
-
-2007-01-03 23:24 bagder
-
- * COPYING: new year
-
-2007-01-03 23:18 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sendf.c: - Matt Witherspoon fixed the
- flaw which made libcurl 7.16.0 always store downloaded data in
- two buffers, just to be able to deal with a special HTTP
- pipelining case. That is now only activated for pipelined
- transfers. In Matt's case, it showed as a considerable
- performance difference,
-
-2007-01-02 23:34 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/select.c: - Victor
- Snezhko helped us fix bug report #1603712
- (http://curl.haxx.se/bug/view.cgi?id=1603712) (known bug #36)
- --limit-rate (CURLOPT_MAX_SEND_SPEED_LARGE and
- CURLOPT_MAX_RECV_SPEED_LARGE) are broken on Windows (since
- 7.16.0, but that's when they were introduced as previous to
- that the limiting logic was made in the application only and not
- in the library). It was actually also broken on select()-based
- systems (as apposed to poll()) but we haven't had any such
- reports. We now use select(), Sleep() or delay() properly to
- sleep a while without waiting for anything input or output when
- the rate limiting is activated with the easy interface.
-
-2007-01-02 13:14 bagder
-
- * CHANGES, libcurl.pc.in: - Modified libcurl.pc.in to use
- Libs.private for the libs libcurl itself needs to get built
- static. It has been mentioned before and was again brought to
- our attention by Nathanael Nerode who filed debian bug report
- #405226
- (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=405226).
-
-2006-12-31 14:53 bagder
-
- * docs/libcurl/curl_multi_info_read.3: curl_easy_cleanup kills this
- memory too
-
-2006-12-29 12:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c: curl_easy_duphandle() sets
- the magic number in the new handle
-
-2006-12-25 23:35 bagder
-
- * RELEASE-NOTES: mention the no_proxy work
-
-2006-12-22 16:04 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/ftp.c, lib/url.c,
- lib/urldata.h: - Robert Foreman provided a prime example snippet
- showing how libcurl would get confused and not acknowledge the
- 'no_proxy' variable properly once it had used the proxy and you
- re-used the same easy handle. I made sure the proxy name is
- properly stored in the connect struct rather than the
- sessionhandle/easy struct.
-
-2006-12-22 14:44 bagder
-
- * lib/getinfo.c: Curl_getinfo() now checks for a NULL SessionHandle
- pointer
-
-2006-12-22 14:30 bagder
-
- * CHANGES, lib/connect.c: - David McCreedy fixed a bad call to
- getsockname() that wrongly used a size_t variable to point to
- when it should be a socklen_t.
-
-2006-12-22 08:30 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: When setting a proxy with
- environment variables and (for example) running 'curl [URL]' with
- a URL without a protocol prefix, curl would not send a correct
- request as it failed to add the protocol prefix.
-
-2006-12-21 16:47 bagder
-
- * lib/ssh.c: minor indent fix
-
-2006-12-21 11:18 bagder
-
- * lib/: ftp.c, transfer.c: removed unused variables
-
-2006-12-21 11:15 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/http.c, lib/transfer.c,
- lib/url.c, lib/urldata.h: Robson Braga Araujo reported bug
- #1618359 (http://curl.haxx.se/bug/view.cgi?id=1618359) and
- subsequently provided a patch for it: when downloading 2 zero
- byte files in a row, curl 7.16.0 enters an infinite loop, while
- curl 7.16.1-20061218 does one additional unnecessary request.
-
- Fix: During the "Major overhaul introducing http pipelining
- support and shared connection cache within the multi handle."
- change, headerbytecount was moved to live in the
- Curl_transfer_keeper structure. But that structure is reset in
- the Transfer method, losing the information that we had about the
- header size. This patch moves it back to the connectdata struct.
-
-2006-12-21 10:36 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_CAPATH is OpenSSL-only
-
-2006-12-19 15:28 bagder
-
- * docs/TODO: * removed the SSH-based protocols as they are now
- being implemented * added mentioning of doing the stunnel
- equivalent ourselves for the test suite * spell-check
-
-2006-12-19 10:09 bagder
-
- * docs/KNOWN_BUGS: 37. Having more than one connection to the same
- host when doing NTLM authentication (with performs multiple
- "passes" and authenticates a connection rather than a HTTP
- request), and particularly when using the multi interface,
- there's a risk that libcurl will re-use a wrong connection when
- doing the different passes in the NTLM negotiation and thus fail
- to negotiate (in seemingly mysterious ways).
-
- 36. --limit-rate (CURLOPT_MAX_SEND_SPEED_LARGE and
- CURLOPT_MAX_RECV_SPEED_LARGE) are broken on Windows (since
- 7.16.0, but that's when they were introduced as previous to
- that the limiting logic was made in the application only and
- not in the library). This problem is easily repeated and it
- takes a Windows person to fire up his/hers debugger in order to
- fix. http://curl.haxx.se/bug/view.cgi?id=1603712
-
-2006-12-16 23:28 bagder
-
- * lib/setup_once.h: recv() doesn't take MSG_NOSIGNAL in its forth
- argument so let's not pass it. Brendan Jurd pointed out.
-
-2006-12-16 22:33 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: Brendan Jurd provided a fix
- that now prevents libcurl from getting a SIGPIPE during certain
- conditions when GnuTLS is used.
-
-2006-12-16 22:05 bagder
-
- * lib/sslgen.c: Brendan Jurd pointed out these typos
-
-2006-12-15 17:57 giva
-
- * src/main.c: Plug more leaks.
-
-2006-12-15 17:49 giva
-
- * lib/http.c: Fix typo.
-
-2006-12-14 19:20 bagder
-
- * docs/curl.1: minor syntax mistake
-
-2006-12-14 17:42 giva
-
- * src/main.c: Free 'config->iface' if set.
-
-2006-12-11 16:18 giva
-
- * ares/Makefile.vc6: ahost.exe needs getopt.obj.
-
-2006-12-11 10:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/url.c,
- tests/data/Makefile.am, tests/data/test538: Alexey Simak found
- out that when doing FTP with the multi interface and something
- went wrong like it got a bad response code back from the server,
- libcurl would leak memory. Added test case 538 to verify the fix.
-
- I also noted that the connection would get cached in that case,
- which doesn't make sense since it cannot be re-use when the
- authentication has failed. I fixed that issue too at the same
- time, and also that the path would be "remembered" in vain for
- cases where the connection was about to get closed.
-
-2006-12-11 10:31 bagder
-
- * lib/urldata.h: PROT_CLOSEACTION doesn't have to be its own bit
- but can just as well just include the protocol bits of such
- actions, which currently only means FTP
-
-2006-12-07 16:33 bagder
-
- * lib/transfer.c: fixed the printf formatting after I changed the
- type of 'excess'
-
-2006-12-06 11:07 bagder
-
- * docs/curl.1: 7.16.1 knows SFTP too
-
-2006-12-06 10:52 bagder
-
- * docs/curl.1: clarify --limit-rate somewhat: it might send
- away/receive chunks of date in temporarily higher speeds than
- requested, but the given limiting is considered "over time" and
- is an average
-
-2006-12-06 10:37 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/transfer.c,
- lib/urldata.h: Sebastien Willemijns reported bug #1603712
- (http://curl.haxx.se/bug/view.cgi?id=1603712) which is about
- connections getting cut off prematurely when --limit-rate is
- used. While I found no such problems in my tests nor in my
- reading of the code, I found that the --limit-rate code was
- severly flawed (since it was moved into the lib, since 7.15.5)
- when used with the easy interface and it didn't work as
- documented so I reworked it somewhat and now it works for my
- tests.
-
-2006-12-05 22:40 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sendf.c, lib/transfer.c: Stefan
- Krause pointed out a compiler warning with a picky MSCV compiler
- when passing a curl_off_t argument to the Curl_read_rewind()
- function which takes an size_t argument. Curl_read_rewind() also
- had debug code left in it and it was put in a different source
- file with no good reason when only used from one single spot.
-
-2006-12-05 22:39 bagder
-
- * lib/: url.c, urldata.h: removed the final traces of the
- closepolicy option
-
-2006-12-05 17:04 bagder
-
- * TODO-RELEASE: update after today's work
-
-2006-12-05 17:04 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3: Sh Diao
- reported that CURLOPT_CLOSEPOLICY doesn't work, and indeed, there
- is no code present in the library that receives the option. Since
- it was not possible to use, we know that no current users exist
- and thus we simply removed it from the docs and made the code
- always use the default path of the code.
-
-2006-12-05 16:36 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/multi.c, lib/url.c,
- lib/url.h: Jared Lundell filed bug report #1604956
- (http://curl.haxx.se/bug/view.cgi?id=1604956) which identified
- setting CURLOPT_MAXCONNECTS to zero caused libcurl to SIGSEGV.
- Starting now, libcurl will always internally use no less than 1
- entry in the connection cache.
-
-2006-12-05 16:24 bagder
-
- * lib/config-win32.h: better preprocessor check for recent MSVC
- versions
-
-2006-12-05 16:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: CURLOPT_FORBID_REUSE works
- again with a cleaned up order of doing things in Curl_done()
-
-2006-12-05 16:00 bagder
-
- * lib/config-win32.h: oops, fix belonging to the previous
- curl_getdate() fix since it makes MSVC use gmtime_r
-
-2006-12-05 15:57 bagder
-
- * CHANGES, RELEASE-NOTES, lib/parsedate.c: Martin Skinner brought
- back bug report #1230118 to haunt us once again.
- (http://curl.haxx.se/bug/view.cgi?id=1230118) curl_getdate() did
- not work properly for all input dates on Windows. It was mostly
- seen on some TZ time zones using DST. Luckily, Martin also
- provided a fix.
-
-2006-12-05 14:49 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Alexey Simak filed bug report
- #1600447 (http://curl.haxx.se/bug/view.cgi?id=1600447) in which
- he noted that active FTP connections don't work with the multi
- interface. The problem is here that the multi interface state
- machine has a state during which it can wait for the data
- connection to connect, but the active connection is not done in
- the same step in the sequence as the passive one is so it doesn't
- quite work for active. The active FTP code still use a blocking
- function to allow the remote server to connect.
-
- The fix (work-around is a better word) for this problem is to set
- the boolean prematurely that the data connection is completed, so
- that the "wait for connect" phase ends at once.
-
-2006-12-05 14:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/select.c: Matt Witherspoon fixed a
- problem case when the CPU load went to 100% when a HTTP upload
- was disconnected:
-
- "What appears to be happening is that my system (Linux 2.6.17 and
- 2.6.13) is setting *only* POLLHUP on poll() when the conditions
- in my previous mail occur. As you can see, select.c:Curl_select()
- does not check for POLLHUP. So basically what was happening, is
- poll() was returning immediately (with POLLHUP set), but when
- Curl_select() looked at the bits, neither POLLERR or POLLOUT was
- set. This still caused Curl_readwrite() to be called, which
- quickly returned. Then the transfer() loop kept continuing at
- full speed forever."
-
-2006-12-05 14:21 bagder
-
- * RELEASE-NOTES: curl.dsmirror.nl is another mirror
-
-2006-12-05 14:20 bagder
-
- * docs/TODO: fixed in CVS
-
-2006-12-03 10:19 bagder
-
- * configure.ac: fix the libssh2 include path somewhat when
- --with-libssh2 is used and added a warning output if no OpenSSL
- was found
-
-2006-12-01 12:54 bagder
-
- * TODO-RELEASE: CURLOPT_CLOSEPOLICY can't be set
-
-2006-12-01 08:49 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Toon Verwaest reported
- that there are servers that send the Content-Range: header in a
- third, not suppported by libcurl, format and we agreed that we
- could make the parser more forgiving to accept all the three
- found variations.
-
-2006-11-30 10:21 bagder
-
- * TODO-RELEASE: the extra copy of downloads should be fixed too
-
-2006-11-29 22:47 bagder
-
- * TODO-RELEASE: two more
-
-2006-11-29 15:39 bagder
-
- * TODO-RELEASE: Is CURLOPT_FORBID_REUSE broken?
-
-2006-11-27 23:07 bagder
-
- * TODO-RELEASE: adding notes of what to work on and fix before next
- release
-
-2006-11-27 14:38 bagder
-
- * lib/transfer.c: no need to access it with conn->data since data
- is already a local variable holding the conn->data value
-
-2006-11-25 14:32 bagder
-
- * tests/data/Makefile.am: added the new test 282
-
-2006-11-25 14:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c, tests/data/test11,
- tests/data/test150, tests/data/test153, tests/data/test155,
- tests/data/test159, tests/data/test163, tests/data/test166,
- tests/data/test167, tests/data/test168, tests/data/test173,
- tests/data/test174, tests/data/test175, tests/data/test176,
- tests/data/test186, tests/data/test187, tests/data/test233,
- tests/data/test234, tests/data/test239, tests/data/test243,
- tests/data/test257, tests/data/test26, tests/data/test264,
- tests/data/test267, tests/data/test27, tests/data/test273,
- tests/data/test276, tests/data/test277, tests/data/test278,
- tests/data/test279, tests/data/test28, tests/data/test281,
- tests/data/test282, tests/data/test43, tests/data/test44,
- tests/data/test45, tests/data/test515, tests/data/test516,
- tests/data/test56, tests/data/test59, tests/data/test62,
- tests/data/test63, tests/data/test64, tests/data/test67,
- tests/data/test69, tests/data/test71, tests/data/test73,
- tests/data/test79, tests/data/test80, tests/data/test81,
- tests/data/test83, tests/data/test84, tests/data/test85,
- tests/data/test89, tests/data/test9, tests/data/test90,
- tests/data/test91, tests/data/test95, tests/server/sws.c: Venkat
- Akella found out that libcurl did not like HTTP responses that
- simply responded with a single status line and no headers nor
- body. Starting now, a HTTP response on a persistent connection
- (i.e not set to be closed after the response has been taken care
- of) must have Content-Length or chunked encoding set, or libcurl
- will simply assume that there is no body.
-
- To my horror I learned that we had no less than 57(!) test cases
- that did bad HTTP responses like this, and even the test http
- server (sws) responded badly when queried by the test system if
- it is the test system. So although the actual fix for the problem
- was tiny, going through all the newly failing test cases got
- really painful and boring.
-
-2006-11-25 10:49 bagder
-
- * lib/: ssh.c, transfer.c: James Housley fixed SCP downloading by
- setting the maxdownload.
-
-2006-11-25 02:02 yangtse
-
- * ares/Makefile.dj, ares/config-win32.h, ares/configure.ac,
- configure.ac, ares/setup_once.h, lib/config-mac.h,
- lib/config-win32.h, lib/config-win32ce.h, lib/setup_once.h,
- lib/url.c, src/config-win32.h: Make sure RETSIGTYPE is properly
- defined
-
-2006-11-24 23:14 bagder
-
- * CHANGES, RELEASE-NOTES, lib/sendf.c, lib/ssh.c, lib/ssh.h,
- lib/url.c, lib/urldata.h, lib/version.c: James Housley did lots
- of work and introduced SFTP downloads.
-
-2006-11-24 17:38 yangtse
-
- * ares/Makefile.dj, ares/Makefile.netware, ares/config-win32.h,
- lib/Makefile.netware, lib/config-amigaos.h, lib/config-mac.h,
- lib/config-riscos.h, lib/config-tpf.h, lib/config-win32.h,
- lib/config-win32ce.h, lib/config.dos, packages/vms/config-vms.h,
- src/Makefile.netware, src/config-win32.h: Define HAVE_SIGNAL_H,
- HAVE_SIG_ATOMIC_T and HAVE_SIG_ATOMIC_T_VOLATILE as appropriate
- for platforms that don't have autotools support
-
-2006-11-22 23:54 bagder
-
- * ares/: CHANGES, ares_init.c: Michael Wallner fixed this problem:
- When I set domains in the options struct, and there are
- domain/search entries in /etc/resolv.conf, the domains of the
- options struct will be overridden.
-
-2006-11-22 23:51 bagder
-
- * ares/: CHANGES, Makefile.am: Install ares_dns.h too
-
-2006-11-22 19:41 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac,
- ares/setup_once.h, lib/setup_once.h: Added a check in configure
- that verifies if <signal.h> is available, defining HAVE_SIGNAL_H
- if the header is available.
-
- Added a check in configure that tests if the sig_atomic_t type is
- available, defining HAVE_SIG_ATOMIC_T if it is available.
- Providing a suitable default in setup_once.h if not available.
-
- Added a check in configure that tests if the sig_atomic_t type is
- already defined as volatile, defining HAVE_SIG_ATOMIC_T_VOLATILE
- if it is available and already defined as volatile.
-
-2006-11-21 08:45 bagder
-
- * RELEASE-NOTES: new french mirror
-
-2006-11-20 17:58 yangtse
-
- * tests/ftpserver.pl: Revert ftpserver.pl back to revision 1.74
- Adding change done in 1.76 This is done to back out changes done
- in revisions 1.77 and 1.75
-
-2006-11-20 17:58 yangtse
-
- * tests/runtests.pl: Revert runtests.pl back to revision 1.212 This
- is done to back out changes done from revisions 1.213 to 1.217
-
-2006-11-20 17:57 yangtse
-
- * tests/ftp.pm: Revert ftp.pm back to revision 1.5 Adding copyright
- notice. This is done to back out changes done from revisions 1.6
- to 1.10
-
-2006-11-20 11:35 yangtse
-
- * tests/: ftp.pm, ftpserver.pl, runtests.pl: Add some message
- logging
-
-2006-11-20 07:22 yangtse
-
- * tests/runtests.pl: stop slaves before stopping servers
-
-2006-11-20 04:25 yangtse
-
- * tests/ftp.pm: Revert to KILL test servers until all test servers
- have proper TERM and INT signal handlers implemented.
-
-2006-11-19 23:48 bagder
-
- * tests/ftpserver.pl: log the sleep, like when done in test 190
-
-2006-11-19 22:55 bagder
-
- * docs/examples/synctime.c: Frank Teo provided an updated, mostly
- docs changed
-
-2006-11-19 04:47 yangtse
-
- * tests/runtests.pl: Avoid passing child pid and test server pid,
- using the running servers hash, and adjust message arguments
- accordingly.
-
-2006-11-19 04:47 yangtse
-
- * tests/ftp.pm: Comment out the use of the "warnings" module now
- that ftp.pm seems to be clear of warnings. Uncomment it if this
- module is further modified.
-
- The "warnings" module requires perl 5.006 or later. Previous perl
- versions don't have it and die on missing modules.
-
-2006-11-18 15:46 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: new ruby binding, new tclcurl
- release
-
-2006-11-18 05:07 yangtse
-
- * tests/runtests.pl: Avoid keeping dupe pids When forked pid and
- test server pid is the same one.
-
-2006-11-18 05:05 yangtse
-
- * tests/ftp.pm: Fix warning "Use of uninitialized value in ...".
- If the list has only one item avoid sort subroutine.
-
-2006-11-17 17:44 yangtse
-
- * tests/: ftp.pm, ftpserver.pl, runtests.pl: The hash of running
- servers is now a hash of hashes which for each running server
- holds not only its two main pids, but also the pidfile of the
- test server and the 'slavepidfiles' for ftp* servers. This allows
- a better control when stopping servers.
-
- Now from runtests.pl when test servers are stopped they are
- signalled in sequence TERM, INT and KILL allowing time in between
- for them to die. This will give us a chance of gracefully
- stopping test servers, which we didn't have when we were killing
- them in first instance.
-
-2006-11-15 06:35 giva
-
- * lib/ssh.c: Call libssh2_session_free() to release memory
- allocated during libssh2 startup.
-
-2006-11-14 21:26 giva
-
- * lib/ssh.c: Free 'scp->path' in case of libssh2 setup failure.
-
-2006-11-13 18:29 bagder
-
- * CHANGES, RELEASE-NOTES: Ron in bug #1595348
- (http://curl.haxx.se/bug/view.cgi?id=1595348) pointed out a stack
- overwrite (and the corresponding fix) on 64bit Windows when
- dealing with HTTP chunked encoding.
-
-2006-11-13 18:26 bagder
-
- * lib/config-win32.h: bug #1595348 by Ron pointed out this flaw and
- fix
-
-2006-11-13 14:48 bagder
-
- * tests/server/sws.c: Tor Arntsen spotted this mistake
-
-2006-11-11 23:23 bagder
-
- * ares/ares_version.h: we did 1.3.2 and are now on the 1.3.3 track!
-
-2006-11-11 23:05 bagder
-
- * lib/ssluse.h: fix header to match actual proto
-
-2006-11-11 22:34 bagder
-
- * lib/: gtls.c, gtls.h, krb4.h, security.c, sendf.c, sslgen.c,
- sslgen.h, ssluse.c: cleaned up Curl_write() and the sub functions
- it uses for various protocols. They all now return ssize_t to
- Curl_write().
-
- Unfortunately, Curl_read() is in a sorrier state but it too would
- benefit from a similar cleanup.
-
-2006-11-09 22:58 bagder
-
- * CHANGES, RELEASE-NOTES, lib/libcurl.framework.make: Nir Soffer
- updated libcurl.framework.make: fix symlinks, should link to
- Versions, not to ./Versions and indentation improvments
-
-2006-11-09 22:54 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Dmitriy Sergeyev found a
- SIGSEGV with his test04.c example posted on 7 Nov 2006. It turned
- out we wrongly assumed that the connection cache was present when
- tearing down a connection.
-
-2006-11-09 22:36 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c: Ciprian Badescu found a
- SIGSEGV when doing multiple TFTP transfers using the multi
- interface, but I could also repeat it doing multiple sequential
- ones with the easy interface. Using Ciprian's test case, I could
- fix it.
-
-2006-11-09 14:20 yangtse
-
- * tests/runtests.pl: Remove showing stderr log files
- unconditionally for tests 518 and 537.
-
- Add failure checking for servers when fork()ed.
-
- Use same code path in 'stopserver' when called with a single or
- multiple pids.
-
-2006-11-08 22:49 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Bradford Bruce reported
- that when setting CURLOPT_DEBUGFUNCTION without CURLOPT_VERBOSE
- set to non-zero, you still got a few debug messages from the SSL
- handshake. This is now stopped.
-
-2006-11-08 09:49 bagder
-
- * docs/examples/sepheaders.c: ok stop using old and deprecated
- options
-
-2006-11-07 16:21 bagder
-
- * RELEASE-NOTES: add missing names
-
-2006-11-07 15:07 bagder
-
- * CHANGES, lib/url.c: Olaf fixed a leftover problem with the
- CONNECT fix of his that would leave a wrong error message in the
- error message buffer.
-
-2006-11-07 14:29 giva
-
- * ares/: Makefile.dj, ares_private.h: Moved select_s() to
- Makefile.dj since select() is used in applications.
-
-2006-11-07 14:20 giva
-
- * src/curl.rc: Update copyright year.
-
-2006-11-06 19:28 yangtse
-
- * lib/sendf.c: add TODO note
-
-2006-11-06 19:27 yangtse
-
- * lib/url.c: compiler warning fix
-
-2006-11-06 19:26 yangtse
-
- * lib/ssh.c: remove redundant check for Win32
-
-2006-11-06 14:56 yangtse
-
- * ares/: CHANGES, ares_cancel.c, ares_destroy.c, ares_init.c: avoid
- a couple of potential zero size memory allocations
-
-2006-11-06 00:11 bagder
-
- * ares/CHANGES: mention the areslib.dsp fix
-
-2006-11-06 00:11 bagder
-
- * ares/AUTHORS: add the recent crowd of contributors
-
-2006-11-06 00:08 bagder
-
- * ares/vc/areslib/areslib.dsp: Andreas Rieke fixed back the correct
- line endings!
-
-2006-11-05 13:42 yangtse
-
- * lib/memdebug.c: Prevent multiple initialization of memdebug
- configuration variables.
-
- This was possible on debug c-ares enabled builds when both
- CURL_MEMDEBUG and CARES_MEMDEBUG environment variables were set.
- Leading to a file handle leak even when both variables had the
- same value, and wierd test suite results when different.
-
-2006-11-03 16:52 giva
-
- * lib/ssh.c: Ifdef around S_IRGRP and S_IROTH (meaningless on
- Win32).
-
-2006-11-03 15:13 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: add a couple more of
- debugging messages
-
-2006-11-03 14:45 bagder
-
- * docs/curl.1: SCP support added
-
-2006-11-03 13:43 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/http.c, lib/url.c,
- lib/urldata.h: Olaf Stueben provided a patch that I edited
- slightly. It fixes the notorious KNOWN_BUGS #25, which happens
- when a proxy closes the connection when libcurl has sent CONNECT,
- as part of an authentication negotiation. Starting now, libcurl
- will re-connect accordingly and continue the authentication as it
- should.
-
-2006-11-03 13:22 bagder
-
- * docs/TODO: initial SCP support is now added
-
-2006-11-03 11:56 bagder
-
- * lib/README.ares: Update the information about what c-ares version
- that's required. 1.3.1 had a fatal bug so we must require 1.3.2
- to get flawless functionality with c-ares.
-
-2006-11-03 11:47 bagder
-
- * ares/CHANGES: stand clear for release 1.3.2
-
-2006-11-03 11:41 bagder
-
- * ares/vc/areslib/areslib.dsp: Andreas Rieke added missing file and
- changed line endings
-
-2006-11-03 11:05 yangtse
-
- * tests/libtest/: lib518.c, lib537.c: reduce max size of
- dinamically allocated arrays to minimize the nasty behaviour some
- versions of IRIX exhibit of committing suicide on big mallocs
- instead of just returning a friendly null pointer
-
-2006-11-03 04:05 yangtse
-
- * configure.ac: fix missing '$' for var OPT_LIBSSH2
-
-2006-11-03 03:36 yangtse
-
- * src/curl.rc: update copyright year
-
-2006-11-03 02:57 yangtse
-
- * tests/libtest/lib537.c: fix comments and renumber rlimit return
- codes fix closing of fd's when limit is reached
-
-2006-11-03 02:56 yangtse
-
- * tests/libtest/lib518.c: fix comments and renumber rlimit return
- codes
-
-2006-11-02 23:11 bagder
-
- * RELEASE-NOTES: update the counter
-
-2006-11-02 23:10 bagder
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3: mention the new options
-
-2006-11-02 22:56 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac,
- docs/libcurl/curl_version_info.3, include/curl/curl.h,
- lib/Makefile.inc, lib/easy.c, lib/sendf.c, lib/ssh.c, lib/ssh.h,
- lib/strerror.c, lib/url.c, lib/urldata.h, lib/version.c: James
- Housley brought support for SCP transfers
-
-2006-11-02 21:56 yangtse
-
- * tests/libtest/lib537.c: remove leftover comment
-
-2006-11-02 21:50 yangtse
-
- * tests/libtest/: Makefile.am, lib518.c, lib537.c: update and split
- test cases 518 and 537 into its own source code file
-
-2006-11-02 16:47 yangtse
-
- * tests/libtest/lib518.c: code cleanup
-
-2006-11-02 04:45 yangtse
-
- * tests/libtest/lib518.c: use our internal string functions and
- replace sprintf with snprintf
-
-2006-11-02 02:21 yangtse
-
- * tests/data/test537: Update protocol verification end of lines
-
-2006-11-02 01:34 yangtse
-
- * tests/libtest/lib518.c: check symbol HAVE_UNISTD_H instead of
- UNISTD_H to include unistd.h
-
-2006-11-02 01:33 yangtse
-
- * lib/http_ntlm.c: prototype for gethostname is in unistd.h
-
-2006-11-01 19:33 yangtse
-
- * tests/: runtests.pl, data/Makefile.am, data/test537,
- libtest/Makefile.am, libtest/lib518.c: test 518 is all about
- testing libcurl functionality when more than FD_SETSIZE file
- descriptors are open. This means that if for any reason we are
- not able to open more than FD_SETSIZE file descriptors then test
- 518 should not be run.
-
- test 537 is all about testing libcurl functionality when the
- system has nearly exhausted the number of free file descriptors.
- Test 537 will try to run with very few free file descriptors.
-
-2006-10-31 21:45 giva
-
- * ares/config-win32.h: Updated dependency output.
-
-2006-10-31 21:44 giva
-
- * ares/Makefile.dj: Updated dependencies to not include config.h.
-
-2006-10-31 19:01 giva
-
- * ares/config-win32.h: Removed unneeded stuff.
-
-2006-10-31 18:54 giva
-
- * ares/config-win32.h: Added Watt-32 section to fix things for
- Watt32+Win32 targets.
-
-2006-10-31 18:51 giva
-
- * ares/: adig.c, ahost.c: Don't include "nameser.h" for Watt32. Use
- the normal BSD-socket headers.
-
-2006-10-31 18:25 giva
-
- * ares/ares_private.h: Added definition of select() for Watt32.
-
-2006-10-31 18:24 giva
-
- * ares/Makefile.dj: Rewritten to use ../packages/DOS/common.dj.
-
-2006-10-31 17:25 giva
-
- * src/curl.rc: Change 'FILETYPE' to ' VFT_APP'.
-
-2006-10-31 02:30 yangtse
-
- * tests/runtests.pl: Show stderr log file for test 518
- unconditionally.
-
- In this way we'll be able to sort out problems that might arise
- in the prechek phase of the 518 test.
-
- Once that 518 has been verified this change will be undone.
-
-2006-10-31 02:24 yangtse
-
- * tests/libtest/lib518.c: Sync comment with code and add three
- messages more
-
-2006-10-30 18:24 yangtse
-
- * tests/libtest/lib518.c: Address some pitfalls in the rlimit()
- function check that were preventing execution of this test on
- many platforms
-
-2006-10-30 17:26 giva
-
- * include/curl/mprintf.h: Allow 'curl_*printf()' to be used in C++
- programs.
-
-2006-10-30 10:03 bagder
-
- * docs/THANKS: add contributors from the 7.16.0 release
-
-2006-10-30 09:52 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.16.1
-
-2006-10-30 00:03 bagder
-
- * CHANGES, RELEASE-NOTES: 7.16.0 material
-
-2006-10-30 00:00 bagder
-
- * lib/README.memoryleak: corrected how tests/memanalyze.pl is used
-
-2006-10-29 22:19 yangtse
-
- * docs/examples/curlx.c, tests/libtest/lib509.c: Compiler warning
- fix
-
-2006-10-29 15:58 yangtse
-
- * lib/: ldap.c, url.c: Make more human readable and maintainable
- previous compiler warning fix since it was Ok and actually avoids
- the targeted compiler warning.
-
-2006-10-29 10:18 bagder
-
- * lib/README.multi_socket: updated to current status
-
-2006-10-29 10:11 bagder
-
- * lib/README.pipelining: updated to reflect reality
-
-2006-10-27 23:07 bagder
-
- * tests/runtests.pl: a small unification of the error text on
- failed server startups
-
-2006-10-27 17:37 yangtse
-
- * ares/setup_once.h: Sync with lib/setup_once.h
-
-2006-10-27 17:32 yangtse
-
- * lib/: ldap.c, url.c: Compiler warning fix.
-
- Assigning the const value zero to a pointer to function results
- in a null pointer value assignment to the function pointer.
-
- Assignment of any nonzero value is what should result in a
- implementation compiler dependent result.
-
- Since what we want to do here is the first case, this should not
- trigger compiler warnings related with conversions from 'pointer
- to data' to 'pointer to function'.
-
- Our autobuild test suite will judge.
-
-2006-10-27 16:13 giva
-
- * lib/config.dos: Fixed 'x_TYPE_ARG2' to match prototypes of recv()
- and send().
-
-2006-10-27 16:07 giva
-
- * lib/: config.dos, setup_once.h: Get rid of the special
- sread()+swrite() for MSDOS. Use recv() and send(). Added needed
- HAVE_x defines.
-
-2006-10-27 15:57 giva
-
- * lib/config.dos: Added 'RECV_TYPE_ARGx' needed in getinfo.c.
-
-2006-10-27 05:47 yangtse
-
- * buildconf, configure.ac, lib/curlx.h, lib/easyif.h,
- lib/hostip4.c, lib/ldap.c, lib/memdebug.h, lib/progress.c,
- lib/sendf.h, lib/sslgen.h, lib/strequal.c, lib/timeval.h,
- lib/transfer.h, tests/server/getpart.c, tests/server/sockfilt.c,
- tests/server/util.h: Update copyright year, since the file has
- been modified
-
-2006-10-27 04:18 yangtse
-
- * lib/socks.c: Compiler warning fix
-
-2006-10-27 03:58 yangtse
-
- * tests/libtest/lib525.c: 30 seconds isn't long enough for this
- test on a loaded server.
-
-2006-10-27 03:04 yangtse
-
- * lib/: ldap.c, url.c: Do an explicit typecast of data pointers to
- function pointers to avoid picky compiler warnings, since this is
- what we want!
-
-2006-10-26 16:30 giva
-
- * tests/libtest/lib525.c: Use proper 'stat' structure for fstat().
- I.e. 'struct _stati64' and '_fstati64()' on Win32.
-
-2006-10-26 15:55 yangtse
-
- * tests/libtest/lib518.c: Improved rlimit logic: - Take in account
- RLIM_INFINITY. - Verify that soft limit is actually changed when
- doing so. - Show errno in case getrlimit or setrlimit fails. -
- Keep file descriptors open only while runing this test.
-
-2006-10-26 13:15 yangtse
-
- * lib/url.c: Fix Curl_open() not reporting failure when allocation
- of the buffer used to store headers in the SessionHandle failed.
-
-2006-10-26 11:50 yangtse
-
- * tests/libtest/lib526.c: 30 seconds isn't long enough for this
- test on a loaded server.
-
-2006-10-25 23:07 bagder
-
- * docs/BINDINGS: a Smalltalk binding
-
-2006-10-25 22:40 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, lib/transfer.c,
- tests/data/Makefile.am, tests/data/test281: Fixed
- CURLOPT_FAILONERROR to return CURLE_HTTP_RETURNED_ERROR even for
- the case when 401 or 407 are returned, *IF* no auth credentials
- have been given. The CURLOPT_FAILONERROR option is not possible
- to make fool-proof for 401 and 407 cases when auth credentials is
- given, but we've now covered this somewhat more.
-
- You might get some amounts of headers transferred before this
- situation is detected, like for when a "100-continue" is received
- as a response to a POST/PUT and a 401 or 407 is received
- immediately afterwards.
-
- Added test 281 to verify this change.
-
-2006-10-25 16:16 giva
-
- * ares/ares_getnameinfo.c: Fixed "'x' might be used uninitialized
- in this function" warning. Removed trailing whitespace.
-
-2006-10-25 16:13 giva
-
- * ares/adig.c: Added '-d' option for Watt32 targets. Added cvs id.
-
-2006-10-25 12:25 yangtse
-
- * ares/ares_process.c: Compiler warning fix
-
-2006-10-25 11:20 yangtse
-
- * tests/libtest/: first.c, lib500.c, lib501.c, lib502.c, lib503.c,
- lib504.c, lib506.c, lib507.c, lib508.c, lib509.c, lib510.c,
- lib511.c, lib512.c, lib513.c, lib514.c, lib515.c, lib516.c,
- lib517.c, lib518.c, lib519.c, lib520.c, lib521.c, lib523.c,
- lib524.c, test.h: Add project notice and file Id
-
-2006-10-25 10:52 yangtse
-
- * tests/libtest/: lib504.c, lib507.c: Compiler warning fix
-
-2006-10-25 09:19 bagder
-
- * lib/: if2ip.c, llist.c: updated copyright year
-
-2006-10-25 07:59 yangtse
-
- * tests/libtest/: lib500.c, lib501.c, lib502.c, lib503.c, lib504.c,
- lib505.c, lib506.c, lib507.c, lib508.c, lib509.c, lib510.c,
- lib511.c, lib512.c, lib513.c, lib514.c, lib515.c, lib516.c,
- lib518.c, lib519.c, lib520.c, lib521.c, lib523.c, lib524.c,
- lib525.c, lib526.c, lib530.c, lib533.c, lib536.c, test.h: Use
- curl_global_init() and curl_global_cleanup(). Improve cleanup in
- case of initialization failure.
-
-2006-10-24 23:14 bagder
-
- * lib/url.c: other pipelining fixes by Ravi Pratap, that now makes
- pipelines get used better
-
-2006-10-24 17:51 yangtse
-
- * tests/libtest/lib503.c: Abort test if it seems that it would have
- run forever. This is just to prevent test hanging and actually is
- an indication that there's a condition that is not being properly
- handled at some point in the library.
-
- Remove a pair of braces and adjust indentation appropriately.
-
-2006-10-23 22:41 bagder
-
- * lib/url.c: the check in ConnectionExists() for not re-using a
- non-resolved connection now applies for asynch name resolves in
- general and not only ares
-
-2006-10-23 22:34 bagder
-
- * CHANGES, lib/multi.c, lib/sendf.c, lib/transfer.c, lib/url.c,
- lib/urldata.h: Ravi Pratap provided a major update with
- pipelining fixes. We also no longer re-use connections (for
- pipelining) before the name resolving is done.
-
-2006-10-23 21:16 yangtse
-
- * tests/server/sws.c: Avoid trying to compare more than strlen
- bytes.
-
-2006-10-23 21:15 danf
-
- * tests/libtest/lib504.c: 30 seconds isn't long enough for this
- test on a loaded server.
-
-2006-10-23 21:14 yangtse
-
- * tests/server/: getpart.c, sockfilt.c, sws.c, tftpd.c: Replace
- is*() macros with our own IS*() ones.
-
-2006-10-23 00:18 bagder
-
- * lib/libcurl.framework.make: Nir Soffer fixed a cp line and got
- rid of an rm
-
-2006-10-22 09:43 bagder
-
- * lib/libcurl.framework.make: until we learn how to use
- Makefile.inc from here, I've added socks.o in here as well
-
-2006-10-21 19:08 yangtse
-
- * packages/EPM/curl.list.in: Provide 'datarootdir' parameter to
- shutup configuration warning, 'packages/EPM/curl.list.in seems to
- ignore the --datarootdir setting'
-
-2006-10-21 18:25 yangtse
-
- * lib/Makefile.vc6: Fix misplaced runtime library specification for
- 'release-dll' target
-
-2006-10-21 15:00 bagder
-
- * tests/libtest/Makefile.am: rely on the global LDADD instead of
- having specific ones for every program
-
-2006-10-21 14:49 bagder
-
- * RELEASE-NOTES: Nir Soffer for his Makefile.am fix
-
-2006-10-21 14:36 yangtse
-
- * lib/telnet.c: Fix copy-paste error
-
-2006-10-21 14:35 yangtse
-
- * lib/sendf.c: Compiler warning fix
-
-2006-10-21 13:40 bagder
-
- * CHANGES, tests/libtest/Makefile.am: Nir Soffer made the
- tests/libtest/Makefile.am use a proper variable for all the
- single test applications' link and dependences, so that you
- easier can override those from the command line when using make.
-
-2006-10-21 13:32 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/libcurl-errors.3,
- include/curl/curl.h, lib/gtls.c, lib/ssluse.c, lib/strerror.c,
- tests/data/test305: Armel Asselin separated CA cert verification
- problems from problems with reading the (local) CA cert file to
- let users easier pinpoint the actual problem.
- CURLE_SSL_CACERT_BADFILE (77) is the new libcurl error code.
-
-2006-10-21 12:54 yangtse
-
- * tests/libtest/lib536.c: Compiler warning fix
-
-2006-10-20 23:26 bagder
-
- * docs/examples/debug.c: made the arrow for 'Send SSL data' point
- in the right direction!
-
-2006-10-20 19:54 yangtse
-
- * lib/transfer.c: Compiler warning fix
-
-2006-10-20 19:16 yangtse
-
- * src/config-win32.h: Since now src/setup.h includes setup_once.h,
- src/config-win32.h needs the definitions for the return type and
- arguments types of functions recv() and send().
-
-2006-10-20 17:45 yangtse
-
- * tests/libtest/: lib504.c, lib507.c, lib509.c, lib525.c, lib526.c,
- lib530.c, lib533.c, lib536.c: Oops! Actually set the limit to 30
- seconds.
-
-2006-10-20 17:39 yangtse
-
- * tests/libtest/: lib504.c, lib507.c, lib509.c, lib525.c, lib526.c,
- lib530.c, lib533.c, lib536.c: Decrease the posibility of aborting
- a test which actually is not stale by replacing loop counters
- with timeouts. In this way the main loop of the test will be
- allowed to run up to 30 seconds on any platform before aborting
- it.
-
-2006-10-20 14:25 bagder
-
- * lib/: url.c, urldata.h: When a resolve is made on a pipelined
- connection we need to detect it properly (when the resoling isn't
- completede yet) and not confuse it with a simple connection
- re-use (non-pipelined).
-
-2006-10-20 01:35 yangtse
-
- * tests/libtest/lib530.c: Set loop2 counter limit to 60 on this
- test to avoid a false positive.
-
-2006-10-20 00:49 yangtse
-
- * tests/libtest/lib536.c: Replace tabs with spaces and Compiler
- warning fix.
-
-2006-10-20 00:48 yangtse
-
- * tests/libtest/lib504.c: Compiler warning fix
-
-2006-10-19 23:12 yangtse
-
- * tests/libtest/: lib504.c, lib507.c, lib509.c, lib525.c, lib526.c,
- lib530.c, lib533.c: When aborting, show loop counter values when
- more than one counter exists.
-
-2006-10-19 19:29 yangtse
-
- * tests/libtest/: lib504.c, lib507.c, lib509.c, lib525.c, lib526.c,
- lib530.c, lib533.c, lib536.c: Abort test if it seems that it
- would have run forever. This is just to prevent test hanging and
- actually is an indication that there's a condition that is not
- being properly handled at some point in the library.
-
- Loop counter limits might need to be further increased on false
- positives.
-
-2006-10-19 16:28 bagder
-
- * src/main.c: Here's an effort to avoid saying 'data not shown' in
- the debug parts when the data is actually shown on screen. Like
- when you do 'curl -v host' with data and debug info sent to the
- same terminal.
-
-2006-10-19 04:30 yangtse
-
- * lib/url.c: Builds using synchronous name resolver dislike marking
- the connection as async.
-
-2006-10-18 23:25 yangtse
-
- * ares/setup_once.h: Sync with lib/setup_once.h
-
-2006-10-18 23:05 yangtse
-
- * ares/adig.c, ares/ahost.c, ares/ares_process.c, ares/setup.h,
- lib/connect.c, lib/easy.c, lib/inet_ntop.c, lib/inet_pton.c,
- lib/select.c, lib/sendf.c, lib/strerror.c, lib/telnet.c,
- tests/libtest/first.c, tests/server/sockfilt.c,
- tests/server/util.c, tests/server/util.h: Check for USE_WINSOCK
- instead of WIN32 where the check was done to verify winsock API
- availability.
-
-2006-10-18 17:57 yangtse
-
- * ares/setup.h, lib/setup.h, src/setup.h: Introduce symbol
- USE_WINSOCK which will be defined when using winsock or winsock2
- API.
-
-2006-10-18 17:11 bagder
-
- * lib/multi.c: the expire timer is a bit too annoying to see all
- the time ;-)
-
-2006-10-18 17:10 bagder
-
- * lib/url.c: When a connection is re-used, it can be flagged for
- re-use before the name resolving is completed so we must make
- sure to survive it and mark the connection as async (ie not yet
- connected completely).
-
-2006-10-18 16:47 bagder
-
- * lib/file.c: use the return code from lseek() to detect problems
- and bail out if so
-
-2006-10-18 15:50 giva
-
- * lib/setup_once.h: Added ISPRINT() required for src/main.c.
-
-2006-10-18 14:59 bagder
-
- * ares/setup_once.h, lib/setup_once.h: Tor's spell fixes
-
-2006-10-18 13:13 bagder
-
- * CHANGES, RELEASE-NOTES: changes done the last few days
-
-2006-10-18 13:13 bagder
-
- * lib/url.c: cut out matching host names starting with telnet or
- ftps, since they hardly ever actually are used
-
-2006-10-18 09:53 bagder
-
- * docs/KNOWN_BUGS: the "work in progress" for #25 was ditched a
- long time ago
-
-2006-10-18 05:42 yangtse
-
- * ares/: adig.c, ares__get_hostent.c, ares_init.c, ares_search.c,
- inet_net_pton.c: Replace is*() macros with our own IS*() ones.
- Get rid of non ANSI/ISO isascii().
-
-2006-10-18 05:41 yangtse
-
- * ares/setup_once.h, lib/setup.h, lib/setup_once.h, src/setup.h:
- Move definition of IS*() macros to setup_once.h
-
-2006-10-17 23:45 danf
-
- * lib/url.c: Fixed compile error in HAVE_SIGACTION case.
-
-2006-10-17 23:32 bagder
-
- * lib/base64.c, lib/escape.c, lib/ftp.c, lib/http.c,
- lib/http_chunks.c, lib/http_digest.c, lib/http_negotiate.c,
- lib/http_ntlm.c, lib/mprintf.c, lib/parsedate.c, lib/setup.h,
- lib/strtoofft.c, lib/transfer.c, lib/url.c, src/main.c,
- src/setup.h, src/urlglob.c: Avoid typecasting a signed char to an
- int when using is*() functions, as that could very well cause a
- negate number get passed in and thus cause reading outside of the
- array usually used for this purpose.
-
- We avoid this by using the uppercase macro versions introduced
- just now that does some extra crazy typecasts to avoid byte codes
- > 127 to cause negative int values.
-
-2006-10-17 22:34 bagder
-
- * lib/hostthre.c: clear the struct size not the pointer size,
- pointed out in bug report #1579171
-
-2006-10-17 13:46 bagder
-
- * tests/testcurl.pl: buildconf already runs ares/buildconf by
- itself if there is an ares subdir present, so there's no use to
- doing it again in this script!
-
-2006-10-17 12:04 yangtse
-
- * lib/: ftp.c, http.c, sendf.c, ssluse.c, transfer.c: Explicit
- typecast for Curl_debug() size argument
-
-2006-10-17 11:07 yangtse
-
- * lib/url.c: Typo
-
-2006-10-17 11:05 bagder
-
- * lib/speedcheck.c: make the low_speed check set the expire timer
- so that it has a chance to work even when using
- curl_multi_socket() or even using the multi_perform() when
- relying on multi_timeout() to be good.
-
-2006-10-17 10:07 bagder
-
- * RELEASE-NOTES: Please welcome our new haxx.se curl mirror, for
- really fast Swedish access.
-
-2006-10-17 10:06 bagder
-
- * lib/hostares.c: Jeff helped me pinpoint that we didn't properly
- set the expire timer during c-ares name resolves, but now we do!
-
-2006-10-17 10:05 bagder
-
- * lib/url.c: fix the name resolve abort timeout calculation (when
- signals are used)
-
-2006-10-17 04:31 yangtse
-
- * lib/http.c: Compiler warning fix
-
-2006-10-16 10:30 bagder
-
- * CHANGES, acinclude.m4, configure.ac: Added a check in configure
- that simply tries to run a program (not when cross-compiling) in
- order to detect problems with run-time libraries that otherwise
- would occur when the sizeof tests for curl_off_t would run and
- thus be much more confusing to users. The check of course should
- run after all lib-checks are done and before any other test is
- used that would run an executable built for testing-purposes.
-
-2006-10-16 01:13 yangtse
-
- * lib/http.c: Compiler warning fix
-
-2006-10-15 22:28 giva
-
- * lib/: strerror.c, url.c: Replace ";;" with ";".
-
-2006-10-15 21:41 giva
-
- * lib/config.dos: Rearranged target HAVE_x section.
-
-2006-10-14 14:02 yangtse
-
- * lib/timeval.h: Declare our own timeval struct if
- HAVE_STRUCT_TIMEVAL is not defined
-
-2006-10-14 14:01 yangtse
-
- * ares/Makefile.dj, ares/Makefile.netware, ares/config-win32.h,
- lib/Makefile.netware, lib/config-amigaos.h, lib/config-mac.h,
- lib/config-riscos.h, lib/config-tpf.h, lib/config-win32.h,
- lib/config-win32ce.h, lib/config.dos, src/Makefile.netware,
- src/config-amigaos.h, src/config-mac.h, src/config-riscos.h,
- src/config-win32.h: Define HAVE_STRUCT_TIMEVAL as appropriate for
- platforms that lack autotools support
-
-2006-10-13 23:25 bagder
-
- * ares/CHANGES: Prevent ares_getsock() to overflow if more than 16
- sockets are used.
-
-2006-10-13 23:02 danf
-
- * CHANGES, RELEASE-NOTES, lib/http.c, src/main.c: The tagging of
- application/x-www-form-urlencoded POST body data sent to the
- CURLOPT_DEBUGFUNCTION callback has been fixed (it was erroneously
- included as part of the header). A message was also added to the
- command line tool to show when data is being sent, enabled when
- --verbose is used.
-
-2006-10-13 16:54 bagder
-
- * lib/multi.c: print the actual (externally known) easy handle and
- not the internal container for it
-
-2006-10-13 16:01 bagder
-
- * docs/examples/: 10-at-a-time.c, fopen.c, multi-app.c,
- multi-debugcallback.c, multi-double.c, multi-post.c,
- multi-single.c: Added comments about checking return code and the
- maxfd counter
-
-2006-10-13 09:11 bagder
-
- * lib/multi.c: Added curl_multi_dump() when built with CURLDEBUG -
- this is not a stable public function, this is only meant to allow
- easier tracking of the internal handle's state and what sockets
- they use. Only for research and development.
-
-2006-10-13 03:35 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac,
- lib/timeval.h: Check for struct timeval at configuration time
-
-2006-10-12 23:26 bagder
-
- * docs/examples/: README, ghiper.c: ghiper now uses the timer
- callback in the multi interface
-
-2006-10-12 18:47 bagder
-
- * ares/ares_getsock.c: avoid an overflow if an excessive amount of
- servers are used
-
-2006-10-12 16:35 bagder
-
- * docs/libcurl/curl_easy_cleanup.3: clarify more
-
-2006-10-12 16:30 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/libcurl-errors.3,
- lib/multi.c: Starting now, adding an easy handle to a multi stack
- that was already added to a multi stack will cause
- CURLM_BAD_EASY_HANDLE to get returned.
-
-2006-10-12 11:02 bagder
-
- * docs/KNOWN_BUGS: deleted #19 since it concerted FTP third party
- transfers and they are no longer supported
-
-2006-10-12 10:55 bagder
-
- * docs/FEATURES: we've cut out third party transfers
-
-2006-10-12 10:52 bagder
-
- * docs/curl.1: point out the sslcert web page for -k/--insecure
-
-2006-10-12 10:36 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE,
- docs/libcurl/curl_multi_setopt.3, include/curl/multi.h,
- lib/multi.c: Jeff Pohlmeyer has been working with the hiperfifo.c
- example source code, and while doing so it became apparent that
- the current timeout system for the socket API really was a bit
- awkward since it become quite some work to be sure we have the
- correct timeout set.
-
- Jeff then provided the new CURLMOPT_TIMERFUNCTION that is yet
- another callback the app can set to get to know when the general
- timeout time changes and thus for an application like hiperfifo.c
- it makes everything a lot easier and nicer. There's a
- CURLMOPT_TIMERDATA option too of course in good old libcurl
- tradition.
-
-2006-10-12 10:14 bagder
-
- * src/main.c: the textual arraw for "Send SSL data" was the wrong
- way
-
-2006-10-12 05:57 yangtse
-
- * lib/timeval.h: Inclusion of time header files based on header
- existance
-
-2006-10-11 18:01 yangtse
-
- * ares/ares.h, lib/dict.c, lib/easy.c, lib/file.c, lib/ftp.c,
- lib/http.c, lib/strerror.c, lib/timeval.h, lib/transfer.c,
- lib/url.c, src/main.c, tests/libtest/first.c,
- tests/libtest/lib518.c, tests/server/resolve.c,
- tests/server/sockfilt.c, tests/server/sws.c,
- tests/server/tftpd.c, tests/server/util.c, tests/server/util.h:
- Remove redundant __CYGWIN__ symbol check
-
-2006-10-11 01:58 yangtse
-
- * tests/libtest/lib536.c: Compiler warning fix
-
-2006-10-11 01:50 yangtse
-
- * tests/libtest/: lib525.c, lib526.c, lib530.c, lib533.c: Call
- curl_global_cleanup() in all code paths before exiting test
-
-2006-10-10 21:48 bagder
-
- * docs/examples/ghiper.c: repair id string
-
-2006-10-10 21:46 bagder
-
- * docs/examples/: Makefile.am, ghiper.c: Added ghiper.c, Jeff
- Pohlmeyer's example code using the curl_multi_socket() API with
- glib2
-
-2006-10-10 16:23 bagder
-
- * lib/multi.c: mark the handle as no longer having a broken pipe
- when a transfer has failed
-
-2006-10-09 23:29 bagder
-
- * tests/: data/test536, libtest/Makefile.am, libtest/lib536.c:
- Added test case 536 in an attempt to add Bogdan Nicula's
- problematic case with multi interface and pipelining. This test
- just works and did not repeat the problem his test code showed,
- but could still serve as a useful test.
-
-2006-10-09 23:26 bagder
-
- * tests/libtest/lib533.c: used for test 535 too
-
-2006-10-09 23:24 bagder
-
- * lib/url.c: minor indent fix
-
-2006-10-09 23:24 bagder
-
- * lib/multi.c: when going to completed due to error, mark the
- handle as not in a pipeline anymore
-
-2006-10-09 23:04 bagder
-
- * RELEASE-NOTES: new mirrors
-
-2006-10-09 16:59 bagder
-
- * src/mkhelp.pl: kill trailing whitespace
-
-2006-10-09 16:54 bagder
-
- * docs/curl.1: changed the wording about removal of internal
- headers with -H
-
-2006-10-09 13:21 yangtse
-
- * lib/multi.c, tests/libtest/lib533.c: Compiler warning fix
-
-2006-10-09 08:58 bagder
-
- * CHANGES, lib/multi.c, lib/url.c, lib/url.h,
- tests/data/Makefile.am, tests/data/test535,
- tests/libtest/lib533.c: Bogdan Nicula's second test case (posted
- Sun, 08 Oct 2006) converted to test case 535 and it now runs
- fine. Again a problem with the pipelining code not taking all
- possible (error) conditions into account.
-
-2006-10-09 02:35 yangtse
-
- * lib/select.c: Cygwin 1.5.21 needs this hack to pass test 160. In
- this way 304 tests out of 304 reported OK.
-
-2006-10-09 00:19 bagder
-
- * docs/examples/hiperfifo.c: slightly improved
-
-2006-10-08 23:41 bagder
-
- * docs/libcurl/curl_multi_info_read.3: clarified more
-
-2006-10-08 12:51 bagder
-
- * tests/: data/Makefile.am, data/test534, libtest/lib533.c: test
- 534 added in an attempt to repeat Bogdan Nicula's bug...
-
-2006-10-08 10:50 bagder
-
- * tests/: data/test533, libtest/lib533.c: modified lib533 to accept
- both URLs on the command line
-
-2006-10-08 10:43 bagder
-
- * tests/ftpserver.pl: Fix a "sockfilt" leak. When a new 'data'
- connection sockfilt server is started, make sure that a
- previously used one is killed first (since they re-use the same
- .pid file etc)
-
-2006-10-07 23:04 bagder
-
- * lib/multi.c: don't display or act on state changes that doesn't
- actually change state
-
-2006-10-06 23:19 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/multi.c,
- tests/data/test533, tests/libtest/Makefile.am,
- tests/libtest/lib533.c: Bogdan Nicula's hanging test case was
- converted to test case 533 and the test now runs fine.
-
-2006-10-06 23:19 bagder
-
- * tests/runtests.pl: catch silly mistakes better
-
-2006-10-06 02:24 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: updated for latest
- OpenSSL release.
-
-2006-10-05 16:33 bagder
-
- * TODO-RELEASE: planned stuff to do before release
-
-2006-10-04 23:11 bagder
-
- * CHANGES, lib/easy.c, lib/multi.c, tests/data/Makefile.am,
- tests/data/test532, tests/libtest/Makefile.am,
- tests/libtest/lib526.c: Dmitriy Sergeyev provided an example
- source code that crashed CVS libcurl but that worked nicely in
- 7.15.5. I converted it into test case 532 and fixed the problem.
-
-2006-10-02 15:00 bagder
-
- * lib/ftp.c: removed more dead code that is unused since the
- removal of the third party transfer support
-
-2006-09-30 22:31 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/Makefile.am, lib/ftp.c, lib/sendf.c, lib/transfer.c,
- lib/url.c, lib/urldata.h, src/main.c, tests/data/DISABLED,
- tests/data/Makefile.am, tests/data/test230, tests/data/test231,
- tests/data/test232: Support for FTP third party transfers is now
- dropped
-
-2006-09-28 23:26 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c, lib/multiif.h, lib/url.c,
- lib/urldata.h, tests/data/Makefile.am, tests/data/test529,
- tests/libtest/Makefile.am, tests/libtest/lib525.c: Reported in
- #1561470 (http://curl.haxx.se/bug/view.cgi?id=1561470), libcurl
- would crash if a bad function sequence was used when shutting
- down after using the multi interface (i.e using easy_cleanup
- after multi_cleanup) so precautions have been added to make sure
- it doesn't any more - test case 529 was added to verify.
-
-2006-09-27 23:15 bagder
-
- * docs/libcurl/curl_multi_info_read.3: added more explanations
-
-2006-09-27 23:00 bagder
-
- * lib/cookie.c, tests/data/test171, tests/data/test172,
- tests/data/test31, tests/data/test46, tests/data/test506,
- tests/data/test61, tests/data/test62, tests/data/test73: As
- reported in bug: #1566077 the former URL mentioned in the
- generated cookie jar has died and we now instead point out our
- own version of that
-
-2006-09-26 12:38 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Armel Asselin's fix for the
- RESUME_FROM docu
-
-2006-09-25 02:54 yangtse
-
- * lib/getinfo.c: Compiler warning fix
-
-2006-09-25 02:16 yangtse
-
- * lib/multi.c: Compiler warning fix
-
-2006-09-25 02:05 yangtse
-
- * lib/url.c: Compiler warning fix
-
-2006-09-25 01:55 yangtse
-
- * lib/socks.c: Compiler warning fix
-
-2006-09-25 00:03 bagder
-
- * CHANGES, configure.ac: Bernard Leak fixed configure
- --with-gssapi-libs
-
-2006-09-24 12:41 bagder
-
- * CHANGES, RELEASE-NOTES, lib/select.c, lib/select.h: Cory Nelson
- made libcurl use the WSAPoll() function if built for Windows
- Vista (_WIN32_WINNT >= 0x0600)
-
-2006-09-24 12:33 bagder
-
- * docs/curl.1: eeep, tab completion error
-
-2006-09-24 12:30 bagder
-
- * docs/curl.1, src/main.c: --ftp-ssl-control requires SSL/TLS, it
- does not "try" it
-
-2006-09-24 12:30 bagder
-
- * tests/ftpserver.pl: allow user in passwd state for test 280 to
- work (--ftp-alternative-to-user)
-
-2006-09-23 22:50 bagder
-
- * RELEASE-NOTES: updated numbers
-
-2006-09-23 22:46 bagder
-
- * docs/curl.1: minor edits
-
-2006-09-23 22:39 bagder
-
- * tests/FILEFORMAT: filled in some docs for the FTP server control
- commands
-
-2006-09-23 22:39 bagder
-
- * tests/data/: Makefile.am, test280: added simple test of
- --ftp-alternative-to-user
-
-2006-09-23 22:25 bagder
-
- * src/main.c: --ftp-alternative-to-user was missing in the help
- text
-
-2006-09-23 21:37 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: Mike Protts
- added --ftp-ssl-control to make curl use FTP-SSL, but only
- encrypt the control connection and use the data connection
- "plain".
-
-2006-09-23 21:09 bagder
-
- * lib/: socks.c, socks.h: standard curl source code headers
-
-2006-09-23 21:07 bagder
-
- * CHANGES, RELEASE-NOTES, lib/Makefile.Watcom, lib/Makefile.inc,
- lib/Makefile.vc6, lib/socks.c, lib/socks.h, lib/url.c: Dmitriy
- Sergeyev provided a patch that made the SOCKS[45] code work
- better as it now will read the full data sent from servers. The
- SOCKS-related code was also moved to the new lib/socks.c source
- file.
-
-2006-09-22 00:15 danf
-
- * docs/curl.1: -z works on FTP, too
-
-2006-09-21 22:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/multi.c: (FTP) a failed
- upload does not invalidate the control connection
-
-2006-09-21 22:52 bagder
-
- * tests/data/: Makefile.am, test236, test531: Added test case 531
- in an attempt to repeat bug report #1561470
- (http://curl.haxx.se/bug/view.cgi?id=1561470) that is said to
- crash when an FTP upload fails with the multi interface. It did
- not, but I made a failed upload still assume the control
- connection to be fine.
-
-2006-09-21 13:09 bagder
-
- * docs/libcurl/curl_multi_perform.3: Extended the explanation for
- CURLM_CALL_MULTI_PERFORM somewhat.
-
-2006-09-20 23:49 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/Makefile.am,
- tests/data/test278, tests/data/test279: Armel Asselin fixed
- problems when you gave a proxy URL with user name and empty
- password or no password at all. Test case 278 and 279 were added
- to verify.
-
-2006-09-20 15:09 bagder
-
- * docs/curl.1: lots of "HTTPS" features are really "SSL" ones as
- they are also valid for FTPS
-
-2006-09-20 14:03 bagder
-
- * lib/: multi.c, url.c: Michael Wallner's test program again help
- me track down a problem. This time it basically was that we
- didn't remove the current connection from the pipe list when
- following a redirect. Also in this commit: several cases of
- additional debug code for debug builds helping to check and track
- down some signs of run-time trouble.
-
-2006-09-20 13:35 bagder
-
- * docs/curl.1: PEM is default type for key and cert
-
-2006-09-16 23:50 bagder
-
- * lib/: multi.c, url.c, url.h, urldata.h: Resize the connection
- cache upwards when adding more handles than what currently fits
- in the cache, to make the cache work better especially for
- pipelining cases but also for "mere" (persistent) connection
- re-use.
-
-2006-09-16 22:57 bagder
-
- * lib/ftp.c: Armel Asselin - When the easy handle is removed from
- the multi while libcurl is still trying to resolve the host name,
- it seems that the ftp struct is not yet initialized, but the
- removal action calls Curl_done() which calls Curl_ftp_done. So we
- simply return success from there if no ftp pointer is set.
-
-2006-09-15 10:47 bagder
-
- * lib/: url.c, url.h: file-local function should be static and not
- use Curl_ prefix! Curl_signalPipeClose is now signalPipeClose().
-
-2006-09-13 15:51 giva
-
- * docs/examples/makefile.dj: Use CSOURCES as other makefiles. Add
- line for dependency generation.
-
-2006-09-13 15:41 giva
-
- * tests/server/: util.c, util.h: 'in6addr_any' must be placed in
- .c-file. Added 'REAL_WIN32' for all Win32 targets except CygWin.
- Cleanup.
-
-2006-09-13 14:42 yangtse
-
- * lib/url.c: Compiler warning fix
-
-2006-09-13 12:48 bagder
-
- * tests/runtests.pl: nicer reporting of disabled tests
-
-2006-09-13 12:18 bagder
-
- * tests/data/DISABLED: added CVS id and clarified the comment lines
-
-2006-09-13 12:16 bagder
-
- * tests/: runtests.pl, data/DISABLED, data/Makefile.am: Added a
- generic way to disable test cases when "all" is run, and added
- the FTP 3rd party transfers to that file for now until I have
- them sorted out.
-
-2006-09-13 03:35 yangtse
-
- * src/main.c: Fix error introduced in file version 1.369
-
-2006-09-13 01:51 yangtse
-
- * lib/ftp.c, lib/http.c, lib/multi.c, lib/sendf.c, lib/sslgen.c,
- lib/url.c, src/main.c: Compiler warning fix
-
-2006-09-12 13:31 bagder
-
- * CHANGES, RELEASE-NOTES: stuff we do
-
-2006-09-12 13:25 bagder
-
- * docs/examples/: Makefile.am, README, hiperfifo.c: hiperfifo.c by
- Jeff Pohlmeyer
-
-2006-09-12 11:39 bagder
-
- * docs/TODO: pipelining support is added now
-
-2006-09-12 09:54 bagder
-
- * docs/examples/10-at-a-time.c: example code by Michael Wallner
-
-2006-09-12 08:28 bagder
-
- * docs/KNOWN_BUGS: corrected URL
-
-2006-09-12 08:14 bagder
-
- * docs/KNOWN_BUGS: so it seems SOCKS5 too (still) has problems with
- connect timeouts
-
-2006-09-12 03:17 yangtse
-
- * tests/: libtest/first.c, libtest/lib518.c, server/resolve.c,
- server/sockfilt.c, server/sws.c, server/tftpd.c, server/util.c:
- Cygwin preprocessor adjustments
-
-2006-09-11 22:50 bagder
-
- * lib/url.c: If the current connection doesn't fit to get added to
- the connection cache, we certainly MUST NOT kill an active
- connection... Problem tracked down thanks to Michael Wallner's
- excellent test program.
-
-2006-09-11 22:25 bagder
-
- * ares/: CHANGES, ares_init.c: - Guilherme Balena Versiani: I noted
- a strange BUG in Win32 port
- (ares_init.c/get_iphlpapi_dns_info() function): when I disable
- the network by hand or disconnect the network cable in Windows
- 2000 or Windows XP, my application gets 127.0.0.1 as the only
- name server. The problem comes from 'GetNetworkParams'
- function, that returns the empty string "" as the only name
- server in that case. Moreover, the Windows implementation of
- inet_addr() returns INADDR_LOOPBACK instead of INADDR_NONE.
-
-2006-09-11 19:18 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/multi.c, lib/sslgen.c, lib/url.c, lib/urldata.h, src/main.c,
- tests/libtest/lib526.c: - Fixed my breakage from earlier today so
- that doing curl_easy_cleanup() on a handle that is part of a
- multi handle first removes the handle from the stack.
-
- - Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable
- SSL session-ID re-use on demand since there obviously are
- broken servers out there that misbehave with session-IDs used.
-
-2006-09-11 13:25 bagder
-
- * lib/url.c: stupid mistake rectified by Jeff Pohlmeyer
-
-2006-09-11 01:45 yangtse
-
- * lib/url.c: Compiler warning fix
-
-2006-09-11 01:37 yangtse
-
- * lib/: ftp.c, http.c, ssluse.c, transfer.c, url.c: Compiler
- warning fix
-
-2006-09-11 00:15 bagder
-
- * CHANGES, RELEASE-NOTES: curl_multi_socket() fix thanks to Jeff's
- test code
-
-2006-09-11 00:15 bagder
-
- * lib/: multi.c, url.c, urldata.h: Jeff Pohlmeyer presented a
- *multi_socket()-using program that exposed a
- problem with it (SIGSEGV-style). It clearly showed that the
- existing
- socket-state and state-difference function wasn't good enough
- so I rewrote
- it and could then re-run Jeff's program without any crash. The
- previous
- version clearly could miss to tell the application when a
- handle changed
- from using one socket to using another.
-
- While I was at it (as I could use this as a means to track this
- problem
- down), I've now added a 'magic' number to the easy handle
- struct that is
- inited at curl_easy_init() time and cleared at
- curl_easy_cleanup() time that
- we can use internally to detect that an easy handle seems to be
- fine, or at
- least not closed or freed (freeing in debug builds fill the
- area with 0x13
- bytes but in normal builds we can of course not assume any
- particular data
- in the freed areas).
-
-2006-09-11 00:12 bagder
-
- * lib/hash.c: Added a useful debug function within #if 0. The
- function makes it easy to "dump" a hash table which is useful
- when tracking problems with data stored in one of our hashes.
-
-2006-09-10 21:01 giva
-
- * tests/libtest/: first.c, lib503.c, lib504.c, lib507.c, lib509.c,
- lib525.c, lib526.c, lib530.c, test.h: Added select_test()
- function to allow selecting on no sockets on Winsock.
-
-2006-09-09 21:13 giva
-
- * lib/url.c: SIGALARM -> SIGALRM.
-
-2006-09-09 21:11 giva
-
- * lib/url.c: #ifdef around alarmfunc() to supress warning.
-
-2006-09-09 20:23 giva
-
- * lib/easy.c: iconv-data needs to be fully reallocated (to prevent
- a double-free).
-
-2006-09-09 18:55 giva
-
- * tests/libtest/lib525.c: Print usage in case 'arg2 == NULL'.
-
-2006-09-09 18:36 giva
-
- * lib/easy.c: Duplicate iconv-data too in curl_easy_duphandle().
-
-2006-09-09 15:24 yangtse
-
- * lib/: ftp.c, multi.c: Compiler warning fix
-
-2006-09-09 13:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_ntlm.c: Michele Bini fixed how
- the hostname is put in NTLM packages. As servers don't expect
- fully qualified names we need to cut them off at the first dot.
-
-2006-09-09 13:45 bagder
-
- * lib/ftp.c: tab => space
-
-2006-09-09 00:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Peter Sylvester cleaned up and
- fixed the getsockname() uses in ftp.c. Some of them can be
- completetly removed though...
-
-2006-09-08 15:06 giva
-
- * lib/url.c: signal() returns 'void (*)(int)'.
-
-2006-09-08 14:46 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Mention that
- CURLOPT_MAX_RECV/SEND* were added in 7.15.5
-
-2006-09-08 14:17 giva
-
- * lib/ldap.c: Update comment reflecting structure change.
-
-2006-09-08 14:03 bagder
-
- * tests/libtest/lib530.c: removed the comment that isn't valid for
- this file, just a copy'n paste error
-
-2006-09-08 14:03 giva
-
- * lib/ldap.c: Compilation fix; 'reqdata' is not a pointer. 'path'
- is part of SessionHandle.
-
-2006-09-08 13:56 bagder
-
- * tests/: FILEFORMAT, data/Makefile.am, data/test530,
- libtest/Makefile.am, libtest/lib530.c, server/sws.c: test 530 is
- the first ever HTTP pipelining test for libcurl
-
-2006-09-08 07:18 yangtse
-
- * lib/: ftp.c, hostip.h, ldap.c, multi.c: Compilation fix
-
-2006-09-07 23:49 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_multi_setopt.3,
- include/curl/curlver.h, include/curl/multi.h, lib/dict.c,
- lib/easy.c, lib/easyif.h, lib/file.c, lib/ftp.c, lib/getinfo.c,
- lib/hostip.h, lib/http.c, lib/http_chunks.c, lib/http_digest.h,
- lib/ldap.c, lib/llist.c, lib/multi.c, lib/multiif.h,
- lib/progress.c, lib/sendf.c, lib/sendf.h, lib/telnet.c,
- lib/tftp.c, lib/transfer.c, lib/transfer.h, lib/url.c, lib/url.h,
- lib/urldata.h, tests/data/Makefile.am, tests/data/test526,
- tests/data/test527, tests/data/test528,
- tests/libtest/Makefile.am, tests/libtest/lib526.c: Major overhaul
- introducing http pipelining support and shared connection cache
- within the multi handle.
-
-2006-09-07 03:18 yangtse
-
- * lib/url.c: Fix compiler warning
-
-2006-09-06 12:03 bagder
-
- * tests/runtests.pl: Invoke memanalyze from the source path and
- hush up about killing the FTP server as part of test cases
-
-2006-09-05 23:17 bagder
-
- * docs/MANUAL: added some fresh new blurb
-
-2006-09-05 00:21 bagder
-
- * RELEASE-NOTES: spell fix and added Jari
-
-2006-09-05 00:19 bagder
-
- * lib/splay.c: Jari Sundell's minor cleanup, added comments and
- some extra error-checkings for easier future error-tracking.
-
-2006-09-04 10:53 bagder
-
- * buildconf: I fell over a new libtool that starts with a newline
- so we need to fetch the two first lines to get the version
- string. The good news is that older libtools have an empty line
- after the first so I think this works fine all over...
-
-2006-09-04 10:43 bagder
-
- * include/curl/curlver.h: oops, we're on the .6 track now
-
-2006-09-04 08:17 bagder
-
- * CHANGES, RELEASE-NOTES: proper credit
-
-2006-09-04 00:52 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/url.c: - "Dortik"
- (http://curl.haxx.se/bug/view.cgi?id=1551412) provided a patch
- that while not fixing things very nicely, it does make the
- SOCKS5 proxy connection slightly better as it now acknowledges
- the timeout for connection and it no longer segfaults in the
- case when SOCKS requires authentication and you did not specify
- username:password.
-
-2006-09-04 00:12 bagder
-
- * docs/libcurl/curl_formadd.3: Mohun Biswas' improvements and
- clarifications about the options and how to use them.
-
-2006-09-03 15:52 giva
-
- * lib/: dict.c, easy.c, file.c, ftp.c, http.c, setup.h, timeval.h,
- transfer.c, url.c: Simplified #ifdef on WIN32; the statement "
- !defined(__GNUC__) || defined(__MINGW32__)" implies CygWin.
-
-2006-09-03 15:45 giva
-
- * include/curl/curl.h: Watcom lacks <sys/time.h>.
-
-2006-09-01 00:18 bagder
-
- * tests/data/: Makefile.am, test525: added missing test
-
-2006-08-31 14:53 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Dmitriy Sergeyev found and
- fixed a multi interface flaw when using asynch name resolves. It
- could get stuck in the wrong state.
-
-2006-08-30 18:18 giva
-
- * lib/config.dos: Added HAVE_SYS_TIME_H for djgpp and HighC.
-
-2006-08-30 18:17 giva
-
- * lib/: connect.c, cookie.h, dict.c, easy.c, file.c, http.c,
- telnet.c, tftp.c, timeval.h, transfer.c, url.c: Removed
- "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.
-
-2006-08-30 14:10 giva
-
- * CHANGES: Added support for more MS-DOS compilers.
-
-2006-08-29 23:11 giva
-
- * lib/: dict.c, formdata.c, ftp.c, hostip4.c: Avoid Metaware's
- High-C warning "'=' encountered where '==' may have been
- intended."
-
-2006-08-29 20:45 giva
-
- * lib/: connect.c, dict.c, easy.c, file.c, http.c, telnet.c,
- cookie.h, tftp.c, timeval.h, transfer.c, url.c: Watcom lacks
- <sys/time.h>.
-
-2006-08-29 20:40 giva
-
- * lib/config.dos: Added support for Watcom/DOS.
-
-2006-08-29 20:17 giva
-
- * lib/Makefile.Watcom: Updated dependency section.
-
-2006-08-29 20:13 giva
-
- * lib/makefile.dj: Don't include zlib headers in dependency output.
-
-2006-08-29 18:40 giva
-
- * lib/Makefile.am: Renamed config.dj -> config.dos.
-
-2006-08-29 18:35 giva
-
- * lib/makefile.dj: Use config.dos instead. Updated generated
- dependencies.
-
-2006-08-29 18:34 giva
-
- * lib/config.dj: Removed. New file is config.dos.
-
-2006-08-29 18:33 giva
-
- * lib/config.dos: Renamed config.dj -> config.dos. Added
- #ifdef-section for djgpp.
-
-2006-08-29 18:27 giva
-
- * lib/urldata.h: BUFSIZE defined in Metaware's <stdio.h>. Undefine
- to avoid warning.
-
-2006-08-29 18:26 giva
-
- * lib/: setup.h, setup_once.h: Support other MS-DOS compilers
- (MSDOS is a djgpp built-in define).
-
-2006-08-29 18:16 giva
-
- * include/curl/curl.h: Metaware's High-C has an ISO cpp.
-
-2006-08-29 17:17 bagder
-
- * ares/: CHANGES, ares_getnameinfo.c, ares_process.c,
- ares_version.h: Brad Spencer did o made ares_version.h use
- extern "C" for c++ compilers o fixed compiler warnings in
- ares_getnameinfo.c o fixed a buffer position init for TCP reads
-
-2006-08-29 16:39 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, include/curl/multi.h, lib/connect.c,
- lib/setup.h, lib/url.c, lib/urldata.h: David McCreedy added
- CURLOPT_SOCKOPTFUNCTION and CURLOPT_SOCKOPTDATA to allow
- applications to set their own socket options.
-
-2006-08-25 15:53 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Armel Asselin reported that
- the 'running_handles' counter wasn't updated properly if you
- removed a "live" handle from a multi handle with
- curl_multi_remove_handle().
-
-2006-08-23 23:49 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify the string syntax
- support in the CURLOPT_PROXY section
-
-2006-08-23 23:20 danf
-
- * tests/: ftpserver.pl, httpsserver.pl: Use /usr/bin/env to invoke
- perl like the other test scripts.
-
-2006-08-22 23:23 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: David McCreedy fixed a
- remaining mistake from the August 19 TYPE change.
-
-2006-08-22 23:21 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Peter Sylvester pointed out a
- flaw in the AllowServerConnect() in the FTP code when doing pure
- ipv6 EPRT connections.
-
-2006-08-22 08:29 bagder
-
- * hiper/hipev.c: as Jeff Pohlmeyer pointed out, first get the multi
- handle _then_ use it
-
-2006-08-22 00:28 danf
-
- * lib/hostip.c: Workaround for Cray UNICOS 9.0 to fix ftp.
-
-2006-08-21 08:39 bagder
-
- * RELEASE-NOTES: clarify for what protocols the changes are
-
-2006-08-19 23:18 bagder
-
- * CHANGES, RELEASE-NOTES, lib/content_encoding.c,
- lib/content_encoding.h, lib/file.c, lib/ftp.c, lib/http.c,
- lib/http_chunks.c, lib/ldap.c, lib/sendf.c, lib/sendf.h,
- lib/telnet.c, lib/tftp.c, lib/transfer.c, lib/url.c,
- lib/urldata.h, tests/data/test146, tests/data/test149,
- tests/data/test210, tests/data/test211, tests/data/test212,
- tests/data/test215, tests/data/test216: Based on a patch by Armel
- Asselin, the FTP code no longer re-issues the TYPE command on
- subsequent requests on a re-used connection unless it has to.
-
-2006-08-19 01:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Armel Asselin fixed a crash in
- the FTP code when using SINGLECWD mode and files in the root
- directory.
-
-2006-08-19 00:54 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/http.h,
- tests/data/test508, tests/data/test510, tests/data/test513,
- tests/data/test515: Andrew Biggs pointed out a "Expect:
- 100-continue" flaw where libcurl didn't send the whole request at
- once, even though the Expect: header was disabled by the
- application. An effect of this change is also that small (< 1024
- bytes) POSTs are now always sent without Expect: header since we
- deem it more costly to bother about that than the risk that we
- send the data in vain.
-
-2006-08-16 20:48 danf
-
- * docs/INSTALL, lib/hostip.c, lib/if2ip.c, src/main.c: Minor
- portability fixes to get things running on UNICOS 9.0 on a Cray
- Y-MP
-
-2006-08-16 19:56 bagder
-
- * RELEASE-NOTES: related info
-
-2006-08-16 19:05 giva
-
- * lib/gtls.c: Use gnutls_strerror() for clearer error message.
-
-2006-08-15 19:02 giva
-
- * lib/version.c: Use '_LIBICONV_VERSION' instead of variable
- '_libiconv_version' to support older iconv versions.
-
-2006-08-14 19:00 yangtse
-
- * tests/server/: sws.c, tftpd.c: Replace exit() with return() in
- main()
-
-2006-08-14 09:21 bagder
-
- * ares/Makefile.inc: add missing man page
-
-2006-08-11 20:11 danf
-
- * include/curl/multi.h, lib/if2ip.c: Use __minix to detect Minix,
- which works on both ACK and GCC.
-
-2006-08-09 22:54 bagder
-
- * docs/libcurl/curl_easy_setopt.3: option name spell fix
-
-2006-08-09 18:36 danf
-
- * lib/strequal.c: Only define the string prototypes in ANSI mode to
- reduce interference on systems that prototype them slightly
- differently.
-
-2006-08-09 18:10 danf
-
- * docs/INSTALL: Added eCos and Minix sections.
-
-2006-08-09 16:04 gknauf
-
- * lib/Makefile.netware: added build info output.
-
-2006-08-09 15:59 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: fixed some web links.
-
-2006-08-09 01:37 gknauf
-
- * docs/INSTALL: fixed some web links.
-
-2006-08-09 00:56 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- lib/ftp.c: Armel Asselin made the CURLOPT_PREQUOTE option work
- fine even when CURLOPT_NOBODY is set true. PREQUOTE is then run
- roughly at the same place in the command sequence as it would
- have run if there would've been a transfer.
-
-2006-08-09 00:37 gknauf
-
- * lib/: hostip.h, hostip4.c: moved ugly NetWare hack to hostip.h so
- that hostip.c uses it too.
-
-2006-08-08 23:12 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/transfer.c,
- lib/urldata.h: Fixed a flaw in the "Expect: 100-continue"
- treatment. If you did two POSTs on a persistent connection and
- allowed the first to use that header, you could not disable it
- for the second request.
-
-2006-08-08 23:11 bagder
-
- * maketgz: make REALLY sure src/config.h.in is a copy of
- lib/config.h.in
-
-2006-08-08 20:47 danf
-
- * lib/getinfo.c: Minix 3 doesn't have MSG_PEEK
-
-2006-08-08 15:39 bagder
-
- * hiper/hipev.c: better updating of the single timeout
-
-2006-08-07 20:06 yangtse
-
- * lib/Makefile.am, src/Makefile.am, tests/libtest/Makefile.am,
- tests/server/Makefile.am: Allow again proper compilation outside
- of the source tree
-
-2006-08-07 18:54 bagder
-
- * hiper/hipev.c: Jeff Pohlmeyer pointed out this stupid variable
- type error
-
-2006-08-07 08:48 bagder
-
- * RELEASE-NOTES: start working towards 7.15.6
-
-2006-08-07 08:46 bagder
-
- * docs/THANKS: added contributors to 7.15.5
-
-2006-08-07 08:32 bagder
-
- * CHANGES: release time for 7.15.5
-
-2006-08-06 12:58 yangtse
-
- * ares/configure.ac: Check for network libraries the _same_ way it
- is done in cURL.
-
-2006-08-06 00:02 yangtse
-
- * ares/configure.ac: Check for network libraries the same way it is
- done in cURL.
-
-2006-08-04 20:53 danf
-
- * lib/if2ip.c, include/curl/multi.h: Initial stab at making libcurl
- compile under Minix 3.
-
-2006-08-04 19:35 yangtse
-
- * ares/inet_ntop.c, lib/inet_ntop.c: Minor compatibility fix
-
-2006-08-04 18:10 giva
-
- * lib/version.c: Added version info for iconv.
-
-2006-08-04 18:08 giva
-
- * include/curl/curl.h: Added
- 'curl_version_info_data::iconv_ver_num' for iconv version.
-
-2006-08-04 18:05 giva
-
- * include/curl/curl.h: Fixed typo.
-
-2006-08-04 17:57 giva
-
- * lib/Makefile.Watcom: Added dependency for splay.obj.
-
-2006-08-04 17:41 giva
-
- * ares/ares_gethostbyname.c: Fixed comment.
-
-2006-08-04 16:39 bagder
-
- * lib/multi.c: oops, the previous commit was incomplete as we made
- an unconditional call to multi_runsingle() without it being
- really necessary or good
-
-2006-08-04 15:06 bagder
-
- * lib/multi.c: even when we get a single connection to deal with,
- we must still check for timeout'ed connections and possibly deal
- with them too
-
-2006-08-04 04:49 yangtse
-
- * ares/inet_ntop.c, lib/inet_ntop.c: Fix compiler warning
-
-2006-08-04 03:13 yangtse
-
- * ares/setup.h, lib/setup.h, src/setup.h: Avoid redundant check.
- configure script takes care of not defining HAVE_WINDOWS_H,
- HAVE_WINSOCK_H, HAVE_WINSOCK2_H, neither HAVE_WS2TCPIP_H when
- __CYGWIN__ is defined.
-
-2006-08-04 02:39 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Being unable to link or find out
- recv() or send() args types is a fatal error.
-
-2006-08-04 00:57 bagder
-
- * hiper/hipev.c: This is now a working example using libevent and
- curl_multi_socket() for really fast treatment of many
- simultaneous transfers
-
-2006-08-03 23:31 bagder
-
- * include/curl/multi.h: adding CURLM_CALL_MULTI_SOCKET that's just
- the same as CURLM_CALL_MULTI_PERFORM
-
-2006-08-03 23:19 yangtse
-
- * ares/configure.ac: MinGW/MSYS needs lib ws2_32 for proper
- operation of configure script.
-
-2006-08-03 20:20 bagder
-
- * ares/: CHANGES, ares_getsock.c: Ravi Pratap fixed ares_getsock()
- to actually return the proper bitmap and not always zero!
-
-2006-08-03 13:47 bagder
-
- * lib/multi.c: removed running_handles argument from
- multi_runsingle() since it wasn't really used anymore since
- multi->num_alive was introduced
-
-2006-08-03 13:41 yangtse
-
- * lib/multi.c: Silence compiler warning 'unused parameter
- running_handles' in function multi_runsingle(). This is done here
- returning multi->num_alive in the running_handles parameter even
- when functions that call multi_runsingle() at this moment
- overwrite the returned value with the one that is valid when
- those functions curl_multi_perform() and multi_socket() have
- removed expired timers from the splay. Most probably, parameter
- 'running_handles' in function multi_runsingle() should be just
- removed.
-
-2006-08-03 00:29 bagder
-
- * lib/multi.c: keep count of the number of "alive" handles in a
- struct member, as otherwise *multi_socket*() can't return the
- proper number
-
-2006-08-02 20:18 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Mark Lentczner fixed how
- libcurl was not properly doing chunked encoding if the header
- "Transfer-Encoding: chunked" was set by the application.
- http://curl.haxx.se/bug/view.cgi?id=1531838
-
-2006-08-02 11:33 bagder
-
- * docs/libcurl/curl_easy_setopt.3: a CURLOPT_PROGRESSFUNCTION
- clarification
-
-2006-08-01 11:39 bagder
-
- * CHANGES, RELEASE-NOTES, lib/strerror.c: Maciej Karpiuk fixed a
- crash that would occur if we passed Curl_strerror() an unknown
- error number on glibc systems.
- http://curl.haxx.se/bug/view.cgi?id=1532289
-
-2006-08-01 11:38 bagder
-
- * lib/multi.c: spell-fixed a comment
-
-2006-08-01 10:57 bagder
-
- * docs/libcurl/curl_multi_socket.3: updated docs with the new
- parameter
-
-2006-07-31 20:41 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Avoid the risk of a false
- positive detection of MSG_NOSIGNAL when cross compiling a Windows
- target.
-
-2006-07-31 19:46 yangtse
-
- * lib/: cookie.h, transfer.c, url.c: Silence warning: empty body in
- an if-statement
-
-2006-07-31 19:12 yangtse
-
- * ares/setup_once.h, lib/setup_once.h: Force compilation failure in
- case macros sread() or swrite() are not defined.
-
-2006-07-31 18:58 yangtse
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: Provide definitions needed for macros
- sread() and swrite() in config file.
-
-2006-07-31 00:47 bagder
-
- * hiper/shiper.c: adapt to the new protos
-
-2006-07-31 00:44 bagder
-
- * CHANGES, hiper/STATUS, hiper/hipev.c, include/curl/multi.h,
- lib/multi.c: curl_multi_socket() and curl_multi_socket_all() got
- modified prototypes: they both now provide the number of running
- handles back to the calling function.
-
-2006-07-29 18:17 yangtse
-
- * lib/tftp.c: Winsock and Cygwin need address family specification
- before bind(), this should be harmless for others.
-
-2006-07-29 11:15 yangtse
-
- * ares/ares_process.c, tests/server/tftpd.c: Fix compiler warnings.
-
-2006-07-29 10:39 yangtse
-
- * ares/Makefile.vc6: include setup_once.h dependency and adjust to
- 80 char lines.
-
-2006-07-29 00:04 bagder
-
- * docs/BINDINGS: new D binding
-
-2006-07-28 20:01 yangtse
-
- * ares/ares_process.c, ares/windows_port.c, tests/server/tftpd.c:
- Replace send() and recv() with swrite() and sread() macros.
-
-2006-07-28 16:19 yangtse
-
- * acinclude.m4, configure.ac, ares/Makefile.inc, ares/acinclude.m4,
- ares/configure.ac, ares/setup.h, ares/setup_once.h,
- lib/Makefile.inc, lib/setup.h, lib/setup_once.h: First step
- trying to avoid the multiple header inclusion and recursion
- nightmare.
-
- Reintroduce checking for HAVE_MSG_NOSIGNAL in configure script,
- so that we don't depend on header inclusion order for a valid
- check.
-
-2006-07-28 00:44 bagder
-
- * tests/data/: Makefile.am, test277: test case 277 - HTTP
- RFC1867-type formposting with custom Content-Type
-
-2006-07-28 00:35 bagder
-
- * CHANGES, RELEASE-NOTES, lib/formdata.c, lib/formdata.h,
- lib/http.c: Yves Lejeune fixed so that replacing Content-Type:
- when doing multipart formposts work exactly the way you want it
- (and the way you'd assume it works)
-
-2006-07-28 00:28 bagder
-
- * lib/hostip6.c: put back the correct logic, as the change dated
- July 11th 2006 added bad behaviour and a socket leak
-
-2006-07-27 01:20 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: David McCreedy
- added --ftp-ssl-reqd which makes curl *require* SSL for both
- control and data connection, as the existing --ftp-ssl option
- only requests it.
-
-2006-07-27 00:25 bagder
-
- * RELEASE-NOTES: curl_multi_assign() and CURLMOPT_SOCKETFUNCTION
- proto change
-
-2006-07-27 00:19 bagder
-
- * CHANGES, docs/libcurl/Makefile.am,
- docs/libcurl/curl_global_init.3,
- docs/libcurl/curl_multi_assign.3,
- docs/libcurl/curl_multi_setopt.3,
- docs/libcurl/curl_multi_socket.3, hiper/STATUS, hiper/hipev.c,
- include/curl/multi.h, lib/multi.c: [Hiper-related work] Added a
- function called curl_multi_assign() that will set a private
- pointer added to the internal libcurl hash table for the
- particular socket passed in to this function.
-
-2006-07-26 12:54 yangtse
-
- * ares/ares_private.h: Provide multiple header inclusion prevention
- definition __ARES_PRIVATE_H
-
-2006-07-26 12:47 yangtse
-
- * ares/bitncmp.h: Change multiple header inclusion prevention
- definition to __ARES_BITNCMP_H
-
-2006-07-26 12:43 yangtse
-
- * ares/inet_net_pton.h: Change multiple header inclusion prevention
- definition to __ARES_INET_NET_PTON_H
-
-2006-07-26 12:33 yangtse
-
- * ares/inet_ntop.h: Sync header with source code
-
-2006-07-26 00:45 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ftp.c,
- lib/url.c, lib/urldata.h, src/main.c: Dan Nelson added the
- CURLOPT_FTP_ALTERNATIVE_TO_USER libcurl option and curl tool
- option named --ftp-alternative-to-user. It provides a mean to
- send a particular command if the normal USER/PASS approach fails.
-
-2006-07-26 00:06 bagder
-
- * CHANGES, lib/Makefile.am, lib/vc8proj.foot, lib/vc8proj.head:
- Michael Jerris added magic that builds lib/curllib.vcproj
- automatically (for newer MSVC versions)
-
-2006-07-25 20:48 yangtse
-
- * lib/hostip.c: Fix warning: no newline at end of file
-
-2006-07-25 20:38 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Georg Horn made the
- transfer timeout error message include more details
-
-2006-07-25 15:49 yangtse
-
- * acinclude.m4, ares/acinclude.m4, lib/config-riscos.h,
- lib/config-tpf.h, lib/config-win32.h, lib/config-win32ce.h,
- lib/hostares.c, lib/hostasyn.c, lib/hostip.c, lib/hostip4.c,
- lib/hostip6.c, lib/hostsyn.c, lib/hostthre.c, lib/ldap.c,
- packages/vms/config-vms.h, src/config-riscos.h: Simplify check
- for NEED_MALLOC_H, and make more explicit that NEED_MALLOC_H
- shall be defined if <malloc.h> header file must be included even
- when including <stdlib.h>.
-
-2006-07-25 13:35 giva
-
- * lib/easy.c: Silence iconv() warnings.
-
-2006-07-25 13:08 giva
-
- * src/main.c: Added CURL_VERSION_CONV feature string.
-
-2006-07-25 12:49 giva
-
- * lib/hostasyn.c: Added note for CURLRES_ARES and CURLRES_IPV6.
-
-2006-07-25 12:31 giva
-
- * lib/: hostares.c, hostip.c, hostip4.c: Moved functions common to
- IPv4 and C-ares to hostip.c; Curl_freeaddrinfo() and
- Curl_ip2addr().
-
-2006-07-25 12:23 giva
-
- * lib/hostip.c: Remove comment about c-ares not supporting IPv6.
-
-2006-07-24 17:58 giva
-
- * lib/: hostares.c, hostip6.c: Use the proper Curl_freeaddrinfo()
- for CURLRES_ARES.
-
-2006-07-24 17:56 giva
-
- * lib/url.c: Fix typo.
-
-2006-07-24 17:48 giva
-
- * lib/hostip.h: Ares needs CURLRES_ADDRINFO_COPY.
- Curl_hostent_relocate() is gone.
-
-2006-07-23 14:01 bagder
-
- * lib/libcurl.framework.make: added splay.o
-
-2006-07-23 12:10 giva
-
- * ares/CHANGES: Added getopt() processing.
-
-2006-07-22 19:31 giva
-
- * ares/ahost.c: Added getopt() processing of [-t {a|aaaa}].
-
-2006-07-22 17:38 giva
-
- * ares/: setup.h, ares_init.c: Added CVS id.
-
-2006-07-22 17:37 giva
-
- * ares/: ares__close_sockets.c, ares__get_hostent.c,
- ares__read_line.c, ares_cancel.c, ares_destroy.c,
- ares_expand_name.c, ares_expand_string.c, ares_free_hostent.c,
- ares_free_string.c, ares_gethostbyname.c, ares_mkquery.c,
- ares_parse_a_reply.c, ares_parse_aaaa_reply.c,
- ares_parse_ptr_reply.c, ares_process.c, ares_query.c,
- ares_search.c, ares_send.c, ares_strerror.c, ares_timeout.c,
- bitncmp.c, inet_net_pton.c, windows_port.c: 2nd try adding CVS
- id.
-
-2006-07-22 17:21 giva
-
- * ares/: inet_net_pton.c, windows_port.c, ares__close_sockets.c,
- ares__get_hostent.c, ares__read_line.c, ares_cancel.c,
- ares_destroy.c, ares_expand_name.c, ares_expand_string.c,
- ares_free_hostent.c, ares_free_string.c, ares_gethostbyname.c,
- ares_mkquery.c, ares_parse_a_reply.c, ares_parse_ptr_reply.c,
- ares_query.c, ares_search.c, ares_send.c, ares_strerror.c,
- ares_timeout.c, bitncmp.c, setup.h: Added CVS id.
-
-2006-07-22 17:12 giva
-
- * ares/adig.c: Use ares_free_string() to avoid detecting leaks.
-
-2006-07-22 16:51 giva
-
- * ares/ares_init.c: If CURLDEBUG defined, call curl_memdebug() if
- $CARES_MEMDEBUG is set.
-
-2006-07-21 08:50 giva
-
- * lib/: connect.c, connect.h: Constify some arguments in
- Curl_connecthost() and singleipconnect().
-
-2006-07-21 08:21 giva
-
- * lib/: hostip.c, hostip.h, hostip4.c, hostip6.c: Constify
- arguments to Curl_he2ai() and Curl_addrinfo_copy().
-
-2006-07-21 07:51 giva
-
- * lib/: hostares.c, hostip.c, hostip.h, hostip4.c, hostip6.c,
- hostthre.c: Constify 'hostname' and 'service' to various resolver
- functions.
-
-2006-07-21 06:22 giva
-
- * lib/: setup.h, hostares.c, hostip4.c, hostip6.c: Changes for
- combination ENABLE_IPV6 and USE_ARES.
-
-2006-07-21 06:19 giva
-
- * lib/url.c: Use calloc() instead.
-
-2006-07-20 22:04 bagder
-
- * CHANGES, lib/formdata.c: David McCreedy fixed a build error when
- building libcurl with HTTP disabled, problem added with the
- curl_formget() patch.
-
-2006-07-20 18:37 giva
-
- * lib/hostip6.c: Avoid warning "comparison of unsigned expression <
- 0 is always false"
-
-2006-07-20 17:54 giva
-
- * lib/ftp.c: Avoid warning 'port' might be used uninitialized in
- this function.
-
-2006-07-20 00:27 danf
-
- * configure.ac, lib/setup.h, lib/timeval.h, src/setup.h: Changes to
- support building for eCos 1.3.1. This has been tested with file:
- URLs only.
-
-2006-07-19 23:14 yangtse
-
- * lib/: base64.c, http_ntlm.c, ssluse.c, telnet.c, tftp.c, url.c:
- Fix compiler warnings
-
-2006-07-19 21:09 yangtse
-
- * src/main.c: Avoid variable declaration shadowing previously
- declared one
-
-2006-07-19 20:46 yangtse
-
- * lib/ssluse.c: Avoid variable declaration shadowing previously
- declared one
-
-2006-07-19 20:32 yangtse
-
- * lib/http.c: remove variable declaration shadowing previously
- declared one
-
-2006-07-19 20:19 yangtse
-
- * lib/http.c: Remove variable declaration shadowing previously
- declared one
-
-2006-07-19 17:28 yangtse
-
- * tests/server/sockfilt.c: Abort if unable to write pid file, and
- close socket when aborting.
-
-2006-07-19 17:26 yangtse
-
- * tests/server/sws.c: Abort if unable to write pid file.
-
-2006-07-18 00:44 yangtse
-
- * tests/server/sws.c: -Use curl_socket_t instead of int.
-
- -Log errno in message if setsockopt() fails.
-
- -Close listener socket on major errors.
-
-2006-07-17 21:22 yangtse
-
- * lib/connect.c: "*connected" must be set to FALSE if trynextip()
- fails.
-
-2006-07-17 20:35 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Jari Sundell did some
- excellent research and bug tracking, figured out that we did
- wrong and patched it: When nodes were removed from the splay
- tree, and we didn't properly remove it from the splay tree when
- an easy handle was removed from a multi stack and thus we could
- wrongly leave a node in the splay tree pointing to (bad) memory.
-
-2006-07-17 18:47 yangtse
-
- * tests/data/test506: tests/libtest/lib506.c version 1.11 is now
- also logging CURLSHOPT_LOCKFUNC, CURLSHOPT_UNLOCKFUNC and
- CURLSHOPT_USERDATA, so we now also have to check them here.
-
-2006-07-17 17:25 yangtse
-
- * lib/strdup.c: Return NULL if argument is NULL.
-
-2006-07-17 16:52 yangtse
-
- * lib/url.c: Fix compiler warning "enumerated type mixed with
- another type"
-
-2006-07-17 16:32 yangtse
-
- * tests/libtest/lib506.c: Fix compiler warning "enumerated type
- mixed with another type"
-
-2006-07-17 07:05 yangtse
-
- * lib/ssluse.c: Update error buffer size used for SSL_strerror()
-
-2006-07-17 05:38 yangtse
-
- * tests/server/sockfilt.c: Minor cleanup
-
-2006-07-15 20:57 bagder
-
- * lib/splay.h: don't use 'new' in the proto
-
-2006-07-14 20:58 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: David McCreedy fixed a flaw
- where the CRLF counter wasn't properly cleared for FTP ASCII
- transfers.
-
-2006-07-14 13:04 yangtse
-
- * ares/ares_process.c: Fix compiler warning
-
-2006-07-14 12:30 yangtse
-
- * ares/ares_ipv6.h, lib/connect.c, lib/hostip.h, lib/hostip4.c:
- Change the ai_addrlen type of struct addrinfo from size_t to
- socklen_t, per RFC 3493.
-
-2006-07-14 08:31 yangtse
-
- * tests/server/sockfilt.c: Null terminate string in buffer before
- feeding it to strtol()
-
-2006-07-13 20:57 yangtse
-
- * lib/multi.c: Oops, missing "u"
-
-2006-07-13 20:50 yangtse
-
- * tests/server/sockfilt.c: Change to meaningful var names and take
- care of a compiler warning on IRIX 6.5.22 MIPSPro C 7.3 64bit
-
-2006-07-13 20:44 yangtse
-
- * lib/multi.c: Fix compiler warning.
-
-2006-07-12 15:57 giva
-
- * lib/config.dj: Remove unneeded stuff.
-
-2006-07-12 12:41 yangtse
-
- * tests/server/sockfilt.c: Remove var not used.
-
-2006-07-12 11:39 yangtse
-
- * tests/server/sockfilt.c: Log a message if not all data is sent.
-
-2006-07-12 11:03 yangtse
-
- * tests/server/sws.c: Fix compiler warning: comparison between
- signed and unsigned
-
-2006-07-12 09:33 yangtse
-
- * lib/telnet.c: Read the return value of the swrite() macro and
- 'print' a message in case of failure.
-
-2006-07-12 08:52 yangtse
-
- * lib/setup.h, tests/server/sws.c: Place parenthesis surrounding
- macro parameters so that the use of sread and swrite is more
- intuitive.
-
-2006-07-12 08:14 yangtse
-
- * tests/server/sockfilt.c: sread now returns ssize_t
-
-2006-07-12 08:09 yangtse
-
- * tests/server/sws.c: Pay attention when typecasting an operation
-
-2006-07-12 07:54 yangtse
-
- * tests/server/sws.c: sread now returns ssize_t
-
-2006-07-12 07:20 yangtse
-
- * lib/config.dj: DJGPP/WATT32 does not have functions named recv()
- send() getnameinfo().
-
-2006-07-12 07:19 yangtse
-
- * lib/sendf.c, lib/setup.h, lib/telnet.c, tests/server/sockfilt.c,
- tests/server/sws.c: Use platform's native types for recv() and
- send() arguments.
-
-2006-07-11 23:35 danf
-
- * configure.ac, include/curl/curl.h: Enable --enable-hidden-symbols
- for SunPro C
-
-2006-07-11 23:34 yangtse
-
- * lib/config-amigaos.h, lib/config-riscos.h, lib/config-tpf.h,
- lib/config-win32.h, lib/config-win32ce.h, lib/config.dj,
- lib/hostares.c, lib/hostasyn.c, lib/hostip.c, lib/hostip4.c,
- lib/hostip6.c, lib/hostsyn.c, lib/hostthre.c, lib/ldap.c,
- packages/vms/config-vms.h, src/config-riscos.h: include
- <malloc.h> only if HAVE_MALLOC_H and NEED_MALLOC_H are both
- defined.
-
-2006-07-11 22:40 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- Define NEED_MALLOC_H if including <stdlib.h> is not enough for
- proper compilation and <malloc.h> must also be included.
-
-2006-07-11 19:02 danf
-
- * lib/Makefile.inc, lib/easy.c, lib/strdup.c, lib/strdup.h,
- src/Makefile.inc, src/main.c, src/setup.h: Moved strdup
- replacement from src/main.c into src/strdup.c so it's available
- in libcurl as well, if necessary.
-
-2006-07-11 15:12 giva
-
- * lib/config.dj: Added comment and CVS id.
-
-2006-07-11 02:23 yangtse
-
- * lib/connect.c: Socket must be set to CURL_SOCKET_BAD after
- closing it.
-
-2006-07-10 18:14 yangtse
-
- * lib/multi.c: DNS cache must use the multi DNS cache if the easy
- handle's one is not using anyone in curl_multi_add_handle.
-
-2006-07-08 23:30 bagder
-
- * README: the tool is named curl with lowercase c
-
-2006-07-08 23:29 bagder
-
- * docs/INSTALL: just some more blurb
-
-2006-07-08 20:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/cookie.c, tests/data/test8: Ates
- Goral pointed out that libcurl's cookie parser did case
- insensitive string comparisons on the path which is incorrect and
- provided a patch that fixes this. I edited test case 8 to include
- details that test for this.
-
-2006-07-08 20:49 bagder
-
- * TODO-RELEASE: 7.15.5 is planned for August 2006
-
-2006-07-08 01:08 bagder
-
- * docs/libcurl/curl_multi_add_handle.3: mention the shared DNS
- stuff
-
-2006-07-08 00:58 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/hostip.c, lib/multi.c,
- lib/url.c, lib/urldata.h: Ingmar Runge provided a source snippet
- that caused a crash. The reason for the crash was that libcurl
- internally was a bit confused about who owned the DNS cache at
- all times so if you created an easy handle that uses a shared DNS
- cache and added that to a multi handle it would crash. Now we
- keep more careful internal track of exactly what kind of DNS
- cache each easy handle uses: None, Private (allocated for and
- used only by this single handle), Shared (points to a cache held
- by a shared object), Global (points to the global cache) or Multi
- (points to the cache within the multi handle that is
- automatically shared between all easy handles that are added with
- private caches).
-
-2006-07-08 00:07 bagder
-
- * docs/libcurl/curl_share_setopt.3: mention the by-default
- "sharing"
-
-2006-07-07 22:48 bagder
-
- * RELEASE-NOTES, docs/LICENSE-MIXING: yassl can be used now
-
-2006-07-07 22:45 bagder
-
- * lib/README.pipelining: HTTP Pipelining is for GET and HEAD
- requests only.
-
-2006-07-07 20:37 danf
-
- * lib/Makefile.am: Fixed building curllib.dsp when running make
- outside the source tree.
-
-2006-07-07 19:34 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Finally get rid of
- CURL_CHECK_HEADERS_ONCE since it adds very little value and has
- portability issues.
-
- Change some shell if...then...fi tests into case...esac tests
- which demand less resources.
-
-2006-07-07 16:03 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Substitution of the literal '-'
- is only done if it's the first or last character.
-
-2006-07-07 14:59 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Using backslashes and slashes in
- the strings of the sed 'y' command shall be avoided since its
- interpretation is not the same across platforms.
-
- Now we use the sed 's' command with a bracket expression.
-
-2006-07-07 09:49 giva
-
- * lib/hostthre.c: Correct the trace for WinCE.
-
-2006-07-07 09:46 giva
-
- * lib/hostthre.c: WinCE uses CreateThread(). Hence error is not in
- 'errno'.
-
-2006-07-07 09:41 giva
-
- * lib/hostthre.c: Removed copying 'stderr' since it doesn't have
- the desired effect.
-
-2006-07-07 09:22 bagder
-
- * lib/README.pipelining: updated after discussions and thinking
-
-2006-07-07 07:39 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Fix excessive escaping.
-
-2006-07-07 06:42 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Fix CURL_CHECK_HEADERS_ONCE
-
-2006-07-06 17:51 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Fix MinGW/MSYS support in
- CURL_CHECK_FUNC_RECV and CURL_CHECK_FUNC_SEND.
-
-2006-07-06 15:57 giva
-
- * lib/curlx.h: Undefine symbols before redefining them.
-
-2006-07-06 15:33 giva
-
- * lib/mprintf.c: Undefine correct symbol.
-
-2006-07-06 01:16 yangtse
-
- * lib/config.dj: Oops !
-
-2006-07-06 01:10 yangtse
-
- * acinclude.m4, ares/acinclude.m4, ares/ares.h, ares/nameser.h,
- ares/setup.h, docs/examples/synctime.c, include/curl/multi.h,
- lib/setup.h, src/setup.h: Prevent definition of HAVE_WINxxx_H
- symbols and avoid inclusion of Windows headers when compiled with
- Cygwin in POSIX emulation mode.
-
-2006-07-05 16:23 giva
-
- * lib/mprintf.c: Cludge fix for djgpp 2.03 or older; it doesn't
- have snprintf() etc. So avoid using x_was_used().
-
-2006-07-05 16:15 giva
-
- * lib/config.dj: Add types and qualifiers for getnameifo(), send()
- and recv().
- (Yang Tse forgot about djgpp)
-
-2006-07-04 19:19 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Use a more descriptive var name.
-
-2006-07-04 18:54 yangtse
-
- * acinclude.m4, ares/acinclude.m4, ares/config-win32.h,
- lib/config-amigaos.h, lib/config-mac.h, lib/config-riscos.h,
- lib/config-tpf.h, lib/config-win32.h, lib/config-win32ce.h,
- packages/vms/config-vms.h: Get qualifier of arg 2 for send()
- apart into SEND_QUAL_ARG2.
-
-2006-07-04 18:10 yangtse
-
- * ares/config-win32.h, lib/config-amigaos.h, lib/config-mac.h,
- lib/config-riscos.h, lib/config-tpf.h, lib/config-win32.h,
- lib/config-win32ce.h, packages/vms/config-vms.h: Platforms that
- don't have/run configure need default values in their config
- files for:
-
- HAVE_GETNAMEINFO, GETNAMEINFO_QUAL_ARG1, GETNAMEINFO_TYPE_ARG1,
- GETNAMEINFO_TYPE_ARG2, GETNAMEINFO_TYPE_ARG46,
- GETNAMEINFO_TYPE_ARG7
-
- HAVE_RECV, RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3,
- RECV_TYPE_ARG4, RECV_TYPE_RETV
-
- HAVE_SEND, SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3,
- SEND_TYPE_ARG4, SEND_TYPE_RETV
-
-2006-07-04 15:03 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- Find out return types and argument types for functions recv() and
- send() at configuration stage.
-
-2006-07-04 14:01 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Toshiyuki Maezawa fixed a
- problem where you couldn't override the Proxy-Connection: header
- when using a proxy and not doing CONNECT.
-
-2006-07-04 04:27 yangtse
-
- * lib/: hostip.h, hostip6.c, memdebug.h: Test HAVE_GETNAMEINFO
- definition before using GETNAMEINFO_XXX definitions.
-
-2006-07-03 20:38 yangtse
-
- * lib/: hostip.h, hostip6.c: Fix compiler warning.
-
-2006-07-03 17:32 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4: Use
- CURL_CHECK_FUNC_GETNAMEINFO results in CURL_CHECK_NI_WITHSCOPEID
-
-2006-07-03 01:09 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Make CURL_CHECK_NI_WITHSCOPEID
- actually try to compile NI_WITHSCOPEID when cross-compiling.
-
-2006-07-02 03:21 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Fix shell globbing in
- CURL_CHECK_FUNC_GETNAMEINFO
-
-2006-07-02 03:17 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Fix shell globbing in
- CURL_CHECK_FUNC_GETNAMEINFO
-
-2006-07-01 19:07 yangtse
-
- * acinclude.m4: Get some debug info
-
-2006-07-01 17:01 yangtse
-
- * acinclude.m4: Get some debug info
-
-2006-07-01 14:53 yangtse
-
- * acinclude.m4: Avoid shell globbing
-
-2006-07-01 13:21 yangtse
-
- * acinclude.m4: Get qualifier of arg 1 for getnameinfo apart. Take
- 3.
-
-2006-07-01 05:07 yangtse
-
- * acinclude.m4: Get qualifier of arg 1 for getnameinfo apart.
-
-2006-07-01 04:53 yangtse
-
- * ares/acinclude.m4: Get qualifier of arg 1 for getnameinfo apart.
- Take 2.
-
-2006-06-30 21:20 yangtse
-
- * ares/acinclude.m4: Get qualifier of arg 1 for getnameinfo apart.
-
-2006-06-30 12:26 bagder
-
- * docs/examples/httpput.c: typecast the number passed to
- CURLOPT_INFILESIZE_LARGE as a curl_off_t
-
-2006-06-30 02:22 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Remove experimental notice from
- CURL_CHECK_FUNC_GETNAMEINFO
-
-2006-06-29 09:35 bagder
-
- * lib/ssluse.c: with a very recent yassl, we now can display
- 'yassl' when the OpenSSL API is in fact provided by yassl instead
-
-2006-06-28 13:31 bagder
-
- * RELEASE-NOTES: changed wording on the curl_multi_fdset() problem
- and moved the -K change from bugfixes
-
-2006-06-28 07:22 yangtse
-
- * lib/multi.c: fix better minor compiler warning
-
-2006-06-28 06:17 yangtse
-
- * lib/multi.c: fix minor compiler warning
-
-2006-06-28 04:45 yangtse
-
- * lib/formdata.c: fix minor compiler warning
-
-2006-06-26 10:56 bagder
-
- * ares/Makefile.am: include config-win32.h in release archives
-
-2006-06-26 08:43 bagder
-
- * docs/libcurl/libcurl-multi.3: changed wording slightly, and added
- standard boiler-plate header
-
-2006-06-25 01:11 bagder
-
- * docs/libcurl/curl_formget.3: Wallner's update
-
-2006-06-24 23:54 bagder
-
- * lib/Makefile.am: Added README.pipelining but also extracted the
- "docs" files to a separate list to get a better overview
-
-2006-06-24 23:51 bagder
-
- * lib/README.pipelining: thoughts and ideas as posted to the list
- the other day
-
-2006-06-24 23:49 bagder
-
- * docs/libcurl/: curl_multi_setopt.3, curl_multi_socket.3,
- curl_multi_timeout.3, libcurl-errors.3: corrected introduction
- version number
-
-2006-06-24 23:46 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/Makefile.am,
- docs/libcurl/curl_formget.3, include/curl/curl.h, lib/formdata.c:
- Michael Wallner added curl_formget(), which allows an application
- to extract (serialise) a previously built formpost (as with
- curl_formadd()).
-
-2006-06-24 20:29 bagder
-
- * ares/CHANGES: 1.3.1
-
-2006-06-24 17:21 bagder
-
- * docs/TODO: Provide a libcurl API for setting mutex callbacks in
- the underlying SSL library, so that the same application code can
- use mutex-locking independently of OpenSSL or GnutTLS being used.
-
-2006-06-24 00:07 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Arve Knudsen found a flaw in
- curl_multi_fdset() for systems where curl_socket_t is unsigned
- (like Windows) that could cause it to wrongly return a max fd of
- -1.
-
-2006-06-22 23:36 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/multi.c, lib/transfer.c, lib/url.c, lib/urldata.h,
- src/main.c: Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE
- and CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate
- libcurl is allowed to send or receive data. This kind of adds the
- the command line tool's option --limit-rate to the library.
-
- The rate limiting logic in the curl app is now removed and is
- instead provided by libcurl itself. Transfer rate limiting will
- now also work for -d and -F, which it didn't before.
-
-2006-06-21 19:34 bagder
-
- * docs/libcurl/: libcurl-tutorial.3, libcurl.3: minor language
- edits bug reports 1510080 1510098
-
-2006-06-20 09:27 bagder
-
- * docs/BINDINGS: the D binding link is dead but we know of no new
- one!
-
-2006-06-20 09:03 bagder
-
- * docs/libcurl/curl_easy_setopt.3: bad syntax
-
-2006-06-19 23:39 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: make -K on a bad file now
- displays a warning
-
-2006-06-19 08:41 wahern
-
- * ares/: CHANGES, ares_dns.h: Remove "big endian" DNS section and
- RR data integer parser macros from ares_dns.h, which break c-ares
- on my Sparc64. Bit-wise operations in C operate on logical
- values. And in any event the octets are already in big-endian
- (aka network) byte order so they're being reversed (thus the
- source of the breakage).
-
-2006-06-19 03:18 wahern
-
- * ares/: CHANGES, ares_process.c: Handle EAGAIN/EWOULDBLOCK
- readiness errors, which can occur for both TCP and UDP even when
- a poll(2) or select(2) suggest otherwise.
-
-2006-06-16 09:27 bagder
-
- * docs/curl.1: when mentioning the default config file, point back
- to the actual description of how to write such a file
-
-2006-06-15 23:30 bagder
-
- * lib/transfer.c: select_res is not a socket, it should be a plain
- int
-
-2006-06-13 19:43 danf
-
- * configure.ac: Check whether gcc supports --enable-hidden-symbols
- before allowing it.
-
-2006-06-12 22:33 danf
-
- * docs/INSTALL, configure.ac, include/curl/curl.h: Implemented
- --enable-hidden-symbols configure option to enable
- -fvisibility=hidden on gcc >= 4.0. This reduces the size of the
- libcurl binary and speeds up dynamic linking by hiding all the
- internal symbols from the symbol table.
-
-2006-06-12 11:32 bagder
-
- * docs/THANKS: oops
-
-2006-06-12 11:30 bagder
-
- * docs/THANKS: added contributors from the 7.15.4 release
-
-2006-06-12 09:24 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: starting the journey
- towards the next release
-
-2006-06-12 08:53 bagder
-
- * CHANGES, RELEASE-NOTES: 7.15.4 coming up
-
-2006-06-12 08:51 bagder
-
- * README: Nah, we refer people to the generic site that lists the
- mirrors instead of trying to maintain an accurate list in this
- file (too).
-
-2006-06-10 19:35 giva
-
- * tests/libtest/: lib505.c, lib507.c: Fix "'x' might be used
- uninitialized in this function" warnings.
-
-2006-06-09 23:08 bagder
-
- * README: sync with existing list of up-to-date mirrors
-
-2006-06-09 14:07 bagder
-
- * lib/ssluse.c: proper use of newlines
-
-2006-06-09 10:25 bagder
-
- * tests/libtest/lib525.c: stricter type use to please compilers
-
-2006-06-09 09:08 bagder
-
- * lib/transfer.c: oops, serious breakage in the fdset() function
-
-2006-06-09 00:43 bagder
-
- * tests/libtest/: Makefile.am, lib525.c: lib525.c does a FTP upload
- with PORT using multi interface
-
-2006-06-08 13:06 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: corrected the
- CURLINFO_TOTAL_TIME description
-
-2006-06-08 08:12 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/if2ip.c, lib/setup.h,
- lib/url.c, src/main.c, src/setup.h: Brian Dessent's fixes for
- cygwin builds
-
-2006-06-07 16:14 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_ntlm.c, lib/ssluse.c,
- lib/ssluse.h, tests/data/test150, tests/data/test155,
- tests/data/test159, tests/data/test162, tests/data/test169,
- tests/data/test170, tests/data/test176, tests/data/test209,
- tests/data/test213, tests/data/test239, tests/data/test243,
- tests/data/test265, tests/data/test267, tests/data/test67,
- tests/data/test68, tests/data/test69, tests/data/test81,
- tests/data/test89, tests/data/test90, tests/data/test91: NTLM2
- session response support
-
-2006-05-31 07:49 bagder
-
- * RELEASE-NOTES: two new mirrors and a recount of them
-
-2006-05-31 07:17 bagder
-
- * lib/Makefile.am: Added config-tpf.h to the release package
-
-2006-05-30 10:45 bagder
-
- * docs/TODO: Removed a few fixed issues and a few issues currently
- in progress in the Hiper project. Also added a few obvious ones.
-
-2006-05-28 13:28 bagder
-
- * docs/FEATURES: correct explicit/implicit terms for FTPS
-
-2006-05-28 00:26 bagder
-
- * lib/splay.h: one modified proto and one removed proto
-
-2006-05-28 00:26 bagder
-
- * lib/multi.c: adapted to the new Curl_splayremovebyaddr() proto
-
-2006-05-28 00:25 bagder
-
- * lib/splay.c: Ifdef'ed out unused function, added lots of comments
- and renamed a few variables, simplified the splayprint function,
- modified Curl_splayremovebyaddr() to return error code. All in an
- effort to track down the reported splay problem, but I've failed
- to do that so far...
-
-2006-05-27 13:36 bagder
-
- * tests/testcurl.pl: reverted the previous .libs check for libs,
- but instead make mingw32 builds more similar to other configure
- builds (== use .la for libext and no binext)
-
-2006-05-27 00:23 bagder
-
- * CHANGES, lib/libcurl.framework.make: Óscar Morales Vivó updated
- the libcurl.framework.make file.
-
-2006-05-26 13:26 bagder
-
- * lib/: multi.c, url.c, urldata.h: long/int cleanup to silence
- picky compiler warnings
-
-2006-05-26 01:04 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_digest.c: Olaf Stüben fixed a
- bug that caused Digest authentication with md5-sess to fail. When
- using the md5-sess, the result was not Md5 encoded and Base64
- transformed.
-
-2006-05-25 13:15 bagder
-
- * docs/: MANUAL, curl.1: minor RFC updates, Dan Fandrich brought my
- attention to them
-
-2006-05-25 13:04 bagder
-
- * tests/testcurl.pl: better check for libs created in the .libs
- directory since libtool does this kind of magic
-
-2006-05-25 01:16 bagder
-
- * CHANGES: added some missing items
-
-2006-05-25 01:02 bagder
-
- * ares/: Makefile.am, configure.ac: Copied the NO_UNDEFINED magic
- from libcurl to make this build fine again with libtool
- cross-compiled on linux with mingw32
-
-2006-05-25 00:46 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- lib/cookie.c, lib/cookie.h, lib/url.c: Michael Wallner provided a
- patch that allows "SESS" to be set with CURLOPT_COOKIELIST, which
- then makes all session cookies get cleared. (slightly edited by
- me, and the re-indent in cookie.c was also done by me)
-
-2006-05-24 23:39 bagder
-
- * tests/server/util.c: make sure we pass a time_t * to localtime(),
- and the timeval struct members are not always time_t ones
-
-2006-05-24 18:11 bagder
-
- * lib/splay.c: minor fix to make Curl_splayremove() return a NULL
- as "removed" in case nothing matched fine
-
-2006-05-24 17:22 bagder
-
- * tests/: data/test271, server/tftpd.c: based on Tor Arntsen's fix,
- this should correct test case 271 to again run fine
-
-2006-05-24 00:55 bagder
-
- * configure.ac: Fixed a shell script syntax error that all of a
- sudden started causing this script to fail on debian unstable
- (some specific bash version perhaps?)
-
-2006-05-23 23:19 bagder
-
- * lib/config-tpf.h: David McCreedy's update
-
-2006-05-15 10:09 bagder
-
- * docs/DISTRO-DILEMMA: updated with more recent facts
-
-2006-05-15 00:49 bagder
-
- * docs/KNOWN_BUGS: The SOCKS connection codes don't properly
- acknowledge (connect) timeouts.
-
-2006-05-12 00:24 bagder
-
- * docs/examples/: Makefile.am, ftpuploadresume.c: The new
- ftpuploadresume.c example by Philip Bock
-
-2006-05-11 23:37 bagder
-
- * configure.ac: Ok, when checking for old-style SSLeay headers we
- cannot just use AC_CHECK_HEADERS() and the action-if-found since
- that action is run even if just one of the six headers is found
- and I just now fell over a case with a duplicate file name (a
- krb4 implementation with an err.h file).
-
- I converted the check to manually make sure three of the headers
- are present before considering them fine.
-
-2006-05-11 08:34 bagder
-
- * tests/: runtests.pl, data/test190: 1 - allow much longer time for
- the test FTP server to startup and get verified 2 - store the
- time it took to verify it and allow that time to be used as
- %FTPTIME[23] in command lines to allow us to adjust better to
- slow hosts since test 190 failed on my slow solaris machine
- just because it hadn't gotten time to run all the way the test
- assumed all machines would reach before the time-out elapsed.
-
-2006-05-11 07:17 bagder
-
- * lib/getinfo.c: make sure the LASTSOCKET check only checks for SSL
- status if the socket truly use SSL
-
-2006-05-11 07:16 bagder
-
- * lib/sslgen.c: silence warning
-
-2006-05-11 00:17 bagder
-
- * CHANGES, RELEASE-NOTES, lib/getinfo.c, lib/sslgen.c,
- lib/sslgen.h, lib/ssluse.c, lib/ssluse.h: David McCreedy provided
- a fix for CURLINFO_LASTSOCKET that does extended checks on the
- to-be-returned socket to make sure it truly seems to be alive and
- well. For SSL connection it (only) uses OpenSSL functions.
-
-2006-05-10 23:38 bagder
-
- * tests/runtests.pl: My Solaris test server was simply too slow to
- be able to respond within 4 seconds even when everything is fine!
- Now we allow a test server 8 seconds to respond to still be
- considered ok.
-
-2006-05-10 16:16 bagder
-
- * packages/AIX/: .cvsignore, RPM/.cvsignore: cvsignore these files
-
-2006-05-10 13:44 bagder
-
- * CHANGES, RELEASE-NOTES, lib/dict.c: 1 - allow DICT with properly
- URL-escaped words, like using %20 for spaces 2 - properly escape
- certain letters within a DICT word to comply to the RFC2229
-
-2006-05-10 11:53 bagder
-
- * tests/server/sws.c: removed variable declarations shadowing
- previously declared variables
-
-2006-05-10 10:03 bagder
-
- * ares/: CHANGES, acinclude.m4, configure.ac: Bram Matthys brought
- my attention to a libtool peculiarity where detecting things such
- as C++ compiler actually is a bad thing and since we don't need
- that detection I added a work-around, much inspired by a previous
- patch by Paolo Bonzini. This also shortens the configure script
- quite a lot.
-
-2006-05-09 15:02 bagder
-
- * lib/tftp.c: oops, could return an uninitialized variable
-
-2006-05-09 14:56 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/libcurl.m4: Andreas Ntaflos
- reported a bug in libcurl.m4: When configuring my GNU autotools
- project, which optionally (default=yes) uses libcurl on a system
- without a (usable) libcurl installation, but not specifying
- `--without-libcurl', configure determines correctly that no
- libcurl is available, however, the LIBCURL variable gets expanded
- to `LIBCURL = -lcurl' in the resulting Makefiles.
-
- David Shaw fixed the flaw.
-
-2006-05-09 14:44 bagder
-
- * RELEASE-NOTES: mention the other TFTP cleanup sweep from yday
-
-2006-05-09 14:43 bagder
-
- * CHANGES, lib/ssluse.c: Robson Braga Araujo fixed two problems in
- the recently added non-blocking SSL connects. The state machine
- was not reset properly so that subsequent connects using the same
- handle would fail, and there were two memory leaks.
-
-2006-05-09 13:33 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c: Robson Braga Araujo fixed a
- memory leak when you added an easy handle to a multi stack and
- that easy handle had already been used to do one or more easy
- interface transfers, as then the code threw away the previously
- used DNS cache without properly freeing it.
-
-2006-05-09 00:23 bagder
-
- * lib/tftp.c: check more return codes and skip the initial slash in
- given file names
-
-2006-05-08 23:00 bagder
-
- * lib/tftp.c: no longer uses errno but Curl_sockerrno() and now
- acknowledges return codes from Curl_client_write
-
-2006-05-08 21:41 danf
-
- * lib/tftp.c: Stop sending retransmitted received blocks up to
- client Fixed handling of retransmitted blocks on transmit
- Properly aligned data to transmit within packet Replaced calls to
- strerror() with Curl_strerror()
-
-2006-05-08 17:09 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/tftp.c: Fixed known
- bug #28. The TFTP code no longer assumes a packed struct and thus
- works reliably on more platforms.
-
-2006-05-07 20:27 bagder
-
- * lib/urldata.h: Fix GnuTLS compile warning. Risking breakage with
- some older version of GnuTLS?
-
-2006-05-06 00:14 bagder
-
- * lib/http.c: Curl_https_getsock() was OpenSSL-specific and really
- should not be present like this in this source file. The quickfix
- for now is to provide a simple version for GnuTLS builds. The
- GnuTLS version of libcurl doesn't yet allow fully non-blocking
- connects anyway so this function doesn't get used.
-
-2006-05-06 00:07 bagder
-
- * lib/hostares.c: get the Curl_sockerrno proto
-
-2006-05-05 23:08 bagder
-
- * ares/AUTHORS: two more contributors
-
-2006-05-05 12:24 bagder
-
- * lib/: gtls.c, hostip6.c, select.c, sendf.c, ssluse.c: additional
- renames of Curl_ourerrno => Curl_sockerrno
-
-2006-05-05 00:39 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c, lib/connect.h, lib/dict.c,
- lib/file.c, lib/ftp.c, lib/hostares.c, lib/hostasyn.c,
- lib/hostip.c, lib/hostip6.c, lib/hostsyn.c, lib/http.c,
- lib/http_negotiate.c, lib/sendf.c, lib/ssluse.c, lib/telnet.c,
- lib/tftp.c: Roland Blom filed bug report #1481217
- (http://curl.haxx.se/bug/view.cgi?id=1481217), with follow-ups by
- Michele Bini and David Byron. libcurl previously wrongly used
- GetLastError() on windows to get error details after
- socket-related function calls, when it really should use
- WSAGetLastError() instead.
-
- When changing to this, the former function Curl_ourerrno() is now
- instead called Curl_sockerrno() as it is necessary to only use it
- to get errno from socket-related functions as otherwise it won't
- work as intended on Windows.
-
-2006-05-04 08:00 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: Mark Eichin submitted bug
- report #1480821 (http://curl.haxx.se/bug/view.cgi?id=1480821) He
- found and identified a problem with how libcurl dealt with GnuTLS
- and a case where gnutls returned GNUTLS_E_AGAIN indicating it
- would block. It would then return an unexpected return code,
- making Curl_ssl_send() confuse the upper layer - causing random
- 28 bytes trash data to get inserted in the transfered stream.
-
- The proper fix was to make the Curl_gtls_send() function return
- the proper return codes that the callers would expect. The
- Curl_ossl_send() function already did this.
-
-2006-05-04 00:39 bagder
-
- * ares/configure.ac: moved the curl_off_t check to within the
- --enable-debug block where it belongs since it is a somewhat ugly
- hack
-
-2006-05-03 08:11 bagder
-
- * ares/: CHANGES, ares.h, ares__close_sockets.c, ares_cancel.c,
- ares_destroy.c, ares_init.3, ares_init.c, ares_private.h,
- ares_process.c: Nick Mathewson added the ARES_OPT_SOCK_STATE_CB
- option that when set makes c-ares call a callback on socket state
- changes. A better way than the ares_getsock() to get full control
- over the socket state.
-
-2006-05-03 00:48 bagder
-
- * CHANGES, RELEASE-NOTES, curl-config.in, docs/curl-config.1:
- curl-config got a --checkfor option
-
-2006-05-02 11:19 bagder
-
- * docs/examples/multi-post.c: Make this code use the proper
- pointers
-
-2006-04-26 19:27 giva
-
- * lib/strerror.c: Added revision ID-tag.
-
-2006-04-26 19:26 giva
-
- * lib/: formdata.c, multi.c, select.c, strerror.c: Fixed
- signed/unsigned convertion errors in Salford-C. #ifdef around
- WSAEDISCON in strerror.c.
-
-2006-04-26 19:23 giva
-
- * lib/: hostares.c, hostasyn.c, hostip.c, hostip4.c, hostip6.c,
- hostsyn.c, hostthre.c, ldap.c: Use the HAVE_MALLOC_H and
- HAVE_PROCESS_H defines (more logical).
-
-2006-04-26 19:15 giva
-
- * lib/config.dj: djgpp has <process.h> too.
-
-2006-04-26 19:11 giva
-
- * lib/: config-win32.h, config-win32ce.h, setup.h, share.h: Added
- support for Salford-C under Win32 (scc). HAVE_MALLOC_H and
- HAVE_PROCESS_H added for all except scc.
-
-2006-04-26 19:04 giva
-
- * include/curl/curl.h: Added SalfordC support.
-
-2006-04-26 15:08 bagder
-
- * lib/urldata.h: crlf_conversions needs to be a curl_off_t for
- ASCII transfers > 4GB on 32bit systems
-
-2006-04-26 15:00 bagder
-
- * docs/: curl.1, libcurl/libcurl-errors.3: updated with more error
- codes
-
-2006-04-26 09:40 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/KNOWN_BUGS, lib/ftp.c,
- lib/sendf.c, lib/transfer.c, lib/urldata.h, tests/data/test100,
- tests/data/test101, tests/data/test130, tests/data/test131,
- tests/data/test132, tests/data/test133, tests/data/test134,
- tests/data/test215, tests/data/test250, tests/data/test251,
- tests/data/test252, tests/data/test253, tests/data/test254,
- tests/data/test255, tests/data/test521: David McCreedy brought
- line end conversions when doing FTP ASCII transfers. They are
- done on non-windows systems and translate CRLF to LF.
-
-2006-04-25 23:41 bagder
-
- * src/main.c: --ftp-method was missing in the --help output, as
- mentioned by Manfred Schwarb
-
-2006-04-25 22:49 bagder
-
- * CHANGES, RELEASE-NOTES, lib/content_encoding.c: Paul Querna fixed
- libcurl to better deal with deflate content encoding when the
- stream (wrongly) lacks a proper zlib header. This seems to be the
- case on too many actual server implementations.
-
-2006-04-25 07:32 bagder
-
- * lib/multi.c: prevent signed/unsigned warnings
-
-2006-04-25 00:41 bagder
-
- * hiper/STATUS: Mention my April 20 thoughts. I already changed the
- README in the lib dir to be accurate on this.
-
-2006-04-25 00:40 bagder
-
- * hiper/Makefile: added the hipev build
-
-2006-04-25 00:40 bagder
-
- * hiper/hipev.c: the example that _is_ supposed to use libevent
-
-2006-04-25 00:39 bagder
-
- * hiper/shiper.c: this example does NOT use libevent!
-
-2006-04-21 15:46 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c: Ale Vesely fixed
- CURLOPT_INTERFACE when using a hostname
-
-2006-04-21 15:40 bagder
-
- * lib/: README.multi_socket, multi.c: each socket is used by
- exactly one easy handle, but of course each easy handle can and
- will use more than one socket
-
-2006-04-21 13:17 bagder
-
- * docs/BINDINGS: added SPL and XBLite
-
-2006-04-20 12:26 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: removed -fpack-struct because gcc4 seems
- to know its obsolete and warns...
-
-2006-04-19 13:11 bagder
-
- * acinclude.m4, configure.ac: detect ICC and pass on "-we 147" so
- that the configure checks for function arguments work properly -
- and the option is not harmful for the rest of the curl build
- either!
-
-2006-04-19 11:08 bagder
-
- * docs/libcurl/: curl_easy_setopt.3, curl_version_info.3: the new
- conversion stuff documented (mostly by David McCreedy)
-
-2006-04-19 11:03 bagder
-
- * include/curl/curl.h, lib/version.c: CURL_VERSION_CONV is returned
- by curl_version_info if libcurl has been built to allow/support
- character conversions
-
-2006-04-19 01:24 bagder
-
- * hiper/STATUS: mention the recent thoughts/progress I had
-
-2006-04-19 01:14 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Robson Braga Araujo provided a
- patch that makes libcurl less eager to close the control
- connection when using FTP, for example when you remove an easy
- handle from a multi stack.
-
-2006-04-19 00:12 bagder
-
- * CHANGES, RELEASE-NOTES: mention Katie Wang as author of the patch
-
-2006-04-19 00:10 bagder
-
- * lib/ssluse.c: corrected the SSL timeout, as Ates Goral's patch
- did it and that works (opposed to my previous brain-damaged
- version)
-
-2006-04-18 12:55 bagder
-
- * lib/multi.c: attempt to silence the MIPSPro compiler warning
-
-2006-04-18 12:51 bagder
-
- * lib/connect.c: avoid a warning about declaring a variable that
- shadows an earlier declared one
-
-2006-04-18 11:23 bagder
-
- * lib/libcurl.imp: there's an curl_easy_unescape too now
-
-2006-04-17 20:04 gknauf
-
- * ares/Makefile.netware: minor Makefile fix - let's go 2006; use
- correct version var.
-
-2006-04-17 19:06 gknauf
-
- * lib/libcurl.imp: added missing symbol export.
-
-2006-04-12 20:12 bagder
-
- * lib/Makefile.vc6: added splay
-
-2006-04-12 16:01 giva
-
- * lib/Makefile.Watcom: Added splay.c.
-
-2006-04-12 15:54 giva
-
- * lib/hostthre.c: Add "multiif.h" for GETSOCK_WRITESOCK() macro.
-
-2006-04-11 12:49 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: #1468330
- (http://curl.haxx.se/bug/view.cgi?id=1468330) pointed out a bad
- typecast in the curl tool leading to a crash with (64bit?) VS2005
- (at least) since the struct timeval field tv_sec is an int while
- time_t is 64bit.
-
-2006-04-11 09:23 bagder
-
- * lib/hostthre.c: adjusted to the new internal *_getsock() concept
- for providing info internally about what sockets to wait for what
- action on
-
-2006-04-11 09:22 bagder
-
- * lib/hostip.h: added docs and removed proto
-
-2006-04-10 23:57 bagder
-
- * CHANGES, RELEASE-NOTES: mention recent additions
-
-2006-04-10 23:55 bagder
-
- * docs/libcurl/Makefile.am: adding the new man pages to the package
-
-2006-04-10 23:49 bagder
-
- * lib/ssluse.c: Ates Goral found out that if you specified both
- CURLOPT_CONNECTTIMEOUT and CURLOPT_TIMEOUT, the _longer_ time
- would wrongly be used for the SSL connection time-out!
-
-2006-04-10 17:00 bagder
-
- * lib/: Makefile.inc, connect.c, ftp.c, ftp.h, hash.c, hostares.c,
- hostip.h, hostsyn.c, http.c, http.h, multi.c, multiif.h,
- speedcheck.c, splay.c, splay.h, strerror.c, transfer.c,
- transfer.h, url.c, url.h, urldata.h: First curl_multi_socket()
- commit. Should primarily be considered as an internal code
- rearrange to fit the future better.
-
-2006-04-10 16:58 bagder
-
- * hiper/Makefile: This no longer needs the extra define!
-
-2006-04-10 16:54 bagder
-
- * lib/Makefile.am: added README.multi_socket
-
-2006-04-10 16:44 bagder
-
- * lib/README.multi_socket: state of the multi_socket API works
-
-2006-04-10 15:31 bagder
-
- * configure.ac: check for fork() as well, so that we can build the
- sws http test server with fork support for cooler tests
-
-2006-04-10 15:14 bagder
-
- * lib/setup.h: avoid duplicate typedefs, as this type is also
- defined in our public headers
-
-2006-04-10 15:12 bagder
-
- * include/curl/multi.h: curl_multi_socket() updates
-
-2006-04-10 15:11 bagder
-
- * tests/server/sws.c: if configure found a fork(), sws supports
- --fork which is *NOT* used by the ordinary test suite. Also
- removed the perror() calls and instead made the logging output
- the errno code to ease error tracking using logs.
-
-2006-04-10 15:10 bagder
-
- * tests/httpsserver.pl: output the exit code from stunnel to stderr
- in case it is non-zero
-
-2006-04-10 15:09 bagder
-
- * tests/httpserver.pl: support --fork and pass that on to sws
-
-2006-04-10 15:03 bagder
-
- * tests/runtests.pl: Scan for 'stunnel4' before 'stunnel' since
- debian have them setup this way and it should break most other
- systems. The "funny" part is that debian actually have a
- 'stunnel' setup to simulate stunnel v3 but it breaks our own
- stunnel-version-detect-and-adjust-to-it system.
-
- Added initial support for optionally running servers with fork
- support.
-
-2006-04-10 14:26 bagder
-
- * tests/data/: test169, test239, test243: Use correct
- content-length. Found out by patching the libcurl read to only
- read one byte at a time...
-
-2006-04-10 10:24 bagder
-
- * docs/KNOWN_BUGS: 33. Doing multi-pass HTTP authentication on a
- non-default port does not work. This happens because the
- multi-pass code abuses the redirect following code for doing
- multiple requests, and when we following redirects to an absolute
- URL we must use the newly specified port and not the one
- specified in the original URL. A proper fix to this would need
- to separate the negotiation "redirect" from an actual
- redirect.
-
-2006-04-10 10:17 bagder
-
- * TODO-RELEASE: 65 - curl_multi_socket() added but not extensively
- tested nor particularly documented or pushed for.
-
-2006-04-10 10:16 bagder
-
- * CVS-INFO: we haven't been using yacc/bison in a long time!
-
-2006-04-10 10:14 bagder
-
- * CHANGES, CHANGES.2005: forked off the changes from 2005 into its
- own file
-
-2006-04-10 00:41 bagder
-
- * docs/libcurl/libcurl-errors.3, include/curl/curl.h,
- lib/strerror.c, src/main.c: CURLE_FTP_USER_PASSWORD_INCORRECT is
- not returned by libcurl anymore!
-
-2006-04-10 00:40 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention RFC 2396 for URL syntax
- spec
-
-2006-04-09 10:39 bagder
-
- * docs/examples/: Makefile.am, sampleconv.c: new little example
- using the new conversion callbacks added in 7.15.4
-
-2006-04-08 23:29 bagder
-
- * docs/libcurl/curl_easy_unescape.3: mention the outlength argument
-
-2006-04-08 13:04 giva
-
- * lib/http_ntlm.c: readint_le() not needed in USE_WINDOWS_SSPI
- code.
-
-2006-04-08 13:01 giva
-
- * lib/ldap.c: curl_easy_unescape() takes 4 arguments.
-
-2006-04-07 23:50 bagder
-
- * docs/libcurl/Makefile.am, docs/libcurl/curl_easy_escape.3,
- docs/libcurl/curl_easy_unescape.3, docs/libcurl/curl_escape.3,
- docs/libcurl/curl_unescape.3, include/curl/curl.h,
- lib/config-tpf.h, lib/easy.c, lib/easyif.h, lib/escape.c,
- lib/escape.h, lib/file.c, lib/ftp.c, lib/ldap.c, lib/select.c,
- lib/select.h, lib/sendf.c, lib/setup.h, lib/ssluse.c,
- lib/strerror.c, lib/tftp.c, lib/transfer.c, lib/url.c,
- lib/urldata.h, src/main.c, src/setup.h: First commit of David
- McCreedy's EBCDIC and TPF changes.
-
-2006-04-07 14:10 bagder
-
- * src/urlglob.c: minor re-arrange to return a value in order to
- avoid compiler warnings for not returning a value from a non-void
- function (even though the code never actually reached that point
- before)
-
-2006-04-07 13:47 bagder
-
- * lib/: url.c, urldata.h: added typedefed function pointers and
- typecast the NULL assignments in an attempt to silence picky
- compilers when assigning data pointers to a function pointer
- variable
-
-2006-04-07 13:46 bagder
-
- * lib/telnet.c: attempt to avoid warnings in picky environments by
- storing options as unsigned chars
-
-2006-04-05 14:46 bagder
-
- * tests/data/: test150, test155, test159, test169, test209,
- test267, test67, test68, test69, test81, test89, test90, test91:
- cut off a bit more of the type-2 ntlm message since it differs
- between hosts
-
-2006-04-05 14:35 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_ntlm.c, lib/urldata.h,
- tests/data/test150, tests/data/test155, tests/data/test159,
- tests/data/test162, tests/data/test169, tests/data/test170,
- tests/data/test176, tests/data/test209, tests/data/test213,
- tests/data/test239, tests/data/test243, tests/data/test265,
- tests/data/test267, tests/data/test67, tests/data/test68,
- tests/data/test69, tests/data/test81, tests/data/test89,
- tests/data/test90, tests/data/test91: Michele Bini modified the
- NTLM code to work for his "weird IIS case"
- (http://curl.haxx.se/mail/lib-2006-02/0154.html) by adding the
- NTLM hash function in addition to the LM one and making some
- other adjustments in the order the different parts of the data
- block are sent in the Type-2 reply. Inspiration for this work
- was taken from the Firefox NTLM implementation.
-
- I edited the existing 21(!) NTLM test cases to run fine with
- these news. Due to the fact that we now properly include the host
- name in the Type-2 message the test cases now only compare parts
- of that chunk.
-
-2006-03-28 12:08 bagder
-
- * include/curl/mprintf.h: for the CURLDEBUG case, we redefine
- sprintf and vsprintf to make us notice if any use of such a
- function slip through
-
-2006-03-28 10:03 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c, tests/data/Makefile.am,
- tests/data/test276: #1451929
- (http://curl.haxx.se/bug/view.cgi?id=1451929) detailed a bug that
- occurred when asking libcurl to follow HTTP redirects and the
- original URL had more than one question mark (?). Added test case
- 276 to verify.
-
-2006-03-28 09:51 bagder
-
- * src/urlglob.c: converted sprintf() to snprintf() to reduce risk
-
-2006-03-27 23:59 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: David Byron found a problem
- multiple -d options when libcurl was built with --enable-debug,
- as then curl used free() on memory allocated both with normal
- malloc() and with libcurl-provided functions, when the latter
- MUST be freed with curl_free() in debug builds.
-
-2006-03-27 16:34 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: minor Makefile fix -
- let's go 2006; avoid kiling hugehelp.c when not built from CVS.
-
-2006-03-26 10:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c: Tor Arntsen figured out that
- TFTP was broken on a lot of systems since we called bind() with a
- too big argument in the 3rd parameter and at least Tru64, AIX and
- IRIX seem to be very picky about it.
-
-2006-03-21 23:30 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_getinfo.3, include/curl/curl.h, lib/ftp.c,
- lib/getinfo.c, lib/urldata.h, src/writeout.c: David McCreedy
- added CURLINFO_FTP_ENTRY_PATH to export the FTP entry path
-
-2006-03-21 22:54 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/http.h, lib/sslgen.c,
- lib/sslgen.h, lib/ssluse.c, lib/ssluse.h, lib/url.c,
- lib/urldata.h: Xavier Bouchoux made the SSL connection
- non-blocking for the multi interface (when using OpenSSL).
-
-2006-03-21 14:34 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac: Tor Arntsen fixed the AIX
- Toolbox RPM spec
-
-2006-03-20 23:51 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: David McCreedy fixed libcurl
- to no longer ignore AUTH failures and now it reacts properly
- according to the CURLOPT_FTP_SSL setting.
-
-2006-03-20 23:25 bagder
-
- * CHANGES, RELEASE-NOTES: mention today's fixes
-
-2006-03-20 23:24 bagder
-
- * docs/THANKS: 7.15.3 contributors
-
-2006-03-20 23:15 danf
-
- * lib/tftp.c: Fixed a bug whereby a received file whose length was
- a multiple of 512 bytes could have random garbage appended.
- Also, stop processing TFTP packets which are too short to be
- legal.
-
-2006-03-20 14:14 bagder
-
- * src/main.c: off-by-one for the case when it adds /? and a
- terminating zero to the URL
-
-2006-03-20 10:03 bagder
-
- * CHANGES, RELEASE-NOTES, include/curl/curlver.h: start working
- towards 7.15.4
-
-2006-03-20 08:59 bagder
-
- * configure.ac, packages/Makefile.am, packages/AIX/Makefile.am:
- fixed the AIX packages
-
-2006-03-20 08:37 bagder
-
- * packages/AIX/: Makefile.am, RPM/Makefile.am: missing in CVS
-
-2006-03-20 08:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c: fixed tftp packet overflow
- risk
-
-2006-03-17 09:22 bagder
-
- * docs/libcurl/curl_getenv.3: slight rewording based on debian bug
- report #357388 by Justin Pryzby
-
-2006-03-16 23:31 bagder
-
- * docs/KNOWN_BUGS: fixed in CVS
-
-2006-03-16 22:23 bagder
-
- * packages/: Makefile.am, AIX/RPM/README, AIX/RPM/curl.spec.in: AIX
- Toolbox RPM spec file by Tor Arntsen
-
-2006-03-15 22:21 bagder
-
- * docs/curl.1: slightly edited explanation for -f/--fail by the
- help of Kjell Ericson
-
-2006-03-14 01:07 bagder
-
- * src/main.c: use the new types accordingly
-
-2006-03-14 01:05 bagder
-
- * include/curl/curl.h, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3: --ftp-method and
- CURLOPT_FTP_FILEMETHOD are now documented and usable
-
-2006-03-14 00:34 bagder
-
- * lib/ssluse.c: David McCreedy found a use of the wrong variable
- when display the error text from OpenSSL.
-
-2006-03-14 00:33 bagder
-
- * lib/ftp.c: David McCreedy found a missing return code assignment
-
-2006-03-13 20:44 bagder
-
- * docs/libcurl/: curl_easy_getinfo.3, libcurl-tutorial.3: Scott
- Worley's typo fixes
-
-2006-03-08 16:46 bagder
-
- * lib/ftp.c: Peter Heuchert's correction for the clear control
- connection case
-
-2006-03-08 00:11 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, lib/urldata.h: Markus Koetter
- filed debian bug report #355715 which identified a problem with
- the multi interface and multi-part formposts. The fix from
- February 22nd could make the Curl_done() function get called
- twice on the same connection and it was not designed for that and
- thus tried to call free() on an already freed memory area!
-
-2006-03-07 23:28 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Peter Heuchert made sure the
- CURLFTPSSL_CONTROL setting for CURLOPT_FTP_SSL is used properly.
-
-2006-03-06 23:35 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Lots of users on Windows
- have reported getting the "SSL: couldn't set callback" error
- message so I've now made the setting of that callback not be as
- critical as before. The function is only used for additional
- loggging/ trace anyway so a failure just means slightly less
- data. It should still be able to proceed and connect fine to the
- server.
-
-2006-03-04 23:39 bagder
-
- * CHANGES, RELEASE-NOTES, lib/if2ip.h: build fix for Interix
-
-2006-03-03 15:37 bagder
-
- * tests/runtests.pl: If run on a curl built shared, detect this and
- invoke libtool for gdb accordingly.
-
-2006-03-03 14:12 bagder
-
- * tests/data/Makefile.am: added test524
-
-2006-03-03 14:09 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/test524,
- tests/libtest/Makefile.am, tests/libtest/lib524.c: Prevent
- uploading to a URL that has no file name part.
-
-2006-03-02 23:09 bagder
-
- * docs/libcurl/curl_easy_setopt.3: point out that CAINFO points out
- a file name by default
-
-2006-03-02 23:04 bagder
-
- * docs/curl.1: added large chunk of blurb about the progress meter
-
-2006-03-02 14:35 bagder
-
- * docs/KNOWN_BUGS: I'm pretty sure #24 is fixed in 7.15.2
-
-2006-03-02 12:41 bagder
-
- * CHANGES, RELEASE-NOTES: mention Dan F's out-of-file handles fix
- from the other day
-
-2006-03-02 12:37 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac: check for and use
- getprotobyname
-
-2006-02-28 19:21 danf
-
- * src/main.c: Don't lock up at start when there aren't any free
- file descriptors.
-
-2006-02-27 22:32 bagder
-
- * packages/vms/Makefile.am: added missing files
-
-2006-02-27 19:17 bagder
-
- * docs/THANKS: ack, removed duplicate
-
-2006-02-27 19:16 bagder
-
- * docs/THANKS: 7.15.2 contributors added
-
-2006-02-27 19:14 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start over on what might
- become 7.15.3
-
-2006-02-27 17:09 bagder
-
- * CHANGES: hehe, wrong year but who reads these lines anyway? ;-)
-
-2006-02-27 17:05 bagder
-
- * CHANGES: 7.15.2
-
-2006-02-26 19:20 giva
-
- * lib/connect.c: Small fix.
-
-2006-02-26 18:08 giva
-
- * lib/: config-win32.h, config.dj, connect.c: Use getprotobyname()
- to retrieve protocol number for TCP (sorry, I don't know how to
- add this to the configure process).
-
-2006-02-25 19:57 giva
-
- * tests/server/sws.c: Fix typo.
-
-2006-02-24 22:35 danf
-
- * lib/url.c: Added user ID support to SOCKS4.
-
-2006-02-23 22:33 bagder
-
- * src/writeout.c: Fixed typo, the option is called --write-out. Bob
- Bagwill pointed out.
-
-2006-02-23 22:29 bagder
-
- * lib/multi.c: argh, forgot the check for a connection before we
- call Curl_done
-
-2006-02-23 19:39 danf
-
- * lib/url.c: Fixed a few more comment typos.
-
-2006-02-23 15:42 bagder
-
- * lib/url.c: Peter Su's SOCKS4 fix
-
-2006-02-23 13:21 bagder
-
- * TODO-RELEASE: the last planned fix is done
-
-2006-02-23 13:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostip.h, lib/multi.c, lib/url.c:
- Lots of work and analysis by "xbx___" in bug #1431750
- (http://curl.haxx.se/bug/view.cgi?id=1431750) helped me identify
- and fix two different but related bugs:
-
- 1) Removing an easy handle from a multi handle before the
- transfer is done could leave a connection in the connection
- cache for that handle that is in a state that isn't suitable
- for re-use. A subsequent re-use could then read from a NULL
- pointer and segfault.
-
- 2) When an easy handle was removed from the multi handle, there
- could be an outstanding c-ares DNS name resolve request. When
- the response arrived, it caused havoc since the connection
- struct it "belonged" to could've been freed already.
-
- Now Curl_done() is called when an easy handle is removed from a
- multi handle pre-maturely (that is, before the transfer was
- complteted). Curl_done() also makes sure to cancel all (if any)
- outstanding c-ares requests.
-
-2006-02-23 00:55 danf
-
- * docs/KNOWN_BUGS, tests/data/test57: Fixed test case 57 (KNOWN_BUG
- #18)
-
-2006-02-22 20:09 danf
-
- * lib/url.c: Fixed some spelling errors in comments, and extraneous
- \n in failf logs.
-
-2006-02-21 16:25 bagder
-
- * src/main.c: two typos in comments
-
-2006-02-21 08:46 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, lib/url.c, src/main.c: Peter Su
- added support for SOCKS4 proxies. Enable this by setting the
- proxy type to the already provided type CURLPROXY_SOCKS4. I
- added a --socks4 option that works like the current --socks5
- option but instead use the socks4 protocol.
-
-2006-02-20 11:05 bagder
-
- * docs/KNOWN_BUGS: ftp upload with url ending with slash
-
-2006-02-20 00:16 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Shmulik Regev fixed an
- issue with multi-pass authentication and compressed content when
- libcurl didn't honor the internal ignorebody flag.
-
-2006-02-18 23:27 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_negotiate.c, tests/server/sws.c:
- Ulf Härnhammar fixed a format string (printf style) problem in
- the Negotiate code. It should however not be the cause of any
- troubles. He also fixed a few similar problems in the HTTP test
- server code.
-
-2006-02-17 16:58 yangtse
-
- * lib/config-win32ce.h: Fix spacing.
-
-2006-02-17 14:31 bagder
-
- * docs/libcurl/curl_global_cleanup.3: fixed formatting
-
-2006-02-17 00:42 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/hostip.c: Shmulik Regev
- provided a fix for the DNS cache when using short life times, as
- previously it could be holding on to old cached entries longer
- than requested.
-
-2006-02-16 20:19 danf
-
- * docs/KNOWN_BUGS: Gopher is no longer supported.
-
-2006-02-16 13:11 bagder
-
- * TODO-RELEASE: two items before release
-
-2006-02-16 11:02 bagder
-
- * lib/url.c: Added some clarifying comments
-
-2006-02-15 10:36 bagder
-
- * docs/KNOWN_BUGS: 32. (At least on Windows) If libcurl is built
- with c-ares and there's no DNS server configured in the system,
- the ares_init() call fails and thus curl_easy_init() fails as
- well. This causes weird effects for people who use numerical IP
- addresses only.
-
-2006-02-11 23:36 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: mention the
- CURLOPT_CONNECT_ONLY connection
-
-2006-02-11 23:35 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_getinfo.3,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/easy.c,
- lib/ftp.c, lib/getinfo.c, lib/http.c, lib/multi.c,
- lib/transfer.c, lib/url.c, lib/urldata.h: Karl M added the
- CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options that an app
- can use to let libcurl only connect to a remote host and then
- extract the socket from libcurl. libcurl will then not attempt to
- do any transfer at all after the connect is done.
-
-2006-02-11 13:56 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac: Kent Boortz improved the
- configure check for GnuTLS to properly set LIBS instead of
- LDFLAGS.
-
-2006-02-09 23:25 bagder
-
- * docs/libcurl/libcurl-tutorial.3: CURLOPT_NOSIGNAL might be a MUST
- to make threaded use work, like on AIX 5.2 due to the use of the
- static variable for sigsetjmp()
-
-2006-02-08 00:09 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Philippe Vaucher provided
- a brilliant piece of test code that show a problem with re-used
- FTP connections. If the second request on the same connection was
- set not to fetch a "body", libcurl could get confused and
- consider it an attempt to use a dead connection and would go
- acting mighty strange.
-
-2006-02-07 19:56 bagder
-
- * src/main.c: avoid illegal memory access when doing "-T [URL]
- [URL]"
-
-2006-02-07 15:03 bagder
-
- * docs/libcurl/libcurl-tutorial.3: Rene Bernhardt found this typo
-
-2006-02-06 21:02 bagder
-
- * tests/data/test46: how silly, the cookie expired! ;-)
-
-2006-02-04 19:08 bagder
-
- * docs/examples/: Makefile.am, README, synctime.c: Frank's
- synctime.c example and an updated list in README
-
-2006-02-02 00:28 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: fixed --limit-rate
-
-2006-02-02 00:26 bagder
-
- * src/main.c: Make --limit-rate [num] mean bytes. Seems I broke it
- back in november 2005...
-
-2006-01-30 19:57 giva
-
- * lib/connect.c: Squelch the "warning: 'port' might be used
- uninitialized in this function". (occurs w/o ENABLE_IPV6).
-
-2006-01-30 09:24 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/connect.c, lib/url.c, lib/urldata.h, src/main.c: Added
- CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with
- the curl tool with --local-port. Plain and simply set the range
- of ports to bind the local end of connections to. Implemented on
- to popular demand.
-
- Not extensively tested. Please let me know how it works.
-
-2006-01-30 09:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: Based on an error report
- by Philippe Vaucher, we no longer count a retried connection
- setup as a follow-redirect. It turns out 1) this fails when a FTP
- connection is re-setup and 2) it does make the max-redirs counter
- behave wrong. This fix was not verified since the reporter
- vanished, but I believe this is the right fix nonetheless.
-
-2006-01-29 14:13 bagder
-
- * RELEASE-NOTES: more mirrors
-
-2006-01-28 14:14 bagder
-
- * docs/TODO: we should fix the system includes in the public
- headers to be based on checks of the system instead of depending
- on what particular systems we think need various headers
-
-2006-01-28 14:13 bagder
-
- * include/curl/multi.h: include sys/select.h on NetBSD as well
-
-2006-01-27 22:23 bagder
-
- * docs/libcurl/libcurl-errors.3: typo pointed out by Mike Griffiths
-
-2006-01-27 16:01 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Cyrill Osterwalder pointed out
- that sending "" as data in a header is in fact equal to a blank
- one according to the spec.
-
-2006-01-26 11:39 bagder
-
- * lib/krb4.c: updated source header
-
-2006-01-24 15:40 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/test238: Michal
- Marek provided a patch for FTP that makes libcurl continue to try
- PASV even after EPSV returned a positive response code, if
- libcurl failed to connect to the port number the EPSV response
- said. Obviously some people are going through protocol-sensitive
- firewalls (or similar) that don't understand EPSV and then they
- don't allow the second connection unless PASV was used. This also
- called for a minor fix of test case 238.
-
-2006-01-20 19:56 danf
-
- * docs/curl.1: Fixed some statements about handling multiple
- occurrences of options. Tried to make some of the wording a bit
- more consistent.
-
-2006-01-20 18:50 bagder
-
- * RELEASE-NOTES: the second -P fix
-
-2006-01-20 00:52 bagder
-
- * CHANGES, lib/ftp.c, lib/url.c, lib/urldata.h, tests/data/test212:
- Duane Cathey was one of our friends who reported that curl -P
- [IP] (CURLOPT_FTPPORT) didn't work for ipv6-enabed curls if the
- IP wasn't a "native" IP while it works fine for ipv6-disabled
- builds!
-
- In the process of fixing this, I removed the support for LPRT
- since I can't think of many reasons to keep doing it and asking
- on the mailing list didn't reveal anyone else that could either.
- The code that sends EPRT and PORT is now also a lot simpler than
- before (IMHO).
-
-2006-01-19 23:02 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Jon Turner pointed out that
- doing -P [hostname] with curl (built ipv4-only) didn't work.
-
-2006-01-19 21:40 bagder
-
- * docs/curl.1: clarify what "-P -" does
-
-2006-01-19 10:53 bagder
-
- * docs/LICENSE-MIXING: corrected factual mistake about BSD license
- in the krb4.c code
-
-2006-01-18 13:17 bagder
-
- * CHANGES, README, RELEASE-NOTES: reality sync
-
-2006-01-18 11:00 bagder
-
- * CHANGES, RELEASE-NOTES, acinclude.m4: configure no longer warns
- on "missing" if the current path contains a space
-
-2006-01-17 18:39 bagder
-
- * docs/libcurl/libcurl.m4: David Shaw: Here is the latest
- libcurl.m4 autoconf tests. It is updated with the latest
- features and protocols that libcurl supports and has a minor fix
- to better deal with the obscure case where someone has more than
- one libcurl installed at the same time.
-
-2006-01-17 08:53 bagder
-
- * COPYING: happy new year!
-
-2006-01-16 23:14 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, curl-config.in, docs/FAQ,
- docs/FEATURES, docs/INSTALL, docs/MANUAL, docs/curl-config.1,
- docs/curl.1, docs/libcurl/libcurl.m4, lib/setup.h, lib/url.c,
- lib/urldata.h, lib/version.c,
- packages/Linux/RPM/curl-ssl.spec.in,
- packages/Linux/RPM/curl.spec.in, packages/Win32/cygwin/README,
- perl/contrib/checklinks.pl.in, tests/README, tests/runtests.pl:
- David Shaw finally removed all traces of Gopher and we are now
- officially not supporting it. It hasn't been functioning for
- years anyway, so this is just finally stating what already was
- true. And a cleanup at the same time.
-
-2006-01-16 01:00 bagder
-
- * docs/curl.1: improved the description of the -L/--location option
-
-2006-01-16 00:55 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_init.3,
- docs/libcurl/curl_global_cleanup.3,
- docs/libcurl/curl_global_init.3, docs/libcurl/libcurl.3,
- lib/easy.c: Bryan Henderson turned the 'initialized' variable for
- curl_global_init() into a counter, and thus you can now do
- multiple curl_global_init() and you are then supposed to do the
- same amount of calls to curl_global_cleanup(). Bryan also
- updated the docs accordingly.
-
-2006-01-16 00:17 bagder
-
- * hiper/shiper.c: adjusted to use curl_multi_setopt() to set the
- callback
-
-2006-01-16 00:15 bagder
-
- * docs/libcurl/: curl_multi_setopt.3, curl_multi_socket.3: adjusted
- to the new concept of the callback
-
-2006-01-13 13:16 bagder
-
- * CHANGES, RELEASE-NOTES, tests/runtests.pl: Andrew Benham fixed a
- race condition in the test suite that could cause the test script
- to kill all processes in the current process group!
-
-2006-01-12 23:18 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Fixed FTP_SKIP_PASV_IP and
- FTP_USE_EPSV to "do right" when used on FTP thru HTTP proxy.
-
-2006-01-12 13:40 bagder
-
- * CHANGES, lib/ftp.c: Michael Jahn fixed ftp over CONNECT
-
-2006-01-11 00:08 bagder
-
- * CHANGES: mention the "secret" option as I've got no feedback and
- it is actually present in 7.15.1
-
-2006-01-11 00:03 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/urldata.h: When using a
- bad path over FTP, as in when libcurl couldn't CWD into all given
- subdirs, libcurl would still "remember" the full path as if it is
- the current directory libcurl is in so that the next
- curl_easy_perform() would get really confused if it tried the
- same path again - as it would not issue any CWD commands at all,
- assuming it is already in the "proper" dir.
-
- Starting now, a failed CWD command sets a flag that prevents the
- path to be "remembered" after returning.
-
-2006-01-09 14:17 bagder
-
- * docs/libcurl/curl_easy_setopt.3, include/curl/mprintf.h,
- include/curl/multi.h, lib/amigaos.c, lib/amigaos.h, lib/cookie.h,
- lib/escape.h, lib/getenv.c, lib/http.c, lib/setup.h,
- lib/strtoofft.c, lib/timeval.c, lib/timeval.h,
- tests/server/Makefile.am, tests/server/resolve.c,
- tests/server/sws.c, tests/server/tftp.h: Made the copyright year
- match the latest modification's year.
-
-2006-01-09 09:31 bagder
-
- * ares/: CHANGES, acinclude.m4: Alexander Lazic improved the
- getservbyport_r() configure check.
-
-2006-01-09 00:28 bagder
-
- * RELEASE-NOTES: one more mirror, now fortunately in Japan
-
-2006-01-08 23:55 bagder
-
- * docs/libcurl/curl_easy_setopt.3: use the proper dash
-
-2006-01-07 23:24 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c: Mike Jean fixed so that the
- second CONNECT when doing FTP over a HTTP proxy actually used a
- new connection and not sent the second request on the first
- socket!
-
-2006-01-06 23:59 bagder
-
- * CHANGES, RELEASE-NOTES, ares/CHANGES: buildconf fixes
-
-2006-01-06 23:08 bagder
-
- * buildconf: As Alexander Lazic pointed out, run the buildconf from
- the ares dir if that is present instead of trying to duplicate
- that stuff in this script.
-
-2006-01-06 23:07 bagder
-
- * ares/buildconf: Use $ACLOCAL_FLAGS too, pointed out by Alexander
- Lazic
-
-2006-01-05 15:58 bagder
-
- * hiper/STATUS: summary of what we have
-
-2006-01-05 08:57 bagder
-
- * ares/: CHANGES, ares_init.c, ares_private.h: James Bursa fixes:
- find the hosts file on RISC OS, and made it build with newer gcc
- versions that no longer defines "riscos".
-
-2006-01-05 08:56 bagder
-
- * ares/AUTHORS: Yang Tse has been helping out
-
-2006-01-05 00:02 bagder
-
- * tests/server/resolve.c: modified output to prevent the autobuild
- system to trap on the 'FAILED' output mistaking it for an actual
- failed test case
-
-2006-01-04 15:21 giva
-
- * ares/Makefile.vc6: Added ares_getsock.obj.
-
-2006-01-04 15:11 bagder
-
- * hiper/: hiper.c, shiper.c: updated test programs to use the API
- as it currently works
-
-2006-01-04 15:09 bagder
-
- * docs/libcurl/curl_multi_socket.3: removed easy handle argument
- from proto
-
-2006-01-04 15:09 bagder
-
- * docs/libcurl/libcurl-errors.3: upcoming new error code
-
-2006-01-04 11:07 bagder
-
- * CHANGES: Andres Garcia made the TFTP test server build with
- mingw.
-
-2006-01-04 11:04 bagder
-
- * RELEASE-NOTES: not much recent stuff, but still I had this
- modified locally
-
-2006-01-03 23:47 bagder
-
- * tests/server/: Makefile.am, tftp.h: Added remake of the
- arpa/tftp.h file to make the TFTP server build on systems without
- the real header file.
-
-2006-01-03 23:44 bagder
-
- * tests/server/tftpd.c: killed trailing whitespace
-
-2006-01-03 23:19 bagder
-
- * tests/server/tftpd.c: Andres Garcia made the TFTP test server
- build with mingw ("I also had to copy the 'tftp.h' file from a
- linux box, since it doesn't come with mingw.")
-
-2006-01-03 16:53 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_PROGRESSFUNCTION is
- really not a good idea when using the multi interface
-
-2006-01-03 16:52 bagder
-
- * docs/libcurl/curl_multi_timeout.3: fixed the prototype
-
-2006-01-03 13:18 bagder
-
- * tests/server/sws.c: modified to hush compiler warnings
-
-2006-01-03 00:37 bagder
-
- * include/curl/multi.h: Removed inaccurate comment for upcoming
- curl_multi_socket() and family. Modified the callback proto used
- for it.
-
-2006-01-03 00:32 bagder
-
- * docs/libcurl/: curl_easy_reset.3, curl_easy_strerror.3,
- curl_multi_fdset.3, curl_multi_perform.3, curl_multi_strerror.3,
- curl_share_strerror.3: minor edits
-
-2006-01-03 00:00 bagder
-
- * docs/libcurl/curl_multi_timeout.3: Initial description of the
- upcoming curl_multi_timeout() function
-
-2006-01-02 23:58 bagder
-
- * docs/libcurl/curl_multi_socket.3: I removed the timeout argument
- from the socket callback and did some other cleanups of this man
- page. The lengthy description has now also been removed from
- curl/multi.h since it immediately got tedious to maintain the
- info on two places when I did major updates...
-
-2006-01-02 19:35 giva
-
- * lib/setup.h: Include <sys/ioctl.h> before redefining ioctl().
-
-2006-01-02 13:19 bagder
-
- * tests/: FILEFORMAT, server/sws.c: 1. sws now supports two new
- "commands" and 2. if built with CURL_SWS_FORK_ENABLED defined it
- forks for each new connection and thus can support any amount of
- connection clients (used for hiper tests and not for the standard
- plain curl test suite)
-
-2006-01-02 10:13 bagder
-
- * ares/ares_version.h: we're working on 1.3.1 (or more)
-
-2005-12-30 01:35 curlvms
-
- * lib/parsedate.c: fix questionable compare
-
-2005-12-30 01:20 curlvms
-
- * lib/file.c: fix questionable compare compiler error (unsigned
- can't be < 0)
-
-2005-12-30 01:07 curlvms
-
- * packages/vms/: curlmsg.msg, curlmsg_vms.h: added TFTP errors to
- match curl.h
-
-2005-12-30 01:07 curlvms
-
- * packages/vms/config-vms.h: changed HAVE_STRTOK to follow CRTL
- version
-
-2005-12-30 01:07 curlvms
-
- * packages/vms/curlmsg.h: put back into dist since most people
- didn't want to use SDL
-
-2005-12-30 01:07 curlvms
-
- * packages/vms/curlmsg.sdl: put back into dist to lessen build
- confusion for some
-
-2005-12-30 01:07 curlvms
-
- * lib/: file.c, parsedate.c: putting back into dist
-
-2005-12-30 01:07 curlvms
-
- * packages/vms/.cvsignore: removed .h and .sdl
-
-2005-12-30 01:07 curlvms
-
- * packages/vms/build_vms.com: removed defunct email address
-
-2005-12-24 00:40 bagder
-
- * lib/Makefile.vc6: Kirill Vasiliev fixed the 'release-ssl-dll'
- target to properly build a static libcurl using openssl as dll.
-
-2005-12-24 00:22 bagder
-
- * docs/libcurl/: curl_easy_init.3, curl_global_init.3: clarified
- that curl_global_init() isn't thread-safe and that it might
- affect curl_easy_init() if you don't call curl_global_init()
- explicitly in your app
-
-2005-12-23 23:33 danf
-
- * configure.ac: Mention that PKG_CONFIG_PATH is preferred to
- --with-ssl
-
-2005-12-22 16:31 bagder
-
- * ares/: ares_cancel.3, ares_getsock.3: This function was added in
- c-ares [version]
-
-2005-12-22 16:29 bagder
-
- * ares/CHANGES: added ares_getsock()
-
-2005-12-22 16:27 bagder
-
- * ares/: Makefile.inc, ares.h, ares_getsock.3, ares_getsock.c:
- Added ares_getsock() to extract sockets to wait for action on,
- without being limited to select().
-
-2005-12-22 16:11 bagder
-
- * docs/libcurl/: curl_multi_socket.3, curl_multi_socket_all.3: The
- inital early embryos to describe the curl_multi_socket() API.
- Committed now to enable them to get added as web pages easier,
- they are not ready for anything "real" just yet.
-
-2005-12-22 15:14 bagder
-
- * hiper/shiper.c: the curl_multi_socket() test application (still
- using select())
-
-2005-12-22 09:33 bagder
-
- * docs/KNOWN_BUGS: #31 curl-config --libs" will include details set
- in LDFLAGS when configure is run that might be needed only for
- building libcurl.
-
-2005-12-21 21:44 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- Checking for function getnameinfo and its arguments is finally
- done in one single function CURL_CHECK_FUNC_GETNAMEINFO which
- will only define HAVE_GETNAMEINFO if the function has been found
- AND the type of its arguments has been properly been detected
-
-2005-12-21 18:51 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Undefine HAVE_GETNAMEINFO if
- unable to find proper types to use for getnameinfo args
-
-2005-12-21 18:20 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Undefine HAVE_GETNAMEINFO if
- unable to find proper types to use for getnameinfo args
-
-2005-12-21 17:08 yangtse
-
- * ares/configure.ac: Make sure we're using 'c-ares' sources and not
- 'ares' ones.
-
-2005-12-21 10:15 bagder
-
- * buildconf: added our regular source header
-
-2005-12-21 09:09 bagder
-
- * buildconf: allow more evironment variables to control what tools
- to check for and use
-
-2005-12-21 08:59 bagder
-
- * buildconf: use ACLOCAL even when using 'find' to find the aclocal
- tool
-
-2005-12-21 00:49 yangtse
-
- * acinclude.m4, ares/acinclude.m4: In
- CURL_FUNC_GETNAMEINFO_ARGTYPES, when cross-compiling a windows
- target use calling convention WSAAPI for getnameinfo() prototype.
- Checking type DWORD as argument 4 and 6 of getnameinfo not
- needed.
-
-2005-12-20 23:46 bagder
-
- * lib/url.c: explain tld_check_name()
-
-2005-12-20 23:20 giva
-
- * include/curl/curl.h: Changes for PellesC compiler under Win32.
-
-2005-12-20 23:20 giva
-
- * lib/: config-win32.h, setup.h, timeval.h: Changes for PellesC
- compiler under Win32. A bit limited, but we just love swedish
- products...
-
-2005-12-20 21:58 giva
-
- * ares/ares__read_line.c: Fix PellesC warning.
-
-2005-12-20 21:48 giva
-
- * ares/: ares_process.c, config-win32.h, setup.h: Changes for
- PellesC for Win32. It needs <unistd.h> for 'ssize_t'. Hence the
- rearrangement in ares_process.c.
-
-2005-12-20 21:29 yangtse
-
- * acinclude.m4, ares/acinclude.m4: fix ioctlsocket detection
-
-2005-12-20 19:50 yangtse
-
- * configure.ac, ares/configure.ac: Fix, header checks must be done
- before using its results.
-
-2005-12-20 10:19 bagder
-
- * hiper/: Makefile, shiper.c: shiper is the new test tool for the
- new API
-
-2005-12-20 10:19 bagder
-
- * hiper/hiper.c: show dl speed
-
-2005-12-20 10:02 bagder
-
- * acinclude.m4, configure.ac: added our standard source header
-
-2005-12-20 09:51 bagder
-
- * acinclude.m4, ares/acinclude.m4: fix closing parentheses
-
-2005-12-20 09:51 bagder
-
- * ares/configure.ac: use AC_PROG_LIBTOOL after AC_DISABLE_SHARED
-
-2005-12-20 04:23 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4: Fix quoting
-
-2005-12-20 03:48 yangtse
-
- * configure.ac: Give third argument to AC_DEFINE_UNQUOTED
-
-2005-12-20 01:27 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Use native type SOCKET instead
- of int when testing functionality of ioctlsocket on Windows
-
-2005-12-20 00:32 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Ooops
-
-2005-12-19 23:36 danf
-
- * src/main.c: Fixed compiler warning on libc5.
-
-2005-12-19 22:45 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Add checking for type DWORD as
- argument 4 and 6 of getnameinfo
-
-2005-12-19 22:38 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- Adjust more windows header includes
-
-2005-12-19 20:47 danf
-
- * lib/ssluse.c, tests/server/tftpd.c: Fixed lcc compiler warnings.
-
-2005-12-19 06:57 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Fix guard detection of
- _WIN32_WINNT for MingW in CURL_FUNC_GETNAMEINFO_ARGTYPES
-
-2005-12-19 06:32 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Add check for 'unsigned int' as
- type of arguments 4 and 6 of getnameinfo
-
-2005-12-19 01:15 yangtse
-
- * ares/ares.h, ares/nameser.h, include/curl/multi.h: Undo previous
- change. This header file belongs to the public interface and the
- change could break the compilation of thrid party apps which link
- against this library.
-
-2005-12-18 21:24 yangtse
-
- * acinclude.m4, ares/acinclude.m4: When checking the type of the
- first argument of getnameinfo do it in the following order:
- 'struct sockaddr *' 'const struct sockaddr *' 'void *'.
-
-2005-12-18 17:50 yangtse
-
- * ares/config-win32.h, lib/config-win32.h, lib/config-win32ce.h,
- src/config-win32.h: Fix spacing. When defining, define to 1.
-
-2005-12-18 16:36 yangtse
-
- * ares/ares.h, ares/nameser.h, include/curl/multi.h, lib/connect.c,
- lib/getenv.c, lib/ldap.c, lib/timeval.c, src/homedir.c,
- src/main.c, tests/server/util.h: Cleanup windows header includes.
- Where aplicable, inclusion of windows.h winsock.h winsock2.h
- ws2tcpip.h is done in setup.h
-
-2005-12-18 07:07 yangtse
-
- * acinclude.m4, ares/acinclude.m4: MingW guards getnameinfo,
- getaddrinfo and freeaddrinfo with _WIN32_WINNT >= 0x0501
-
-2005-12-18 05:47 yangtse
-
- * configure.ac, ares/configure.ac: Fix Msys/Mingw not detecting
- getnameinfo() with AC_CHECK_FUNCS
-
-2005-12-18 01:27 yangtse
-
- * ares/Makefile.vc6: Make it compatible with vc60 and vc71
-
-2005-12-18 00:35 yangtse
-
- * ares/setup.h: Fix typo
-
-2005-12-18 00:34 yangtse
-
- * ares/adig.c: Fix compiler warning
-
-2005-12-17 22:20 yangtse
-
- * ares/config-win32.h, lib/config-win32.h, lib/config-win32ce.h,
- src/config-win32.h: Cleanup
-
-2005-12-17 21:37 yangtse
-
- * ares/setup.h, lib/setup.h, src/setup.h: Windows related cleanup
-
-2005-12-17 18:33 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Check first arg of getnameinfo
- with and without const qualifier.
-
-2005-12-17 07:04 yangtse
-
- * lib/setup.h: Change multiple header inclusion prevention
- definition to __LIB_CURL_SETUP_H
-
-2005-12-17 03:41 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Avoid breaking configure due to
- CURL_FUNC_GETNAMEINFO_ARGTYPES failure, since at this point
- nothing depends on it.
-
-2005-12-17 03:32 yangtse
-
- * acinclude.m4, ares/acinclude.m4: const qualifier in getnameinfo
- check
-
-2005-12-17 00:15 yangtse
-
- * acinclude.m4, ares/acinclude.m4: Since there is no proof of the
- existence of a platform which would justify checking for
- socklen_t in more than one function, the code used to find a
- valid socklen_t replacement is simplified back. The only function
- that will be used to find a socklen_t replacement is getpeername,
- as it has been since revision 1.4 of curl/acinclude.m4
-
-2005-12-16 21:55 yangtse
-
- * ares/config-win32.h, ares/setup.h, lib/config-win32.h,
- lib/config-win32ce.h, lib/setup.h, src/config-win32.h,
- src/setup.h: 'Fix' windows builds
-
-2005-12-16 19:18 yangtse
-
- * acinclude.m4, configure.ac, ares/acinclude.m4, ares/configure.ac:
- TYPE_SOCKLEN_T completely replaced by CURL_CHECK_TYPE_SOCKLEN_T.
- CURL_FUNC_GETNAMEINFO_ARGTYPES now also checks first argument.
- All related changes taken to cares configuration scripts.
-
-2005-12-16 15:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Jean Jacques Drouin pointed
- out that you could only have a user name or password of 127 bytes
- or less embedded in a URL, where actually the code uses a 255
- byte buffer for it! Modified now to use the full buffer size.
-
-2005-12-16 08:28 yangtse
-
- * acinclude.m4: More quotes
-
-2005-12-16 07:50 yangtse
-
- * acinclude.m4: Fix copy paste bug
-
-2005-12-16 06:05 yangtse
-
- * acinclude.m4, configure.ac: Test CURL_CHECK_TYPE_SOCKLEN_T
-
-2005-12-16 05:54 yangtse
-
- * acinclude.m4: Oops. Wrong double quotes
-
-2005-12-16 05:18 yangtse
-
- * acinclude.m4, configure.ac: Experimental check for socklen_t
- CURL_CHECK_TYPE_SOCKLEN_T
-
-2005-12-15 20:39 yangtse
-
- * acinclude.m4, configure.ac: Tests to check the availability of
- compilable and valid windows.h winsock.h winsock2.h and
- ws2tcpip.h header files: CURL_CHECK_HEADER_WINDOWS
- CURL_CHECK_HEADER_WINSOCK CURL_CHECK_HEADER_WINSOCK2
- CURL_CHECK_HEADER_WS2TCPIP
-
-2005-12-15 08:43 bagder
-
- * docs/curl.1: minor edit
-
-2005-12-14 22:09 yangtse
-
- * acinclude.m4, configure.ac: Some preprocessors have problems if
- the # character isn't at position 1.
-
-2005-12-14 21:58 yangtse
-
- * configure.ac: Check getnameinfo() argument types only if we have
- getnameinfo().
-
-2005-12-14 20:00 yangtse
-
- * acinclude.m4, configure.ac: Determine the correct type to be
- passed to four of the `getnameinfo' function's arguments, and
- define those types in `GETNAMEINFO_TYPE_ARG2',
- `GETNAMEINFO_TYPE_ARG46', and `GETNAMEINFO_TYPE_ARG7'.
-
-2005-12-14 14:10 bagder
-
- * docs/examples/post-callback.c: Rene Bernhardt's corrections
-
-2005-12-13 20:07 danf
-
- * tests/testcurl.pl: Log CPPFLAGS environment variable along with
- the others.
-
-2005-12-13 19:54 danf
-
- * lib/connect.c, lib/ssluse.c, src/getpass.c, tests/server/tftpd.c:
- Fixed some compiler warnings on lcc.
-
-2005-12-13 14:50 yangtse
-
- * lib/hostip6.c: Undo last 'fix', since it was not the proper one.
-
-2005-12-13 00:05 bagder
-
- * docs/KNOWN_BUGS: another SOCKS-related problem added
-
-2005-12-12 23:50 bagder
-
- * docs/KNOWN_BUGS: added #29 and #30
-
-2005-12-12 19:40 yangtse
-
- * lib/hostip6.c: Fix compiler warning
-
-2005-12-12 18:11 danf
-
- * include/curl/curl.h: lcc isn't Windows-only, so check for it in
- conjunction with WIN32
-
-2005-12-12 00:37 yangtse
-
- * ares/ares.h, ares/ares_getnameinfo.c, lib/ftp.c, lib/hostip.h,
- lib/hostip6.c: Undo last changes
-
-2005-12-12 00:14 bagder
-
- * lib/setup.h: Dov Murik made defining HTTP_ONLY also disable TFTP
-
-2005-12-11 19:29 yangtse
-
- * lib/ftp.c: Avoid generation of additional warnings
-
-2005-12-11 13:03 yangtse
-
- * ares/ares.h, ares/ares_getnameinfo.c, lib/ftp.c, lib/hostip.h,
- lib/hostip6.c: Fix compiler warning and compatibility issue with
- the type of the parameter used in getnameinfo() to receive the
- length of the sockaddr struct.
-
-2005-12-10 23:14 bagder
-
- * docs/TODO: use c-ares' IPv6 abilities fix CONNECT to a proxy that
- disconnects during the auth phase
-
-2005-12-10 23:12 bagder
-
- * docs/libcurl/curl_easy_setopt.3: fix CURLOPT_FAILONERROR error,
- pointed out by Shailesh N. Humbad
-
-2005-12-10 20:21 yangtse
-
- * ares/ares_getnameinfo.c: Modified lookup_service() to avoid the
- risk of a potential buffer overflow
-
-2005-12-09 23:23 yangtse
-
- * ares/ares_getnameinfo.c: Fix compiler warning
-
-2005-12-09 22:09 yangtse
-
- * ares/ares_process.c: Fix compiler warning
-
-2005-12-09 16:19 yangtse
-
- * lib/setup.h: Unset HAVE_STRUCT_SOCKADDR_STORAGE when using msvc
- 6.0 with no PSDK
-
-2005-12-09 11:41 bagder
-
- * hiper/Makefile: build ulimiter too
-
-2005-12-09 11:41 bagder
-
- * hiper/hiper.c: Work around the 1024 connection limit in select(),
- or rather in the FD_* macros.
-
-2005-12-09 11:40 bagder
-
- * hiper/ulimiter.c: Handy little tool that increases the amount of
- max open file descriptors and then runs a given command line.
-
-2005-12-08 23:59 danf
-
- * lib/: inet_ntop.c, inet_pton.c: Replaced nonstandard u_char and
- u_int types
-
-2005-12-08 21:38 yangtse
-
- * lib/tftp.c: Fix compiler warning
-
-2005-12-08 20:47 yangtse
-
- * lib/hostip6.c: Fix compiler warning
-
-2005-12-08 19:59 danf
-
- * lib/README.encoding: Fixed a lingering omission of gzip support.
-
-2005-12-08 17:43 yangtse
-
- * tests/server/tftpd.c: Fix compiler warning
-
-2005-12-08 15:01 yangtse
-
- * src/main.c: Fix a couple of compiler warnings
-
-2005-12-08 12:29 yangtse
-
- * tests/runtests.pl: If unable to get curl's version, log all
- failure details.
-
-2005-12-07 16:43 bagder
-
- * hiper/hiper.c: Lots of updates to detect what problems we got.
- They are related to the 1024 file descriptor limit in the
- server...
-
-2005-12-07 11:07 bagder
-
- * hiper/hiper.c: New version for testing connections against a
- local server for easier setting up N idle and Z active
- connections in a controlled manner. This requires a a HTTP server
- that supports the server end. I have a modified sws for this
- (from the curl test suite) and I may commit the changes required
- for that soonish.
-
-2005-12-07 00:36 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.15.2
-
-2005-12-07 00:34 bagder
-
- * docs/THANKS: fresh contributors in the 7.15.1 release
-
-2005-12-07 00:05 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: 7.15.1 with the now to be
- announced security flaw fixed
-
-2005-12-06 14:56 bagder
-
- * hiper/collecturls.pl: my first collect-random-urls script, just
- for reference
-
-2005-12-06 14:56 bagder
-
- * hiper/: Makefile, hiper.c: ok, these are the test build I've used
- so far
-
-2005-12-06 08:47 bagder
-
- * tests/server/tftpd.c: Yang Tse: fixed compiler warning
-
-2005-12-06 08:44 bagder
-
- * tests/runtests.pl: Yang Tse: With last change logging directory
- needs to be created sooner.
-
-2005-12-05 21:07 danf
-
- * docs/KNOWN_BUGS, lib/tftp.c: Added a run-time check to warn if
- TFTP is going to fail due to portability issues in the code.
-
-2005-12-05 20:23 bagder
-
- * tests/runtests.pl: Yang Tse: make runtests.pl more talkative when
- unable to find out curl's version.
-
-2005-12-05 16:14 bagder
-
- * lib/ssluse.c: Yang Tse fixed: Openssl 0.9.9 makes 'const' the
- SSL_METHOD parameter in SSL_CTX_new and others, and also makes
- functions SSLv23_client_method, TLSv1_client_method, etc return a
- 'const' SSL_METHOD pointer. Previous versions do not use the
- 'const' qualifier.
-
-2005-12-05 15:10 bagder
-
- * lib/ftp.c, lib/tftp.c, src/main.c, src/mkhelp.pl,
- tests/server/tftpd.c: Another Yang Tse warning cleanup raid!
-
-2005-12-04 19:47 giva
-
- * lib/ssluse.c: Recent OpenSSL returns a 'const' in
- '*_client_method()'. So avoid 'assignment discards qualifiers
- from pointer target type' warning.
-
-2005-12-03 00:23 bagder
-
- * include/curl/mprintf.h: Yang Tse adjusted the multiple header
- inclusion prevention definition H_MPRINTF to our more used style
- __CURL_MPRINTF_H
-
-2005-12-03 00:22 bagder
-
- * lib/strerror.c: Yang Tse's fix to only provide the proto if there
- is such a function and we didn't find any proto
-
-2005-12-03 00:22 bagder
-
- * lib/tftp.c: Yang Tse fixed the 4th argument in the sendto() calls
-
-2005-12-02 00:42 bagder
-
- * CHANGES, RELEASE-NOTES, lib/file.c: Jamie Newton pointed out that
- libcurl's file:// code would close() a zero file descriptor if
- given a non-existing file.
-
-2005-11-30 23:09 bagder
-
- * docs/KNOWN_BUGS: #27 is fixed
-
-2005-11-30 14:09 bagder
-
- * lib/url.c: cast the va_arg() assignment to ftp_filemethod
- properly
-
-2005-11-29 17:17 bagder
-
- * configure.ac: Yang Tse's fix of the inet_pton check
-
-2005-11-29 00:06 bagder
-
- * include/curl/curl.h, lib/ftp.c, lib/url.c, lib/urldata.h,
- src/main.c: new experimental "ftp method" code
-
-2005-11-29 00:05 bagder
-
- * RELEASE-NOTES: Bryan Henderson
-
-2005-11-28 21:21 bagder
-
- * configure.ac, lib/inet_pton.h: Yang Tse's changes to provide an
- inet_pton() proto for the platforms who don't have one in order
- to fix a remaining warning on IRIX 6.2.
-
-2005-11-28 08:43 bagder
-
- * include/curl/multi.h: added note about the inclusion of curl.h
- from within this file
-
-2005-11-25 23:45 bagder
-
- * .cvsignore, src/.cvsignore: Bryan Henderson: added missing
- ignores
-
-2005-11-25 23:45 bagder
-
- * ares/CHANGES: Yang Tse fixed compiler warnings
-
-2005-11-25 23:23 bagder
-
- * ares/ares_process.c: read_tcp_data() fix to get the proper buffer
- pointer and size
-
-2005-11-25 23:20 bagder
-
- * lib/: inet_ntop.h, inet_pton.h: Yang Tse: fixes the use of
- Curl_inet_ntop and Curl_inet_pton with no prototypes on some
- platforms, ie IRIX 6.2 MIPS C 6.2
-
-2005-11-25 23:14 bagder
-
- * ares/ares_process.c: Yang Tse: fixed compiler warnings
-
-2005-11-25 23:14 bagder
-
- * ares/ares_getnameinfo.c: Change based on Yang Tse's excellent fix
- to reduce buffer overflow risk and fixing a compiler warning in
- the append_scopeid() function.
-
-2005-11-25 10:52 bagder
-
- * configure.ac: Doug Kaufman corrected my attempt to a generic
- "skip extra test for function F"
-
-2005-11-25 00:03 bagder
-
- * ares/ares_getnameinfo.c: avoid doing #if an a predef symbol that
- might not be defined
-
-2005-11-24 21:39 bagder
-
- * lib/hostthre.c: Yang Tse: use static on file-private functions
-
-2005-11-24 21:38 bagder
-
- * lib/formdata.c: Yang Tse: fix compilation errors when SSL is not
- disabled and HTTP is disabled
-
-2005-11-24 21:37 bagder
-
- * lib/setup.h: Yang Tse: removes GOPHER protocol when HTTP is
- disabled
-
-2005-11-24 21:33 giva
-
- * lib/: Makefile.Watcom, config-win32.h: Changes for OpenWatcom
- 1.4.
-
-2005-11-24 11:22 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/setup.h,
- lib/transfer.c, src/setup.h: Doug Kaufman's set of patches to
- make curl build fine on DJGPP again using configure.
-
-2005-11-24 08:20 bagder
-
- * docs/curl.1: mention the colon-only thing for -u and SSPI+NTLM
-
-2005-11-23 23:59 bagder
-
- * lib/tftp.c: Yang Tse's patch to silence MSVC warnings
-
-2005-11-23 12:51 bagder
-
- * lib/: http_ntlm.h, setup.h: only enable NTLM if HTTP and NTLM is
- not disabled, and if NTLM is disabled we define an empty macro
- for the ntlm cleanup function
-
-2005-11-23 10:10 bagder
-
- * lib/setup.h, src/main.c: Yang Tse fixed MSVC 6.0 warnings
-
-2005-11-18 08:23 bagder
-
- * lib/transfer.c: fix compiler warning
-
-2005-11-17 15:29 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- lib/transfer.c: I extended a patch from David Shaw to make
- libcurl _always_ provide an error string in the given error
- buffer to address the flaw mention on 21 sep 2005.
-
-2005-11-17 15:28 bagder
-
- * docs/FEATURES: TFTP
-
-2005-11-16 08:20 bagder
-
- * CHANGES, Makefile.am, RELEASE-NOTES: Applied Albert Chin's patch
- that makes the libcurl.pc pkgconfig file get installed on 'make
- install' time.
-
-2005-11-16 08:12 bagder
-
- * ares/configure.ac: check for and use winsock2.h instead of
- winsock.h and I fixed a typo in the ifdefs where . was used
- instead of _!
-
-2005-11-15 15:39 bagder
-
- * ares/configure.ac: include ws2tcpip.h in an attempt to detect
- some of the ipv6 structs better in mingw builds
-
-2005-11-15 00:14 bagder
-
- * ares/: ares_dns.h, configure.ac: Detect big/little endian in the
- configure script and adjust the ares_dns.h macros accordingly.
-
-2005-11-14 23:10 bagder
-
- * CHANGES, lib/http_ntlm.c: Quagmire reported that he needed to
- raise a NTLM buffer for SSPI to work properly for a case, and so
- we did. We raised it even for non-SSPI builds but it should not
- do any harm. http://curl.haxx.se/bug/view.cgi?id=1356715
-
-2005-11-14 14:40 giva
-
- * ares/Makefile.dj: Added '-DHAVE_SOCKADDR_IN6_SIN6_SCOPE_ID'.
-
-2005-11-14 14:26 giva
-
- * ares/ares_getnameinfo.c: Added CVS id. Avoid warning 'x might be
- used uninitialized in this function'.
-
-2005-11-14 13:32 giva
-
- * ares/config-win32.h: We have HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID.
-
-2005-11-14 08:48 bagder
-
- * lib/libcurl.def: Yang Tse: msvc7+ has deprecated the
- 'DESCRIPTION' section in module-definition files. this section is
- not mandatory for msvc60 so it could be completely removed from
- libcurl.def.
-
-2005-11-14 01:18 bagder
-
- * CHANGES, lib/ftp.c: Jan Kunder's debian bug report
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338680
- identified a weird error message for when you try to upload a
- file and the requested directory doesn't exist on the target
- server.
-
-2005-11-14 01:17 bagder
-
- * docs/curl.1: extended the description for exit code 9
-
-2005-11-14 00:53 bagder
-
- * lib/: memdebug.h, ssluse.c: Yang Tse fixed compiler warnings
-
-2005-11-14 00:04 bagder
-
- * lib/gtls.c: to build with old gnutls verions, don't use the *_t
- types
-
-2005-11-13 23:54 bagder
-
- * src/main.c: prevent compiler warning
-
-2005-11-13 14:32 giva
-
- * lib/config-win32.h: Add HAVE_STRUCT_SOCKADDR_STORAGE. My
- mistake; WinCE has it's own config-file.
-
-2005-11-13 14:20 giva
-
- * lib/tftp.c: Fix for WIN32. WIN32 does have 'struct
- sockaddr_storage', but that's in <winsock2.h>. Hence tftp.c
- wouldn't compile on WinCE.
-
-2005-11-13 12:06 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: Debian bug report 338681 by
- Jan Kunder: make curl better detect and report bad limit-rate
- units: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338681
- Now curl will return error if a bad unit is used.
-
-2005-11-13 10:24 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/select.c: Thanks to
- this nice summary of poll() implementations:
- http://www.greenend.org.uk/rjk/2001/06/poll.html and further
- tests by Eugene Kotlyarov, we now know that cygwin's poll returns
- only POLLHUP on remote connection closure so we check for that
- case (too) and re-enable poll for cygwin builds.
-
-2005-11-12 23:49 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac: Eugene Kotlyarov found out
- that cygwin's poll() function isn't doing things right:
- http://curl.haxx.se/mail/archive-2005-11/0045.html so we now
- disable poll() and use select() on cygwin too (we already do the
- same choice on Mac OS X)
-
-2005-11-12 23:13 bagder
-
- * lib/sockaddr.h: oops * 2
-
-2005-11-12 23:12 bagder
-
- * lib/sockaddr.h: oops
-
-2005-11-12 23:10 bagder
-
- * lib/: ftp.c, sockaddr.h, tftp.c: Reversed the logic for
- sockaddr_storage and made our own Curl_sockaddr_storage struct
- instead to use.
-
-2005-11-12 20:11 bagder
-
- * acinclude.m4: on windows (mingw32) the sockaddr_storage struct is
- in winsock2.h
-
-2005-11-12 19:33 giva
-
- * ares/Makefile.vc6: Fixed typo. Detabified.
-
-2005-11-12 16:15 giva
-
- * ares/ares_dns.h: Support big-endian machines.
-
-2005-11-12 15:59 giva
-
- * ares/inet_ntop.c: Added CVS id, Detabified, applied c-ares
- coding-style.
-
-2005-11-12 15:44 giva
-
- * ares/nameser.h: Added CVS id. Detabified.
-
-2005-11-12 15:41 giva
-
- * ares/adig.c: Include <getopt.h>. Use DNS__32BIT() and
- DNS__16BIT() (How about BE machines?). Display T_AAAA resource.
-
-2005-11-12 01:01 bagder
-
- * ares/Makefile.am: removed files no longer existing
-
-2005-11-12 00:20 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: Dima Barsky patched problem
- #1348930: the GnuTLS code completely ignored client certificates!
- (http://curl.haxx.se/bug/view.cgi?id=1348930).
-
-2005-11-11 23:04 bagder
-
- * lib/: Makefile.inc, ftp.c, setup.h, sockaddr.h, tftp.c: Moved the
- sockaddr_storage definition to lib/sockaddr.h and only include
- that in files that actually need the struct.
-
-2005-11-11 20:25 giva
-
- * ares/inet_ntop.c: Squelch gcc 4.x warning.
-
-2005-11-11 20:20 giva
-
- * ares/: ares_fds.c, ares_gethostbyaddr.c: Detabified. Added CVS
- id.
-
-2005-11-11 20:14 giva
-
- * ares/vc/: areslib/areslib.dsp, ahost/ahost.dsp: HAVE_xx defines
- moved to config-win32.h.
-
-2005-11-11 09:52 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention how to set domain when
- using NTLM
-
-2005-11-11 05:28 giva
-
- * ares/ahost.c: Update using ares_inet_pton() and ares_inet_ntop().
-
-2005-11-11 00:30 bagder
-
- * README: one in, one out
-
-2005-11-11 00:24 bagder
-
- * RELEASE-NOTES: Fun while it lasted. New mirror already
- out-of-date.
-
-2005-11-10 23:25 bagder
-
- * CHANGES, RELEASE-NOTES, lib/tftp.c: David Lang fixed IPv6 support
- for TFTP!
-
-2005-11-10 23:24 bagder
-
- * lib/: ftp.c, setup.h: David Lang: if there is no
- sockaddr_storage, make up our own and use that
-
-2005-11-10 23:22 bagder
-
- * tests/data/test75: modified to the new error text for range error
-
-2005-11-10 23:11 bagder
-
- * docs/TODO: just implemented
-
-2005-11-10 23:11 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/urlglob.c,
- src/urlglob.h: Introducing range stepping to the curl globbing
- support. Now you can specify step counter by adding :[num] within
- the brackets when specifying a range.
-
-2005-11-10 17:55 giva
-
- * ares/setup.h: Use config-win32.h on Windows. Fixes for djgpp.
-
-2005-11-10 17:52 giva
-
- * ares/: Makefile.m32, Makefile.vc6: Defines moved to
- config-win32.h.
-
-2005-11-10 17:50 giva
-
- * ares/config-win32.h: Easy configuration with this file.
-
-2005-11-10 17:42 giva
-
- * ares/vc/areslib/: areslib.mak, areslib.plg: Remove generated
- files areslib.plg areslib.mak from CVS.
-
-2005-11-10 17:40 giva
-
- * ares/vc/ahost/: ahost.mak, ahost.plg: Remove generated files
- ahost.plg ahost.mak from CVS.
-
-2005-11-10 17:38 giva
-
- * ares/vc/adig/: adig.mak, adig.plg: Remove generated files
- adig.plg adig.mak from CVS.
-
-2005-11-10 00:15 bagder
-
- * docs/TODO: * Add step parameter to the globbing. Like [0-1000;10]
- that would walk the range increasing the number with 10 for
- every step. Requested by Jose:
- http://curl.haxx.se/feedback/display.cgi?id=11315662266802
-
-2005-11-09 23:52 giva
-
- * ares/Makefile.dj: Update with "new" HAVE_xx.
-
-2005-11-09 23:32 giva
-
- * ares/ares.h: Replace <winsock.h> with <winsock2.h> since IPv6
- support is required.
-
-2005-11-09 23:18 giva
-
- * ares/Makefile.vc6: Add cvs id.
-
-2005-11-09 23:17 giva
-
- * ares/FILES: Added Makefile.vc6.
-
-2005-11-09 23:16 giva
-
- * ares/Makefile.vc6: I hate MS-devstudio project files.
-
-2005-11-09 22:51 giva
-
- * ares/Makefile.m32: Updated for MingW. Added inet_ntop.o
- inet_net_pton.o bitncmp.o. Added -D'efines'.
-
-2005-11-09 22:38 giva
-
- * ares/setup.h: MSVC fix for 'socklen_t'. Replace <winsock.h> with
- <winsock2.h> + <ws2tcpip.h> since IPv6 is no longer optional (was
- it ever?)
-
-2005-11-09 22:32 giva
-
- * ares/vc/areslib/: areslib.dsp, areslib.dsw, areslib.mak: Fixes
- for building with MSVC-6/7. Added inet*.c. Replace <winsock.h>
- with <winsock2.h> + <ws2tcpip.h> (ala libcurl since IPv6 is not
- optional now).
-
-2005-11-09 22:29 giva
-
- * ares/vc/ahost/: ahost.dep, ahost.dsp: Fixes for building ahost
- with MSVC-6/7. Added inet*.c.
-
-2005-11-08 15:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostip6.c, lib/hostthre.c: Removed
- the use of AI_CANONNAME in the IPv6-enabled resolver functions
- since we really have no use for reverse lookups of the address.
-
- I truly hope these are the last reverse lookups we had lingering
- in the code!
-
-2005-11-08 15:37 bagder
-
- * RELEASE-NOTES: SSPI-fix and a new mirror
-
-2005-11-08 15:15 bagder
-
- * CHANGES, configure.ac, lib/Makefile.vc6, lib/http_ntlm.c,
- src/Makefile.vc6: Dmitry Bartsevich discovered some issues in
- compatibilty of SSPI-enabled version of libcurl with different
- Windows versions. Current version of libcurl imports SSPI
- functions from secur32.dll. However, under Windows NT 4.0 these
- functions are located in security.dll, under Windows 9x - in
- secur32.dll and Windows 2000 and XP contains both these DLLs
- (security.dll just forwards calls to secur32.dll).
-
- Dmitry's patch loads proper library dynamically depending on
- Windows version. Function InitSecurityInterface() is used to
- obtain pointers to all of SSPI function in one structure. :
- ----------------------------------------------------------------------
-
-2005-11-07 14:54 bagder
-
- * docs/KNOWN_BUGS: 27. "libcurl built with GNUTLS ignores the
- SSLCERT option" - Unlike Curl_ossl_connect(), the
- Curl_gtls_connect() function does not send the user certificate
- to the peer. In fact, it ignores the conn->data->set.cert field
- completely, it always uses the anonymous credentials. See
- http://curl.haxx.se/bug/view.cgi?id=1348930
-
-2005-11-07 09:37 bagder
-
- * docs/curl.1: mention the need for a "fake" -u when --negotiate is
- used
-
-2005-11-06 00:39 bagder
-
- * RELEASE-NOTES: CurlPas 2005-11-05 was released:
- http://curlpas.sf.net/
-
-2005-11-02 10:38 bagder
-
- * docs/FAQ: oops
-
-2005-11-02 10:34 bagder
-
- * docs/FAQ: Added:
-
- 1.9 Where do I buy commercial support for curl?
- 1.10 How many are using curl?
- 6.7 What are my obligations when using libcurl in my commerical
- apps?
-
- Edited a few other paragraphs slightly.
-
-2005-11-01 17:27 giva
-
- * lib/ldap.c: Use an empty '*mod_name'.
-
-2005-10-31 09:55 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ldap.c: Vilmos Nebehaj improved
- libcurl's LDAP abilities:
-
- The LDAP code in libcurl can't handle LDAP servers of LDAPv3 nor
- binary attributes in LDAP objects. So, I made a quick patch to
- address these problems.
-
- The solution is simple: if we connect to an LDAP server, first
- try LDAPv3 (which is the preferred protocol as of now) and then
- fall back to LDAPv2. In case of binary attributes, we first
- convert them to base64, just like the openldap client does. It
- uses ldap_get_values_len() instead of ldap_get_values() to be
- able to retrieve binary attributes correctly. I defined the
- necessary LDAP macros in lib/ldap.c to be able to compile libcurl
- without the presence of libldap
-
-2005-10-31 09:47 bagder
-
- * lib/escape.h: kill trailing whitespace
-
-2005-10-31 00:15 bagder
-
- * tests/data/: Makefile.am, test275: test 275 makes a CONNECT
- through a proxy and then gets two pages from the same server
-
-2005-10-30 00:22 bagder
-
- * RELEASE-NOTES: --max-redirs 0
-
-2005-10-30 00:18 bagder
-
- * docs/INSTALL: re-arranged the win32 section and added a pointer
- to the INSTALL.devcpp document
-
-2005-10-28 23:34 bagder
-
- * docs/: INSTALL.devcpp, Makefile.am: Tom Kyer's DevCpp-Mingw
- Install & Compilation guide
-
-2005-10-28 14:59 bagder
-
- * docs/curl-config.1: mention brokenness
-
-2005-10-28 09:22 bagder
-
- * docs/CONTRIBUTE: elaborated somewhat in the license chapter
-
-2005-10-28 00:05 bagder
-
- * CHANGES, docs/curl.1, docs/libcurl/curl_easy_setopt.3,
- lib/transfer.c, lib/url.c, lib/urldata.h, src/main.c,
- tests/data/Makefile.am, tests/data/test274: Nis Jorgensen filed
- bug report #1338648 (http://curl.haxx.se/bug/view.cgi?id=1338648)
- which really is more of a feature request, but anyway. It pointed
- out that --max-redirs did not allow it to be set to 0, which then
- would return an error code on the first Location: found. Based on
- Nis' patch, now libcurl supports CURLOPT_MAXREDIRS set to 0, or
- -1 for infinity. Added test case 274 to verify.
-
-2005-10-27 23:02 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: tommink[at]post.pl reported
- in bug report #1337723
- (http://curl.haxx.se/bug/view.cgi?id=1337723) that curl could not
- upload binary data from stdin on Windows if the data contained
- control-Z (hex 1a) since that is treated as end-of-file when read
- in text mode. Gisle Vanem pointed out the fix, and I made both -T
- and --data-binary take advantage of it.
-
-2005-10-27 22:51 bagder
-
- * docs/DISTRO-DILEMMA: updates to reflect current status in Debian
- land, and added some known differences between OpenSSL and GnuTLS
- (that is probably a suitable subject for a separate document...)
-
-2005-10-27 14:56 giva
-
- * src/Makefile.Watcom: Removed dependency on zlib.h. Added
- dependency for ..\lib\timeval.c.
-
-2005-10-27 14:45 giva
-
- * lib/Makefile.Watcom: Added option '-zc' puts const data in
- code-segment. Added CURL_DISABLE_TFTP; tftp.c doesn't compile
- as-is.
-
-2005-10-27 14:05 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: Jaz Fresh
- pointed out that if you used "-r [number]" as was wrongly
- described in the man page, curl would send an invalid HTTP Range:
- header. The correct way would be to use "-r [number]-" or even
- "-r -[number]". Starting now, curl will warn if this is
- discovered, and automatically append a dash to the range before
- passing it to libcurl.
-
-2005-10-25 16:05 bagder
-
- * CHANGES, RELEASE-NOTES: multi IP socket description leak with
- multi interface
-
-2005-10-25 16:04 bagder
-
- * README: added new dutch mirror and removed the "--" separators
-
-2005-10-25 15:15 bagder
-
- * lib/connect.c: close the existing socket when trying next IP, as
- otherwise we leak one! bug #1326306
-
-2005-10-22 23:05 bagder
-
- * CHANGES, lib/gtls.c: Dima Barsky reported a problem with
- GnuTLS-enabled libcurl in bug report
- #1334338 (http://curl.haxx.se/bug/view.cgi?id=1334338). When
- reading an SSL
- stream from a server and the server requests a "rehandshake",
- the current
- code simply returns this as an error. I have no good way to
- test this, but
- I've added a crude attempt of dealing with this situation
- slightly better -
- it makes a blocking handshake if this happens. Done like this
- because fixing
- this the "proper" way (that would handshake asynchronously)
- will require
- quite some work and I really need a good way to test this to do
- such a
- change.
-
-2005-10-21 23:00 bagder
-
- * CHANGES, lib/url.c: "Ofer" reported a problem when libcurl
- re-used a connection and failed to do it, it could then
- accidentally actually crash. Presumably, this concerns FTP
- connections. http://curl.haxx.se/bug/view.cgi?id=1330310
-
-2005-10-21 21:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/Makefile.vc6: Temprimus improved the
- MSVC makefile so that the static debug SSL libs are linked to the
- executable and not to the libcurld.lib
- http://curl.haxx.se/bug/view.cgi?id=1326676
-
-2005-10-21 21:21 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostthre.c: Bradford Bruce made the
- windows resolver code properly return CURLE_COULDNT_RESOLVE_PROXY
- and CURLE_COULDNT_RESOLVE_HOST on resolving errors (as
- documented).
-
-2005-10-20 23:19 bagder
-
- * src/main.c: shorted and unified language in the --help output
-
-2005-10-20 23:01 bagder
-
- * README: 2 gone, 2 added, 1 moved, 1 changed name
-
-2005-10-20 22:07 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/Makefile.am,
- tests/data/test273: Dave Dribin made libcurl understand and
- handle cases when the server (wrongly) sends *two*
- WWW-Authenticate headers for Digest. While this should never
- happen in a sane world, libcurl previously got into an infinite
- loop when this occurred. Dave added test 273 to verify this.
-
-2005-10-20 21:40 bagder
-
- * RELEASE-NOTES: 2 mirrors, 1 binding release
-
-2005-10-20 21:40 bagder
-
- * lib/hostip6.c: Added a dump_addrinfo() function to ease debugging
- of resolved names. Define DEBUG_ADDRINFO to enable.
-
-2005-10-20 21:07 bagder
-
- * CHANGES, lib/Makefile.vc6: Temprimus improved the MSVC makefile:
- "makes a build option available so if you set rtlibcfg=static for
- the make, then it would build with /MT. The default behaviour is
- /MD (the original)." http://curl.haxx.se/bug/view.cgi?id=1326665
-
-2005-10-18 20:15 danf
-
- * docs/TODO: Removed mention of TFTP now that it's implemented.
-
-2005-10-18 09:26 bagder
-
- * include/curl/multi.h: Mohun Biswas' suggested change to prevent
- GNU indent to warn on the =-1 line.
-
-2005-10-14 23:21 bagder
-
- * CHANGES, RELEASE-NOTES, maketgz, include/curl/curlver.h: Reverted
- the LIBCURL_VERSION_NUM change from October 6. As Dave Dribin
- reported, the define is used by the configure script and is
- assumed to use the 0xYYXXZZ format. This made "curl-config
- --vernum" fail in the 7.15.0 release version.
-
-2005-10-14 15:22 bagder
-
- * lib/Makefile.vc6: Reported by 'TemPRImus' in bug 1326665: use the
- "Multi-Threaded" options even when building the static library.
- http://curl.haxx.se/bug/view.cgi?id=1326665
-
-2005-10-13 23:49 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Slight editing of wording in the
- CURLOPT_SSL_VERIFYHOST section.
-
-2005-10-13 11:23 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.15.1
-
-2005-10-13 11:22 bagder
-
- * docs/THANKS: added names from the 7.15.0 release
-
-2005-10-13 10:19 bagder
-
- * CHANGES, RELEASE-NOTES: 7.15.0 time
-
-2005-10-13 09:57 bagder
-
- * lib/http_ntlm.c: Make sure that the user and domain strings fit
- in the target buffer before we copy them there.
-
-2005-10-13 08:20 bagder
-
- * docs/libcurl/curl_easy_setopt.3: NTLM requires windows or
- OpenSSL. If you build with GnuTLS for example you do not get NTLM
- support enabled.
-
-2005-10-11 14:54 bagder
-
- * TODO-RELEASE: 7.15.0 in november?
-
-2005-10-10 22:58 bagder
-
- * docs/examples/getinmemory.c: make it compile warning-free and
- free() the memory before exit
-
-2005-10-10 20:28 bagder
-
- * lib/hostip6.c: pass a NULL pointer in the service argument (the
- second) if the port number was 0 as it seems at least some AIX
- versions don't like a "0" string there
-
-2005-10-06 20:47 giva
-
- * lib/Makefile.Watcom: Added tftp.obj.
-
-2005-10-06 14:56 bagder
-
- * RELEASE-NOTES, maketgz, include/curl/curlver.h: we all the next
- version 7.15.0 due to the new TFTP support
-
-2005-10-06 11:05 bagder
-
- * docs/libcurl/Makefile.am: remove getinfo-times from the dist
- archive since the info is now in the curl_easy_getinfo man page
-
-2005-10-06 11:03 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: end the .nf section, mark the
- option names properly so that they end up as links in the html
- version
-
-2005-10-06 10:58 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: Added the info from
- getinfo-times as it really belongs in this man page.
-
-2005-10-05 11:15 bagder
-
- * CHANGES, RELEASE-NOTES: mention the recent fixes
-
-2005-10-05 08:23 bagder
-
- * tests/data/: Makefile.am, test272: added test case 272 for -z
- download over FTP when the timestamp is identical to the remote
- one
-
-2005-10-05 08:09 bagder
-
- * lib/ftp.c: CURL_TIMECOND_IFMODSINCE actually requires that the
- remote document has been modded since the given time, so we
- should compare <= and not just <.
-
-2005-10-04 22:32 bagder
-
- * configure.ac: Domenico Andreoli's patch that removes a few
- 0xa0(!) bytes
-
-2005-10-04 20:15 bagder
-
- * CHANGES, RELEASE-NOTES, lib/parsedate.c: Michael Wallner reported
- that the date parser had wrong offset stored for the MEST and
- CEST time zones.
-
-2005-10-04 12:58 bagder
-
- * docs/libcurl/curl_escape.3: Domenico Andreoli's SEE ALSO patch
-
-2005-10-03 12:12 bagder
-
- * ares/ares_getnameinfo.c: Ok, based on the online docs for AIX'es
- getservbyport_r() I adjusted to code to do (what I believe is)
- "right". See docs on:
- http://publib.boulder.ibm.com/infocenter/pseries/index.jsp?topic=/com.ibm.aix.doc/libs/commtrf2/getservbyport_r.htm
-
-2005-10-03 10:38 bagder
-
- * docs/HISTORY: recent action
-
-2005-10-02 20:22 giva
-
- * lib/http_ntlm.c: Avoid gcc warning "dereferencing type-punned
- pointer will break strict-aliasing rules".
-
-2005-10-02 18:52 giva
-
- * lib/: hostthre.c, setup.h: Fix for building with MS Visual-C and
- single-threaded runtime libs.
-
-2005-09-30 16:25 bagder
-
- * tests/runtests.pl: fixed the proper path to the tftpd server
-
-2005-09-30 10:59 bagder
-
- * RELEASE-NOTES: a new mirror, but we don't increase the amount
- since one of the former ones are now officially no longer
- considered a mirror... ;-)
-
-2005-09-30 10:34 bagder
-
- * docs/DISTRO-DILEMMA: Update in the "which license is best"
- section as it seems Debian people have made up their mind.
- Spell-checked as well.
-
-2005-09-29 13:37 bagder
-
- * lib/url.c: Starting now, the verbose text that goes like "About
- to connect() to" will now contain the word "proxy" is the
- hostname is in fact a proxy. This will help users detect
- situations when they mistakenly use a proxy.
-
-2005-09-27 22:22 bagder
-
- * CHANGES, RELEASE-NOTES: David Yan brought the Content-Range
- report
-
-2005-09-27 11:13 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c: An anonymous submitter
- filed bug #1299181 (http://curl.haxx.se/bug/view.cgi?id=1299181)
- that identified a silly problem with Content-Range: headers with
- the 'bytes' keyword written in a different case than all
- lowercase! It would cause a segfault!
-
-2005-09-27 10:46 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: TJ Saunders of the proftpd
- project identified and pointed out problems with the modified
- FTPS negotiation change of August 19 2005. Thus, we revert the
- change back to pre-7.14.1 status.
-
-2005-09-22 12:15 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify what the default read
- callback does and how it uses the READDATA option
-
-2005-09-21 13:29 bagder
-
- * CHANGES: three debian bug reports addressed
-
-2005-09-21 13:28 bagder
-
- * lib/tftp.c: stricter type usage for time variables to avoid picky
- compiler warnings
-
-2005-09-21 12:45 bagder
-
- * ares/ares_getnameinfo.c: 1 - attempted fix of uninitialized
- variable 2 - indented and edited to fit better within 80 columns
- 3 - fixed possible buffer overflow in the service name lookup
- function
-
-2005-09-21 11:10 bagder
-
- * ares/configure.ac: simplified the sin6_scope_id test and removed
- some left-overs from the previous way of detecting it
-
-2005-09-21 11:01 bagder
-
- * ares/configure.ac: fixed the check for the addrinfo struct
-
-2005-09-21 08:59 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarified ERRORBUFFER - some
- errors just don't write a string even though they should. And I
- removed all uses 'Note' (as they are pretty useless) and did some
- other language and phrasing cleanups.
-
-2005-09-21 08:38 bagder
-
- * lib/transfer.c: return an error string for the missing URL case
-
-2005-09-21 08:12 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention what WRITEFUNCTION and
- WRITEDATA do by default
-
-2005-09-21 08:07 bagder
-
- * docs/libcurl/libcurl-tutorial.3: oops, broken sentence fixed:
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329305
-
-2005-09-20 10:29 bagder
-
- * lib/http_ntlm.c: Uses __stdcall instead of SEC_ENTRY since it
- seems (at least) mingw doesn't define SEC_ENTRY and thus fails
- unless this is done!
-
-2005-09-20 09:53 bagder
-
- * configure.ac: Since newer ares versions should work with ipv6, I
- modified the error message to a warning message as a first step.
- We should persue to make curl use c-ares properly even when built
- with ipv6 support.
-
-2005-09-20 08:51 bagder
-
- * lib/tftp.c: typecasts added in an attempt to please the picky
- compilers
-
-2005-09-20 00:04 bagder
-
- * tests/data/Makefile.am: added test 271
-
-2005-09-20 00:04 bagder
-
- * tests/data/test271: test 271, the first ever TFTP test
-
-2005-09-20 00:03 bagder
-
- * tests/server/tftpd.c: seems to work for test 271 on Linux now!
-
-2005-09-19 23:45 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_ntlm.c: Dmitry Bartsevich made
- the SSPI support work on Windows 9x as well
-
-2005-09-18 18:44 dmeglio
-
- * ares/: CHANGES, acinclude.m4, ares.h, ares_getnameinfo.c,
- configure.ac: Added constants that will be used by
- ares_getaddrinfo. Made ares_getnameinfo use the reentrant
- getservbyport (getservbyport_r) if it isavailable to ensure it
- works properly in a threaded environment
-
-2005-09-16 23:30 bagder
-
- * lib/: connect.c, ftp.c, hostip4.c, hostip6.c, hostthre.c, url.c,
- urldata.h: keep 'socktype' in the connectdata struct and make
- sure we use that for all protocol sockets even if the resolved
- address may say otherwise
-
-2005-09-16 23:03 bagder
-
- * CHANGES, RELEASE-NOTES: recent changes
-
-2005-09-16 12:52 bagder
-
- * tests/server/tftpd.c: renamed sendfile() since some systems have
- a system call named like this - now the functions are named
- sendtftp() and recvtftp() instead.
-
-2005-09-16 12:50 bagder
-
- * tests/server/tftpd.c: In the Solaris 7 header files for tftp, the
- th_stuff struct member is an unsigned short. Trying a typecast
- here to fix.
-
-2005-09-16 09:19 bagder
-
- * tests/server/tftpd.c: prevent warnings on re-defining MIN
-
-2005-09-16 09:18 bagder
-
- * CHANGES, docs/TODO: added URLs to bug reports
-
-2005-09-16 09:09 bagder
-
- * docs/KNOWN_BUGS: Added known bugs #26, started using my new
- "bounce URL" that jumps to the correct (and overly complicated)
- sourceforge bug tracker URL given the bug report ID number.
-
-2005-09-16 08:14 bagder
-
- * tests/server/tftpd.c: use int "subscripts" to prevent warnings
- from picky compilers
-
-2005-09-16 07:49 bagder
-
- * tests/server/tftpd.c: use internal *printf() clones
-
-2005-09-15 23:50 bagder
-
- * configure.ac, tests/server/tftpd.c: ifdef for includes, added
- checking for two not previously checked files (one being
- necessary for solaris builds)
-
-2005-09-15 23:49 bagder
-
- * tests/testcurl.pl: use make -k when running the tests
-
-2005-09-15 22:36 bagder
-
- * tests/server/.cvsignore: ignore this too
-
-2005-09-15 22:36 bagder
-
- * tests/server/Makefile.am: build tftpd too!
-
-2005-09-15 22:32 bagder
-
- * tests/server/tftpd.c: First version of the TFTP server. Basic
- functionality is there.
-
-2005-09-15 22:25 bagder
-
- * tests/runtests.pl: added TFTP and TFTP-ipv6 support
-
-2005-09-15 22:22 bagder
-
- * tests/server/: sws.c, util.c, util.h: moved test2file() to util.c
-
-2005-09-15 22:21 bagder
-
- * lib/tftp.c: minor changes, the biggest one being using
- Curl_select()
-
-2005-09-15 21:23 bagder
-
- * ares/CHANGES: mention the configure change
-
-2005-09-14 17:04 bagder
-
- * lib/ftp.c: oops, return error if an error did occur!
-
-2005-09-12 22:36 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_BUFFERSIZE clarification
-
-2005-09-10 23:09 bagder
-
- * ares/: acinclude.m4, configure.ac: Use the AC_CHECK_MEMBER()
- function for check struct members instead of inventing and
- providing our own. Hopefully this solves a HP-UX 11.00 problem.
-
-2005-09-08 22:21 bagder
-
- * docs/curl.1: --max-time should work just as good on win32 these
- days
-
-2005-09-08 08:16 bagder
-
- * docs/curl.1: mention the protocol-guessing when no protocol part
- is given in the URL added TFTP to the list of supported protocols
-
-2005-09-07 16:42 bagder
-
- * lib/Makefile.vc6: added tftp.c
-
-2005-09-07 13:05 bagder
-
- * src/main.c: Ben Madsen reported a problem that only seemed to
- occur with certain specific glibc versions, and with this patch
- applied it no longer shows up to me. The problem was indeed a
- flaw that made curl use a file handle already closed.
-
-2005-09-07 12:51 bagder
-
- * tests/server/sws.c: Thanks to Scott Davis' detailed reports, I
- found this premature detection of the end of a chunked-encoded
- POST request.
-
-2005-09-06 17:58 giva
-
- * lib/hostthre.c: Fix warning about missing initializers.
-
-2005-09-06 17:43 giva
-
- * lib/tftp.c: Fix for bind() on Winsock; AF_UNSPEC (0) is illegal.
- Should we do this for all targets?
-
-2005-09-06 15:27 bagder
-
- * CHANGES, src/writeout.c: Now curl warns if an unknown variable is
- used in the -w/--writeout argument.
-
-2005-09-06 13:53 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: binding updates
-
-2005-09-06 12:39 bagder
-
- * lib/tftp.c: sockets are curl_socket_t to build cleaner
-
-2005-09-06 12:37 bagder
-
- * lib/hostthre.c: Use SOCK_DGRAM for TFTP. Consider setting this up
- at one central place, we have this check done on far too many
- places by now...
-
-2005-09-06 02:39 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: minor Makefile fixes.
-
-2005-09-05 16:22 bagder
-
- * docs/THANKS: Added the people from the 7.14.1 release
- announcement.
-
-2005-09-05 08:03 bagder
-
- * docs/DISTRO-DILEMMA: new release, work has been "initiated"
-
-2005-09-05 00:10 bagder
-
- * CHANGES, RELEASE-NOTES: mention the recent improvements
-
-2005-09-04 23:53 bagder
-
- * docs/curl.1: don't start lines with apostrophes!
-
-2005-09-04 20:33 bagder
-
- * lib/tftp.c: check that bind() returns success
-
-2005-09-04 20:15 bagder
-
- * curl-config.in: --protocols now supports TFTP
-
-2005-09-04 07:23 bagder
-
- * docs/curl.1, docs/libcurl/curl_easy_setopt.3, src/main.c: 7.14.2
- actually
-
-2005-09-04 07:16 bagder
-
- * docs/curl.1, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/ftp.c, lib/url.c, lib/urldata.h,
- src/main.c, tests/FILEFORMAT, tests/ftpserver.pl,
- tests/data/Makefile.am, tests/data/test270: Added
- FTP_SKIP_PASV_IP and --ftp-skip-pasv-ip
-
-2005-09-02 17:11 bagder
-
- * CHANGES, configure.ac, include/curl/curl.h, lib/Makefile.inc,
- lib/connect.c, lib/hostip4.c, lib/hostip6.c, lib/strerror.c,
- lib/tftp.c, lib/tftp.h, lib/url.c, lib/urldata.h, lib/version.c:
- John Kelly added TFTP support to libcurl. A bunch of new error
- codes was added. TODO: add them to docs. add TFTP server to test
- suite. add TFTP to list of protocols whereever those are
- mentioned.
-
-2005-09-02 15:40 bagder
-
- * docs/DISTRO-DILEMMA: explain why the ABI depends on the SSL libs
-
-2005-09-01 23:41 bagder
-
- * buildconf: use -c to automake to copy the new files
-
-2005-09-01 23:08 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: work on 7.14.2 starts now
-
-2005-09-01 22:54 bagder
-
- * CHANGES: 7.14.1 coming right up
-
-2005-09-01 17:03 bagder
-
- * docs/DISTRO-DILEMMA: softened my opinions, added API benefit -
- Thanks to Eric Cooper
-
-2005-09-01 15:41 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify that the ctxfunc is
- called on all new connects
-
-2005-09-01 10:44 bagder
-
- * docs/Makefile.am: added DISTRO-DILEMMA
-
-2005-09-01 10:43 bagder
-
- * docs/DISTRO-DILEMMA: added the URL
-
-2005-09-01 10:35 bagder
-
- * docs/DISTRO-DILEMMA: new
-
-2005-08-31 23:23 bagder
-
- * configure.ac: oops, the GNU GSS patch could clobber the CPPFLAGS
- variable and it thus broke krb4 builds!
-
-2005-08-31 22:51 bagder
-
- * RELEASE-NOTES: ocurl release
-
-2005-08-31 08:04 bagder
-
- * lib/hostthre.c: use it as 'struct addrinfo' so perhaps it builds
- on mingw again
-
-2005-08-30 20:37 gknauf
-
- * tests/testcurl.pl: quick hack to make it working again on Win32 -
- however we should consider to set some defaults depending on the
- compiler architecture we guess we are since it doesnt work well
- if we prefer building the msvc makefile with gmake instead of
- nmake because we found gmake first in path....
-
-2005-08-29 23:04 bagder
-
- * CHANGES, RELEASE-NOTES: Kevin Lussier pointed out a problem with
- curllib.dsp
-
-2005-08-29 22:56 bagder
-
- * lib/msvcproj.head: Use the more correct BUILDING_LIBCURL define
- instead of CURLLIB_EXPORTS. Kevin Lussier pointed this out!
-
-2005-08-29 17:19 bagder
-
- * RELEASE-NOTES: spell-fix
-
-2005-08-29 16:23 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostthre.c: Igor Polyakov fixed a
- rather nasty problem with the threaded name resolver for Windows,
- that could lead to an Access Violation when the multi interface
- was used due to an issue with how the resolver thread was and was
- not terminated.
-
-2005-08-29 15:58 bagder
-
- * docs/LICENSE-MIXING: Added GNU GSS and separate sections for MIT
- GSS and Heimdal and added info about what each single lib may be
- used for.
-
-2005-08-29 10:42 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/urldata.h: Simon
- Josefson brought GNU GSS support
-
-2005-08-29 09:03 bagder
-
- * ares/CHANGES: 1.3.0 coming just up
-
-2005-08-29 08:59 bagder
-
- * docs/TODO, lib/TODO.gnutls: Moved the GnuTLS related TODO items
- from lib/TODO.gnutls to the proper docs/TODO
-
-2005-08-26 15:22 bagder
-
- * docs/FAQ: 4.14 Redirects work in browser but not with curl!
-
-2005-08-25 14:19 bagder
-
- * docs/curl.1: ok, the right term (using RFC2616 lingo) for the -X
- keyword is method and not request
-
-2005-08-25 09:06 bagder
-
- * docs/libcurl/curl_easy_setopt.3: "Added in 7.14.1" notes and some
- minor edits
-
-2005-08-25 09:06 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: CURLINFO_COOKIELIST is added in
- 7.14.1
-
-2005-08-24 19:07 bagder
-
- * docs/examples/: Makefile.am, cacertinmem.c: Theo Borm's example,
- as was posted here:
- http://curl.haxx.se/mail/lib-2005-08/0163.html
-
-2005-08-24 12:57 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/transfer.c, lib/url.c, lib/urldata.h, src/main.c,
- tests/data/Makefile.am, tests/data/test269: Toby Peterson added
- CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessible from the
- command line tool with --ignore-content-length. This will make it
- easier to download files from Apache 1.x (and similar) servers
- that are still having problems serving files larger than 2 or 4
- GB. When this option is enabled, curl will simply have to wait
- for the server to close the connection to signal end of transfer.
- I wrote test case 269 that runs a simple test that this works.
-
-2005-08-24 12:49 bagder
-
- * CHANGES, RELEASE-NOTES, tests/runtests.pl: valgrind version 3
- renames the --logfile command line option to --log-file...
-
-2005-08-24 09:45 bagder
-
- * docs/KNOWN_BUGS: fixed #26, GnuTLS CA cert verification
-
-2005-08-24 09:40 bagder
-
- * CHANGES, RELEASE-NOTES, lib/gtls.c: Fixed CA cert verification
- using GnuTLS with the default bundle, which previously failed due
- to GnuTLS not allowing x509 v1 CA certs by default.
-
-2005-08-23 10:51 bagder
-
- * docs/KNOWN_BUGS: known bug #26, pretty fatal for anyone who wants
- to use proper SSL and GnuTLS
-
-2005-08-22 04:39 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: enabled statically
- linked builds.
-
-2005-08-21 23:27 bagder
-
- * ares/Makefile.am: well hit me, that wasn't possible, use 1:0:0
- anyway...
-
-2005-08-21 23:25 bagder
-
- * ares/Makefile.am: modified the version-info, we only added
- functions
-
-2005-08-21 23:25 bagder
-
- * ares/Makefile.am: increase version info
-
-2005-08-21 23:15 bagder
-
- * configure.ac: avoid adding a blank dir to the LD_LIBRARY_PATH
- when OpenSSL is found in a default dir
-
-2005-08-21 23:09 bagder
-
- * ares/: CHANGES, ares_init.c: Alfredo Tupone provided a fix for
- the Windows code in get_iphlpapi_dns_info() when getting the DNS
- server etc.
-
-2005-08-19 23:38 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Using CURLOPT_COOKIEFILE
- serveral times add more files to read from.
-
-2005-08-19 17:07 bagder
-
- * acinclude.m4: removed the unreachable code warning from gcc debug
- builds, even the most recent gcc versions give far too many false
- positives for this to be valuable
-
-2005-08-19 16:41 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Norbert Novotny had problems
- with FTPS and he helped me work out a patch that made curl run
- fine in his end. The key was to make sure we do the SSL/TLS
- negotiation immediately after the TCP connect is done and not
- after a few other commands have been sent like we did previously.
- I don't consider this change necessary to obey the standards, I
- think this server is pickier than what the specs allow it to be,
- but I can't see how this modified libcurl code can add any
- problems to those who are interpreting the standards more
- liberally.
-
-2005-08-19 09:33 bagder
-
- * README: one german mirror has died while another one was added,
- and yet another Texas one!
-
-2005-08-19 09:32 bagder
-
- * docs/THANKS: Added new contributors from RELEASE-NOTES. The
- somewhat different sort order is due to now using emacs to sort
- but I'm not in a mood to fix it better just now.
-
-2005-08-19 09:02 bagder
-
- * acinclude.m4: removed some inaccurate comments about the
- TYPE_IN_ADDR_T check
-
-2005-08-19 08:43 bagder
-
- * TODO-RELEASE, docs/KNOWN_BUGS: The big POST to HTTPS is probably
- not a bug.
-
- The CONNECT problem is now bug #25 planned to get fixed in next
- release.
-
-2005-08-18 18:39 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: minor Makefile fixes.
-
-2005-08-18 18:33 gknauf
-
- * docs/INSTALL: updated NetWare section.
-
-2005-08-18 10:48 bagder
-
- * ares/: ares.h, ares_gethostbyaddr.c, ares_gethostbyname.c:
- detabified
-
-2005-08-18 10:47 bagder
-
- * tests/server/sws.c: detabify
-
-2005-08-18 10:18 bagder
-
- * TODO-RELEASE, docs/KNOWN_BUGS: Harshal Pradhan's use-after-free
- bug with ares is now known bug #24 to be fixed after 7.14.1
-
-2005-08-18 08:14 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: it isn't strictly necessary to
- use it after a perform
-
-2005-08-17 11:43 bagder
-
- * docs/KNOWN_BUGS: removed issue 20 that was about valgrind
- complaints on other libs/parts, as we have a fancier valgrind
- error parser these days and it seems to work rather well
-
-2005-08-17 11:41 bagder
-
- * docs/KNOWN_BUGS: the SOCKS situation
-
-2005-08-17 11:12 bagder
-
- * include/curl/curl.h: removed old info about curl_getdate() just
- simply isn't true and hasn't been true since the getdate() parser
- code rewrite
-
-2005-08-17 11:11 bagder
-
- * lib/cookie.c: remove the typecast to long from time_t, since we
- now store it as curl_off_t
-
-2005-08-17 11:01 bagder
-
- * RELEASE-NOTES: handles expiry times in cookie files that go
- beyond 32 bits in size
-
-2005-08-17 10:55 bagder
-
- * CHANGES, RELEASE-NOTES, lib/cookie.c, lib/cookie.h,
- lib/transfer.c, lib/url.c: - Jeff Pohlmeyer found out that if you
- ask libcurl to load a cookiefile (with CURLOPT_COOKIEFILE), add
- a cookie (with CURLOPT_COOKIELIST), tell it to write the result
- to a given cookie jar and then never actually call
- curl_easy_perform() - the given file(s) to read was never read
- but the output file was written and thus it caused a "funny"
- result.
-
- - While doing some tests for the bug above, I noticed that
- Firefox generates large numbers (for the expire time) in the
- cookies.txt file and libcurl didn't treat them properly. Now it
- does.
-
-2005-08-16 22:12 gknauf
-
- * lib/libcurl.def: added curl_mvsnprintf to the export list; I
- appened to the end cause of the numbering ...
-
-2005-08-16 22:11 gknauf
-
- * lib/libcurl.imp: added curl_mvsnprintf to the export list.
-
-2005-08-16 13:40 bagder
-
- * RELEASE-NOTES: client side fixes
-
-2005-08-16 09:32 bagder
-
- * src/main.c: typecase the isspace() argument to int
-
-2005-08-15 23:48 bagder
-
- * CHANGES, RELEASE-NOTES: recent changes
-
-2005-08-15 23:48 bagder
-
- * src/main.c: Added more verbose "warning" messages to the curl
- client for cases where it fails to open/read files etc to help
- users diagnose why it doesn't do what you'd expect it to.
- Converted lots of old messages to use the new generic function I
- wrote for this purpose.
-
-2005-08-13 23:28 bagder
-
- * lib/transfer.c: James Bursa identified a libcurl HTTP bug and a
- good way to repeat it. If a site responds with bad HTTP response
- that doesn't contain any header at all, only a response body, and
- the write callback returns 0 to abort the transfer, it didn't
- have any real effect but the write callback would be called once
- more anyway.
-
-2005-08-13 00:09 bagder
-
- * tests/data/: Makefile.am, test268: added test 268 that makes curl
- -d @nonexisting
-
-2005-08-12 23:47 bagder
-
- * docs/libcurl/curl_getdate.3: clarify
-
-2005-08-12 23:25 bagder
-
- * src/main.c: o curl -d @filename when 'filename' was not possible
- to access no longer converts the request to a GET, but now
- instead makes it a POST of no data o The time condition illegal
- syntax warning is now inhibited if -s is used.
-
-2005-08-12 22:56 bagder
-
- * docs/curl.1: -H needs no CRLF or similar added
-
-2005-08-11 23:41 bagder
-
- * lib/sslgen.c: removed old debug left-over infof() call
-
-2005-08-11 23:33 bagder
-
- * tests/data/: Makefile.am, test267: do a POST with NTLM and add
- two custom headers
-
-2005-08-11 22:42 bagder
-
- * lib/strtoofft.c: Added comment about strtoimax()
-
-2005-08-11 20:02 gknauf
-
- * tests/testcurl.pl: fix for NetWare crossbuilds to display the
- right config.h when build on Win32.
-
-2005-08-11 00:57 bagder
-
- * lib/ssluse.c: the debug callback was called with CURLINFO_TEXT
- with the data size one too big
-
-2005-08-10 23:45 gknauf
-
- * ares/Makefile.netware: minor Makefile fix.
-
-2005-08-10 22:45 gknauf
-
- * ares/Makefile.netware: minor Makefile fix.
-
-2005-08-10 21:26 gknauf
-
- * Makefile.dist: added some more NetWare targets.
-
-2005-08-10 21:19 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: some minor Makefile
- fixes for SSL.
-
-2005-08-10 19:08 gknauf
-
- * ares/ares_process.c: make ares compile again for NetWare.
-
-2005-08-10 19:03 gknauf
-
- * ares/ares_private.h: make ares compile again for NetWare.
-
-2005-08-10 18:55 gknauf
-
- * ares/Makefile.netware: make ares compile again for NetWare.
-
-2005-08-10 18:54 gknauf
-
- * ares/Makefile.inc: fixed line endings so it works again with gnu
- make on Win32.
-
-2005-08-09 23:59 bagder
-
- * CHANGES, RELEASE-NOTES, lib/parsedate.c: Christopher R. Palmer
- fixed the offsets used for date parsings when the time zone name
- of a daylight savings time was used. For example, PDT vs PDS.
- This flaw was introduced with the new date parser (11 sep 2004 -
- 7.12.2). Fortunately, no web server or cookie string etc should
- be using such time zone names thus limiting the effect of this
- bug.
-
-2005-08-09 01:09 bagder
-
- * TODO-RELEASE: mention two other bugs we should fix before release
-
-2005-08-08 00:59 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Jon Grubbs filed bug report
- #1249962 which identified a problem with NTLM on a HTTP proxy if
- an FTP URL was given. libcurl now properly switches to pure HTTP
- internally when an HTTP proxy is used, even for FTP URLs. The
- problem would also occur with other multi-pass auth methods.
-
-2005-08-07 23:45 bagder
-
- * CHANGES, RELEASE-NOTES, curl-config.in: When curl is built with
- GnuTLS, curl-config didn't include "SSL" when --features was used
-
-2005-08-07 23:39 bagder
-
- * lib/url.c: Don't prevent FTPS:// through a http proxy, as we
- cannot know if it works or not!
-
-2005-08-07 16:36 bagder
-
- * docs/FAQ: mention our security related mail alias in the "who do
- I mail" section
-
-2005-08-05 01:05 bagder
-
- * tests/memanalyze.pl: Support realloc() on a NULL pointer properly
- (printf(%p) on a NULL pointer outputs (nil) and not a 0x0 or
- similar.
-
-2005-08-04 10:07 bagder
-
- * ares/ares_init.c: killed trailing whitespace, narrowed a few
- lines to 80 cols
-
-2005-08-01 13:56 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention that the NOBODY reset
- thing is added in 7.14.1
-
-2005-07-31 01:48 bagder
-
- * TODO-RELEASE, docs/TODO: Moved items from TODO-RELEASE to TODO
- since they're not really bound to happen in any specific release.
-
-2005-07-31 01:37 bagder
-
- * docs/FAQ: clarified the PHP/CURL topic a bit more
-
-2005-07-31 01:19 bagder
-
- * RELEASE-NOTES: correction and added new mirror
-
-2005-07-30 10:27 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_COOKIELIST change since
- it no longer modifies the input string contents
-
-2005-07-28 23:53 bagder
-
- * lib/url.c: reset the numcookies counter too (I missed it in the
- previous commit)
-
-2005-07-28 23:51 bagder
-
- * docs/examples/cookie_interface.c: fixed example since this is how
- the interface works now
-
-2005-07-28 23:50 bagder
-
- * lib/url.c: now strdups the cookielist inpointer before passed on,
- as the cookie function modifies it
-
-2005-07-28 23:49 bagder
-
- * lib/cookie.c: curl standard indent/format
-
-2005-07-28 15:20 giva
-
- * tests/libtest/lib505.c: Needs 'struct_stat'. Increased verbosity.
-
-2005-07-28 00:29 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- lib/url.c: If any of the options CURLOPT_HTTPGET, CURLOPT_POST
- and CURLOPT_HTTPPOST is set to 1, CURLOPT_NOBODY will now
- automatically be set to 0.
-
-2005-07-28 00:17 bagder
-
- * CHANGES, RELEASE-NOTES, docs/examples/Makefile.am,
- docs/examples/cookie_interface.c, docs/examples/makefile.dj,
- docs/libcurl/curl_easy_getinfo.3,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/cookie.c, lib/cookie.h, lib/getinfo.c, lib/url.c: Peteris
- Krumins added CURLOPT_COOKIELIST and CURLINFO_COOKIELIST, which
- is a simple interface to extracting and setting cookies in
- libcurl's internal "cookie jar". See the new cookie_interface.c
- example code.
-
-2005-07-27 23:44 bagder
-
- * lib/http_ntlm.h: disabling HTTP should also nullify this function
- call
-
-2005-07-27 20:22 danf
-
- * configure.ac: Fixed --without-gnutls
-
-2005-07-22 00:18 danf
-
- * lib/: connect.c, ftp.c, strerror.c: Fixed some typos in output
- messages.
-
-2005-07-21 01:00 danf
-
- * configure.ac: Properly support the options --without-spnego
- --without-gssapi --without-krb4
-
-2005-07-20 23:58 danf
-
- * acinclude.m4: Add -Wdeclaration-after-statement to gcc to detect
- accidental C99-style variable declarations.
-
-2005-07-17 14:44 bagder
-
- * lib/: easy.c, url.c, url.h: Simplified the code within
- curl_easy_perform() that calls Curl_perform(). Pointed out by
- Bjorn Reese.
-
-2005-07-15 08:57 bagder
-
- * RELEASE-NOTES: cURLpp 0.5.1
-
-2005-07-13 20:06 bagder
-
- * CHANGES, RELEASE-NOTES, lib/amigaos.c, lib/amigaos.h,
- lib/config-amigaos.h, lib/if2ip.c, lib/makefile.amiga,
- lib/mprintf.c, src/config-amigaos.h, src/makefile.amiga: Diego
- Casorran patches to make (lib)curl build fine on Amiga again
-
-2005-07-13 11:46 bagder
-
- * docs/libcurl/curl_easy_setopt.3: better description for
- HEADERFUNCTION
-
-2005-07-13 11:37 bagder
-
- * docs/libcurl/curl_easy_setopt.3: elaborate a bit on how to deal
- with chunked-encoded trailers that now are passed to the app
- using the header callback
-
-2005-07-13 09:44 bagder
-
- * docs/THANKS: converted this back to one name per line to make it
- easier/better to diff and merge when new names are added
-
-2005-07-12 20:20 bagder
-
- * RELEASE-NOTES: mention the Rexx/CURL release
-
-2005-07-12 20:15 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_chunks.c, lib/http_chunks.h,
- lib/transfer.c, lib/url.c, lib/urldata.h, tests/data/Makefile.am,
- tests/data/test266: Adrian Schuur added trailer support in the
- chunked encoding stream. The trailer is then sent to the normal
- header callback/stream.
-
-2005-07-08 15:28 bagder
-
- * docs/TODO: mention an old idea
-
-2005-07-07 07:43 bagder
-
- * docs/LICENSE-MIXING: mention the exception only once ;-)
-
-2005-07-06 00:07 bagder
-
- * lib/http.c: correction for the 407 with response-body case
-
-2005-07-05 20:07 giva
-
- * lib/libcurl.rc: Update copyright.
-
-2005-07-05 16:57 bagder
-
- * CHANGES, RELEASE-NOTES, lib/parsedate.c: Gisle Vanem came up with
- a nice little work-around for bug #1230118. It seems the Windows
- (MSVC) libc time functions may return data one hour off if TZ is
- not set and automatic DST adjustment is enabled. This made
- curl_getdate() return wrong value, and it also concerned internal
- cookie expirations etc.
-
-2005-07-04 23:53 bagder
-
- * CHANGES, RELEASE-NOTES: mention the strerror_r detection fix in
- configure
-
-2005-07-04 00:25 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/http.c, lib/http.h,
- tests/runtests.pl, tests/data/Makefile.am, tests/data/test265:
- Andrew Bushnell provided enough info for me to tell that we badly
- needed to fix the CONNECT authentication code with multi-pass
- auth methods (such as NTLM) as it didn't previously properly
- ignore response-bodies - in fact it stopped reading after all
- response headers had been received. This could lead to libcurl
- sending the next request and reading the body from the first
- request as response to the second request. (I also renamed the
- function, which wasn't strictly necessary but...)
-
- The best fix would to once and for all make the CONNECT code use
- the ordinary request sending/receiving code, treating it as any
- ordinary request instead of the special-purpose function we have
- now. It should make it better for multi-interface too. And
- possibly lead to less code...
-
- Added test case 265 for this. It doesn't work as a _really_ good
- test case since the test proxy is too stupid, but the test case
- helps when running the debugger to verify.
-
-2005-06-30 16:07 bagder
-
- * tests/memanalyze.pl: add more info when this script gets
- confused, and added getaddrinfo and freeaddrinfo to the trace
- output
-
-2005-06-30 15:30 bagder
-
- * lib/memdebug.c: use %p to printf pointers since %x doesn't work
- properly on tru64 for this (and besides, we should be using the
- same %-code for all pointers)
-
-2005-06-30 15:28 bagder
-
- * lib/memdebug.h: enable memory debugging on tru64 with ipv6
- support by doing a little different defining, since the system
- headers themselves redefine getaddrinfo
-
-2005-06-30 06:53 danf
-
- * acinclude.m4: Detect (or at least infer) glibc-style strerror_r
- even when cross-compiling.
-
-2005-06-28 11:08 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: new Lua binding
-
-2005-06-26 12:08 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify that ftp ascii transfers
- don't do right in current libcurl
-
-2005-06-24 01:07 bagder
-
- * docs/: curl.1, libcurl/curl_easy_setopt.3: added docs about the
- new proxy string support
-
-2005-06-23 00:31 bagder
-
- * CHANGES, RELEASE-NOTES: David Shaw fixes
-
-2005-06-23 00:30 bagder
-
- * docs/INSTALL: mention more ARMs
-
-2005-06-23 00:24 bagder
-
- * tests/data/test264: verify that the URL decoding is done properly
- too
-
-2005-06-23 00:24 bagder
-
- * lib/url.c, tests/data/Makefile.am, tests/data/test264: David
- Shaw's fix that unifies proxy string treatment so that a proxy
- given with CURLOPT_PROXY can use a http:// prefix and user +
- password. The user and password fields are now also URL decoded
- properly.
-
- Test case 264 added to verify.
-
-2005-06-22 08:58 bagder
-
- * docs/libcurl/libcurl.m4: David Shaw's updated version:
-
- It now properly handles code that uses curl_free() (since not all
- versions of curl have it), and also fixes a few problems when
- detecting libcurl on MinGW, and a linker problem on OSX Panther.
-
-2005-06-21 00:32 bagder
-
- * docs/libcurl/curl_formadd.3: mistake
-
-2005-06-19 23:38 bagder
-
- * CHANGES, RELEASE-NOTES: possible windows memory leak fixed by
- Gisle
-
-2005-06-19 18:58 dmeglio
-
- * ares/: CHANGES, ares_ipv6.h, configure.ac: Added some checks for
- the addrinfo structure.
-
-2005-06-14 16:47 giva
-
- * lib/hostthre.c: Ensure thread handle is closed too.
-
-2005-06-13 20:33 bagder
-
- * docs/FAQ: 4.13 Why is curl -R on Windows one hour off?
-
-2005-06-13 13:20 bagder
-
- * CHANGES: recent buildconf fiddling
-
-2005-06-13 12:49 bagder
-
- * buildconf: run libtoolize in the ares dir as well, and modified
- the output slightly for all tools run in the ares dir - now shown
- like "running ares/[tool]"
-
-2005-06-12 00:04 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: CURLINFO_FILETIME returns the
- time for GMT
-
-2005-06-10 00:43 bagder
-
- * buildconf: make sure the found tool is a regular file (and not a
- dir or something)
-
-2005-06-09 08:45 bagder
-
- * buildconf: Modified to use 'head -n 1' instead of 'head -1' since
- some versions of head complains and claims this is deprecated.
-
-2005-06-08 01:00 bagder
-
- * buildconf: Reverted Tupone Alfredo's patch, as it broke NUMEROUS
- autobuilds. Let's do the changes in a slower and more controlled
- manner...
-
-2005-06-06 23:19 bagder
-
- * CHANGES, buildconf, docs/libcurl/Makefile.am: Tupone Alfredo's
- fixes:
-
- 1) findtool does look per tool in PATH and think ./perl is the
- perl executable, while is just a local directory (I have . in the
- PATH)
-
- 2) I got several warning for head -1 deprecated in favour of head
- -n 1
-
- 3) ares directory is missing some file (missing is missing :-) )
- because automake and friends is not run.
-
- (Let's hope number 2 doesn't break somewhere "out there", if so
- we can always search/replace that back.)
-
-2005-06-03 23:38 bagder
-
- * docs/libcurl/getinfo-times: first rough version
-
-2005-06-03 16:06 bagder
-
- * CHANGES, RELEASE-NOTES, tests/runtests.pl, tests/data/test500,
- tests/data/test502, tests/data/test506, tests/data/test508,
- tests/data/test510, tests/data/test512, tests/data/test514,
- tests/data/test515, tests/data/test516, tests/data/test519,
- tests/data/test522: Andres Garcia's text mode fix for the 'data'
- part
-
-2005-06-03 09:39 bagder
-
- * ares/: ares_process.c, configure.ac: FIONBIO is in sys/ioctl.h on
- AIX
-
-2005-06-02 23:10 bagder
-
- * ares/ares_process.c: sigh, define TRUE if not already
-
-2005-06-02 13:58 bagder
-
- * ares/: CHANGES, acinclude.m4, ares_process.c, configure.ac:
- William Ahern:
-
- Make UDP sockets non-blocking. I've confirmed that at least on
- Linux 2.4 a
- read event can come back from poll() on a valid SOCK_DGRAM
- socket but
- recv(2) will still block. This patch doesn't ignore EAGAIN in
- read_udp_packets(), though maybe it should. (This patch was
- edited by Daniel
- Stenberg and a new configure test was added (imported from
- curl's configure)
- to properly detect what non-blocking socket approach to use.)
-
-2005-06-02 13:09 bagder
-
- * ares/: CHANGES, ares_expand_name.c: William Ahern:
-
- I'm not quite sure how this was happening, but I've been seeing
- PTR queries
- which seem to return empty responses. At least, they were empty
- when calling
- ares_expand_name() on the record. Here's a patch which
- guarantees to
- NUL-terminate the expanded name. The old behavior failed to
- NUL-terminate if
- len was 0, and this was causing strlen() to run past the end of
- the buffer
- after calling ares_expand_name() and getting ARES_SUCCESS as
- the return
- value. If q is not greater than *s then it's equal and *s is
- always
- allocated with at least one byte.
-
-2005-06-01 23:30 bagder
-
- * configure.ac: specify the cares lib before the other libs, to
- make it build fine with mingw - inspired by Tupone Alfredo's bug
- report (and patch) #1212940
-
-2005-05-31 15:03 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/Makefile.am,
- tests/data/test263: Todd Kulesza reported a flaw in the proxy
- option, since a numerical IPv6 address was not possible to use.
- It is now, but requires it written RFC2732-style, within brackets
- - which incidently is how you enter numerical IPv6 addresses in
- URLs. Test case 263 added to verify.
-
-2005-05-31 14:57 bagder
-
- * tests/data/: test240, test241, test242, test243: added keywords
-
-2005-05-30 00:38 bagder
-
- * CHANGES, RELEASE-NOTES: recent changes
-
-2005-05-30 00:30 bagder
-
- * CHANGES, lib/transfer.c, tests/data/Makefile.am,
- tests/data/test262: Eric Cooper reported about a problem with
- HTTP servers that responds with binary zeroes within the headers.
- They confused libcurl to do wrong so the downloaded headers
- become incomplete. The fix is now verified with test case 262.
-
-2005-05-27 13:39 bagder
-
- * lib/hostip4.c: avoid the sensitive word as it looks bad in some
- people's eyes
-
-2005-05-27 13:01 bagder
-
- * tests/libtest/lib505.c: Andrés García fixed a warning appearing
- on windows
-
-2005-05-26 22:56 bagder
-
- * lib/: inet_ntoa_r.h, inet_ntop.c: provide the proper copyright
- texts for these
-
-2005-05-26 00:14 bagder
-
- * configure.ac: set LD_LIBRARY_PATH properly even when the openssl
- lib dir is found using pkg-config
-
-2005-05-26 00:12 bagder
-
- * tests/server/sockfilt.c: silense a warning
-
-2005-05-25 15:07 bagder
-
- * README: minor rephrase
-
-2005-05-25 14:29 bagder
-
- * src/main.c: output the full usec when --trace-time is used
-
-2005-05-25 14:27 bagder
-
- * tests/ftpserver.pl: no more time/re-start of sockfilt, no more
- redirect of stdin/stdout when talking to sockfilt
-
-2005-05-25 14:26 bagder
-
- * tests/ftp.pm: added function for individual ftp slave kills
-
-2005-05-25 14:26 bagder
-
- * tests/runtests.pl: modified output logging, fixed the ftpslave
- killing
-
-2005-05-25 14:04 bagder
-
- * tests/server/util.c: utilize the whole usec in the log and don't
- output to stderr if the logfile can't be opened
-
-2005-05-25 14:04 bagder
-
- * tests/server/sockfilt.c: nicer raw logging and put code into
- (nicer) functions
-
-2005-05-24 23:09 bagder
-
- * tests/ftpserver.pl: don't restart sockfilt after only 5 seconds
- of inactivity
-
-2005-05-24 23:02 bagder
-
- * CHANGES, RELEASE-NOTES: recent action
-
-2005-05-24 12:03 bagder
-
- * tests/data/: test171, test46, test517, test523, test61, test73:
- Andres Garcia's mode=text patch to make these do fine on Windows
-
-2005-05-24 11:40 bagder
-
- * tests/data/: Makefile.am, test261: add test case 261, response
- code 226 to TYPE
-
-2005-05-24 11:39 bagder
-
- * lib/ftp.c: Now allow TYPE responses to be any 2xx code, and log
- if it isn't 200.
-
-2005-05-22 19:54 bagder
-
- * configure.ac: removed leftover debug message ("moo moo")
-
-2005-05-22 00:38 bagder
-
- * tests/data/: test220, test221, test222, test223, test224,
- test225, test226, test227, test228, test229: added keywords
-
-2005-05-20 13:24 bagder
-
- * tests/: testcurl.1, testcurl.pl: added -nobuildconf
-
-2005-05-20 13:15 bagder
-
- * tests/data/: test230, test231, test232, test233: keywords added
-
-2005-05-20 13:15 bagder
-
- * tests/data/test25: shorter name
-
-2005-05-20 13:14 bagder
-
- * tests/keywords.pl: sum up
-
-2005-05-20 12:40 bagder
-
- * tests/: FILEFORMAT, runtests.pl, data/test75: Add support for
- text mode on stdout tests as well, and add the mode=text to the
- docs.
-
-2005-05-19 11:55 bagder
-
- * tests/server/sws.c: include ctype.h for isdigit()
-
-2005-05-19 09:21 bagder
-
- * lib/url.c: additional fix for the malformed URL fix of yday
-
-2005-05-19 09:12 bagder
-
- * tests/server/util.h: removed duplicate
-
-2005-05-18 22:02 bagder
-
- * RELEASE-NOTES: three fixes since 7.14.0
-
-2005-05-18 22:01 bagder
-
- * lib/url.c, tests/data/Makefile.am, tests/data/test260,
- tests/server/sws.c: Bug report #1204435 identified a problem with
- malformed URLs like "http://somehost?data" as it added a slash
- too much in the request ("GET /?data/"...). Added test case 260
- to verify.
-
-2005-05-18 22:00 bagder
-
- * CHANGES: update
-
-2005-05-18 17:15 bagder
-
- * acinclude.m4: adjusted the strerror_r test more, use _REENTRANT
- instead of _THREAD_SAFE when looking for the prototype
-
-2005-05-18 15:24 bagder
-
- * CHANGES, acinclude.m4, lib/strerror.c: The configure check for
- strerror_r() failed to detect the proper API at times, like on my
- HP-UX 10.20 tests. And then lib/strerror.c badly assumed the
- glibc version if the posix define wasn't set (since it _had_
- found a strerror_r).
-
-2005-05-18 12:38 bagder
-
- * docs/KNOWN_BUGS: #15 is now fixed
-
-2005-05-18 12:14 bagder
-
- * docs/FEATURES: clarified for GnuTLS
-
-2005-05-18 12:12 bagder
-
- * docs/FAQ: several updates
-
-2005-05-18 12:05 bagder
-
- * tests/server/.cvsignore: ignore resolve too
-
-2005-05-18 12:01 bagder
-
- * tests/server/resolve.c: use less code and prevent compiler
- warning
-
-2005-05-18 11:26 bagder
-
- * README: removed the separate table with download links, and
- extended the curl site list with all current mirrors
-
-2005-05-17 14:07 bagder
-
- * tests/testcurl.pl: scan for gmake and make to prefer gmake on
- systems that have it
-
-2005-05-17 12:27 bagder
-
- * tests/: runtests.pl, data/test241, server/resolve.c: Made test
- case 241 precheck that the given name resolves to an ipv6
- address, or the test is skipped. Ideally, we should let this test
- case go over a few frequently used IPv6 localhost aliases...
-
-2005-05-17 12:22 bagder
-
- * tests/server/: Makefile.am, resolve.c, sockfilt.c, sws.c, util.c,
- util.h: Moved more generic functions to util.[ch] Added resolve.c
- to simply resolve a given host name
-
-2005-05-17 11:18 bagder
-
- * lib/ftp.c: check if getsockname() returns failure before using
- the address it provides
-
-2005-05-17 11:15 bagder
-
- * lib/ftp.c: reduced typecasts, from two to one
-
-2005-05-17 06:20 dmeglio
-
- * ares/ares_getnameinfo.c: More of the same
-
-2005-05-17 06:18 dmeglio
-
- * ares/ares_getnameinfo.c: More compiler warning cleanups
-
-2005-05-17 00:30 bagder
-
- * docs/libcurl/libcurl-errors.3: bad formatting
-
-2005-05-16 21:23 dmeglio
-
- * ares/ares_free_hostent.3: Made ares_free_hostent man page refer
- to ares_parse_aaaa_reply
-
-2005-05-16 21:14 dmeglio
-
- * ares/ares_getnameinfo.c: Cleaned up some compile warnings
-
-2005-05-16 20:06 dmeglio
-
- * ares/: CHANGES, Makefile.inc, acinclude.m4, ares.h,
- ares_getnameinfo.3, ares_getnameinfo.c, ares_ipv6.h,
- ares_strerror.c, configure.ac, setup.h: Added ares_getnameinfo
- which mimics the getnameinfo API
-
-2005-05-16 17:09 bagder
-
- * configure.ac: Modified the gmtime_r check to not check for it
- until the "check for a working one" is made, and only if that
- test runs ok we define it as present. Unless crosscompiling,
- since then we use the former AC_CHECK_FUNCS method.
-
-2005-05-16 16:53 bagder
-
- * configure.ac: define GMTIME_R to 0 if not working
-
-2005-05-16 16:40 bagder
-
- * configure.ac: attempt to detect a bad (as in HPUX 10.20 bad)
- gmtime_r function
-
-2005-05-16 15:27 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start working on 7.14.1
-
-2005-05-16 14:58 bagder
-
- * CHANGES: Version 7.14.0
-
-2005-05-16 09:07 bagder
-
- * tests/runtests.pl: return, not exit, on several places
-
-2005-05-15 18:31 dmeglio
-
- * ares/inet_ntop.c: Converted some macros to use NS_* so they work
- on non-IPv6 systems
-
-2005-05-15 06:38 dmeglio
-
- * ares/inet_ntop.c: Forgot to ares_-ize inet_ntop
-
-2005-05-14 23:15 bagder
-
- * lib/connect.c: fix warning about redefined symbol
-
-2005-05-14 22:45 bagder
-
- * ares/configure.ac: replaced the CRLF newlines with plain LF ones
-
-2005-05-14 20:35 dmeglio
-
- * ares/: CHANGES, Makefile.inc, configure.ac, inet_ntop.c,
- inet_ntop.h: Added an inet_ntop function from BIND for systems
- that do not have it
-
-2005-05-14 08:04 giva
-
- * lib/makefile.dj: Updated generated dependencies.
-
-2005-05-14 08:00 giva
-
- * lib/: ftp.c, url.c: Some patches for (a stricter/smarter) gcc 4.0
- and warnings like: 'x' may be used uninitialized in this
- function.
-
-2005-05-14 07:59 giva
-
- * lib/config.dj: 'ssize_t' seems to be a gcc 4.x built-in.
-
-2005-05-14 07:58 giva
-
- * lib/connect.c: Change for systems with >1 ways of setting
- (non-)blocking mode. (djgpp/Watt-32 has 3 ways). Should rewrite
- this using "#elif ..", but maybe there is still broken cpp
- around?
-
-2005-05-14 01:00 bagder
-
- * docs/VERSIONS: updated
-
-2005-05-14 00:24 bagder
-
- * RELEASE-NOTES: uses select() instead of poll() even on Mac OS X
- 10.4
-
-2005-05-13 23:19 bagder
-
- * CHANGES, configure.ac: adjusted the configure to always skip the
- fine-poll() test on Mac OS X (darwin)
-
-2005-05-12 23:56 bagder
-
- * docs/libcurl/curl_easy_setopt.3: remove blank lines
-
-2005-05-12 23:49 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_SSLVERSION clarified
-
-2005-05-12 16:00 bagder
-
- * CHANGES, RELEASE-NOTES: -z bad use warning and NTLM proxy auth in
- reconnect fix
-
-2005-05-12 15:44 bagder
-
- * lib/url.c: oops, found by bug reported in bug report #1200661
-
-2005-05-12 14:53 bagder
-
- * lib/config-win32.h: spell
-
-2005-05-12 10:51 bagder
-
- * lib/url.c: typecast to fix warning on 64bit systems
-
-2005-05-12 09:28 bagder
-
- * src/main.c: warn about bad -z syntax
-
-2005-05-11 13:56 bagder
-
- * docs/TODO: MatrixSSL and yaSSL are two free libs we _could_
- support
-
-2005-05-11 12:23 bagder
-
- * CHANGES: mention the select() error fix as well
-
-2005-05-11 11:56 bagder
-
- * CHANGES, RELEASE-NOTES: the new HTTP headers
-
-2005-05-11 11:56 bagder
-
- * docs/THANKS: removed duplicate
-
-2005-05-11 11:52 bagder
-
- * lib/http.c, tests/data/test1, tests/data/test10,
- tests/data/test11, tests/data/test12, tests/data/test13,
- tests/data/test14, tests/data/test15, tests/data/test150,
- tests/data/test151, tests/data/test152, tests/data/test153,
- tests/data/test154, tests/data/test155, tests/data/test156,
- tests/data/test157, tests/data/test158, tests/data/test159,
- tests/data/test16, tests/data/test160, tests/data/test162,
- tests/data/test163, tests/data/test164, tests/data/test165,
- tests/data/test166, tests/data/test167, tests/data/test168,
- tests/data/test169, tests/data/test17, tests/data/test170,
- tests/data/test171, tests/data/test172, tests/data/test173,
- tests/data/test174, tests/data/test175, tests/data/test176,
- tests/data/test177, tests/data/test178, tests/data/test179,
- tests/data/test18, tests/data/test180, tests/data/test181,
- tests/data/test183, tests/data/test184, tests/data/test185,
- tests/data/test186, tests/data/test187, tests/data/test188,
- tests/data/test189, tests/data/test192, tests/data/test193,
- tests/data/test194, tests/data/test197, tests/data/test198,
- tests/data/test199, tests/data/test2, tests/data/test206,
- tests/data/test207, tests/data/test208, tests/data/test209,
- tests/data/test213, tests/data/test214, tests/data/test217,
- tests/data/test218, tests/data/test22, tests/data/test220,
- tests/data/test221, tests/data/test222, tests/data/test223,
- tests/data/test224, tests/data/test233, tests/data/test234,
- tests/data/test239, tests/data/test24, tests/data/test240,
- tests/data/test241, tests/data/test242, tests/data/test243,
- tests/data/test245, tests/data/test246, tests/data/test249,
- tests/data/test25, tests/data/test256, tests/data/test257,
- tests/data/test258, tests/data/test259, tests/data/test26,
- tests/data/test27, tests/data/test28, tests/data/test29,
- tests/data/test3, tests/data/test30, tests/data/test300,
- tests/data/test301, tests/data/test303, tests/data/test304,
- tests/data/test306, tests/data/test31, tests/data/test32,
- tests/data/test33, tests/data/test34, tests/data/test36,
- tests/data/test37, tests/data/test38, tests/data/test39,
- tests/data/test4, tests/data/test40, tests/data/test42,
- tests/data/test43, tests/data/test44, tests/data/test45,
- tests/data/test46, tests/data/test47, tests/data/test48,
- tests/data/test49, tests/data/test5, tests/data/test50,
- tests/data/test500, tests/data/test503, tests/data/test508,
- tests/data/test509, tests/data/test51, tests/data/test510,
- tests/data/test512, tests/data/test513, tests/data/test514,
- tests/data/test515, tests/data/test516, tests/data/test518,
- tests/data/test519, tests/data/test52, tests/data/test522,
- tests/data/test523, tests/data/test53, tests/data/test54,
- tests/data/test55, tests/data/test56, tests/data/test57,
- tests/data/test58, tests/data/test59, tests/data/test6,
- tests/data/test60, tests/data/test61, tests/data/test62,
- tests/data/test63, tests/data/test64, tests/data/test65,
- tests/data/test66, tests/data/test67, tests/data/test68,
- tests/data/test69, tests/data/test7, tests/data/test70,
- tests/data/test71, tests/data/test72, tests/data/test73,
- tests/data/test74, tests/data/test77, tests/data/test78,
- tests/data/test79, tests/data/test8, tests/data/test80,
- tests/data/test81, tests/data/test82, tests/data/test83,
- tests/data/test84, tests/data/test85, tests/data/test86,
- tests/data/test88, tests/data/test89, tests/data/test9,
- tests/data/test90, tests/data/test91, tests/data/test92,
- tests/data/test93, tests/data/test94, tests/data/test95,
- tests/data/test97, tests/data/test98, tests/data/test99: Modified
- the default HTTP headers used by libcurl:
-
- A) Normal non-proxy HTTP:
-
- - no more "Pragma: no-cache" (this only makes sense to proxies)
-
- B) Non-CONNECT HTTP request over proxy:
-
- - "Pragma: no-cache" is used (like before)
- - "Proxy-Connection: Keep-alive" (for older style 1.0-proxies)
-
- C) CONNECT HTTP request over proxy:
-
- - "Host: [name]:[port]"
- - "Proxy-Connection: Keep-alive"
-
-2005-05-11 08:47 bagder
-
- * ares/ares_ipv6.h: prevent NS_IN6ADDRSZ from getting set to zero
- if the struct doesn't exist
-
-2005-05-11 01:02 bagder
-
- * lib/transfer.c: Hm, this doesn't feel right. The error bits
- returned from Curl_select() can be returned at times when we want
- to ignore them. Test case 160 fails on Linux, so I modify the
- comparison to check for _only_ the error bit set...
-
-2005-05-11 00:48 bagder
-
- * lib/transfer.c: me stupid, errno is not set for mere
- select()-exceptions
-
-2005-05-11 00:46 bagder
-
- * lib/transfer.c: include protos to fix warnings
-
-2005-05-11 00:44 bagder
-
- * lib/transfer.c: If Curl_select() returns with the error bit set,
- bail out.
-
-2005-05-10 13:21 bagder
-
- * tests/server/sockfilt.c: prevent 64bit warnings
-
-2005-05-10 13:19 bagder
-
- * tests/testcurl.pl: allow the ares/config.h display to fail
-
-2005-05-09 23:12 bagder
-
- * docs/examples/: Makefile.am, opensslthreadlock.c: Jeremy Brown's
- OpenSSL thread-locking example
-
-2005-05-09 15:57 bagder
-
- * RELEASE-NOTES: new counter
-
-2005-05-09 15:53 bagder
-
- * docs/THANKS: Jamie Lokier added. And I now recounted the amount
- better: 437 named as of now.
-
-2005-05-09 15:26 bagder
-
- * docs/INSTALL: update the "PORTS" section a little
-
-2005-05-09 15:13 bagder
-
- * docs/libcurl/libcurl-tutorial.3: add multi-thread details for
- GnuTLS
-
-2005-05-09 14:34 bagder
-
- * RELEASE-NOTES: new mirror, added amount of contributors
-
-2005-05-09 13:43 bagder
-
- * docs/THANKS: Jeff is short for Jeffrey
-
-2005-05-09 13:39 bagder
-
- * docs/THANKS: updated with the current RELEASE-NOTES names
-
-2005-05-09 11:11 bagder
-
- * docs/THANKS: I decided to make this list more complete. I took
- the 5-year anniversary list from 2003 and added all names from
- all release notes in the CVS (there is a slight gap though). I
- removed names with only first names (Like "Chris" and "Ralph") ,
- as that won't make anyone happy and we might list their full
- names as well anyway.
-
- This list is now intended to include _all_ people that
- contribute: big or small. 389 names at the time of this commit.
-
-2005-05-09 09:45 bagder
-
- * tests/testcurl.pl: no need to display src/config.h anymore since
- it is a duplicate of lib/config.h but we could use having a look
- at ares/config.h when that is used
-
-2005-05-09 00:45 bagder
-
- * lib/ftp.c, src/main.c: silence compiler warnings
-
-2005-05-07 22:41 bagder
-
- * lib/ftp.c: fix warnings about unused variables for non-debug
- builds
-
-2005-05-07 22:28 bagder
-
- * lib/ftp.c: fix
-
-2005-05-07 16:23 bagder
-
- * docs/HISTORY: January 2003. Started working on the distributed
- curl tests. The autobuilds.
-
-2005-05-07 15:57 bagder
-
- * lib/: ftp.c, setup.h: DEBUGF() is a new conveniant macro to add
- infof() calls (or similar) for debug builds only. Made the ftp
- code use it on several places.
-
-2005-05-07 15:52 bagder
-
- * tests/server/sockfilt.c: Added an active disconnected state, to
- make the code clearer.
-
-2005-05-07 10:55 bagder
-
- * tests/server/sockfilt.c: removed unnecessary logging to ease REAL
- debuggin
-
-2005-05-07 01:46 bagder
-
- * RELEASE-NOTES: one more command line option, fixed the AIX 4.3
- enabled IPv6 build (it now detects a bad Ipv6 situation and
- disables it automatically)
-
-2005-05-07 01:22 bagder
-
- * tests/data/: Makefile.am, test258, test259: Added two test cases
- for multipart formpost over a proxy with --anyauth. Our HTTP test
- server is a bit limited though, as it never responds to the POST
- request until all data has been sent (and received)...
-
-2005-05-07 01:21 bagder
-
- * tests/runtests.pl: When a server is clearly running, curl is now
- invoked to verify that it can download a file from the server
- before the server is considered fine to use for the given test
- case. This should fix the cases where the server can run but curl
- cannot work with it.
-
-2005-05-05 08:04 bagder
-
- * lib/sslgen.c: use calloc instead of malloc to save a call to
- memset()
-
-2005-05-04 23:58 bagder
-
- * tests/runtests.pl: now add --trace-time by default for curl tests
-
-2005-05-04 23:57 bagder
-
- * tests/ftpserver.pl: removed lots of (now) redundant logging
-
-2005-05-04 23:51 bagder
-
- * tests/ftpserver.pl: modify a value we are allowed to
-
-2005-05-04 23:49 bagder
-
- * tests/ftpserver.pl: improved logging (all FTP protocol data, both
- ways) to possibly help us realize why sometimes the control
- connection dies after a RETR has been sent
-
-2005-05-04 17:11 bagder
-
- * TODO-RELEASE: towards 7.14.0 - really
-
-2005-05-04 16:52 bagder
-
- * lib/sslgen.c: prevent memory leak when built SSL disabled
-
-2005-05-04 01:14 bagder
-
- * tests/runtests.pl: *MAN* was this hard to track down. Had I just
- read the docs properly from the start... Anyway, fork() + exec()
- makes _two_ pids (in perl) that we need to track and kill after
- use. Thankyouverymuch.
-
-2005-05-04 01:13 bagder
-
- * tests/ftpserver.pl: add more info to the log to ease debugging
-
-2005-05-03 00:53 bagder
-
- * lib/: connect.c, ftp.c: improved failf() error messages
-
-2005-05-03 00:33 bagder
-
- * ares/ares_version.h: the new functions and the upcoming ipv6
- calls for the next version to become 1.3.0
-
-2005-05-02 16:33 bagder
-
- * src/: homedir.c, setup.h: corrected copyright years
-
-2005-05-02 16:33 bagder
-
- * lib/: formdata.c, md5.c, netrc.c: corrected copyright year
-
-2005-05-02 16:06 bagder
-
- * CHANGES, acinclude.m4, docs/KNOWN_BUGS: Sort of "fixed"
- KNOWN_BUGS #4: curl now builds IPv6 enabled on AIX 4.3. At least
- it should no longer cause a compiler error. However, it does not
- have AI_NUMERICHOST so we cannot getaddrinfo() any numerical
- addresses with it (we use that for FTP PORT/EPRT)! So, I modified
- the configure check that checks if the getaddrinfo() is working,
- to use AI_NUMERICHOST since then it'll fail on AIX 4.3 and it
- will automatically build with IPv6 support disabled.
-
-2005-05-02 13:56 bagder
-
- * acinclude.m4, configure.ac, lib/ftp.c: Now configure checks for
- struct sockaddr_storage and the ftp code tries to survive without
- it if not found. AIX 4.3 targetted adjustment.
-
-2005-05-02 13:55 bagder
-
- * tests/ftpserver.pl: another <case> converted to sysread
-
-2005-05-02 13:31 bagder
-
- * tests/ftpserver.pl: read from the open2 filehandle with sysread,
- not <handle>
-
-2005-05-02 12:22 bagder
-
- * tests/: ftpserver.pl, runtests.pl: Fixed the FTP server read
- stuff when waiting for a connect after a PASV/EPSV.
-
- Made the ftp server use the passed in pidfile name, and made
- runtests.pl pass it in properly.
-
-2005-05-02 12:03 bagder
-
- * tests/ftpserver.pl: fix the server for the slow response case
-
-2005-05-02 11:38 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c: Added
- --trace-time that when used adds a time stamp to each trace line
- that --trace, --trace-ascii and --verbose output. I also made the
- '>' display separate each line on the linefeed so that HTTP
- requests etc look nicer in the -v output.
-
-2005-05-02 11:08 bagder
-
- * tests/runtests.pl: When starting the ftp server, wait a few
- seconds to make really sure that a pidfile for the server appears
- as otherwise it failed.
-
-2005-05-02 11:08 bagder
-
- * tests/ftpserver.pl: Make sure there's no pidfile if we cannot
- start the initial sockfilt tool - this happens for some
- ipv6-enabled hosts on which sockfilt cannot listen on ipv6.
-
-2005-05-02 10:40 bagder
-
- * CHANGES: two bugfixes, one change and one test script
- modification
-
-2005-05-02 09:59 bagder
-
- * RELEASE-NOTES: two bugs, one change
-
-2005-05-02 09:54 bagder
-
- * tests/runtests.pl: blank a few more environment variables before
- running a test
-
-2005-05-02 09:53 bagder
-
- * src/main.c: Made curl recognize the environment variables Lynx
- (and others?) support for pointing out the CA cert path/file:
- SSL_CERT_DIR and SSL_CERT_FILE. If CURL_CA_BUNDLE is not set,
- they are checked afterwards.
-
-2005-05-02 09:28 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Bryan Henderson's fine update of
- SSL_VERIFYPEER and SSL_VERIFYHOST
-
-2005-05-02 01:16 bagder
-
- * src/main.c: prevent two compiler warnings on comparisons between
- signed and unsigned
-
-2005-05-01 15:20 bagder
-
- * tests/runtests.pl: fixed to use fork()+exec() to start test
- servers
-
-2005-05-01 14:56 bagder
-
- * tests/server/: sockfilt.c, sws.c, util.c: always use the
- libcurl-provided *printf() functions
-
-2005-05-01 14:51 bagder
-
- * tests/server/Makefile.am: util.h added as "source" to make it get
- added in dist archives
-
-2005-05-01 01:35 bagder
-
- * tests/server/util.c: logfile name is const
-
-2005-05-01 01:30 bagder
-
- * tests/server/: Makefile.am, sockfilt.c, sws.c, util.c, util.h:
- Moved common code to util.[ch] instead of having it duplicated in
- sws.c and sockfilt.c. For good-to-have functions for the servers
- written in C.
-
-2005-05-01 01:07 bagder
-
- * lib/transfer.c: there cannot be chunked problem when no_body
- (HEAD) is true since without body there is nothing
- chunked-encoded!
-
-2005-04-30 17:16 bagder
-
- * lib/connect.c: singleipconnect() returns a socket descriptor, not
- a CURLcode (but perhaps we should make it do that...)
-
-2005-04-29 14:34 bagder
-
- * CHANGES, RELEASE-NOTES: more fixes
-
-2005-04-28 23:26 bagder
-
- * docs/curl.1: Updated with (new and old) default config file
- search path explanation.
-
-2005-04-28 23:07 bagder
-
- * tests/data/test31: Set mode text on the section that is written
- by curl in text mode, to allow the runtests.pl to check this
- differently on operating systems that differentiate on this.
-
-2005-04-28 23:06 bagder
-
- * tests/ftpserver.pl: basic signal handler for sigint and sigkill
-
-2005-04-28 23:05 bagder
-
- * tests/getpart.pm: fixed the attribute parser to better handle
- multiple ones, with or without quotes around the contents
-
-2005-04-28 23:04 bagder
-
- * tests/runtests.pl: moved two functions to ftp.pm, made some more
- changes on stopping servers and fixed the textmode attribute
- thing for windows a bit
-
-2005-04-28 23:04 bagder
-
- * tests/ftp.pm: moved in functions from runtests.pl to enable the
- ftpserver to use the killslaves function
-
-2005-04-28 16:31 bagder
-
- * tests/server/sockfilt.c: AF_INET6 for ipv6 addresses!
-
-2005-04-28 16:25 bagder
-
- * tests/: ftp.pm, runtests.pl: no, the kill servers messages need
- to be verbose, they're too frequent
-
-2005-04-28 16:03 bagder
-
- * tests/: ftp.pm, runtests.pl: display killed pids to make it
- easier to see for autobuilds etc
-
-2005-04-28 15:55 bagder
-
- * tests/ftpsserver.pl: historic thing we will not use
-
-2005-04-28 15:55 bagder
-
- * tests/Makefile.am: removed ftpsserver.pl
-
-2005-04-28 15:54 bagder
-
- * tests/runtests.pl: When staring a HTTP server, use the pidfile
- preferably since it turns out sometimes the server can start but
- curl cannot speak to it, and then we must remember the server (in
- order to kill it properly) anyway.
-
- Also, make sure to kill all servers on exit everywhere.
-
-2005-04-28 13:22 bagder
-
- * tests/.cvsignore: ignore more generated files
-
-2005-04-28 10:23 bagder
-
- * tests/runtests.pl: remove unused ftps-server code and fixed two
- warnings
-
-2005-04-28 10:20 bagder
-
- * tests/getpart.pm: if diff -u makes zero output, try diff -c
- instead
-
-2005-04-28 09:36 bagder
-
- * tests/ftpserver.pl: kill slave processes when they fail
-
-2005-04-28 08:50 bagder
-
- * tests/runtests.pl: 1. no longer ask the server for the HTTPS pid,
- as it returns the HTTP pid (problem identified by Dan F) 2.
- initial text mode fix for file checks, to allow better text file
- testing on windows (with regard to line endings) 3. fixed to use
- the proper ftpserver pidfile to find pid
-
-2005-04-27 23:24 bagder
-
- * CHANGES, src/homedir.c, src/main.c: Paul Moore made curl check
- for the .curlrc file (_curlrc on windows) on two more places.
- First, CURL_HOME is a new environment variable that is used
- instead of HOME if it is set, to point out where the default
- config file lives. If there's no config file in the dir pointed
- out by one of the environment variables, the Windows version will
- instead check the same directory the executable curl is located
- in.
-
-2005-04-27 14:28 bagder
-
- * tests/server/sockfilt.c: listen(..., 1) as 0 doesn't work on
- Tru64!
-
-2005-04-27 14:27 bagder
-
- * tests/server/sws.c: display listening port in log
-
-2005-04-27 12:12 bagder
-
- * tests/keywords.pl: show what error codes we test for too, and
- show 10 test case numbers
-
-2005-04-27 11:59 bagder
-
- * tests/data/: test100, test101, test102, test103, test104,
- test105, test106, test107, test108, test109, test110, test111,
- test112, test113, test114, test115, test116, test117, test118,
- test119, test12, test120, test121, test122, test123, test124,
- test125, test126, test127, test128, test130, test131, test132,
- test133, test134, test135, test136, test256, test3, test38,
- test81, test82, test83, test84, test85, test86, test87, test88,
- test89, test90, test91, test92, test93, test94, test95, test97,
- test98, test99: keyword update
-
-2005-04-27 11:59 bagder
-
- * tests/runtests.pl: detect SSL library properly and display it on
- startup
-
-2005-04-26 23:47 bagder
-
- * CHANGES, RELEASE-NOTES: fixing
-
-2005-04-26 15:08 bagder
-
- * lib/: connect.c, cookie.c, formdata.c, ftp.c, hostthre.c,
- inet_pton.c, md5.c, mprintf.c, parsedate.c, select.c, strerror.c,
- transfer.c, url.c: Cory Nelson's work on nuking compiler warnings
- when building on x64 with VS2005.
-
-2005-04-26 15:08 bagder
-
- * lib/setup.h: Since Windows doesn't have/use the POSIX prototype
- for send() and recv(), we typecast the third argument in the
- macros to avoid compiler warnings.
-
-2005-04-26 12:55 bagder
-
- * lib/setup.h: adding a bunch of comments for each #endif
-
-2005-04-25 23:39 bagder
-
- * CHANGES, lib/http.c, lib/netrc.c, lib/url.c, lib/urldata.h,
- tests/data/Makefile.am, tests/data/test257: Fred New reported a
- bug where we used Basic auth and user name and password in
- .netrc, and when following a Location: the subsequent requests
- didn't properly use the auth as found in the netrc file. Added
- test case 257 to verify my fix.
-
-2005-04-25 10:55 bagder
-
- * docs/libcurl/curl_multi_fdset.3: be specific about what max_fd
- contains after a call
-
-2005-04-25 00:25 bagder
-
- * CHANGES, lib/config-win32.h, lib/setup.h, src/config-win32.h,
- src/setup.h: Based on feedback from Cory Nelson, I added some
- preprocessor magic in */setup.h and */config-win32.h to build
- fine with VS2005 on x64.
-
-2005-04-24 00:08 bagder
-
- * CHANGES, RELEASE-NOTES: 2 days, 4 fixes
-
-2005-04-23 23:26 bagder
-
- * src/main.c: Alex Suykov's ftp upload show progress meter patch,
- slightly adjusted.
-
-2005-04-23 13:59 gknauf
-
- * ares/Makefile.netware: fix for recent changes.
-
-2005-04-23 00:29 bagder
-
- * tests/keywords.pl: show up to 5 (random) test cases using the
- keyword
-
-2005-04-22 23:59 bagder
-
- * tests/data/: test33, test34, test36, test37, test39, test40,
- test41, test42, test43, test44, test45, test46, test47, test48,
- test49, test50, test51, test52, test53, test54, test55, test56,
- test57, test58, test59, test60, test61, test62, test63, test64,
- test65, test66, test67, test68, test69, test70, test71, test72,
- test73, test74, test75, test76, test77, test78, test79, test80:
- keywords added
-
-2005-04-22 23:16 bagder
-
- * lib/Makefile.vc6: Dave Dribin: set CURL_STATICLIB when it builds
- static library variants.
-
-2005-04-22 23:13 bagder
-
- * configure.ac: Andres Garcia's fix for building static curl on
- windows.
-
-2005-04-22 22:56 bagder
-
- * lib/gtls.c: Fixed the CN extraction
-
-2005-04-22 22:49 bagder
-
- * src/curl.rc: update the copyright year
-
-2005-04-22 22:48 bagder
-
- * lib/: getinfo.c, strequal.h: modified this year
-
-2005-04-22 22:47 bagder
-
- * tests/runtests.pl: ignore the memdump file when showing files
- after a failure
-
-2005-04-22 22:47 bagder
-
- * tests/server/Makefile.am: copyright this year
-
-2005-04-22 17:01 bagder
-
- * ares/: ares_gethostbyname.c, ares_parse_aaaa_reply.c: Fixed for
- Mac OS X builds based on excellent feedback from Heinz
- Stockinger.
-
-2005-04-22 15:03 gknauf
-
- * ares/Makefile.netware: changes for building with IPV6.
-
-2005-04-22 13:51 bagder
-
- * tests/runtests.pl: modified the test case success reporting,
- added "test N out of Y" and "remaining: [time]" outputs to hint
- users about what to expect
-
-2005-04-22 12:15 bagder
-
- * tests/data/: Makefile.am, test256, test38: test 256 is like test
- 38 but with proxy + proxy auth
-
-2005-04-22 12:06 bagder
-
- * tests/data/test38: keywords
-
-2005-04-22 12:01 bagder
-
- * src/main.c: Set the retry delay variables after the option
- parsing, as bug report #1187787 points out.
-
-2005-04-21 22:11 bagder
-
- * ares/Makefile.inc: added missing headers
-
-2005-04-21 01:41 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: changes for building
- with IPV6 and LDAP.
-
-2005-04-20 01:38 bagder
-
- * lib/sslgen.c: prevent compiler warning
-
-2005-04-20 01:37 bagder
-
- * lib/url.c: added typecast when converting from long to unsigned
- short, to prevent compiler warning
-
-2005-04-20 01:36 bagder
-
- * ares/inet_net_pton.c: indented source to look more like other
- ares code, added (somewhat ugly) typecasts to build warning-free
- on 64bit platforms (the result of a (char *) - (char *) cannot be
- stored in an int universally)
-
-2005-04-20 01:26 bagder
-
- * ares/ares_init.c: sortlist_alloc() is never used on win32, so
- ifdef out it to prevent warning
-
-2005-04-20 01:19 bagder
-
- * lib/: hostares.c, hostasyn.c, hostip.c, hostip4.c, hostip6.c,
- hostsyn.c, hostthre.c, setup.h: only define _REENTRANT if not
- already defined, and only in setup.h
-
-2005-04-20 00:23 bagder
-
- * configure.ac: Check for and config for the ca cert bundle
- properly when built with GnuTLS. Previously this was only done
- for OpenSSL builds.
-
-2005-04-20 00:12 bagder
-
- * configure.ac: when --with-gnutls is used, we assume a
- bin/libgnutls-config file in the given prefix. Building something
- with gnutls without it just is too error- prone.
-
-2005-04-20 00:03 bagder
-
- * configure.ac: remove the warning for a lacking crypto lib since
- it migth just be a gnutls build...
-
-2005-04-19 10:10 bagder
-
- * tests/data/test523: added CURLOPT_PORT test when using proxy
-
-2005-04-18 21:53 bagder
-
- * RELEASE-NOTES: two bugfixes of today
-
-2005-04-18 21:41 bagder
-
- * CHANGES, lib/url.c, tests/data/Makefile.am, tests/data/test521,
- tests/data/test522, tests/libtest/Makefile.am,
- tests/libtest/lib521.c, tests/libtest/lib523.c: Olivier reported
- that even though he used CURLOPT_PORT, libcurl clearly still used
- the default port. He was right. I fixed the problem and added the
- test cases 521, 522 and 523 to verify the fix.
-
-2005-04-18 19:14 bagder
-
- * CHANGES, lib/http.c, tests/data/test508, tests/data/test510,
- tests/data/test513, tests/data/test515: Toshiyuki Maezawa
- reported that when doing a POST with a read callback, libcurl
- didn't properly send an Expect: 100-continue header. It does now.
-
-2005-04-18 16:32 bagder
-
- * docs/libcurl/curl_easy_setopt.3: digest works in the proxyauth
- too
-
-2005-04-18 13:40 bagder
-
- * include/curl/multi.h: Initial curl_multi_socket() stuff,
- #ifdef'ed out for now but committed for documentational purposes.
-
-2005-04-18 10:59 bagder
-
- * tests/server/sockfilt.c: better fix for the socket -1 case
-
-2005-04-18 10:51 bagder
-
- * tests/server/.cvsignore: ignore sockfilt
-
-2005-04-18 10:49 bagder
-
- * tests/server/sockfilt.c: safety measure to avoid using -1 as
- socket
-
-2005-04-18 10:49 bagder
-
- * tests/ftpserver.pl: allow some more time
-
-2005-04-18 09:56 bagder
-
- * tests/data/test103: ARGH my stupidity is endless. Ipv4-only hosts
- don't send EPRT or LPRT.
-
-2005-04-18 08:57 bagder
-
- * tests/: Makefile.am, ftp.pm, ftpserver.pl, runtests.pl,
- data/Makefile.am, data/test103, data/test252, data/test253,
- data/test254, data/test255, server/Makefile.am, server/getpart.c,
- server/sockfilt.c, server/testpart.c: Modified the FTP server to
- use the new 'sockfilt' program to do all the socket level stuff.
- The FTP server communicates with sockfilt using perl's open2().
- This enables easier IPv6 support and hopefully FTP-SSL support in
- the future. Added four test cases for FTP-ipv6.
-
-2005-04-18 07:46 bagder
-
- * tests/testcurl.pl: Modified to not mix ordinary print to STDOUT
- with a system() that prints to stdout, since I've found cases on
- Solaris where the second output mixes with the first and thus the
- big check-script doesn't properly find the first string in the
- output stream.
-
-2005-04-18 01:01 bagder
-
- * docs/libcurl/curl_multi_fdset.3: somewhat clarified that this
- only sets the fd_sets and expects them to be cleared before this
- function is called
-
-2005-04-17 01:15 bagder
-
- * tests/data/: test11, test12, test13, test14, test15, test16,
- test17, test18, test19, test20, test21, test22, test23, test24,
- test25, test26, test27, test28, test29, test30, test31, test32,
- test8: keywords added
-
-2005-04-17 01:15 bagder
-
- * tests/keywords.pl: minor edits, report the test cases without
- keywords
-
-2005-04-16 14:43 bagder
-
- * tests/keywords.pl: starting to produce a summary in HTML
-
-2005-04-16 14:30 bagder
-
- * ares/ares_init.c: avoid warning on windows
-
-2005-04-16 14:24 bagder
-
- * docs/curl.1: clarify that > in the verbose output can contain
- newlines
-
-2005-04-16 02:00 bagder
-
- * tests/data/: test10, test6, test7, test8, test9: keywords added
-
-2005-04-16 01:48 bagder
-
- * tests/keywords.pl: initial tool to report info/keywords of the
- test cases
-
-2005-04-16 01:48 bagder
-
- * tests/: FILEFORMAT, data/test1, data/test2, data/test3,
- data/test4, data/test5: started adding "keywords" for each test,
- to better allow us to sum up what kind of tests we have and how
- many tests that test certain features
-
-2005-04-15 23:51 bagder
-
- * ares/inet_net_pton.c: add needed include
-
-2005-04-15 17:25 dmeglio
-
- * ares/: ares_ipv6.h, ares_private.h, inet_net_pton.h: Attempted to
- fix c-ares not building on non-IPv6 systems
-
-2005-04-15 10:45 bagder
-
- * configure.ac: if libgnutls-config isn't found in the given path,
- deal with it nicer (but it is still likely to not do very good
- since it can't figure out all the lib dependencies)
-
-2005-04-15 00:52 bagder
-
- * tests/data/: Makefile.am, test250, test251: Two new slowdown
- tests for better testing of the FTP response reader function when
- the response come in many small chunks.
-
-2005-04-15 00:52 bagder
-
- * tests/: FILEFORMAT, ftpserver.pl, runtests.pl: make the ftp
- server support reply/servercmd, and make SLOWDOWN work, and
- update the docs accordingly
-
-2005-04-13 23:17 bagder
-
- * lib/gtls.c: oops, only negative numbers are errors
-
-2005-04-13 21:31 danf
-
- * docs/FAQ: Mention GnuTLS and fix a few spelling errors.
-
-2005-04-13 14:38 bagder
-
- * lib/gtls.c: don't bail out just because the ca file has a
- problem, it might be OK
-
-2005-04-13 14:37 bagder
-
- * tests/data/test305: fix port number
-
-2005-04-13 10:50 bagder
-
- * docs/HISTORY: GnuTLS support
-
-2005-04-13 10:47 bagder
-
- * docs/FAQ: extended the multi-thread explanation
-
-2005-04-13 08:52 bagder
-
- * lib/ssluse.c: fix compiler warning
-
-2005-04-13 02:32 danf
-
- * ares/buildconf: Allow environment variables to override default
- autotools.
-
-2005-04-12 16:17 bagder
-
- * RELEASE-NOTES, TODO-RELEASE, include/curl/curlver.h: next release
- will be version 7.14.0 thanks to the added GnuTLS support
-
-2005-04-12 09:56 bagder
-
- * lib/strequal.h: Provides an unconditional strlcat() proto even if
- strlcat() was found by configure. An attempt to fix warnings when
- we build and the strlcat() function is provided by one if the
- libs (gss or krb4) since then we have no protos for it in a
- system header.
-
-2005-04-12 09:19 bagder
-
- * tests/data/test509: requires OpenSSL, as our GnuTLS doesn't
- provide support for CURLOPT_SSL_CTX_FUNCTION (yet).
-
-2005-04-12 09:18 bagder
-
- * tests/runtests.pl: support tests that requires 'OpenSSL'
- specificly
-
-2005-04-11 16:07 bagder
-
- * ares/: AUTHORS, Makefile.am: credits
-
-2005-04-11 15:50 bagder
-
- * docs/TODO: refresh
-
-2005-04-11 15:39 bagder
-
- * docs/FAQ: 5.12 Can I make libcurl fake or hide my real IP
- address?
-
-2005-04-11 00:56 bagder
-
- * CHANGES, RELEASE-NOTES: HTTP 304 response with Content-Length:
- header
-
-2005-04-10 01:46 dmeglio
-
- * ares/: bitncmp.c, inet_net_pton.c: Removed usage of u_int and
- u_char
-
-2005-04-10 00:33 bagder
-
- * lib/gtls.c: Blah, revert my removal of the extra check since the
- problem is there for real.
-
- Archived thread of the help-gnutls mailing list regarding this
- problem:
-
- http://lists.gnu.org/archive/html/help-gnutls/2005-04/msg00000.html
-
- (and I _am_ sorry for my confused behaviour on this problem.)
-
-2005-04-09 23:38 bagder
-
- * lib/gtls.c: OK, I must've been halucinating or something because
- I no longer see the bug I thought I saw before when I changed
- this...!
-
-2005-04-09 21:59 dmeglio
-
- * ares/: CHANGES, ares_gethostbyaddr.c, ares_gethostbyname.c,
- ares_init.c, ares_private.h: Made sortlist support IPv6 (this can
- probably use some testing)
-
-2005-04-09 18:49 dmeglio
-
- * ares/: CHANGES, ares_gethostbyname.c, ares_init.c,
- ares_private.h, bitncmp.c: Made sortlist support CIDR matching
- for IPv4
-
-2005-04-08 21:46 dmeglio
-
- * ares/: CHANGES, Makefile.inc, ares_gethostbyaddr.c,
- ares_gethostbyname.c, bitncmp.c, bitncmp.h, configure.ac: Added
- preliminary IPv6 support to ares_gethostbyname
-
-2005-04-08 18:59 bagder
-
- * lib/transfer.c, lib/urldata.h, tests/data/Makefile.am,
- tests/data/test249: fixed the 304 response-with-content-length
- problem reported by Cory Nelson
-
-2005-04-08 18:22 dmeglio
-
- * ares/ares__get_hostent.c: Added include for inet_net_pton.h to
- ares__get_hostent.c
-
-2005-04-08 17:41 dmeglio
-
- * ares/: CHANGES, ares__get_hostent.c, ares_gethostbyaddr.c,
- ares_gethostbyname.c, ares_private.h: Made ares_gethostbyaddr
- support IPv6 by specifying AF_INET6 as the family
-
-2005-04-08 11:25 bagder
-
- * lib/sslgen.c: re-arrange some code to prevent warnings on
- unreachable code
-
-2005-04-08 10:48 bagder
-
- * ares/configure.ac: include sys/types.h too when checking for
- headers as otherwise this breaks on Solaris and FreeBSD. At
- least.
-
-2005-04-08 07:07 curlvms
-
- * packages/vms/curlmsg.msg: updated instructions
-
-2005-04-08 07:06 curlvms
-
- * packages/vms/build_vms.com: fixed control_y trap problem
-
-2005-04-08 07:01 curlvms
-
- * lib/if2ip.c: cast the call to Curl_inet_ntop for DECC compiler
- squawk
-
-2005-04-08 00:47 bagder
-
- * lib/gtls.c: Unfortunately, if a ca file name is set the function
- fails for whatever reason (missing file, bad file, etc), gnutls
- will no longer handshake properly but it just loops forever.
- Therefore, we must return error if we get an error when setting
- the CA cert file name. This is not the same behaviour as with
- OpenSSL.
-
- Question/report posted to the help-gnutls mailing list, April 8
- 2005.
-
-2005-04-08 00:14 bagder
-
- * lib/TODO.gnutls: one down
-
-2005-04-08 00:13 bagder
-
- * configure.ac: set LD_LIBRARY_PATH when GnuTLS has been found
-
-2005-04-07 23:12 bagder
-
- * lib/makefile.dj: cut 'n paste error
-
-2005-04-07 23:10 bagder
-
- * lib/: Makefile.Watcom, Makefile.riscos, makefile.dj: GnuTLS
- updates
-
-2005-04-07 23:05 bagder
-
- * CHANGES, RELEASE-NOTES: GnuTLS!
-
-2005-04-07 22:56 bagder
-
- * lib/: libcurl.framework.make, makefile.amiga: added new files
-
-2005-04-07 22:36 bagder
-
- * lib/Makefile.vc6: fixed to build after the GnuTLS fixes
-
-2005-04-07 17:28 bagder
-
- * docs/LICENSE-MIXING: added some blurb about the GnuTLS license
-
-2005-04-07 17:27 bagder
-
- * lib/: Makefile.inc, TODO.gnutls, easy.c, ftp.c, getinfo.c,
- gtls.c, gtls.h, http.c, http_ntlm.c, http_ntlm.h, krb4.h,
- sendf.c, setup.h, sslgen.c, sslgen.h, ssluse.c, ssluse.h,
- transfer.c, url.c, url.h, urldata.h, version.c: GnuTLS support
- added. There's now a "generic" SSL layer that we use all over
- internally, with code provided by sslgen.c. All
- SSL-layer-specific code is then written in ssluse.c (for OpenSSL)
- and gtls.c (for GnuTLS).
-
- As far as possible, internals should not need to know what SSL
- layer that is in use. Building with GnuTLS currently makes two
- test cases fail.
-
- TODO.gnutls contains a few known outstanding issues for the
- GnuTLS support.
-
- GnuTLS support is enabled with configure --with-gnutls
-
-2005-04-07 17:21 bagder
-
- * docs/libcurl/curl_version_info.3: ssl_version_num is not used
- anymore
-
-2005-04-07 17:18 bagder
-
- * include/curl/curl.h: ssl_version_num won't be used anymore since
- we will soon offer multiple SSL layers and it won't make sense to
- provide a numerical version for it. I also doubt that many people
- have used this for anything critical.
-
-2005-04-07 17:12 bagder
-
- * configure.ac: Add support for --with-gnutls. If configure detects
- OpenSSL, you need to to explicitly disable that first with
- --without-ssl. Initial attempt.
-
-2005-04-07 16:26 bagder
-
- * buildconf: bail out if perl is missing, it is needed for building
- curl anyway
-
-2005-04-07 10:59 bagder
-
- * buildconf: check for libtoolize and aclocal to doublecheck the
- installations better
-
-2005-04-07 09:38 bagder
-
- * ares/configure.ac: Try harder to see if arpa/nameser_compat.h
- REALLY is a good header file to include, as it seems at least
- some AIX versions don't really allow it to be include at the same
- time as the original nameser.h.
-
-2005-04-07 09:30 bagder
-
- * docs/curl.1: add SSPI
-
-2005-04-07 00:27 bagder
-
- * ares/: CHANGES, ares_expand_name.c, ares_gethostbyaddr.c,
- ares_gethostbyname.c, ares_init.c, ares_mkquery.c,
- ares_parse_a_reply.c, ares_parse_ptr_reply.c, ares_process.c,
- ares_query.c, ares_send.c: Tupone Alfredo fixed includes of
- arpa/nameser_compat.h to build fine on Mac OS X.
-
-2005-04-06 23:14 bagder
-
- * ares/nameser.h: better errno constant replacements, as mentioned
- by Gisle Vanem
-
-2005-04-06 20:58 giva
-
- * ares/ares_parse_aaaa_reply.c: Include inet_net_pton.h for 'struct
- in6_addr'. Ideally this should come from <ws2tcpip.h>, but
- Winsock 1.1 should suffice.
-
-2005-04-06 20:55 giva
-
- * ares/Makefile.inc: Moved inet_net_pton.h to HHEADERS.
-
-2005-04-06 16:11 bagder
-
- * ares/: configure.ac, inet_net_pton.h: check for struct sizes and
- use those sizes if the NS_* defines are lacking (IRIX 6.5.22 it
- seems)
-
-2005-04-06 16:02 bagder
-
- * ares/: Makefile.inc, inet_net_pton.c, inet_net_pton.h, setup.h:
- moved the *_inet_pton protos to inet_net_pton.h instead
-
-2005-04-06 15:54 bagder
-
- * ares/setup.h: made the ares_inet_net_pton() proto use size_t
- size, as the function in the code uses that
-
-2005-04-06 02:39 danf
-
- * docs/curl.1: Removed extraneous comma
-
-2005-04-05 23:14 bagder
-
- * lib/ftp.c: too late hacking error
-
-2005-04-05 23:07 bagder
-
- * tests/data/: Makefile.am, test247, test248: test time-conditioned
- FTP uploads
-
-2005-04-05 22:59 bagder
-
- * lib/ftp.c: Christophe Legry's fix to grok time-conditoned uploads
-
-2005-04-05 22:20 bagder
-
- * ares/: inet_net_pton.c, nameser.h: with these changes, it builds
- on my win32 cross-compiler
-
-2005-04-05 22:19 bagder
-
- * ares/configure.ac: check for another arpa header
-
-2005-04-05 22:08 bagder
-
- * ares/configure.ac: check for the arpa/* headers
-
-2005-04-05 20:26 dmeglio
-
- * ares/: CHANGES, Makefile.inc, configure.ac, setup.h,
- inet_net_pton.c: Provided implementations of inet_net_pton and
- inet_pton from BIND for systems that do not include these
- functions. These will be necessary for CIDR support and IPv6
- support.
-
-2005-04-05 17:11 bagder
-
- * include/curl/curlver.h: 7.13.3 in progress
-
-2005-04-05 16:38 bagder
-
- * docs/FAQ: 5.11 How do I make libcurl not receive the whole HTTP
- response?
-
-2005-04-05 16:36 bagder
-
- * docs/FAQ: two more actual FAQs
-
-2005-04-05 09:55 bagder
-
- * RELEASE-NOTES: restart with a blank page again
-
-2005-04-05 09:37 bagder
-
- * CHANGES: the smell of release
-
-2005-04-05 09:33 bagder
-
- * docs/KNOWN_BUGS: bug report #1156287, ftp upload from VMS
-
-2005-04-05 00:38 bagder
-
- * CHANGES, RELEASE-NOTES: win resolve crash, win makefile fix
-
-2005-04-04 23:23 bagder
-
- * lib/hostip.h: kill warnings
-
-2005-04-04 15:21 bagder
-
- * lib/Makefile.vc6: Marcelo Juchem's improvements
-
-2005-04-04 14:30 giva
-
- * lib/: hostip.h, hostthre.c, url.c: hostthre.c:
- destroy_thread_data() made public. Called from url.c:
- Curl_disconnect().
-
-2005-04-04 10:07 bagder
-
- * docs/curl.1: spell fixes, based on the Debian bug report #302820
- submitted by "A Costa"
-
-2005-04-04 01:01 bagder
-
- * RELEASE-NOTES: fix of tonight
-
-2005-04-04 00:46 bagder
-
- * CHANGES, lib/http.c, tests/data/Makefile.am, tests/data/test246:
- Hardeep Singh reported a problem doing HTTP POST with Digest. (It
- was actually also affecting NTLM and Negotiate.) It turned out
- that if the server responded with 100 Continue before the initial
- 401 response, libcurl didn't take care of the response properly.
- Test case 245 and 246 added to verify this.
-
-2005-04-04 00:18 bagder
-
- * tests/data/: Makefile.am, test245: Test 245 was just added in an
- attempt to repeat Hardeep Singh's recent bug. But this works
- just fine on my host. Plain HTTP POST using Digest.
-
-2005-03-31 22:34 bagder
-
- * lib/Makefile.vc6: fixed bad comment, pointed out by Marcelo
- Juchem
-
-2005-03-31 16:42 bagder
-
- * tests/ftpserver.pl: copyright this year
-
-2005-03-31 16:10 bagder
-
- * tests/libtest/lib504.c: Attempt to make this code more forgiving
- for systems that doesn't detect the failed connect "immediately".
-
-2005-03-31 09:02 bagder
-
- * Makefile.am, Makefile.dist, ares/Makefile.netware,
- include/curl/curl.h, include/curl/multi.h, lib/Makefile.am,
- lib/Makefile.netware, lib/base64.c, lib/base64.h,
- lib/content_encoding.c, lib/cookie.c, lib/easy.c, lib/easyif.h,
- lib/hostasyn.c, lib/hostip4.c, lib/http_chunks.c,
- lib/http_chunks.h, lib/http_negotiate.c, lib/if2ip.c,
- lib/if2ip.h, lib/inet_ntop.h, lib/inet_pton.h, lib/memdebug.c,
- lib/memdebug.h, lib/multiif.h, lib/parsedate.c, lib/parsedate.h,
- lib/select.c, lib/setup.h, lib/ssluse.c, lib/ssluse.h,
- lib/transfer.h, src/Makefile.am, src/Makefile.netware,
- src/getpass.c, src/urlglob.c, tests/Makefile.am,
- tests/server/getpart.c, tests/server/sws.c: Updated the copyright
- year since changes have been this year.
-
-2005-03-31 08:55 bagder
-
- * TODO-RELEASE: the cookie API is better and more likely to happen
- in a separate release
-
-2005-03-30 22:55 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac: fix configure's
- SSL-detection for msys/mingw (from Andres Garcia)
-
-2005-03-30 08:31 bagder
-
- * docs/curl.1: format mistake in --form-string, pointed out by Owen
- Watson
-
-2005-03-29 23:08 bagder
-
- * CHANGES, RELEASE-NOTES: Better connection keep-alive when POSTing
- with HTTP Digest or Negotiate.
-
-2005-03-29 14:28 bagder
-
- * lib/http.c: Don't close the connection if we're in a known
- negotiation mode and we won't send any data anyway. Probably the
- bug Tom Moers noticed.
-
-2005-03-29 13:54 bagder
-
- * CHANGES, RELEASE-NOTES: proxy multi auth fix, --proxy-anyauth,
- ftp-ssl and ftp response reading fix
-
-2005-03-29 13:53 bagder
-
- * TODO-RELEASE: postpone these
-
-2005-03-29 13:43 bagder
-
- * lib/ftp.c: When doing FTP-SSL, advance to the next state properly
- when the response to AUTH has been received successfully.
-
-2005-03-29 13:35 bagder
-
- * lib/: ftp.c, urldata.h: Fixed the FTP response reader function to
- properly deal with responses split up in several chunks when
- read.
-
-2005-03-29 11:09 bagder
-
- * tests/ftpserver.pl: Made the server send data to the control/data
- connections using two dedicated functions. This enabled me to add
- a function that automatically delays between each byte, to proper
- test curl's ability to read FTP server responses sent in many
- (small) chunks. See also upcoming libcurl fixes...
-
-2005-03-29 00:19 bagder
-
- * lib/http.c, tests/data/Makefile.am, tests/data/test239,
- tests/data/test243: Based on Augustus Saunders' comments and
- findings, the HTTP output auth function was fixed to use the
- proper proxy authentication when multiple ones were added as
- accepted. test 239 and test 243 were added to repeat the problems
- and verify the fixes.
-
-2005-03-29 00:17 bagder
-
- * docs/curl.1, src/main.c: Added --proxy-anyauth
-
-2005-03-29 00:15 bagder
-
- * tests/server/sws.c: modified some log outputs, added comment
- about auth required as used in test 154
-
-2005-03-22 20:58 bagder
-
- * tests/Makefile.am: can you spell copy and paste error for me loud
- and clear? ;-P
-
-2005-03-22 20:46 bagder
-
- * tests/Makefile.am: provide HTML and PDF versions of the man pages
- in the dist archive
-
-2005-03-22 19:02 bagder
-
- * acinclude.m4: When cross-compiling, we do some better checking
- for the NI_WITHSCOPEID option instead of just assuming it is
- present.
-
-2005-03-22 11:37 giva
-
- * ares/ares_private.h: CURL_EXTERN is already in <curl/curl.h>.
-
-2005-03-22 11:36 giva
-
- * ares/setup.h: Prevent redefinition warning with CURLDEBUG.
-
-2005-03-22 10:23 bagder
-
- * CHANGES, CHANGES.2004: moved out the changes from 2004 to
- CHANGES.2004
-
-2005-03-22 02:24 danf
-
- * lib/select.c: Fixed typo.
-
-2005-03-21 23:38 bagder
-
- * ares/ares_gethostbyname.c: the same fix here too, typecast to
- prevent win32 compiler warning
-
-2005-03-21 23:37 bagder
-
- * ares/ares_gethostbyaddr.c: typecase to fix win32 compiler warning
- (and intended as other code is)
-
-2005-03-21 23:34 bagder
-
- * lib/select.c: Modified the VALID_SOCK() macro to become
- VERIFY_SOCK() instead. It is slighly more involved, but should
- hopefully not generate any compiler warnings on win32 systems
- (that can't check the socket based on the numeric).
-
-2005-03-21 09:14 bagder
-
- * tests/: runtests.pl, data/test150, data/test155, data/test159,
- data/test162, data/test169, data/test170, data/test176,
- data/test209, data/test213, data/test67, data/test68,
- data/test69, data/test70, data/test81, data/test89, data/test90,
- data/test91: Make NTLM tests depend on the NTLM feature at not
- SSL, since the NTLM support is no longer only present when built
- with SSL support.
-
-2005-03-21 08:45 bagder
-
- * tests/runtests.1: format mistake
-
-2005-03-20 13:46 bagder
-
- * lib/hostthre.c: removed a (fairly useless) debug output just to
- compile without warning
-
-2005-03-20 13:29 bagder
-
- * ares/ares_init.c: silence win32 compiler warnings
-
-2005-03-20 01:38 bagder
-
- * ares/configure.ac: attempt to fix the ares link breakage with
- --enable-debug in libcurl and here
-
-2005-03-19 02:03 bagder
-
- * ares/ares_init.c: silence warnings on win32 about static
- functions that are never used
-
-2005-03-19 02:00 bagder
-
- * tests/testcurl.pl: some additional debug output
-
-2005-03-19 01:44 bagder
-
- * lib/setup.h: fix compiler warning
-
-2005-03-18 19:41 danf
-
- * tests/testcurl.1: Fixed spelling of --runtestopts
-
-2005-03-18 19:03 danf
-
- * tests/testcurl.pl: Netware builds don't use configure.
-
-2005-03-18 11:16 bagder
-
- * lib/Makefile.vc6: fix by Kyrre Kristiansen
-
-2005-03-18 10:21 bagder
-
- * tests/testcurl.pl: adjust to use plain 'make' even for
- cross-compiles if using configure- style build
-
-2005-03-18 10:01 bagder
-
- * RELEASE-NOTES: a Common Lisp binding
-
-2005-03-17 21:50 danf
-
- * tests/data/test237: Change the bogus address used in test237 to
- be more reliable when run on a host with a buggy resolver that
- strips all but the bottom 8 bits of each octet. The resolved
- address in this case (192.0.2.127) is guaranteed never to belong
- to a real host (see RFC3330).
-
-2005-03-17 21:32 danf
-
- * lib/setup.h: Use the proper macro to do uClibc detection.
-
-2005-03-17 20:12 bagder
-
- * lib/hostip6.c: include inet_pton.h
-
-2005-03-17 13:16 bagder
-
- * tests/runtests.1: added descriptions
-
-2005-03-17 13:00 bagder
-
- * COPYING: update year
-
-2005-03-17 10:44 bagder
-
- * tests/testcurl.pl: don't set TEST_F to blank when --runtestopts
- isn't used, as that will override the default options set in the
- Makefile
-
-2005-03-17 09:17 bagder
-
- * tests/: FILEFORMAT, runtests.pl, data/test237: support multiple
- error codes for a test case since some things just vary between
- platforms
-
-2005-03-17 09:09 bagder
-
- * docs/KNOWN_BUGS: add 'FTP ASCII transfers' here, since they seem
- to be frequently attempted these days...!
-
-2005-03-17 09:04 bagder
-
- * tests/testcurl.1: add new option
-
-2005-03-17 09:04 bagder
-
- * tests/Makefile.am: add new file
-
-2005-03-17 09:03 bagder
-
- * tests/runtests.1: its a start
-
-2005-03-17 08:40 bagder
-
- * lib/: hostip4.c, hostip6.c: use Curl_inet_pton(), not
- inet_pton().
-
-2005-03-17 01:57 danf
-
- * tests/: Makefile.am, testcurl.pl: Added the --runtestsopts option
- to testcurl.pl to override the default options used by
- runtests.pl during testing (useful for disabling valgrind).
-
-2005-03-17 00:09 danf
-
- * lib/Makefile.am, src/Makefile.inc: Removed references to
- config-vms.h from the makefiles.
-
-2005-03-16 23:27 danf
-
- * lib/config-vms.h, src/config-vms.h: Removed old VMS config files
- (on behalf of Marty Kuhrt). The VMS build scripts use the version
- in packages/vms/
-
-2005-03-16 23:03 bagder
-
- * CHANGES, RELEASE-NOTES: more
-
-2005-03-16 23:02 bagder
-
- * tests/runtests.pl: check for the HTTPS server in a manner similar
- to how we check for the HTTP server
-
-2005-03-16 23:01 bagder
-
- * CHANGES, lib/hostip4.c, lib/inet_pton.h: - Tru64 and some IRIX
- boxes seem to not like test 237 as it is. Their inet_addr()
- functions seems to use &255 on all numericals in a ipv4 dotted
- address which makes a different failure... Now I've modified the
- ipv4 resolve code to use inet_pton() instead in an attempt to
- make these systems better detect this as a bad IP address
- rather than creating a toally bogus address that is then passed
- on and used.
-
-2005-03-16 03:25 danf
-
- * lib/: if2ip.c, inet_ntop.c, inet_ntop.h: Fixed some compiler
- warnings I should have noticed before.
-
-2005-03-15 22:00 danf
-
- * lib/: ftp.c, if2ip.c, inet_ntoa_r.h, inet_ntop.c, setup.h, url.c:
- Fixed ftp support with uClibc due to differing inet_ntoa_r()
- behaviour.
-
-2005-03-15 13:33 bagder
-
- * tests/data/: Makefile.am, test237, test238: test EPSV and PASV
- response handling when they get well-formated data back but using
- illegal values
-
-2005-03-15 13:13 bagder
-
- * tests/: Makefile.am, testcurl.1, testcurl.pl: initial man page
- attempt for testcurl.pl
-
-2005-03-15 08:50 bagder
-
- * CHANGES: new options to testcurl.pl, fixed curl-config and
- removed compiler warnings
-
-2005-03-15 08:49 bagder
-
- * configure.ac, curl-config.in: added missing features to
- curl-config
-
-2005-03-15 08:48 bagder
-
- * lib/telnet.c: nonsense change for(;;) => while(1) just to prevent
- gcc from warning on never executed code when -Wunreachable-code
- is used
-
-2005-03-15 08:47 bagder
-
- * lib/strerror.c: prevent compiler warning
-
-2005-03-15 08:35 bagder
-
- * tests/testcurl.pl: Added lots of new command line options, made
- confsuffix get set based on targetos only and not build os.
- Commented away the line that enables perl warnings.
-
-2005-03-15 05:47 danf
-
- * acinclude.m4: Finally fixed the LDAP library searching bug on
- libtool ver. 1.5
-
-2005-03-15 05:04 danf
-
- * tests/data/: test20, test507: Make nonexistent host names
- absolute so tests will pass on machines with a wildcard DNS
- search domain.
-
-2005-03-14 20:37 danf
-
- * acinclude.m4: Use the libtool variables better to make LDAP
- library search work on more platforms.
-
-2005-03-14 16:51 bagder
-
- * lib/: http_ntlm.c, if2ip.c: hushing up more warnings
-
-2005-03-14 16:43 bagder
-
- * lib/: connect.c, ftp.c, if2ip.h, strerror.c: silence compiler
- warnings for mingw win32 builds --enable-debug
-
-2005-03-14 13:26 bagder
-
- * tests/testcurl.pl: show LDFLAGS too
-
-2005-03-14 10:39 bagder
-
- * configure.ac: if ws2_32 is used, append the lib last in the LIBS
- list (too) to make it build and link fine with c-ares
-
-2005-03-14 10:37 giva
-
- * lib/http_ntlm.c: Avoid "unused variable" warnings.
-
-2005-03-14 09:15 bagder
-
- * CHANGES, RELEASE-NOTES: configure --enable-sspi
-
-2005-03-14 08:46 bagder
-
- * lib/Makefile.inc: security.h is removed
-
-2005-03-14 01:52 bagder
-
- * TODO-RELEASE: two issues fixed
-
-2005-03-14 01:01 bagder
-
- * lib/urldata.h: include security.h with lowercase s to work on
- cross-compiled mingw
-
-2005-03-14 01:00 bagder
-
- * lib/: ftp.c, krb4.c, krb4.h, security.c, security.h, sendf.c,
- url.c: Removed security.h since it shadows an include file mingw
- needs when building for SSPI support. The contents of the file
- has been moved into the krb4.h file.
-
-2005-03-14 00:59 bagder
-
- * configure.ac: Added --enable-sspi that now make libcurl build
- with SSPI support. This only works when built for win32.
-
-2005-03-13 10:21 giva
-
- * ares/ares_process.c: Prevent gcc warning.
-
-2005-03-12 23:55 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: found a common lisp binding
-
-2005-03-12 20:49 bagder
-
- * CHANGES, RELEASE-NOTES: --form-string
-
-2005-03-12 20:39 bagder
-
- * docs/MANUAL, docs/curl.1, src/main.c, tests/data/test39: David
- Houlder added --form-string
-
-2005-03-12 18:31 giva
-
- * lib/urldata.h: Swap <security.h> and <sspi.h> (needed for MingW).
-
-2005-03-12 00:07 danf
-
- * acinclude.m4: Work around a bug in libtool ver. 1.5 during LDAP
- library detection.
-
-2005-03-11 16:18 bagder
-
- * docs/libcurl/curl_version_info.3: added CURL_VERSION_SSPI
-
-2005-03-11 16:10 bagder
-
- * CHANGES, include/curl/curl.h, lib/version.c, src/main.c:
- curl_version_info() returns the feature bit CURL_VERSION_SSPI
-
-2005-03-11 16:10 bagder
-
- * Makefile.dist, src/Makefile.vc6: fixed two leftover from
- Christopher's patch
-
-2005-03-11 09:34 bagder
-
- * ares/: Makefile.inc, ares_parse_aaaa_reply.3: the
- ares_parse_aaaa_reply man page
-
-2005-03-11 09:14 bagder
-
- * ares/configure.ac: Check for winsock.h to work with win32. Only
- include system headers we know exist.
-
-2005-03-11 09:06 bagder
-
- * ares/acinclude.m4: Replace AC_TRY_RUN() with AC_EGREP_CPP() when
- checking for constants to work fine with cross-compiled builds.
-
-2005-03-11 09:03 bagder
-
- * ares/Makefile.netware: oops, once is enough! ;-)
-
-2005-03-11 08:53 bagder
-
- * ares/Makefile.netware: Define HAVE_AF_INET6_H for Netware too, as
- Guenter Knauf's builds indicate.
-
-2005-03-11 08:52 danf
-
- * ares/Makefile.netware: Added HAVE_AF_INET6 to Netware's config.h
-
-2005-03-11 06:49 danf
-
- * lib/: http_ntlm.c, url.c: Fixed some compiler warnings.
-
-2005-03-11 06:39 danf
-
- * ares/Makefile.netware: Added HAVE_STRUCT_IN6_ADDR to Netware's
- config.h
-
-2005-03-11 06:28 danf
-
- * acinclude.m4, configure.ac, docs/KNOWN_BUGS,
- lib/Makefile.netware, lib/config-amigaos.h, lib/config-mac.h,
- lib/config-riscos.h, lib/config-win32.h, lib/config.dj,
- lib/ldap.c, packages/vms/config-vms.h: Fixed LDAP library file
- name bug (KNOWN_BUGS #1). configure now auto-detects the correct
- dynamic library names by default, and provides override switches
- --with-ldap-lib, --with-lber-lib and --without-lber-lib. Added
- CURL_DISABLE_LDAP to platform-specific config files to disable
- LDAP support on those platforms that probably don't have dynamic
- OpenLDAP libraries available to avoid compile errors.
-
-2005-03-11 01:44 bagder
-
- * Makefile.am: Add an alert already here if 'make test' is
- attempted for a cross-compile since there's no use building the
- whole test suite first and _then_ tell it doesn't work anyway...
-
-2005-03-11 01:20 bagder
-
- * tests/testcurl.pl: no more rewriting of the setup file
-
-2005-03-11 00:30 bagder
-
- * ares/: CHANGES, Makefile.inc, acinclude.m4, ares.h,
- ares_parse_aaaa_reply.c, configure.ac, setup.h: Dominick Meglio
- added ares_parse_aaaa_reply.c and did various adjustments. The
- first little steps towards IPv6 support!
-
-2005-03-11 00:15 bagder
-
- * CHANGES, lib/Makefile.vc6, lib/http.c, lib/http_ntlm.c,
- lib/http_ntlm.h, lib/url.c, lib/urldata.h, lib/version.c,
- src/Makefile.vc6: Christopher R. Palmer made it possible to build
- libcurl with the USE_WINDOWS_SSPI on Windows, and then libcurl
- will be built to use the native way to do NTLM. SSPI also allows
- libcurl to pass on the current user and its password in the
- request.
-
-2005-03-10 00:35 bagder
-
- * CHANGES, RELEASE-NOTES: configure, socks, debug, getdate
-
-2005-03-09 23:13 bagder
-
- * lib/url.c: As reported by 'nodak sodak' we should check for a
- NULL pointer before referencing the proxy name pointer.
-
-2005-03-09 19:40 danf
-
- * configure.ac: Stopped linking to the SSL libs if a full
- installation isn't found. Removed a redundant library check.
-
-2005-03-09 08:56 bagder
-
- * tests/: data/test517, libtest/lib517.c: skip the test of "2094
- Nov 6" for now, since the 64bit time_t systems return different
- values for it...
-
-2005-03-08 23:21 bagder
-
- * lib/multi.c: remove old printf() debug leftover
-
-2005-03-08 17:31 bagder
-
- * docs/libcurl/curl_getdate.3, lib/parsedate.c: mktime() returns a
- time_t. time_t is often 32 bits, even on many architectures that
- feature 64 bit 'long'.
-
- Some systems have 64 bit time_t and deal with years beyond 2038.
- However, even some of the systems with 64 bit time_t returns -1
- for dates beyond 03:14:07 UTC, January 19, 2038. (Such as AIX
- 5100-06)
-
-2005-03-08 12:15 bagder
-
- * docs/libcurl/curl_getdate.3: days are english
-
-2005-03-08 09:09 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/Makefile.am,
- tests/data/test520, tests/libtest/Makefile.am,
- tests/libtest/lib520.c: Dominick Meglio reported that using
- CURLOPT_FILETIME when transferring a FTP file got a
- Last-Modified: header written to the data stream, corrupting the
- actual data. This was because some conditions from the previous
- FTP code was not properly brought into the new FTP code. I fixed
- and I added test case 520 to verify. (This bug was introduced in
- 7.13.1)
-
-2005-03-08 04:24 danf
-
- * configure.ac: Fixed the --with-zlib configure option so that it
- always adds the specified path to the compiler flags. Before, a
- zlib installation in the default path was always used in
- preference to the one in the desired location.
-
-2005-03-07 19:59 danf
-
- * src/main.c: fseek() with SEEK_SET is broken on large file capable
- 32-bit systems, so revert to the SEEK_END method of repositioning
- the stream after a ftruncate() and only use SEEK_SET if
- ftruncate() isn't available.
-
-2005-03-07 09:29 bagder
-
- * tests/data/: Makefile.am, test236: test 236: FTP resume upload
- but denied access to remote file
-
-2005-03-07 09:11 bagder
-
- * CHANGES: valgrind.pm fixed
-
-2005-03-06 23:33 bagder
-
- * tests/Makefile.am: added valgrind.pm to the dist
-
-2005-03-05 01:54 danf
-
- * packages/vms/config-vms.h, src/Makefile.netware,
- src/config-amigaos.h, src/config-mac.h, src/config-riscos.h,
- src/config-vms.h, src/config-win32.h, src/main.c: Better cope
- with a failed or unavailable ftruncate(). Added HAVE_FTRUNCATE
- to all the static config-*.h files on the assumption that all
- those systems provide it.
-
-2005-03-05 01:04 bagder
-
- * ares/vc/: adig/adig.mak, ahost/ahost.mak: Samuel Díaz García's
- correction
-
-2005-03-05 00:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, tests/data/Makefile.am,
- tests/data/test235: Added test case 235 that makes a resumed
- upload of a file that isn't present on the remote side. This then
- converts the operation to an ordinary STOR upload. This was
- requested/pointed out by Ignacio Vazquez-Abrams.
-
- It also proved (and I fixed) a bug in the newly rewritten ftp
- code (and present in the 7.13.1 release) when trying to resume an
- upload and the servers returns an error to the SIZE command.
- libcurl then loops and sends SIZE commands infinitely.
-
-2005-03-04 23:36 danf
-
- * lib/ssluse.c: Reduced the length of data read from the random
- entropy file.
-
-2005-03-04 21:10 danf
-
- * lib/ssluse.c: Don't try to read the whole of the random file
- because when /dev/urandom is used, it slows initialization too
- much reading an infinitely long file!
-
-2005-03-04 16:42 bagder
-
- * include/curl/curlver.h: 7.13.2-CVS
-
-2005-03-04 15:09 bagder
-
- * RELEASE-NOTES: starting over
-
-2005-03-04 14:41 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE: stand clear for release
- time
-
-2005-03-04 01:26 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- lib/cookie.c: Dave Dribin made it possible to set
- CURLOPT_COOKIEFILE to "" to activate the cookie "engine" without
- having to provide an empty or non-existing file.
-
-2005-03-04 01:24 bagder
-
- * lib/http_chunks.h: killed trailing whitespace
-
-2005-03-04 01:14 bagder
-
- * lib/http_chunks.c: killed trailing whitespace
-
-2005-03-04 01:12 bagder
-
- * CHANGES, RELEASE-NOTES, src/main.c: Rene Rebe fixed a -# crash
- when more data than expected was retrieved.
-
-2005-03-04 00:27 bagder
-
- * RELEASE-NOTES: new VB binding
-
-2005-03-04 00:25 bagder
-
- * docs/BINDINGS: VB binding, updated the .NET info
-
-2005-03-03 14:13 bagder
-
- * CHANGES, RELEASE-NOTES: mention buffer overflows fixed
-
-2005-03-03 07:51 bagder
-
- * packages/vms/Makefile.am: fix the distribution files
-
-2005-03-01 00:54 danf
-
- * lib/base64.c: Fix for a base64 decode heap buffer overflow
- vulnerability.
-
-2005-02-24 19:54 danf
-
- * lib/http_negotiate.c, tests/server/getpart.c: Fixed some compiler
- warnings. Fixed a low incidence memory leak in the test server.
-
-2005-02-22 19:39 bagder
-
- * ares/vc/: adig/adig.mak, ahost/ahost.mak: Updated as suggested by
- Samuel Díaz García
-
-2005-02-22 13:20 bagder
-
- * lib/: krb4.c, security.c: krb4 fixed
-
-2005-02-22 13:10 bagder
-
- * lib/base64.c, lib/base64.h, lib/http_negotiate.c,
- lib/http_ntlm.c, lib/krb4.c, tests/server/getpart.c:
- Curl_base64_decode() now returns an allocated buffer
-
-2005-02-22 08:44 bagder
-
- * lib/http_ntlm.c: Thanks for the notification iDEFENCE. We are the
- "initial vendor" and we sure got no notification, no mail, no
- nothing.
-
- You didn't even bother to mail us when you went public with this.
- Cool.
-
- NTLM buffer overflow fix, as reported here:
-
- http://www.securityfocus.com/archive/1/391042
-
-2005-02-19 23:33 bagder
-
- * tests/data/: Makefile.am, test234: added test case 234 which is
- like 233 but uses --location-trusted instead so thus the second
- request to the new host will use authentication fine
-
-2005-02-19 00:53 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/data/Makefile.am,
- tests/data/test233: Ralph Mitchell reported a flaw when you used
- a proxy with auth, and you requested data from a host and then
- followed a redirect to another host. libcurl then didn't use the
- proxy-auth properly in the second request, due to the host-only
- check for original host name wrongly being extended to the proxy
- auth as well. Added test case 233 to verify the flaw and that the
- fix removed the problem.
-
-2005-02-18 12:54 bagder
-
- * CHANGES, RELEASE-NOTES: socket leak, mingw build
-
-2005-02-18 09:24 bagder
-
- * configure.ac: Based on Mike Dobbs' report, BUILDING_LIBCURL is
- now defined in here if it runs to build with mingw.
-
-2005-02-17 15:45 bagder
-
- * lib/connect.c: close the socket properly when returning error due
- to failing localbind Bug report #1124588 by David
-
-2005-02-17 08:47 bagder
-
- * docs/curl.1: mention filename= for the -F
-
-2005-02-16 15:31 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/transfer.c: Christopher
- R. Palmer reported a problem with HTTP-POSTing using "anyauth"
- that picks NTLM. Thanks to David Byron letting me test NTLM
- against his servers, I could quickly repeat and fix the problem.
- It turned out to be:
-
- When libcurl POSTs without knowing/using an authentication and it
- gets back a list of types from which it picks NTLM, it needs to
- either continue sending its data if it keeps the connection
- alive, or not send the data but close the connection. Then do the
- first step in the NTLM auth. libcurl didn't send the data nor
- close the connection but simply read the response-body and then
- sent the first negotiation step. Which then failed miserably of
- course. The fixed version forces a connection if there is more
- than 2000 bytes left to send.
-
-2005-02-15 00:50 bagder
-
- * configure.ac: check for ENGINE_load_builtin_engines() as well if
- engine is around
-
-2005-02-14 23:37 curlvms
-
- * packages/vms/readme: changed config-vms info
-
-2005-02-14 23:36 curlvms
-
- * packages/vms/.cvsignore: changed curlmsg.* entries to see if CVS
- would ignore it now
-
-2005-02-14 10:30 bagder
-
- * lib/: transfer.c, transfer.h: Rename Curl_pretransfersec() to
- *_second_connect() since it does not just do pretransfer stuff
- like Curl_pretransfer().
-
-2005-02-11 23:50 bagder
-
- * lib/ftp.c: Fixed bad krb4 code. It always tried to use krb4 if
- built enabled.
-
-2005-02-11 23:42 curlvms
-
- * packages/vms/build_vms.com: rename amigaos.c and nwlib.c if they
- exist before building
-
-2005-02-11 23:05 bagder
-
- * packages/vms/: config-vms.h_with_ssl, config-vms.h_without_ssl,
- curlmsg.h, curlmsg.sdl: Removed per Marty's request: The .h_*
- files aren't needed anymore, I consolidated them into one file
- called config-vms.h. The curlmsg.h and .sdl files are generated
- from the curlmsg.msg file and, thus, shouldn't be in the dist.
-
-2005-02-11 22:17 curlvms
-
- * packages/vms/curlmsg_vms.h: re-sync'd with curlmsg.msg
-
-2005-02-11 22:07 curlvms
-
- * packages/vms/.cvsignore: ignore curlmsg.h and .sdl as they are
- generated by curlmsg.msg
-
-2005-02-11 22:01 curlvms
-
- * packages/vms/curlmsg.msg: sync'd error codes with include/curl.h
-
-2005-02-11 21:17 curlvms
-
- * packages/vms/defines.com: Added $Id$ and pre-exisiting logical
- check
-
-2005-02-11 20:34 bagder
-
- * configure.ac: remove the check for strftime(), we don't need it
-
-2005-02-11 01:03 bagder
-
- * CHANGES, RELEASE-NOTES, lib/Makefile.inc, lib/file.c, lib/ftp.c,
- lib/http.c, lib/parsedate.c, lib/parsedate.h: Removed all uses of
- strftime() since it uses the localised version of the week day
- names and month names and servers don't like that.
-
-2005-02-10 09:57 bagder
-
- * CHANGES, RELEASE-NOTES: valgrind stuff for test suite, vms build
- and more
-
-2005-02-10 09:50 bagder
-
- * tests/: runtests.pl, valgrind.pm: Moved out the valgrind report
- parser to valgrind.pm, to make it easier to test it outside the
- test suite. Now we also disable valgrind usage if libcurl was
- built shared, as then valgrind is only testing the wrapper-script
- running shell which is pointless.
-
-2005-02-10 08:45 bagder
-
- * lib/ftp.c: typecast assign to ftpport from int to prevent
- warnings
-
-2005-02-10 08:45 bagder
-
- * lib/ssluse.c: init fix for non-SSL builds
-
-2005-02-10 02:54 curlvms
-
- * packages/vms/: build_vms.com, config-vms.h, defines.com: Reduced
- the two config-vms.h_* files into this one.
-
-2005-02-10 00:16 bagder
-
- * CHANGES, TODO-RELEASE: David Byron fixed his SSL problems,
- initially mentioned here:
- http://curl.haxx.se/mail/lib-2005-01/0240.html. It turned out we
- didn't use SSL_pending() as we should.
-
- This was TODO-RELEASE issue #59.
-
-2005-02-10 00:09 bagder
-
- * lib/transfer.c: David Byron identified the lack of SSL_pending()
- use, and this is my take at fixing this issue.
-
-2005-02-10 00:04 bagder
-
- * lib/: easy.c, ssluse.c, ssluse.h: better error checking and SSL
- init by David Byron
-
-2005-02-09 23:47 bagder
-
- * lib/url.c: prevent a compiler warning
-
-2005-02-09 16:15 giva
-
- * docs/examples/htmltitle.cc: Some functions are static here, but
- extern in libxml's SAX.h. gcc doesn't like that. Rename.
-
-2005-02-09 15:34 bagder
-
- * CHANGES: the new ftp code and Gisle's DICT fix
-
-2005-02-09 15:29 bagder
-
- * TODO-RELEASE: issue #54 done
-
-2005-02-09 15:28 giva
-
- * lib/ldap.c: Set 'bits.close' in case of malloc fail. Don't free
- 'lud_dn' twice in case curl_unescape() fails.
-
-2005-02-09 15:13 bagder
-
- * docs/libcurl/libcurl-errors.3: add missing error codes
-
-2005-02-09 15:01 giva
-
- * lib/ftp.c: Use CURL_SOCKET_BAD.
-
-2005-02-09 14:59 giva
-
- * lib/: ftp.c, strerror.c: Handle CURLE_LOGIN_DENIED in strerror.c.
- For ftp only?
-
-2005-02-09 14:47 bagder
-
- * lib/ftp.c: FD_SET can be big macro, use braces
-
-2005-02-09 14:06 bagder
-
- * include/curl/curl.h, lib/dict.c, lib/dict.h, lib/file.c,
- lib/file.h, lib/ftp.c, lib/ftp.h, lib/hostares.c, lib/hostasyn.c,
- lib/hostip.c, lib/hostip.h, lib/hostip6.c, lib/hostsyn.c,
- lib/hostthre.c, lib/http.c, lib/http.h, lib/ldap.c, lib/ldap.h,
- lib/multi.c, lib/multiif.h, lib/sendf.h, lib/telnet.c,
- lib/telnet.h, lib/transfer.c, lib/url.c, lib/url.h,
- lib/urldata.h, src/main.c, tests/data/test113,
- tests/data/test114, tests/data/test190, tests/data/test195,
- tests/data/test196, tests/libtest/lib511.c: FTP code turned into
- state machine. Not completely yet, but a good start. The tag
- 'before_ftp_statemachine' was set just before this commit in case
- of future need.
-
-2005-02-09 12:50 giva
-
- * lib/dict.c: Replace LF with CRLF. Ref RFC-2229, sec 2.3: "Each
- command line must be terminated by a CRLF".
-
-2005-02-09 00:39 bagder
-
- * docs/curl.1: -O clarification
-
-2005-02-08 20:07 bagder
-
- * CHANGES: inflate and out of memory fixes
-
-2005-02-08 20:03 bagder
-
- * lib/hostares.c: ares_gethostbyname wants a 'ares_host_callback'
- in the 4th argument
-
-2005-02-08 13:36 giva
-
- * lib/: hostares.c, hostasyn.c, hostip.h, hostthre.c:
- Curl_addrinfo?_callback() and addrinfo_callback() now returns
- CURLE_OK or CURLE_OUT_OF_MEMORY. Add typecast in hostares.c.
-
-2005-02-08 13:32 giva
-
- * lib/ftp.c: Don't free too much in freedirs() if realloc() fails.
-
-2005-02-08 08:36 bagder
-
- * lib/: hostares.c, transfer.c: Curl_wait_for_resolv() no longer
- disconnects on failure, but leaves that operation to the caller.
- Disconnecting has the disadvantage that the conn pointer gets
- completely invalidated and this is not handled on lots of places
- in the code.
-
-2005-02-07 20:12 danf
-
- * lib/content_encoding.c: Fix for a bug report that compressed
- files that are exactly 64 KiB long produce a zlib error.
-
-2005-02-06 13:43 giva
-
- * lib/http.c: Preserve previous status in Curl_http_done().
-
-2005-02-05 11:25 bagder
-
- * docs/KNOWN_BUGS: valgrind errors occur too often when 'make test'
- is used. It is because too many third-party libs and tools have
- problems. When curl is built without --disable-shared, the
- testing is done with a front-end script which makes the valgrind
- testing include (ba)sh as well and that often causes valgrind
- errors. Either we improve the valgrind error scanner a lot to
- better identify (lib)curl errors only, or we disable valgrind
- checking by default
-
-2005-02-05 00:53 bagder
-
- * docs/examples/getinmemory.c: fix type
-
-2005-02-05 00:43 bagder
-
- * CHANGES, lib/ftp.c: Eric Vergnaud found a use of an uninitialized
- variable
-
-2005-02-04 14:42 bagder
-
- * lib/transfer.c: David Byron pointed out that this -1 on the
- buffer size is pointless since the buffer is already BUFSIZE +1
- one big to fit the extra trailing zero. This change is reported
- to fix David's weird SSL problem...
-
-2005-02-02 20:25 bagder
-
- * docs/examples/Makefile.am: another example
-
-2005-02-02 20:25 bagder
-
- * docs/examples/htmltidy.c: HTML parsing example with libtidy, by
- Jeff Pohlmeyer
-
-2005-02-01 09:46 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: and we start over again
-
-2005-02-01 08:54 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/KNOWN_BUGS: 7.13
- coming up
-
-2005-01-31 21:03 bagder
-
- * docs/examples/htmltitle.cc: somewhat nicer libcurl usage
-
-2005-01-31 19:23 bagder
-
- * docs/examples/README: htmltitle
-
-2005-01-31 19:22 bagder
-
- * docs/examples/: Makefile.am, htmltitle.cc: HTML <head> parsing
- (with libxml) example code by Lars Nilsson.
-
-2005-01-30 23:57 bagder
-
- * CHANGES: four changes
-
-2005-01-30 23:54 bagder
-
- * lib/multi.c: if the DO operation returns failure, bail out and
- close down nicely to prevent memory leakage
-
-2005-01-30 14:26 bagder
-
- * TODO-RELEASE: Let's add a cookie interface in 7.14
-
-2005-01-30 13:56 bagder
-
- * tests/runtests.pl: Bugfixed the parser that scans the valgrind
- report outputs. I noticed that it previously didn't detect and
- report the "Conditional jump or move depends on uninitialised
- value(s)" error.
-
- When I fixed this, I caught a few curl bugs with it. And then I
- had to spend time to make the test suite IGNORE these errors when
- OpenSSL is used since it produce massive amounts of valgrind
- warnings (but only of the "Conditional..." kind it seems).
-
- So, if a test that requires SSL is run, it ignores the
- "Conditional..." errors, and you'll get a "valgrind PARTIAL"
- output instead of "valgrind OK".
-
-2005-01-30 13:53 bagder
-
- * tests/data/: test300, test301, test302, test303, test304,
- test305, test306: properly mark tests as requiring feature 'SSL'
-
-2005-01-30 13:42 bagder
-
- * lib/url.c: Use calloc() to save us the memset() call and
- terminate conn->host.name properly, to avoid reading uninited
- variables when using file:// (valgrind)
-
-2005-01-30 00:46 bagder
-
- * src/urlglob.c: Clear the urlglob struct when allocated, since we
- might otherwise use uninitialized variables. Pointed out to us by
- the friendly Valgrind.
-
-2005-01-29 23:38 bagder
-
- * lib/connect.c: include "url.h" for the Curl_safefree() proto
-
-2005-01-29 23:31 bagder
-
- * CHANGES, lib/multi.c, lib/transfer.c, lib/transfer.h: Using the
- multi interface, and doing a requsted a re-used connection that
- gets closed just after the request has been sent failed and did
- not re-issue a request on a fresh reconnect like the easy
- interface did. Now it does! (define CURL_MULTIEASY, run test case
- 160)
-
-2005-01-29 23:26 bagder
-
- * lib/easy.c: Define CURL_MULTIEASY when building this, to use my
- new curl_easy_perform() that uses the multi interface to run the
- request. It is a great testbed for the multi interface and I
- believe we shall do it this way for real in the future when we
- have a successor to curl_multi_fdset().
-
-2005-01-29 14:54 bagder
-
- * docs/TheArtOfHttpScripting: corrected the URL
-
-2005-01-29 14:07 bagder
-
- * CHANGES, lib/connect.c, lib/connect.h, lib/ftp.c, lib/url.c,
- lib/urldata.h: conn->ip_addr MUST NOT be used on re-used
- connections
-
-2005-01-29 14:06 bagder
-
- * tests/runtests.pl: when using valgrind, include a much longer
- stack trace
-
-2005-01-29 13:01 bagder
-
- * lib/multi.c, CHANGES: multi interface: when a request is denied
- due to "Maximum redirects followed" libcurl leaked the last
- Location: URL.
-
-2005-01-29 00:21 bagder
-
- * CHANGES, lib/connect.c: Connect failures with the multi interface
- was often returned as "connect() timed out" even though the
- reason was different. Fixed this problem by not setting this
- timeout to zero when using multi.
-
-2005-01-28 23:22 bagder
-
- * tests/data/test506: adjusted to the moved unlock of the DNS entry
-
-2005-01-28 23:14 bagder
-
- * CHANGES, docs/KNOWN_BUGS, lib/url.c, lib/urldata.h: KNOWN_BUGS
- #17 fixed. A DNS cache entry may not remain locked between two
- curl_easy_perform() invokes. It was previously unlocked at
- disconnect, which could mean that it remained locked between
- multiple transfers. The DNS cache may not live as long as the
- connection cache does, as they are separate.
-
- To deal with the lack of DNS (host address) data availability in
- re-used connections, libcurl now keeps a copy of the IP adress as
- a string, to be able to show it even on subsequent requests on
- the same connection.
-
-2005-01-28 09:26 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Stephen More pointed out that
- CURLOPT_FTPPORT and the -P option didn't work when built
- ipv6-enabled. I've now made a fix for it. Writing test cases for
- custom port strings turned too tricky so unfortunately there's
- none.
-
-2005-01-28 00:03 bagder
-
- * tests/data/test212: test the EPRT/LPRT/PORT somewhat more
-
-2005-01-27 23:40 bagder
-
- * tests/libtest/first.c: Use the same work-around for the memdebug
- stuff as in the command line client, to allow the contents of the
- env var decide the file name.
-
-2005-01-27 16:59 bagder
-
- * src/main.c: a slightly involved work-around to prevent the
- debug-tracing from logging a free-without-alloc as the first call
-
-2005-01-27 16:51 bagder
-
- * src/main.c, tests/runtests.pl: Make the debug build get the debug
- dump file path from the environment variable to allow the test
- suite to better control where it ends up.
-
-2005-01-27 13:59 bagder
-
- * tests/data/test103: verify a part of the PORT line
-
-2005-01-27 00:18 bagder
-
- * tests/ftpserver.pl: Make the server ignore the given PORT
- address, to make it possible to test curl's -P option easier.
-
-2005-01-26 13:05 bagder
-
- * README: added more official web and download mirrors
-
-2005-01-26 12:53 bagder
-
- * docs/BINDINGS: new curlpp URL
-
-2005-01-26 12:53 bagder
-
- * docs/BINDINGS: fixed sort, mention C, the java binding is now
- maintained by Vic Hanson
-
-2005-01-26 00:40 bagder
-
- * docs/KNOWN_BUGS: add number to the bugs to make them easier to
- refer to
-
-2005-01-25 23:21 bagder
-
- * docs/KNOWN_BUGS: two known bugs
-
-2005-01-25 23:13 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ftp.c,
- lib/url.c, lib/urldata.h, src/main.c, tests/data/Makefile.am,
- tests/data/test228, tests/data/test229: Ian Ford asked about
- support for the FTP command ACCT, and I discovered it is present
- in RFC959... so now (lib)curl supports it as well. --ftp-account
- and CURLOPT_FTP_ACCOUNT set the account string. (The server may
- ask for an account string after PASS have been sent away. The
- client responds with "ACCT [account string]".) Added test case
- 228 and 229 to verify the functionality. Updated the test FTP
- server to support ACCT somewhat.
-
-2005-01-25 22:45 bagder
-
- * tests/: ftpserver.pl, data/test10, data/test100, data/test101,
- data/test102, data/test103, data/test104, data/test105,
- data/test106, data/test107, data/test108, data/test109,
- data/test11, data/test110, data/test111, data/test112,
- data/test113, data/test114, data/test115, data/test116,
- data/test117, data/test118, data/test119, data/test12,
- data/test120, data/test121, data/test122, data/test123,
- data/test124, data/test125, data/test126, data/test127,
- data/test128, data/test13, data/test130, data/test131,
- data/test132, data/test133, data/test134, data/test135,
- data/test136, data/test137, data/test138, data/test139,
- data/test14, data/test140, data/test141, data/test142,
- data/test143, data/test144, data/test145, data/test146,
- data/test147, data/test148, data/test15, data/test150,
- data/test151, data/test152, data/test153, data/test159,
- data/test16, data/test160, data/test161, data/test162,
- data/test164, data/test165, data/test167, data/test168,
- data/test169, data/test17, data/test170, data/test174,
- data/test175, data/test176, data/test177, data/test18,
- data/test182, data/test183, data/test184, data/test185,
- data/test187, data/test188, data/test189, data/test19,
- data/test190, data/test191, data/test195, data/test196,
- data/test2, data/test20, data/test200, data/test201,
- data/test202, data/test203, data/test206, data/test207,
- data/test208, data/test209, data/test21, data/test213,
- data/test217, data/test22, data/test227, data/test23,
- data/test24, data/test25, data/test26, data/test27, data/test28,
- data/test29, data/test3, data/test30, data/test300, data/test301,
- data/test302, data/test303, data/test304, data/test305,
- data/test306, data/test31, data/test33, data/test34, data/test36,
- data/test37, data/test39, data/test4, data/test41, data/test43,
- data/test44, data/test45, data/test47, data/test5, data/test54,
- data/test56, data/test6, data/test63, data/test64, data/test65,
- data/test67, data/test68, data/test69, data/test7, data/test70,
- data/test71, data/test72, data/test79, data/test8, data/test80,
- data/test81, data/test82, data/test83, data/test84, data/test85,
- data/test89, data/test90, data/test91, data/test95, data/test97:
- A minor "syntax error" in numerous test files corrected
-
-2005-01-25 14:59 bagder
-
- * RELEASE-NOTES: new web mirror
-
-2005-01-25 13:06 bagder
-
- * docs/curl-config.1: --protocols is added in 7.13.0
-
-2005-01-25 10:29 bagder
-
- * CHANGES, docs/libcurl/Makefile.am,
- docs/libcurl/libcurl-tutorial.3, docs/libcurl/libcurl.m4: David
- Shaw contributed a fairly complete and detailed autoconf macro
- you can use to detect libcurl and setup variables for the
- protocols the installed libcurl supports: docs/libcurl/libcurl.m4
-
-2005-01-25 01:06 bagder
-
- * lib/: hash.c, hash.h, hostip.c, hostip.h, llist.c, llist.h,
- multi.c, share.h, urldata.h: Use plain structs and not typedef'ed
- ones in the hash and linked-list code.
-
-2005-01-23 01:08 bagder
-
- * RELEASE-NOTES: two options less
-
-2005-01-22 23:43 bagder
-
- * docs/libcurl/libcurl-tutorial.3: \fI marked \fP more function
- calls etc.
-
-2005-01-22 23:24 bagder
-
- * docs/libcurl/libcurl-tutorial.3: If you're using libcurl as a
- win32 DLL, you MUST use the CURLOPT_WRITEFUNCTION if you set
- CURLOPT_WRITEDATA - or you will experience crashes.
-
-2005-01-22 20:26 bagder
-
- * include/curl/curlver.h: next release will be 7.13.0
-
-2005-01-22 10:03 bagder
-
- * TODO-RELEASE: added a few items I plan to do
-
-2005-01-21 10:32 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, docs/examples/ftp3rdparty.c,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ftp.c,
- lib/http.c, lib/sendf.c, lib/sendf.h, lib/transfer.c, lib/url.c,
- lib/urldata.h, src/main.c, tests/data/Makefile.am,
- tests/data/test230, tests/data/test231, tests/data/test232: FTP
- third transfer support overhaul. See CHANGES for details.
-
-2005-01-21 09:56 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify the struct name for
- CURLOPT_HTTPPOST
-
-2005-01-20 23:48 bagder
-
- * tests/: FILEFORMAT, runtests.pl: Added support for "verify" =>
- "stripfile" to strip contents of the file that is being checked.
-
- Also made the server retrying sleep only one second instead of
- three, to reduce some waiting when fooling around with the
- servers.
-
-2005-01-20 23:47 bagder
-
- * tests/ftpserver.pl: Support file names passed to RETR that don't
- start with a number. In that case, all non-numeric prefixing
- letters are cut off to figure out the test number.
-
-2005-01-20 23:22 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c,
- tests/data/Makefile.am, tests/data/test227: Philippe Hameau found
- out that -Q "+[command]" didn't work, although some code was
- written for it. I fixed and added test case 227 to verify it.
- The curl.1 man page didn't mention the '+' so I added it.
-
-2005-01-20 23:05 bagder
-
- * tests/ftpserver.pl: add support for NOOP
-
-2005-01-20 15:24 bagder
-
- * docs/examples/ftpupload.c: 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. */
-
-2005-01-19 23:00 bagder
-
- * tests/data/Makefile.am: added test226 too
-
-2005-01-19 22:56 bagder
-
- * CHANGES, docs/KNOWN_BUGS, docs/TODO, lib/ftp.c,
- tests/data/Makefile.am, tests/data/test225, tests/data/test226:
- Stephan Bergmann made libcurl return CURLE_URL_MALFORMAT if an
- FTP URL contains %0a or %0d in the user, password or CWD parts.
- (A future fix would include doing it for %00 as well - see
- KNOWN_BUGS for details.) Test case 225 and 226 were added to
- verify this
-
-2005-01-19 19:05 bagder
-
- * RELEASE-NOTES: today's proxy fixes
-
-2005-01-19 11:20 giva
-
- * lib/hostthre.c: Don't copy 'stderr' for Win-CE in IPv6 code.
- Don't call GetCurrentProcess() twice; use a local variable.
-
-2005-01-19 11:09 bagder
-
- * docs/examples/httpput.c: add a URL to an article about making
- Apache support PUT
-
-2005-01-19 10:36 bagder
-
- * CHANGES, lib/url.c: Stephan Bergmann pointed out two flaws in
- libcurl built with HTTP disabled:
-
- 1) the proxy environment variables are still read and used to set
- HTTP proxy
-
- 2) you couldn't disable http proxy with CURLOPT_PROXY (since the
- option was disabled)
-
-2005-01-18 16:13 bagder
-
- * include/curl/multi.h: skip sys/socket.h on windows CE
-
-2005-01-18 15:34 bagder
-
- * configure.ac: check for errno.h
-
-2005-01-18 11:17 bagder
-
- * CHANGES, Makefile.dist, RELEASE-NOTES, lib/Makefile.vc6,
- src/Makefile.vc6: Cody Jones' enhanced version of Samuel Díaz
- García's MSVC makefile patch.
-
-2005-01-17 21:20 bagder
-
- * tests/runtests.pl: Add support for server 'ftp2' which is a
- second FTP server. Useful for 3rd party transfer tests or tests
- that need two FTP servers.
-
-2005-01-17 20:49 bagder
-
- * tests/ftpserver.pl: support the new --id command line option,
- that allows a second (or third or whatever) instance to run
- without overwriting the previous' logfiles
-
-2005-01-17 15:57 bagder
-
- * RELEASE-NOTES: mention the name-prefix protocol guess thing
-
-2005-01-17 10:18 bagder
-
- * docs/curl.1: updated the wording for -B/--use-ascii
-
-2005-01-16 09:51 bagder
-
- * CHANGES, lib/url.c: Alex aka WindEagle pointed out that when
- doing "curl -v dictionary.com", curl assumed this used the DICT
- protocol. While guessing protocols will remain fuzzy, I've now
- made sure that the host names must start with "[protocol]." for
- them to be a valid guessable name. I also removed "https" as a
- prefix that indicates HTTPS, since we hardly ever see any host
- names using that.
-
-2005-01-16 09:34 bagder
-
- * docs/curl.1: mention --netrc in the -u description
-
-2005-01-15 10:26 giva
-
- * lib/select.c: errrno can by freak accident become EINTR on DOS or
- Windows (unrelated to select). select() can never set errno to
- EINTR on Windows.
-
-2005-01-15 10:21 bagder
-
- * tests/runtests.pl: output better error detection, like when ipv6
- can't resolve
-
-2005-01-14 14:43 bagder
-
- * lib/: Makefile.am, README.hostip: Added README.hostip
-
-2005-01-14 10:39 bagder
-
- * tests/data/test511: verify the protocol too
-
-2005-01-13 22:51 bagder
-
- * CHANGES, RELEASE-NOTES, lib/select.c: Inspired by Martijn
- Koster's patch and example source at
- http://www.greenhills.co.uk/mak/gentoo/curl-eintr-bug.c, I now
- made the select() and poll() calls properly loop if they return
- -1 and errno is EINTR. glibc docs for this is found here:
- http://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html
-
- This last link says BSD doesn't have this "effect". Will there be
- a problem if we do this unconditionally? S:
- ----------------------------------------------------------------------
-
-2005-01-12 16:32 giva
-
- * src/Makefile.Watcom: Added dependencies.
-
-2005-01-12 16:32 giva
-
- * lib/Makefile.Watcom: Added '-bd' option; target is a DLL. Added
- dependencies.
-
-2005-01-11 23:26 bagder
-
- * docs/TODO: support for retrieving used IP addresses
-
-2005-01-11 21:22 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_multi_fdset.3,
- lib/transfer.c, lib/urldata.h: Dan Torop cleaned up a few no
- longer used variables from David Phillips' select() overhaul fix.
-
-2005-01-11 18:08 giva
-
- * src/Makefile.Watcom: Removed CURLTOOLDEBUG. It caused
- libcurl_wc.dll to fail in mysterious ways.
-
-2005-01-11 16:25 bagder
-
- * lib/: Makefile.inc, easy.c, easy.h, easyif.h, multi.c, multi.h,
- multiif.h, strerror.c, url.c: Renamed easy.h and multi.h to
- easyif.h and multiif.h to make sure they don't shadow our public
- headers with the former names.
-
-2005-01-11 15:59 giva
-
- * lib/easy.h: ".\lib\easy.h" shadows for <curl/easy.h> in Watcom.
- Force including ../include/curl/easy.h.
-
-2005-01-11 15:52 giva
-
- * src/Makefile.Watcom: Fix '!if' expression.
-
-2005-01-11 15:32 giva
-
- * lib/: multi.h, strerror.c: ".\lib\multi.h" shadows for
- <curl/multi.h> in Watcom. Force including
- ../include/curl/multi.h.
-
-2005-01-11 15:00 bagder
-
- * CHANGES, RELEASE-NOTES, lib/multi.c, lib/transfer.c,
- lib/transfer.h: Cyrill Osterwalder posted a detailed analysis
- about a bug that occurs when using a custom Host: header and curl
- fails to send a request on a re-used persistent connection and
- thus creates a new connection and resends it. It then sent two
- Host: headers. Cyrill's analysis was posted here:
- http://curl.haxx.se/mail/archive-2005-01/0022.html
-
-2005-01-11 00:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c: Bruce Mitchener identified
- (bug report #1099640) the never-ending SOCKS5 problem with the
- version byte and the check for bad versions. Bruce has lots of
- clues on this, and based on his suggestion I've now removed the
- check of that byte since it seems to be able to contain 1 or 5.
-
-2005-01-10 12:42 bagder
-
- * lib/multi.c: Use Curl_easy_addmulti() to clear associations from
- easy handles to multi handles. Include multi.h to get proto.
-
-2005-01-10 12:27 bagder
-
- * RELEASE-NOTES: edited wording
-
-2005-01-10 11:07 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c, lib/easy.h, lib/multi.c,
- lib/multi.h, lib/url.c, lib/urldata.h: Pavel Orehov reported
- memory problems with the multi interface in bug report #1098843.
- In short, a shared DNS cache was setup for a multi handle and
- when the shared cache was deleted before the individual easy
- handles, the latter cleanups caused read/writes to already freed
- memory.
-
-2005-01-10 10:48 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Hzhijun reported a memory
- leak in the SSL certificate code, that leaked the remote
- certificate name when it didn't match the used host name.
-
-2005-01-08 17:35 giva
-
- * docs/INSTALL: Note about the static lib requirement;
- -DCURL_STATICLIB.
-
-2005-01-08 17:15 giva
-
- * CHANGES: Watcom additions.
-
-2005-01-08 17:12 giva
-
- * Makefile.dist: Added Watcom targets.
-
-2005-01-08 17:06 giva
-
- * lib/Makefile.Watcom, src/Makefile.Watcom: New file.
-
-2005-01-08 17:03 giva
-
- * lib/Makefile.am, src/Makefile.am: Added Makefile.Watcom to
- EXTRA_DIST.
-
-2005-01-07 22:14 bagder
-
- * CHANGES, RELEASE-NOTES: three recent bug fixes
-
-2005-01-07 22:11 bagder
-
- * tests/data/test509: disable the valgrind log checking
-
-2005-01-07 22:11 bagder
-
- * tests/: FILEFORMAT, runtests.pl: fixed the valgrind log check and
- make it possible to disable it for a specific test, see test 509
-
-2005-01-07 22:09 bagder
-
- * tests/data/: Makefile.am, test199: added test 199
-
-2005-01-06 23:54 bagder
-
- * src/main.c: prevent a single byte read outside the string in test
- case 39
-
-2005-01-06 23:25 bagder
-
- * src/main.c: fixed #1097019, multiple GET posts (-G) error
-
-2005-01-05 15:12 bagder
-
- * CHANGES, RELEASE-NOTES: recent events
-
-2005-01-04 17:16 giva
-
- * docs/FAQ: Changed curl.dll to libcurl.dll.
-
-2005-01-04 17:13 giva
-
- * src/getpass.c: Minor comment fix.
-
-2005-01-04 17:01 bagder
-
- * docs/FAQ: just narrowed some text to fit within 80 cols
-
-2005-01-04 17:00 giva
-
- * lib/setup.h: Removed _WIN32_WINNT to support IPv6 under Win-2K.
-
-2005-01-03 20:17 bagder
-
- * packages/vms/hpssl_alpha.opt: Marty Kuhrt's VMS update
-
-2005-01-02 22:15 bagder
-
- * lib/Makefile.vc6: reverted the bad naming of the implib names
-
-2005-01-02 20:19 bagder
-
- * lib/Makefile.vc6, src/Makefile.vc6: Alex Neblett's minor update
-
-2004-12-26 10:17 bagder
-
- * configure.ac, src/getpass.c: nah, don't use the system's
- getpass() function since it too often is limited to 8(!) or
- similar lengths passwords
-
-2004-12-26 00:15 bagder
-
- * TODO-RELEASE: issue 54 - this takes sweat
-
-2004-12-25 23:51 bagder
-
- * docs/KNOWN_BUGS: Test case 241 fails on all systems that support
- IPv6 but that don't have the host name 'ip6-localhost' in
- /etc/hosts (or similar) since the test case uses that host name
- to test the IPv6 name to address resolver.
-
-2004-12-25 23:30 bagder
-
- * CHANGES, RELEASE-NOTES: --protocols, license, src/config.h.in
-
-2004-12-25 23:10 bagder
-
- * buildconf, src/config.h.in: ./src/config.h.in is now removed from
- CVS. It is copied from the lib/config.h.in file by buildconf
-
-2004-12-25 23:08 bagder
-
- * configure.ac, src/getpass.c, src/getpass.h, src/setup.h: My
- reimplementation and cleanup of the getpass source code. We
- officially no longer use Angus Mackay's getpass code due to the
- weirdo license his code was donated to us under.
-
-2004-12-24 10:02 bagder
-
- * docs/curl-config.1: mention the new --protocols
-
-2004-12-24 09:59 bagder
-
- * curl-config.in: David Shaw added --protocols, and thus the
- --feature no longer mentions what protocols that are disabled.
-
-2004-12-23 23:34 danf
-
- * docs/KNOWN_BUGS: Added LDAP library issue.
-
-2004-12-23 23:31 bagder
-
- * CHANGES, RELEASE-NOTES: recent changes
-
- and Merry Christmas!
-
-2004-12-23 09:48 bagder
-
- * configure.ac: David Shaw fixed the disable variables so that
- curl-config --feature works correctly!
-
-2004-12-22 23:46 bagder
-
- * TODO-RELEASE: issue 47 in next release?
-
-2004-12-22 23:33 bagder
-
- * CHANGES, lib/cookie.c: Rune Kleveland fixed a minor memory leak
- for received cookies with the (rare) version attribute set.
-
-2004-12-22 23:28 bagder
-
- * CHANGES, acinclude.m4, configure.ac, lib/select.c: Marcin Konicki
- provided two configure fixes and a source fix to make curl build
- out-of-the-box on BeOS.
-
-2004-12-22 21:12 danf
-
- * lib/: easy.c, formdata.c: C ensures that static variables are
- initialized to 0
-
-2004-12-22 13:31 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: added CURLINFO_HTTP_CONNECTCODE
-
-2004-12-22 10:21 bagder
-
- * docs/TODO: uh, fixed!
-
-2004-12-22 10:19 bagder
-
- * docs/TODO: Added: 4 protocols we _could_ support and the CONNECT
- HTTP/1.0 detail we might fix one day.
-
-2004-12-21 22:35 bagder
-
- * docs/FAQ: more about error codes
-
-2004-12-21 21:19 bagder
-
- * tests/data/: Makefile.am, test218: test enforced chunked encoding
- with PUT on a local file
-
-2004-12-21 20:59 bagder
-
- * CHANGES, docs/curl.1, src/writeout.c, tests/data/Makefile.am,
- tests/data/test217: Added test case 217 that verified
- CURLINFO_HTTP_CONNECTCODE, and I made the -w option support
- 'http_connect' to make it easier to verify!
-
-2004-12-21 15:33 bagder
-
- * lib/sendf.c: oops, variables first then code
-
-2004-12-21 15:22 bagder
-
- * lib/sendf.c: Prevent failf() from using the va_list variable more
- than once. See bug report #1088962 and Single Unix
- Specification:
- http://www.opengroup.org/onlinepubs/007908799/xsh/vfprintf.html
-
-2004-12-21 11:54 bagder
-
- * docs/TODO: mention how the FTP code should be fixed one day
-
-2004-12-21 11:11 bagder
-
- * lib/select.c: include sys/types.h before sys/select.h
-
-2004-12-21 11:10 bagder
-
- * tests/runtests.pl: set debug curl too when -c is used
-
-2004-12-21 10:37 bagder
-
- * docs/FAQ: How do I list the root dir of an FTP server?
-
-2004-12-20 22:14 danf
-
- * include/curl/curl.h, src/main.c: Fixed a compile warning
- introduced by making the protocol table const. This involves a
- binary-compatible change to the API struct curl_version_info_data
-
-2004-12-20 19:23 danf
-
- * lib/: arpa_telnet.h, parsedate.c, version.c: Make some more
- arrays of pointers const.
-
-2004-12-20 19:20 danf
-
- * acinclude.m4: gcc 2.7 can't handle a few warning options that gcc
- 2.95 can.
-
-2004-12-20 14:09 bagder
-
- * include/curl/curlver.h: start working on 7.12.4
-
-2004-12-20 13:51 bagder
-
- * RELEASE-NOTES: and we start all over again
-
-2004-12-20 13:35 bagder
-
- * CHANGES: 7.12.3
-
-2004-12-19 12:52 giva
-
- * lib/Makefile.m32: OpenSSL updates; get CA_BUNDLE from env. Assume
- no Kerberos, have <pkcs12.h>, <engine.h> and built-in engines.
-
-2004-12-19 12:39 giva
-
- * lib/ssluse.c: Remove 'data' initialiser.
-
-2004-12-19 11:11 bagder
-
- * RELEASE-NOTES: clarified a few changes
-
-2004-12-19 10:37 bagder
-
- * CHANGES: fixed the solaris pkcs12 build problem
-
-2004-12-19 10:37 bagder
-
- * lib/: ssluse.c, urldata.h: if the pkcs12.h header exists, include
- it already in urldata.h to work around a precedence problem with
- the zlib header. See CHANGES for details.
-
-2004-12-19 10:36 bagder
-
- * configure.ac: check for openssl/pkcs12.h
-
-2004-12-18 11:42 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ssluse.c: Samuel Listopad added
- support for PKCS12 formatted certificates.
-
-2004-12-18 11:28 bagder
-
- * src/main.c: Samuel Listopad fixed -E to support "C:/path" (with
- forward slash) as well.
-
-2004-12-18 11:28 bagder
-
- * docs/TODO: mention the new cookie api plans
-
-2004-12-18 11:24 bagder
-
- * docs/libcurl/curl_multi_info_read.3: Jean-Marc Ranger pointed out
- that the returned data doesn't survive a call to
- curl_multi_remove_handle() either.
-
-2004-12-17 21:18 danf
-
- * lib/inet_pton.c: Renamed a variable to avoid conflict with a C++
- reserved word.
-
-2004-12-17 20:57 giva
-
- * lib/config-win32.h: Watcom has strtoll().
-
-2004-12-17 19:33 giva
-
- * lib/strtoofft.h: Watcom uses 'i64' suffix.
-
-2004-12-17 19:32 giva
-
- * lib/timeval.c: <windows.h> required for Watcom.
-
-2004-12-17 19:31 giva
-
- * src/main.c: s/_write/write/g
-
-2004-12-17 18:54 giva
-
- * lib/ldap.c: Fix calling convention of wlap32.dll function. Watcom
- uses fastcall by default, so force cdecl.
-
-2004-12-17 18:49 giva
-
- * lib/timeval.h: Watcom has 'struct timeval'.
-
-2004-12-17 13:43 giva
-
- * src/makefile.dj: Add libidn.a and iconv libraries if USE_IDNA=1.
-
-2004-12-17 13:38 giva
-
- * packages/DOS/common.dj: Added option for using C-ares and libidn.
- Dependencies generated from $(CSOURCES).
-
-2004-12-17 13:28 giva
-
- * lib/makefile.dj: getdate.c is gone.
-
-2004-12-17 13:26 giva
-
- * lib/url.c: Print true netrc name (.netrc/_netrc).
-
-2004-12-17 11:09 bagder
-
- * lib/ftp.c: avoid an extra malloc
-
-2004-12-17 11:09 bagder
-
- * tests/runtests.pl: duplicate ! typo
-
-2004-12-17 10:00 bagder
-
- * lib/ftp.c: fixed minor memory leak when running out of memory
-
-2004-12-17 09:58 bagder
-
- * lib/ftp.c: oops, add missing return keyword
-
-2004-12-16 23:45 bagder
-
- * tests/runtests.pl: fix skip-reason
-
-2004-12-16 23:22 bagder
-
- * RELEASE-NOTES: several windows large-file fixes
-
-2004-12-16 23:22 bagder
-
- * CHANGES, tests/data/Makefile.am, tests/data/test215,
- tests/data/test216: two more ftp directory re-use tests added
-
-2004-12-16 23:20 bagder
-
- * lib/ftp.c: Based on Gisle Vanem's patch: make sure the directory
- re-use works even when a URL-encoded path is used.
-
-2004-12-16 22:27 giva
-
- * lib/setup.h: Must include <io.h> and <sys/stat.h> before
- redefining stat(), fstat() and lseek().
-
-2004-12-16 22:27 danf
-
- * lib/: getinfo.c, url.c, urldata.h: Renamed a struct member to
- avoid conflict with a C++ reserved word.
-
-2004-12-16 19:18 bagder
-
- * lib/ftp.c: reduced the number of sub-blocks
-
-2004-12-16 19:09 bagder
-
- * lib/: file.c, formdata.c, setup.h: moved the lseek() and stat()
- magic defines to setup.h and now take advantage of struct_stat in
- formdata.c as well, to support formpost uploads of large files on
- Windows too
-
-2004-12-16 17:49 giva
-
- * src/main.c: Support uploading and resuming of >2GB files. Ref.
- lib/file.c.
-
-2004-12-16 15:18 bagder
-
- * tests/runtests.pl: Provide better reasons for why test cases are
- skipped. Also, don't show the SKIPPED stuff in the short output.
- Some platforms get quite a lot of SKIPPED and they don't add much
- value and only clutter screen space.
-
-2004-12-16 14:55 bagder
-
- * lib/http.c: NULL the fp pointer after it has been fclosed()
-
-2004-12-16 10:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, tests/runtests.pl: Dinar in
- bug report #1086121, found a file handle leak when a multipart
- formpost (including a file upload part) was aborted before the
- whole file was sent.
-
-2004-12-15 22:09 danf
-
- * acinclude.m4: Fix the --enable-debug compiler warning options for
- older versions of gcc.
-
-2004-12-15 15:09 bagder
-
- * RELEASE-NOTES: yet another mirror!
-
-2004-12-15 15:05 bagder
-
- * lib/setup.h, src/setup.h: precaution to prevent double typedefs
- of the bool
-
-2004-12-15 11:33 bagder
-
- * src/: main.c, setup.h: moved the bool typedef to setup.h
-
-2004-12-15 10:23 bagder
-
- * CHANGES, RELEASE-NOTES, src/urlglob.c, tests/data/Makefile.am,
- tests/data/test214: fixed how backslashes are treated in glob
- strings
-
-2004-12-15 04:03 danf
-
- * src/main.c: Make some arrays of pointers const, too.
-
-2004-12-15 03:32 danf
-
- * lib/: ftp.c, security.c: Make some arrays of pointers const, too.
-
-2004-12-15 02:38 danf
-
- * lib/base64.c, lib/formdata.c, lib/md5.c, lib/md5.h,
- lib/mprintf.c, lib/security.c, lib/urldata.h, src/main.c,
- src/writeenv.c, src/writeout.c: Add 'const' to immutable arrays.
-
-2004-12-14 23:47 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: clarify that the app must free
- the engine list
-
-2004-12-14 23:06 bagder
-
- * lib/ssluse.c: prevent compiler warning when built without engine
- support
-
-2004-12-14 22:52 bagder
-
- * tests/: httpserver.pl, runtests.pl, server/sws.c: make sure the
- ipv6 http server gets its pid stored in a separate file
-
-2004-12-14 22:25 bagder
-
- * tests/data/test519: use the correct variables, not fixed values
-
-2004-12-14 22:22 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/Makefile.am,
- tests/data/test519, tests/libtest/Makefile.am,
- tests/libtest/lib519.c: Harshal Pradhan fixed changing
- username/password on a persitent HTTP connection.
-
-2004-12-14 22:22 bagder
-
- * tests/FILEFORMAT: mistake
-
-2004-12-14 21:44 danf
-
- * lib/ldap.c: Only declare static variables if they're needed.
- Fixed some compile warnings.
-
-2004-12-14 21:25 danf
-
- * lib/ssluse.c: Header files are in openssl/ only if USE_OPENSSL is
- set.
-
-2004-12-14 21:17 danf
-
- * lib/mprintf.c: Removed fputc() prototype since it's already in
- stdio.h
-
-2004-12-14 15:24 giva
-
- * src/main.c: Caller must free 'engines' list.
-
-2004-12-14 15:20 giva
-
- * lib/: getinfo.c, ssluse.c, ssluse.h, urldata.h: urldata.h:
- Removed engine_list. ssluse.*: Added SSL_strerror().
- Curl_SSL_engines_list() now returns a slist which must be freed
- by caller.
-
-2004-12-14 10:58 bagder
-
- * include/curl/curl.h: Moved the CURLE_SSL_ENGINE_INITFAILED error
- code last in the list so that the others remain at previous
- values.
-
-2004-12-14 10:36 bagder
-
- * lib/: getinfo.c, ssluse.c, urldata.h: Moved the engine stuff from
- the root-level of the SessionHandle struct to the UrlState
- sub-struct. Also made the engine_list exist for non-ssl builds to
- make curl build.
-
-2004-12-13 21:14 giva
-
- * docs/: curl.1, libcurl/curl_easy_getinfo.3: Document
- CURLINFO_SSL_ENGINES and "--engine".
-
-2004-12-13 18:52 giva
-
- * lib/connect.c: Set 'data->state.os_errno = error' in some places.
- Needed elsewhere too?
-
-2004-12-13 17:47 giva
-
- * src/main.c: Support for "--engine list" option. Moved
- CURLOPT_SSLENGINE* options to after verbose mode is set. Added a
- goto. Eek!
-
-2004-12-13 17:43 giva
-
- * lib/: ssluse.c, ssluse.h, strerror.c, url.c, urldata.h: Added
- handling of CURLINFO_SSL_ENGINES; Added Curl_SSL_engines_list(),
- cleanup SSL in url.c (no HAVE_OPENSSL_x etc.).
-
-2004-12-13 17:37 giva
-
- * lib/getinfo.c: Handle new type CURLINFO_SLIST. Handle new info
- list CURLINFO_SSL_ENGINES.
-
-2004-12-13 17:35 giva
-
- * include/curl/curl.h: Added CURLcode CURLE_SSL_ENGINE_INITFAILED,
- Added CURLINFO_SLIST type for returing a 'struct slist' in
- curl_easy_getinfo(). Added CURLINFO_SSL_ENGINES.
-
-2004-12-13 12:31 giva
-
- * tests/server/sws.c: Fixed missing braces warning.
-
-2004-12-13 11:58 bagder
-
- * CHANGES, RELEASE-NOTES: large file file:// resumes on windows
-
-2004-12-13 11:25 bagder
-
- * lib/file.c: Gisle's fix for resuming large file:// files on
- windows - slightly edited by me.
-
-2004-12-13 09:34 bagder
-
- * configure.ac, packages/vms/config-vms.h_with_ssl,
- packages/vms/config-vms.h_without_ssl: Dan Fandrich did minor
- corrections to his SSL cleanup patch
-
-2004-12-13 09:34 bagder
-
- * Makefile.am: Dan Fandrich added libcurl.pc.in to the dist
-
-2004-12-13 00:31 bagder
-
- * tests/runtests.pl: when failing to verify a HTTP server, display
- what curl said on stderr to help debugging. (when using ipv6 I
- fell over this server that didn't have the ipv6 module loaded)
-
-2004-12-12 21:14 giva
-
- * tests/server/sws.c: Missing 'in6addr_any' in MingW's lib. ld bug?
-
-2004-12-11 23:18 bagder
-
- * lib/ftp.c: modified to use the current error code name, not the
- obsolete one
-
-2004-12-11 23:17 bagder
-
- * include/curl/curl.h: undef more obsolete defines if
- CURL_NO_OLDIES is defined
-
-2004-12-11 22:41 bagder
-
- * CHANGES, RELEASE-NOTES, tests/FILEFORMAT, tests/httpserver.pl,
- tests/runtests.pl, tests/data/Makefile.am, tests/data/test1,
- tests/data/test240, tests/data/test241, tests/data/test242,
- tests/server/sws.c: HTTP IPv6 support added to the test suite
-
-2004-12-11 19:55 bagder
-
- * lib/file.c: provide an error string when resuming fails - and use
- the proper error code, not the former one
-
-2004-12-11 19:55 bagder
-
- * lib/strerror.c: fixed error message
-
-2004-12-11 19:47 bagder
-
- * configure.ac, curl-config.in, lib/Makefile.netware,
- lib/config-amigaos.h, lib/config-riscos.h, lib/config-vms.h,
- lib/config.dj, lib/setup.h, packages/vms/config-vms.h_with_ssl,
- packages/vms/config-vms.h_without_ssl, src/config-riscos.h: Dan
- Fandrich:
-
- Here's a stab at a consolidation of the SSL detection heuristics
- into configure. Source files aren't changed by this patch, except
- for setup.h and the various config*.h files. Within the
- configure script, OPENSSL_ENABLED is used to determine if SSL is
- being used or not, and outside configure, USE_SSLEAY means the
- same thing; this could be even further unified some day.
-
- Now, when SSL is not detected, configure skips the various checks
- that are dependent on SSL, speeding up the configure process and
- avoiding complications with cross compiles. I also updated all
- the architecture- specific config files I could see, but I
- couldn't test them.
-
-2004-12-11 19:46 bagder
-
- * libcurl.pc.in: Dan F's initial pkg-config file (not installed
- yet)
-
-2004-12-11 19:38 bagder
-
- * docs/curl-config.1: mention the maybe-missing initial zero in the
- vernum output
-
-2004-12-10 22:58 bagder
-
- * lib/: Makefile.riscos, makefile.amiga: Dan Fandrich: added some
- missing files. "I can't try them so they might still be broken,
- but at least they'll be less broken than they are now."
-
-2004-12-10 22:56 bagder
-
- * docs/: MANUAL, curl.1: Dan Fandrich corrects spelling mistakes
-
-2004-12-10 22:55 bagder
-
- * docs/INSTALL: Dan Fandrich extended the cross compile section and
- corrected spelling errors
-
-2004-12-10 22:46 bagder
-
- * ares/: ares_fds.c, ares_gethostbyaddr.c, ares_gethostbyname.c,
- ares_init.c: untabified
-
-2004-12-10 22:42 bagder
-
- * CHANGES, RELEASE-NOTES: username and IPv6 numerical address URL
- parser fix
-
-2004-12-10 20:16 bagder
-
- * src/Makefile.vc6: David Byron's debug build fix
-
-2004-12-10 16:11 bagder
-
- * lib/url.c: move the port number extraction to after the
- extraction of user name/password, as suggested by Kai Sommerfeld
-
-2004-12-10 15:48 bagder
-
- * tests/data/: Makefile.am, test209, test213: two new test cases
- for proxy-CONNECT with NTLM (one doing GET, one doing POST)
-
-2004-12-10 15:45 bagder
-
- * lib/http.c: don't try the rewind if no http struct is allocated
- yet
-
-2004-12-10 10:46 bagder
-
- * RELEASE-NOTES: configure and curl-config fixes
-
-2004-12-10 10:45 bagder
-
- * docs/TheArtOfHttpScripting: Added two chapters: Custom Request
- Elements and Debug.
-
-2004-12-09 10:58 bagder
-
- * tests/server/.cvsignore: ignore the getpart tool
-
-2004-12-09 10:58 bagder
-
- * tests/server/sws.c: close the connection when a bad test number
- was requested
-
-2004-12-09 10:27 bagder
-
- * CHANGES, configure.ac: Ton Voon provided a configure fix that
- should fix the notorious (mostly reported on Solaris) problem
- where the size_t check fails due to the SSL libs being found in a
- dir not searched through by the run-time linker. patch-tracker
- entry #1081707.
-
-2004-12-09 09:06 bagder
-
- * CHANGES, maketgz: Bryan Henderson pointed out in bug report
- #1081788 that the curl-config --vernum output wasn't zero
- prefixed properly (as claimed in documentation). This is fixed
- in maketgz now.
-
-2004-12-09 00:09 bagder
-
- * maketgz: update the version numbers in the libcurl.plist
- automaticly on release
-
-2004-12-09 00:09 bagder
-
- * lib/libcurl.plist: Matt Veenstra updated to 7.12.3. Starting now,
- we'll update the version number in this file automatically on
- releases using the maketgz script.
-
-2004-12-09 00:02 bagder
-
- * lib/libcurl.framework.make: Matt Veenstra:
-
- - removal of getdate.c - Added hostares.c, hostasyn.c, hostip4.c,
- hostip6.c, hostsync.c, hostthre.c, inet_ntop.c, nwlib.c,
- parsedate.c, sterror.c, strtoofft.c
-
- I have tested the build on 10.3, and will build on 10.2.8 in the
- next days.
-
-2004-12-08 00:09 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http_ntlm.c: Rene Bernhardt found and
- fixed a buffer overrun in the NTLM code, where libcurl always and
- unconditionally overwrote a stack-based array with 3 zero bytes.
- I edited the fix to make it less likely to occur again (and added
- a comment explaining the reason to the buffer size).
-
-2004-12-08 00:08 bagder
-
- * docs/TheArtOfHttpScripting: minor updates
-
-2004-12-07 11:43 bagder
-
- * ares/: ares_destroy.3, ares_init.3: NORECURSE clarification,
- minor formatting update
-
-2004-12-07 11:00 bagder
-
- * lib/ftp.c: CURLFTPSSL_ALL should make sure that the transfer
- fails if the data connection isn't set to encrypted properly
-
-2004-12-07 00:04 bagder
-
- * CHANGES, lib/sendf.c: Fixed so that the final error message is
- sent to the verbose info "stream" even if no errorbuffer is set.
-
-2004-12-06 23:45 bagder
-
- * lib/connect.c: Gisle Vanem's fix for better info messages when
- failing to connect using the multi interface
-
-2004-12-06 17:36 giva
-
- * lib/urldata.h: 'crypto_engine' not used.
-
-2004-12-06 15:43 giva
-
- * lib/config-win32.h, lib/config-win32ce.h, src/config-win32.h:
- Replace MINGW32 with built-in __MINGW32__.
-
-2004-12-06 13:54 bagder
-
- * tests/data/: Makefile.am, test208: HTTP PUT a to a FTP URL with
- username+password - over HTTP proxy
-
-2004-12-06 00:59 bagder
-
- * CHANGES, RELEASE-NOTES, configure.ac, lib/cookie.c, lib/easy.c,
- lib/http.c, lib/share.c, lib/transfer.c, lib/url.c: Dan Fandrich
- added the --disable-cookies option to configure to build libcurl
- without cookie support. This is mainly useful if you want to
- build a minimalistic libcurl with no cookies support at all. Like
- for embedded systems or similar.
-
-2004-12-06 00:33 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c: Richard Atterer fixed
- libcurl's way of dealing with the EPSV response. Previously,
- libcurl would re-resolve the host name with the new port number
- and attempt to connect to that, while it should use the IP from
- the control channel. This bug made it hard to EPSV from an FTP
- server with multiple IP addresses!
-
-2004-12-03 12:25 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_FTPSSLAUTH was added in
- 7.12.2
-
-2004-12-03 12:06 bagder
-
- * CHANGES, RELEASE-NOTES: credit where credit is due
-
-2004-12-03 10:31 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c, tests/data/Makefile.am,
- tests/data/test207: Bug report #1078066: when a chunked transfer
- was pre-maturely closed exactly at a chunk boundary it was not
- considered an error and thus went unnoticed. Added test case 207
- to verify.
-
-2004-12-03 00:30 bagder
-
- * lib/http.c: made the intended one hour default timeout in the
- CONNECT loop actually work
-
-2004-12-02 23:52 bagder
-
- * lib/http.c: comment cleanup
-
-2004-12-02 18:11 bagder
-
- * tests/data/: Makefile.am, test206: test 206 - HTTP proxy CONNECT
- auth Digest
-
-2004-12-02 18:11 bagder
-
- * tests/server/sws.c: added comment about port number in CONNECT
- string being used as test number
-
-2004-12-02 18:08 bagder
-
- * lib/http.c: prevent an initial "(nil)" to get sent in the initial
- request when doing CONNECT to a proxy with digest
-
-2004-12-01 14:41 giva
-
- * tests/libtest/lib505.c: Use "HAVE_SYS_TYPES_H".
-
-2004-12-01 11:34 bagder
-
- * tests/libtest/lib518.c: make the "check" actually open all those
- file desciptors as well to make sure it works, as it has proved
- to not work in some cases (like on Tor Arntsen's AIX 5100-06 xlc
- 5.0 --disable-shared runs).
-
-2004-11-30 15:59 giva
-
- * lib/config.dj: alarm() works unreliable on djgpp 2.03. Don't use
- it.
-
-2004-11-30 11:21 bagder
-
- * CHANGES, RELEASE-NOTES: recent changes
-
-2004-11-30 11:20 bagder
-
- * tests/data/: test156, test210, test211, test212: fixed test case
- errors
-
-2004-11-30 10:54 bagder
-
- * tests/data/: Makefile.am, test222, test223, test224: three new
- compress test cases
-
-2004-11-30 10:53 bagder
-
- * tests/: getpart.pm, runtests.pl: Fixed the array comparison
- function even more, made the temporary files used for diff output
- get created in the log/ dir and no longer deletes them since they
- help in understanding the problem, fixing the test case and
- fixing curl problems.
-
-2004-11-30 10:44 bagder
-
- * lib/content_encoding.c: Dan Fandrich's fix for libz 1.1 and
- "extra field" usage in a gzip stream
-
-2004-11-30 10:27 bagder
-
- * tests/: getpart.pm, runtests.pl: no longer use the
- MIME::Base64.pm package as it seems to not be standard on lots of
- perl versions, provide our own base64 decoder
-
-2004-11-29 23:37 bagder
-
- * tests/data/: Makefile.am, test221: added test 221 to test a
- broken gzip content download
-
-2004-11-29 23:15 bagder
-
- * tests/data/: Makefile.am, test220: added test 220 - simple gzip
- auto decompress
-
-2004-11-29 22:45 bagder
-
- * RELEASE-NOTES: --disable-epsv when connecting to an IPv6 ftp
- server
-
-2004-11-29 22:44 bagder
-
- * tests/server/Makefile.am: removed comment
-
-2004-11-29 22:44 bagder
-
- * tests/server/getpart.c: include setup.h first
-
-2004-11-29 22:25 bagder
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3, lib/ftp.c: As reported
- in Mandrake's bug tracker bug 12285
- (http://qa.mandrakesoft.com/show_bug.cgi?id=12285), when
- connecting to an IPv6 host with FTP, --disable-epsv (or
- --disable-eprt) effectively disables the ability to transfer a
- file. Now, when connected to an FTP server with IPv6, these FTP
- commands can't be disabled even if asked to with the available
- libcurl options.
-
-2004-11-29 19:26 bagder
-
- * tests/server/getpart.c: zero terminate the buffer spitout()
- returns, as the sws.c code depends on that!
-
-2004-11-29 13:23 bagder
-
- * tests/: FILEFORMAT, runtests.pl: make it possible for a test case
- to depend on the feature 'libz'
-
-2004-11-29 13:11 bagder
-
- * lib/base64.h: killed trailing whitespace
-
-2004-11-29 13:10 bagder
-
- * tests/: FILEFORMAT, getpart.pm, runtests.pl, server/Makefile.am,
- server/getpart.c, server/getpart.h, server/sws.c: Enable test
- cases to provide sections base64-encoded to be able to test with
- binary data.
-
-2004-11-29 13:09 bagder
-
- * tests/server/base64.pl: utility to base encode data passed on
- stdin
-
-2004-11-29 13:01 bagder
-
- * tests/data/: test130, test131, test132, test133, test134,
- test139, test141, test155, test16, test162, test169, test212,
- test32, test48, test503, test509, test510, test63, test64,
- test80, test83, test88, test95, test97, test98: stricter newline
- policy
-
-2004-11-29 09:47 bagder
-
- * RELEASE-NOTES: spell
-
-2004-11-29 09:10 bagder
-
- * lib/parsedate.c: if gmtime() returns NULL, this returns -1 to
- bail out nicely
-
-2004-11-28 14:04 bagder
-
- * docs/TODO: removed one we won't do, removed the CWD optimize as
- it is (partly) done
-
-2004-11-28 09:57 bagder
-
- * tests/libtest/lib518.c: add more info to the stderr output
-
-2004-11-27 10:27 bagder
-
- * lib/ftp.c: typecast the coversion from long to int
-
-2004-11-26 22:35 bagder
-
- * RELEASE-NOTES: progress meter newline
-
-2004-11-26 17:08 giva
-
- * lib/: urldata.h, setup.h, transfer.c, url.c: I changed my mind.
- Remove ioctl() macro in setup.h instead.
-
-2004-11-26 16:04 giva
-
- * docs/examples/makefile.dj: Added anyauthput.exe.
-
-2004-11-26 15:57 giva
-
- * lib/: transfer.c, url.c, urldata.h: Renamed urldata.h members
- 'ioctl*' to 'ioctrl*' due to clash with djgpp ioctl() macro in
- setup.h.
-
-2004-11-26 15:33 bagder
-
- * CHANGES, lib/progress.c, lib/transfer.c: As reported in
- Mandrake's bug tracker bug 12289
- (http://qa.mandrakesoft.com/show_bug.cgi?id=12289), curl would
- print a newline to "finish" the progress meter after each
- redirect and not only after a completed transfer.
-
-2004-11-26 09:52 bagder
-
- * lib/ftp.c: removed no longer used variable
-
-2004-11-26 09:41 bagder
-
- * tests/runtests.pl: last-second-before-commit changes corrected
-
-2004-11-25 23:21 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/url.c, lib/urldata.h,
- tests/FILEFORMAT, tests/runtests.pl, tests/data/Makefile.am,
- tests/data/test210, tests/data/test211, tests/data/test212: FTP
- improvements:
-
- If EPSV, EPRT or LPRT is tried and doesn't work, it will not be
- retried on the same server again even if a following request is
- made using a persistent connection.
-
- If a second request is made to a server, requesting a file from
- the same directory as the previous request operated on, libcurl
- will no longer make that long series of CWD commands just to end
- up on the same spot. Note that this is only for *exactly* the
- same dir. There is still room for improvements to optimize the
- CWD-sending when the dirs are only slightly different.
-
- Added test 210, 211 and 212 to verify these changes. Had to
- improve the test script too and added a new primitive to the test
- file format.
-
-2004-11-25 17:49 bagder
-
- * lib/hostthre.c: made the code fit within 80 cols
-
-2004-11-24 23:11 bagder
-
- * src/config-win32.h: mingw _has_ a ftruncate() but it doesn't work
- with 64bit file sizes so we can just safely pretend we don't have
- one
-
-2004-11-24 20:34 giva
-
- * src/main.c:
- Provide a 64-bit capable ftruncate(). MingW has one, but it takes
- only 32-bit offsets.
-
-2004-11-24 19:25 bagder
-
- * lib/strerror.c: added missing new error string
-
-2004-11-24 17:16 bagder
-
- * src/config-win32.h: mingw has a ftruncate() function
-
-2004-11-24 17:11 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/TODO, docs/curl.1,
- docs/examples/Makefile.am, docs/examples/README,
- docs/examples/anyauthput.c, docs/examples/https.c,
- docs/examples/multi-post.c, docs/examples/persistant.c,
- docs/examples/simplepost.c, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/README.httpauth, lib/http.c, lib/http.h,
- lib/transfer.c, lib/transfer.h, lib/url.c, lib/urldata.h,
- packages/vms/config-vms.h_with_ssl,
- packages/vms/config-vms.h_without_ssl, src/main.c,
- tests/data/test154, tests/data/test155, tests/data/test156,
- tests/data/test170, tests/data/test174, tests/data/test175,
- tests/data/test176, tests/data/test177, tests/data/test88: HTTP
- "auth done right". See lib/README.httpauth
-
-2004-11-24 17:08 bagder
-
- * TODO-RELEASE: decided to skip the MSVC makefile fixes, nobody
- seems to really want them and they are rather excessive
-
-2004-11-24 16:49 bagder
-
- * CHANGES, configure.ac: Andrés García fixed the configure script
- to detect select properly when run with Msys/Mingw on Windows.
-
-2004-11-24 16:14 giva
-
- * docs/FAQ:
- Clarify the static vs. import lib issue on Win32.
-
-2004-11-23 23:15 bagder
-
- * docs/THANKS: added a bunch of people who really deserve to be
- here
-
-2004-11-23 11:05 bagder
-
- * tests/data/test518: oops, use the precheck too!
-
-2004-11-23 10:52 bagder
-
- * TODO-RELEASE: cut out release with no issue to fix
-
-2004-11-23 10:50 bagder
-
- * tests/: FILEFORMAT, runtests.pl, libtest/lib518.c: introducing
- the client/precheck concept to allow test 518 to *only* run when
- it actually can run and test the FD_SETSIZE stuff it is meant to
- test
-
-2004-11-23 10:22 bagder
-
- * RELEASE-NOTES, docs/BINDINGS: yet another binding
-
-2004-11-22 23:26 bagder
-
- * CHANGES, configure.ac, tests/FILEFORMAT, tests/runtests.pl,
- tests/data/test518, tests/libtest/lib518.c: David Phillips fix
- for test 518 and my extension to make it not run on systems that
- can't run it fine.
-
-2004-11-22 17:24 bagder
-
- * docs/examples/getinfo.c: trying a version with URLs for all
- function calls
-
-2004-11-22 16:49 bagder
-
- * TODO-RELEASE: issue 52 is fixed, I work on 51
-
-2004-11-22 15:41 bagder
-
- * docs/examples/http-post.c: removed trailing whitespace
-
-2004-11-22 15:41 bagder
-
- * docs/examples/httpput.c: removed unused variable and trailing
- whitespace
-
-2004-11-22 15:07 bagder
-
- * docs/examples/fopen.c: remove curl_ prefix from functions not
- present in libcurl
-
-2004-11-22 14:48 bagder
-
- * docs/examples/curlx.c: re-indented to curl style
-
-2004-11-22 14:43 bagder
-
- * docs/examples/curlgtk.c: renamed curl_thread to my_thread to
- avoid confusion
-
-2004-11-22 14:39 bagder
-
- * docs/examples/adddocsref.pl: add URLs in comments for all libcurl
- function calls
-
-2004-11-22 14:28 bagder
-
- * lib/: connect.c, ssluse.c: Curl_select's timeout arg is an int
-
-2004-11-22 00:13 bagder
-
- * docs/KNOWN_BUGS: the FD_SETSIZE problem is fixed
-
-2004-11-21 14:18 bagder
-
- * TODO-RELEASE: The FD_SETSIZE issue is already sorted, at least
- internally. We still need to provide a better multi-API to allow
- apps to avoid select().
-
-2004-11-21 13:42 bagder
-
- * docs/examples/ftpupload.c: added comment for windows people about
- READFUNCTION being needed
-
-2004-11-20 09:57 bagder
-
- * lib/select.c: Dan Fandrich fix to compile with libc5
-
-2004-11-19 16:15 giva
-
- * lib/Makefile.m32:
- Enable >2GB files for MingW.
-
-2004-11-19 15:38 giva
-
- * lib/: select.c, select.h: Suppress signed vs. unsigned warnings
- on Win32
-
-2004-11-19 15:03 bagder
-
- * lib/: select.c, select.h: Curl_select() now uses curl_socket_t on
- socket arguments
-
-2004-11-19 14:50 giva
-
- * tests/libtest/lib518.c: ifdef for portable "/dev/null".
-
-2004-11-19 14:46 giva
-
- * lib/select.c:
- Winsock sockets are not in range 0..FD_SETSIZE. Shouldn't
- Curl_select() use curl_socket_t ?
-
-2004-11-19 14:45 bagder
-
- * lib/Makefile.vc6: add select.obj
-
-2004-11-19 09:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/Makefile.inc, lib/connect.c,
- lib/ftp.c, lib/http.c, lib/select.c, lib/select.h, lib/ssluse.c,
- lib/telnet.c, lib/transfer.c, lib/url.c, tests/data/Makefile.am,
- tests/data/test518, tests/libtest/Makefile.am,
- tests/libtest/lib518.c: David Phillips' FD_SETSIZE fix
-
-2004-11-18 15:04 bagder
-
- * lib/: hostip.c, telnet.c, transfer.c, url.c: Dan Fandrich fix:
- eliminates some pedantic CodeWarrior compiler warnings and
- errors.
-
-2004-11-16 18:15 giva
-
- * src/Makefile.vc6:
- Added revision tag.
-
-2004-11-16 15:24 bagder
-
- * lib/Makefile.am: Added README.httpauth to the dist
-
-2004-11-16 15:02 bagder
-
- * lib/README.httpauth: saved for the future
-
-2004-11-16 09:49 bagder
-
- * docs/examples/multithread.c: mention the openssl callbacks for
- SSL multithread
-
-2004-11-15 22:49 bagder
-
- * tests/: data/Makefile.am, data/test517, libtest/Makefile.am,
- libtest/lib517.c: added test case 517: 22 tests of the
- curl_getdate() function
-
-2004-11-15 22:41 bagder
-
- * docs/libcurl/curl_getdate.3: tiny format fix for nicer man output
-
-2004-11-15 12:27 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c, lib/progress.h,
- lib/ssluse.c, lib/url.c: clean up start time and t_startsingle
- use so that redirect_time works properly
-
-2004-11-15 12:25 bagder
-
- * docs/curl.1, src/writeout.c: new -w variables supported
-
-2004-11-15 11:41 giva
-
- * src/makefile.dj: Added top_srcdir.
-
-2004-11-15 11:38 giva
-
- * src/makefile.dj: Added revision id, test for USE_ARES. Uses
- Makefile.inc.
-
-2004-11-15 09:54 bagder
-
- * docs/BINDINGS: binding for R
-
-2004-11-14 14:51 giva
-
- * src/Makefile.b32:
- Changes for static/dynamic linking of libcurl. No need to
- generate a dummy sys/utime.h. Cleanup.
-
-2004-11-14 14:50 giva
-
- * src/: config-win32.h, main.c:
- Borland doesn't have <sys/utime.h>, utime() nor _lseeki64().
-
-2004-11-14 14:49 giva
-
- * lib/config-win32.h:
- Borland doesn't have <sys/utime.h> nor utime().
-
-2004-11-14 14:48 giva
-
- * lib/Makefile.b32:
- Static lib is libcurl.lib and import lib libcurl_imp.lib. Added
- implib command. Cleanup
-
-2004-11-13 22:57 bagder
-
- * lib/sendf.h: Dan fixed the CURL_DISABLE_VERBOSE_STRINGS stuff for
- older gcc versions since they don't support C99 varargs macros.
-
-2004-11-13 17:57 giva
-
- * Makefile.dist: MingW/djgpp: Use GNU make's internal 'cd' to avoid
- shell-troubles.
-
-2004-11-13 17:55 giva
-
- * src/Makefile.vc6: Fix location of timeval.c.
-
-2004-11-13 17:54 giva
-
- * include/curl/curl.h: Update comment.
-
-2004-11-13 16:47 giva
-
- * src/Makefile.m32: Add "-DCURL_STATICLIB" for static build. Add
- ../lib/timeval.c for objects.
-
-2004-11-13 15:17 giva
-
- * lib/Makefile.vc6:
- Renamed import lib to "libcurl_imp.lib". Some cleanup and making
- it more readable.
-
-2004-11-13 15:17 giva
-
- * src/Makefile.vc6:
- Set OpenSSL path to same as in ../lib/Makefile.vc6. Import lib
- is now "libcurl_imp.lib". Some cleanup and making it more
- readable.
-
-2004-11-12 12:48 giva
-
- * src/Makefile.vc6: MSVC with static link must define
- CURL_STATICLIB. zlib path set to same as in lib/Makefile.vc6.
-
-2004-11-12 12:45 giva
-
- * include/curl/curl.h, lib/Makefile.netware: Netware target (hosted
- on Linux gcc) doesn't support or need __declspec.
-
-2004-11-12 10:18 bagder
-
- * configure.ac, lib/http.c, lib/http_digest.c, lib/md5.c,
- lib/url.c: Dan Fandrich added the --disable-crypto-auth option to
- configure to allow libcurl to build without Digest support. (I
- figure it should also explicitly disable Negotiate and NTLM.)
-
-2004-11-12 07:42 bagder
-
- * docs/libcurl/curl_easy_setopt.3: format mistake fixed
-
-2004-11-12 00:13 bagder
-
- * configure.ac: Dan Fandrich can spell, I cannot
-
-2004-11-12 00:13 bagder
-
- * lib/dict.c: Dan Fandrich: make --disable-dict actually disable
- dict
-
-2004-11-12 00:11 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify and update according to
- commit made just now
-
-2004-11-12 00:11 bagder
-
- * CHANGES, lib/easy.c, lib/http.c, lib/url.c, src/main.c,
- tests/data/Makefile.am, tests/data/test515, tests/data/test516,
- tests/libtest/Makefile.am, tests/libtest/lib515.c,
- tests/libtest/lib516.c: Fix behaviour when passing NULL to
- CURLOPT_POSTFIELDS and CURLOPT_HTTPPOST.
-
-2004-11-11 23:01 bagder
-
- * configure.ac: fix a IDN detect/use mistake
-
-2004-11-11 17:56 bagder
-
- * TODO-RELEASE: added some details on what to come
-
-2004-11-11 17:34 bagder
-
- * CHANGES, configure.ac, lib/krb4.c, lib/sendf.h, lib/strerror.c,
- lib/telnet.c: Dan Fandrich added --disable-verbose
-
-2004-11-11 15:41 bagder
-
- * configure.ac: When libidn is detected without explicitly told to,
- we provide -L/lib and -I/include options. Not anymore.
-
-2004-11-11 15:15 bagder
-
- * ares/configure.ac: fix the -I path to the proper include dir when
- --enable-debug is used
-
-2004-11-11 13:25 giva
-
- * ares/ares.h:
- Adapted for C++.
-
-2004-11-11 10:51 bagder
-
- * RELEASE-NOTES: recent fixes
-
-2004-11-11 10:26 bagder
-
- * CHANGES, configure.ac, docs/libcurl/curl_getdate.3,
- lib/parsedate.c, lib/setup.h: dates from 2038 or later now return
- 0x7fffffff when 32 bit time_t is used
-
-2004-11-11 09:03 bagder
-
- * include/curl/mprintf.h: fix curl.h include
-
-2004-11-10 22:43 bagder
-
- * CHANGES, configure.ac: configure --with-gssapi fix
-
-2004-11-10 16:50 bagder
-
- * CHANGES: Gisle's CURL_EXTERN fix
-
-2004-11-10 15:30 giva
-
- * ares/ares_private.h: Replace IsNT with IS_NT().
-
-2004-11-10 15:23 giva
-
- * ares/: ares_fds.c, ares_gethostbyaddr.c, ares_gethostbyname.c,
- ares_init.c, windows_port.c: Replace IsNT with IS_NT(). Return
- correct timeval in windows_port.c. Squelch gcc warnings: use
- 'ares_socket_t' in ares_fds.c. Don't cast a 'lvalue' in
- ares_init.c.
-
-2004-11-09 19:10 bagder
-
- * ares/ares_private.h: fix CURL_EXTERN for debug builds
-
-2004-11-09 15:57 giva
-
- * lib/file.c: Handle drive-letter on MS-DOS.
-
-2004-11-09 15:55 giva
-
- * packages/Win32/README: Removed libcurl.def
-
-2004-11-09 15:42 bagder
-
- * RELEASE-NOTES: with all external functions marked with
- CURL_EXTERN it is easy to count them and... yes, they are 46!
-
-2004-11-09 15:02 giva
-
- * include/curl/: curl.h, easy.h, mprintf.h, multi.h:
- Changes for removing libcurl.def file on Win32. Mark public
- functions with "CURL_EXTERN".
-
-2004-11-09 15:00 giva
-
- * lib/: Makefile.am, Makefile.m32, Makefile.netware, Makefile.vc6,
- memdebug.h, strequal.h:
- Changes for removing libcurl.def file on Win32. Added
- "CURL_EXTERN" to memdebug.h functions. Cleaned up Makefile.vc6.
-
-2004-11-08 22:39 bagder
-
- * CHANGES, RELEASE-NOTES: today's work
-
-2004-11-08 22:31 bagder
-
- * src/main.c: another lame change in an attempt to fix the moot gcc
- 3.4 warning
-
-2004-11-08 20:41 bagder
-
- * CHANGES, configure.ac, src/config.h.in, src/main.c: weirdo hack
- to fix debian bug report 278691: 'curl -v writes debugging to its
- network socket if stderr is closed'
-
-2004-11-08 15:46 bagder
-
- * src/main.c: added a default in the switch in an attempt to avoid
- the moot "will never be executed" warning by gcc 3.4.0
-
-2004-11-08 15:21 giva
-
- * lib/config-win32ce.h:
- Change OS name. Fix header guard.
-
-2004-11-08 15:20 giva
-
- * lib/mprintf.c:
- Un-do changes for WinCE; cdecl decoration is not needed.
- Confirmed by Paul Nolan.
-
-2004-11-08 08:47 bagder
-
- * configure.ac, lib/setup.h: check for and require tld.h to be
- present before libidn usage is activated in the build, since
- libidn 0.3.X didn't have the header and we don't support that old
- libidn versions anyway.
-
- This was mentioned on the list by Jean-Philippe Barrette-LaPierre
- and in bug report #1062264.
-
-2004-11-08 00:48 bagder
-
- * ares/CHANGES: two post-1.2.1 changes
-
-2004-11-07 14:37 bagder
-
- * ares/vc/areslib/: areslib.dsp, areslib.mak: added ares_cancel and
- ares_version
-
-2004-11-05 15:43 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/http.h,
- packages/vms/config-vms.h_with_ssl,
- packages/vms/config-vms.h_without_ssl: Tim Sneddon's VMS fix for
- huge HTTP POSTs
-
-2004-11-05 09:22 bagder
-
- * lib/config-win32ce.h: removed errno, added EAGAIN
-
-2004-11-05 09:19 bagder
-
- * lib/config-win32ce.h: it has a sys/stat.h file, according to Paul
- Nolan
-
-2004-11-04 17:18 bagder
-
- * RELEASE-NOTES: update
-
-2004-11-04 17:17 bagder
-
- * CHANGES, docs/curl.1, src/main.c: more retry stuff
-
-2004-11-04 17:15 bagder
-
- * docs/TODO: test server port numbers are now easily changed
-
-2004-11-04 17:14 bagder
-
- * lib/timeval.h: delete trailing whitespace
-
-2004-11-04 15:19 bagder
-
- * configure.ac: based Andres Garcia's patch, added for mingw build
-
-2004-11-02 22:46 bagder
-
- * RELEASE-NOTES: recent changes
-
-2004-11-02 15:02 bagder
-
- * lib/mprintf.c: use ifdef not if
-
-2004-11-02 11:12 bagder
-
- * CHANGES, include/curl/curl.h, include/curl/multi.h,
- lib/Makefile.am, lib/config-win32ce.h, lib/connect.c, lib/dict.c,
- lib/easy.c, lib/file.c, lib/formdata.c, lib/ftp.c, lib/getenv.c,
- lib/hostthre.c, lib/http.c, lib/if2ip.c, lib/ldap.c,
- lib/mprintf.c, lib/setup.h, lib/strerror.c, lib/telnet.c,
- lib/transfer.c, lib/url.c: Paul Nolan fix to make libcurl build
- nicely on Windows CE
-
-2004-11-02 10:43 bagder
-
- * docs/curl.1: documented the current --retry options
-
-2004-11-02 09:26 bagder
-
- * docs/examples/getinmemory.c: modified to not use realloc() on a
- NULL pointer
-
-2004-11-01 23:50 bagder
-
- * CHANGES, configure.ac: When cross-compiling, the configure script
- no longer attempts to use pkg-config on the build host in order
- to detect OpenSSL compiler options.
-
-2004-10-28 15:18 giva
-
- * src/main.c:
- Fixed _write() arguments.
-
-2004-10-28 15:13 giva
-
- * src/main.c: [no log message]
-
-2004-10-28 09:23 bagder
-
- * src/main.c: use longs
-
-2004-10-27 23:46 bagder
-
- * CHANGES, lib/content_encoding.c: Dan Fandrich's gzip handling fix
-
-2004-10-27 23:29 bagder
-
- * CHANGES, src/main.c, tests/data/Makefile.am, tests/data/test195,
- tests/data/test196, tests/data/test197, tests/data/test198: Added
- --retry and --retry-delay first attempt with four related test
- cases.
-
-2004-10-27 16:18 bagder
-
- * tests/ftpserver.pl: log client disconnects
-
-2004-10-26 15:31 bagder
-
- * lib/setup.h: Testing to define _REENTRANT unconditionally in
- here.
-
-2004-10-26 10:09 bagder
-
- * docs/INSTALL: mention how LDFLAGS=-R can be used (or
- LD_LIBRARY_PATH or ld.so.conf)
-
-2004-10-26 10:08 bagder
-
- * ares/: ares_cancel.3, ares_strerror.3: mention incompatibilities
- with ares
-
-2004-10-25 13:28 bagder
-
- * CHANGES, docs/TODO, lib/http.c, lib/transfer.c,
- tests/data/Makefile.am, tests/data/test194: Tomas Pospisek filed
- bug report #1053287 that proved -C - and --fail on a file that
- was already completely downloaded caused an error, while it
- doesn't if you don't use --fail! I added test case 194 to verify
- the fix. Grrr. CURLOPT_FAILONERROR is now added to the list
- stuff to remove in libcurl v8 due to all the kludges needed to
- support it.
-
-2004-10-25 13:28 bagder
-
- * tests/runtests.pl: just nicer output when this is seen
-
-2004-10-25 13:28 bagder
-
- * tests/getpart.pm: the array sizes _can_ differ and the arrays can
- still match, since chomp is used at times but it doesn't decrease
- the array size
-
-2004-10-25 13:05 bagder
-
- * docs/libcurl/curl_formadd.3: format update
-
-2004-10-25 00:31 bagder
-
- * CHANGES, lib/formdata.c: Mohun Biswas found out that formposting
- a zero-byte file didn't work very good. I fixed.
-
-2004-10-24 15:02 bagder
-
- * ares/.cvsignore: ignore this
-
-2004-10-24 15:02 bagder
-
- * ares/: Makefile.am, maketgz: maketgz now creates a
- ares_version.h.dist file with the given version data properly
- set, and the Makefile.am is now fixed to use that when building a
- new package with make dist.
-
-2004-10-21 10:22 bagder
-
- * lib/ftp.c: Dan Fandrich's better ifdef for include fix
-
-2004-10-20 10:01 bagder
-
- * ares/CHANGES: 1.2.1 release time
-
-2004-10-19 20:50 bagder
-
- * CHANGES: this change was reverted since it broke on solaris
-
-2004-10-19 20:49 bagder
-
- * docs/KNOWN_BUGS: iconv 2.1.3 is considered bad for test case 165
-
-2004-10-19 20:46 bagder
-
- * tests/data/test165: revert the charset fix as it broke the
- solaris tests (native iconv doesn't like that name)
-
-2004-10-19 20:36 bagder
-
- * perl/contrib/formfind: Ralph Mitchell fixed: input field with
- NAME= and VALUE= weren't processed properly case insensitive
-
-2004-10-19 20:26 bagder
-
- * CHANGES, lib/transfer.c: Alexander Krasnostavsky made it possible
- to make FTP 3rd party transfers with both source and destination
- being the same host. It can be useful if you want to move a file
- on a server or similar.
-
-2004-10-19 17:34 bagder
-
- * docs/curl.1: snart isn't really used these days so we cut out the
- reference to it
-
-2004-10-19 17:32 bagder
-
- * docs/curl.1: added num_connects
-
-2004-10-19 17:30 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE,
- docs/libcurl/curl_easy_getinfo.3, include/curl/curl.h,
- lib/connect.c, lib/getinfo.c, lib/urldata.h, src/writeout.c,
- tests/data/Makefile.am, tests/data/test192, tests/data/test193:
- CURLINFO_NUM_CONNECTS and more
-
-2004-10-19 12:14 giva
-
- * lib/config.dj:
- djgpp has locale.h and setlocale().
-
-2004-10-19 12:13 giva
-
- * src/config-win32.h:
- All Win compilers have locale.h + setlocale().
-
-2004-10-19 08:04 bagder
-
- * CHANGES, tests/data/test165: bug 1049275 fixes test 165
-
-2004-10-18 15:37 bagder
-
- * CHANGES, configure.ac, src/config.h.in, src/main.c: Peter
- Wullinger pointed out that curl should call setlocale() properly
- to initiate the specific language operations, to make the IDN
- stuff work better.
-
-2004-10-18 10:42 bagder
-
- * RELEASE-NOTES, include/curl/curlver.h: start over on 7.12.3
-
-2004-10-18 09:48 bagder
-
- * CHANGES: 7.12.2
-
-2004-10-17 09:48 bagder
-
- * RELEASE-NOTES: new mirror
-
-2004-10-16 16:07 bagder
-
- * RELEASE-NOTES, TODO-RELEASE: today's changes
-
-2004-10-16 16:06 bagder
-
- * CHANGES, lib/ftp.c: Alexander Krasnostavsky made the
- CURLOPT_FTP_CREATE_MISSING_DIRS option work fine even for third
- party transfers.
-
-2004-10-16 15:54 bagder
-
- * CHANGES, lib/cookie.c: libcurl leaked memory for cookies with the
- "max-age" field set.
-
-2004-10-16 15:20 giva
-
- * CHANGES:
- Changes for issue 50
-
-2004-10-16 15:17 giva
-
- * docs/examples/fileupload.c:
- Open "debugit" in binary mode ("rb").
-
-2004-10-16 14:59 giva
-
- * lib/hostthre.c:
- Added Traian Nicolescu's patches for threaded resolver on
- Windows. Plugged some potential handle and memory leaks.
-
- Refs. http://curl.haxx.se/mail/lib-2004-10/0134.html
- http://curl.haxx.se/mail/lib-2004-10/0157.html
-
-2004-10-14 15:44 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, lib/url.c,
- tests/data/Makefile.am, tests/data/test191: Eric Vergnaud pointed
- out that libcurl didn't treat ?-letters in the user name and
- password fields properly in URLs, like
- ftp://us?er:pass?word@site.com/. Added test 191 to verify the
- fix.
-
-2004-10-14 15:44 bagder
-
- * tests/data/test59: use quotes to make gdb usage on this easier
-
-2004-10-14 15:34 bagder
-
- * TODO-RELEASE: let's fix this too
-
-2004-10-13 21:11 giva
-
- * lib/memdebug.c:
- Set errno = ENOMEM on faild countcheck().
-
-2004-10-13 10:46 bagder
-
- * RELEASE-NOTES: .NET binding
-
-2004-10-12 20:20 bagder
-
- * tests/FILEFORMAT: correction
-
-2004-10-12 14:49 bagder
-
- * lib/sendf.c: #include "strerror.h" to get the strerror proto
-
-2004-10-12 14:47 bagder
-
- * CHANGES, RELEASE-NOTES: recent fixes
-
-2004-10-12 14:47 bagder
-
- * TODO-RELEASE: one item fixed, one added for 7.12.2 and two more
- for 7.12.3
-
-2004-10-12 09:24 bagder
-
- * lib/sendf.c: add proper error message when send() fails
-
-2004-10-11 19:26 bagder
-
- * lib/strerror.h: removed trailing whitespace
-
-2004-10-11 19:23 bagder
-
- * CHANGES, lib/connect.c: SO_NOSIGPIPE
-
-2004-10-10 16:36 bagder
-
- * lib/url.c: another lame attempt to avoid the "warning: will never
- be executed" warning by gcc 3.4
-
-2004-10-10 16:08 giva
-
- * lib/strtoofft.h:
- MSVC uses 'i64' suffix for 64-bit sizes.
-
-2004-10-10 09:51 bagder
-
- * tests/testcurl.pl: attempt to make the configure output appear in
- the build log when it runs on my solaris 2.7 box too (currently
- unknown perl version)
-
-2004-10-10 09:45 bagder
-
- * src/config.h.in: set the SIZEOF_LONG define to get the new
- lib/strtoofft.h fine
-
-2004-10-10 05:39 bagder
-
- * lib/strtoofft.h: If long is 8 bytes we can use strtol() to get 64
- bit numbers and won't need our strtoll() replacement function.
-
-2004-10-10 05:32 bagder
-
- * lib/hostip.c: Prevent a longjmp warning by moving the rc assign
- within Curl_resolv(). Andy Cedilnik reported. Warning on HP-UX?
-
-2004-10-10 05:28 bagder
-
- * lib/: strtoofft.c, strtoofft.h: Use LL suffix for long long
- constants if the compiler supports it, to prevent warnings.
-
-2004-10-10 05:22 bagder
-
- * configure.ac: If long long is supported, check if [num]LL is
- supported for numerical constants.
-
-2004-10-08 14:59 bagder
-
- * docs/KNOWN_BUGS: --enable-ares on AIX has problem
-
-2004-10-08 11:57 bagder
-
- * docs/TODO: Use 'struct lifreq' and SIOCGLIFADDR
-
-2004-10-08 11:39 bagder
-
- * lib/strtoofft.c: killed trailing whitespace
-
-2004-10-08 10:18 bagder
-
- * configure.ac, lib/formdata.c: if basename was found, check for a
- prototype and if none was found, provide our own in the
- formdata.c file to prevent warnings on systems without it
-
-2004-10-08 10:16 bagder
-
- * lib/progress.c: prevent warning with comparison between signed
- and unsigned
-
-2004-10-08 00:57 bagder
-
- * tests/server/: Makefile.am, sws.c: use curlx_strnequal() from the
- private lib sources instead of strncasecmp() for maximum
- portability
-
-2004-10-08 00:56 bagder
-
- * lib/security.c: use curl_strnequal(), not strncasecmp()
-
-2004-10-07 14:17 bagder
-
- * RELEASE-NOTES: Gisle's new fix, the old file:// leak
-
-2004-10-07 09:41 bagder
-
- * lib/url.c: use tld_strerror() only if previously detected, since
- otherwise we can't work with libidn < 0.5.6
-
-2004-10-07 09:41 bagder
-
- * configure.ac: check for tld_strerror
-
-2004-10-06 21:00 giva
-
- * CHANGES:
- Added tld_check_name().
-
-2004-10-06 20:55 giva
-
- * lib/url.c:
- Fixed tld_check_name(). idna_to_unicode_lzlz() should never fail,
- but return FALSE if 'uc_name == NULL' just in case.
-
-2004-10-06 20:40 giva
-
- * lib/url.c:
- USE_LIBIDN: Added Top-level-domain (TLD) check for host->name.
- Only print a warning if check fails.
-
-2004-10-06 16:58 bagder
-
- * tests/data/: Makefile.am, test188, test189, test99: test resume
- and redirect
-
-2004-10-06 15:37 bagder
-
- * CHANGES, RELEASE-NOTES, lib/transfer.c, tests/data/Makefile.am,
- tests/data/test99: Chih-Chung Chang reported that if you use
- CURLOPT_RESUME_FROM and enabled CURLOPT_FOLLOWLOCATION, libcurl
- reported error if a redirect happened even if the new URL would
- provide the resumed file. Test case 188 added to verify the fix
- (together with existing test 99).
-
-2004-10-06 15:24 giva
-
- * docs/examples/multi-app.c: [no log message]
-
-2004-10-06 11:04 bagder
-
- * CHANGES, RELEASE-NOTES: updates of today
-
-2004-10-06 09:52 bagder
-
- * lib/hostip4.c: avoid warnings on systems with this member set
- const
-
-2004-10-06 09:50 bagder
-
- * curl-style.el, ares/adig.c, ares/ahost.c, ares/ares.h,
- ares/ares__get_hostent.c, ares/ares__read_line.c,
- ares/ares_dns.h, ares/ares_expand_name.c, ares/ares_fds.c,
- ares/ares_gethostbyaddr.c, ares/ares_gethostbyname.c,
- ares/ares_init.c, ares/ares_mkquery.c, ares/ares_parse_a_reply.c,
- ares/ares_parse_ptr_reply.c, ares/ares_private.h,
- ares/ares_process.c, ares/ares_query.c, ares/ares_search.c,
- ares/ares_send.c, ares/ares_timeout.c, docs/MANUAL,
- docs/examples/curlx.c, docs/examples/fopen.c,
- docs/examples/multi-app.c, include/curl/curl.h, lib/amigaos.c,
- lib/amigaos.h, lib/config-mac.h, lib/config-vms.h, lib/connect.c,
- lib/cookie.c, lib/cookie.h, lib/dict.c, lib/file.c,
- lib/formdata.c, lib/ftp.c, lib/getenv.c, lib/hostares.c,
- lib/hostasyn.c, lib/hostip.c, lib/hostip4.c, lib/hostip6.c,
- lib/hostsyn.c, lib/hostthre.c, lib/http.c, lib/http_digest.c,
- lib/inet_ntop.c, lib/inet_pton.c, lib/krb4.c, lib/ldap.c,
- lib/memory.h, lib/netrc.c, lib/progress.c, lib/security.c,
- lib/security.h, lib/sendf.c, lib/speedcheck.c, lib/ssluse.c,
- lib/strequal.c, lib/telnet.c, lib/transfer.h, lib/url.c,
- lib/urldata.h, src/config-amigaos.h, src/config-mac.h,
- src/getpass.c, src/homedir.c, src/main.c, src/urlglob.c: removed
- tabs and trailing whitespace from source
-
-2004-10-06 09:33 bagder
-
- * configure.ac: Dan Fandrich fix for hosts that need both -lnsl and
- -lsocket
-
-2004-10-06 08:58 bagder
-
- * lib/if2ip.c: untabify
-
-2004-10-05 15:48 giva
-
- * lib/config.dj:
- djgpp has basename()
-
-2004-10-05 13:03 bagder
-
- * lib/url.c: minor edit to re-use a variable and to hopefully avoid
- a (moot) warning about code that won't be reached
-
-2004-10-05 12:52 bagder
-
- * CHANGES, RELEASE-NOTES: recent fixes
-
-2004-10-05 10:45 bagder
-
- * configure.ac: make the given path to --with-libidn override any
- other installation
-
-2004-10-05 10:42 bagder
-
- * lib/strerror.c: avoid warning for unused variable
-
-2004-10-05 10:40 bagder
-
- * lib/strerror.c: use idna_strerror() if it is available (only in
- libidn 0.5.6 or later)
-
-2004-10-05 08:55 bagder
-
- * lib/formdata.c: Only include libgen.h if we have a basename as
- well.
-
- Mainly meant to deal with the IRIX case which seems to requrie a
- "-lgen" lib to find the basename function and thus without the
- gen lib, it finds the header but not the function and our
- replacement function has a prototype that doesn't match the IRIX
- one.
-
- A different approach would be to make configure detect and use
- -lgen for the systems that require it.
-
-2004-10-05 08:49 bagder
-
- * lib/formdata.c: let our basename() be static
-
-2004-10-04 14:54 bagder
-
- * docs/FAQ: name mix fix
-
-2004-10-04 12:37 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE: closing in on release
-
-2004-10-04 12:36 bagder
-
- * lib/easy.c, lib/hostip.c, lib/url.c, tests/data/test506: Made the
- dns entry remain locked while a connection to the host remains to
- allow verbose output during this period. Bertrand Demiddelaer
- reported and helped fixing.
-
-2004-10-03 23:32 bagder
-
- * lib/hostasyn.c: set async.done to TRUE last in the addrinfo
- callback to prevent the risk that the multi-threaded resolver
- does wrong
-
-2004-10-03 23:02 bagder
-
- * lib/cookie.c: Replaced the use of isspace() with our own version
- instead since we have most data as 'char *' and that makes us
- pass in negative values if there is 8bit data in the string.
- Changing to unsigned causes too much warnings or too many
- required typecasts to the normal string functions.
-
-2004-10-03 22:50 bagder
-
- * configure.ac: when building with libidn support, check for
- idna_strerror() which is included in very recent versions
-
-2004-10-03 19:38 bagder
-
- * docs/libcurl/curl_multi_perform.3: added info about how users get
- info (like the CURLcode return code) from individual transfers
-
-2004-10-03 10:15 bagder
-
- * tests/libtest/lib503.c: removed trailing whitespace
-
-2004-10-02 15:01 bagder
-
- * CHANGES, lib/strerror.c, lib/strerror.h, lib/url.c: Gisle Vanem
- provided code that displays an error message when the (libidn
- based) IDN conversion fails. This is really due to a missing
- suitable function in the libidn API that I hope we can remove
- once libidn gets a function like this.
-
-2004-10-02 14:58 bagder
-
- * lib/setup.h: removed weird preprocessor juggling not needed
-
-2004-10-01 13:27 bagder
-
- * lib/formdata.c: someone should hit me
-
-2004-10-01 13:22 bagder
-
- * CHANGES, lib/ftp.c: Aleksandar Milivojevic reported a problem in
- the Redhat bugzilla (see
- https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=134133) and
- not to anyone involved in the curl project! This happens when you
- try to curl a file from a proftpd site using SSL. It seems
- proftpd sends a somewhat unorthodox PASS response code (232
- instead of 230). I relaxed the response code check to deal with
- this and similar cases.
-
-2004-10-01 13:20 bagder
-
- * lib/formdata.c: fixed the basename() replacement, reported by
- Gisle
-
-2004-10-01 08:43 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: mention when this option was
- added
-
-2004-10-01 08:43 bagder
-
- * RELEASE-NOTES: reflect the last few changes
-
-2004-10-01 08:36 bagder
-
- * CHANGES, TODO-RELEASE, configure.ac, lib/formdata.c,
- tests/data/test166, tests/data/test304, tests/data/test39,
- tests/data/test44, tests/data/test71, tests/data/test9: - Based
- on Fedor Karpelevitch's formpost path basename patch, file parts
- in formposts no longer include the path part. If you _really_
- want them, you must provide your preferred full file name with
- CURLFORM_FILENAME.
-
- Added detection for libgen.h and basename() to configure. My
- custom
- basename() replacement function for systems without it, might
- be a bit too
- naive...
-
- Updated 6 test cases to make them work with the stripped paths.
-
-2004-09-30 23:01 bagder
-
- * CHANGES, TODO-RELEASE, docs/libcurl/curl_easy_getinfo.3,
- include/curl/curl.h, lib/connect.c, lib/getinfo.c, lib/urldata.h:
- - Larry Campbell added CURLINFO_OS_ERRNO to curl_easy_getinfo()
- that allows an app to retrieve the errno variable after a
- (connect) failure. It will make sense to provide this for more
- failures in a more generic way, but let's start like this.
-
-2004-09-30 22:50 bagder
-
- * lib/sendf.h: killed trailing whitespace
-
-2004-09-30 21:50 bagder
-
- * CHANGES, include/curl/multi.h: Günter Knauf and Casey O'Donnell
- worked out an extra #if condition for the curl/multi.h header to
- work better in winsock-using apps.
-
-2004-09-30 21:46 bagder
-
- * CHANGES, buildconf: Jean-Philippe Barrette-LaPierre made
- buildconf run better on Mac OS X by properly using glibtoolize
- instead of plain libtoolize. (This is made if glibtool was found
- and used instead of plain libtool.)
-
-2004-09-30 16:38 bagder
-
- * docs/curl.1: --max-redirs is _not_ -Z
-
-2004-09-30 14:20 bagder
-
- * TODO-RELEASE: 48 - Harshal Pradhan's isspace() fix for 8bit
- cookie content
-
-2004-09-30 13:41 bagder
-
- * TODO-RELEASE: issue 47 - Peter Sylvester's patch related to the
- new SRP on the TLS layer
-
-2004-09-30 13:38 bagder
-
- * TODO-RELEASE: fix the multi.h too
-
-2004-09-30 10:01 bagder
-
- * TODO-RELEASE: added issue 45 "Chris' suspected race condition in
- the windows threaded resolver"
-
-2004-09-30 09:59 bagder
-
- * TODO-RELEASE: added five things I want fixed before the next
- release
-
-2004-09-29 09:21 bagder
-
- * lib/ftp.c: Fixed an error message: we use CWD, we don't cd into
- dirs with FTP
-
-2004-09-29 00:26 bagder
-
- * CHANGES, RELEASE-NOTES, lib/easy.c: Bertrand Demiddelaer fixed
- curl_easy_reset() so that it doesn't mistakingly enable the
- progress meter.
-
-2004-09-29 00:19 bagder
-
- * ares/: CHANGES, ares_init.c: - Henrik Stoerner fix: got a report
- that Tru64 Unix (the unix from Digital when they made Alpha's)
- uses /etc/svc.conf for the purpose fixed below for other OSes.
- He made c-ares check for and understand it if present.
-
- - Now c-ares will use local host name lookup _before_ DNS
- resolving by default if nothing else is told.
-
-2004-09-29 00:04 bagder
-
- * CHANGES, RELEASE-NOTES: recent stuff
-
-2004-09-29 00:04 bagder
-
- * configure.ac: made pkg-config not get used if a path is given
- with --with-ssl
-
-2004-09-28 09:11 bagder
-
- * lib/url.c: Only active the engine code if ssl is enabled. This is
- how the actual engine member in the struct is used.
-
-2004-09-27 00:35 bagder
-
- * ares/: CHANGES, ares_init.c: - Henrik Stoerner: found out that
- C-ARES does not look at the /etc/host.conf file to determine
- the sequence in which to search /etc/hosts and DNS. So on
- systems where this order is defined by /etc/host.conf instead of
- a "lookup" entry in /etc/resolv.conf, C-ARES will always
- default to looking in DNS first, and /etc/hosts second.
-
- c-ares now looks at
-
- 1) resolv.conf (for the "lookup" line);
- 2) nsswitch.fon (for the "hosts:" line);
- 3) host.conf (for the "order" line).
-
- First match wins.
-
-2004-09-26 20:20 bagder
-
- * ares/: CHANGES, ares_gethostbyaddr.c, ares_gethostbyname.c,
- ares_private.h: Dominick Meglio host file path discovery patch
- for windows
-
-2004-09-26 08:53 bagder
-
- * lib/ldap.c: Ben Greear's minor fix to build (better) with
- cross-compiled(?) mingw
-
-2004-09-25 23:28 bagder
-
- * lib/url.c: allow setting CURLOPT_SSLENGINE to NULL even if no SSL
- engine is supported
-
-2004-09-22 20:23 bagder
-
- * CHANGES, RELEASE-NOTES: Dan Fandrich patched three tests
-
-2004-09-22 20:21 bagder
-
- * tests/: data/test503, data/test504, data/test509,
- libtest/lib509.c: Dan Fandrich's fix to use 127.0.0.1 instead of
- localhost to not depend on it resolving nicely
-
-2004-09-22 14:54 bagder
-
- * RELEASE-NOTES: Jean-Claude Chauve is a friend!
-
-2004-09-22 14:53 bagder
-
- * CHANGES: typo
-
-2004-09-22 10:01 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ldap.c: jean-claude Chauve fixed an
- LDAP bug
-
-2004-09-20 15:21 bagder
-
- * lib/parsedate.c: less long => int implicit conversion warnings
-
-2004-09-20 01:30 gknauf
-
- * lib/: Makefile.b32, Makefile.netware: removed getdate.c hack.
-
-2004-09-20 00:37 bagder
-
- * docs/LICENSE-MIXING: added URL to the exception paragraph in the
- GPL FAQ
-
-2004-09-19 16:30 bagder
-
- * CHANGES, RELEASE-NOTES: the error message fix for failed connects
-
-2004-09-19 16:28 bagder
-
- * lib/strerror.c: kill trailing whitespace and clarify a few errors
-
-2004-09-19 16:27 bagder
-
- * lib/connect.c: set an error message when connection fails
-
-2004-09-17 09:55 bagder
-
- * RELEASE-NOTES: Location:-follow problem
-
-2004-09-17 00:10 bagder
-
- * RELEASE-NOTES: one more option, one more friend
-
-2004-09-16 23:45 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/ftp.c, lib/url.c, lib/urldata.h: Added
- CURLOPT_FTPSSLAUTH
-
-2004-09-16 23:28 bagder
-
- * CHANGES, lib/transfer.c, tests/data/Makefile.am,
- tests/data/test187: Location: problem with bad original URL,
- identified in bug report #1029478
-
-2004-09-16 16:26 bagder
-
- * docs/libcurl/curl_share_cleanup.3: Bertrand Demiddelaer's
- correction
-
-2004-09-16 10:45 bagder
-
- * docs/curl.1: ftp-ssl mistake corrected
-
-2004-09-15 10:07 bagder
-
- * buildconf.bat, tests/testcurl.pl: no more getdate.c to care about
-
-2004-09-15 10:05 bagder
-
- * lib/Makefile.vc6: fixed to use the new file. Can we make this use
- Makefile.inc somehow?
-
-2004-09-15 09:31 bagder
-
- * RELEASE-NOTES, docs/curl.1: the new date parser affects -z
-
-2004-09-15 09:28 bagder
-
- * CHANGES, configure.ac, docs/libcurl/curl_getdate.3,
- lib/Makefile.am, lib/Makefile.inc, lib/getdate.c.cvs,
- lib/getdate.h, lib/getdate.y, lib/parsedate.c: Replaced the
- former date parser with a rewrite. No more yacc/bison needed.
-
-2004-09-14 23:31 bagder
-
- * ares/.cvsignore: ignore more
-
-2004-09-13 22:49 bagder
-
- * lib/parsedate.c: and moved back the month array to a static one
- since the ftp code won't need it anymore
-
-2004-09-13 22:48 bagder
-
- * lib/parsedate.h: removed this file again, we only provide a
- single public function and that is already in the public header
- file
-
-2004-09-13 22:47 bagder
-
- * lib/transfer.c: no longer includes getdate.h, there's no need for
- it
-
-2004-09-13 22:47 bagder
-
- * lib/cookie.c: getdate.h is not required to include, it adds
- nothing new
-
-2004-09-13 22:43 bagder
-
- * lib/ftp.c: revert the change for the new date parser, as the new
- one can deal with the old format now
-
-2004-09-13 22:40 bagder
-
- * lib/parsedate.c: support for YYYYMMDD added, which allows us to
- keep using the lib/ftp.c code I was previously #ifdef'ing to a
- different look when this parser is used
-
-2004-09-13 09:57 bagder
-
- * lib/parsedate.c: added more examples/docs in the top comment
-
-2004-09-13 09:45 bagder
-
- * lib/parsedate.c: Since many users probably already use local time
- strings as input, I now made it deal with named time zones as
- well as mail-style +0200 ones.
-
- Seems to work fine. I'm comparing with GNU date command:
-
- date -d [date] -u +%s
-
-2004-09-12 20:27 bagder
-
- * docs/SSLCERTS: describes how you can extract the CA cert from a
- site using the openssl tool
-
-2004-09-11 22:06 bagder
-
- * CHANGES: Added parsedate.[ch]
-
-2004-09-11 22:06 bagder
-
- * RELEASE-NOTES: mention more friends
-
-2004-09-11 21:19 bagder
-
- * lib/ftp.c: Minor adjustment needed for the new date parser to
- succeed. ifdef'ed out for now.
-
-2004-09-11 21:16 bagder
-
- * lib/parsedate.c: more docs and fixed the delta compared to GMT
- that prevented test case 141 to work with this
-
-2004-09-11 21:12 bagder
-
- * tests/data/: test31, test506, test61, test77, test78: 1. cookie
- expire-strings MUST use GMT timezones 2. adjusted date strings to
- upcoming date parser rewrite
-
-2004-09-11 15:07 bagder
-
- * lib/parsedate.c: slightly better but still lacks
-
-2004-09-11 11:24 bagder
-
- * lib/: parsedate.c, parsedate.h: getdate replacement code.
- smaller, slicker, faster.
-
-2004-09-10 23:47 bagder
-
- * CHANGES, RELEASE-NOTES, docs/curl.1, src/main.c,
- tests/data/Makefile.am, tests/data/test186: fixed -F to support
- setting type= even on parts that aren't file-uploads
-
-2004-09-10 23:46 bagder
-
- * include/curl/curl.h: minor indent change
-
-2004-09-10 23:13 bagder
-
- * CHANGES, RELEASE-NOTES: up to date with recent changes
-
-2004-09-10 22:58 bagder
-
- * CHANGES, lib/http.c, lib/url.c, lib/urldata.h,
- tests/data/Makefile.am, tests/data/test184, tests/data/test185: -
- Bug report #1025986. When following a Location: with a custom
- Host: header replacement, curl only replaced the Host: header
- on the initial request and didn't replace it on the following
- ones. This resulted in requests with two Host: headers.
-
- Now, curl checks if the location is on the same host as the
- initial request
- and then continues to replace the Host: header. And when it
- moves to another
- host, it doesn't replace the Host: header but it also doesn't
- make the
- second Host: header get used in the request.
-
- This change is verified by the two new test cases 184 and 185.
-
-2004-09-09 08:58 bagder
-
- * docs/TODO: curl --sync
-
-2004-09-08 10:08 bagder
-
- * tests/: runtests.pl, data/test1, data/test10, data/test11,
- data/test12, data/test13, data/test14, data/test15, data/test150,
- data/test151, data/test152, data/test153, data/test154,
- data/test155, data/test156, data/test157, data/test158,
- data/test159, data/test16, data/test160, data/test162,
- data/test163, data/test164, data/test165, data/test166,
- data/test167, data/test168, data/test169, data/test17,
- data/test170, data/test171, data/test172, data/test173,
- data/test174, data/test175, data/test176, data/test177,
- data/test178, data/test179, data/test18, data/test180,
- data/test181, data/test183, data/test2, data/test22, data/test23,
- data/test24, data/test25, data/test26, data/test27, data/test28,
- data/test29, data/test3, data/test30, data/test300, data/test301,
- data/test302, data/test303, data/test304, data/test305,
- data/test306, data/test31, data/test32, data/test33, data/test34,
- data/test36, data/test37, data/test38, data/test39, data/test4,
- data/test40, data/test41, data/test42, data/test43, data/test44,
- data/test45, data/test46, data/test47, data/test48, data/test49,
- data/test5, data/test50, data/test500, data/test501,
- data/test503, data/test506, data/test508, data/test509,
- data/test51, data/test510, data/test512, data/test513,
- data/test514, data/test52, data/test53, data/test54, data/test55,
- data/test56, data/test57, data/test58, data/test59, data/test6,
- data/test60, data/test61, data/test62, data/test63, data/test64,
- data/test65, data/test66, data/test67, data/test68, data/test69,
- data/test7, data/test70, data/test71, data/test72, data/test73,
- data/test74, data/test75, data/test76, data/test77, data/test78,
- data/test79, data/test8, data/test80, data/test81, data/test82,
- data/test83, data/test84, data/test85, data/test86, data/test87,
- data/test88, data/test89, data/test9, data/test90, data/test91,
- data/test92, data/test93, data/test94, data/test95, data/test97,
- data/test98, data/test99, libtest/lib509.c: Now the test servers
- and test cases can run on a custom port number. There's no fixed
- port numbers in use anymore. Starting now, the default ports the
- servers use are 8990 - 8993. There's no option to modify these
- yet, but changing the $base option in the top of the runtests.pl
- script.
-
-2004-09-03 20:51 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: fixed nasty warnings with gcc 3.3.
-
-2004-09-02 23:05 bagder
-
- * docs/libcurl/libcurl-errors.3: clarify CURLE_SSL_CERTPROBLEM
- somewhat
-
-2004-09-02 23:03 bagder
-
- * lib/ssluse.c: improved error message when client cert return
- failure
-
-2004-09-02 22:42 bagder
-
- * docs/libcurl/curl_formadd.3: use the correct struct name in the
- example
-
-2004-09-01 14:05 bagder
-
- * docs/libcurl/curl_easy_setopt.3: added more info on the nobody
-
-2004-09-01 11:25 bagder
-
- * docs/libcurl/curl_easy_setopt.3: minor edit of HTTPGET
-
-2004-09-01 11:24 bagder
-
- * docs/libcurl/curl_easy_setopt.3: fix formatting flaw
-
-2004-08-31 08:04 bagder
-
- * CHANGES, lib/multi.c: fix the return code for
- curl_multi_add_handle()
-
-2004-08-31 08:03 bagder
-
- * docs/libcurl/: curl_easy_strerror.3, curl_multi_strerror.3,
- curl_share_strerror.3: mention when the function was added to the
- lib
-
-2004-08-30 17:02 bagder
-
- * RELEASE-NOTES: proxy connection close and so
-
-2004-08-30 17:02 bagder
-
- * CHANGES: proxy-connection close
-
-2004-08-30 16:22 bagder
-
- * TODO-RELEASE: removed issue 36 from this list, we don't know how
- to do it and no one has stepped forward to help us. Let's
- postpone that fix.
-
-2004-08-30 14:51 bagder
-
- * lib/transfer.c: Make "Proxy-Connection: close" close the current
- proxy connection, as Roman Koifman found out.
-
-2004-08-30 11:16 bagder
-
- * RELEASE-NOTES: getdate fix, adacurl release
-
-2004-08-30 11:16 bagder
-
- * ares/CHANGES: mention Gisle's recent fixes
-
-2004-08-29 17:40 giva
-
- * ares/vc/areslib/: areslib.dsp, areslib.mak:
- Removed ares_free_errmem.c from MSCV project files. Fixed
- line-endings to CR-LF.
-
-2004-08-27 09:17 bagder
-
- * docs/TODO: updated with minor edits
-
-2004-08-27 09:04 bagder
-
- * docs/TODO: don't do SO_KEEPALIVE, we already have a finer grained
- method built-in
-
-2004-08-26 15:26 bagder
-
- * docs/KNOWN_BUGS: added some more details
-
-2004-08-25 13:21 bagder
-
- * CHANGES: getdate and new test cases from yday
-
-2004-08-25 13:18 bagder
-
- * docs/HOWTO-RELEASE: not accurate anymore anyway
-
-2004-08-25 10:09 bagder
-
- * docs/SSLCERTS: Frankie V's description on how to get a CA cert
- for a random site using IE
-
-2004-08-24 22:36 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: returned memory should not be
- freed
-
-2004-08-24 16:40 bagder
-
- * tests/data/: Makefile.am, test183: added test 183 to verify that
- we properly send good Host: headers when getting multiple URLs
- over a single proxy connection
-
-2004-08-24 13:48 bagder
-
- * lib/Makefile.am: Attempt to quick-fix the getdate problem by
- post-replacing the getdate.c file after the bison/yacc process to
- add the fix Harshal Pradhan suggested.
-
-2004-08-24 11:23 bagder
-
- * tests/runtests.pl: prevent files named ".nfs[something]" from
- being displayed when failing
-
-2004-08-23 17:28 bagder
-
- * lib/getdate.c.cvs: updated in CVS, generated with a much newer
- bison version
-
-2004-08-23 16:46 bagder
-
- * docs/libcurl/curl_formadd.3: Expect: 100-continue info added
-
-2004-08-23 16:41 bagder
-
- * docs/libcurl/curl_easy_setopt.3: added note about WRITEFUNCTION
- now being called with zero bytes if the file to be transfered is
- empty
-
-2004-08-23 16:41 bagder
-
- * tests/data/: Makefile.am, test182: verify that transferring a
- zero byte FTP file results in a zero byte local file
-
-2004-08-23 16:40 bagder
-
- * tests/: FILEFORMAT, ftpserver.pl, runtests.pl: Provide support
- for "transferring" zero bytes FTP files and comparing that the
- output file actually is zero bytes after the transfer.
-
-2004-08-23 16:22 bagder
-
- * docs/examples/: ftpget.c, postit2.c, simple.c: stripped trailing
- whitespace
-
-2004-08-23 16:22 bagder
-
- * docs/examples/post-callback.c: lost of more into on how to tweak
- some headers
-
-2004-08-23 16:22 bagder
-
- * docs/examples/: Makefile.am, debug.c: debug.c is a fresh new
- example showing how to use the DEBUGFUNCTION to get lots of fine
- info from a transfer
-
-2004-08-23 16:04 bagder
-
- * docs/libcurl/curl_easy_setopt.3: added more header info for PUT
- and POST requests
-
-2004-08-23 14:34 bagder
-
- * CHANGES, lib/http.c, tests/data/Makefile.am, tests/data/test180,
- tests/data/test181: Roman Koifman pointed out that libcurl send
- Expect: 100-continue on POSTs and PUTs even when told to use HTTP
- 1.0, which is not correct.
-
-2004-08-20 16:10 giva
-
- * ares/: ares_gethostbyaddr.c, ares_gethostbyname.c,
- ares_mkquery.c, ares_parse_a_reply.c, ares_parse_ptr_reply.c:
- More patches for Watt-32 on Win32; don't include "nameser.h".
-
-2004-08-20 16:07 giva
-
- * ares/ares_process.c: No WSAGetLastError() on Watt-32/DOS
-
-2004-08-20 15:48 giva
-
- * ares/setup.h: No <sys/uio.h> on DOS/Win32
-
-2004-08-20 15:45 giva
-
- * ares/: ares.h, ares__close_sockets.c, ares__get_hostent.c,
- ares_expand_name.c, ares_expand_string.c, ares_fds.c,
- ares_free_hostent.c, ares_init.c, ares_private.h, ares_process.c,
- ares_query.c, ares_search.c, ares_send.c, ares_timeout.c,
- nameser.h, setup.h, windows_port.c: Changes for Watt-32 on
- Windows. I've assumed Configure sets the required HAVE_xx defines
- for non-DOS/Win targets.
-
-2004-08-20 14:09 bagder
-
- * CHANGES, RELEASE-NOTES, docs/KNOWN_BUGS, lib/transfer.c:
- Alexander Krasnostavsky made the write callback get called even
- when a zero byte file is downloaded.
-
-2004-08-20 12:52 bagder
-
- * docs/KNOWN_BUGS: socks proxy and timeouts bug
-
-2004-08-20 11:18 bagder
-
- * lib/hostip6.c: actually, we check for a numerical host using
- either ipv4 or ipv6, as neither should result in a reverse dns
- lookup
-
-2004-08-20 11:11 bagder
-
- * lib/hostip6.c: use inet_pton() correctly!
-
-2004-08-19 17:24 giva
-
- * ares/Makefile.dj: ZLIB_ROOT not needed
-
-2004-08-19 17:16 giva
-
- * ares/Makefile.dj: My first CVS commit just to see if this works.
- BTW. Used eclipse IDE fo this, which really kicks ass.
-
-2004-08-19 11:37 bagder
-
- * lib/inet_pton.c: simplified expression
-
-2004-08-19 08:44 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostip6.c: Ling Thio pointed out that
- getaddrinfo() reverse-lookups ip-only names, and this is an
- attempt to prevent it from doing that. affects ipv6-enabled only.
-
-2004-08-19 08:41 bagder
-
- * configure.ac: the autobuilds failed all over on AIX, attempt to
- fix the strerror_r() problem by setting _THREAD_SAFE (and
- -qthreaded) before strerror_r() is checked for.
-
-2004-08-19 08:31 bagder
-
- * docs/FAQ: reuse handles in PHP/CURL works - Kirk Hedden told us
-
-2004-08-18 13:18 bagder
-
- * docs/FAQ: PHP FAQ
-
-2004-08-18 08:12 bagder
-
- * lib/inet_pton.c: indented the code curl-style
-
-2004-08-17 21:46 bagder
-
- * include/curl/multi.h: removed trailing whitespace
-
-2004-08-17 14:39 bagder
-
- * docs/libcurl/curl_easy_init.3: see also the reset function
-
-2004-08-17 14:37 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention the reset function
-
-2004-08-17 14:00 bagder
-
- * CHANGES, lib/file.c: Kjetil Jacobsen reported an open file leak
- in file:// transfers of empty files.
-
-2004-08-17 12:47 bagder
-
- * configure.ac: added a check for the xlc compiler on AIX, and if
- that is detect we use the -qthreaded compiler option
-
-2004-08-17 11:00 bagder
-
- * configure.ac: define _THREAD_SAFE on (recent) AIX systems to
- build thread-safe code
-
-2004-08-17 08:56 bagder
-
- * CHANGES, RELEASE-NOTES: recent fixes
-
-2004-08-16 15:25 bagder
-
- * lib/: http.c, url.c: allow a custom "Accept-Encoding:" header
- override the internally set one that gets set with
- CURLOPT_ENCODING
-
-2004-08-16 15:24 bagder
-
- * lib/content_encoding.h: strip trailing whitespace
-
-2004-08-16 13:09 gknauf
-
- * lib/libcurl.imp: syncronized with libcurl.def.
-
-2004-08-16 13:09 gknauf
-
- * lib/libcurl.def: cosmetic fix.
-
-2004-08-16 12:49 bagder
-
- * docs/libcurl/curl_easy_setopt.3: summary edit: mention that some
- options take a curl_off_t
-
-2004-08-16 09:24 bagder
-
- * CHANGES, lib/http.c, tests/data/Makefile.am, tests/data/test179:
- Roland Krikava's cookies over proxy fix.
-
-2004-08-15 00:03 gknauf
-
- * lib/Makefile.vc6: fixed linkage dll targets. (submitted by Casey
- O'Donnell)
-
-2004-08-13 14:06 bagder
-
- * docs/TODO: added two good ideas
-
-2004-08-13 14:01 bagder
-
- * ares/CHANGES: mention Harshal Pradhan's windows fix
-
-2004-08-13 14:00 bagder
-
- * ares/ares_init.c: Harshal Pradhan made minor syntax change to
- make this build with MSVC 7.1
-
-2004-08-13 13:56 bagder
-
- * docs/INSTALL: removed the ispell-added local word, compressed the
- final links into a short section
-
-2004-08-13 13:53 bagder
-
- * README, docs/BINDINGS, docs/CONTRIBUTE, docs/HISTORY,
- docs/INSTALL: strip trailing whitespace
-
-2004-08-13 13:47 bagder
-
- * README: spell
-
-2004-08-12 16:09 bagder
-
- * docs/FAQ: Added "5.9 How does libcurl resolve host names?" since
- I wrote the text in a mail anyway the other day.
-
-2004-08-12 16:08 bagder
-
- * docs/FEATURES: updated with recent changes
-
-2004-08-12 13:39 bagder
-
- * docs/FAQ: hm
-
-2004-08-12 13:02 bagder
-
- * docs/FAQ: 3.16 What certificates do I need with I use SSL?
-
- my first attempt at a basic description of the certs involvede
-
-2004-08-12 09:01 bagder
-
- * docs/examples/simplessl.c: removed trailing whitespace, indented
- to curl-style levels
-
-2004-08-12 08:30 bagder
-
- * configure.ac: Removed the _XOPEN_SOURCE defining again since it
- caused major havoc in IRIX land with many warnings and even
- compiler errors due to missing structs etc
-
-2004-08-11 13:18 bagder
-
- * docs/KNOWN_BUGS: --disable-[protocol] doesn't disable tests of
- the specific protocol
-
-2004-08-11 10:44 bagder
-
- * docs/libcurl/libcurl-errors.3: clarify that
- CURLE_FTP_USER_PASSWORD_INCORRECT might in fact get returned even
- if user and password are correct
-
-2004-08-11 10:39 bagder
-
- * CHANGES, lib/ftp.c: include the server response in the error
- message when an FTP server gives back a 530 after the password is
- provided, as it isn't necessary because of a bad user name or
- password.
-
-2004-08-11 09:25 bagder
-
- * configure.ac: define the _XOPEN_SOURCE define in the config.h
- file instead, and also added a decent quote about the define,
- taken from
- http://www.opengroup.org/onlinepubs/007908799/xsh/compilation.html
-
-2004-08-11 09:14 bagder
-
- * configure.ac: fixed the default result for xopen and mimpure to
- work better
-
-2004-08-11 09:11 bagder
-
- * configure.ac: experimental code to detect mips-sgi-irix systems
- that build without gcc and if so, define _XOPEN_SOURCE to 500 in
- an attempt to build with less warnings (on the 64bit versions)
-
-2004-08-11 08:42 bagder
-
- * docs/BINDINGS: added several recent bindings
-
-2004-08-10 15:22 bagder
-
- * docs/libcurl/curl_easy_setopt.3: updated the CURLOPT_POST
- description after input from Alan Pinstein
-
-2004-08-10 15:21 bagder
-
- * lib/url.c: Ok, setting CURLOPT_POST to 0 will now convert the
- request to a GET (this remains undocumented as this is not the
- way we recommend)
-
-2004-08-10 14:41 bagder
-
- * docs/FAQ: minor reformat to suit the new FAQ parser
-
-2004-08-10 12:43 bagder
-
- * lib/.cvsignore: ignore curllib.dsp
-
-2004-08-10 12:43 bagder
-
- * ares/.cvsignore: ignore more files
-
-2004-08-10 12:40 bagder
-
- * include/curl/curlver.h: 7.12.2 work in progress
-
-2004-08-10 10:56 bagder
-
- * RELEASE-NOTES: and we're back on a clean notes sheet again
-
-2004-08-10 10:42 bagder
-
- * CHANGES, RELEASE-NOTES, docs/HISTORY: 7.12.1 notes
-
-2004-08-10 10:41 bagder
-
- * docs/FAQ: added "5.8 libcurl.so.3: open failed: No such file or
- directory" and made some general cleanups
-
-2004-08-10 10:06 bagder
-
- * lib/ssluse.c: In OpenSSL 0.9.7d and earlier, ASN1_STRING_to_UTF8
- fails if the input is already UTF-8 encoded. We check for this
- case and copy the raw string manually to avoid the problem. This
- code can be made conditional in the future when OpenSSL has been
- fixed. Work-around brought by Alexis S. L. Carvalho.
-
-2004-08-10 08:41 bagder
-
- * lib/ftp.c, lib/progress.c, lib/transfer.c, src/main.c: more
- typecasts to please picky compilers
-
-2004-08-09 15:13 bagder
-
- * RELEASE-NOTES: version string, krb4 link fix, added number of web
- mirrors and libcurl bindings
-
-2004-08-09 14:39 bagder
-
- * docs/TODO: GSS/Kerberos 5 for ftp
-
-2004-08-09 14:36 bagder
-
- * docs/TODO: added info about my current idea about option
- separation between URLs on the command line
-
-2004-08-09 14:18 bagder
-
- * TODO-RELEASE: adding notes for 7.12.2 now, 7.12.1 is removed due
- to release ANY DAY NOW
-
-2004-08-09 14:15 bagder
-
- * docs/KNOWN_BUGS: --negotiate does not work without
- username/password, bug report #1004841
-
-2004-08-09 12:06 bagder
-
- * configure.ac: the krb4 stuff needs -lcom_err to link now, for
- some odd reason. This is possibly only on some platforms, but it
- happens on my Solaris 2.7 box and I don't know anyone else that
- regularly build curl with krb4 support.
-
-2004-08-09 10:29 bagder
-
- * lib/transfer.c: typecast the assigment of an unsigned variable to
- a signed one to prevent picky warnings
-
-2004-08-09 10:28 bagder
-
- * lib/transfer.c: ->fread() should get a size_t variable passed in
-
-2004-08-09 10:25 bagder
-
- * lib/telnet.c: made telrcv() take a ssize_t argument instead of
- int to better match other functions (and prevent warnings)
-
-2004-08-09 09:02 bagder
-
- * docs/SSLCERTS: mention the new cool CA extraction way just
- documented
-
-2004-08-06 19:44 bagder
-
- * RELEASE-NOTES: new web mirror
-
-2004-08-05 20:55 bagder
-
- * CHANGES, RELEASE-NOTES: negotiate fix and new glib/GTK+ binding
-
-2004-08-05 20:52 bagder
-
- * lib/http_negotiate.c: Enrico Scholz fixed the service name to be
- uppercase as reported in bug report #1004105
-
-2004-08-04 15:12 bagder
-
- * CHANGES, RELEASE-NOTES: multi-connect fix and cookie domain fix
-
-2004-08-04 14:38 bagder
-
- * lib/connect.c: Fixed multiple IP connects with the multi
- interface. This fix is influenced by Gisle Vanem's patch, only
- modified by me.
-
-2004-08-04 14:26 bagder
-
- * lib/cookie.c: Dylan Salisbury's fix to prevent us from accepting
- cookies from TLD only
-
-2004-07-31 22:47 bagder
-
- * RELEASE-NOTES: borland is already mentioned
-
-2004-07-31 21:47 bagder
-
- * docs/libcurl/curl_easy_reset.3: mention this is new
-
-2004-07-31 21:46 bagder
-
- * docs/libcurl/index.html: link to reset as well
-
-2004-07-31 21:46 bagder
-
- * docs/libcurl/: Makefile.am, curl_easy_reset.3: curl_easy_reset()
- documented
-
-2004-07-31 21:23 bagder
-
- * CHANGES, RELEASE-NOTES: digest fix
-
-2004-07-31 09:36 bagder
-
- * lib/http_digest.c: Joel Chen reported that we assumed content
- within quotes a bit too much in the digest code. This fixes it.
-
-2004-07-29 10:06 bagder
-
- * lib/url.c: prevent all the sig and alarm stuff when using ares
-
-2004-07-29 09:48 bagder
-
- * lib/telnet.c: fix a mingw32 build warning
-
-2004-07-29 09:37 bagder
-
- * tests/testcurl.pl: mingw32 builds make .a libs
-
-2004-07-29 09:34 bagder
-
- * lib/ssluse.c: added typecast in an attempt to fix a mingw32
- warning
-
-2004-07-29 09:30 bagder
-
- * lib/sendf.c: additional typecasts to please MIPSPro on 64bit IRIX
-
-2004-07-29 09:29 bagder
-
- * include/curl/easy.h: oops, curl_easy_reset is a void
-
-2004-07-29 09:24 bagder
-
- * ares/ares_process.c: variable type fix
-
-2004-07-29 09:20 bagder
-
- * include/curl/easy.h: provide a curl_easy_reset() proto
-
-2004-07-29 09:19 bagder
-
- * ares/windows_port.c: removed C++ comment to please picky source
- checkers
-
-2004-07-29 00:00 bagder
-
- * CHANGES, RELEASE-NOTES: fixes!
-
-2004-07-28 23:40 bagder
-
- * lib/libcurl.def: curl_easy_reset was added
-
-2004-07-28 23:27 bagder
-
- * lib/url.c: Bertrand Demiddelaer fixed the host name to get setup
- properly even when a connection is re-used, when a proxy is in
- use.
-
-2004-07-28 23:13 bagder
-
- * lib/http.c: Fixes Brian Akins' reported problems with duplicate
- Host: headers on re-used connections.
-
-2004-07-28 20:40 bagder
-
- * src/Makefile.am: use Makefile.inc and make it get included in
- dist archives
-
-2004-07-28 20:40 bagder
-
- * src/Makefile.inc: renamed CURL_HEADERS, since it is a magic
- automake name we must not use
-
-2004-07-26 17:45 bagder
-
- * tests/runtests.pl: Bertrand Demiddelaer made the testing work
- with valgrind 2.1
-
-2004-07-26 17:42 bagder
-
- * lib/cookie.c: Bertrand Demiddelaer fixed two missing newlines
-
-2004-07-26 17:30 bagder
-
- * CHANGES: -o #[num] fix
-
-2004-07-26 11:11 bagder
-
- * src/urlglob.c: using #[num] with -o now make it literally used if
- there's no globbing for that particular index. Reported in bug
- report 997536.
-
-2004-07-26 11:09 bagder
-
- * src/writeout.c: removed trailing whitespace
-
-2004-07-25 08:03 bagder
-
- * tests/testcurl.pl: libs built with libtool are named .la in the
- build dir
-
-2004-07-24 23:51 bagder
-
- * ares/CHANGES: --enable-debug builds static only, Gisle fixed a
- memory leak and more
-
-2004-07-24 23:47 bagder
-
- * ares/: ares_process.c, nameser.h, setup.h, windows_port.c: Gisle
- Vanem:
-
- Basically in loops like handle_errors(), 'query->next' was
- assigned a local variable and then query was referenced after the
- memory was freed by next_server(). I've changed that so
- next_server() and end_query() returns the next query. So callers
- should use this ret-value.
-
- The next problem was that 'server->tcp_buffer_pos' had a random
- value at entry to 1st recv() (luckily causing Winsock to return
- ENOBUFS).
-
- I've also added a ares_writev() for Windows to streamline the
- code a bit more.
-
-2004-07-24 23:43 bagder
-
- * CHANGES: autobuilds with ares and curl_easy_reset()
-
-2004-07-24 23:31 bagder
-
- * include/curl/easy.h, lib/easy.c: curl_easy_reset() added. Need
- testing and docs. I also think we should make the initial setting
- up the struct should use this single function to avoid having the
- initialisation code at two places.
-
-2004-07-24 23:29 bagder
-
- * configure.ac: AM_PROG_LIBTOOL is deprecated and AC_PROG_LIBTOOL
- should be used instead
-
-2004-07-24 23:24 bagder
-
- * tests/testcurl.pl: if --enable-ares is used, we must run
- 'buildconf' in the ares dir before we run configure.
-
-2004-07-24 23:22 bagder
-
- * ares/configure.ac: --enable-debug now makes the lib built static
- only since otherwise we get problems
-
-2004-07-24 08:29 bagder
-
- * ares/maketgz: generate the new configure better
-
-2004-07-23 20:34 bagder
-
- * ares/Makefile.in: now generated by automake
-
-2004-07-23 00:23 bagder
-
- * CVS-INFO: buildconf and memanalyze are parts of the plain release
-
-2004-07-23 00:22 bagder
-
- * Makefile.am: Added buildconf buildconf.bat to the dist
-
-2004-07-23 00:22 bagder
-
- * configure.ac: refer bug reports to the mailing lists, not the old
- email alias
-
-2004-07-23 00:20 bagder
-
- * CHANGES, RELEASE-NOTES: recent activities
-
-2004-07-23 00:18 bagder
-
- * ares/: CHANGES, Makefile.am, Makefile.in, Makefile.inc, NEWS,
- adig.c, ahost.c, ares__close_sockets.c, ares__get_hostent.c,
- ares__read_line.c, ares_cancel.c, ares_destroy.c,
- ares_expand_name.c, ares_expand_string.c, ares_fds.c,
- ares_free_hostent.c, ares_free_string.c, ares_gethostbyaddr.c,
- ares_gethostbyname.c, ares_init.c, ares_mkquery.c,
- ares_parse_a_reply.c, ares_parse_ptr_reply.c, ares_private.h,
- ares_process.c, ares_query.c, ares_search.c, ares_send.c,
- ares_strerror.c, ares_timeout.c, ares_version.c, buildconf,
- config.guess, config.sub, configure.ac, maketgz, setup.h,
- windows_port.c: - Fixed a few variable return types for some
- system calls. Made configure check for ssize_t to make it
- possible to use that when receiving the send() error code. This
- is necessary to prevent compiler warnings on some systems.
-
- - Made configure create config.h, and all source files now
- include setup.h that might include the proper config.h (or a
- handicrafted alternative).
-
- - Switched to 'ares_socket_t' type for sockets in ares, since
- Windows don't use 'int' for that.
-
- - automake-ified and libool-ified c-ares. Now it builds libcares
- as a shared lib on most platforms if wanted. (This bloated the
- size of the release archive with another 200K!)
-
- - Makefile.am now uses Makefile.inc for the c sources, h headers
- and man pages, to make it easier for other makefiles to use the
- exact same set of files.
-
- - Adjusted 'maketgz' to use the new automake magic when building
- distribution archives.
-
-2004-07-17 10:24 bagder
-
- * docs/libcurl/libcurl-multi.3: the multi interface is not so new
- anymore!
-
-2004-07-17 10:22 bagder
-
- * docs/libcurl/libcurl-multi.3: minor format fix
-
-2004-07-16 23:01 bagder
-
- * lib/transfer.c: deal with negative Content-Length: headers by
- ignoring the info
-
-2004-07-16 23:00 bagder
-
- * tests/data/: Makefile.am, test178: test downloading from a server
- claiming negative content-length
-
-2004-07-16 12:14 gknauf
-
- * lib/Makefile.b32.resp: removed Makefile.b32.resp from repository.
-
-2004-07-16 11:23 gknauf
-
- * lib/Makefile.am: removed Makefile.b32.resp from the list.
-
-2004-07-16 11:20 gknauf
-
- * lib/Makefile.b32: changed to use a temporary response file with
- tlib to give W9x a chance to build; looks ugly but works fine.
-
-2004-07-16 00:20 gknauf
-
- * Makefile.dist: added borland-ssl and borland-ssl-zlib targets.
-
-2004-07-15 23:54 gknauf
-
- * src/Makefile.b32: fixed zlib suport.
-
-2004-07-15 23:51 gknauf
-
- * lib/Makefile.b32: some more tweaks, fixed zlib suport.
-
-2004-07-15 21:36 gknauf
-
- * src/Makefile.b32: added just another switch.
-
-2004-07-15 20:17 gknauf
-
- * src/Makefile.b32: removed old CXXFLAGS; added switch to suppress
- linker banner.
-
-2004-07-15 19:21 gknauf
-
- * src/Makefile.b32: removed unneeded libs from linking.
-
-2004-07-15 11:03 bagder
-
- * CHANGES, RELEASE-NOTES: recent activities
-
-2004-07-15 04:34 gknauf
-
- * tests/testcurl.pl: added Borland support.
-
-2004-07-15 04:09 gknauf
-
- * src/Makefile.b32: made OpenSSL support conditional.
-
-2004-07-15 03:59 gknauf
-
- * lib/Makefile.b32: made OpenSSL support conditional; removed ugly
- dependence on Makefile.b32.resp.
-
-2004-07-15 03:08 gknauf
-
- * lib/config-win32.h: Gisle's fix to support Borland builds again.
-
-2004-07-14 17:33 bagder
-
- * docs/libcurl-the-guide: now known as libcurl-tutorial.3
-
-2004-07-14 17:32 bagder
-
- * docs/libcurl/libcurl-tutorial.3: Jason Nye pointed out that
- callbacks don't need to use the "C namespace"
-
-2004-07-14 16:20 bagder
-
- * tests/libtest/lib505.c: An Andres Garcia fix: add a typecast to
- make it work better
-
-2004-07-14 16:18 bagder
-
- * lib/Makefile.am, src/Makefile.am: removed the config-netware.h
- from the release archives
-
-2004-07-14 14:12 gknauf
-
- * src/Makefile.b32: some more fixes; added cw32mt.lib, winmm.lib to
- the link libs for curl.exe.
-
-2004-07-14 13:39 gknauf
-
- * Makefile.dist: changed Borland target since Borland's make doesnt
- understand '&'.
-
-2004-07-14 13:30 gknauf
-
- * src/Makefile.b32: changed to use Makefile.inc.
-
-2004-07-13 22:02 gknauf
-
- * lib/Makefile.b32.resp: updated for current cvs sources; looking
- for getting rid of this file....
-
-2004-07-13 22:01 gknauf
-
- * lib/Makefile.b32: changed to use Makefile.inc.
-
-2004-07-12 13:29 gknauf
-
- * docs/INSTALL: minor corrections.
-
-2004-07-12 01:43 gknauf
-
- * lib/makefile.dj: changed to use Makefile.inc since Gisle agreed.
-
-2004-07-11 20:14 gknauf
-
- * ares/Makefile.netware: minor cleanup.
-
-2004-07-11 19:59 gknauf
-
- * packages/NetWare/get_ver.awk: added some lines to fetch ares
- version.
-
-2004-07-11 15:49 gknauf
-
- * docs/INSTALL: updated MSVC build instructions.
-
-2004-07-11 15:49 gknauf
-
- * lib/Makefile.vc6: changed paths to external libs to recent
- versions.
-
-2004-07-11 14:31 gknauf
-
- * Makefile.dist: added new vc-zlib target.
-
-2004-07-11 14:28 gknauf
-
- * src/Makefile.vc6: removed zlib dependence from default target;
- added new zlib targets.
-
-2004-07-11 11:31 gknauf
-
- * lib/config-netware.h, src/config-netware.h: removed obsolete
- NetWare config files; we generate now config.h dynamically from
- Makefile.
-
-2004-07-11 10:30 gknauf
-
- * ares/: Makefile.netware, ares.h: added ifdef for NetWare to
- ares.h.
-
-2004-07-11 01:11 gknauf
-
- * lib/url.c: ifdef keep_sigact since its only used when SIGALRM is
- defined.
-
-2004-07-07 22:46 gknauf
-
- * lib/Makefile.netware: fixed ares linking.
-
-2004-07-06 17:17 bagder
-
- * CHANGES: file:// upload fix on windows
-
-2004-07-06 17:16 bagder
-
- * lib/file.c: Andres Garcia pointed out that we searched for a
- slash badly since it is converted and thus we must search for
- backslash on windows
-
-2004-07-06 10:08 bagder
-
- * docs/curl.1: clarify the -Q option a bit better
-
-2004-07-06 10:06 bagder
-
- * ares/FILES: mingw and netware makefiles added by Gunter Knauf
-
-2004-07-06 04:37 gknauf
-
- * tests/testcurl.pl: fixed Win32 prebuild section; fixed minor
- cosmetic bug.
-
-2004-07-06 03:52 gknauf
-
- * Makefile.dist: added vc-ssl-zlib target.
-
-2004-07-06 03:18 gknauf
-
- * src/Makefile.vc6: minor cleanup.
-
-2004-07-06 01:35 gknauf
-
- * tests/testcurl.pl: be a bit more verbose when things go wrong.
-
-2004-07-06 01:07 gknauf
-
- * tests/testcurl.pl: added additional check to avoid calling a
- non-existant external script.
-
-2004-07-06 00:35 gknauf
-
- * tests/testcurl.pl: the simple way was too simple, so added
- --mktarball option.
-
-2004-07-05 23:44 gknauf
-
- * ares/Makefile.m32: minor cosmetic fix.
-
-2004-07-05 23:41 gknauf
-
- * tests/testcurl.pl: added simple way to create a tarball just
- before the build is deleted.
-
-2004-07-05 23:32 gknauf
-
- * tests/testcurl.pl: changed to reflect recent NetWare makefile
- changes; moved call to buildconf.bat down so that it takes place
- in the build dir.
-
-2004-07-05 15:53 gknauf
-
- * ares/Makefile.m32: added MingW32 makefile.
-
-2004-07-05 15:25 gknauf
-
- * lib/Makefile.m32, src/Makefile.m32: changed to use Makefile.inc;
- made paths overwritable.
-
-2004-07-05 15:24 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: added comment.
-
-2004-07-05 13:43 bagder
-
- * docs/Makefile.am: Added README.netware to the release archive
-
-2004-07-05 04:34 gknauf
-
- * docs/README.netware: added line where to find compile
- instructions.
-
-2004-07-05 04:20 gknauf
-
- * docs/INSTALL: minor NetWare upate.
-
-2004-07-05 03:58 gknauf
-
- * ares/Makefile.netware, lib/Makefile.netware,
- src/Makefile.netware: try to relax linux build host detection.
-
-2004-07-05 03:00 gknauf
-
- * docs/README.netware: added a simple README.netware.
-
-2004-07-05 02:55 gknauf
-
- * docs/INSTALL: added section for compiling NetWare target.
-
-2004-07-05 00:20 bagder
-
- * ares/CHANGES: Günter Knauf made c-ares build and run on Novell
- Netware.
-
-2004-07-04 23:54 bagder
-
- * lib/http_ntlm.c: explicit typecasts to prevent warnings
-
-2004-07-04 23:53 bagder
-
- * lib/content_encoding.c: typecast the conversion to uInt when
- assigning z->avail_in to prevent warnings from picky compilers
-
-2004-07-04 23:48 bagder
-
- * lib/: connect.c, ftp.c: make sure the 3rd argument passed to
- bind() is a socklen_t
-
-2004-07-04 23:42 bagder
-
- * lib/ssluse.c: SSL_get_verify_result() returns a long, so we
- receive the result in a long and not an int.
-
-2004-07-04 23:38 bagder
-
- * lib/ldap.c: typecast long => int conversion
-
-2004-07-04 23:37 bagder
-
- * lib/url.c: explicit typecasts when converting from long to int to
- avoid warnings
-
-2004-07-04 23:36 gknauf
-
- * ares/ares_private.h: added NetWare section for paths.
-
-2004-07-04 23:36 bagder
-
- * lib/: url.c, urldata.h: made 'connectindex' a long variable to
- prevent compiler warnings when implicitly converting it to int
-
-2004-07-04 23:35 gknauf
-
- * ares/Makefile.netware: update to build both test apps.
-
-2004-07-04 23:35 bagder
-
- * lib/ftp.c: typecast the conversion from long to int to prevent
- picky compiler warnings
-
-2004-07-04 17:37 gknauf
-
- * lib/setup.h: removed now obsolete ifdef. Shouldnt the other
- ifdefs be inside the else as they are in ./src/setup.h ?
-
-2004-07-04 17:34 gknauf
-
- * src/setup.h: removed now obsolete ifdef.
-
-2004-07-04 17:27 gknauf
-
- * lib/getdate.c.cvs: removed abort() - sync'd with getdate.y 1.26
-
-2004-07-04 10:45 bagder
-
- * lib/Makefile.am: include the Makefile.inc file to get all sources
- and headers
-
-2004-07-04 00:25 gknauf
-
- * ares/Makefile.netware: minor fix for compiling on Linux.
-
-2004-07-03 23:48 gknauf
-
- * ares/nameser.h: added few ifdefs to make it usable for NetWare.
-
-2004-07-03 23:44 gknauf
-
- * ares/Makefile.netware: added NetWare makefile.
-
-2004-07-03 22:18 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: reverted, older gcc
- breaks compilation since it doesnt know the switch.
-
-2004-07-03 21:58 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: killed warning with
- gcc 3.3.1 and later when using -O2.
-
-2004-07-03 21:13 gknauf
-
- * src/Makefile.netware: modified to use new Makefile.inc to build
- up object list; added generation of config.h and a prebuild
- target to create all neded files.
-
-2004-07-03 20:06 gknauf
-
- * lib/Makefile.netware: modified to use new Makefile.inc to build
- up object list; added generation of config.h and a prebuild
- target to create all neded files.
-
-2004-07-03 19:49 gknauf
-
- * lib/Makefile.inc, src/Makefile.inc: added Makefile.inc which can
- be included from other makefiles to reduce maintaining.
-
-2004-07-02 16:00 bagder
-
- * docs/libcurl/libcurl-tutorial.3: I prefer CURLOPT_WRITEDATA
- before CURLOPT_FILE
-
-2004-07-02 14:48 bagder
-
- * src/main.c: snprintf instead of sprintf, better support for HUGE
- files with the -# progress bar
-
-2004-07-02 14:29 bagder
-
- * src/main.c: added typecasts to please compilers
-
-2004-07-02 14:28 bagder
-
- * src/urlglob.c: variable type cleanup to hush compilers, killed
- trailing whitespace
-
-2004-07-02 13:56 bagder
-
- * lib/progress.c: explicit typecasts to double to prevent warnings
- about implicit conversions that might lose accuracy
-
-2004-07-02 13:27 bagder
-
- * CHANGES, RELEASE-NOTES: curl_share_cleanup fix
-
-2004-07-02 13:25 bagder
-
- * lib/Makefile.am: make clean now removes getdate.c
-
-2004-07-02 11:14 bagder
-
- * docs/KNOWN_BUGS: configure --disable-http works these days
-
-2004-07-02 10:28 bagder
-
- * lib/share.c: Andrés García found out the share cleanup code
- crashes when you cleanup and there are not lock/unlock functions
- set!
-
-2004-07-01 16:06 bagder
-
- * src/main.c: typecase the argument to curl_easy_strerror() to a
- CURLcode to please picky compilers
-
-2004-07-01 15:55 bagder
-
- * ares/: CHANGES, ares_gethostbyaddr.c, ares_gethostbyname.c,
- ares_private.h, nameser.h: djgpp fixes by Gisle
-
-2004-07-01 15:54 bagder
-
- * ares/ares_process.c: Gisle's win32-fix. 'errno' is not used for
- errors when socket() fails on Windows.
-
-2004-07-01 15:53 bagder
-
- * ares/: FILES, Makefile.dj: Gisle added makefile for djgpp builds
-
-2004-07-01 14:37 bagder
-
- * CHANGES, RELEASE-NOTES: --trace fix
-
-2004-07-01 10:22 bagder
-
- * docs/TODO: make functions use size_t instead of int next major
- update
-
-2004-07-01 10:10 bagder
-
- * lib/: connect.c, escape.c, ssluse.c, telnet.c, transfer.c,
- urldata.h: Variable type cleanups to please the picky MIPSPro
- compiler.
-
-2004-07-01 09:43 bagder
-
- * lib/: ftp.c, url.c, urldata.h: variable type cleanup to fix picky
- compiler warnings
-
-2004-07-01 09:30 bagder
-
- * lib/http.c: typecast to prevent picky compiler warning
-
-2004-07-01 09:28 bagder
-
- * lib/progress.c: typecast to int when the variable is int!
-
-2004-07-01 08:59 bagder
-
- * ares/CHANGES: Gisle's djgpp magic
-
-2004-07-01 08:58 bagder
-
- * ares/: ares_init.c, ares_private.h, ares_process.c: Gisle Vanem
- made this build fine with djgpp and the Watt-32 stack.
-
-2004-07-01 08:19 bagder
-
- * src/main.c: don't close the trace stream until _after_ the easy
- handle has been cleaned up, as that can send traces too
-
-2004-07-01 08:08 bagder
-
- * lib/http.c: spellfixed comments
-
-2004-06-30 14:34 bagder
-
- * docs/examples/makefile.dj: Another Gisle update
-
-2004-06-30 14:05 bagder
-
- * lib/cookie.c: 5K array on the stack is a big hefty, it is now
- allocated with malloc instead
-
-2004-06-30 14:04 bagder
-
- * lib/ftp.c: I think 1024 bytes is enough for even most ipv6
- addresses :-)
-
-2004-06-30 13:53 bagder
-
- * lib/ssluse.c: Prevent a very long password to buffer overflow the
- global variable we use when built with a very old OpenSSL
- version.
-
-2004-06-30 13:51 bagder
-
- * lib/security.c: removed trailing whitespace, free a missing
- malloc when returning error
-
-2004-06-30 13:48 bagder
-
- * lib/if2ip.c: passing in a very long interface name could make a
- buffer overflow
-
-2004-06-30 13:34 bagder
-
- * docs/TheArtOfHttpScripting: not PIN code, pass phrase
-
-2004-06-30 13:32 bagder
-
- * lib/hostip4.c: simplified the check for when to free() the buf
- data
-
-2004-06-30 13:09 bagder
-
- * CHANGES, lib/url.c, tests/data/Makefile.am, tests/data/test514,
- tests/libtest/Makefile.am, tests/libtest/lib514.c: NOBODY set
- TRUE after a POST makes a good HEAD now
-
-2004-06-30 12:47 bagder
-
- * RELEASE-NOTES: wxcurldav
-
-2004-06-30 11:29 bagder
-
- * docs/TODO: fixed
-
-2004-06-30 11:22 bagder
-
- * lib/: connect.c, connect.h, ssluse.c: make the SSL connect use
- the same default connect timeout define as the generic connect
- uses
-
-2004-06-29 20:45 bagder
-
- * curl-style.el: Curl_addrinfo is another typedef we use frequently
-
-2004-06-29 20:44 bagder
-
- * lib/hostip4.c: Gisle fixed a bad free from the resolve reorg, I
- changed type of the buf variable to sort out some compiler
- warnings.
-
-2004-06-29 20:43 bagder
-
- * lib/config.dj, lib/makefile.dj, packages/DOS/common.dj,
- src/makefile.dj: Gisle's djgpp updates
-
-2004-06-29 20:43 bagder
-
- * docs/examples/makefile.dj: Gisle's update
-
-2004-06-29 15:20 gknauf
-
- * tests/testcurl.pl: fixed argument parsing; added --setup option.
-
-2004-06-29 15:16 bagder
-
- * docs/SSLCERTS: 'M-x ispell-buffer'
-
-2004-06-29 13:27 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE: multi interface connect fix
-
-2004-06-29 13:22 bagder
-
- * configure.ac: commented out the check for gethostbyname_r() as we
- no longer use it
-
-2004-06-29 13:21 bagder
-
- * lib/connect.h: corrected the Curl_is_connected() proto
-
-2004-06-29 13:20 bagder
-
- * lib/: connect.c, multi.c: First attempt at making the multi
- interface work when connecting to a host that resolves to
- multiple IP addresses.
-
-2004-06-29 09:58 bagder
-
- * docs/SSLCERTS: Added missing info for the command line tool, as
- noted by Mike Kienenberger
-
-2004-06-28 09:08 bagder
-
- * CHANGES, RELEASE-NOTES: --limit-rate problems on Mac OS X was
- reported by Rob Stanzel
-
-2004-06-27 23:51 bagder
-
- * CHANGES, configure.ac, src/config.h.in, src/main.c: check for a
- fine poll() before it is used to sleep subsecond
-
-2004-06-27 23:19 bagder
-
- * docs/libcurl/curl_easy_setopt.3: reset CURLOPT_CUSTOMREQUEST with
- NULL
-
-2004-06-24 17:20 bagder
-
- * CHANGES: snprintf and version
-
-2004-06-24 17:15 bagder
-
- * lib/inet_ntop.c: oops 5 bytes makes 4 letters plus zero byte
-
-2004-06-24 17:06 bagder
-
- * lib/file.c: fix warning
-
-2004-06-24 17:05 bagder
-
- * lib/hostip.c: the _num_chars() function is not used, removing
-
-2004-06-24 16:52 bagder
-
- * lib/version.c: to prevent compier warnings, we only declare len
- if we have code that uses it
-
-2004-06-24 16:40 bagder
-
- * src/main.c: Gisle: free used memory better
-
-2004-06-24 16:39 bagder
-
- * lib/: hostasyn.c, hostip.h, hostip6.c, hostthre.c: Gisle cleaned
- up remaining host resolve re-org issues
-
-2004-06-24 16:35 bagder
-
- * lib/escape.c: include header for our printfs
-
-2004-06-24 16:34 bagder
-
- * lib/config-win32.h, src/config-win32.h: reverted bad win32 fix
-
-2004-06-24 15:49 gknauf
-
- * lib/config-win32.h, src/config-win32.h: fixed the MSVC build.
-
-2004-06-24 14:07 bagder
-
- * lib/telnet.c: length limit the sscanf() parsing to prevent buffer
- overflow
-
-2004-06-24 14:01 bagder
-
- * lib/hostip4.c: ah, simplified my latest change more
-
-2004-06-24 13:58 bagder
-
- * lib/hostip4.c: fix for systems without gethostbyname_r()
-
-2004-06-24 13:54 bagder
-
- * lib/: base64.c, escape.c, file.c, formdata.c, ftp.c, hostip.c,
- http_digest.c, http_negotiate.c, inet_ntop.c, mprintf.c,
- progress.c, ssluse.c, version.c: Replaced all uses of sprintf()
- with the safer snprintf(). It is just a precaution to prevent
- mistakes to lead to buffer overflows.
-
-2004-06-24 12:43 bagder
-
- * lib/: hostip.c, hostip.h, hostip4.c, hostthre.c: made the
- Curl_he2ai() take the port number as an int intead, to avoid lots
- of typecasts all over
-
-2004-06-24 12:43 bagder
-
- * lib/http.c: use snprintf() to be on the safe side
-
-2004-06-24 11:14 bagder
-
- * lib/url.c: typecasts to prevent warnings
-
-2004-06-24 11:13 bagder
-
- * lib/connect.c: only use sockaddr_in6 on ipv6-enabled hosts
-
-2004-06-24 10:59 bagder
-
- * RELEASE-NOTES: socks proxy support even when libcurl is built
- ipv6-enabled
-
-2004-06-24 10:31 bagder
-
- * lib/hostthre.c: typecast to prevent warning
-
-2004-06-24 10:30 bagder
-
- * lib/hostip4.c: use Curl_addrinfo, not 'struct addrinfo'
-
-2004-06-24 10:09 bagder
-
- * lib/hostthre.c: fixed problems I missed to fix from my cleanup
-
-2004-06-24 10:08 bagder
-
- * lib/hostip.c: prevent warning
-
-2004-06-24 09:56 bagder
-
- * CHANGES: Yet another resolve code re-org
-
-2004-06-24 09:43 bagder
-
- * lib/: connect.c, connect.h, easy.c, formdata.c, ftp.c, hash.c,
- hash.h, hostares.c, hostasyn.c, hostip.c, hostip.h, hostip4.c,
- hostthre.c, if2ip.c, if2ip.h, krb4.c, llist.c, memdebug.c,
- mprintf.c, setup.h, telnet.c, transfer.c, url.c, urldata.h:
- Source cleanups. The major one being that we now _always_ use a
- Curl_addrinfo linked list for name resolved data, even on
- hosts/systems with only IPv4 stacks as this simplifies a lot of
- code.
-
-2004-06-23 11:08 bagder
-
- * lib/connect.c: static functions are better not Curl_ prefixed to
- make their static status more obvious
-
-2004-06-23 08:17 bagder
-
- * lib/getdate.y: When adding the return -1 to prevent warnings on
- some compilers, others started complaining since it won't be
- reached... So I removed the call to abort() and just return -1
- instead. abort() was wrong to call anyway since this is a
- library!
-
-2004-06-23 08:14 bagder
-
- * lib/connect.c: prevent a warning
-
-2004-06-23 01:56 gknauf
-
- * lib/getdate.c.cvs: one copy&paste too much, removed the define
- again.
-
-2004-06-23 01:22 gknauf
-
- * lib/getdate.c.cvs: argh - copy&paste error.
-
-2004-06-23 01:04 gknauf
-
- * lib/getdate.c.cvs: syncronized with recent getdate.y updates.
-
-2004-06-22 23:25 bagder
-
- * lib/connect.c: the hostname variable wasn't assigned and we no
- longer use it
-
-2004-06-22 23:22 bagder
-
- * CHANGES, RELEASE-NOTES: cookie size
-
-2004-06-22 23:21 bagder
-
- * tests/data/test46: extended to include a cookie with 4998 bytes
- of content
-
-2004-06-22 23:15 bagder
-
- * lib/: cookie.c, cookie.h: David Cohen pointed out that RFC2109
- says clients should allow cookies to contain least 4096 bytes
- while libcurl only allowed 2047. I raised the limit to 4999 now
- and made the used buffer get malloc()ed instead of simply
- allocated on stack as before.
-
-2004-06-22 23:12 bagder
-
- * lib/getdate.y: Günter Knauf fixed getdate.y to remove a few
- warnings. I removed the ifdef'ed test we never ever use anyway.
-
-2004-06-22 22:02 gknauf
-
- * tests/testcurl.pl: added new --target option for autobuilding
- other targets than GNU-like.
-
-2004-06-22 20:26 gknauf
-
- * Makefile.dist: added 'clean' targets for mingw32 and netware.
-
-2004-06-22 19:22 bagder
-
- * docs/libcurl/curl_easy_setopt.3: reset CURLOPT_HTTPHEADER with
- NULL
-
-2004-06-22 17:23 bagder
-
- * lib/: connect.c, url.c: Moved the "About to connect() to" text to
- the place where the host name is actually known, as before this
- text lied when used in i.e FTP.
-
-2004-06-22 10:54 bagder
-
- * CHANGES, TODO-RELEASE: Gisle Vanem improved the certificate
- wildcard checks
-
-2004-06-22 10:51 bagder
-
- * lib/ssluse.c: Gisle fixed the wildcard checks for certificates.
-
-2004-06-22 09:27 bagder
-
- * lib/getdate.y: Gunter's fix to avoid the notorious
- YYSTACK_USE_ALLOCA warning we get on several
- platforms/compilers/yacc versions.
-
-2004-06-22 09:09 bagder
-
- * tests/runtests.pl: retry to read the sent request a few times if
- it doesn't exist the first time
-
-2004-06-22 08:50 bagder
-
- * lib/transfer.c: pass an int pointer when it expects an int
- pointer...
-
-2004-06-22 08:44 bagder
-
- * tests/server/sws.c: modified some logging output
-
-2004-06-21 16:58 bagder
-
- * CHANGES, Makefile.am: testcurl.sh is dead, long live
- tests/testcurl.pl!
-
-2004-06-21 16:56 bagder
-
- * testcurl.sh: This is the old script for testing curl, now use
- tests/testcurl.pl instead. It is more portable.
-
-2004-06-21 16:20 bagder
-
- * RELEASE-NOTES: read callback return code and fixed the pycurl url
-
-2004-06-21 16:10 bagder
-
- * CHANGES: CURL_READFUNC_ABORT stuff
-
-2004-06-21 16:09 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Added blurb for the
- READFUNCTION, including the new CURL_READFUNC_ABORT return code.
-
-2004-06-21 16:08 bagder
-
- * tests/: data/Makefile.am, data/test513, libtest/Makefile.am,
- libtest/lib513.c: added test case 513
-
-2004-06-21 16:07 bagder
-
- * lib/: file.c, transfer.c, transfer.h: The read callback can now
- return CURL_READFUNC_ABORT to stop a transfer.
-
-2004-06-21 16:04 bagder
-
- * include/curl/curl.h: added CURL_READFUNC_ABORT
-
-2004-06-21 16:00 bagder
-
- * tests/server/sws.c: when the client disconnects prematurely, dump
- the request as received thus far
-
-2004-06-21 12:56 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE: recent events
-
-2004-06-21 10:37 bagder
-
- * lib/http_ntlm.c: typecasts to prevent compiler warnings
-
-2004-06-21 10:28 bagder
-
- * docs/libcurl/: index.html, libcurl-multi.3: updates
-
-2004-06-21 10:28 bagder
-
- * docs/libcurl/libcurl.3: refer to the new tutorial man page
-
-2004-06-21 10:27 bagder
-
- * docs/Makefile.am: removed libcurl-the-guide from the dist
-
-2004-06-21 10:17 bagder
-
- * docs/libcurl/: Makefile.am, libcurl-tutorial.3:
- libcurl-tutorial.3 is the former libcurl-the-guide converted to
- man page format
-
-2004-06-19 12:10 bagder
-
- * tests/data/: Makefile.am, test177: test 177 HTTP POST with
- --digest that gets a 302 response
-
-2004-06-19 12:10 bagder
-
- * lib/http.c: When doing auth negotiations or authprobing, we only
- consider HTTP code <300 to be good.
-
-2004-06-19 11:38 bagder
-
- * lib/ssluse.c: prevent compiler warning
-
-2004-06-18 15:11 bagder
-
- * docs/libcurl-the-guide: ispell-buffer
-
-2004-06-18 13:47 bagder
-
- * TODO-RELEASE: two issues to remember to fix before next release
-
-2004-06-18 08:20 bagder
-
- * CHANGES, include/curl/curl.h, lib/sendf.c, lib/ssluse.c,
- lib/url.c, src/main.c: Gisle's "SSL patch" from June 16th 2004,
- modified by me as discussed on the mailing list.
-
-2004-06-18 08:15 bagder
-
- * lib/http.c: With David Byron's test server I could repeat his
- problem and make sure that POSTing over HTTPS:// with NTLM works
- fine now. There was a general problem with multi-pass
- authentication with non-GET operations with CONNECT.
-
-2004-06-17 10:07 bagder
-
- * CHANGES, RELEASE-NOTES: large file FTP upload bug
-
-2004-06-17 10:06 bagder
-
- * tests/: ftpserver.pl, runtests.pl: new daring features, not used
- by any current test
-
-2004-06-16 11:28 bagder
-
- * lib/urldata.h: Keep the upload byte counter in an curl_off_t, not
- an int. 32bits is not enough. This is most likely the bug
- Jean-Louis Lemaire reported that makes 2GB FTP uploads to report
- error when completed. Also padded comments to get them aligned
- again, only for visibility.
-
-2004-06-16 11:05 bagder
-
- * lib/transfer.c: Alexander Krasnostavsky fixed a flaw in the 3rd
- party transfer code that didn't properly check return code.
-
-2004-06-15 13:04 bagder
-
- * CHANGES, RELEASE-NOTES: post with auth problems fixed
-
-2004-06-15 12:28 bagder
-
- * tests/: ftpserver.pl, server/sws.c: skip the pid from the logging
-
-2004-06-15 11:20 bagder
-
- * tests/data/: Makefile.am, test176: test 176, use --ntlm and POST
- when the server doesn't require any auth
-
-2004-06-15 10:50 bagder
-
- * tests/data/: Makefile.am, test175: added test case 175, use HTTP
- POST and DIGEST set but the server requires no auth
-
-2004-06-15 10:45 bagder
-
- * lib/: http.c, http.h, urldata.h: Fix the auth code to enable us
- to i.e set DIGEST and then find out that the server doesn't
- require any auth at all and then we just continue nicely. We now
- have an extra bit in the connection struct named 'authprobe' that
- is TRUE when doing pure "HTTP authentication probing".
-
-2004-06-14 23:40 bagder
-
- * lib/setup.h: we actually build and run fine with libidn 0.4.1
- too, so let's not require anything newer than that
-
-2004-06-14 16:44 bagder
-
- * docs/libcurl-the-guide: lots of multi interface description but
- also some general updates and additions
-
-2004-06-14 12:45 bagder
-
- * ares/ares_init.c: prevent compiler warnings on non-win32
- platforms
-
-2004-06-14 11:16 bagder
-
- * tests/data/: Makefile.am, test174: added test 174, HTTP POST
- --anyauth to server without auth requirements. An attempt to
- repeat a reported auth problem. Works for me!
-
-2004-06-14 10:54 bagder
-
- * CHANGES, RELEASE-NOTES: recent action
-
-2004-06-14 10:51 bagder
-
- * lib/: formdata.c, formdata.h: Allow formposting of files larger
- than what fits in memory by not reading the file until it is
- actually being uploaded. Make sure we build and still work with
- HTTP disabled - the SSL code might use the boundary string for
- some random seeding.
-
-2004-06-14 10:25 bagder
-
- * tests/runtests.pl: refuse running the torture tests without a
- debug build
-
-2004-06-13 11:08 bagder
-
- * lib/http.c: moved default: in a switch case to prevent compiler
- warning that 'request' might be used uninitialized
-
-2004-06-13 10:59 bagder
-
- * lib/formdata.c: provide curl_formfree() even when http is
- disabled, it does nothing then
-
-2004-06-13 10:33 bagder
-
- * lib/ssluse.c: use Curl_strcasestr() when checking wildcard cert
- names
-
-2004-06-13 10:32 bagder
-
- * lib/: strequal.c, strequal.h: added Curl_strcasestr() for case
- insensitive strstr() searching
-
-2004-06-11 19:27 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: removed unused
- include path.
-
-2004-06-11 17:33 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: fixed xdc generation,
- added lib target, load curl.nlm into ring3 by default.
-
-2004-06-11 14:29 bagder
-
- * src/getpass.c: Tim Sneddon made it build fine on VMS again.
-
-2004-06-11 04:29 gknauf
-
- * lib/Makefile.netware, packages/NetWare/get_ver.awk,
- src/Makefile.netware: some more makefile changes.
-
-2004-06-11 03:36 gknauf
-
- * packages/NetWare/get_ver.awk: respect CVS builds in version
- string.
-
-2004-06-11 03:04 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: some more makefile
- changes.
-
-2004-06-11 00:24 gknauf
-
- * lib/config-netware.h, src/config-netware.h: cosmetic correction.
-
-2004-06-10 23:20 gknauf
-
- * lib/nwlib.c: converted to UNIX format.
-
-2004-06-10 22:46 gknauf
-
- * src/Makefile.netware: added timeval.c to the sources for curlx_
- functions.
-
-2004-06-10 22:43 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: minor output fix.
-
-2004-06-10 22:29 gknauf
-
- * src/Makefile.netware: ups! no copy command defined.
-
-2004-06-10 22:25 gknauf
-
- * src/Makefile.netware: added generation of missing files.
-
-2004-06-10 22:12 gknauf
-
- * lib/Makefile.netware: added generation of missing files.
-
-2004-06-10 19:11 gknauf
-
- * lib/Makefile.netware, src/Makefile.netware: make include path
- overridable.
-
-2004-06-10 15:11 bagder
-
- * ares/: CHANGES, ares_init.c: Gisle Vanem's init patch for Windows
-
-2004-06-10 13:56 bagder
-
- * lib/: hostip.c, hostip.h: removed trailing whitespace
-
-2004-06-10 13:55 bagder
-
- * lib/: hostip.c, hostip.h: Gisle corrected two comments
-
-2004-06-10 13:06 bagder
-
- * lib/: connect.c, hostip.c, hostip.h, hostip6.c, hostthre.c,
- url.c: Gisle Vanem's improved verbose output and timeout handling
- when connecting to a host name that resolves to multiple IP
- addresses.
-
-2004-06-10 09:46 bagder
-
- * lib/formdata.c: build again with disabled http
-
-2004-06-10 09:17 bagder
-
- * lib/file.c: Steven Bazyl and Seshubabu Pasam pointed out a bug on
- win32 when freeing the path after a transfer.
-
-2004-06-09 10:23 bagder
-
- * lib/: easy.c, ftp.c, share.c, transfer.c, url.c: Alexander
- Krasnostavsky's fix to make libcurl build fine with configure
- --disable-http, which thus builds a libcurl without HTTP support.
-
-2004-06-09 10:22 bagder
-
- * lib/formdata.c: when built with HTTP disabled, provide a
- curl_formadd() function anyway to keep the API complete at all
- times
-
-2004-06-09 10:21 bagder
-
- * include/curl/curl.h: Added CURL_FORMADD_DISABLED when libcurl is
- built with HTTP disabled
-
-2004-06-09 10:18 bagder
-
- * docs/libcurl/curl_formadd.3: removed reference to the removed
- curl_formparse
-
-2004-06-09 10:05 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Setting CURLOPT_RANGE to NULL
- disables it. Setting CURLOPT_RESUME_FROM to 0 prevents a resumed
- transfer.
-
-2004-06-09 09:01 bagder
-
- * CHANGES, RELEASE-NOTES: recent changes
-
-2004-06-09 08:54 bagder
-
- * lib/Makefile.am: when producing curllib.dsp, include libcurl.def
- as a source file. An Alexander Krasnostavsky fix.
-
-2004-06-09 03:27 gknauf
-
- * lib/Makefile.m32: added the new source files.
-
-2004-06-09 03:15 gknauf
-
- * lib/libcurl.rc: corrected copyright.
-
-2004-06-08 23:56 bagder
-
- * src/main.c: Gisle's patch that'll allow curl to continue with the
- following URLs even if one transfer fails.
-
-2004-06-08 23:26 bagder
-
- * ares/CHANGES: fix
-
-2004-06-08 23:25 bagder
-
- * ares/ares_init.c: James Bursa fixed a RISC OS init issue, removed
- trailing whitespace
-
-2004-06-08 23:21 bagder
-
- * packages/vms/config-vms.h_with_ssl,
- packages/vms/config-vms.h_without_ssl, src/getpass.c: Marty
- Kuhrt's VMS fixes
-
-2004-06-08 17:05 gknauf
-
- * lib/config-netware.h, src/config-netware.h: corrected defines.
-
-2004-06-08 17:05 bagder
-
- * lib/connect.c: delete trailing whitespace
-
-2004-06-08 16:57 gknauf
-
- * src/config-netware.h: convert to UNIX format.
-
-2004-06-08 16:52 gknauf
-
- * lib/config-netware.h, packages/NetWare/get_ver.awk: converted to
- UNIX format.
-
-2004-06-08 16:13 bagder
-
- * include/curl/curl.h: Kjetil Jacobsen pointed out that the
- CURLOPT_FILETIME option was wrongly marked as accepting an
- objectpoint argument while it actually assumes a long. The
- comment was also grossly misleading. The man page was and is
- correct though.
-
-2004-06-08 14:23 bagder
-
- * TODO-RELEASE: time schedule for this year
-
-2004-06-07 12:28 bagder
-
- * lib/sendf.c: prevent compiler warning with picky compilers
-
-2004-06-07 10:30 bagder
-
- * acinclude.m4: Reverted the previous change and redid it
- differently as it seemed to not work. This is supposed to detect
- cross-compiling and alert the user, and not do the POSIX-check
- for strerror_r() if it already detected a glibc-compatible
- strerror_r().
-
-2004-06-07 09:01 bagder
-
- * lib/sendf.c: When sending info about which host that sends what,
- include proper direction to/from, based on a suggestion from
- Alexander Krasnostavsky
-
-2004-06-04 22:57 bagder
-
- * CHANGES: configure fix
-
-2004-06-04 21:01 bagder
-
- * acinclude.m4: 1 - do better when cross-compiling when checking
- for strerror_r() - alert the user. 2 - don't check for
- POSIX-style if glibc-style is found first
-
-2004-06-04 14:24 bagder
-
- * tests/data/: Makefile.am, test173: test 173 added: HTTP
- RFC1867-formpost a file from stdin with "faked" filename
-
-2004-06-04 09:21 bagder
-
- * sample.emacs: fixed spell, removed reference to a 'tools' subdir
- in the curl dir, as we don't have one
-
-2004-06-04 09:04 bagder
-
- * Makefile.dist: Günter Knauf's netware fix
-
-2004-06-04 09:02 bagder
-
- * lib/Makefile.netware, lib/config-netware.h, lib/libcurl.imp,
- src/Makefile.netware, src/config-netware.h: Günter Knauf's
- netware build fixes
-
-2004-06-04 08:48 bagder
-
- * TODO-RELEASE: 3rd party transfers are in CVS now
-
-2004-06-03 16:42 bagder
-
- * lib/http.c: updated a comment
-
-2004-06-03 16:41 bagder
-
- * CHANGES, RELEASE-NOTES: updates
-
-2004-06-03 16:38 bagder
-
- * tests/Makefile.am: the test targets won't invoke the test suite
- if curl is built cross-compiled. Pointed out by Chris Gaukroger.
-
-2004-06-03 16:37 bagder
-
- * configure.ac: set an automake conditional for if this is a
- cross-compile or not
-
-2004-06-03 15:03 bagder
-
- * lib/formdata.c: deleted trailing whitespace
-
-2004-06-03 13:43 bagder
-
- * docs/HISTORY: 7.12.0 introduced IDN support
-
-2004-06-03 13:41 bagder
-
- * lib/: ftp.c, http.c, sendf.c, sendf.h, transfer.c, transfer.h,
- url.c, urldata.h: Alexander Krasnostavsky's FTP third party
- transfer (proxy) support
-
-2004-06-03 13:30 bagder
-
- * docs/MANUAL: Mention the python-isque mailing list, don't mention
- the commit mailing lists as they are probably very rarely
- intresting to the "common people" anyway.
-
-2004-06-03 13:19 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLE_FAILED_INIT is returend
- when an unknown option is set
-
-2004-06-03 13:15 bagder
-
- * docs/examples/: Makefile.am, ftp3rdparty.c: Added example of how
- to use the upcoming support for FTP 3rd party transfers
-
-2004-06-03 12:42 bagder
-
- * tests/data/test168: corrected to use the proxy user name for
- proxy auth, as was just bugfixed!
-
-2004-06-03 12:42 bagder
-
- * lib/http_digest.c: Vincent Bronner made the code use the correct
- user name + password when doing proxy authentication.
-
-2004-06-03 11:20 bagder
-
- * docs/examples/: Makefile.am, getinfo.c: getinfo.c is a new tiny
- example that uses curl_easy_getinfo() to get the content-type
- after a transfer.
-
-2004-06-02 16:39 bagder
-
- * lib/easy.c: very minor format edit
-
-2004-06-02 16:06 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_PUT is deprecated
-
-2004-06-02 15:57 bagder
-
- * lib/url.c: Made CURLOPT_UPLOAD and CURLOPT_PUT mean the same
- thing internally (the previous difference was not clear nor
- documented properly). They can now both be used interchangeably,
- but we prefer UPLOAD to PUT since it is a more generic term.
-
-2004-06-02 15:51 bagder
-
- * include/curl/curl.h: *seven* new options to support 3rd party FTP
- transfers
-
-2004-06-02 13:39 bagder
-
- * include/curl/curlver.h: 7.12.1-CVS in progress
-
-2004-06-02 13:36 bagder
-
- * include/curl/curl.h, lib/config-win32.h, lib/setup.h,
- lib/timeval.h: Gisle's adjustments to allow building with
- lcc-win32
-
-2004-06-02 13:34 bagder
-
- * lib/ftp.c: Gisle made ftp_mkd static
-
-2004-06-02 13:31 bagder
-
- * RELEASE-NOTES: and we start all over again
-
-2004-06-02 11:03 bagder
-
- * CHANGES: 7.12.0
-
-2004-06-02 10:57 bagder
-
- * CHANGES, RELEASE-NOTES: more changes
-
-2004-06-01 10:33 bagder
-
- * docs/libcurl/curl_unescape.3: Renaud Duhaut corrected the
- unescaping procedure
-
-2004-06-01 10:09 bagder
-
- * lib/Makefile.vc6: David Byron made this use the mm lib by
- default, as was previously done. This might be done differently
- in the future.
-
-2004-06-01 09:03 bagder
-
- * docs/curl.1: --create-dirs clarification
-
-2004-05-28 13:16 bagder
-
- * CHANGES, RELEASE-NOTES: minor edits
-
-2004-05-28 11:56 bagder
-
- * lib/url.c: check for failing strdup()s
-
-2004-05-28 11:52 bagder
-
- * tests/server/sws.c: delete trailing whitespace
-
-2004-05-27 09:48 bagder
-
- * lib/easy.c: fixed curl_easy_duphandle() to properly clean up all
- memory if any memory function fails and it returns NULL
-
-2004-05-27 09:10 bagder
-
- * ares/ares_search.c: free() allocated memory when the ares search
- can't be made
-
-2004-05-27 09:10 bagder
-
- * ares/ares_init.c: clear the domains and sortlist when the
- 'channel' is first created so that we can compare if non-NULL
- elsewhere
-
-2004-05-27 09:09 bagder
-
- * ares/ares__get_hostent.c: better checks to avoid free(NULL)
-
-2004-05-27 08:42 bagder
-
- * ares/ares__get_hostent.c: James Bursa's fix to prevent free(NULL)
- to occur
-
-2004-05-26 16:32 bagder
-
- * TODO-RELEASE: the CONNECT issue seems fixed too now
-
-2004-05-26 13:49 bagder
-
- * lib/Makefile.vc6: Mohun Biswas added release-zlib and debug-zlib
- targets.
-
-2004-05-26 12:35 bagder
-
- * CHANGES: MSVC makefiles updated and an auth problem when using
- CONNECT
-
-2004-05-26 12:32 bagder
-
- * TODO-RELEASE: curllib.dsp works in the latest snapshots
-
-2004-05-26 11:23 bagder
-
- * RELEASE-NOTES: bugs, changes, sponsors!
-
-2004-05-26 11:19 bagder
-
- * TODO-RELEASE: updated with recent stuff
-
-2004-05-26 11:17 bagder
-
- * lib/libcurl.def: three new functions in the public API
-
-2004-05-26 11:00 bagder
-
- * docs/examples/: Makefile.am, fileupload.c: added example that
- makes an upload to a file:// url
-
-2004-05-26 10:58 bagder
-
- * docs/examples/ftpupload.c: strip trailing whitespace
-
-2004-05-26 10:54 bagder
-
- * lib/: ftp.c, http.c, url.c, urldata.h: Added a new 'bit' in the
- connect struct named 'tunnel_proxy' that is set if a connection
- is tunneled through a proxy. A tunnel is done with CONNECT,
- either when using HTTPS or FTPS, or if explicitly enabled by the
- app.
-
-2004-05-25 23:47 bagder
-
- * CHANGES, lib/file.c, lib/file.h, lib/transfer.c, lib/transfer.h,
- lib/url.c, lib/urldata.h, tests/data/Makefile.am,
- tests/data/test204, tests/data/test205: initial support for
- "uploading" to file:// URLs
-
-2004-05-25 16:44 bagder
-
- * docs/curl.1, src/main.c: --proxy-basic added for completeness
-
-2004-05-25 16:39 bagder
-
- * docs/TODO: removed some stuff that actually is done now, added
- the --optionseparator idea (not really new, but its better to
- have it mentioned in here)
-
-2004-05-25 16:28 bagder
-
- * docs/KNOWN_BUGS: Bug report #948950, excessive amount of file
- descriptors might crash libcurl
-
-2004-05-25 15:52 bagder
-
- * lib/Makefile.vc6, src/Makefile.vc6: Massimiliano Ziccardi's
- updates for the VC6 makefiles
-
-2004-05-25 14:00 bagder
-
- * lib/url.c: preprocessor magic around the libidn idn_free() stuff
- to remain workable both with older libidn versions without
- idn_free() and with libidn versions that gets installed without
- idn-free.h
-
-2004-05-25 13:59 bagder
-
- * configure.ac: checl for the idn_free stuff to remain functionall
- even with older libidn versions
-
-2004-05-25 13:13 bagder
-
- * lib/http_ntlm.c: remove trailing whitespace
-
-2004-05-25 09:51 bagder
-
- * src/main.c: make one call instead of two
-
-2004-05-24 17:16 bagder
-
- * docs/examples/Makefile.am: new example proving that the debug
- callback works even when the multi interface is used
-
-2004-05-24 17:16 bagder
-
- * docs/examples/multi-single.c: remove trailing whitespace
-
-2004-05-24 17:12 bagder
-
- * docs/examples/multi-debugcallback.c: multi interface, debug
- callback
-
-2004-05-24 15:31 bagder
-
- * src/main.c: delete trailing whitespace
-
-2004-05-24 15:27 bagder
-
- * src/main.c: if no errorbuffer string was provided when a return
- code was returned, use the curl_easy_strerror() function to
- provide one
-
-2004-05-24 15:23 bagder
-
- * docs/curl.1: IDN is a recognized feature
-
-2004-05-24 15:21 bagder
-
- * docs/curl.1: fixed a reference
-
-2004-05-24 14:12 bagder
-
- * curl-style.el: meta-m runs delete-trailing-whitespace in
- curl-mode
-
-2004-05-24 13:57 bagder
-
- * lib/curlx.h: delete trailing whitespace
-
-2004-05-24 12:46 bagder
-
- * include/curl/curl.h: delete trailing whitespace
-
-2004-05-24 11:01 bagder
-
- * tests/data/test171: better name
-
-2004-05-24 10:19 bagder
-
- * lib/url.c: only idn_free() if built with libidn
-
-2004-05-24 09:53 bagder
-
- * lib/setup.h: delete trailing whitespace
-
-2004-05-24 09:40 bagder
-
- * CHANGES, lib/setup.h, lib/url.c, lib/version.c: Simon Josefsson
- added a idn_free() function in libidn 0.4.5 as a reaction to
- Gisle's previous mail. We now use this function, and thus we
- require libidn
- 0.4.5 or later. No earler version will do.
-
-2004-05-24 09:13 bagder
-
- * CHANGES, lib/http.c, lib/url.c, lib/urldata.h,
- tests/data/Makefile.am, tests/data/test172, tests/data/test6:
- Robert D. Young reported that CURLOPT_COOKIEFILE and
- CURLOPT_COOKIE could not be used both in one request. Fixed it
- and added test case 172 to verify.
-
-2004-05-21 22:40 bagder
-
- * CHANGES, lib/cookie.c, tests/data/Makefile.am,
- tests/data/test171: While talking to host a.b.c, libcurl did
- wrongly not accept cookies that were set to the domain .a.b.c
- (that is with a dot prefix). This is now fixed and test case 171
- verifies it.
-
-2004-05-21 14:23 bagder
-
- * lib/progress.c: quickfix to avoid division by zero, possibly we
- should go over all of these once and for all
-
-2004-05-20 22:48 bagder
-
- * CHANGES: fixed transfer speed math
-
-2004-05-20 22:35 bagder
-
- * lib/progress.c: calculate upload and download speed using doubles
- to keep precision. deleted trailing whitespace
-
-2004-05-19 13:25 bagder
-
- * tests/data/test170: NTLM requires SSL
-
-2004-05-19 13:10 bagder
-
- * CHANGES, RELEASE-NOTES: cert verify
-
-2004-05-19 12:32 bagder
-
- * tests/data/Makefile.am: added test 170
-
-2004-05-19 12:31 bagder
-
- * tests/data/test170: David Byron's test case with -F that used to
- crash
-
-2004-05-19 11:25 bagder
-
- * lib/url.c: killed trailing whitespace
-
-2004-05-19 11:24 bagder
-
- * tests/libtest/lib509.c: just code formatting and killed
- whitespace
-
-2004-05-19 11:09 bagder
-
- * docs/examples/getinmemory.c: language!
-
-2004-05-19 11:08 bagder
-
- * docs/examples/getinmemory.c: Set CURLOPT_USERAGENT too
-
-2004-05-19 10:16 bagder
-
- * curl-style.el: The kill trailing whitespace needs to be set
- better as this way it takes effect globally which isn't nice.
- Commented it out for now. Display trailing whitespace still, to
- remind me.
-
-2004-05-18 12:55 bagder
-
- * buildconf: simplified all die messages
-
-2004-05-18 11:25 bagder
-
- * buildconf: simplified the automake failed message too
-
-2004-05-18 11:22 bagder
-
- * testcurl.sh: make this script tell that this is the obsolete
- version, to make it possible to detect
-
-2004-05-18 11:02 bagder
-
- * buildconf: simplified the die-line when aclocal fails, the
- previous one confused the netbsd shell
-
-2004-05-18 09:35 bagder
-
- * lib/hostasyn.c: + when storing the address in the cache fails,
- cleanup the resolved address properly + delete trailing
- whitespace
-
-2004-05-18 09:25 bagder
-
- * lib/ssluse.c: * seed_enough() was converted to a macro to avoid
- the IRIX compiler warning about that passed-in argument not being
- used. * killed trailing whitespace
-
-2004-05-18 00:07 bagder
-
- * lib/hostip.c: if shrinking the buffer fails, use the older larger
- one
-
-2004-05-18 00:01 bagder
-
- * lib/ssluse.c: Peter Sylvester's patch that addresses two flaws in
- the peer certificate name verification:
-
- - when multiple common names are used (as in the curl tests), the
- last name needs to be selected.
-
- - allow comparing with encoded values, at least with BMP and ISO
- latin1 encoded T61strings.
-
-2004-05-17 12:54 bagder
-
- * Makefile.am, tests/Makefile.am: 'make test-torture' in the root
- now runs a full torture test
-
-2004-05-17 12:53 bagder
-
- * tests/runtests.pl: removed debug output and trailing whitespace
-
-2004-05-17 12:51 bagder
-
- * tests/runtests.pl: grrr, fix the check again if no ftp server at
- all is running
-
-2004-05-17 12:39 bagder
-
- * CHANGES, RELEASE-NOTES: torture testing and a moved CVS repo
-
-2004-05-17 10:07 bagder
-
- * lib/multi.c: new Curl_done() proto
-
-2004-05-17 10:05 bagder
-
- * lib/: transfer.c, url.c, url.h: I made Curl_done() take a
- pointer-pointer in the first argument instead, and if the
- connection is killed it blanks the pointer it points to, to make
- it easier to detect usage problems whereever Curl_done() is used.
-
-2004-05-17 10:04 bagder
-
- * lib/multi.c: better bailing out on memory failure
-
-2004-05-17 10:02 bagder
-
- * tests/ftpserver.pl: When waiting for the second connect, we now
- use alarm to timeout the waiting. This is necessary in case the
- client never connects or somehow fails to do it timely. The
- timeout used now is only 2 seconds, which might cause problems on
- really slow hosts but longer times are painful when doing torture
- testing on FTP test cases.
-
- I'm not sure how this 'alarm' functionality works on Windows or
- other systems that don't actually have the alarm() function.
-
-2004-05-17 09:59 bagder
-
- * tests/runtests.pl: improved the check for our own ftp server
-
-2004-05-17 09:45 bagder
-
- * tests/libtest/: lib510.c, lib512.c: modified to not leak memory
- if a libcurl function returns failure, for better memory leak
- detection
-
-2004-05-17 09:12 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Seshubabu Pasam's format fixes
- and added notes about DER not working for some (SSL-)options.
-
-2004-05-17 08:55 bagder
-
- * tests/libtest/lib509.c: make it not leak memory when it returns
- prematurely
-
-2004-05-17 08:54 bagder
-
- * curl-style.el: automatically delete trailing white space on save
- in curl-mode
-
-2004-05-17 08:53 bagder
-
- * lib/multi.c: bail out nicely if strdup() returns NULL, removed
- trailing whitespace
-
-2004-05-17 08:50 bagder
-
- * lib/urldata.h: deleted trailing whitespace
-
-2004-05-17 08:50 bagder
-
- * lib/transfer.c: fixed a warning on IRIX, deleted trailing
- whitespace
-
-2004-05-14 13:46 bagder
-
- * lib/strerror.c: added string for the new share error code
-
-2004-05-14 11:30 bagder
-
- * include/curl/curl.h: Added CURLSHE_NOMEM
-
-2004-05-14 11:22 bagder
-
- * tests/libtest/: lib503.c, lib504.c, lib505.c, lib506.c, lib507.c:
- clean up properly on failure to enable easier libcurl leak
- detection
-
-2004-05-14 11:21 bagder
-
- * README: new cvs instructions
-
-2004-05-14 10:40 bagder
-
- * tests/libtest/: first.c, test.h: enable memory debugging the same
- way the curl command line tool already does
-
-2004-05-13 17:19 bagder
-
- * lib/ssluse.c: memory cleanup and check fix
-
-2004-05-13 17:18 bagder
-
- * lib/share.c: check that memory allocation functions truly return
- good data or bail out
-
-2004-05-13 17:17 bagder
-
- * lib/multi.c: return on memory alloc fail
-
-2004-05-13 17:17 bagder
-
- * lib/file.c: better bailing out in case of no memory
-
-2004-05-13 17:16 bagder
-
- * lib/escape.c: curl_free() doesn't free(NULL) but just returns
-
-2004-05-13 17:16 bagder
-
- * lib/easy.c: deal with input arguments as NULL
-
-2004-05-13 16:14 bagder
-
- * lib/: http_digest.c, http_digest.h: return CURLDIGEST_NOMEM when
- a memory function fails to deliver
-
-2004-05-13 16:13 bagder
-
- * lib/formdata.c: mark a value as alloced when strdup()ed to
- prevent memory leaks
-
-2004-05-13 16:12 bagder
-
- * lib/url.c: bail out when no memory occurs
-
-2004-05-13 12:40 bagder
-
- * lib/connect.c: Gisle Vamem reintroduced the verifyconnect() call
- on windows as well, and we now use it to provide more info back
- on connect failures.
-
-2004-05-13 12:38 bagder
-
- * lib/ldap.c: Gisle: minor fix
-
-2004-05-13 12:38 bagder
-
- * lib/ldap.h: no more Curl_ldap_done
-
-2004-05-13 11:01 bagder
-
- * lib/Makefile.am: Added two two missing header files I missed when
- I removed the noinst_HEADERS
-
-2004-05-13 10:23 bagder
-
- * docs/examples/Makefile.am: added https.c
-
-2004-05-13 10:22 bagder
-
- * docs/examples/https.c: basic https fetching script
-
-2004-05-13 09:52 bagder
-
- * tests/runtests.pl: made 'runtests.pl -t' run over all the tests
- just like other command lines Also made -t imply -n to disable
- valgrind, it runs sloooow otherwise.
-
- This now manages to run all tests OK up to test case 100 (the
- first FTP one) for me.
-
-2004-05-13 08:53 bagder
-
- * ares/ares_init.c: James Bursa's patch to avoid free(NULL) (mainly
- because the libcurl memdebug system thinks free(NULL) is badness)
-
-2004-05-12 15:24 bagder
-
- * lib/http_digest.c: Check that memory functions return non-NULL or
- return error.
-
-2004-05-12 15:23 bagder
-
- * lib/base64.c: make sure the returned pointer is NULL when
- encoding fails
-
-2004-05-12 15:05 bagder
-
- * lib/url.c: clean up and return better on out of memory
-
-2004-05-12 15:04 bagder
-
- * lib/escape.c: return NULL on out of memory
-
-2004-05-12 14:06 bagder
-
- * lib/: ftp.c, ftp.h, http.c, http.h, multi.c, telnet.c, telnet.h,
- transfer.c, url.c, url.h, urldata.h: Curl_done() and the
- protocol-specific conn->curl_done() functions now all take a
- CURLcode as a second argument, that is non-zero when Curl_done()
- is called after an error was returned from Curl_do() (or
- similar).
-
-2004-05-12 14:05 bagder
-
- * lib/mprintf.c: return faster when we "hit a wall" while printfing
-
-2004-05-12 14:04 bagder
-
- * lib/cookie.c: general cleanup to bail out nice and clean when a
- memory function fails to deliver
-
-2004-05-12 11:02 bagder
-
- * lib/transfer.c: even if Curl_do() fails, we must call Curl_done()
- to do proper cleaning up
-
-2004-05-12 11:02 bagder
-
- * lib/: formdata.c, formdata.h: improved cleaning up in case of
- memory allocation failures
-
-2004-05-12 10:26 bagder
-
- * lib/url.c: bail out if we can't allocate the new range string,
- and make use of aprintf() instead of using snprintf() + strdup().
-
-2004-05-12 10:22 bagder
-
- * src/: getpass.c, homedir.c, main.c, urlglob.c: Disable memdebug
- for the allocs done by the app, unless CURLTOOLDEBUG is defined
- (which it never is atm).
-
- Now, we can focus on making 'runtests -t [num]' work on all test
- cases and we should never leak nor crash.
-
-2004-05-12 10:10 bagder
-
- * docs/libcurl/curl_global_init_mem.3: new man page
-
-2004-05-12 10:00 bagder
-
- * lib/: transfer.c, urldata.h: use size_t better for buffer and
- alloc lengths
-
-2004-05-12 09:56 bagder
-
- * lib/url.c: removed another jhrg-reference in a comment
-
-2004-05-12 09:55 bagder
-
- * lib/content_encoding.c: Edited comments only.
-
-2004-05-12 09:54 bagder
-
- * lib/http_chunks.c: The Curl_unencode_XXX_write() function take a
- ssize_t as third argument, so we typecast on invoke.
-
-2004-05-12 08:27 bagder
-
- * lib/formdata.c: Left-over from before the return-code fix. This
- is probably the code that causes xlc and gcc act differently on
- AIX.
-
-2004-05-11 23:17 bagder
-
- * lib/url.c: fixed Curl_open() to not leak anything if one malloc()
- fails, fix by James Bursa only modified by me.
-
-2004-05-11 23:12 bagder
-
- * ares/: CHANGES, ares_init.c: - Nico Stappenbelt reported that
- when processing domain and search lines in the resolv.conf
- file, the first entry encountered is processed and used as the
- search list. According to the manual pages for both Linux,
- Solaris and Tru64, the last entry of either a domain or a
- search field is used.
-
-2004-05-11 20:57 bagder
-
- * tests/runtests.pl: revert the accidentally added use of strace
-
-2004-05-11 16:53 bagder
-
- * lib/transfer.c: minor leak in case of error, thanks to
- "./runtests.pl -n -t 25"
-
-2004-05-11 16:48 bagder
-
- * lib/: formdata.c, formdata.h: clear up memory on failure a little
- better
-
-2004-05-11 16:22 bagder
-
- * include/curl/curl.h: make the libidn pointer in the version
- struct a const
-
-2004-05-11 16:21 bagder
-
- * RELEASE-NOTES: they're at least 36 functions now
-
-2004-05-11 16:15 bagder
-
- * docs/libcurl/curl_version_info.3: updated to reflect reality!
-
-2004-05-11 14:22 bagder
-
- * lib/Makefile.vc6: cut out the changelog, it is far from accurate
- anyway
-
-2004-05-11 13:48 bagder
-
- * lib/libcurl.def: added curl_global_init_mem
-
-2004-05-11 13:30 bagder
-
- * CHANGES, RELEASE-NOTES, TODO-RELEASE, docs/libcurl/Makefile.am,
- docs/libcurl/curl_global_init.3, include/curl/curl.h,
- lib/Makefile.am, lib/base64.c, lib/connect.c,
- lib/content_encoding.c, lib/cookie.c, lib/easy.c, lib/escape.c,
- lib/file.c, lib/ftp.c, lib/getdate.y, lib/getenv.c,
- lib/getinfo.c, lib/hash.c, lib/hostares.c, lib/hostasyn.c,
- lib/hostip.c, lib/hostip4.c, lib/hostip6.c, lib/hostsyn.c,
- lib/hostthre.c, lib/http.c, lib/http_chunks.c, lib/http_digest.c,
- lib/http_negotiate.c, lib/http_ntlm.c, lib/if2ip.c, lib/krb4.c,
- lib/ldap.c, lib/llist.c, lib/memdebug.c, lib/mprintf.c,
- lib/multi.c, lib/netrc.c, lib/nwlib.c, lib/security.c,
- lib/sendf.c, lib/share.c, lib/ssluse.c, lib/telnet.c,
- lib/transfer.c, lib/url.c, tests/runtests.pl:
- curl_global_init_mem() allows the memory functions to be
- replaced. memory.h is included everywhere for this.
-
-2004-05-11 13:29 bagder
-
- * lib/memory.h: [no log message]
-
-2004-05-11 13:29 bagder
-
- * lib/formdata.c: Make this source code use our internal *printf().
- Also some minor edits.
-
-2004-05-11 10:10 bagder
-
- * CHANGES: Added recent events to the log
-
-2004-05-11 10:10 bagder
-
- * RELEASE-NOTES: more changes, more news, more people
-
-2004-05-11 10:09 bagder
-
- * README: another official download mirror
-
-2004-05-11 09:54 bagder
-
- * lib/: Makefile.am, msvcproj.foot, msvcproj.head: new attempt at
- an improved DSP-file generation
-
-2004-05-10 16:45 bagder
-
- * src/main.c: slightly better dealing of bad mem situations
-
-2004-05-10 16:22 bagder
-
- * lib/http.c: Moved the fetching of the list of matching cookies to
- make it easier to free that list in case something goes wrong in
- the function and we must bail out. Courtesy of the torture
- testing.
-
-2004-05-10 16:21 bagder
-
- * lib/sendf.c: curl_slist_append() fixed to clear up properly if a
- memory function fails
-
-2004-05-10 16:04 bagder
-
- * src/main.c: better detect if/when curl_slist_append() returns
- failure, and bail out accordingly
-
-2004-05-10 16:04 bagder
-
- * lib/cookie.c: if a malloc fails, clear up the memory and return
- failure
-
-2004-05-10 12:52 bagder
-
- * lib/http.c: typo
-
-2004-05-10 12:50 bagder
-
- * lib/mprintf.c: the aprintf() versions now return NULL if _any_
- alloc along the way failed, previously they could return a piece
- of the string, making it impossible for the caller to detect
- errors.
-
-2004-05-10 12:49 bagder
-
- * lib/http.c: better detection for when add_buffer() returns
- failure, and return when that happens
-
-2004-05-10 11:17 bagder
-
- * lib/hash.c: Curl_hash_add() was modified to clear up better in
- case of internal failure. When failing, it should not tamper at
- all with the data it was supposed to add to the cache.
-
-2004-05-10 11:16 bagder
-
- * src/main.c: checkpasswd() prevents segfault by checking that
- input argument is non-NULL
-
-2004-05-10 11:01 bagder
-
- * tests/runtests.pl: James Bursa's adjustments to make the -t
- option work for any test case.
-
- The -t is the "torture" test that first runs the test and counts
- the number of allocations performed during it, then it runs the
- test repeatedly over and over again and makes alloc number N fail
- to verify that we detect and return properly from error cases
- everywhere.
-
-2004-05-10 10:57 bagder
-
- * lib/llist.c: make Curl_llist_insert_next() fail properly if
- malloc() fails
-
-2004-05-10 10:57 bagder
-
- * lib/hash.c: better checking that strdup() works
-
-2004-05-10 10:09 bagder
-
- * lib/http_digest.c: Luca fixed the nc= in the digest line since it
- apparantly should not have quotes...
-
-2004-05-10 09:11 bagder
-
- * lib/formdata.c: James Bursa added better error checking for
- failer memory calls when building formposts
-
-2004-05-10 09:03 bagder
-
- * lib/: msvcproj.foot, msvcproj.head: build curllib.dsp from these
-
-2004-05-10 08:29 bagder
-
- * tests/runtests.pl: don't use -i when checking for our own server
-
-2004-05-07 22:08 bagder
-
- * CHANGES: James' and Gisle' reports/fixes
-
-2004-05-07 20:56 bagder
-
- * lib/hostares.c: James Bursa changed two error message to use the
- display-name instead of the internally-used name.
-
-2004-05-07 20:54 bagder
-
- * tests/memanalyze.pl: James Bursa's fix to make this deal with
- malloc(0) as OK to free()
-
-2004-05-07 20:46 bagder
-
- * lib/: url.c, urldata.h: We don't support any long protocol names
- so we can use a smaller buffer. Also, make sure we have room for
- the trailing zero, only scan to size-1.
-
- Gisle Vanem reported.
-
-2004-05-07 11:50 bagder
-
- * lib/formdata.c: count the formdata size using a 64bit size if
- avaialble
-
-2004-05-07 11:45 bagder
-
- * CHANGES: Made the lib/curllib.dsp file get generated automaticly
-
-2004-05-07 11:42 bagder
-
- * lib/Makefile.am: don't use a magic define name
-
-2004-05-07 11:41 bagder
-
- * lib/curllib.dsp: This file is now generated at dist-time.
-
-2004-05-07 11:41 bagder
-
- * lib/Makefile.am: Generate curllib.dsp on dist.time from
- msvcproj.head msvcproj.foot and the known source files. Not
- actually verified to work yet.
-
-2004-05-07 08:18 bagder
-
- * lib/hostares.c: get the display host name properly
-
-2004-05-06 17:17 bagder
-
- * lib/url.c: removed two odd comments
-
-2004-05-06 17:11 bagder
-
- * CHANGES, RELEASE-NOTES: little fixes
-
-2004-05-06 17:05 bagder
-
- * configure.ac: removed the warning if libidn isn't found
-
-2004-05-06 17:04 bagder
-
- * configure.ac: very minor output change
-
-2004-05-06 15:29 bagder
-
- * tests/libtest/lib506.c: simplied the creation of new urls
-
-2004-05-06 15:21 bagder
-
- * tests/server/sws.c: %ld for long
-
-2004-05-06 14:44 bagder
-
- * tests/server/sws.c: int/long fix
-
-2004-05-06 13:10 bagder
-
- * lib/hostares.c: Michael Benedict brought a fix that fills in the
- errorbuffer properly when ares fails to resolve a name. This was
- fixed before but somehow has fallen out again!
-
-2004-05-06 13:02 bagder
-
- * acinclude.m4: typo AGAIN
-
-2004-05-06 12:58 bagder
-
- * acinclude.m4: When using the icc compiler, we also ignore remark
- #1418 "external definition with no prior declaration" since this
- is a habit we have in the code.
-
-2004-05-06 12:57 bagder
-
- * tests/libtest/lib509.c: printf %s with plain 'char *', not
- unsigned ones to silence icc's picky warnings
-
-2004-05-06 12:49 bagder
-
- * acinclude.m4, lib/strerror.c: if no strerror_r prototype is
- found, we provide our own to prevent picky compilers to warn
-
-2004-05-06 09:32 bagder
-
- * lib/version.c: removed the unused 'len' variable, made use of the
- ptr pointer even if no extra lib is used to prevent compiler
- warnings ("variable set but not used") on that case
-
-2004-05-06 09:24 bagder
-
- * lib/version.c: typecast the unsigned long to plain long to
- prevent compiler warnings
-
-2004-05-06 09:22 bagder
-
- * lib/ldap.c: unused variable removed
-
-2004-05-06 09:21 bagder
-
- * lib/http_digest.c: use %ld to printf now.tv_sec
-
-2004-05-06 09:19 bagder
-
- * lib/Makefile.am: curlx.h is a header to add to the release
- archive(s)
-
-2004-05-05 22:12 bagder
-
- * tests/runtests.pl: fixed typo
-
-2004-05-05 16:34 bagder
-
- * tests/runtests.pl: Temporary disable the logic that runs gdb on a
- core dump, as it can't blindly assume that the curl file is a
- proper binary, it is often a script file produced by libtool.
-
-2004-05-05 16:22 bagder
-
- * lib/progress.c: hm, avoid division by zero more carefully with
- that new percentage math
-
-2004-05-05 16:08 bagder
-
- * lib/ldap.c: Joe Halpin fixed the warning on the typecast from
- data pointer to function pointer!
-
-2004-05-05 15:44 bagder
-
- * lib/progress.c: Gisle fixed the percentage to work, I adjusted it
- slightly to not as easily overflow on 32bit filesize-systems
-
-2004-05-05 15:42 bagder
-
- * lib/: if2ip.c, if2ip.h: Gisle-fix: constified the 'interface'
- argument.
-
-2004-05-05 15:42 bagder
-
- * lib/libcurl.def: Gisle fix: curl_formparse is gone.
-
-2004-05-05 15:41 bagder
-
- * lib/memdebug.c: Gisle fixed: don't reference 'mem' if it's NULL.
-
-2004-05-05 15:00 bagder
-
- * lib/http.c: initiate variables properly to default to no auth for
- server and proxy
-
-2004-05-05 12:26 bagder
-
- * configure.ac: AC_CHECK_TOOL is prolly better to use when checking
- for ar
-
-2004-05-05 11:20 bagder
-
- * src/writeout.c: slightly odd fix to prevent -Wunreachable-code to
- warn
-
-2004-05-05 11:17 bagder
-
- * configure.ac: alert the user if 'sed' or 'ar' couldn't be found,
- as it might very well render a build impossible
-
-2004-05-05 10:43 bagder
-
- * lib/progress.c: made the progress meter display not overflow even
- if _very_ large files are transfered. The maximum size we support
- now is 8 exabytes, which equals to 8192 petabytes...
-
-2004-05-05 09:45 bagder
-
- * lib/progress.c: if the values allow it, avoid floting point math
- for the current speed
-
-2004-05-05 09:30 bagder
-
- * src/main.c: additional typecasts in an attempt to avoid compiler
- warnings when switching from 64 bit types to 32 bit ones
-
-2004-05-05 09:20 bagder
-
- * src/main.c: removed bad free()
-
-2004-05-05 09:17 bagder
-
- * lib/url.c: do the alarm time-left math using unsigned longs since
- that is what alarm() returns and uses as input and converting to
- signed generates warnings and actually risks loss of accuracy
-
-2004-05-05 09:08 bagder
-
- * lib/url.c: fix_hostname() now (void)s the conn argument to
- prevent warnings on non-idn enabled builds
-
-2004-05-05 09:01 bagder
-
- * lib/sendf.c: ERR_error_string() returns an unsigned long so we
- should use one of those for the return code
-
-2004-05-05 08:59 bagder
-
- * acinclude.m4: gcc 3.4 now uses the -Wunreachable-code option, I
- believe we can make older ones use this too...
-
-2004-05-05 08:57 bagder
-
- * configure.ac: check the size of size_t for lib/mprintf.c
-
-2004-05-05 08:57 bagder
-
- * lib/: mprintf.c, transfer.c, url.c: prevent warnings when using
- the gcc option -Wunreachable-code
-
-2004-05-05 08:57 bagder
-
- * lib/memdebug.c: make the memlimit final NULL return get written
- to stderr as wella
-
-2004-05-05 08:12 bagder
-
- * README: mention the LICENSE-MIXING document
-
-2004-05-05 08:11 bagder
-
- * docs/: TODO, libcurl/libcurl-easy.3, libcurl/libcurl.3: minor
- update edits
-
-2004-05-05 08:11 bagder
-
- * tests/runtests.pl: added a third URL to the torture testing, this
- one also hangs at some point for a reason I don't know
-
-2004-05-04 16:36 bagder
-
- * docs/TODO: multipart formposts should be more streamy
-
-2004-05-04 16:27 bagder
-
- * lib/http.c: bail out when an add_buffer() function returns
- failure
-
-2004-05-04 15:40 bagder
-
- * lib/: hash.c, hostip.c: improved the cleaning up of memory when
- we fail to resolve names due to out of memory (thanks to
- 'runtests.pl -t')
-
-2004-05-04 15:39 bagder
-
- * lib/http.c: check malloc() return code
-
-2004-05-04 11:31 bagder
-
- * lib/formdata.c: removed more leftovers from the formparse
- function
-
-2004-05-04 10:24 bagder
-
- * CHANGES, RELEASE-NOTES, docs/TODO, docs/libcurl/Makefile.am,
- docs/libcurl/curl_formparse.3, docs/libcurl/index.html,
- include/curl/curl.h, lib/Makefile.am, lib/formdata.c: removed
- curl_formparse() from the library
-
-2004-05-04 09:54 bagder
-
- * TODO-RELEASE: Gisle made item 38, now there's only one low-prio
- task left...
-
-2004-05-04 09:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/http.c, lib/http.h,
- lib/http_digest.c, lib/http_digest.h, lib/http_ntlm.c,
- lib/transfer.c, lib/url.c, lib/urldata.h, tests/data/Makefile.am,
- tests/data/test16, tests/data/test167, tests/data/test168,
- tests/data/test169, tests/data/test503, tests/data/test63,
- tests/data/test80, tests/data/test82, tests/data/test85: General
- HTTP authentication cleanup and fixes
-
-2004-05-03 17:01 bagder
-
- * lib/ldap.c: Gisle fixed the problem with ldap_search_s() fails
- with "filter error": a case of using 'lud_filter' after freeing
- 'lud_dn'.
-
-2004-05-03 16:57 bagder
-
- * tests/data/test80: improved the name of the test
-
-2004-05-03 16:55 bagder
-
- * docs/curl.1: Added --proxy-digest, added the standard curl source
- header to this file.
-
-2004-05-03 16:40 bagder
-
- * docs/libcurl/Makefile.am: fixed the pdf and html for the strerror
- functions
-
-2004-05-03 13:56 bagder
-
- * src/main.c: Added support for --proxy-digest
-
-2004-05-03 11:17 bagder
-
- * ares/ares_init.c: don't free(NULL)
-
-2004-05-03 11:14 bagder
-
- * lib/ldap.c: Gisle Vanem:
-
- Patch for ldap.c under Windows. It works with wldap32.dll as
- supplied with Win-98/ME/2000/XP, so no extra .dlls are required.
- I've mostly tested it against Verisign's ldap server. Added code
- in the case there are to many responses (rc =
- LDAP_SIZELIMIT_EXCEEDED) and print only those we got. E.g.
-
- curl
- ldap://directory.verisign.net/?cn,display-name,mail,info?subtree?(cn=*Nelson*)
-
- will print the first 10 results.
-
- My only problem with it is that ldap_search_s() fails with
- "filter error" when CURLDEBUG is defined ?! Maybe someone can
- spot the error.
-
-2004-04-30 12:55 bagder
-
- * CHANGES: mucho
-
-2004-04-30 12:37 bagder
-
- * tests/runtests.pl: Display "exit OK" when the exit code has been
- verified to be OK, and added initial basic valgrind-log scan for
- memory leaks it could detect.
-
-2004-04-30 12:34 bagder
-
- * include/curl/curl.h: deprecated functions
-
-2004-04-30 11:17 bagder
-
- * TODO-RELEASE: 25 and 37 are now done, only two low-prio tasks
- left for the 7.12 release
-
-2004-04-30 10:52 bagder
-
- * RELEASE-NOTES: recent changes
-
-2004-04-30 10:51 bagder
-
- * lib/README.curlx: updated with more and new info
-
-2004-04-30 10:38 bagder
-
- * docs/libcurl/: curl_getenv.3, curl_mprintf.3, curl_strequal.3:
- these functions are marked to get removed from the public API
- "soon"
-
-2004-04-30 10:23 bagder
-
- * src/main.c: use the new lib/curlx.h header and modified the code
- to use all to-become- curlx_-functions with the new prefix to
- prepare this code for the future removal of several
- curl_-functions from the public libcurl API.
-
-2004-04-30 10:22 bagder
-
- * lib/curlx.h: New header file that offers easy access to the
- curlx_ functions for an app. curlx_ functions are NOT part of
- the offical API, but only available as source code functions from
- the lib directory in case of need.
-
-2004-04-30 10:03 bagder
-
- * tests/: getpart.pm, runtests.pl: support the new libcurl IDN
- feature, also a first attempt to display a stack trace if a test
- results in a 'core' file and gdb is present
-
-2004-04-30 10:00 bagder
-
- * tests/FILEFORMAT: idn is a new feature that can be made required
- for a test
-
-2004-04-30 08:46 bagder
-
- * tests/data/: Makefile.am, test166: added test 166, formpost with
- white space in file name
-
-2004-04-30 08:45 bagder
-
- * src/main.c: make the contents able to be any data, the previous
- stopped at white space
-
-2004-04-30 07:53 bagder
-
- * lib/http_digest.c: oops, a bad strtok() was fixed by Luca
-
-2004-04-30 07:51 bagder
-
- * tests/server/sws.c: include the full size of the sent response in
- the log
-
-2004-04-29 16:33 bagder
-
- * tests/memanalyze.pl: Gisle fixed the counting of calloc()s
-
-2004-04-29 15:43 bagder
-
- * tests/data/: Makefile.am, test165: Introducing IDN host name
- testing. Test case 165 requires an IDN-capable libcurl.
-
-2004-04-29 15:41 bagder
-
- * lib/: http.c, url.c: fixed the host/proxy name issue when
- re-using a connection and made IDN names work when using proxy by
- converting the IDN-name to the ACE-encoded version before the
- request-URL is passed to the proxy.
-
-2004-04-29 15:31 bagder
-
- * tests/runtests.pl: remove newline from matching pattern
-
-2004-04-29 15:24 bagder
-
- * tests/data/test153: ignore cnonce lines too as they are based on
- the current time and will differ from time to time!
-
-2004-04-29 13:57 bagder
-
- * lib/url.c: encode the correct name
-
-2004-04-29 12:58 bagder
-
- * lib/easy.c: curl_easy_duphandle() works again with ares enabled
-
-2004-04-29 12:57 bagder
-
- * tests/data/: Makefile.am, test512: test 512 does some basic
- curl_easy_duphandle() testing
-
-2004-04-29 12:56 bagder
-
- * tests/libtest/: Makefile.am, lib512.c: new test case for a simple
- curl_easy_duphandle() test
-
-2004-04-29 12:47 bagder
-
- * tests/data/test153: updated to work with the new Digest code
-
-2004-04-29 10:18 bagder
-
- * lib/: http_digest.c, urldata.h: Luca Altea's major HTTP Digest
- update
-
-2004-04-29 09:36 bagder
-
- * lib/ssluse.c: Gisle made the code use ERR_error_string_n()
-
-2004-04-28 22:34 bagder
-
- * lib/krb4.c: the new way of accessing the host name
-
-2004-04-27 20:31 bagder
-
- * docs/: LICENSE-MIXING, Makefile.am: Added LICENSE-MIXING to the
- release archive
-
-2004-04-27 17:19 bagder
-
- * lib/easy.c: IDN: Gisle Vanem made the win32 version handle a
- missing CHARSET environment and then figure it out with a
- suitable windows call.
-
-2004-04-27 17:13 bagder
-
- * lib/hostthre.c: outputed elsewhere already
-
-2004-04-27 16:22 bagder
-
- * CHANGES: idn stuff in code and configure script
-
-2004-04-27 16:22 bagder
-
- * RELEASE-NOTES: we released yesterday, we have heaps of new stuff
- today! :-)
-
-2004-04-27 16:17 bagder
-
- * lib/inet_ntop.c: provide our own inet_ntoa_r() proto if the
- system has none on its own
-
-2004-04-27 15:56 bagder
-
- * lib/: connect.c, ftp.c, hostares.c, hostthre.c, http.c,
- http_negotiate.c, ldap.c, ssluse.c, transfer.c, url.c, urldata.h:
- Made host name and proxy name get stored in a 'struct hostname'
- and set all things up to work with encoded host names internally,
- as well as keeping 'display names' to show in debug messages. IDN
- resolves work for me now using ipv6, ipv4 and ares resolving.
- Even cookies on IDN sites seem to do right.
-
-2004-04-27 14:08 bagder
-
- * configure.ac: without-libidn works too now
-
-2004-04-27 13:16 bagder
-
- * CHANGES: hugehelp.c fix, without-ssl fix
-
-2004-04-27 12:59 bagder
-
- * tests/libtest/lib504.c: make the loop use a fixed number of
- attempts to prevent eternal loops
-
-2004-04-27 09:05 bagder
-
- * docs/libcurl/: Makefile.am, curl_easy_strerror.3,
- curl_multi_strerror.3, curl_share_strerror.3, index.html,
- libcurl-errors.3: added curl_*_strerror
-
-2004-04-27 09:05 bagder
-
- * docs/index.html: added doctype tag to get HTML compliant
-
-2004-04-27 00:13 bagder
-
- * configure.ac: We now make sure to only scan for SSL options with
- pkg-config if we haven't disabled SSL with --without-ssl. This
- previously made the Makefiles use the SSL libs even though told
- not to.
-
-2004-04-26 23:15 bagder
-
- * src/: Makefile.am, mkhelp.pl: Include "setup.h" and not
- "config.h" since setup.h is made to include the correct config.h
- for the platform, and when this is done the USE_MANUAL define is
- properly known.
-
-2004-04-26 23:12 bagder
-
- * docs/curl.1: my nroff 1.18.1 complained the URL as it contains a
- nroff combo somehow and when I modified it slightly the warning
- dissappeared...
-
-2004-04-26 22:41 bagder
-
- * lib/Makefile.vc6: oops, .obj not .c!
-
-2004-04-26 17:31 bagder
-
- * configure.ac: improved libidn detection to correct the false
- positives we got
-
-2004-04-26 17:19 bagder
-
- * lib/url.c: made the verbose connect use the proper host name
- string even when using a proxy
-
-2004-04-26 17:14 bagder
-
- * lib/url.c: NI_MAXHOST is not generally available, we use plain
- 256 bytes for the hostname instead, its only for debug verbose
- output anyway
-
-2004-04-26 17:11 bagder
-
- * lib/hostip6.c: corrected mistake
-
-2004-04-26 16:18 bagder
-
- * lib/hostthre.c: Gisle fixed a mistaken check
-
-2004-04-26 16:18 bagder
-
- * lib/: connect.c, ftp.c, hostip.c, hostip.h, url.c: Made defines
- instead of plain numbers for the Curl_resolv() return code to
- make the code easier to read
-
-2004-04-26 16:06 bagder
-
- * include/curl/: curl.h, types.h: typedef CURL in the curl.h file
- instead of only having a single useful typedef in the separate
- types.h
-
-2004-04-26 16:03 bagder
-
- * lib/: hostip6.c, hostthre.c, http.c, url.c, urldata.h: IDN
- adjustments and host cleanups by Gisle
-
-2004-04-26 16:02 bagder
-
- * lib/transfer.c: no longer include curl/types.h, it serves no
- purpose
-
-2004-04-26 16:02 bagder
-
- * lib/content_encoding.c: ignore the curl/types.h header file
-
-2004-04-26 15:42 bagder
-
- * configure.ac: Moved down the ares check again to the bottom of
- the script since it modified the compiler and link options so
- nothing can be tested for after this check, as the c-ares lib
- might not have been built yet!
-
-2004-04-26 14:33 bagder
-
- * lib/Makefile.vc6: added the new files to the build
-
-2004-04-26 14:29 bagder
-
- * CHANGES, configure.ac: "configure summary"
-
-2004-04-26 14:04 bagder
-
- * tests/data/: test400, test401, test402, test403: Removed the FTPS
- test cases, they only annoy us as they don't work for anyone
- anywhere. We need to write a better ftps-server for test purposes
- and then we can re-introduced FTPS tests.
-
-2004-04-26 14:02 bagder
-
- * lib/: hostip.h, hostip4.c: Curl_ip2addr() now takes an in_addr_t
- argument instead to prevent compiler warnings
-
-2004-04-26 13:56 bagder
-
- * lib/hostares.c: removed assignment of variable never used
-
-2004-04-26 13:52 bagder
-
- * lib/ssluse.c: Tor Arntsen fixed a 'Statement not
- reachable'-warning
-
-2004-04-26 11:28 bagder
-
- * docs/libcurl/libcurl-errors.3: Kim Karlsson pointed out that
- error 57 was wrongly documented
-
-2004-04-26 09:50 bagder
-
- * lib/telnet.c: TommyTam made a patch to handle stdin redirection
- for win32.
-
-2004-04-26 09:47 bagder
-
- * TODO-RELEASE: some fixed, one removed, edited some. 7.12.0 in
- progress.
-
-2004-04-26 09:26 bagder
-
- * CHANGES: the recent commits explained
-
-2004-04-26 09:20 bagder
-
- * lib/: Makefile.am, hostares.c, hostasyn.c, hostip.c, hostip.h,
- hostip4.c, hostip6.c, hostsyn.c, hostthre.c, inet_ntop.c,
- inet_ntop.h, memdebug.h, multi.c, setup.h, url.c, url.h,
- urldata.h: Major hostip.c cleanup and split into multiple files
- and easier #ifdef usage.
-
-2004-04-26 09:14 bagder
-
- * src/main.c: supports showing "IDN" as a libcurl feature, now
- outputs the features in alphabetical order
-
-2004-04-26 09:14 bagder
-
- * lib/version.c: added libidn awareness
-
-2004-04-26 09:12 bagder
-
- * lib/transfer.c: added many comments
-
-2004-04-26 09:12 bagder
-
- * lib/strerror.c: major update of the error strings
-
-2004-04-26 09:11 bagder
-
- * lib/file.c: added comments
-
-2004-04-26 09:11 bagder
-
- * lib/: connect.c, easy.c: added function headers and comments
-
-2004-04-26 09:08 bagder
-
- * configure.ac: --with-libidn[=PATH] is now supported
-
-2004-04-26 09:04 bagder
-
- * include/curl/: curl.h, curlver.h: the next release is planned to
- become 7.12.0
-
-2004-04-26 09:03 bagder
-
- * RELEASE-NOTES: start all over again
-
-2004-04-26 08:05 bagder
-
- * CHANGES: 7.11.2 coming today
-
-2004-04-25 17:23 bagder
-
- * configure.ac: updated the warning text when SSL is explicitly
- disabled
-
-2004-04-25 17:21 bagder
-
- * src/: config-amigaos.h, config-mac.h, config-netware.h,
- config-riscos.h, config-vms.h, config-win32.h: USE_MANUAL is now
- defined by default
-
-2004-04-25 10:33 bagder
-
- * CHANGES, CHANGES.2003: moved older changes to the CHANGES.2003
- file
-
-2004-04-25 10:19 bagder
-
- * CHANGES, RELEASE-NOTES: disable-manual
-
-2004-04-25 10:13 bagder
-
- * src/: Makefile.am, mkhelp.pl: make the generated hugehelp.c file
- use the USE_MANUAL define so that it will be properly built with
- configure --disable-manual even if the source file is already
- present
-
-2004-04-24 11:33 bagder
-
- * tests/data/: Makefile.am, test164: test164 HTTP range with
- multiple ranges
-
-2004-04-23 16:10 bagder
-
- * RELEASE-NOTES: removed a memory leak when doing a windows
- threaded resolve and it failed
-
-2004-04-23 16:04 bagder
-
- * CHANGES, lib/hostip.c: Gisle Vanem found and fixed a memory leak
- when doing (failing) Windows
- threaded name resolves.
-
-2004-04-23 13:00 bagder
-
- * lib/formdata.c: only a minor comment/format change
-
-2004-04-23 12:37 bagder
-
- * lib/: formdata.c, formdata.h, http.c: Replaced
- Curl_FormReadOneLine with Curl_formpostheader as that is the only
- use for it. It saves one extra copy of the header.
-
- I also added comments for several functions in formdata.c
-
-2004-04-23 10:50 bagder
-
- * RELEASE-NOTES: o --proxy-ntlm now checks if libcurl supports
- NTLM before using it
- o minor --fail with authentication bugfix
-
-2004-04-23 10:47 bagder
-
- * CHANGES: --proxy-ntlm fix and test case 163
-
-2004-04-23 10:44 bagder
-
- * src/main.c: Made --proxy-ntlm check if the underlying library
- actually supports NTLM
-
-2004-04-23 10:40 bagder
-
- * tests/data/test9: minor format fix
-
-2004-04-23 10:40 bagder
-
- * tests/data/: Makefile.am, test163: added test 163 - a simple test
- case that use -F field<file, to verify that we can pass on "odd"
- characters (newline, CR, tab) like this.
-
-2004-04-23 10:38 bagder
-
- * tests/runtests.pl: No longer uses the valgrind option
- '--logfile-fd', we use the --logfile option instead (even though
- it appends the pid to the file name, making it harder to figure
- out its name to parse it after a test has run).
-
- Also made sure we only use valgrind for the actual test command
- command lines, not when for example running curl to detect if
- there are any already running servers are present etc.
-
-2004-04-23 08:29 bagder
-
- * include/curl/curl.h: define the obsolete options to different
- values to prevent "duplicate case" situtations in bindings that
- still have switch() cases for them
-
-2004-04-23 08:04 bagder
-
- * tests/data/test162: require SSL as otherwise NTLM doesn't work!
-
-2004-04-22 23:27 bagder
-
- * lib/http.c: missing brace
-
-2004-04-22 22:09 bagder
-
- * CHANGES: allow newlines in the contents when doing -F
- "var=[contents]" Robert Marlow reported.
-
-2004-04-22 22:07 bagder
-
- * CHANGES, lib/http.c, lib/transfer.c, lib/urldata.h,
- tests/data/Makefile.am, tests/data/test162: - David Byron found
- and fixed a small bug with the --fail and authentication stuff
- added a few weeks ago. Turns out that if you specify
- --proxy-ntlm and communicate with a proxy that requires basic
- authentication, the proxy properly returns a 407, but the
- failure detection code doesn't realize it should give up, so
- curl returns with exit code 0. Test case 162 verifies this.
-
-2004-04-22 17:26 bagder
-
- * src/main.c: allow newlines in the contents when doing -F
- "var=[contents]"
-
-2004-04-22 15:15 bagder
-
- * lib/ftp.h: removed Curl_ftp_quit() as it was turned into a static
- in ftp.c
-
-2004-04-22 15:10 bagder
-
- * CHANGES: If a transfer is found out to be only partial, libcurl
- will now treat that as a problem serious enough to skip the final
- QUIT command before closing the control connection. To avoid the
- risk that it will "hang" waiting for the QUIT response. Added
- test case 161 to verify this.
-
-2004-04-22 15:09 bagder
-
- * lib/ftp.c, tests/memanalyze.pl, tests/data/Makefile.am,
- tests/data/test161: If only a partial file was transfered, we
- consider that a fatal problem so we won't try to QUIT the control
- connection and risk "hanging" waiting for a response. Test case
- 161 verifies this. The quit-sending function was also made
- static.
-
-2004-04-22 14:35 bagder
-
- * lib/http.c: Added comments
-
-2004-04-22 12:33 bagder
-
- * tests/runtests.pl: modified how valgrind is run to make sure that
- file handle 3 exists when we tell valgrind to use that to send
- the logfile to
-
-2004-04-22 10:54 bagder
-
- * README, RELEASE-NOTES: danish mirror
-
-2004-04-21 21:35 bagder
-
- * TODO-RELEASE: Gisle's items
-
-2004-04-21 13:18 bagder
-
- * lib/hostip.c: include unistd.h as well for the close() proto on
- some platforms (like Tru64)
-
-2004-04-21 13:15 bagder
-
- * lib/getdate.y: typecast the tolower() argument to an int to
- prevent compiler warning
-
-2004-04-21 13:15 bagder
-
- * lib/url.c: typecast tolower/toupper arguments to int to make
- picky compilers complain less
-
-2004-04-21 10:56 bagder
-
- * CHANGES, TODO-RELEASE: test case 160 "should work" now
-
-2004-04-21 10:49 bagder
-
- * lib/: sendf.c, transfer.c, urldata.h: Fix the "lingering close"
- problem when re-using a connection, as test case 160 shows.
-
- We got no data and we attempted to re-use a connection. This
- might happen if the connection was left alive when we were done
- using it before, but that was closed when we wanted to read from
- it again. Bad luck. Retry the same request on a fresh connect!
-
- Deleted the sockerror variable again, it serves no purpose
- anymore.
-
-2004-04-21 10:47 bagder
-
- * lib/ftp.c: increase the headerbytecount for incoming "headers"
-
-2004-04-21 08:56 bagder
-
- * tests/server/sws.c: log the WAIT command
-
-2004-04-20 11:46 bagder
-
- * lib/hostip.c: cleanup leftovers
-
-2004-04-20 10:35 bagder
-
- * tests/data/: Makefile.am, test160: test160 - for a more
- controlled testing of the case where libcurl starts to re-use a
- connection that is closed when re-used and libcurl should then
- make a new fresh connection and use instead
-
-2004-04-20 09:53 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/http.c, lib/ssluse.c,
- lib/transfer.c, lib/url.c, lib/urldata.h: Cleaned up
- hostname/name/gname and path/ppath confusion. Removed the fixed-
- length limit of the hostname part of the URL.
-
-2004-04-20 09:52 bagder
-
- * README: new mirror and one that changed domain
-
-2004-04-20 09:36 bagder
-
- * tests/data/test91: make the first response get a "connection:
- close" header as that is how most 1.1 connections will be closed.
- The case where it gets closed anyway is subject for a new
- separate test.
-
-2004-04-19 17:20 bagder
-
- * tests/ftpserver.pl: changed the logging to work when the logfile
- is removed during testing
-
-2004-04-19 10:41 bagder
-
- * tests/data/: test154, test88: Make the server include
- "Connection: close" in the headers of the replies it actually
- will close. This is after all what HTTP 1.1 says a server should
- do.
-
-2004-04-19 09:18 bagder
-
- * lib/progress.c: Gisle Vanem corrected a mistake in a recent
- progress fix
-
-2004-04-17 13:38 bagder
-
- * tests/server/sws.c: Gisle Vanem: patches to make sws.c compile
- under MingW/MSVC is attached. And some cosmetic fixes.
-
-2004-04-17 13:33 bagder
-
- * lib/connect.c: Gisle made a failed connect output the reason for
- it
-
-2004-04-17 13:33 bagder
-
- * lib/setup.h: NDEBUG should not be defined when CURLDEBUG is
-
-2004-04-16 09:33 bagder
-
- * TODO-RELEASE: adding issue 36 to be fixed before release
-
-2004-04-16 09:02 bagder
-
- * tests/runtests.pl: don't display the . and .. files when dumping
- the log/ contents
-
-2004-04-16 09:01 bagder
-
- * tests/server/sws.c: remade the logging function to better deal
- with removed logfiles during the execution of the tests
-
-2004-04-15 17:05 bagder
-
- * TODO-RELEASE: issue 31 - fix windows multi interface is now
- corrected
-
-2004-04-15 17:05 bagder
-
- * docs/libcurl/curl_multi_fdset.3: clarified that select() timeouts
- should always remain rather short
-
-2004-04-15 16:53 bagder
-
- * CHANGES: my test suite edits
-
-2004-04-15 15:55 bagder
-
- * tests/ftpserver.pl: change the log format to look similar to sws
- added various logging info
-
-2004-04-15 15:37 bagder
-
- * tests/runtests.pl: clean the log directory between each single
- test, so that we can better display all logs and only logs with
- relevant data when a test fails and -p is used.
-
-2004-04-15 12:43 bagder
-
- * lib/ftp.c: ftp->dirs[] is no longer terminated with a zero entry
- but ftp->dirdepth should be used
-
-2004-04-15 09:52 bagder
-
- * CHANGES, RELEASE-NOTES, lib/ftp.c, lib/urldata.h,
- tests/data/test142: removed the fixed dir depth limit in the FTP
- code
-
-2004-04-14 14:13 bagder
-
- * CHANGES, RELEASE-NOTES: two ipresolve fixes
-
-2004-04-14 14:13 bagder
-
- * docs/libcurl/curl_multi_fdset.3: format fix
-
-2004-04-14 14:10 bagder
-
- * lib/hostip.c: asking for CURL_IPRESOLVE_V6 when ipv6 addresses
- can't be resolved will now cause the resolve function to return
- NULL immediately
-
-2004-04-14 14:00 bagder
-
- * src/main.c: Gisle Vanem made the -4/-6 actually get set too
-
-2004-04-14 13:43 bagder
-
- * lib/hostip.c: Curl_wait_for_resolv() could hang due to the bad
- timeout timer resolution and some bad thinking on my part.
-
-2004-04-14 09:07 bagder
-
- * CHANGES: several changes
-
-2004-04-14 09:04 bagder
-
- * tests/runtests.pl: display interesting log files on failure, if
- -p is used
-
-2004-04-14 08:53 bagder
-
- * tests/libtest/lib511.c: enable verbose as well
-
-2004-04-14 08:30 bagder
-
- * tests/: data/Makefile.am, data/test511, libtest/Makefile.am,
- libtest/lib511.c: Added test case 511 in an attempt to repeat bug
- report #934666 "storage leak in ftp.c", but it shows no leaking.
-
-2004-04-13 16:34 bagder
-
- * docs/libcurl/curl_multi_fdset.3: minor format fix
-
-2004-04-13 16:31 bagder
-
- * docs/libcurl/curl_multi_fdset.3: eh, these can't be used for
- poll()! ;-)
-
-2004-04-13 16:27 bagder
-
- * docs/libcurl/: curl_multi_add_handle.3, curl_multi_cleanup.3,
- libcurl-errors.3: additional info
-
-2004-04-13 15:59 bagder
-
- * lib/hostip.c: Gisle Vanem's fix that makes the multi interface
- work on Windows again even when not using ares.
-
-2004-04-13 13:03 bagder
-
- * RELEASE-NOTES: spell fixes
-
-2004-04-13 12:58 bagder
-
- * RELEASE-NOTES: more news
-
-2004-04-13 12:42 bagder
-
- * lib/url.c: proper typecast to prevent compiler warning
-
-2004-04-13 11:08 bagder
-
- * docs/libcurl/: curl_easy_duphandle.3, curl_easy_init.3: removed
- the BUGS section since it offers nothing good
-
-2004-04-13 09:44 bagder
-
- * ares/CHANGES: 1.2.0
-
-2004-04-13 09:37 bagder
-
- * lib/: http.c, transfer.c, url.c, urldata.h: remove an long time
- #defined struct member and use the actual "real" name instead to
- make it easier to find/read
-
-2004-04-13 09:16 bagder
-
- * lib/: connect.c, url.c, urldata.h: Moved the 'tcp_nodelay' member
- to the proper 'UserDefined' struct within the sessionhandle to
- make the duphandle() function work as supposed. Also tried to
- start document functions the doxygen way (in the headers of the
- functions). Can't make it work though...
-
-2004-04-13 08:13 bagder
-
- * TODO-RELEASE: move issue 35 (hostip.c cleanup) forward, I don't
- feel like doing that now
-
-2004-04-13 07:58 bagder
-
- * tests/Makefile.am: full-test passes -p to runtests as well to get
- more details in case of failure
-
-2004-04-13 07:57 bagder
-
- * tests/runtests.pl: Initial support for dumping the contents of
- the files in log/ when failing when -p is used. For easier
- bug-hunting of autobuild failures. This still only shows what
- files that are present in log/, as I believe we need to filter
- which files we show on a failure.
-
-2004-04-12 08:55 bagder
-
- * lib/hostip.c: somewhat safer typecasting in case sizeof(long) !=
- sizeof(void *) (is there even such platforms?)
-
-2004-04-11 22:25 bagder
-
- * lib/Makefile.vc6: David Byron's patch for MSVC builds with zlib
-
-2004-04-11 08:33 bagder
-
- * ares/FILES: updated to not include the msvc-generated files
-
-2004-04-11 08:32 bagder
-
- * ares/buildconf: when checked out from CVS, run this to generate
- the proper scripts
-
-2004-04-09 11:36 bagder
-
- * lib/: progress.c, timeval.c, timeval.h: Dirk Manske increased the
- resolution for what the CURLINFO_*_TIME return.
-
-2004-04-08 20:10 bagder
-
- * ares/ares_version.h: we're working on 1.2.0 now
-
-2004-04-07 17:01 bagder
-
- * tests/data/: Makefile.am, test159: added test 159, use --ntlm
- together with -0
-
-2004-04-07 16:27 bagder
-
- * CHANGES, README, RELEASE-NOTES, docs/KNOWN_BUGS, lib/http.c,
- lib/transfer.c, lib/urldata.h, tests/data/Makefile.am,
- tests/data/test158: getting only a 100 Continue response and
- nothing else, when talking HTTP, is now treated as an error by
- libcurl
-
-2004-04-07 16:03 bagder
-
- * docs/KNOWN_BUGS: --limit-rate using -d or -F does not work
-
-2004-04-07 09:30 bagder
-
- * lib/Makefile.am, lib/README.curlx, lib/ftp.c, lib/strtoofft.h,
- lib/transfer.c, src/main.c: renamed the strtoofft() macro to
- curlx_strtoofft() to adjust to the curlx_* concept, and added
- lib/README.curlx to explain details about it
-
-2004-04-07 09:23 bagder
-
- * src/main.c: Use curl_off_t for the limit rate values to support
- REALLY huge values on such platforms that support large files.
-
-2004-04-06 17:30 bagder
-
- * TODO-RELEASE: mention getting windows builds to work after
- rearrangements
-
-2004-04-06 17:29 bagder
-
- * TODO-RELEASE, docs/TODO: Moved long-standing issues over from
- TODO-RELEASE to the more long-term TODO file.
-
-2004-04-06 17:22 bagder
-
- * TODO-RELEASE: the memory leak on windows have been addressed
-
-2004-04-06 17:16 bagder
-
- * tests/data/test155: require ssl since ntlm needs it
-
-2004-04-06 17:14 bagder
-
- * CHANGES, RELEASE-NOTES, lib/file.c, lib/ftp.c, lib/http.c,
- lib/transfer.c, lib/url.c, lib/urldata.h, tests/data/test154,
- tests/data/test155, tests/data/test156, tests/data/test157,
- tests/data/test88: New authentication code added, particularly
- noticable when doing POST or PUT with Digest or NTLM. libcurl
- will now use HEAD to negotiate the authentication and when done
- perform the requested POST.
-
-2004-04-06 17:12 bagder
-
- * ares/CHANGES: mention the man page updates from the other day
-
-2004-04-06 17:09 bagder
-
- * lib/hostip.c: the pack_hostent() proto isn't used/needed with
- ipv6 is enabled.
-
- time to restructure this source file!
-
-2004-04-06 16:51 bagder
-
- * lib/hostip.c: Gisle Vanem's fix for bug item #927979 reported by
- Nathan O'Sullivan.
-
- Good enough?
-
-2004-04-06 16:07 bagder
-
- * lib/Makefile.am: Added the curl source header and changed some
- comments
-
-2004-04-06 14:06 bagder
-
- * CHANGES, src/Makefile.am, src/main.c: improved --limit-rate
- functionality, partly by the new use of curlx_tvnow()
-
-2004-04-06 14:02 bagder
-
- * lib/strerror.c: Gisle Vanem caught me breaking the windows
- version of Curl_strerror()
-
-2004-04-06 12:15 bagder
-
- * lib/: timeval.c, timeval.h: provide these functions as curlx_*
- ones as this enables the curl app to re-use these sources and
- functions for subsecond resolution timing
-
-2004-04-06 09:59 bagder
-
- * lib/README.ares: up-to-date with reality
-
-2004-04-06 09:49 bagder
-
- * src/config.h.in: added HAVE_GETTIMEOFDAY, we need it for better
- time resolution
-
-2004-04-06 09:48 bagder
-
- * src/urlglob.c: typecasts to please picky compilers checking the
- printf() format string
-
-2004-04-06 08:24 bagder
-
- * RELEASE-NOTES: one change, three bugs, one credit
-
-2004-04-06 08:24 bagder
-
- * CHANGES: the last couple of days
-
-2004-04-06 08:18 bagder
-
- * TODO-RELEASE: two issues to fix before 7.11.2, one issue to fix
- befor 7.12.0
-
-2004-04-06 08:06 bagder
-
- * lib/strerror.c: remove the general use of sys_nerr
-
-2004-04-05 14:38 bagder
-
- * ares/vc/: vc.ncb, vc.opt: generated files, no need to keep in CVS
-
-2004-04-02 13:04 bagder
-
- * docs/libcurl/curl_strnequal.3: prepend the man3 dir to the file
- name to work better. Robin Kay pointed this out.
-
-2004-04-02 11:56 bagder
-
- * ares/: ares_gethostbyaddr.3, ares_gethostbyname.3: edits, mainly
- to make the generated html output nicer
-
-2004-04-02 11:50 bagder
-
- * ares/: ares_destroy.3, ares_free_hostent.3, ares_mkquery.3,
- ares_process.3, ares_timeout.3: minor edits
-
-2004-04-02 09:32 bagder
-
- * lib/progress.c: Dirk Manske's feedback: * bring back subsecond
- resolution to CURLINFO_TOTAL_TIME * Fix the Curl_pgrsDone() so
- that the final progress update is shown properly
-
-2004-04-02 09:18 bagder
-
- * lib/Makefile.m32, src/Makefile.m32: Andrés García's updated mingw
- makefiles
-
-2004-04-02 08:40 bagder
-
- * docs/examples/multi-single.c: if select returns -1, bail out of
- the loop
-
-2004-04-01 12:26 bagder
-
- * configure.ac: Only check that the c-ares lib is valid if we don't
- use the "embedded" directory. The provided ares dir is probably
- up-to-date, but more importantly it is often not built yet at the
- time when this configure script runs.
-
-2004-04-01 11:10 bagder
-
- * configure.ac: When ares is enabled, we now check for the
- ares_cancel function to verify that we use a library that is
- recent enough to build with the latest libcurl.
-
-2004-04-01 10:40 bagder
-
- * lib/hostip.c: Dirk Manske's fix that makes sure we cancel the
- ares resolve when we time out from a name resolve. Without this,
- we leak memory!
-
-2004-04-01 10:25 bagder
-
- * ares/: CHANGES, Makefile.in, ares.h, ares_cancel.3,
- ares_cancel.c: Dirk Manske's ares_cancel() function was added.
-
-2004-04-01 10:25 bagder
-
- * ares/README.cares: edited slightly, point out our new mailinglist
-
-2004-04-01 10:23 bagder
-
- * ares/maketgz: remind us about cvs tagging when we've built a
- release archive
-
-2004-04-01 09:04 bagder
-
- * lib/hostip.c: removed my previously attempted fix for ares
- timeouts, not needed
-
-2004-04-01 08:53 bagder
-
- * acinclude.m4: Applied Joe Halpin's bugfixes to the NI_WITHSCOPEID
- test program.
-
-2004-04-01 08:10 bagder
-
- * ares/: ares_mkquery.3, ares_parse_a_reply.3,
- ares_parse_ptr_reply.3, ares_send.3: Dominick Meglio man page
- fixes
-
-2004-03-31 23:33 bagder
-
- * lib/: ftp.c, url.c: Use the new HAVE_NI_WITHSCOPEID define
- instead of merely checking for the existance of NI_WITHSCOPEID
- since some platforms have that define but still can't function
- with it set.
-
-2004-03-31 23:04 bagder
-
- * TODO-RELEASE: issue 30, digest re-negotiate works now!
-
-2004-03-31 23:03 bagder
-
- * CHANGES: recent changes
-
-2004-03-31 23:01 bagder
-
- * RELEASE-NOTES: updates and David Byron's spellfix
-
-2004-03-31 22:50 bagder
-
- * lib/hostip.c: Roy Shan fixed a case that prevented ares name
- resolve timeouts to occur.
-
-2004-03-31 22:22 bagder
-
- * include/curl/curlver.h: we're working on 7.11.2-CVS right now
-
-2004-03-31 22:13 bagder
-
- * acinclude.m4: HAVE_NI_WITHSCOPEID spelled right!
-
-2004-03-31 15:19 bagder
-
- * lib/hostip.c: Remove the elapsed time from the most recent
- select() only.
-
-2004-03-31 14:55 bagder
-
- * lib/hostip.c: The asynch name resolve methods now all use
- CURL_TIMEOUT_RESOLVE for the specific time to wait for a resolve.
- The definition is at the top of this source file.
-
-2004-03-31 14:45 bagder
-
- * lib/hostip.c: Dirk Manske found out the Curl_wait_for_resolv()
- timed out too early.
-
-2004-03-31 14:24 bagder
-
- * tests/FILEFORMAT: added swsbounce
-
-2004-03-31 13:55 bagder
-
- * lib/http_digest.c: added include to fix warning
-
-2004-03-31 13:55 bagder
-
- * lib/http_digest.c: * Fixed a memory leak when doing repeated
- re-negotiations. * Made the incoming line parser more forgiving
- to allow "name=contents" pairs where the contents isn't within
- double quotes. * Made the digest code return CURLDIGEST_BADALGO
- if a requested algorithm isn't supported by the code.
-
-2004-03-31 13:51 bagder
-
- * tests/data/: Makefile.am, test153: test 153 tests Digest
- authorization and stale=true stuff
-
-2004-03-31 13:50 bagder
-
- * tests/server/sws.c: Added "swsbounce" magic: if this keyword is
- present in a <data> section it sets the "swsbounce" magic mode.
- If there follows a request for the SAME test number and the SAME
- part number, this mode will make the server bump the part number
- internally and thus return a different <dataNUM> section than it
- otherwise would.
-
- Test case 153 uses this in case you need an example. It is pretty
- involved and hard-to-use, but then the situation is pretty
- special over all. Enjoy.
-
-2004-03-31 12:59 bagder
-
- * lib/ftp.c: Moved the NI_WITHSCOPEID magic #ifdef to the top of
- the file and made sure we use the NIFLAGS properly on both places
- in the code that use getnameinfo().
-
-2004-03-31 12:46 bagder
-
- * lib/url.c, tests/data/test63: Fixed how the user name is
- extracted from http_proxy environment variable when set.
-
-2004-03-31 12:34 bagder
-
- * acinclude.m4, lib/connect.c: Andrés García fixed a warning in the
- ioctlsocket() usage.
-
-2004-03-31 12:31 bagder
-
- * acinclude.m4: modified the NI_WITHSCOPEID to use an AF_INET6
- socket immediately and added some more debug output to make it
- easier to detect failure reasons in the autobuild logs
-
-2004-03-31 11:20 bagder
-
- * lib/http_digest.h: CURLDIGEST_BADALGO is a new return code from
- the digest code
-
-2004-03-31 08:10 bagder
-
- * ares/ares_strerror.c: Dominick Meglio fixed a missing comma
-
-2004-03-30 17:35 bagder
-
- * docs/KNOWN_BUGS: one issue less
-
-2004-03-30 15:05 bagder
-
- * lib/connect.c: typecast setsockopt()'s 4th argument to void * to
- make compilers complain less
-
-2004-03-30 15:02 bagder
-
- * lib/: easy.c, hostip.h, http.c, multi.c, share.c: adjusted to the
- new dns cache function to hide more hostip internals
-
-2004-03-30 15:02 bagder
-
- * lib/hostip.c: Lots of comments added an clarified. Added timeout
- for the ares version of Curl_is_resolved() to address Roy Shan's
- reported problem.
-
-2004-03-30 15:00 bagder
-
- * lib/urldata.h: added stale boolean to the digest struct
-
-2004-03-30 15:00 bagder
-
- * lib/http_digest.c: first attempt to support stale=true
-
-2004-03-30 12:35 bagder
-
- * acinclude.m4, configure.ac: Added CURL_CHECK_NI_WITHSCOPEID that
- checks if NI_WITHSCOPEID exists and works. No code actually uses
- the HAVE_NI_WITHSCOPEID (that a positive test results in), but
- this is still only for testing purposes.
-
-2004-03-30 11:06 bagder
-
- * ares/: CHANGES, Makefile.in, ares.h, ares_expand_string.3,
- ares_expand_string.c, ares_free_string.3, ares_strerror.c:
- Dominick Meglio's new ares_expand_string() function
-
-2004-03-30 10:28 bagder
-
- * buildconf: when checking the automake version, cut off trailing
- "-p[whatever]" from the version string before doing the version
- number checks.
-
-2004-03-30 10:21 bagder
-
- * lib/http.c: if 0'ed out a code section that uses __FUNCTION__
- etc, used for debugging the new "fail with auth" code
-
-2004-03-30 10:14 bagder
-
- * lib/multi.c: init the dns pointer to NULL for clarity
-
-2004-03-30 10:11 bagder
-
- * lib/timeval.c: added more comments for what the functions return
-
-2004-03-30 08:46 bagder
-
- * docs/SSLCERTS: mention the fact that you can append a new CA cert
- to the existing bundle too
-
-2004-03-30 08:42 bagder
-
- * CHANGES: David Byron's patch was appplied to make
- CURLOPT_FAILONERROR work nicely even with authentcations such as
- NTLM or Digest enabled. Test cases 150, 151 and 152 were added to
- verify the functionality.
-
-2004-03-30 08:41 bagder
-
- * tests/data/: Makefile.am, test150, test151, test152: David
- Byron's new test cases for the --fail and auth stuff.
-
-2004-03-30 08:40 bagder
-
- * lib/: http.c, http.h, transfer.c: David Byron made
- CURLOPT_FAILONERROR work with authentications such as NTLM or
- Digest.
-
-2004-03-30 08:39 bagder
-
- * lib/: http_ntlm.c, http_ntlm.h: 'authdone' was added to the
- sessionhandle and thus was removed from the argument to the NTLM
- function(s)
-
-2004-03-30 08:38 bagder
-
- * lib/urldata.h: David Byron added 'authdone' to the SessionHandle.
-
-2004-03-30 00:45 bagder
-
- * src/: curlmsg.h, curlmsg.msg, curlmsg.sdl, curlmsg_vms.h: these
- are now in the packages/vms dir
-
-2004-03-29 23:29 bagder
-
- * lib/hostip.c: The select() timeout is better not static since
- some implementation actually might change it. I don't *think* it
- does it when the timeout is 0,0 but it is better to be sure...
-
-2004-03-29 15:46 bagder
-
- * TODO-RELEASE: issue 24 is fixed by making sure the time fields
- use a static width
-
-2004-03-29 15:46 bagder
-
- * RELEASE-NOTES: several noticable recent changes
-
-2004-03-29 15:45 bagder
-
- * CHANGES: changes changes changes
-
-2004-03-29 14:38 bagder
-
- * tests/Makefile.am: All test targets now run 'make all' before
- they prcoeed with the actual testing so that all test files are
- build first properly. David Byron reported.
-
-2004-03-29 14:29 bagder
-
- * lib/config.dj, lib/makefile.dj, packages/DOS/README,
- packages/DOS/common.dj, src/main.c, src/makefile.dj,
- src/writeenv.c: Gisle Vanem's djgpp/MS-DOS updates
-
-2004-03-29 11:26 bagder
-
- * tests/runtests.pl: fix to figure out the "real" windows path when
- built and run with mingw Andrés García helped out!
-
-2004-03-29 09:25 bagder
-
- * lib/strerror.c: re-indented to use curl-standard source
- formatting
-
-2004-03-29 08:22 bagder
-
- * configure.ac, lib/connect.c: netinet/tcp.h may require
- netinet/in.h to be include before
-
-2004-03-28 23:41 bagder
-
- * docs/examples/postit2.c: use the correct struct
-
-2004-03-27 12:15 bagder
-
- * lib/connect.c: Tor fixed a left-over from the ip argument to
- setnodelay
-
-2004-03-26 14:47 bagder
-
- * lib/setup.h: Gisle Vanem:
-
- A patch to bypass MS' sillyness with regard to IPv6 and
- getaddrinfo().
-
- The CURLDEBUG part is to avoid redefinition warning caused by
- memdebug.h. If ENABLE_IPV6 isn't enabled, it doesn't matter since
- we never call getaddrinfo(). Allthough we could to support weird
- protocols like SOCK_RDM that Win-2K/XP has.
-
-2004-03-26 14:20 bagder
-
- * docs/MANUAL: some more password blurb
-
-2004-03-26 08:10 bagder
-
- * configure.ac, lib/connect.c: check for netinet/tcp.h precense
- before actually including it
-
-2004-03-26 08:03 bagder
-
- * lib/connect.c: removed the ip number from the notcpdelay function
-
-2004-03-25 17:03 bagder
-
- * configure.ac: get the version number from the new curlver.h
- header file
-
-2004-03-25 16:48 bagder
-
- * configure.ac: localtime and gmtime are not thread-safe on newer
- AIXes either so we force a check for there *_r-versions too
-
-2004-03-25 16:10 bagder
-
- * configure.ac: force recent AIX versions to check for strerror_r
-
-2004-03-25 15:01 bagder
-
- * lib/connect.c: only output one line about the nodelay even if it
- fails
-
-2004-03-25 14:43 bagder
-
- * lib/strerror.c: win32 doesn't need and even doesn't build if we
- extern declare sys_nerr
-
-2004-03-25 14:42 bagder
-
- * lib/: connect.c, ftp.c, strerror.c: include the strerror.h file
- without curl_ prefix
-
-2004-03-25 14:40 bagder
-
- * lib/Makefile.vc6: strerror without prefix
-
-2004-03-25 14:40 bagder
-
- * lib/: Makefile.am, curl_strerror.c, curl_strerror.h, strerror.c,
- strerror.h: cut off 'curl_' from the strerror file names
-
-2004-03-25 14:37 bagder
-
- * docs/curl.1, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/connect.c, lib/url.c, lib/urldata.h,
- src/main.c: tcp-nodelay patch by Joe Halpin
-
-2004-03-25 13:45 bagder
-
- * lib/curl_strerror.c: so there are at least two different
- strerror_r() versions and our brand new configure script detects
- them and now this code acts according to what API that was
- detected
-
-2004-03-25 13:16 bagder
-
- * tests/testcurl.pl: Tor Arntsen fixed how this is invoked
-
-2004-03-25 13:15 bagder
-
- * acinclude.m4: strerror_r() detection changes: 1. Try with
- _THREAD_SAFE instead of _REENTRANT, as AIX seems to require it
- and if _REENTRANT is required we should already have it set since
- one of the previous tests. 2. Added API-detection for what
- kind of strerror_r() that is provided. The POSIX style or the
- glibc style.
-
- Tor Arntsen provided the necessary feedback these changes are
- based upon.
-
-2004-03-25 12:39 bagder
-
- * tests/testcurl.pl: detect daily snapshots using the new path for
- this test
-
-2004-03-25 12:34 bagder
-
- * include/curl/Makefile.am: make clean now removes *dist files too
- that might be leftovers from 'maketgz'
-
-2004-03-25 09:22 bagder
-
- * tests/testcurl.pl: invoke this script via env, as it is more
- likely to exist at a fixed path while perl often is installed in
- /usr/local/bin or elsewhere
-
-2004-03-25 08:53 bagder
-
- * lib/Makefile.vc6: added curl_strerror to the build
-
-2004-03-25 08:52 bagder
-
- * lib/curl_strerror.c: extern declare the sys_nerr variable.
- Required on Solaris at least.
-
-2004-03-25 08:33 bagder
-
- * lib/curl_strerror.c: Always include setup.h as the first header
- file. Added a more verbose comment about what strerror_r() can
- set errno to in case of failure. This file still doesn't build
- on Solaris due to a missing 'sys_nerr' symbol.
-
-2004-03-24 23:53 bagder
-
- * include/curl/: curl.h, multi.h: Added protos for the upcoming
- curl_*_strerror() functions
-
-2004-03-24 23:46 bagder
-
- * lib/Makefile.am: missed the new header file
-
-2004-03-24 23:45 bagder
-
- * lib/: Makefile.am, connect.c, curl_strerror.c, ftp.c, urldata.h:
- Gisle Vanem's fix to replace the bad use of strerror(). This
- introduces Curl_strerror() that attempts to be thread-safe _and_
- works on Windows too!
-
-2004-03-24 23:43 bagder
-
- * lib/curl_strerror.h: new header file - for Curl_strerror()
-
-2004-03-24 23:24 bagder
-
- * curl-style.el: better comments, added some more variable types we
- use in the font-lock
-
-2004-03-24 22:40 bagder
-
- * docs/libcurl/: curl_easy_getinfo.3, curl_easy_init.3,
- curl_easy_setopt.3, curl_formadd.3, curl_getdate.3,
- curl_mprintf.3, curl_multi_info_read.3, curl_multi_init.3,
- curl_multi_perform.3, curl_share_init.3, libcurl-easy.3,
- libcurl-errors.3, libcurl-multi.3, libcurl.3: Tor Arntsen's major
- ispell patch
-
-2004-03-24 22:28 bagder
-
- * tests/testcurl.pl: Tor Arntsen's mkdir-fix to make this run with
- perl 5.0005
-
-2004-03-24 11:52 bagder
-
- * tests/testcurl.pl: Avoid doing chdir .., as it breaks the ability
- to use symlinks properly. chdir to absolute directory names
- instead. (this flaw exists in the shell version too)
-
-2004-03-24 09:45 bagder
-
- * acinclude.m4, configure.ac: added check for strerror_r()
-
-2004-03-24 08:27 bagder
-
- * src/version.h: include curl/curlver.h instead since this only
- needs the version defines
-
-2004-03-23 17:12 bagder
-
- * CHANGES: error messages and new test script
-
-2004-03-23 17:12 bagder
-
- * RELEASE-NOTES: we are progressing
-
-2004-03-23 17:11 bagder
-
- * tests/Makefile.am: distribute testcurl.pl too starting now
-
-2004-03-23 17:07 bagder
-
- * tests/testcurl.pl: Greg Hewgill's version of testcurl.sh
- rewritten in perl for greater portability. I put it in this
- directory instead of the root since I think perhaps it makes more
- sense.
-
-2004-03-23 17:01 bagder
-
- * lib/urldata.h: keep current_speed as an curl_off_t for better
- precision at higher speeds if large file support is available
-
-2004-03-23 16:48 bagder
-
- * lib/connect.c: switch() on the right variable!
-
-2004-03-23 16:30 bagder
-
- * lib/netrc.c: curl_strequal() returns int, keep return variables
- in an int
-
-2004-03-23 16:28 bagder
-
- * lib/telnet.c: make the variables that hold the result of strlen()
- size_t
-
-2004-03-23 16:25 bagder
-
- * lib/mprintf.c: stricter variable type usage
-
-2004-03-23 16:20 bagder
-
- * lib/ssluse.c: variable type usage cleanup to please picky
- compilers
-
-2004-03-23 16:14 bagder
-
- * lib/getdate.y: get strlen() results in a size_t, delete
- 'register'
-
-2004-03-23 16:06 bagder
-
- * lib/progress.c: made time2str() use longs internally instead to
- prevent compiler warnings when converting to ints
-
-2004-03-23 16:01 bagder
-
- * lib/progress.c: added explicit typecasts to prevent compiler
- warnings on variable conversions
-
-2004-03-23 15:43 bagder
-
- * lib/connect.c: If localbind fails, provide a more portable error
- message.
-
-2004-03-23 15:34 bagder
-
- * packages/Win32/cygwin/README: minor update by Kevin
-
-2004-03-23 15:29 bagder
-
- * maketgz: src/version.h was not properly made!
-
-2004-03-23 12:52 bagder
-
- * CHANGES: progress meter fix, CURLINFO_CONTENT_LENGTH_DOWNLOAD
- fix, cygwin package fix
-
-2004-03-23 12:46 bagder
-
- * lib/progress.c: it actually fits to make a NNNd NNh display so
- this can be used up to 999 days
-
-2004-03-23 12:43 bagder
-
- * lib/progress.c: Fixed the time fields no never get wider than 8
- letters. They can now switch to a "days + hours" or even "just
- days" display if the time value is very large. I also switched
- several calculations over to fixed-point instead of the previous
- doubles.
-
-2004-03-23 10:12 bagder
-
- * src/: urlglob.c, urlglob.h: int/size_t cleanup
-
-2004-03-23 09:50 bagder
-
- * tests/server/: getpart.c, getpart.h, sws.c: minor variable type
- cleanups
-
-2004-03-23 09:46 bagder
-
- * tests/libtest/lib506.c: minor edits to make picky compilers whine
- less
-
-2004-03-23 09:42 bagder
-
- * ares/ares_gethostbyaddr.c: changed the long to int typecasts to
- see if icc 8.0 complains less on this
-
-2004-03-22 23:38 bagder
-
- * lib/transfer.c: Makes CURLINFO_CONTENT_LENGTH_DOWNLOAD work even
- if CURLOPT_NOBODY is set true.
-
-2004-03-22 23:24 bagder
-
- * packages/Win32/cygwin/: Makefile.am, README: Kevin Roth's updates
- to handle a new requirement from the Cygwin folks to package man
- and doc files in a slightly different location.
-
-2004-03-22 22:46 bagder
-
- * packages/vms/: ia64/README, vax/README: crap files to get the
- dirs made when checked out from CVS
-
-2004-03-22 22:42 bagder
-
- * packages/vms/axp/README: container to get this dir made
-
-2004-03-22 22:37 bagder
-
- * packages/vms/Makefile.am: Make the axp/README ia64/README
- vax/README files get included as well. They're 0-bytes files,
- but make the dirs get created!
-
-2004-03-22 14:56 bagder
-
- * docs/KNOWN_BUGS: fixed the ntlm problem with longish passwords
-
-2004-03-22 14:56 bagder
-
- * TODO-RELEASE: vms fixes committed
-
-2004-03-22 14:50 bagder
-
- * CHANGES, TODO-RELEASE, lib/http_ntlm.c, tests/data/test67,
- tests/data/test68, tests/data/test69, tests/data/test81,
- tests/data/test89, tests/data/test90, tests/data/test91: Enabled
- 'NT responses' in the NTLM type-3 message.
-
-2004-03-22 12:32 bagder
-
- * lib/curllib.dsp: fixed /I "." for the debug build too
-
-2004-03-22 12:26 bagder
-
- * lib/curllib.dsp: add /I "." to include ca-bundle.h properly
-
-2004-03-22 11:22 bagder
-
- * TODO-RELEASE: issue 27 fixed, moved libcurl version defines to
- its own header file
-
-2004-03-22 09:54 bagder
-
- * lib/libcurl.rc: include the new curlver instead, since all this
- wants is the version info
-
-2004-03-22 09:37 bagder
-
- * maketgz, include/curl/Makefile.am, include/curl/curl.h,
- include/curl/curlver.h: Introducing curl/curlver.h for keeping
- the curl version info only.
-
-2004-03-21 23:50 bagder
-
- * packages/vms/Makefile.am: files moved here from the $ROOT/src dir
-
-2004-03-21 23:49 bagder
-
- * src/Makefile.am: removed deleted files
-
-2004-03-21 23:44 bagder
-
- * lib/setup.h, src/setup.h: Marty Kuhrt's adjustments for a cleaner
- VMS build
-
-2004-03-21 23:38 bagder
-
- * packages/vms/: batch_compile.com, build_vms.com,
- config-vms.h_with_ssl, config-vms.h_without_ssl, curlmsg.h,
- curlmsg.msg, curlmsg.sdl, curlmsg_vms.h, defines.com,
- hpssl_alpha.opt, hpssl_ia64.opt, hpssl_vax.opt, readme: Marty
- Kuhrt's VMS updates
-
-2004-03-21 16:45 bagder
-
- * buildconf: recognize and use ACLOCAL_FLAGS if set (Thomas
- Schwinge patch)
-
-2004-03-21 16:32 bagder
-
- * Makefile.dist: use tabs, not spaces!
-
-2004-03-19 14:22 bagder
-
- * CHANGES: Added the Version 7.11.1 marker
-
-2004-03-19 09:41 bagder
-
- * RELEASE-NOTES, TODO-RELEASE: starting a new cycle
-
-2004-03-18 15:20 bagder
-
- * CHANGES: irix configure fix and a msvc project file update
-
-2004-03-18 13:59 bagder
-
- * TODO-RELEASE: Mitz Wark's reported Digest re-negotiate problem is
- issue 30.
-
-2004-03-18 11:03 bagder
-
- * configure.ac: For IRIX systems we must pick the "correct" lib
- dirs for the particular libs we want. $libsuff is the magic
- variable that contains a suffix (which might be blank). Tor
- Arntsen brought details and verified this fix.
-
-2004-03-17 22:30 bagder
-
- * lib/curllib.dsp: added http_ntlm.[ch] and inet_pton.[ch], pointed
- out by Watz
-
-2004-03-17 14:36 bagder
-
- * lib/nwlib.c: Günter Knauf's update, mainly converted to plain old
- C comments.
-
-2004-03-17 13:48 bagder
-
- * lib/Makefile.am, src/Makefile.am: new netware-related files added
- to the distribution
-
-2004-03-17 13:46 bagder
-
- * CHANGES, Makefile.dist, RELEASE-NOTES, docs/INSTALL,
- include/curl/multi.h, lib/Makefile.netware, lib/config-netware.h,
- lib/connect.c, lib/ftp.c, lib/hostip.c, lib/if2ip.c,
- lib/libcurl.imp, lib/nwlib.c, lib/setup.h, packages/Makefile.am,
- packages/NetWare/get_ver.awk, src/Makefile.netware,
- src/config-netware.h, src/main.c, src/setup.h: Günter Knauf's
- NetWare changes.
-
-2004-03-17 08:22 bagder
-
- * src/main.c: nonsense comments removed
-
-2004-03-16 11:41 bagder
-
- * CHANGES: mention yesterday's man page update frenzy
-
-2004-03-16 11:40 bagder
-
- * TODO-RELEASE: issue 29 has a bug report mentioning details
-
-2004-03-16 10:16 bagder
-
- * lib/transfer.c: removed the min() macro define
-
-2004-03-16 08:56 bagder
-
- * docs/FAQ: random updates
-
-2004-03-16 08:25 bagder
-
- * docs/SSLCERTS: added the CA bundle default path, and mention the
- risk that the server you try to talk to may be an imposter
-
-2004-03-15 17:32 bagder
-
- * docs/KNOWN_BUGS: ntlm and long passwords
-
-2004-03-15 17:28 bagder
-
- * lib/easy.c: if the global_init() is called from within
- curl_easy_init() and returns an error code, we now make
- curl_easy_init fail and return NULL.
-
-2004-03-15 14:20 bagder
-
- * packages/vms/.cvsignore: ignore these files
-
-2004-03-15 14:20 bagder
-
- * packages/vms/Makefile.am: automake file for this dir
-
-2004-03-15 14:13 bagder
-
- * TODO-RELEASE: provide URLs to two patches mentioned
-
-2004-03-15 14:09 bagder
-
- * TODO-RELEASE: NTLM fix
-
-2004-03-15 13:42 bagder
-
- * docs/libcurl/libcurl-easy.3: better formatting to create fine
- links in the web version
-
-2004-03-15 13:41 bagder
-
- * docs/libcurl/libcurl.3: more formatting fixes
-
-2004-03-15 12:56 bagder
-
- * docs/libcurl/libcurl.3: refer to function names better to enhance
- the HTML output
-
-2004-03-15 12:51 bagder
-
- * lib/curl_strerror.c: Initial commit of the first attempt to make
- three new *strerror() functions. No protos in the headers yet
- and no docs.
-
-2004-03-15 12:43 bagder
-
- * RELEASE-NOTES: windows builds now report a slightly different
- "OS" string
-
-2004-03-15 12:42 bagder
-
- * CHANGES: check for m4 version in buildconf
-
-2004-03-15 12:37 bagder
-
- * docs/libcurl/: curl_multi_add_handle.3, curl_multi_cleanup.3,
- curl_multi_fdset.3, curl_multi_init.3, curl_multi_perform.3,
- libcurl-multi.3: random formatting updates to look better in HTML
- version
-
-2004-03-15 12:30 bagder
-
- * docs/libcurl/curl_multi_info_read.3: use .NF for the struct part
- to looke better in HTML format some function references properly
-
-2004-03-15 12:26 bagder
-
- * docs/libcurl/libcurl-multi.3: more fixes
-
-2004-03-15 11:26 bagder
-
- * docs/libcurl/libcurl-multi.3: better formatting of functions to
- get better links in the web version
-
-2004-03-15 11:23 bagder
-
- * docs/libcurl/libcurl-share.3: better mentioning of other
- functions to create proper hrefs in the web version
-
-2004-03-15 11:18 bagder
-
- * Makefile.am: build_vms.com is removed from here
-
-2004-03-15 11:11 bagder
-
- * src/: curlmsg.h, curlmsg.msg, curlmsg.sdl: Marty Kuhrt's VMS
- updates
-
-2004-03-15 11:10 bagder
-
- * configure.ac: Added the new vms subdir in the packages dir
-
-2004-03-15 11:08 bagder
-
- * packages/Makefile.am: new vms subdir
-
-2004-03-15 11:03 bagder
-
- * build_vms.com: not used anymore since Marty Kuhrt's recent VMS
- updates
-
-2004-03-15 11:03 bagder
-
- * packages/vms/: batch_compile.com, build_vms.com,
- config-vms.h_with_ssl, config-vms.h_without_ssl, defines.com,
- hpssl_alpha.opt, hpssl_ia64.opt, hpssl_vax.opt, readme: Marty
- Kuhrt's provided files for the VMS package
-
-2004-03-15 08:47 bagder
-
- * buildconf: Check for a GNU version of m4, since autoconf won't
- run nicely without one.
-
-2004-03-14 19:15 bagder
-
- * lib/http.c: fix signed and unsigned warnings
-
-2004-03-13 18:11 bagder
-
- * lib/http.c: postsize is off_t now, so we typecase it to int
- before doing normal printf with it (knowing it won't be larger
- than what fits in an int)
-
-2004-03-13 18:03 bagder
-
- * lib/http.c: the postsize is an off_t so use the proper printf
- format to output the content-length when doing multipart posts
-
-2004-03-12 15:22 bagder
-
- * lib/: formdata.c, formdata.h, http.c: more variable type fixing
- for the huge posts
-
-2004-03-12 14:17 bagder
-
- * RELEASE-NOTES: newer c-ares release
-
-2004-03-12 14:06 bagder
-
- * lib/: http.c, urldata.h: more variable type fixes for the large
- POST support
-
-2004-03-12 13:07 bagder
-
- * lib/http.c: Made the 'postsize' variable an off_t type to be able
- to hold large file sizes if desired
-
-2004-03-12 13:05 bagder
-
- * tests/libtest/lib508.c: minor variable type fix
-
-2004-03-12 10:14 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_POSTFIELDSIZE_LARGE is
- added in 7.11.1
-
-2004-03-12 09:57 bagder
-
- * ares/.cvsignore: ignore aclocal.m4
-
-2004-03-12 09:55 bagder
-
- * CHANGES, RELEASE-NOTES, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/url.c, lib/urldata.h: Added
- CURLOPT_POSTFIELDSIZE_LARGE to offer a large file version of the
- CURLOPT_POSTFIELDSIZE option to allow really big HTTP POSTs.
-
-2004-03-12 09:03 bagder
-
- * src/main.c: David Byron's fix to clear outs.filename
-
-2004-03-11 22:51 bagder
-
- * lib/getinfo.c: dl and ulspeed are now curl_off_t so typecast them
- to double when we return their values
-
-2004-03-11 22:49 bagder
-
- * TODO-RELEASE: Optimize the way libcurl uses CWD
-
-2004-03-11 22:48 bagder
-
- * lib/: progress.c, urldata.h: Made max5data() take a curl_off_t
- size as argument instead of double. Should make the progress
- meter more accurate for large files. Also made the sprintf usage
- in that function avoid floating point.
-
-2004-03-11 14:15 bagder
-
- * TODO-RELEASE: added that header fiddling the msvc users will
- enjoy
-
-2004-03-11 14:13 bagder
-
- * lib/: connect.c, ftp.c, multi.c, telnet.c, timeval.c, transfer.c,
- url.c: Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of
- -1 for sockets.
-
-2004-03-11 13:57 bagder
-
- * lib/ssluse.c: don't let the EINTR stuff build on windows
-
-2004-03-10 17:20 bagder
-
- * lib/: file.c, ftp.c, getinfo.c, http.c, progress.c, progress.h,
- transfer.c, urldata.h: Use more curl_off_t variables when doing
- the progress meter calculations and argument passing and try to
- convert to double only when providing data to the external world.
-
-2004-03-10 17:07 bagder
-
- * src/config-win32.h: use the new OS define from lib/config-win32.h
-
-2004-03-10 17:03 bagder
-
- * src/getpass.c: make loop variable size_t as well when looping to
- a size_t limit
-
-2004-03-10 17:01 bagder
-
- * lib/: http.c, multi.c, sendf.h, ssluse.h, transfer.c, transfer.h,
- url.c: curl_socket_t mistakes cleanup
-
-2004-03-10 16:24 bagder
-
- * lib/ftp.c: turn niflags into a define named NIFLAGS
-
-2004-03-10 12:30 bagder
-
- * README: added the Estonian one, removed the cyberservers one
- since it is dead and they don't respond to email
-
-2004-03-10 12:28 bagder
-
- * CHANGES, RELEASE-NOTES: fixing
-
-2004-03-10 12:28 bagder
-
- * ares/CHANGES: Gisle Vanem improved build on Windows.
-
-2004-03-10 11:19 bagder
-
- * lib/setup.h: Nah, ignore the OS define in here. This is being
- included by ares and it certainly doesn't need the OS define.
-
-2004-03-10 10:52 bagder
-
- * acinclude.m4: ignore the icc warning 981 "operands are evaluated
- in unspecified order"
-
-2004-03-10 10:50 bagder
-
- * lib/sendf.c: Minor edit to avoid an unreachable break and to
- remove the extra {} body within the switch.
-
-2004-03-10 10:44 bagder
-
- * lib/http.c: keep the number of bytes read in a size_t variable
-
-2004-03-10 10:41 bagder
-
- * lib/cookie.c: strequal() returns int so we typecast the return to
- bool when we store the result as bool
-
-2004-03-10 10:36 bagder
-
- * lib/hostip.c: store times in time_t
-
-2004-03-10 09:43 bagder
-
- * lib/ssluse.c: Jeff Lawson fixed the SSL connection to deal with
- received signals during the connect.
-
-2004-03-10 09:15 bagder
-
- * lib/setup.h: Now requires an OS string defined by the config*.h
- file
-
-2004-03-10 09:14 bagder
-
- * lib/config-win32.h: make windows builds use the OS string
- "i386-pc-win32" instead of just "win32" to make it more like
- other OS strings
-
-2004-03-10 09:12 bagder
-
- * tests/server/getpart.c: use size_t for string lengths
-
-2004-03-10 09:08 bagder
-
- * lib/setup.h: Make sure SIZEOF_CURL_OFF_T is defined before we
- check for it being > 4. It is only undefined when this file is
- included by others (like ares) and in those cases it doesn't
- matter.
-
-2004-03-10 08:04 bagder
-
- * lib/config-win32.h: removed the #if 0'ed pragmas that disable
- warnings on msvc
-
-2004-03-10 08:03 bagder
-
- * lib/setup.h: moved the curl_socket_t typedef downwards
-
-2004-03-09 23:55 bagder
-
- * curl-style.el: added the new socket type
-
-2004-03-09 23:52 bagder
-
- * lib/: connect.c, connect.h, dict.c, ftp.c, http.c, multi.c,
- sendf.c, sendf.h, setup.h, ssluse.c, ssluse.h, telnet.c,
- transfer.c, transfer.h, urldata.h: Use curl_socket_t instead of
- int for holding sockets. The typedefs and defines are in setup.h.
-
-2004-03-09 22:49 bagder
-
- * tests/server/Makefile.am: Added -I$(top_srcdir)/include, since
- lib/setup.h might include files from the external curl include
- dir.
-
-2004-03-09 22:42 bagder
-
- * lib/hostip.c: only build with the windows threading trace code if
- DEBUG_THREADING_GETHOSTBYNAME is defined
-
-2004-03-09 22:39 bagder
-
- * lib/http.c: explicit typecast to visualize that we really want
- the result of the operation as a size_t
-
-2004-03-09 22:25 bagder
-
- * lib/setup.h: Tor Arntsen's fix to a AIX build problem
-
-2004-03-09 12:24 bagder
-
- * testcurl.sh: remove ares/aclocal.m4 before cvs update to prevent
- bad conflicts
-
-2004-03-09 11:18 bagder
-
- * ares/: nameser.h, windows_port.c: mingw has str(n)casecmp()
- functions
-
-2004-03-09 10:47 bagder
-
- * ares/nameser.h: timezone dummy to build better on Windows - Gisle
- Vanem
-
-2004-03-09 10:43 bagder
-
- * ares/ahost.c: Gisle Vanem fixed the bad argc check
-
-2004-03-09 10:38 bagder
-
- * TODO-RELEASE: the error message stuff is for 7.12
-
-2004-03-09 09:38 bagder
-
- * tests/server/sws.c: Andrés García-fix to make it build with mingw
-
-2004-03-09 09:35 bagder
-
- * lib/config-win32.h: added HAVE_IOCTLSOCKET here
-
-2004-03-08 17:29 bagder
-
- * ares/aclocal.m4: this is generated, removed from CVS
-
-2004-03-08 17:20 bagder
-
- * lib/http_ntlm.c: don't compare signed/unsigned
-
-2004-03-08 15:04 bagder
-
- * docs/KNOWN_BUGS: Removed John Clayton's really odd bug since its
- never been reported again and it was quite a long time since he
- experienced that one.
-
-2004-03-08 14:57 bagder
-
- * docs/libcurl/libcurl-errors.3: mention error 64
-
-2004-03-08 14:17 bagder
-
- * CHANGES: the largefile for version_info fix
-
-2004-03-08 13:56 bagder
-
- * src/main.c: fread() returns a size_t
-
-2004-03-08 13:51 bagder
-
- * src/urlglob.h: use curl standard source formatting
-
-2004-03-08 13:51 bagder
-
- * src/urlglob.c: typecast enum to int to make it printf() properly
-
-2004-03-08 13:48 bagder
-
- * src/main.c: variable type fixes
-
-2004-03-08 13:47 bagder
-
- * src/: urlglob.c, urlglob.h: Moved the error message buffer into
- the glob struct as well.
-
-2004-03-08 13:37 bagder
-
- * lib/sendf.c: Commented the Curl_read() arguments.
-
-2004-03-08 13:37 bagder
-
- * lib/http_digest.c: size_t/int fix
-
-2004-03-08 13:36 bagder
-
- * lib/http_ntlm.c: strlen() returns size_t
-
-2004-03-08 12:37 bagder
-
- * acinclude.m4: we ignore the ICC warning 1419 as well
-
-2004-03-08 12:36 bagder
-
- * lib/connect.c: waitconnect() takes the timeout argument as a long
-
-2004-03-08 12:33 bagder
-
- * lib/memdebug.c: store size as size_t use %zd when outputting
- size_t
-
-2004-03-08 12:28 bagder
-
- * lib/mprintf.c: don't use 'register' make strtol() returns get
- stored in long variables don't mix size_t with int
-
-2004-03-08 09:38 bagder
-
- * lib/escape.c: size_t/int/long fixes
-
-2004-03-08 08:46 bagder
-
- * lib/version.c: we must not only support long long for Largefile
- to work, we must have a curl_off_t type that is larger than 4
- bytes
-
-2004-03-05 14:12 bagder
-
- * CHANGES, RELEASE-NOTES: issue 12 fixed, the final known
- outstanding issue to be done before 7.11.1
-
-2004-03-05 13:54 bagder
-
- * lib/http.c, tests/data/test10, tests/data/test33,
- tests/data/test58, tests/data/test60, tests/data/test88,
- tests/data/test98: issue 12 fix
-
-2004-03-05 12:39 bagder
-
- * lib/file.c: another include to prevent warnings
-
-2004-03-05 11:18 bagder
-
- * RELEASE-NOTES: two fixes, one new mirror
-
-2004-03-05 11:14 bagder
-
- * CHANGES: clonk
-
-2004-03-05 10:40 bagder
-
- * lib/: file.c, transfer.c: more fixing to make the
- progress/getinfo stuff to work properly when doing file:
- transfers too
-
-2004-03-05 10:37 bagder
-
- * lib/ftp.c: clearly tell that these are ftp response timeouts
-
-2004-03-05 09:32 bagder
-
- * tests/server/sws.c: Major rewrite of the test HTTP server to
- allow more fancy features to make better tests with the
- issue12-patch applied. This change also includes Andrés García's
- win32-fixes. Made the logging look better/more readable in
- sws.log
-
-2004-03-05 09:01 bagder
-
- * docs/Makefile.am: 'make clean' should only remove the generated
- html files, index.html is not one of them!
-
-2004-03-05 08:57 bagder
-
- * docs/BINDINGS: mention the D binding
-
-2004-03-05 08:55 bagder
-
- * docs/curl.1: Multiple updates, most of them being proper
- formatting to create nice html links in the web pages, but also
- additional facts and removal of old crap.
-
-2004-03-04 17:19 bagder
-
- * TODO-RELEASE: issue 12 fix is pending and is working in devel
- added issue 24 - fix the progress meter for large files on slow
- networks to not wrap
-
-2004-03-04 17:13 bagder
-
- * lib/multi.c: When following to a new URL, we must make sure to
- call Curl_done() first, since the current connection must be
- taken care of properly before we move on. Christopher R. Palmer
- reported a problem he found due to this mistake.
-
-2004-03-04 16:32 bagder
-
- * lib/: connect.c, setup.h: Andrés García's patch to prevent
- warnings while compiling with mingw, mainly because it is now
- possible to have both WIN32 and HAVE_CONFIG_H defined.
-
-2004-03-04 16:25 bagder
-
- * lib/: http_chunks.c, http_chunks.h: use size_t for the data, but
- keep the protos use ssize_t to better fit with the existing
- transfer.c code
-
-2004-03-04 16:23 bagder
-
- * lib/file.c: include the proper header file too
-
-2004-03-04 16:12 bagder
-
- * lib/file.c: fix progress data to be updated properly for file:
- transfers, as reported by Jesse Noller
-
-2004-03-04 13:57 bagder
-
- * lib/url.c: prevent harmless compiler warning
-
-2004-03-04 10:56 bagder
-
- * src/: Makefile.vc6, version.h: David Byron's version resource fix
-
-2004-03-04 10:56 bagder
-
- * src/: Makefile.am, curl.rc: new "version resource" file for
- windows builds
-
-2004-03-03 15:46 bagder
-
- * testcurl.sh: show curl --version output as well
-
-2004-03-03 15:39 bagder
-
- * RELEASE-NOTES: largefile bit for the version_info and now winsock
- 1.1 only
-
-2004-03-03 14:32 bagder
-
- * CHANGES, lib/Makefile.vc6, lib/easy.c, lib/strtoofft.h,
- lib/telnet.c, src/Makefile.vc6, src/main.c: David Byron's work on
- making libcurl only require winsock 1.1 on Windows machines.
-
-2004-03-03 14:30 bagder
-
- * CHANGES: three days of changes
-
-2004-03-03 14:24 bagder
-
- * lib/ftp.c: more variable type cleanups
-
-2004-03-03 14:17 bagder
-
- * lib/ftp.c: our timeout values are longs while 'tv_sec' is int
-
-2004-03-03 14:12 bagder
-
- * lib/urldata.h: make the backup variable of the same kind as the
- data it backups! ;-)
-
-2004-03-03 14:11 bagder
-
- * lib/formdata.c: some more size_t usage, and two added typecasts
- when converting from size_t to long (MIPSpro warnings)
-
-2004-03-03 14:07 bagder
-
- * lib/hostip.c: tv_sec is an int, so we explicitly typecast the
- result of long - long to an int when we assign it.
-
-2004-03-03 14:03 bagder
-
- * ares/ares__read_line.c: attempted typecase to silence the MIPSpro
- warning:
-
- cc-1506 cc: REMARK File = ../../curl/ares/ares__read_line.c, Line
- = 46 There is an implicit conversion from "unsigned long" to
- "int"; rounding, sign extension, or loss of accuracy may result.
-
- if (!fgets(*buf + offset, *bufsize - offset, fp))
-
-2004-03-03 13:37 bagder
-
- * include/curl/curl.h: #ifdef #define #undef circus to prevent
- compiler warnings on #if operations with undefined variables.
-
-2004-03-03 11:09 bagder
-
- * tests/libtest/: lib503.c, lib504.c, lib507.c, lib509.c: removed
- include stuff now handled by test.h
-
-2004-03-03 11:09 bagder
-
- * tests/libtest/test.h: We let this file include more generic
- headers that many libtests need anyway to reduce the amount of
- #include stuff in each single libNNN.c file. unistd.h was added
- to prevent select() warnings on FreeBSD
-
-2004-03-03 10:27 bagder
-
- * src/setup.h, lib/setup.h: Tom Bates' adjustment to build on his
- nsr-tandem-nsk.
-
-2004-03-03 10:25 bagder
-
- * lib/: file.c, urldata.h: rename struct FILE to FILEPROTO, to
- prevent it from causing trouble with the plain old FILE typedef.
-
-2004-03-03 10:16 bagder
-
- * configure.ac: Dan Fandrich fixed some GSS detection flaws
-
-2004-03-02 15:00 bagder
-
- * lib/url.c: corrected the reuse_fresh condition
-
-2004-03-02 11:22 bagder
-
- * docs/HISTORY: large file in jan 2004
-
-2004-03-02 11:08 bagder
-
- * docs/TODO: various updates
-
-2004-03-02 11:07 bagder
-
- * docs/KNOWN_BUGS: two items fixed, one so old I don't think its
- valid anymore
-
-2004-03-02 10:50 bagder
-
- * testcurl.sh: display src/config.h as well after configure as run
-
-2004-03-02 10:31 bagder
-
- * lib/: file.c, ftp.c, http.c, progress.c, setup.h, transfer.c,
- url.c: Yet another curl_off_t printf format attempt, we now
- exclude the %-letter from FORMAT_OFF_T to allow additional
- options to get specified, like with '"%5" FORMAT_OFF_T'.
-
-2004-03-02 10:13 bagder
-
- * src/setup.h: Define CURL_NO_OLDIES to prevent us from getting
- obsolete stuff defined.
-
-2004-03-02 10:11 bagder
-
- * src/main.c: CURLOPT_MUTE is obsolete since a long while, we don't
- need to set it!
-
-2004-03-02 09:28 bagder
-
- * docs/Makefile.am: clean the html and pdf files
-
-2004-03-02 08:25 bagder
-
- * lib/: file.c, ftp.c, http.c, progress.c, transfer.c, url.c: use
- FORMAT_OFF_T instead of CURL_FORMAT_OFF_T to reduce the
- complexity of having to redef that name
-
-2004-03-02 08:25 bagder
-
- * lib/setup.h: - we switch to simply use FORMAT_OFF_T internally -
- Also, we must not assume that SIZEOF_CURL_OFF_T is defined, as
- this file gets included from the ares dir at times and then it
- isn't defined.
-
-2004-03-01 17:32 bagder
-
- * RELEASE-NOTES: the CURLOPT_FRESH_CONNECT fix
-
-2004-03-01 17:30 bagder
-
- * CHANGES: a fair day's work!
-
-2004-03-01 17:28 bagder
-
- * lib/: file.c, ftp.c, http.c, progress.c, url.c: Use
- CURL_FORMAT_OFF_T for printf()inf curl_off_t variables.
-
-2004-03-01 17:27 bagder
-
- * lib/transfer.c: Now uses CURL_FORMAT_OFF_T instead of %Od Fixed
- the check for bad resumes. Made test case 99 work and proved a
- bug in test case ... eh, was it 32?
-
-2004-03-01 17:25 bagder
-
- * tests/FILEFORMAT: large_file is a new feature we can require for
- a specific test
-
-2004-03-01 17:24 bagder
-
- * tests/runtests.pl: support 'large_file' as a feature to require
- for specific tests (such as test 99)
-
-2004-03-01 17:24 bagder
-
- * src/main.c: check for CURL_VERSION_LARGEFILE in the feature
- bitmask
-
-2004-03-01 17:24 bagder
-
- * lib/version.c: set CURL_VERSION_LARGEFILE if we support large
- files
-
-2004-03-01 17:23 bagder
-
- * lib/setup.h: define ENABLE_64BIT if we have enabled 64bit large
- files define our internal CURL_FORMAT_OFF_T define, we don't use
- the global one!
-
-2004-03-01 17:22 bagder
-
- * lib/mprintf.c: fixed the test code to work
-
-2004-03-01 17:20 bagder
-
- * include/curl/curl.h: * Added CURL_VERSION_LARGEFILE
-
- * If CURL_NO_OLDIES is defined, we hide all obsolete
- functions/options.
-
- * CURL_FORMAT_OFF_T is defined for portable printf()ing of
- curl_off_t types (although not with curl_mprintf()!)
-
-2004-03-01 17:18 bagder
-
- * tests/data/: Makefile.am, test99: added test 99, very basic
- initial large file test
-
-2004-03-01 16:50 bagder
-
- * docs/libcurl/curl_easy_setopt.3: global dns cache is not nice, we
- consider it obsolete starting now
-
-2004-03-01 14:14 bagder
-
- * testcurl.sh: Ignore the dreaded aclocal warnings on underquoted
- definitions that the recent autoconf annoyingly introduced.
-
-2004-03-01 14:10 bagder
-
- * acinclude.m4: Perhaps -Wundef is better on gcc versions after
- 2.95, since the autobuild on FreeBSD gives us lots of warnings in
- system headers and I suspect this option is what causes them!
-
-2004-03-01 14:02 bagder
-
- * acinclude.m4: When setting aggressive pedantic compiler options,
- display what options that were set. For easier debugging/changing
- of this.
-
-2004-03-01 13:54 bagder
-
- * lib/base64.c: removed an unnecessary shift and splut up som weird
- two-statements-per-line code
-
-2004-03-01 13:45 bagder
-
- * src/main.c: Use the z-option to printf %d for size_t printf. z is
- supported by the libcurl *printf and by Linux printf(). This
- should make the code work nicely even for 64bit size_ts.
-
-2004-03-01 13:44 bagder
-
- * lib/mprintf.c: Support 'z' for size_t-sized integer printing, as
- in %zd or %zx.
-
-2004-03-01 10:43 bagder
-
- * lib/url.c: Only consider the fresh-connection option on the first
- connection made, not on followed redirections etc. This should
- fix the bug #905365, which caused NTLM to fail with the option
- set.
-
-2004-03-01 10:08 bagder
-
- * TODO-RELEASE, docs/TODO: Moved two 7.11.2 issues over to the more
- general TODO docs.
-
-2004-03-01 09:54 bagder
-
- * docs/FAQ: minor spellfix
-
-2004-03-01 09:50 bagder
-
- * docs/THANKS: intend the top-level blurb to make it easier to
- discard it from the web site output
-
-2004-03-01 09:20 bagder
-
- * docs/THANKS: Tor and David
-
-2004-03-01 09:02 bagder
-
- * docs/libcurl/curl_share_init.3: mention how to make a curl handle
- use the share
-
-2004-03-01 08:59 bagder
-
- * lib/ftp.c: Only attempt to send the FTP QUIT command if we
- actually have a FTP struct.
-
-2004-03-01 08:19 bagder
-
- * lib/url.c: in Curl_disonnect(): call the protocol-specific
- disconnect function before we unlink the "current" connection
- struct from the connection cache.
-
-2004-03-01 08:16 bagder
-
- * tests/ftpserver.pl: Report the correct size when 'verifiedserver'
- is requested.
-
-2004-02-29 19:39 bagder
-
- * ares/Makefile.in: Dirk Manske fixed the attempt to install the
- removed errmem manpage
-
-2004-02-27 16:48 bagder
-
- * docs/libcurl/Makefile.am: using roffit 0.6 we can get <a href>
- links with the --mandir option
-
-2004-02-27 16:34 bagder
-
- * docs/libcurl/: curl_easy_cleanup.3, curl_easy_duphandle.3,
- curl_easy_getinfo.3, curl_easy_init.3, curl_easy_perform.3,
- curl_easy_setopt.3, curl_escape.3, curl_formadd.3,
- curl_formfree.3, curl_free.3, curl_getdate.3, curl_getenv.3,
- curl_global_cleanup.3, curl_global_init.3, curl_slist_append.3,
- curl_slist_free_all.3, curl_unescape.3, curl_version_info.3:
- formatting update to produce better links with the new roffit
- version
-
-2004-02-27 15:07 bagder
-
- * docs/libcurl/curl_easy_setopt.3: elaborate on the URL option
-
-2004-02-27 14:21 bagder
-
- * ares/: ares_private.h, ares_process.c: minor size_t fix to kill a
- warning
-
-2004-02-27 14:21 bagder
-
- * lib/formdata.c: fixed some more size_t/int/long warnings and
- removed a few CMC comments
-
-2004-02-27 13:41 bagder
-
- * include/curl/curl.h: Mark obsolete options with OSBOLETE in a
- comment on the same line, to make it easier to exclude them with
- grep, when grepping for options.
-
-2004-02-27 13:27 bagder
-
- * CHANGES: ispell by Tor Arntsen
-
-2004-02-27 12:29 bagder
-
- * ares/acinclude.m4: updated the debug option function from curl's
- acinclude.m4
-
-2004-02-27 10:02 bagder
-
- * RELEASE-NOTES: remove the number of obsolete options
-
-2004-02-27 10:02 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Added a few options that were
- still not documented. Now I believe all options mentioned in the
- current curl/curl.h header file (that aren't marked as obsolete)
- are present.
-
-2004-02-27 09:08 bagder
-
- * CHANGES, RELEASE-NOTES: updated with recent events
-
-2004-02-27 08:15 bagder
-
- * TODO-RELEASE: issue 21 is now history
-
-2004-02-27 08:08 bagder
-
- * lib/ftp.c, lib/urldata.h, tests/data/test100, tests/data/test101,
- tests/data/test102, tests/data/test103, tests/data/test104,
- tests/data/test105, tests/data/test106, tests/data/test107,
- tests/data/test108, tests/data/test109, tests/data/test110,
- tests/data/test111, tests/data/test112, tests/data/test115,
- tests/data/test116, tests/data/test117, tests/data/test118,
- tests/data/test119, tests/data/test120, tests/data/test121,
- tests/data/test122, tests/data/test123, tests/data/test124,
- tests/data/test125, tests/data/test126, tests/data/test127,
- tests/data/test128, tests/data/test130, tests/data/test131,
- tests/data/test132, tests/data/test133, tests/data/test134,
- tests/data/test135, tests/data/test136, tests/data/test137,
- tests/data/test138, tests/data/test139, tests/data/test140,
- tests/data/test141, tests/data/test143, tests/data/test144,
- tests/data/test145, tests/data/test146, tests/data/test147,
- tests/data/test148, tests/data/test149, tests/data/test505: Joe
- Halpin made the FTP code send 'QUIT' on the control connection
- before it disconnects the TCP connection, like a good ftp client
- should!
-
-2004-02-26 23:56 bagder
-
- * tests/getpart.pm: we need to hide this warning since it otherwise
- appears on all verifiedserver requests to the ftp server!
-
-2004-02-26 23:40 bagder
-
- * tests/data/test190: Kill the server when this test is done, as
- other FTP-tests sometimes have problems otherwise.
-
-2004-02-26 23:19 bagder
-
- * ares/ares_init.c: fixed a "comparison between signed and
- unsigned" warning
-
-2004-02-26 17:23 bagder
-
- * CVS-INFO, Makefile.dist, include/curl/multi.h, lib/Makefile.vc6,
- lib/config-win32.h, src/Makefile.vc6, src/main.c: David Byron's
- fixes to make the latest curl build fine under MSVC 6.
-
-2004-02-26 17:13 bagder
-
- * buildconf.bat: this works like buildconf + configure does on
- unixes
-
-2004-02-26 15:53 bagder
-
- * tests/memanalyze.pl: adjusted to work with the modified fopen()
- line and the new calloc line
-
-2004-02-26 15:52 bagder
-
- * lib/: memdebug.c, memdebug.h: Gisle Vanem's added support
- calloc()-debugging and outputting mode for fopen() as well.
-
-2004-02-26 15:52 bagder
-
- * lib/cookie.c: use calloc instead of malloc and we won't have to
- memset() the struct
-
-2004-02-26 14:59 bagder
-
- * testcurl.sh: When this is verified to be a CVS tree, we remove
- the two generated source files from the source dir to make
- certain they're generated in the build process.
-
-2004-02-26 14:40 bagder
-
- * lib/: cookie.c, formdata.c, formdata.h, ftp.c, http.c, sendf.c,
- urldata.h: Clear up int/long/size_t/ssize_t usage a bit
-
-2004-02-26 13:47 bagder
-
- * ares/ares_init.c: minor fixes to avoid MIPSPro pedantic warnings
-
-2004-02-26 13:45 bagder
-
- * ares/ares__read_line.c: don't mix int and size_t, it generates
- warnings!
-
-2004-02-26 13:40 bagder
-
- * acinclude.m4: Make icc ignore "invalid format string conversion"
- warnings as well. They appear because of our home-grown option
- '%Od' for the curl_off_t output.
-
-2004-02-26 13:32 bagder
-
- * lib/mprintf.c: use %ld when printf()ing long variables (and
- removed use of 'register')
-
-2004-02-26 12:46 bagder
-
- * tests/ftpserver.pl: added the ever-present source header
-
-2004-02-26 12:39 bagder
-
- * lib/share.c: Don't call the lock/unlock functions if they are
- NULL. They can still be NULL without violating protocol.
-
-2004-02-26 12:37 bagder
-
- * acinclude.m4: Use __INTEL_COMPILER instead of __ICC to the cpp to
- detect the Intel icc compiler!
-
-2004-02-26 10:19 bagder
-
- * tests/: ftpserver.pl, runtests.pl: runtests.pl now provides the
- srcdir to the ftpserver so that it can pass that to loadtest
- properly.
-
-2004-02-26 10:19 bagder
-
- * tests/getpart.pm: modified loadtest() to produce better error
- message when it fails to load a test file
-
-2004-02-26 08:58 bagder
-
- * testcurl.sh: The build logs were created in the "wrong" dir and
- thus never removed after use, this is an attempt to fix this.
-
-2004-02-25 16:44 bagder
-
- * CHANGES: today's work
-
-2004-02-25 16:43 bagder
-
- * tests/libtest/lib506.c: typecast to int when printfing CURLcode
-
-2004-02-25 16:41 bagder
-
- * src/writeout.c: use %ld when printfing longs
-
-2004-02-25 16:34 bagder
-
- * lib/mprintf.c: disable the use of long double, we don't use it
-
-2004-02-25 15:32 bagder
-
- * buildconf: if ares is present, run aclocal in that dir before
- autoconf is run
-
-2004-02-25 15:32 bagder
-
- * ares/: CHANGES, FILES, acinclude.m4, aclocal.m4, configure.ac:
- added the better debug option logic from curl by adding
- acinclude.m4 to the configure stuff
-
-2004-02-25 15:15 bagder
-
- * lib/mprintf.c: Based on a patch by Greg Hewgill I modified how
- long long is used, as we can use a 64bit type with MSVC that is a
- long long equivalent.
-
-2004-02-25 15:14 bagder
-
- * acinclude.m4: set debug options when using the icc compiler
-
-2004-02-25 13:34 bagder
-
- * docs/libcurl/curl_share_setopt.3: better formatting of the share
- options
-
-2004-02-25 13:32 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mark the function name
-
-2004-02-25 13:20 bagder
-
- * docs/libcurl/curl_easy_setopt.3: added CURLOPT_SHARE
-
-2004-02-25 11:19 bagder
-
- * acinclude.m4, configure.ac: Moved most of the
- set-debug-options-depending-on-compiler logic to the new
- CURL_CC_DEBUG_OPTS function in acinclude.m4
-
-2004-02-25 10:03 bagder
-
- * testcurl.sh: Output $CC and $CFLAGS as well. A Tor Arntsen patch.
-
-2004-02-25 08:22 bagder
-
- * ares/ares.h: Don't check for HAVE_ defines in this header file,
- it is meant to be public and we can't depend on configure-defines
- in it. This logic is borrowed from the public curl headers.
-
-2004-02-25 08:17 bagder
-
- * ares/CHANGES: fix
-
-2004-02-25 07:37 bagder
-
- * ares/ares_init.c: Dan Fandrich fixed a minor flaw in Dominick's
- fix!
-
-2004-02-23 17:20 bagder
-
- * ares/configure.ac: check for a few basic header files
-
-2004-02-23 17:20 bagder
-
- * ares/ares.h: include sys/select.h
-
-2004-02-23 17:09 bagder
-
- * lib/krb4.c: fixed some warnings in the (both new and old) base64
- usage
-
-2004-02-23 17:04 bagder
-
- * TODO-RELEASE: features no one seem to care much about are now
- moved over to the 7.11.2 release
-
-2004-02-23 15:24 bagder
-
- * lib/strtoofft.h: make newer MSCV7 compilers use _strtoi64() as a
- strtoll() replacement
-
-2004-02-23 14:48 bagder
-
- * CHANGES, RELEASE-NOTES: limit rate and windows timeouts
-
-2004-02-23 14:35 bagder
-
- * ares/: CHANGES, Makefile.in: ares_free_errmem is gone
-
-2004-02-23 14:33 bagder
-
- * ares/: ares_free_errmem.3, ares_free_errmem.c: unused and now
- removed
-
-2004-02-23 13:01 bagder
-
- * lib/Makefile.b32: Removed getpass from here. The fact this still
- was present here indicates that this file is out of date!
-
-2004-02-23 12:59 bagder
-
- * lib/config-win32.h: curl_off_t is 8 bytes big on windows
-
-2004-02-23 12:44 bagder
-
- * lib/base64.h: switch the arguments according to the c source
-
-2004-02-23 12:39 bagder
-
- * lib/base64.c: oops, the decode() function got its arguments
- reversed in my cleanup operation!
-
-2004-02-23 10:01 bagder
-
- * docs/libcurl/: curl_formadd.3, curl_formfree.3: correct the input
- data structs
-
-2004-02-23 09:38 bagder
-
- * lib/hostip.c: use size_t to keep strlen() results
-
-2004-02-23 09:35 bagder
-
- * lib/hostip.c: simplied how create_hostcache_id() is used, and
- also its function somewhat cleared up some ssize_t/size_t mixups
-
-2004-02-23 09:24 bagder
-
- * lib/http_ntlm.c: adjusted to the modified base64 protos
-
-2004-02-23 09:22 bagder
-
- * lib/: base64.c, base64.h, http.c: More size_t cleanups in the
- base64 functions.
-
-2004-02-23 09:07 bagder
-
- * lib/: base64.c, base64.h, http_ntlm.c: The base64 encode function
- now takes a size_t for size, not an int as previously.
-
-2004-02-23 09:04 bagder
-
- * ares/ares_search.c: more int vs long/size_t fixes after icc
- compiler warnings
-
-2004-02-23 09:00 bagder
-
- * ares/ares_init.c: more int/long fixes after icc "remarks"
-
-2004-02-23 08:57 bagder
-
- * ares/ares_init.c: next_id is an unsigned short, typecast the
- assign to prevent picky compilers to warn
-
-2004-02-23 08:55 bagder
-
- * ares/ares_gethostbyaddr.c: typecase the bitfiddling results since
- we get a long and we store an int, they may not be of the size
- size
-
-2004-02-23 08:52 bagder
-
- * ares/: adig.c, ares.h, ares_expand_name.c, ares_parse_a_reply.c,
- ares_parse_ptr_reply.c, ares_process.c: make ares_expand_name()
- take a long * instead of an int *, since we do pointer arithmetic
- (ptr1 - ptr2) and to do that properly on 64bit we need long
-
-2004-02-23 08:46 bagder
-
- * ares/ares__read_line.c: strlen() returns a size_t, which might be
- larger than int on some platforms
-
-2004-02-23 08:32 bagder
-
- * testcurl.sh: argh, use single-quotes instead of double ones to
- make $Revision appear
-
-2004-02-23 08:17 bagder
-
- * testcurl.sh: use the proper source header, and set the version
- string to this file's revision number
-
-2004-02-23 08:08 bagder
-
- * testcurl.sh: cd back to the root path before removing the build
- dir, since some systems refuse to remove the dir otherwise!
-
-2004-02-22 23:42 bagder
-
- * ares/: CHANGES, ares_init.c: Dominick Meglio's fix for supporting
- multiple names in the Nameserver key on Windows.
-
-2004-02-22 23:36 bagder
-
- * ares/configure.ac: this code uses no long long, so we can have
- warnings about them
-
-2004-02-22 23:31 bagder
-
- * lib/: url.c, urldata.h: the missing part of Gisle Vanem's
- connect-timeout fix for win32
-
-2004-02-21 17:56 bagder
-
- * configure.ac: -Wno-format-nonliteral does not exist in my gcc
- 2.96, only use that with newer versions
-
-2004-02-21 17:18 bagder
-
- * docs/curl.1: mention in --limit-rate that --speed-limit might
- ruin the limiting slightly.
-
-2004-02-21 16:08 bagder
-
- * src/main.c: David Byron's fix to allow the speed-limit logic work
- even if you set limit-rate. It does work on the expense of the
- rate limiter.
-
-2004-02-21 16:05 bagder
-
- * lib/mprintf.c: added some extra typecasts to prevent compiler
- warnings when converting int to various types
-
-2004-02-21 15:57 bagder
-
- * lib/krb4.c: inlcude krb4.h to get the proto for Curl_krb_kauth()
- to satisfy picky compilers
-
-2004-02-20 17:41 bagder
-
- * lib/: config-win32.h, hostip.c, setup.h: Gisle Vanem brings name
- resolving timeout possibilities to windows people. This works by
- magicly starting up a new thread that can be killed when the
- timeout is reached. testtesttest!
-
-2004-02-20 17:29 bagder
-
- * CHANGES: that icc attempt in configure
-
-2004-02-20 17:22 bagder
-
- * lib/memdebug.c: Some compilers warn on completely empty source
- files, we provide a blank one to prevent that.
-
-2004-02-20 17:18 bagder
-
- * lib/md5.c: Convert functions to ANSI-style declaration to prevent
- compiler warnings
-
-2004-02-20 16:39 bagder
-
- * src/Makefile.am: When the built-in manual is disabled, we
- generate a function doing nothing just to avoid making a totally
- empty file. Just to avoid compiler warnings.
-
-2004-02-20 16:16 bagder
-
- * lib/mprintf.c: No longer support Z as a flag to print size_t, it
- isn't used by libcurl and I doubt anyone else uses it.
-
- Better preprocessor magic for the O flag (for curl_off_t
- printing) to prevent compiler warnings.
-
-2004-02-20 14:09 bagder
-
- * packages/Win32/cygwin/README: cool.haxx.se, no longer sourceforge
-
-2004-02-20 11:11 bagder
-
- * configure.ac: Only use -Wstrict-prototypes with gcc 3.3 or later.
- It is working with earlier versions, but when I use it with
- 3.0.3, I can't get it to ignore errors in "system headers" with
- -isystem so we get excessive amounts of warnings on SSL headers
- which is very annoying.
-
-2004-02-20 09:51 bagder
-
- * tests/libtest/: lib503.c, lib504.c, lib507.c, lib509.c: include
- sys/select.h to prevent picky compiler warnings when using
- select() without proto
-
-2004-02-20 09:47 bagder
-
- * lib/: transfer.c, urldata.h: we call the macro CURLMAX() isntead
- of MAX(), just because it turned up it collides with another MAX
- define on some platforms (like netbsd 1.6.1)
-
-2004-02-20 08:22 bagder
-
- * lib/strtoofft.h: oops, missed a define when I changed from Curl_
- to curlx_
-
-2004-02-20 08:19 bagder
-
- * tests/server/: getpart.c, sws.c: fix protos to prevent warnings
-
-2004-02-20 08:19 bagder
-
- * tests/server/: Makefile.am, getpart.h: added getpart.h for the
- spitout() proto
-
-2004-02-20 08:14 bagder
-
- * tests/runtests.pl: %HTTPPORT supported in subVariables
-
-2004-02-20 08:05 bagder
-
- * tests/README: mention what ports the test suite uses
-
-2004-02-20 07:59 bagder
-
- * tests/runtests.pl: When trying to see if there's a friendly http
- server on "our" port, we only accept return code 7 to indicate
- that there's no server present.
-
-2004-02-19 22:34 bagder
-
- * configure.ac: -Wcast-align is a bit too annoying
-
-2004-02-19 22:32 bagder
-
- * configure.ac: Anything that looks like gcc 5.0 or more is no
- longer treated as gcc. I hope this will make us exclude icc 8.0
- etc.
-
-2004-02-19 22:21 bagder
-
- * tests/README: refer to FILEFORMAT
-
-2004-02-19 20:25 bagder
-
- * configure.ac: When --enable-debug is used, for every -I provided
- to $CPPFLAGS we add a corresponding -isystem, if using gcc, to
- inhibit warnings on those headers.
-
-2004-02-19 17:24 bagder
-
- * testcurl.sh: Tor Arntsen's tiny fix!
-
-2004-02-19 16:58 bagder
-
- * configure.ac: if not yacc or bison is found, check if we *really*
- need it, and if we do we bail out!
-
-2004-02-19 16:39 bagder
-
- * tests/libtest/lib509.c: fixed the no-ssl version to return int as
- well
-
-2004-02-19 14:03 bagder
-
- * tests/libtest/lib506.c: provide protos to the functions to
- prevent warnings
-
-2004-02-19 14:00 bagder
-
- * tests/libtest/lib500.c: typecast the type to an int on return
-
-2004-02-19 14:00 bagder
-
- * tests/libtest/lib500.c: return int from test()
-
-2004-02-19 13:59 bagder
-
- * tests/libtest/test.h: provide a test() proto
-
-2004-02-19 13:56 bagder
-
- * testcurl.sh: use a die and a log function to die and log texts
- better detect test suite failures remove the buildlog at exit
- make a random buildlog file name, now in the same dir where the
- build dir is created checks if the ares build succeeded
-
-2004-02-19 13:10 bagder
-
- * testcurl.sh: remove the build.log too at exit, and also use the
- proper $pwd prefix to find the files/dirs to remove so that it
- still works if we "die" after having done a 'cd'
-
-2004-02-19 11:21 bagder
-
- * docs/libcurl/curl_easy_setopt.3: very minor phrase edit
-
-2004-02-19 11:21 bagder
-
- * CHANGES, RELEASE-NOTES: fixes from the recent days
-
-2004-02-19 10:33 bagder
-
- * ares/configure.ac: check for standard headers when --enable-debug
- is used
-
-2004-02-19 10:22 bagder
-
- * lib/netrc.c: Doug Porter's patch that changes the order of
- preferences on how to find the default netrc file. We now read
- and uses HOME _before_ we use getpwuid() to better allow users to
- move around HOME to use different .netrc files without having to
- rely on even blacker magic.
-
-2004-02-19 10:01 bagder
-
- * configure.ac: If --enable-debug is used and gcc, we figure out
- which version and then we use as aggressive warning options as
- possible for the used compiler version.
-
-2004-02-19 09:19 bagder
-
- * TODO-RELEASE: item 19 is considered fixed until we get to hear
- differently item 25 is now dealt with using the curlx_ prefix,
- mentioned in detail here:
- http://curl.haxx.se/mail/lib-2004-02/0215.html
-
-2004-02-19 09:13 bagder
-
- * src/: Makefile.am, main.c: Use the strtoofft.h header file from
- the lib directory, as we are now officially using library-code
- when building the app (at least for the platforms that don't have
- a strtoll() on their own).
-
-2004-02-19 09:12 bagder
-
- * lib/: strtoofft.c, strtoofft.h: Remade to use curlx_-prefix. This
- means this function can be compiled and linked separately by the
- application. This function is not provided by the libcurl API. It
- can only be accessed by apps if they compile and use this
- particular source code.
-
-2004-02-18 17:16 bagder
-
- * buildconf: AIX and Tru64 have what Tor calls "horribly broken
- 'which' programs" so we now scan the PATH ourself to find the
- path to (g)libtool
-
-2004-02-18 16:28 bagder
-
- * lib/transfer.c: removed some "jhrg" from comments
-
-2004-02-18 13:26 bagder
-
- * ares/configure.ac: I removed the socklen_t requirement from
- memdebug.h, so we don't need to figure it out here anymore to
- build debug builds.
-
-2004-02-18 13:22 bagder
-
- * lib/: memdebug.c, memdebug.h: Made curl_accept() take a 'void *'
- instead of 'socklen_t *' in the 3rd argument to also not force
- the casual includer to know about the socklen_t type.
-
-2004-02-18 13:18 bagder
-
- * lib/: memdebug.c, memdebug.h: Modified curl_accept() to take a
- 'void *' in the 2nd argument instead of sockaddr *. This has the
- added benefit that source files that include memdebug.h doesn't
- have to know about "sockaddr".
-
-2004-02-18 11:05 bagder
-
- * lib/hostip.c: No longer uses the 'ret' variable in the plain
- ipv4-version of my_getaddrinfo() (caused a warning by the IRIX
- MIPSPro compiler). Also clarified the situation for the 3-arg
- version of gethostbyname_r() with a huge comment.
-
-2004-02-18 10:07 bagder
-
- * ares/configure.ac: The --enable-debug option really requires this
- to be built as part of curl. When using it, we now set the
- include path to better find the devel curl headers, and we check
- for the socklen_t type since the curl memdebug stuff needs it.
-
-2004-02-18 09:35 bagder
-
- * lib/setup.h: simplified and better commented config.h include
- logic
-
-2004-02-18 08:56 bagder
-
- * lib/hostip.c: Make sure dns cache timeout -1 really means
- forever, as it is documented to be. Simply skip the pruning.
-
-2004-02-17 14:46 bagder
-
- * src/main.c: fix the help text for --manual if built without
- manual
-
-2004-02-17 08:57 bagder
-
- * tests/libtest/.cvsignore: ignore more
-
-2004-02-17 08:41 bagder
-
- * ares/CHANGES: memdebug build, 'make' no longer builds the demo
- tools
-
-2004-02-17 08:40 bagder
-
- * ares/Makefile.in: 'make all' also builds the demos
-
-2004-02-17 08:40 bagder
-
- * ares/: ares_destroy.c, ares_expand_name.c, ares_free_hostent.c:
- include ares_private.h to make sure we get the memdebug stuff
- included
-
-2004-02-17 08:40 bagder
-
- * ares/ares_private.h: If CURLDEBUG is set we use the libcurl
- internal memdebug system to track memory leaks etc.
-
-2004-02-16 17:27 bagder
-
- * ares/Makefile.in: only build adig and ahost if 'make demos' is
- used
-
-2004-02-16 17:24 bagder
-
- * lib/memdebug.h: support closesocket() for closing sockets as
- well, as then we can use this code fine on ares!
-
-2004-02-16 17:23 bagder
-
- * lib/memdebug.c: Make realloc() support NULL as pointer. Made to
- allow us to use these routines to memdebug the ares stuff as
- well.
-
-2004-02-16 16:27 bagder
-
- * TODO-RELEASE: item 24 fixed, edited a few issues
-
-2004-02-16 16:24 bagder
-
- * lib/: hostip.c, url.c: Make the 'areschannel' get created in the
- curl_easy_init() and re-use that same channel during the whole
- curl handle's life until curl_easy_cleanup().
-
-2004-02-16 14:36 bagder
-
- * RELEASE-NOTES: updates
-
-2004-02-16 14:33 bagder
-
- * CHANGES: verbose-fix, socks5-fix, dnscache-fix,
- configure-winmmlib-fix
-
-2004-02-16 14:14 bagder
-
- * lib/url.c: Fix verbosconnect() when ipv6-enabled to not assume
- that conn->serv_addr is a valid pointer, but instead always
- depend on the passed-in dns pointer. This happens to be NULL
- when the connection is re-used...
-
-2004-02-16 10:56 bagder
-
- * lib/md5.c: removed usage of a silly macro instead of the actual
- functions memcpy and memset
-
-2004-02-16 08:33 bagder
-
- * lib/url.c: Jeff Lawson pointed out that we need to check for a
- '5' in the version field to properly work with SOCKS5 proxies. I
- also included some ascii art describing the SOCKS5 response, as
- RFC1928 describes. Jeff provided details in bug report #741841
- and here: http://curl.haxx.se/mail/lib-2004-02/0181.html
-
-2004-02-15 23:34 bagder
-
- * configure.ac: Andrés García added a check for lwinmm for
- Mingw/sys
-
-2004-02-15 17:57 bagder
-
- * lib/hostip.c: Mark the dns entry 'inuse' properly even when used
- from the cache. This seems to correct some host cache screw-ups I
- could reproduce.
-
-2004-02-15 14:58 bagder
-
- * lib/content_encoding.c: another case which should use CURLcode
- and not int
-
-2004-02-15 14:55 bagder
-
- * lib/connect.c: Use the was_iface variable when binding a socket
- locally, even if no SO_BINDTODEVICE is present, to prevent
- compiler warnings about the variable
-
-2004-02-15 14:51 bagder
-
- * RELEASE-NOTES: bind interface and large file fixes
-
-2004-02-15 14:50 bagder
-
- * CHANGES: recent fixes
-
-2004-02-15 14:48 bagder
-
- * lib/telnet.c: (void) functions we don't check the return code for
-
-2004-02-15 14:48 bagder
-
- * lib/transfer.c: CURLcode/int cleanup to reduce IRIX warnings
- Removed some dates/names in the comments.
-
-2004-02-15 14:47 bagder
-
- * testcurl.sh: spell!
-
-2004-02-15 13:30 bagder
-
- * ares/configure.ac: don't assume we can use gcc 2.96+ options
-
-2004-02-13 13:42 bagder
-
- * lib/url.c: in the socks code, make sure we receive Curl_read
- results in ints and Curl_write in CURLcode, to keep the picky
- compilers happy
-
-2004-02-13 13:28 bagder
-
- * ares/: adig.c, ahost.c: removed usage of unset variables (by a
- function that does nothing!)
-
-2004-02-13 13:18 bagder
-
- * tests/libtest/lib506.c: return an int
-
-2004-02-13 13:17 bagder
-
- * tests/libtest/lib504.c: return an int, not a CURLcode
-
-2004-02-13 13:16 bagder
-
- * lib/content_encoding.c: use CURLcode, not int, prevents picky
- compilers to warn
-
-2004-02-13 13:13 bagder
-
- * lib/file.c: the now and start variables were never really used
-
-2004-02-13 10:50 bagder
-
- * lib/connect.c: Ben Greear's SO_BINDTODEVICE patch that binds to a
- network interface "even more" when the previous approach. Known
- to work on Linux, possibly on other platforms as well.
-
-2004-02-13 08:15 bagder
-
- * testcurl.sh: Tor Arntsen made the ares build warnings etc get
- included as well
-
-2004-02-13 08:12 bagder
-
- * lib/transfer.c: Greg Hewgill found out 'contentlength' wasn't big
- enough to hold a large file!
-
-2004-02-13 08:05 bagder
-
- * tests/server/sws.c: make the path const
-
-2004-02-13 08:03 bagder
-
- * lib/file.c: I made the same fix here, that Tor already did in the
- ftp.c code. To make sure this doesn't get weird on 64bit archs.
-
-2004-02-13 07:59 bagder
-
- * lib/ftp.c: Tor Arntsen's fix for the bad (64bit wise) typecast
- when using gmtime()
-
-2004-02-12 17:02 bagder
-
- * lib/hostip.c: Make hostcache_fixoffset() take a long for offset,
- to fully work with 64bit archs, also no longer typecast pointers
- to ints as that is a nono on 64bit systems.
-
-2004-02-12 16:50 bagder
-
- * RELEASE-NOTES: up to date with recent fixes
-
-2004-02-12 16:05 bagder
-
- * configure.ac: If no nroff tool is found, or if no command line
- switch to nroff that converts a man page to text is found, we
- disable the built-in manual stuff to still be able to build.
-
-2004-02-12 15:46 bagder
-
- * src/: Makefile.am, config.h.in, main.c: support configure
- --disable-manual
-
-2004-02-12 15:45 bagder
-
- * configure.ac: added --enable/disable-manual
-
-2004-02-12 15:43 bagder
-
- * tests/Makefile.am: no need to run make test in the data dir
- anymore
-
-2004-02-12 15:40 bagder
-
- * tests/: getpart.pm, httpserver.pl, runtests.pl, server/sws.c:
- provide a source path to the servers to make them find the tests
- when run outside the source dir, not needing any symlinks
-
-2004-02-12 15:39 bagder
-
- * tests/data/Makefile.am: stop doing the weirdo symlinks
-
-2004-02-12 10:53 bagder
-
- * lib/telnet.c: removed the subchar variable, it was only set and
- never used
-
-2004-02-12 10:51 bagder
-
- * lib/ldap.c: removed the ldaptext variable, it was only set and
- never used
-
-2004-02-12 10:50 bagder
-
- * lib/dict.c: removed the nth variable, it was only set and never
- used anyway
-
-2004-02-12 10:48 bagder
-
- * lib/url.c: No longer receive the return code in
- ConnectionKillOne() that wasn't dealt with anyway and thus caused
- picky compiler to warn.
-
-2004-02-11 22:14 bagder
-
- * configure.ac: Andrés García's additional fix to make the OpenSSL
- stuff work for msys/mingw
-
-2004-02-11 22:11 bagder
-
- * lib/url.c: #if-check for SIGALRM before assuming it is present
-
-2004-02-11 14:08 bagder
-
- * buildconf: use libtoolize --force to overwrite existing (older)
- files
-
-2004-02-11 13:59 bagder
-
- * ares/CHANGES: install ares_version.h as well
-
-2004-02-11 13:58 bagder
-
- * ares/Makefile.in: Dirk Manske's fix to install ares_version.h as
- well
-
-2004-02-09 17:16 bagder
-
- * CHANGES: mondays are busy days catching up with the patches from
- the weekend! ;-)
-
-2004-02-09 14:51 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Dominick Meglio's update
-
-2004-02-09 14:41 bagder
-
- * TODO-RELEASE: recent updates
-
-2004-02-09 13:46 bagder
-
- * lib/http.c, tests/data/test1, tests/data/test10,
- tests/data/test11, tests/data/test12, tests/data/test13,
- tests/data/test14, tests/data/test15, tests/data/test16,
- tests/data/test17, tests/data/test18, tests/data/test2,
- tests/data/test22, tests/data/test24, tests/data/test25,
- tests/data/test26, tests/data/test27, tests/data/test28,
- tests/data/test29, tests/data/test3, tests/data/test30,
- tests/data/test300, tests/data/test301, tests/data/test303,
- tests/data/test304, tests/data/test306, tests/data/test31,
- tests/data/test32, tests/data/test33, tests/data/test34,
- tests/data/test36, tests/data/test37, tests/data/test38,
- tests/data/test39, tests/data/test40, tests/data/test42,
- tests/data/test43, tests/data/test44, tests/data/test45,
- tests/data/test46, tests/data/test47, tests/data/test48,
- tests/data/test49, tests/data/test5, tests/data/test50,
- tests/data/test500, tests/data/test503, tests/data/test508,
- tests/data/test509, tests/data/test51, tests/data/test510,
- tests/data/test52, tests/data/test53, tests/data/test54,
- tests/data/test55, tests/data/test56, tests/data/test57,
- tests/data/test58, tests/data/test59, tests/data/test6,
- tests/data/test60, tests/data/test61, tests/data/test62,
- tests/data/test63, tests/data/test64, tests/data/test65,
- tests/data/test66, tests/data/test67, tests/data/test68,
- tests/data/test69, tests/data/test7, tests/data/test70,
- tests/data/test71, tests/data/test72, tests/data/test73,
- tests/data/test74, tests/data/test77, tests/data/test78,
- tests/data/test79, tests/data/test8, tests/data/test80,
- tests/data/test81, tests/data/test82, tests/data/test83,
- tests/data/test84, tests/data/test85, tests/data/test86,
- tests/data/test88, tests/data/test89, tests/data/test9,
- tests/data/test90, tests/data/test91, tests/data/test92,
- tests/data/test93, tests/data/test95, tests/data/test97,
- tests/data/test98: Modified the default HTTP Accept: header to
- only be Accept: */*
-
-2004-02-09 12:41 bagder
-
- * tests/data/test96: Removed, this was only used to work out what
- went wrong with test 91, and we seem to have nailed that one now!
-
-2004-02-09 12:40 bagder
-
- * lib/connect.c: Oops. I broke the flow with the previous commit.
-
-2004-02-09 11:24 bagder
-
- * packages/Linux/RPM/curl-ssl.spec.in: P R Schaffner updated this
- to work for 7.11.0
-
-2004-02-09 10:07 bagder
-
- * docs/libcurl/: curl_share_cleanup.3, curl_share_init.3,
- curl_share_setopt.3, libcurl-errors.3: Dominick Meglio's added
- share interface documentation
-
-2004-02-09 09:55 bagder
-
- * testcurl.sh: removed the state file renaming I accidentally left
- there
-
-2004-02-09 09:34 bagder
-
- * lib/connect.c: some annoying compilers warn about "(void)foo;"
- lines so we avoid them
-
-2004-02-09 09:31 bagder
-
- * src/main.c: Make param2text() take an int argument, as that is
- what's being passed in. This is made to prevent compiler
- warnings.
-
-2004-02-09 09:29 bagder
-
- * src/writeout.c: use VAR_NONE instead of 0 in the table to prevent
- compiler warning
-
-2004-02-09 09:28 bagder
-
- * tests/libtest/lib502.c: return 'res' to better discover test
- failures and to stop compiler warnings about it never being used
-
-2004-02-09 09:25 bagder
-
- * tests/libtest/lib506.c: Uninitialized variable set.
-
-2004-02-09 08:52 bagder
-
- * lib/ftp.c: Tor Arntsen's patch for working around a notorious bug
- in the AIX5 getaddrinfo() implementation.
-
-2004-02-09 08:12 bagder
-
- * docs/examples/curlgtk.c: Ken Rastatter's fixes to improve
- portability of this example:
-
- These minor changes remove portability issues with the this
- example and allow it to run on Win32. Specifically:
-
- * The use of pthread_create() has been replaced by
- g_thread_create(). This removes the dependency on the pthreads
- library. Since this is an example using GTK+, g_thread_create()
- is available as it is a part of glibc.
-
- * The CURLOPT_FILE option is now referred to by its "newer name"
- CURLOPT_WRITEDATA.
-
- * The use of CURLOPT_WRITEFUNCTION has been added. As described
- in the docs, this avoids the crashes when using a DLL under
- Win32.
-
- * The output file has been renamed from "/tmp/test.curl" to
- "test.curl". It's unlikely that there is a /tmp when in Win32 and
- other examples in libcurl write their output files to the working
- directory.
-
-2004-02-06 15:27 bagder
-
- * CHANGES: mingw configure fix, host: fix, compiler warnings in
- ldap.c
-
-2004-02-06 15:23 bagder
-
- * RELEASE-NOTES: updated with recent fixes
-
-2004-02-06 15:17 bagder
-
- * TODO-RELEASE: The Curl_strtoll() issue
-
-2004-02-06 14:42 bagder
-
- * TODO-RELEASE: updated
-
-2004-02-06 13:13 bagder
-
- * configure.ac: Rewrote the gethostbyname() check after Andrés
- García's provided patch for finding it using mingw on windows. I
- also made the script skip the search for gethostbyname_r and
- gethostbyaddr_r when ipv6 is enabled.
-
-2004-02-06 11:17 bagder
-
- * docs/curl.1: Added documentation of a few command line options
- that were still undocumented here.
-
-2004-02-06 09:11 bagder
-
- * lib/http.c: A custom Host: header is only considered if the
- request is not made by following a location. After discussions
- with Tim Baker.
-
-2004-02-06 08:59 bagder
-
- * lib/transfer.c: The MIPSPro compiler complains on constructs such
- as "(void)foo;" so we avoid it where possible.
-
-2004-02-06 08:28 bagder
-
- * lib/ldap.c: Make sure DynaGetFunction() returns a function
- pointer, not a data pointer. The standards don't actually allow
- typecasts between data and functions so some picky compilers warn
- about this.
-
-2004-02-06 08:15 bagder
-
- * testcurl.sh: Remove the attempt to detect if we already tested
- the same source setup. We really don't care, and so many other
- things could've changed to make the new test interesting anyway.
-
-2004-02-05 22:52 bagder
-
- * CHANGES: numerous things went in today
-
-2004-02-05 22:51 bagder
-
- * tests/FILEFORMAT: added the missing stdin section
-
-2004-02-05 22:40 bagder
-
- * configure.ac: An attempt to only set both libz-related defines at
- the same time. We need both the lib and the header present for
- both defines to be set. If only one of the files is found, we
- issue a warning and set no define.
-
-2004-02-05 22:03 bagder
-
- * src/Makefile.m32, lib/Makefile.m32: Andrés García's updates
-
-2004-02-05 16:50 bagder
-
- * lib/http.c: if an empty 'transfer-encoding:' header is provided,
- we switch off the chunky coding of uploads
-
-2004-02-05 16:21 bagder
-
- * tests/data/: Makefile.am, test98: Made a test that sends data on
- stdin to PUT, with a given length and chunked transfer-encoding
- disabled. Fixed to work after Len Krause's bug report.
-
-2004-02-05 14:25 bagder
-
- * lib/telnet.c: Gisle Vanem fixed a windows compiler warning
-
-2004-02-05 13:34 bagder
-
- * tests/libtest/: first.c, lib501.c, lib502.c, lib503.c, lib504.c,
- lib505.c, lib506.c, lib507.c, lib508.c, lib509.c, lib510.c:
- changed the test() function to return type int
-
-2004-02-05 13:19 bagder
-
- * ares/nameser.h: include process.h to get the _getpid() proto
-
-2004-02-05 11:38 bagder
-
- * configure.ac: when using --enable-debug and gcc, provide the
- -Wno-format-nonliteral option to prevent the warning in
- mprintf.c:
-
- (currently line 930) "format not a string literal, argument types
- not checked"
-
-2004-02-05 10:38 bagder
-
- * lib/url.c: options we get as longs need to be typecasted when
- assigned to prevent picky compiler warnings
-
-2004-02-05 10:38 bagder
-
- * lib/telnet.c: fix return type to silence compiler warnings
-
-2004-02-05 10:37 bagder
-
- * lib/version.c: prevent warning from that picky MIPSpro compiler
-
-2004-02-05 10:37 bagder
-
- * lib/multi.c: compiler warning fix, compare struct pointers of the
- same type
-
-2004-02-05 10:26 bagder
-
- * lib/ftp.c: use the timeout options when waiting for the server to
- connect when using PORT Provide better error messages to allow
- debugging if one if the ipv6-related name functions fail in the
- ftp_use_port() function. This might help us diagnose the problems
- on AIX. Also make sure getaddrinfo() uses NULL and not "0" for
- the service argument.
-
-2004-02-05 09:34 bagder
-
- * lib/hostip.c: hide the pack_hostent proto if ipv6 is enabled, as
- figured out by Tor Arntsen
-
-2004-02-05 09:27 bagder
-
- * src/config.h.in: Fix the socklen_t type too. Needed only when
- built with memory debugging as then we include the memdebug.h
- header from the lib dir, and it then requires this type... (fails
- on IRIX 6.5 without this)
-
-2004-02-04 11:24 bagder
-
- * ares/adig.c: fixed "comparison between signed and unsigned"
- complaints
-
-2004-02-04 11:23 bagder
-
- * ares/ares_process.c: don't use 'sin' as variable name as the
- picky compiler warnings complain about it shadowing the function
- sin()
-
-2004-02-04 10:16 bagder
-
- * ares/CHANGES: fixing
-
-2004-02-04 09:04 bagder
-
- * ares/nameser.h: prevent a compiler warning about a macro
- definition
-
-2004-02-04 09:00 bagder
-
- * ares/: nameser.h, windows_port.c: prevent the windows version to
- use global symbol names added prototypes for the strcasecmp()
- functions
-
-2004-02-04 08:54 bagder
-
- * ares/configure.ac: we use the more aggressive compiler warnings
-
-2004-02-04 08:52 bagder
-
- * ares/ares_private.h: made more pointers unsigned, as they were
- mostly used passed in to functions that assume them to be
- unsigned. Stops compiler warnings.
-
-2004-02-04 08:51 bagder
-
- * ares/: ares_parse_a_reply.c, ares_parse_ptr_reply.c: typecast
- comparision between signed and unsigned
-
-2004-02-04 08:50 bagder
-
- * ares/ares_init.c: try_config() takes a second parameter as const,
- to prevent picky compiler warnings
-
-2004-02-04 08:50 bagder
-
- * ares/ares_free_string.3: takes a void *, not a char * anymore
-
-2004-02-04 08:49 bagder
-
- * ares/: ares.h, ares_free_string.c: ares_free_string() now takes a
- void * instead
-
-2004-02-04 08:48 bagder
-
- * ares/ares_strerror.c: don't compare signed and unsigned
-
-2004-02-04 08:48 bagder
-
- * ares/Makefile.in: added a tags target
-
-2004-02-04 08:48 bagder
-
- * ares/FILES: new configure file
-
-2004-02-04 08:47 bagder
-
- * ares/: configure.ac, configure.in: use configure.ac instead of
- configure.in support --enable-debug to switch on picky compiler
- options
-
-2004-02-04 08:40 bagder
-
- * ares/ares_free_errmem.c: stop a compiler warning
-
-2004-02-03 16:59 bagder
-
- * docs/MANUAL: no one uses libcurl before 7.7 anyway...
-
-2004-02-03 15:06 bagder
-
- * ares/CHANGES: libcares.a is here
-
-2004-02-03 14:58 bagder
-
- * configure.ac: link with libcares instead of libares
-
-2004-02-03 14:58 bagder
-
- * ares/Makefile.in: We now produce 'libcares.a' instead, to make it
- possible to have both c-ares and the original ares installed in
- the same lib dir.
-
-2004-02-03 11:07 bagder
-
- * CHANGES: the configure and memdebug fixes of yday
-
-2004-02-03 10:52 bagder
-
- * lib/ftp.c: the unused quit-function didn't pass a correct
- variable type to the response reading function
-
-2004-02-03 10:40 bagder
-
- * ares/README.cares: add link to the new cares web site
-
-2004-02-03 10:16 bagder
-
- * ares/: ares_strerror.3, ares_version.3: added notes about
- incompatible functions
-
-2004-02-03 09:58 bagder
-
- * ares/ares_strerror.3: adjusted to the new single-parameter
- version of this function
-
-2004-02-03 09:47 bagder
-
- * ares/ares_expand_name.3: removed odd newline
-
-2004-02-03 07:39 bagder
-
- * lib/version.c: added the missing ares numerical version
- initialiser
-
-2004-02-03 07:38 bagder
-
- * ares/CHANGES: modified *strerror()
-
-2004-02-02 23:39 bagder
-
- * src/Makefile.am: Use the nroff option figured out by the
- configure script. An attempt to make this better on more systems.
-
-2004-02-02 23:39 bagder
-
- * configure.ac: try to figure out if -man or -mandoc works to get
- text with the NROFF utility
-
-2004-02-02 22:34 bagder
-
- * lib/memdebug.h: undef accept before defining it, since AIX 5.2
- has it as a define!
-
-2004-02-02 17:29 bagder
-
- * CHANGES: more test91 tweaks and some c-ares stuff
-
-2004-02-02 17:24 bagder
-
- * lib/version.c: now provides c-ares version info in both version
- calls
-
-2004-02-02 17:24 bagder
-
- * include/curl/curl.h: Introducing the SECOND version of the
- version_info struct. This should be backwards compatible with
- older libcurls just fine.
-
-2004-02-02 17:15 bagder
-
- * ares/: adig.c, ahost.c: use the new single-argument
- ares_strerror()
-
-2004-02-02 17:00 bagder
-
- * lib/hostip.c: adjusted to the modified ares_strerror() function
-
- NOTE that this breaks ares-compatibility, we have now officially
- taken the turn into the c-ares path. We will now officially
- depend on c-ares for asynch name resolves.
-
-2004-02-02 16:59 bagder
-
- * ares/: adig.c, ahost.c, ares__close_sockets.c,
- ares__get_hostent.c, ares__read_line.c, ares_destroy.c,
- ares_expand_name.c, ares_fds.c, ares_free_errmem.c,
- ares_free_hostent.c, ares_free_string.c, ares_gethostbyaddr.c,
- ares_gethostbyname.c, ares_init.c, ares_mkquery.c,
- ares_parse_a_reply.c, ares_parse_ptr_reply.c, ares_process.c,
- ares_query.c, ares_search.c, ares_send.c, ares_timeout.c: remove
- rcsid stuff from c files, it serves no useful purpose
-
-2004-02-02 16:59 bagder
-
- * ares/: ares.h, ares_strerror.c: removed the silly second argument
- to ares_strerror()
-
- This breaks the API and ABI with the existing ares library. We
- hereby require the upcoming c-ares 1.0 for asynch name resolves!
-
-2004-02-02 16:53 bagder
-
- * lib/hostip.c: Dirk Manske fixed the ares usage even more. We
- could get a timeout from ares as well, and when failing and not
- getting a timeout we now include the error message ares can
- provide us with.
-
-2004-02-02 16:34 bagder
-
- * docs/INSTALL: mention mpe/ix
-
-2004-02-02 15:49 bagder
-
- * lib/: http.c, if2ip.c, transfer.c, urldata.h: set the 'retry' bit
- to TRUE when the connection is about to be retried, this allows
- the HTTP code to *not* return a failure just because no data has
- been received from the server
-
-2004-02-02 15:49 bagder
-
- * lib/sendf.c: clear the sockerror if no error was returned
-
-2004-02-02 13:46 bagder
-
- * CHANGES: ares resolve timeout and ca bundle include fixes
-
-2004-02-02 12:59 bagder
-
- * lib/setup.h: we include errno.h to truly know if we have
- ECONNRESET or not
-
-2004-02-02 11:15 bagder
-
- * lib/hostip.c: Timeout slow ares name lookups. This is based on
- the patch brought by Dirk Manske, but modified by me.
-
-2004-02-02 11:13 bagder
-
- * lib/url.c: when including ca-bundle.h, don't look in the current
- dir first, simply use the search path since we want the
- build-version rather than the one in the source dir
-
-2004-02-02 08:24 bagder
-
- * src/getpass.c: fixed the win32 function to use the correct proto,
- as pointed out by Gisle Vanem
-
-2004-02-02 08:21 bagder
-
- * CHANGES: test case 97
-
-2004-02-02 08:13 bagder
-
- * tests/data/: Makefile.am, test97: added test 97, a simple test
- with -d post and a replacede content-type header using -H
-
-2004-01-30 13:43 bagder
-
- * CHANGES: attempt to fix the notorious test 91 failures
-
-2004-01-30 13:41 bagder
-
- * lib/transfer.c: make sure the connection is closed when it was
- detected reset!
-
-2004-01-30 13:08 bagder
-
- * lib/: sendf.c, setup.h, transfer.c, urldata.h: Somewhat crude
- attempt at fixing the test 91 failures. I commit this now so that
- the automatic testing hosts will test these changes over the
- weekend.
-
-2004-01-30 10:48 bagder
-
- * testcurl.sh: hide the grep result
-
-2004-01-30 10:31 bagder
-
- * RELEASE-NOTES: catching up with reality
-
-2004-01-30 10:31 bagder
-
- * CHANGES: test case 510, mpeix fix
-
-2004-01-30 10:27 bagder
-
- * tests/server/sws.c: when we receive a request overflow, we still
- dump the incoming request to the dump file to make it easier to
- understand and debug the situation
-
-2004-01-30 10:26 bagder
-
- * tests/libtest/: Makefile.am, lib510.c: added lib510.c for
- callback POST using chunked encoding
-
-2004-01-30 10:25 bagder
-
- * tests/data/: Makefile.am, test510: added test 510, callback-based
- POST using chunked encoding
-
-2004-01-30 09:54 bagder
-
- * docs/curl.1: --socks
-
-2004-01-30 09:51 bagder
-
- * CHANGES, src/main.c: Added --socks
-
-2004-01-30 08:51 bagder
-
- * lib/connect.c: only do the verifyconnect() clear magic on mpeix
-
-2004-01-29 17:17 bagder
-
- * TODO-RELEASE: the thread and SSL issue is now fixed
-
-2004-01-29 17:17 bagder
-
- * docs/libcurl-the-guide: note about the need for extra functions
- set to OpenSSL if you use OpenSSL multi-threaded
-
-2004-01-29 17:00 bagder
-
- * TODO-RELEASE: update with recent info
-
-2004-01-29 16:48 bagder
-
- * CHANGES, src/Makefile.am: don't include config.g in
- src/hugehelp.c unless HAVE_CONFIG_H is defined
-
-2004-01-29 16:41 bagder
-
- * CHANGES: ares fix, warnings fixed, mpeix fixes
-
-2004-01-29 16:38 bagder
-
- * configure.ac: check for sys/ioctl.h as well added commented more
- aggressive compiler options for gcc, subject to be used instead
- of the current ones when --enable-debug is used
-
-2004-01-29 16:37 bagder
-
- * lib/connect.c: added verifyconnect proto and use it correctly in
- the waitconnect function
-
-2004-01-29 16:35 bagder
-
- * lib/: if2ip.c, setup.h: moved the definitions of IOCTL_3_ARGS to
- setup.h
-
-2004-01-29 16:29 bagder
-
- * lib/connect.c: 1. changed order of two include files to build
- fine on MPE/iX 2. now reads the socket error before check connect
- status, also to make us run fine on MPE/iX
-
-2004-01-29 16:28 bagder
-
- * buildconf: Ken Hirsch says he basicly needs all 'mv' to be 'mv
- -f' for configure to run in a sane manner on his MPE/iX operating
- system.
-
-2004-01-29 14:56 bagder
-
- * lib/: connect.c, content_encoding.c, cookie.c, dict.c, escape.c,
- file.c, formdata.c, ftp.c, getdate.y, getenv.c, getinfo.c,
- http.c, http_chunks.c, http_chunks.h, if2ip.c, inet_pton.c,
- ldap.c, md5.c, memdebug.c, memdebug.h, mprintf.c, netrc.c,
- progress.c, sendf.c, share.c, ssluse.c, strequal.c, strtok.c,
- telnet.c: Dan Fandrich's cleanup patch to make pedantic compiler
- options cause less warnings. Minor edits by me.
-
-2004-01-29 14:54 bagder
-
- * src/: getpass.c, homedir.c, urlglob.c, writeout.c: make pedantic
- compiler options generate less warnings
-
-2004-01-29 14:53 bagder
-
- * src/Makefile.am: added hugehelp.h
-
-2004-01-29 14:49 bagder
-
- * src/mkhelp.pl: nonsence change to make -Wunreachable-code get
- happy
-
-2004-01-29 14:48 bagder
-
- * src/: hugehelp.h, main.c, mkhelp.pl: use hugehelp.h to silence
- picky compiler warnings
-
-2004-01-29 13:07 bagder
-
- * ares/ares_version.3: documented ares_version()
-
-2004-01-29 13:07 bagder
-
- * ares/: ares_version.c, ares_version.h: return a const char *
-
-2004-01-29 12:33 bagder
-
- * ares/maketgz: use the name 'c-ares' for this package
-
-2004-01-29 12:33 bagder
-
- * ares/FILES: include the new README.cares
-
-2004-01-29 12:32 bagder
-
- * ares/README: point out that this is a forked project, all c-ares
- specific stuff is now in README.cares
-
-2004-01-29 12:32 bagder
-
- * ares/README.cares: c-ares specific README, leaving most of the
- original README as-is
-
-2004-01-29 12:32 bagder
-
- * ares/CHANGES: cut off the initial blurb, moved that to
- README.cares
-
-2004-01-29 12:23 bagder
-
- * ares/: CHANGES, ares_process.c: Dirk Manske fixed a flaw in the
- setting of the socket to non-blocking
-
-2004-01-29 12:21 bagder
-
- * RELEASE-NOTES, TODO-RELEASE: updates
-
-2004-01-29 08:43 bagder
-
- * tests/data/test60: adjusted to the corrected chunked
- transfer-encoding extra trailing CRLF
-
-2004-01-29 08:29 bagder
-
- * testcurl.sh: verify that buildconf ran fine to allow it to
- continue
-
-2004-01-28 22:44 bagder
-
- * CHANGES: upload with chunked transfer encoding is now fixed
-
-2004-01-28 18:38 bagder
-
- * src/main.c: Gisle has eyes, I don't
-
-2004-01-28 18:07 bagder
-
- * lib/http.c, lib/transfer.c, tests/data/test56: Chunked-transfers
- should have an additional CRLF after the final 0 CRLF sequence.
-
-2004-01-28 18:03 bagder
-
- * tests/data/test503: added the extra newline that this needs to
- succeed
-
-2004-01-27 14:35 bagder
-
- * tests/data/test96: send a connection: close in the initial reply
- to see if things differ
-
-2004-01-27 14:17 bagder
-
- * TODO-RELEASE: number two is fixed!
-
-2004-01-27 13:54 bagder
-
- * CHANGES, lib/http.c, tests/data/test503, tests/data/test80,
- tests/data/test82, tests/data/test83, tests/data/test95: CONNECT
- response headers are now passed back as "regular" headers
-
-2004-01-27 13:39 bagder
-
- * src/main.c: don't advance the line pointer if it already points
- to the null terminator
-
-2004-01-27 13:25 bagder
-
- * lib/progress.c: very big transfers now get nicer progress
- displayed after 9999 megabytes have been transfered!
-
-2004-01-27 13:16 bagder
-
- * buildconf: display OK if it runs OK
-
-2004-01-26 17:16 bagder
-
- * lib/url.c: when saving in a cookie jar fails, include the file
- name in the error message to make it easier to track down
-
-2004-01-26 08:55 bagder
-
- * src/main.c: Removed two redundant #include files in the djgpp
- section. They're already included. (a Dan Fandrich fix)
-
-2004-01-23 13:52 bagder
-
- * docs/libcurl/curl_easy_setopt.3: the *_LARGE options work fine on
- windows in 7.11.1
-
-2004-01-23 13:51 bagder
-
- * CHANGES: things continue to happen
-
-2004-01-23 13:50 bagder
-
- * src/main.c: Use Curl_strtoll() if needed. This is not a library
- call, this is just the same code as the library uses for its
- internal function. Thus the captical C in the beginning.
-
-2004-01-23 13:49 bagder
-
- * src/Makefile.am: use the Curl_strtoll() source code from the lib
- code
-
-2004-01-23 09:36 bagder
-
- * lib/url.c: Proxy username and password on persistant connections
- could easily get messed up. Vincent Bronner detected this.
-
-2004-01-23 09:29 bagder
-
- * lib/url.c: check the arguments to the socks5 function, as the
- name and password might be NULL pointers, and if non-NULL if now
- support zero-length names/passwords
-
-2004-01-23 09:02 bagder
-
- * lib/progress.c: fixed the progress meter display for files >32
- bit, Gisle Vanem reported
-
-2004-01-23 08:44 bagder
-
- * lib/strtoofft.h: include curl.h for the typedef
-
-2004-01-23 08:41 bagder
-
- * src/setup.h, lib/setup.h: define SIZEOF_CURL_OFF_T if not already
- defined
-
-2004-01-22 15:37 bagder
-
- * lib/strtoofft.c: re-intended the code curl-style
-
-2004-01-22 15:35 bagder
-
- * CHANGES: zlib fix for the help text, stroll usage on mingw/djgpp
-
-2004-01-22 15:31 bagder
-
- * lib/: strtoofft.c, strtoofft.h: return curl_off_t instead of long
- long, to work on more platforms
-
-2004-01-22 15:27 bagder
-
- * src/mkhelp.pl: Gisle Vanem fixed the compressed help text zlib
- code
-
-2004-01-22 15:25 bagder
-
- * lib/config.dj: it has strtoll
-
-2004-01-22 15:25 bagder
-
- * lib/config-win32.h: Gisle Vanem's fix, mingw as strtoll
-
-2004-01-22 14:11 bagder
-
- * lib/file.c: attempt to fix 64bit seeking for Windows, does it
- work?
-
-2004-01-22 13:48 bagder
-
- * curl-style.el: font-lock the curl_off_t type instead of the off_t
-
-2004-01-22 13:46 bagder
-
- * CHANGES: header file fixing
-
-2004-01-22 13:46 bagder
-
- * src/: config.h.in, main.c: use curl_off_t instead of off_t
-
-2004-01-22 13:45 bagder
-
- * lib/: config-amigaos.h, dict.c, easy.c, file.c, ftp.c, http.c,
- mprintf.c, setup.h, strtoofft.h, transfer.c, transfer.h, url.c,
- urldata.h: use curl_off_t instead of off_t!
-
-2004-01-22 13:01 bagder
-
- * configure.ac: Instead of checking the off_t size, we use the
- source dir version of the curl.h header and then check for the
- size of the curl_off_t type.
-
-2004-01-22 12:56 bagder
-
- * include/curl/curl.h: s/not/note
-
-2004-01-22 12:54 bagder
-
- * include/curl/curl.h: curl_off_t is the new type for large file
- support HttpPost is not defined anymore
-
-2004-01-22 12:54 bagder
-
- * lib/: formdata.h, url.c, urldata.h: use the proper type for
- formposts, not the deprecated one
-
-2004-01-22 12:53 bagder
-
- * lib/ftp.h: added the missing proto for the still unused quit
- function
-
-2004-01-22 11:17 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mark the option better
-
-2004-01-22 10:40 bagder
-
- * RELEASE-NOTES, TODO-RELEASE: start working on 7.11.1
-
-2004-01-22 10:15 bagder
-
- * CHANGES: release time!
-
-2004-01-22 10:15 bagder
-
- * docs/libcurl/curl_easy_setopt.3: no large files on windows just
- yet
-
-2004-01-21 10:22 bagder
-
- * TODO-RELEASE: updates
-
-2004-01-21 09:52 bagder
-
- * COPYING: updated year
-
-2004-01-21 09:51 bagder
-
- * tests/data/test96: removed Basic in the initial response to see
- if it makes any difference in the failure frequency
-
-2004-01-21 09:50 bagder
-
- * lib/ftp.c: use the proper timecond defines, not the obsolete ones
- I've removed! ;-)
-
- The initial QUIT-sending code is added, but not yet used due to
- the issues previously mentioned on the mailing list.
-
-2004-01-21 09:47 bagder
-
- * lib/transfer.c: use the proper timecond defines, not the obsolete
- ones!
-
-2004-01-21 09:45 bagder
-
- * RELEASE-NOTES: Byron's fixes
-
-2004-01-21 09:44 bagder
-
- * CHANGES: old timecond defines removed
-
-2004-01-21 09:39 bagder
-
- * include/curl/curl.h: Removed defines with TIMECOND_ prefixes.
- They have been obsolte since April 22 2002, and if this causes
- anyone any problems now it is very easy to just add CURL_ to the
- names. This corrects this name space pollution.
-
-2004-01-21 08:46 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarified where VERBOSE output
- goes
-
-2004-01-19 23:16 bagder
-
- * CHANGES: David Byron's --trace fix
-
-2004-01-19 23:15 bagder
-
- * src/main.c: David Byron cleaned up how --trace with no option was
- treated, and also arguments in a config file without a required
- parameter!
-
-2004-01-19 16:41 bagder
-
- * CHANGES: two minor build quirks
-
-2004-01-19 16:41 bagder
-
- * TODO-RELEASE: nothing left for 7.11.0, the remaining items were
- moved to 7.11.1 as planned
-
-2004-01-16 13:40 bagder
-
- * tests/data/test96: added this test, this is basicly a copy of
- test 91 but we return the first response with a size 5 instead of
- size 0, to see if this has an impact on the failure frequency -
- test 91 still fails occationally.
-
-2004-01-16 10:17 bagder
-
- * src/main.c, lib/content_encoding.c, lib/ssluse.c, src/urlglob.c:
- Gisle Vanem's patch for variables that "might be used
- uninitialized"
-
-2004-01-16 08:15 bagder
-
- * lib/if2ip.h: silly me
-
-2004-01-16 08:09 bagder
-
- * lib/: if2ip.c, if2ip.h: Avoid Curl_if2ip() on Interix as well.
- Fix by Rodney.
-
-2004-01-16 07:50 bagder
-
- * tests/ftpserver.pl: removed unused stuff
-
-2004-01-15 14:08 bagder
-
- * lib/progress.c: use the %dk display for one extra k of progress
-
-2004-01-15 13:49 bagder
-
- * CHANGES: automake 1.8 adjustment
-
-2004-01-15 13:48 bagder
-
- * acinclude.m4: Added escaping of the function name in the
- AC_DEFUN() macros, so that automake 1.8+ stops complaining!
-
-2004-01-15 11:38 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Peter Sylvester's
- CURLOPT_SSL_CTX_FUNCTION docs I reworded some of the intial
- paragraphs to avoid 'NOTE2'
-
-2004-01-15 11:21 bagder
-
- * RELEASE-NOTES: now compressed out of the box
-
-2004-01-15 11:20 bagder
-
- * TODO-RELEASE: issue 22 (better compressed manual) is fixed
-
-2004-01-15 11:19 bagder
-
- * configure.ac: check for limits.h as well
-
-2004-01-15 10:54 bagder
-
- * lib/connect.c: added missing parenthesis
-
-2004-01-15 08:09 bagder
-
- * src/main.c: spell-fixed a comment now errors out if built with
- off_t > 32 bits but without strtoll()
-
-2004-01-14 10:16 bagder
-
- * CHANGES, RELEASE-NOTES: clarified the recent fix, added cred
-
-2004-01-14 10:11 bagder
-
- * lib/connect.c: rearranged the connect() call so that there's no
- interleaved #ifdef, to make it compiler better on amigaos
-
-2004-01-14 10:07 bagder
-
- * CHANGES: Curl_resolv fix
-
-2004-01-14 10:05 bagder
-
- * lib/hostip.c: fixed the Curl_resolv()'s return code when the
- looked up host was already in the cache (Vincent Bronner)
-
-2004-01-14 08:47 bagder
-
- * src/config.h.in: HAVE_LIMITS_H
-
-2004-01-14 08:42 bagder
-
- * src/: config-win32.h, main.c, setup.h: Gisle Vanem updated the
- code for win32 and djgpp builds.
-
-2004-01-13 17:13 bagder
-
- * src/getpass.c: indented and formatted the VMS-specific code more
- in the same style as other curl code
-
-2004-01-13 17:07 bagder
-
- * CHANGES, RELEASE-NOTES, src/getpass.c: Luck Call made win32
- password prompting support backspace
-
-2004-01-13 14:34 bagder
-
- * tests/data/Makefile.am: we no longer distribute the non-working
- tests 400 - 403
-
-2004-01-13 09:59 bagder
-
- * lib/getdate.y: added a comment about this not being the original
- getdate.y version, it has been modified
-
-2004-01-13 09:57 bagder
-
- * Makefile.am: source header added
-
-2004-01-13 09:57 bagder
-
- * Makefile.dist, src/Makefile.am, tests/Makefile.am,
- tests/runtests.pl, tests/libtest/Makefile.am: use the *correct*
- header!
-
-2004-01-13 09:50 bagder
-
- * CHANGES: zlib patch, amigaos patch
-
-2004-01-13 09:48 bagder
-
- * src/Makefile.am: Dan Fandrich made the hugehelp.c contain both
- compressed and uncompressed help if libz is available using
- #ifdef in the source instead, to allow the distributed source
- code to be easier built with compressed help text.
-
-2004-01-13 09:47 bagder
-
- * src/config.h.in: define HAVE_LIBZ if libz is present, for
- hugehelp.c
-
-2004-01-13 09:38 bagder
-
- * TODO-RELEASE: amiga patch applied and committed
-
-2004-01-13 09:36 bagder
-
- * RELEASE-NOTES: the multi change, the amiga build, credits
-
-2004-01-13 09:35 bagder
-
- * lib/amigaos.h, lib/config-amigaos.h, lib/easy.c, lib/setup.h,
- lib/timeval.h, src/config-amigaos.h, src/main.c,
- src/makefile.amiga, src/setup.h: Diego Casorran's fixes to allow
- native AmigaOS builds
-
-2004-01-13 09:05 bagder
-
- * CHANGES: three changes done this morning
-
-2004-01-13 09:04 bagder
-
- * lib/: libcurl.framework.make, libcurl.plist: Matt Veenstra
- updated the Mac OS X framework files
-
-2004-01-13 09:02 bagder
-
- * lib/Makefile.b32: Brian R Duffy made the makefile work to build
- SSL-enabled curl with Borland C++.
-
-2004-01-13 08:58 bagder
-
- * docs/INSTALL: Brian R Duffy provide a "build SSL-enabled with
- Borland" section
-
-2004-01-13 08:42 bagder
-
- * Makefile.dist: fix the copyright string years
-
-2004-01-13 08:39 bagder
-
- * tests/README: modified the TODO, we already do persistant tests
-
-2004-01-13 08:38 bagder
-
- * tests/Makefile.am: added our standard header
-
-2004-01-13 08:37 bagder
-
- * tests/runtests.pl: added standard source header
-
-2004-01-13 08:36 bagder
-
- * tests/libtest/Makefile.am: fix the include path to point to the
- libcurl's source dir too for the setup.h inclusion
-
-2004-01-13 08:35 bagder
-
- * tests/libtest/test.h: include setup.h from the lib dir instead to
- get even more private stuff from the libcurl build, but right now
- for the USE_SSLEAY define.
-
-2004-01-12 16:54 bagder
-
- * TODO-RELEASE: more stuff to be added "soon"
-
-2004-01-12 16:27 bagder
-
- * TODO-RELEASE: Peter Sylvester's multi patches were applied
-
-2004-01-12 16:26 bagder
-
- * CHANGES, lib/multi.c, tests/stunnel.pem, tests/data/Makefile.am,
- tests/data/test509, tests/libtest/Makefile.am,
- tests/libtest/lib509.c: Peter Sylvester brought code that now
- allows a callback to modified the URL even when the multi
- interface is used, and then libcurl will simulate a "follow
- location" to that new URL. Test 509 was added to test this
- feature.
-
-2004-01-12 15:41 bagder
-
- * CHANGES: better test script
-
-2004-01-12 15:34 bagder
-
- * tests/runtests.pl: better skip reasons, longer waiting for
- startup of servers (due to slow/loaded host), added
- retrying/waiting for slow stunnel startups
-
-2004-01-12 10:14 bagder
-
- * maketgz: cut the patch number before a '-' too, to enable
- '7.11.0-pre1' to use patch number zero.
-
-2004-01-12 09:48 bagder
-
- * docs/libcurl-the-guide: http auth types disable EPRT removed
- passwd prompting text
-
-2004-01-12 09:14 bagder
-
- * RELEASE-NOTES: removed the "build natively on amiga" note as this
- is not yet true, we're awaiting a patch that might be delayed
- into 7.11.1 instead (see TODO-RELEASE)
-
-2004-01-12 09:08 bagder
-
- * TODO-RELEASE: added the forgotten patch tracker item #844036
-
-2004-01-12 08:59 bagder
-
- * RELEASE-NOTES: Dan Fandrich does download page edits ftps has a
- new port
-
-2004-01-12 00:02 bagder
-
- * TODO-RELEASE: issue 6 moved to 7.11.1
-
-2004-01-11 23:56 bagder
-
- * CHANGES, lib/url.c, lib/urldata.h: Dominick Meglio pointed out
- FTPS should use default port 990 according to IANA.
-
-2004-01-09 15:03 bagder
-
- * lib/http.c: added one assert and a few comments describing how
- the auth stuff works
-
-2004-01-09 10:36 bagder
-
- * docs/INSTALL: added a short intro text about this not being for
- binary package installs
-
-2004-01-09 10:25 bagder
-
- * RELEASE-NOTES: the --with-spnego fix
-
-2004-01-09 10:06 bagder
-
- * CHANGES: configure spnego fix of yday
-
-2004-01-09 09:59 bagder
-
- * docs/TODO: a fair idea
-
-2004-01-09 08:45 bagder
-
- * lib/README.ares: Dominick Meglio updated the win description
- since we fixed the gettimeofday name issue
-
-2004-01-09 00:06 bagder
-
- * TODO-RELEASE: Giuseppe Attardi's bug
-
-2004-01-08 23:58 bagder
-
- * configure.ac: fixed the LDFLAGS creation for the SPNEGO option
-
-2004-01-08 23:03 bagder
-
- * TODO-RELEASE: a few issues are now awaiting response
-
-2004-01-07 16:46 bagder
-
- * README: sourceforge out, siamu.ac.th in
-
-2004-01-07 15:53 bagder
-
- * docs/THANKS: added a few people who have been doing lots of good
- stuff
-
-2004-01-07 15:50 bagder
-
- * docs/FEATURES: feature update
-
-2004-01-07 14:41 bagder
-
- * RELEASE-NOTES: added fresh mirror info since last release
-
-2004-01-07 11:22 bagder
-
- * README: stopped the sf mirror
-
-2004-01-07 10:19 bagder
-
- * configure.ac, include/curl/curl.h, include/curl/easy.h,
- include/curl/mprintf.h, include/curl/multi.h,
- include/curl/stdcheaders.h, include/curl/types.h, lib/amigaos.c,
- lib/amigaos.h, lib/arpa_telnet.h, lib/base64.c, lib/base64.h,
- lib/connect.c, lib/connect.h, lib/content_encoding.c,
- lib/content_encoding.h, lib/cookie.c, lib/cookie.h, lib/dict.c,
- lib/dict.h, lib/easy.c, lib/escape.c, lib/escape.h, lib/file.c,
- lib/file.h, lib/formdata.c, lib/formdata.h, lib/ftp.c, lib/ftp.h,
- lib/getenv.c, lib/getinfo.c, lib/getinfo.h, lib/hash.c,
- lib/hash.h, lib/hostip.c, lib/hostip.h, lib/http.c, lib/http.h,
- lib/http_chunks.c, lib/http_chunks.h, lib/http_digest.c,
- lib/http_digest.h, lib/http_negotiate.c, lib/http_negotiate.h,
- lib/http_ntlm.c, lib/http_ntlm.h, lib/if2ip.c, lib/if2ip.h,
- lib/inet_pton.h, lib/krb4.h, lib/ldap.c, lib/ldap.h, lib/llist.c,
- lib/llist.h, lib/md5.c, lib/md5.h, lib/memdebug.c,
- lib/memdebug.h, lib/multi.c, lib/netrc.c, lib/netrc.h,
- lib/progress.c, lib/progress.h, lib/security.h, lib/sendf.c,
- lib/sendf.h, lib/setup.h, lib/share.c, lib/share.h,
- lib/speedcheck.c, lib/speedcheck.h, lib/ssluse.c, lib/ssluse.h,
- lib/strequal.c, lib/strequal.h, lib/strtok.c, lib/strtok.h,
- lib/strtoofft.c, lib/strtoofft.h, lib/telnet.c, lib/telnet.h,
- lib/transfer.c, lib/transfer.h, lib/url.c, lib/url.h,
- lib/urldata.h, lib/version.c, src/getpass.h, src/homedir.c,
- src/homedir.h, src/main.c, src/setup.h, src/urlglob.c,
- src/urlglob.h, src/writeenv.c, src/writeenv.h, src/writeout.c,
- src/writeout.h, tests/server/sws.c: updated year in the copyright
- string
-
-2004-01-07 08:44 bagder
-
- * TODO-RELEASE: removed the fixed entries, somewhat updated entries
-
-2004-01-07 08:20 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention that the _LARGE options
- are added in 7.11.0, added a header to the file with the standard
- curl blurb
-
-2004-01-05 23:55 bagder
-
- * CHANGES, RELEASE-NOTES: Dan Fandrich fixed our zlib usage
-
-2004-01-05 23:54 bagder
-
- * src/mkhelp.pl, lib/content_encoding.c: Dan Fandrich's zlib fix
-
-2004-01-05 23:52 bagder
-
- * TODO-RELEASE: Accept fix
-
-2004-01-05 23:39 bagder
-
- * lib/: strtoofft.c, strtoofft.h: new files for the large file
- support number parsing
-
-2004-01-05 23:38 bagder
-
- * TODO-RELEASE: large file support added in CVS now
-
-2004-01-05 23:37 bagder
-
- * RELEASE-NOTES: mr Meyer brought large file support
-
-2004-01-05 23:35 bagder
-
- * CHANGES: David J Meyer's large file work was added.
-
-2004-01-05 23:34 bagder
-
- * include/curl/curl.h: fix duplicates
-
-2004-01-05 23:29 bagder
-
- * docs/libcurl-the-guide, docs/examples/ftpupload.c,
- docs/examples/httpput.c, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/Makefile.am, lib/Makefile.b32,
- lib/Makefile.b32.resp, lib/Makefile.m32, lib/Makefile.riscos,
- lib/Makefile.vc6, lib/config-riscos.h, lib/config-vms.h,
- lib/dict.c, lib/easy.c, lib/file.c, lib/ftp.c, lib/http.c,
- lib/mprintf.c, lib/progress.c, lib/transfer.c, lib/transfer.h,
- lib/url.c, lib/urldata.h, src/config.h.in, src/main.c,
- tests/libtest/lib505.c: David J Meyer's large file support.
-
-2004-01-05 15:56 bagder
-
- * docs/libcurl/curl_easy_setopt.3: minor wording change
-
-2004-01-05 15:46 bagder
-
- * docs/libcurl/curl_easy_setopt.3: minor format flaw
-
-2004-01-05 15:20 bagder
-
- * buildconf, testcurl.sh: Tor Arntsen fixed a spelling error
-
-2004-01-04 18:38 bagder
-
- * TODO-RELEASE: we call it 7.11.0
-
-2004-01-04 18:37 bagder
-
- * TODO-RELEASE: What I hope we get done in the next few releases
-
-2004-01-04 14:01 bagder
-
- * RELEASE-NOTES: curl-related news
-
-2004-01-04 13:20 bagder
-
- * ares/CHANGES: the gettimeofday fix
-
-2004-01-04 13:19 bagder
-
- * ares/: nameser.h, windows_port.c: Dominick Meglio's fix to make
- our private gettimeofday() use the ares_ namespace
-
-2004-01-04 13:10 bagder
-
- * lib/timeval.c: make our private version of gettimeofday() static
-
-2004-01-04 13:09 bagder
-
- * lib/timeval.h: white space and copyright year changes
-
-2004-01-04 13:00 bagder
-
- * lib/README.ares: Dominick Meglio's description how to build ares
- for libcurl on win32
-
-2004-01-02 13:57 bagder
-
- * docs/BINDINGS: there's a ferite binding too
-
-2003-12-22 18:24 bagder
-
- * docs/FAQ: curl doesn't do recursive operations
-
-2003-12-22 12:02 bagder
-
- * README: added redwire.net
-
-2003-12-22 11:53 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Andrés García added
- CURLOPT_IPRESOLVE
-
-2003-12-19 09:11 bagder
-
- * CHANGES: fixing
-
-2003-12-19 09:10 bagder
-
- * lib/url.c: Make setopt() support CURLOPT_IPRESOLVE...
-
-2003-12-19 09:03 bagder
-
- * src/makefile.dj, packages/DOS/common.dj: Gisle Vanem's djgpp
- fixes
-
-2003-12-19 09:03 bagder
-
- * lib/: config.dj, makefile.dj: djgpp fixes by Gisle Vanem
-
-2003-12-19 09:03 bagder
-
- * lib/url.c: Gisle Vanem's minor fixes
-
-2003-12-18 19:05 bagder
-
- * docs/examples/httpput.c: typecast the size to long for platforms
- where st_size is off_t
-
-2003-12-18 14:33 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: Andrés García's update
-
-2003-12-18 10:19 bagder
-
- * lib/transfer.c: redirect from a bad url such as "www.com?moo=foo"
- to an absolute path didn't work, as reported by John McGowan
-
-2003-12-18 09:56 bagder
-
- * lib/config-win32.h: David Byron's fix to make libcurl build fine
- with both .NET and VC6 version of MSVC
-
-2003-12-18 08:52 bagder
-
- * docs/examples/httpput.c: clarified the URL part based on the
- problems Martin Hilpert had
-
-2003-12-17 17:07 bagder
-
- * RELEASE-NOTES: spell
-
-2003-12-17 16:33 bagder
-
- * tests/runtests.pl: Check the error code AFTER the protocol and
- data. Only changed to perhaps get some further input on the
- notorious test case 91 failures!
-
-2003-12-16 15:51 bagder
-
- * docs/INSTALL: AmigaOS build notes
-
-2003-12-16 15:08 bagder
-
- * lib/memdebug.c: use the curlassert() instead of custom checks
-
-2003-12-16 10:53 bagder
-
- * curl-style.el: add off_t as a recognized type for font-locking
-
-2003-12-16 10:51 bagder
-
- * CHANGES: test506 fix
-
-2003-12-16 10:49 bagder
-
- * tests/: data/test506, libtest/lib506.c: modified and corrected
- test 506
-
-2003-12-15 18:42 bagder
-
- * CHANGES: changed the dns cache pruning
-
-2003-12-15 18:37 bagder
-
- * RELEASE-NOTES: one correction, one addition
-
-2003-12-15 18:33 bagder
-
- * lib/: hostip.c, hostip.h, url.c: added a library-wide interface
- for doing dns cache pruning, and no longer make the pruning at
- each name lookup, only in Curl_done().
-
-2003-12-15 16:46 bagder
-
- * RELEASE-NOTES: added the six most recent bugfixes
-
-2003-12-15 16:22 bagder
-
- * lib/hostip.c: if Curl_hash_add() returns NULL, we shall not free
- the addrinfo field as that is made in the hash function in the
- case of failure (using the already setup 'dtor' function).
-
-2003-12-15 16:21 bagder
-
- * lib/hash.c: make sure that hash_add() has no allocated resources
- left in case it returns NULL
-
-2003-12-15 15:48 bagder
-
- * CHANGES, lib/url.c: Giuseppe Attardi fixed a really tricky bug
-
-2003-12-15 14:24 bagder
-
- * configure.ac: We cannot 'cd' to the ares build dir to get the
- path, as the directory hasn't been created at this point yet when
- we build outside of the source dir.
-
-2003-12-15 09:14 bagder
-
- * testcurl.sh: remove the build directory on exist, if there is any
-
-2003-12-12 16:28 bagder
-
- * maketgz: some outputs for easier debugging
-
-2003-12-12 16:06 bagder
-
- * testcurl.sh: only build ares if truly enabled
-
-2003-12-11 11:20 bagder
-
- * testcurl.sh: ares-using configure should run configure in the
- subdir by itself
-
-2003-12-11 11:19 bagder
-
- * configure.ac: if there is an 'ares' subdirectory when configure
- is run with --enable-ares (without a given path), we run
- configure automatically in that subdir
-
-2003-12-11 08:27 bagder
-
- * lib/Makefile.am, src/Makefile.am: use the CORRECT file name! ;-)
-
-2003-12-10 17:05 bagder
-
- * configure.ac: check for strtoll(), for the upcoming >2GB patch
-
-2003-12-10 16:30 bagder
-
- * CHANGES: dict and a man page fixes
-
-2003-12-10 16:27 bagder
-
- * lib/dict.c: Use Curl_transfer() properly. Fixes the bug Gisle
- Vanem found!
-
-2003-12-10 16:27 bagder
-
- * lib/transfer.c: assert that we get a good index to
- Curl_transfer()
-
-2003-12-10 16:27 bagder
-
- * lib/setup.h: we now have a 'curlassert' function to use
-
-2003-12-10 16:25 bagder
-
- * configure.ac: check for assert.h
-
-2003-12-10 15:16 bagder
-
- * lib/README.ares: updated with the new configure option usage
-
-2003-12-10 15:13 bagder
-
- * docs/KNOWN_BUGS: curl-config bug corrected
-
-2003-12-10 15:02 bagder
-
- * CHANGES: Diego Casorran tapping on Amiga support
-
-2003-12-10 14:56 bagder
-
- * lib/Makefile.am, src/Makefile.am: added the new amiga files to
- the dist
-
-2003-12-10 14:54 bagder
-
- * lib/makefile.amiga, src/makefile.amiga: Diego Casorran's amiga
- makefiles
-
-2003-12-10 14:54 bagder
-
- * src/config-amigaos.h: native amiga support by Diego Casorran
-
-2003-12-10 14:53 bagder
-
- * lib/: amigaos.c, amigaos.h, config-amigaos.h: native AmigaOS
- support by Diego Casorran
-
-2003-12-10 14:51 bagder
-
- * Makefile.dist: Diego Casorran's amiga build patch
-
-2003-12-10 14:40 bagder
-
- * CHANGES: ares configure and build fix
-
-2003-12-10 14:38 bagder
-
- * lib/Makefile.am: do the ares stuff in the configure file
-
-2003-12-10 14:37 bagder
-
- * configure.ac: Dominick Meglio made --enable-ares support an
- option =PATH to specify a root path to an installed ares.
-
-2003-12-10 08:50 bagder
-
- * docs/HISTORY: minor language fixes
-
-2003-12-10 08:16 bagder
-
- * docs/libcurl/libcurl-errors.3: Eric S. Raymond's fix of the NAME
- section
-
-2003-12-09 09:05 bagder
-
- * docs/HISTORY: added some details from the old scrolls
-
-2003-12-08 15:14 bagder
-
- * docs/examples/: fopen.c, post-callback.c: removed old version
- checks
-
-2003-12-08 15:13 bagder
-
- * docs/examples/: fopen.c, ftpget.c, ftpgetresp.c, ftpupload.c,
- getinmemory.c, httpput.c, post-callback.c: use the newer option
- names
-
-2003-12-08 14:59 bagder
-
- * docs/FAQ: updated 5.5 to use the modern names of these defines
-
-2003-12-08 14:51 bagder
-
- * docs/KNOWN_BUGS: ares in curl-config
-
-2003-12-08 14:48 bagder
-
- * docs/TODO: removed one, added one
-
-2003-12-08 14:38 bagder
-
- * CHANGES: -lz fix
-
-2003-12-08 14:37 bagder
-
- * configure.ac: no need to add -lz to LDFLAGS manually, as
- AC_CHECK_LIB() does that automatically!
-
-2003-12-08 14:11 bagder
-
- * CHANGES, RELEASE-NOTES: updated
-
-2003-12-08 14:06 bagder
-
- * lib/ftp.c: better human error message when a FTP response can't
- be read
-
-2003-12-08 11:00 bagder
-
- * CHANGES, configure.ac, curl-config.in: curl-config now shows
- asyncdns if built with ares enabled
-
-2003-12-04 16:21 bagder
-
- * lib/krb4.c: based on Gisle's comment, I removed the use of
- syslog() and fixed the netdb.h include, then I re-indented some
- code to use curl-style
-
-2003-12-04 14:01 bagder
-
- * docs/libcurl/curl_easy_setopt.3: minor edit of the PRIVATE option
-
-2003-12-04 13:56 bagder
-
- * docs/libcurl/libcurl-errors.3: cut out the wrong version blurb
-
-2003-12-03 15:09 bagder
-
- * docs/curl.1: edited the -d section slightly
-
-2003-12-03 15:02 bagder
-
- * docs/curl.1: minor edit
-
-2003-12-03 09:41 bagder
-
- * CHANGES: VMS
-
-2003-12-03 09:40 bagder
-
- * src/main.c: Marty Kuhrt moved most of the VMS stuff to a separate
- header file.
-
-2003-12-03 09:39 bagder
-
- * src/Makefile.am: new VMS files
-
-2003-12-03 09:39 bagder
-
- * src/: curlmsg.h, curlmsg.msg, curlmsg.sdl, curlmsg_vms.h: Marty
- Kuhrt updates
-
-2003-12-03 09:26 bagder
-
- * lib/ftp.c: my contentlength adjustment broke the ftp download
- range stuff, this makes it work again
-
-2003-12-03 08:55 bagder
-
- * CHANGES, lib/hostip.c: Steve Green fixed Curl_resolv()
-
-2003-12-03 08:52 bagder
-
- * CHANGES, lib/transfer.c, lib/urldata.h: Ignore content-length
- when chunked transfer-encoding is transfered.
-
-2003-12-02 23:05 bagder
-
- * lib/setup.h: less complicated code for the MSG_NOSIGNAL detection
-
-2003-12-02 23:04 bagder
-
- * configure.ac: that MSG_NOSIGNAL check serves no useful purpose!
-
-2003-12-02 19:03 bagder
-
- * CHANGES: --ftp-pasv
-
-2003-12-02 19:01 bagder
-
- * src/main.c, docs/curl.1: --ftp-pasv now overrides a previous
- --ftpport option. We now also support it named "--ftp-port" as
- the additional dash between the words is used in several other
- options and this makes it more consistant.
-
-2003-12-02 14:40 bagder
-
- * lib/: ftp.c, transfer.c: fix compiler warnings
-
-2003-12-02 14:27 bagder
-
- * lib/: config-riscos.h, config-vms.h, ftp.c, krb4.c, security.c,
- sendf.c, url.c, urldata.h, version.c: use the HAVE_KRB4 define
- instead of just KRB4
-
-2003-12-02 14:27 bagder
-
- * configure.ac: renamed the KRB4 to HAVE_KRB4
-
-2003-12-02 14:21 bagder
-
- * lib/ftp.c: fixes from Gisle Vanem to try 'AUTH SSL' before 'AUTH
- TLS', edited by me
-
-2003-12-02 11:13 bagder
-
- * CHANGES: MSG_NOSIGNAL
-
-2003-12-02 11:12 bagder
-
- * lib/: setup.h, transfer.c: If HAVE_MSG_NOSIGNAL is set, we use
- MSG_NOSIGNAL when we call send() and recv() and we no longer
- attempt to ignore the SIGPIPE signal.
-
-2003-12-02 11:11 bagder
-
- * configure.ac: check for MSG_NOSIGNAL
-
-2003-12-02 07:25 bagder
-
- * lib/url.c: Gisle Vanem fixed the check-order for FTPS and FTP.
-
-2003-12-01 11:25 bagder
-
- * RELEASE-NOTES: updated
-
-2003-12-01 11:25 bagder
-
- * CHANGES: FTPS now works pretty good
-
-2003-12-01 11:14 bagder
-
- * lib/ftp.c: FTPS now works with active ftp and uploads too.
-
-2003-11-30 12:18 bagder
-
- * README: Sven Wegener runs the new German web mirror
-
-2003-11-27 13:24 bagder
-
- * CHANGES, src/Makefile.b32, lib/Makefile.b32,
- lib/Makefile.b32.resp: James Clancy updated the Borland makefiles
-
-2003-11-27 10:53 bagder
-
- * CHANGES: Markus Moeller and SPNEGO
-
-2003-11-27 10:52 bagder
-
- * lib/http_negotiate.c: Markus Moeller's change to check for
- HAVE_SPNEGO instead of the previous
-
-2003-11-27 10:52 bagder
-
- * configure.ac: Markus Moeller fixed the SPNEGO check and it nows
- defines HAVE_SPNEGO
-
-2003-11-25 10:12 bagder
-
- * CHANGES: filed is not fixed ;-)
-
-2003-11-25 10:11 bagder
-
- * CHANGES: a committed bugfix described
-
-2003-11-25 10:06 bagder
-
- * tests/data/: Makefile.am, test95: test 95 added, verifies my fix
- for bug report #848371
-
-2003-11-25 10:05 bagder
-
- * lib/http.c: When basic is the only auth wanted (which it is by
- default), the auth phase is always considered done immediately as
- Basic needs to extra passes.
-
- This fix corrects bug report #848371.
-
-2003-11-25 09:44 bagder
-
- * tests/data/test94: requires a SSL-capable client
-
-2003-11-25 09:42 bagder
-
- * CHANGES: clarified Maciej W. Rozycki's fix
-
-2003-11-24 17:17 bagder
-
- * lib/http.c: allow the end-of-headers from a proxy response to
- CONNECT end with a CRCR as well as a CRLF
-
-2003-11-24 17:17 bagder
-
- * tests/data/: Makefile.am, test94: test proxy CONNECT requiring
- basic auth but we don't provide any
-
-2003-11-24 17:12 bagder
-
- * tests/: FILEFORMAT, server/sws.c: new way to trick sws to return
- special data on CONNECT
-
-2003-11-24 16:46 bagder
-
- * RELEASE-NOTES: somewhat up to speed with the devel
-
-2003-11-24 12:59 bagder
-
- * src/main.c: --ftp-ssl support added
-
-2003-11-24 12:51 bagder
-
- * CHANGES: proper ftps:// support added
-
-2003-11-24 12:44 bagder
-
- * lib/ssluse.c: prevent warning for non-SSL builds
-
-2003-11-24 12:41 bagder
-
- * lib/netrc.c: windows build fix based on a patch by Gisle Vanem
-
-2003-11-24 10:04 bagder
-
- * lib/: ftp.c, krb4.c: adjusted code to the new socket fields in
- the sessionhandle struct
-
-2003-11-24 08:17 bagder
-
- * tests/runtests.pl: disable ftps-tests for now, we must make them
- work with the updated ftps functionality
-
-2003-11-24 08:15 bagder
-
- * include/curl/curl.h, lib/dict.c, lib/ftp.c, lib/http.c,
- lib/multi.c, lib/sendf.c, lib/ssluse.c, lib/ssluse.h,
- lib/telnet.c, lib/transfer.c, lib/url.c, lib/urldata.h: FTPS
- support added as RFC2228 and the murray-ftp-auth-ssl draft
- describe it
-
-2003-11-24 08:11 bagder
-
- * CHANGES: fixes
-
-2003-11-24 08:10 bagder
-
- * lib/url.c: Gaz Iqbal fixed a range string memory leak!
-
-2003-11-24 08:08 bagder
-
- * lib/urldata.h: fixed wrong comment
-
-2003-11-23 23:26 bagder
-
- * src/: Makefile.m32, Makefile.vc6: Gisle Vanem fixed the Windows
- build
-
-2003-11-23 16:36 bagder
-
- * include/curl/curl.h: FTPSSL support options and defines added
-
-2003-11-20 15:16 bagder
-
- * lib/transfer.c: combine the two identical cases
-
-2003-11-20 15:15 bagder
-
- * CHANGES: three more fixes
-
-2003-11-20 10:53 bagder
-
- * lib/http.c: bail out properly on a 407 when we can't authenticate
- basic, bug report #845247
-
-2003-11-20 10:52 bagder
-
- * tests/data/: Makefile.am, test93: request a file over proxy
- without credentials, and get a 407 back
-
-2003-11-19 16:59 bagder
-
- * src/main.c: unconditional progressbarinit cures a windows crash
-
-2003-11-19 15:36 bagder
-
- * lib/ftp.c: If a partial file has been read or written, force a
- closure the existing connection to avoid re-use of it, since we
- cannot know in what state it is.
-
-2003-11-19 15:35 bagder
-
- * lib/url.c: respect bits.close even if an error already is set,
- but make sure that the existing error is the one returned back
-
-2003-11-19 09:21 bagder
-
- * docs/examples/: postit2.c, sepheaders.c: cut off old crappy win32
- comments and use the proper global_init instead also removed very
- old "require libcurl older than blablabla"
-
-2003-11-19 09:20 bagder
-
- * docs/examples/persistant.c: cleaned up
-
-2003-11-19 09:19 bagder
-
- * docs/examples/getinmemory.c: remove the wrong win32 comment and
- use global_init
-
-2003-11-17 06:23 bagder
-
- * CHANGES: Maciej W. Rozycki's configure patch
-
-2003-11-17 06:23 bagder
-
- * configure.ac: Maciej W. Rozycki made this script use a cache
- variable for the writable argv test. This way, the default can be
- overridden better (for cross-compiles etc)
-
-2003-11-15 11:29 bagder
-
- * lib/hostip.c: do ares_destroy() on the ares handle when we're
- done in Curl_is_resolved()
-
-2003-11-15 11:15 bagder
-
- * CHANGES: two
-
-2003-11-15 11:00 bagder
-
- * lib/ssluse.c: Mathias Axelsson found a case where we free()d the
- server certificate twice!
-
-2003-11-14 12:56 bagder
-
- * lib/hostip.c: Siddhartha Prakash Jain found a case with a bad
- resolve that we didn't properly bail out from, when using ares.
-
-2003-11-13 14:39 bagder
-
- * RELEASE-NOTES: updated
-
-2003-11-13 14:28 bagder
-
- * CHANGES, lib/connect.c: Peter Sylvester found a flaw in the
- connect code for ipv6-enabled hosts. I guess it seldomly happens
- on linux and that's why it wasn't found before. He used Solaris
- to notice it.
-
- I took the opportunity to rewrite the Curl_connecthost() slightly
- to feature less duplicate code in the two different versions
- (ipv4/ipv6).
-
-2003-11-13 11:05 bagder
-
- * tests/runtests.pl: -n disables valgrind now
-
-2003-11-13 08:43 bagder
-
- * lib/formdata.c: Default Content-Type for formparts has changed to
- "application/octet-stream". This seems more appropriate, and I
- believe mozilla and the likes do this.
-
- .html files now get text/html as Content-Type.
-
- Pointed out in bug report #839806.
-
-2003-11-13 08:33 bagder
-
- * lib/memdebug.c: don't log failed socket() calls
-
-2003-11-13 08:14 bagder
-
- * src/main.c: Gisle Vanem added a flush to make the progress-bar
- look better on windows (at least).
-
-2003-11-12 15:34 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mention it was added in 7.10.9
-
-2003-11-12 15:33 bagder
-
- * docs/KNOWN_BUGS: a resume http upload bug
-
-2003-11-11 15:30 bagder
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/netrc.c, lib/netrc.h, lib/url.c, lib/urldata.h: Added
- CURLOPT_NETRC_FILE.
-
-2003-11-10 10:28 bagder
-
- * lib/Makefile.am: Generate the ca-bundle.h file in the build dir
- and not in the source dir, which works nicely since the build dir
- is before the source dir in the include path.
-
-2003-11-10 09:12 bagder
-
- * lib/ftp.c: After Sébastien Willemijns' bug report, we now check
- the separators properly in the 229-reply servers respond on a
- EPSV command and bail out better if the reply string is not valid
- RFC2428-compliant.
-
-2003-11-08 15:29 bagder
-
- * src/config.h.in: for the getpwuid() etc
-
-2003-11-08 09:39 bagder
-
- * src/homedir.c: use char, not bool
-
-2003-11-07 18:22 bagder
-
- * CHANGES: things happen even during slow days! ;-)
-
-2003-11-07 18:19 bagder
-
- * src/main.c: do a normal free() of the homedir now
-
-2003-11-07 18:17 bagder
-
- * src/: Makefile.am, config.h.in, homedir.c, homedir.h, main.c:
- Based on Gisle Vanem's $HOME patch, we now attempt to find the
- home dir in a slightly better way for more platforms. The $HOME
- is only used for .curlrc atm, but the possible upcoming change of
- .netrc treatment may also need the home dir.
-
-2003-11-07 14:26 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Removed references to the
- no-longer existing PASSWDFUNCTION. That option existed in 7.10.7
- and earlier, but has since been cut out.
-
-2003-11-07 14:26 bagder
-
- * lib/urldata.h: remove the struct fields for the deprecated passwd
- prompt callback
-
-2003-11-07 14:23 bagder
-
- * docs/curl.1: explain the requirements for --negotiate, --ntlm and
- --krb4
-
-2003-11-07 10:15 bagder
-
- * docs/libcurl/curl_easy_setopt.3: mark options better
-
-2003-11-07 09:06 bagder
-
- * testcurl.sh: Ralph Mitchell's update that allows this script to
- take an existing directory name and build/run/test curl in there
- instead of trying to update from CVS. Using this approach, this
- script can be used to test daily tarballs etc.
-
-2003-11-07 08:20 bagder
-
- * lib/libcurl.rc: the resource file itself
-
-2003-11-07 08:13 bagder
-
- * lib/Makefile.vc6: removed the resource lines I shouldn't have
- added in the firt place
-
-2003-11-07 08:02 bagder
-
- * src/setup.h: define TRUE and FALSE here as some platforms don't
- have them otherwise
-
-2003-11-06 17:04 bagder
-
- * lib/Makefile.vc6: CURLDEBUG, no underscore
-
-2003-11-06 16:09 bagder
-
- * lib/: Makefile.am, Makefile.m32, Makefile.vc6: Gisle Vanem's
- libcurl.dll version info patch applied
-
-2003-11-06 15:16 bagder
-
- * src/main.c: don't allow options that we KNOW can't be used
-
-2003-11-06 14:51 bagder
-
- * docs/curl.1: mark all mentioned options better
-
-2003-11-06 14:34 bagder
-
- * docs/curl.1: converted most .I lines to \fI ones
-
-2003-11-06 14:31 bagder
-
- * docs/curl.1: egd, not edg
-
-2003-11-06 14:07 bagder
-
- * tests/libtest/test.h: Define TRUE and FALSE unless already
- present. I've moved away those definitions from the global curl
- header and thus this needs to do it themselves.
-
-2003-11-06 13:52 bagder
-
- * docs/libcurl/libcurl-errors.3: removed the _last since that is by
- definition not an error code
-
-2003-11-06 12:37 bagder
-
- * CHANGES: new defines for version info
-
-2003-11-06 12:34 bagder
-
- * maketgz: Insert the major, minor and patch numbers into the
- curl/curl.h header as well. Removed the depedency on perl.
-
-2003-11-06 12:33 bagder
-
- * include/curl/curl.h: We offer the version number "in parts" as
- well by introducing three new defines.
-
-2003-11-06 09:35 bagder
-
- * CHANGES: things
-
-2003-11-06 09:32 bagder
-
- * README: new mirror added
-
-2003-11-06 09:15 bagder
-
- * docs/TheArtOfHttpScripting: updated somewhat
-
-2003-11-06 08:55 bagder
-
- * lib/transfer.c: unitialized variable fix, reported by both Marty
- Kuhrt and benjamin gerard
-
-2003-11-06 08:42 bagder
-
- * lib/: Makefile.am, libcurl.framework.make, libcurl.plist: Mac OS
- X framework build files, contributed by Matt Veenstra
-
-2003-11-06 08:21 bagder
-
- * include/curl/curl.h, lib/setup.h: Moved the TRUE and FALSE
- #defines to lib/setup.h instead, as they don't belong in the
- public header file. They are not in our name space so we should
- not set them globally.
-
-2003-11-05 16:52 bagder
-
- * docs/libcurl/: curl_easy_cleanup.3, curl_easy_duphandle.3,
- curl_easy_init.3, curl_escape.3: minor format edits
-
-2003-11-05 16:51 bagder
-
- * docs/: Makefile.am, libcurl/Makefile.am: use roffit to make HTML
- from man pages http://daniel.haxx.se/projects/roffit/
-
-2003-11-04 14:30 bagder
-
- * docs/libcurl/libcurl.3: use .BR to refer to other man pages to
- make it easier for parsers to know
-
-2003-11-04 14:27 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: consistant with other man pages
-
-2003-11-04 14:03 bagder
-
- * docs/libcurl/libcurl-errors.3: .TP and .B replaced with .IP
-
-2003-11-04 13:59 bagder
-
- * docs/curl.1: .IP instead of .TP and .B
-
-2003-11-04 13:58 bagder
-
- * docs/curl.1: highlight more mentioned options
-
-2003-11-04 13:55 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Use .IP instead of .TP and .B
- for each item.
-
-2003-11-04 13:07 bagder
-
- * docs/libcurl/curl_easy_setopt.3: spell!
-
-2003-11-04 08:24 bagder
-
- * CHANGES: three changes went in
-
-2003-11-04 07:59 bagder
-
- * src/Makefile.vc6, lib/Makefile.vc6: Troels Walsted Hansen fixed
- the MSVC makefiles to build fine on Windows.
-
-2003-11-04 07:52 bagder
-
- * lib/Makefile.am: spellfix in the generated comment by Kevin Roth
-
-2003-11-04 07:50 bagder
-
- * packages/Win32/cygwin/Makefile.am: Kevin Roth's fix to make
- correct cygwin packages
-
-2003-11-01 12:40 bagder
-
- * RELEASE-NOTES: blanked, starting all over again
-
-2003-11-01 12:33 bagder
-
- * include/curl/curl.h: starting on 7.10.9 in CVS
-
-2003-11-01 12:22 bagder
-
- * CHANGES: 7.10.8!
-
-2003-10-31 23:17 bagder
-
- * CHANGES: ftp goes UTC
-
-2003-10-31 22:43 bagder
-
- * lib/http.c: gmtime() really can't even return NULL, can it?
-
-2003-10-31 22:37 bagder
-
- * tests/data/test141: back to GMT again
-
-2003-10-31 22:36 bagder
-
- * lib/ftp.c: assume that MDTM returns the timestamp as UTC
-
-2003-10-31 22:34 bagder
-
- * tests/runtests.pl: my own system had a bad valgrind, so check
- that it works at least somewhat before we use it
-
-2003-10-31 19:43 bagder
-
- * docs/curl.1: Debian bug report #218046, a minor typo.
-
-2003-10-31 10:49 bagder
-
- * src/main.c: removed compiler warnings from my latest fix
-
-2003-10-31 10:27 bagder
-
- * CHANGES: numerical options check
-
-2003-10-31 10:22 bagder
-
- * src/main.c: Added a new parse-numeric-parameters function so that
- options that take a numeric argument can better bail out if given
- a weird parameter. This catches situations such as "-y -Y 2000"
- or "-O -C [URL]" etc.
-
-2003-10-31 09:08 bagder
-
- * maketgz: newer, nicer
-
-2003-10-30 14:30 bagder
-
- * include/curl/curl.h: Set version string to -CVS. This string is
- generated by maketgz at release- time.
-
-2003-10-30 14:28 bagder
-
- * src/version.h: Make the CVS version clone the libcurl version
- string, this is generated by the maketgz script so in releases
- this is replaced by an actual string.
-
-2003-10-30 14:07 bagder
-
- * src/.cvsignore, include/curl/.cvsignore: ignore .dist files here
-
-2003-10-30 13:48 bagder
-
- * Makefile.am: Made the dist-hook more generic for adding more
- files named .dist into the dist archive. Preparing for a new
- maketgz.
-
-2003-10-30 11:30 bagder
-
- * RELEASE-NOTES: --head on file://, some cleanups
-
-2003-10-30 10:15 bagder
-
- * src/main.c: more help text cleanups
-
-2003-10-30 10:13 bagder
-
- * lib/file.c: silly me, I was meaning to do this change already as
- discussed on the libcurl list, we get the time in GMT and not
- localtime
-
-2003-10-30 10:08 bagder
-
- * CHANGES, docs/curl.1, lib/file.c: curl --head now reports info
- "headers" on file:// URLs as well
-
-2003-10-30 10:06 bagder
-
- * tests/data/test141: updated for the cut off GMT string
-
-2003-10-30 10:06 bagder
-
- * lib/ftp.c: when getting headers only, stop pretending the
- reported time is GMT, as it isn't. In fact, it might be, but we
- have no idea.
-
-2003-10-30 08:32 bagder
-
- * tests/server/sws.c: only use siginterrupt() if it really exists
- on the platform
-
-2003-10-30 08:31 bagder
-
- * configure.ac: Check for siginterrupt, used by the test suite web
- server sws.
-
-2003-10-30 08:13 bagder
-
- * lib/inet_pton.c: Only compile the ipv6-section for ipv6-enabled
- libcurls. Should save us some trouble.
-
-2003-10-30 08:08 bagder
-
- * acinclude.m4: Added proper #ifdef's for the #include files when
- checking for in_addr_t, which made the test start working nicely
- on BeOS. Shard verified it.
-
-2003-10-29 17:27 bagder
-
- * tests/: ftpsserver.pl, httpsserver.pl, runtests.pl: Stop using
- stunnel.pm, we pass in the path from the main script instead.
- Also made it easier to stop the test suite with control-c.
-
-2003-10-29 17:11 bagder
-
- * src/main.c: cleaned up the --help output. Tried to unify the
- language. Shortened a bunch of explanations.
-
-2003-10-29 10:53 bagder
-
- * CHANGES, RELEASE-NOTES, lib/url.c, tests/data/Makefile.am,
- tests/data/test203: David Hull made the file: URL parser also
- accept the somewhat sloppy file syntax: file:/path. I added test
- case 203 to verify this.
-
-2003-10-29 10:13 bagder
-
- * tests/Makefile.am: stunnel.pm is no more
-
-2003-10-29 10:13 bagder
-
- * tests/runtests.pl: stunnel.pm is removed
-
-2003-10-29 10:12 bagder
-
- * tests/runtests.pl: now check for and use valgrind, inserted and
- modified the check for stunnel and we no longer use the
- stunnel.pm
-
-2003-10-29 10:12 bagder
-
- * tests/stunnel.pm: removed, functionality added to runtests.pl
-
-2003-10-28 14:06 bagder
-
- * CHANGES, RELEASE-NOTES, lib/hostip.c: Another glibc resolve name
- fix
-
-2003-10-28 10:28 bagder
-
- * src/main.c: possibly uninitialized variable
-
-2003-10-28 10:17 bagder
-
- * lib/url.c: overlapping memory chunks with strcpy(), detected by
- the friendly valgrind
-
-2003-10-27 07:40 bagder
-
- * tests/runtests.pl: slightly quieter torture test by default
-
-2003-10-27 07:35 bagder
-
- * lib/sendf.c: James Bursa's fix to prevent failf() to write
- outside its buffer boundary
-
-2003-10-26 16:42 bagder
-
- * CHANGES, RELEASE-NOTES: James Bursa found an ERRORBUFFFER
- overflow
-
-2003-10-26 16:37 bagder
-
- * lib/mprintf.c: snprintf() made a single-byte buffer overflow, as
- it could write a zero outside its given buffer. Discovered and
- reported by James Bursa.
-
-2003-10-25 08:03 bagder
-
- * tests/libtest/: lib503.c, lib504.c: avoid dependence on the order
- of the fields in the timeval struct, pointed out by Gisle Vanem
-
-2003-10-25 00:30 bagder
-
- * testcurl.sh: support building ares-enabled too
-
-2003-10-24 23:58 bagder
-
- * tests/data/: Makefile.am, test92: tests the new -C - fix
-
-2003-10-24 23:58 bagder
-
- * CHANGES, RELEASE-NOTES: HTTP resume fix
-
-2003-10-24 23:54 bagder
-
- * lib/transfer.c: Resuming a download of an already downloaded
- document, that is trying to get a range of a document beyond its
- size, caused libcurl to "hang" until the server closed the
- connection and then it returned error 18.
-
- This is bad. This way, we don't return any error at all, which
- isn't nice either, as we need to alert the app somehow that the
- request range was out of size.
-
-2003-10-24 23:27 bagder
-
- * CHANGES, RELEASE-NOTES: solaris build improvement
-
-2003-10-24 23:26 bagder
-
- * configure.ac, lib/Makefile.am: Based on David Hull's fix in bug
- report 804599, we now check for solaris and gcc, to set the
- -mimpure-text link flag for linking the lib better.
-
-2003-10-24 22:58 bagder
-
- * tests/libtest/: lib503.c, lib504.c: don't select() forever, set a
- timeout so at least the test fails nice
-
-2003-10-24 22:39 bagder
-
- * tests/data/test503: better name, it isn't https
-
-2003-10-24 22:30 bagder
-
- * ares/CHANGES: c-ares is the new name and ares_version() was added
-
-2003-10-24 22:28 bagder
-
- * ares/: Makefile.in, ares_version.c, ares_version.h: Introducing
- ares_version(), so that we can have apps get version info about
- what particular ares version that is being used.
-
-2003-10-24 22:21 bagder
-
- * tests/data/test91: make it work with Negotiate support enabled
- too
-
-2003-10-24 15:12 bagder
-
- * CHANGES: runtests -t introduced
-
-2003-10-24 15:00 bagder
-
- * tests/runtests.pl: improved the torture testing
-
-2003-10-24 14:59 bagder
-
- * tests/memanalyze.pl: supports -l now to display the actual line
- that was prevented by memlimit
-
-2003-10-24 14:58 bagder
-
- * lib/ftp.c: if malloc fails, we must bail out nicely
-
-2003-10-24 14:58 bagder
-
- * lib/http.c: Improved checks for bad memory situations and proper
- behaviour when we run out of memory.
-
-2003-10-24 14:57 bagder
-
- * lib/hostip.c: better bailing-out cleanup if a malloc fails in the
- DNS cache
-
-2003-10-24 14:56 bagder
-
- * src/main.c: free all memory on failure before bailing out, not
- really necessary but my upcoming automated test gets crazy if not
-
-2003-10-24 10:56 bagder
-
- * RELEASE-NOTES: the actual release-notes is new too
-
-2003-10-24 10:53 bagder
-
- * tests/runtests.pl: Introducing -t to "torture" the memory
- allocations/failing/bail-outing in curl and libcurl. -t is not
- used anywhere automated yet, and it does already identify memory
- leaks on failed allocations. Work to do.
-
-2003-10-24 10:09 bagder
-
- * tests/memanalyze.pl: produce a single summary of the amount of
- allocations on -v
-
-2003-10-24 08:12 bagder
-
- * CHANGES, RELEASE-NOTES: disable-eprt, fixed CA cert verfication
-
-2003-10-23 09:46 bagder
-
- * src/main.c: Georg Horn's patch. -k is no longer mutually
- exclusive with --cacert and --capath. Using -k together with one
- of those just means that the result of the CA cert check is
- ignored (but displayed if -v is used).
-
-2003-10-23 09:44 bagder
-
- * lib/ssluse.c: Georg Horn's fixes to do different CA cert
- verifications. They can now be done even if the result is
- ignored, as some sites seem to require that.
-
-2003-10-22 16:37 bagder
-
- * docs/curl.1: encourage use of -c to store cookies instead of -D
-
-2003-10-22 14:46 bagder
-
- * tests/runtests.pl: allow gdb to check the libtest dir for sources
- too (for the 500- tests)
-
-2003-10-22 14:05 bagder
-
- * CHANGES, RELEASE-NOTES: we continue to improve things
-
-2003-10-22 13:56 bagder
-
- * src/main.c: make --disable-eprt work, based on Gisle Vanem's
- patch
-
-2003-10-22 13:26 bagder
-
- * Makefile.dist: Dylan Ellicott added the vc-libcurl-ssl-dll target
-
-2003-10-22 13:26 bagder
-
- * lib/Makefile.vc6: Dylan Ellicott added the
- release-libcurl-ssl-dll target
-
-2003-10-22 13:15 bagder
-
- * lib/transfer.c: Do the auth stuff at the end-of-headers and not
- at the start-of-body, as we might not get a body when we get a
- 401 with a set of WWW-Authenticate: headers. This fixes the
- problem Kevin Roth detected in 7.10.8-pre4 and pre5. Verified by
- test case 91.
-
-2003-10-22 13:12 bagder
-
- * tests/data/test91: Modified to be able to repeat Kevin Roth's
- problem
-
-2003-10-21 16:15 bagder
-
- * RELEASE-NOTES: Andres
-
-2003-10-21 16:14 bagder
-
- * CHANGES, lib/Makefile.m32, src/Makefile.m32: updated for mingw32
-
-2003-10-21 16:11 bagder
-
- * include/curl/curl.h, src/version.h: pre5
-
-2003-10-21 16:08 bagder
-
- * tests/data/test91: modified test 91 to look more like Kevin
- Roth's error case
-
-2003-10-21 08:56 bagder
-
- * tests/data/: Makefile.am, test91: test case 91 added, an attempt
- to repeat a problem reported by Kevin Roth on Oct 20, 2003.
-
-2003-10-21 08:34 bagder
-
- * lib/: http.c, url.c: conn->user and conn->passwd will now always
- be set to point to something. If not user or password is set,
- they will point to a "" string.
-
-2003-10-21 08:06 bagder
-
- * docs/KNOWN_BUGS: no colons in user names with USERPWD
-
-2003-10-20 22:32 bagder
-
- * lib/http.c: allow no user and password for proxy too, Basic
-
-2003-10-20 22:30 bagder
-
- * lib/http.c: allow no user and no passwd when doing basic auth
-
-2003-10-20 10:45 bagder
-
- * lib/hostip.c: lock the DNS cache properly before adding an entry
- when using asynch DNS
-
-2003-10-20 10:25 bagder
-
- * buildconf: run autoconf in the ares dir as well if the dir is
- present, after it has been run "as usual"
-
-2003-10-19 19:54 bagder
-
- * RELEASE-NOTES: Georg Horn patched Curl_read()
-
-2003-10-19 19:38 bagder
-
- * CHANGES, lib/sendf.c: better error output on SSL errors when
- receiving data - Georg Horn patch
-
-2003-10-19 07:42 bagder
-
- * lib/telnet.c: fixed the bug my previous change introduced
-
-2003-10-18 22:38 bagder
-
- * lib/multi.c: minor fix to not shadow a variable
-
-2003-10-18 22:35 bagder
-
- * lib/http.c: builds warning-free with -Wshadow now
-
-2003-10-18 22:34 bagder
-
- * lib/connect.c: don't shadow 'socket'
-
-2003-10-18 22:28 bagder
-
- * lib/transfer.c: fixed gcc -Wshadow warnings
-
-2003-10-18 22:24 bagder
-
- * lib/telnet.c: removed gcc -Wshadow warning
-
-2003-10-18 22:24 bagder
-
- * lib/telnet.c: memory leak
-
-2003-10-18 22:14 bagder
-
- * lib/: connect.h, ftp.c, url.c, urldata.h: gcc -Wshadow complaints
- fixed
-
-2003-10-18 22:14 bagder
-
- * lib/http.c: compiler warning fix
-
-2003-10-18 22:13 bagder
-
- * lib/getdate.y: prevent compiler warnings with relly picky
- compiler options
-
-2003-10-18 21:40 bagder
-
- * lib/curllib.dsp: Dominick Meglio pointed out these files should
- be removed from here
-
-2003-10-18 14:04 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.8-pre4
-
-2003-10-18 14:00 bagder
-
- * maketgz: 1. read the version from the command line 2. make the
- libcurl and curl version the same
-
-2003-10-18 13:53 bagder
-
- * docs/libcurl/libcurl-errors.3: Added a few undocumented errors
-
-2003-10-17 15:31 bagder
-
- * docs/Makefile.am: nicer pdf generation
-
-2003-10-17 15:11 bagder
-
- * CHANGES, RELEASE-NOTES, docs/TODO, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h, lib/ftp.c,
- lib/transfer.c, lib/url.c, lib/urldata.h, src/main.c: Dominick
- Meglio implemented CURLOPT_MAXFILESIZE and --max-filesize.
-
-2003-10-17 14:44 bagder
-
- * lib/http_ntlm.c: typecasts to prevent warnings
-
-2003-10-17 14:37 bagder
-
- * docs/TODO: cleaning
-
-2003-10-17 14:21 bagder
-
- * docs/KNOWN_BUGS: empty path parts in FTP URLs
-
-2003-10-17 13:36 bagder
-
- * docs/KNOWN_BUGS: The 100-continue and no-more-response bug
-
-2003-10-17 11:29 bagder
-
- * lib/http.c: make empty names look fine in verbose output
-
-2003-10-17 11:29 bagder
-
- * lib/http_ntlm.c: make no user or no password just mean blank
- fields, not aborted operation
-
-2003-10-17 11:28 bagder
-
- * tests/data/test16: finally we support >128 letter passwords so
- this test was fixed to work
-
-2003-10-17 11:28 bagder
-
- * lib/url.c: o the name and password arrays are 256 bytes, so let's
- accept that lengthy input o have ->passwd and ->name be NULL if
- no name/passwd was given o only set default user+password for FTP
- if no userpwd was given
-
-2003-10-17 11:26 bagder
-
- * lib/ftp.c: made the code deal with empty name and password
-
-2003-10-17 09:10 bagder
-
- * ares/.cvsignore: ignore these too
-
-2003-10-17 09:07 bagder
-
- * CHANGES: verbose auth info
-
-2003-10-17 09:05 bagder
-
- * lib/http.c: show info text (verbose) about auth type and user
- name in use
-
-2003-10-17 09:04 bagder
-
- * src/main.c: made the password prompt nicer
-
-2003-10-17 08:59 bagder
-
- * src/config.h.in: define HAVE_SYS_SOCKET_H if that file is
- present. This is needed when we #include "../lib/memdebug.h" for
- memory debug builds.
-
-2003-10-16 17:04 bagder
-
- * docs/RESOURCES: turned this into a list of documents/standards
- curl adheres to
-
-2003-10-16 16:15 bagder
-
- * CHANGES: subjectAltName and passwd changes
-
-2003-10-16 16:14 bagder
-
- * docs/libcurl/curl_easy_setopt.3: removed the passwd options that
- are no longer supported
-
-2003-10-16 16:13 bagder
-
- * RELEASE-NOTES: password prompting gone from libcurl, fixed for
- ntlm
-
-2003-10-16 16:09 bagder
-
- * src/: Makefile.am, config.h.in, getpass.c, getpass.h, main.c:
- Added support for password prompting if only used name is given
- on the command line.
-
-2003-10-16 16:08 bagder
-
- * lib/Makefile.am, lib/getpass.c, lib/getpass.h, lib/transfer.c,
- lib/url.c, include/curl/curl.h: password promting support removed
- from libcurl
-
-2003-10-16 15:44 bagder
-
- * lib/ssluse.c: rewritten alternative name check
-
-2003-10-15 22:37 bagder
-
- * lib/connect.c: the previous fix left this compiler error
-
-2003-10-15 16:42 bagder
-
- * lib/ssluse.c: bad license situation for the altname patch
-
-2003-10-15 13:44 bagder
-
- * CHANGES, RELEASE-NOTES: now libcurl runs better multi-threaded on
- windows
-
-2003-10-15 13:42 bagder
-
- * lib/connect.c: Avoid doing getsockopt() on Windows to verify
- connects. It seems that this hogs Windows machines when libcurl
- is being used multi-threaded (with > ~50 threads). Andrew Fuller
- helped us verify and test this.
-
- According to a MSDN web page on connect(), it returns 0 when the
- connect is done and thus we don't need the getsockopt() call
- anyway on Windows.
-
-2003-10-14 15:13 bagder
-
- * CHANGES, RELEASE-NOTES: duphandle fix
-
-2003-10-14 15:10 bagder
-
- * lib/easy.c: Kimmo Kinnunen fixed a crash with duphandle() when
- CURLDEBUG was set
-
-2003-10-14 14:03 bagder
-
- * CHANGES, RELEASE-NOTES: Gisle Vanem brought IPv6-support to curl
- on Windows
-
-2003-10-14 14:00 bagder
-
- * lib/: config-win32.h, connect.c, dict.c, easy.c, file.c, ftp.c,
- hostip.c, http.c, inet_pton.c, memdebug.c, memdebug.h,
- progress.c, sendf.c, setup.h, speedcheck.c, telnet.c, timeval.c,
- timeval.h, transfer.c, url.c: Gisle Vanem's IPv6-on-Windows patch
- applied!
-
-2003-10-14 13:27 bagder
-
- * buildconf: improved the libtool check to disqualify "1.4c" when
- 1.4.2 is required
-
-2003-10-14 10:19 bagder
-
- * RELEASE-NOTES: Added Domenico Andreoli for his patches
-
-2003-10-13 15:10 bagder
-
- * lib/README.ares: added more mirrored versions of the ares 1.1.1
- package
-
-2003-10-13 15:07 bagder
-
- * lib/README.ares: Updated build instruction since I now offer a
- complete ares-package with all the patches already applied. No
- need to apply any patches manually anymore.
-
- ares 1.1.1 is still compatible.
-
-2003-10-13 14:24 bagder
-
- * CHANGES: Giuseppe Attardi's ares+multi problem of 12-oct-2003
-
-2003-10-13 14:21 bagder
-
- * lib/multi.c: Clear the connection pointer after the async resolve
- has failed. This cures the problem reported by Giuseppe Attardi
- on October 12, 2003.
-
-2003-10-13 02:14 bagder
-
- * CHANGES: debian bug report #212086
-
-2003-10-13 02:12 bagder
-
- * lib/Makefile.am: Removed extra LDFLAGS assignment. Pointed out in
- debian bug report #212086 (http://bugs.debian.org/212086). Patch
- by Domenico Andreoli.
-
-2003-10-13 02:10 bagder
-
- * docs/: Makefile.am, libcurl/Makefile.am: use $(NROFF), not gnroff
- (patch by Domenico Andreoli)
-
-2003-10-12 15:58 bagder
-
- * CHANGES, RELEASE-NOTES: Dirk modifide the share-locking for DNS
- lookups
-
-2003-10-12 15:57 bagder
-
- * lib/hostip.c, tests/data/test506: Dirk Manske made the
- share-locking around DNS lookups a bit "looser" so that multiple
- DNS lookups can run simultaneously faster. The downside is that
- resolving the same host name now can be made at once from
- multiple threads, but the upside is that threads now don't alwys
- have to wait for the others' resolves. Test case 506 updated
- accordingly.
-
-2003-10-09 22:12 bagder
-
- * CHANGES, RELEASE-NOTES: resume fix
-
-2003-10-09 22:04 bagder
-
- * lib/url.c: Lachlan O'Dea fixed a resume problem: "If I set
- CURLOPT_RESUME_FROM, perform an HTTP download, then reset
- CURLOPT_RESUME_FROM to 0, the next download still has a Range
- header with a garbage value." bug report #820502
-
-2003-10-09 21:49 bagder
-
- * CHANGES: sws fix, inet_pton fix
-
-2003-10-09 10:19 bagder
-
- * lib/inet_pton.c: Dominick Meglio fixed this to build fine on MSVC
-
-2003-10-09 10:12 bagder
-
- * tests/server/: Makefile.am, sws.c: portability fix by using
- setup.h from the lib directory
-
-2003-10-09 10:09 bagder
-
- * configure.ac: removed creation of tests/server/config.h
-
-2003-10-09 10:08 bagder
-
- * tests/server/config.h.in: not used anymore
-
-2003-10-08 22:26 bagder
-
- * ares/CHANGES: name it pre1
-
-2003-10-08 22:26 bagder
-
- * ares/CHANGES: clarify why this package exists
-
-2003-10-08 22:25 bagder
-
- * ares/maketgz: run autoconf if needed
-
-2003-10-08 22:20 bagder
-
- * ares/.cvsignore: ignore these files
-
-2003-10-08 22:18 bagder
-
- * ares/: FILES, install-sh, maketgz, mkinstalldirs: added for
- completeness
-
-2003-10-08 22:18 bagder
-
- * ares/CHANGES: clarified the reason for this package
-
-2003-10-08 21:56 bagder
-
- * lib/setup.h: bail out hard if ipv6 and ares are both enabled at
- the same time
-
-2003-10-08 15:54 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.8-pre3 commit
-
-2003-10-08 15:32 bagder
-
- * CHANGES, RELEASE-NOTES, lib/connect.c: - Frank Ticheler provided
- a patch that fixes how libcurl connects to multiple addresses,
- if one of them fails (ipv4-code).
-
-2003-10-08 15:07 bagder
-
- * lib/: inet_pton.c, inet_pton.h: include file fixes
-
-2003-10-08 15:06 bagder
-
- * lib/ssluse.c: fixed to build fine without ssl
-
-2003-10-08 00:00 bagder
-
- * configure.ac: check for inet_pton()
-
-2003-10-07 23:59 bagder
-
- * CHANGES, RELEASE-NOTES: Neil Dunbar and subjectAltNames
-
-2003-10-07 23:54 bagder
-
- * ares/: CHANGES, Makefile.in, NEWS, README, aclocal.m4, adig.c,
- ahost.c, ares.h, ares__close_sockets.c, ares__get_hostent.c,
- ares__read_line.c, ares_destroy.3, ares_destroy.c, ares_dns.h,
- ares_expand_name.3, ares_expand_name.c, ares_fds.3, ares_fds.c,
- ares_free_errmem.3, ares_free_errmem.c, ares_free_hostent.3,
- ares_free_hostent.c, ares_free_string.3, ares_free_string.c,
- ares_gethostbyaddr.3, ares_gethostbyaddr.c, ares_gethostbyname.3,
- ares_gethostbyname.c, ares_init.3, ares_init.c,
- ares_init_options.3, ares_mkquery.3, ares_mkquery.c,
- ares_parse_a_reply.3, ares_parse_a_reply.c,
- ares_parse_ptr_reply.3, ares_parse_ptr_reply.c, ares_private.h,
- ares_process.3, ares_process.c, ares_query.3, ares_query.c,
- ares_search.3, ares_search.c, ares_send.3, ares_send.c,
- ares_strerror.3, ares_strerror.c, ares_timeout.3, ares_timeout.c,
- config.guess, config.sub, configure.in, nameser.h,
- windows_port.c, vc/vc.dsw, vc/vc.ncb, vc/vc.opt,
- vc/adig/adig.dep, vc/adig/adig.dsp, vc/adig/adig.mak,
- vc/adig/adig.plg, vc/ahost/ahost.dep, vc/ahost/ahost.dsp,
- vc/ahost/ahost.mak, vc/ahost/ahost.plg, vc/areslib/areslib.dep,
- vc/areslib/areslib.dsp, vc/areslib/areslib.mak,
- vc/areslib/areslib.plg: ares 1.1.1 with collected applied patches
-
-2003-10-07 23:46 bagder
-
- * lib/: Makefile.am, inet_pton.c, inet_pton.h, ssluse.c: Neil
- Dunbar provided a patch that now makes libcurl check SSL
- subjectAltNames when matching certs. This is apparently
- detailed in RFC2818
- as the right thing to do. I had to add configure checks for
- inet_pton() and
- our own (strictly speaking, code from BIND written by Paul
- Vixie) provided
- code for the function for platforms that miss it.
-
-2003-10-07 16:43 bagder
-
- * tests/: data/Makefile.am, data/test508, libtest/Makefile.am,
- libtest/lib508.c: test case 508 added to test callback-based POST
-
-2003-10-07 16:42 bagder
-
- * CHANGES, RELEASE-NOTES: http post fix
-
-2003-10-07 16:39 bagder
-
- * lib/http.c: make sure that a regular POST using the read callback
- works
-
-2003-10-07 00:03 bagder
-
- * acinclude.m4: O_NONBLOCK does not work on BeOS according to Shard
-
-2003-10-05 17:16 bagder
-
- * CHANGES, RELEASE-NOTES: builds better on BeOS
-
-2003-10-05 17:05 bagder
-
- * src/setup.h: Shard's fix to build fine on BeOS
-
-2003-10-05 17:04 bagder
-
- * lib/setup.h: BeOS-adjustments, as provided by Shard
-
-2003-10-05 17:03 bagder
-
- * lib/http_ntlm.c: weird typo removed
-
-2003-10-05 17:03 bagder
-
- * lib/hostip.c: just re-indented some code
-
-2003-10-05 17:02 bagder
-
- * lib/connect.c: New code for BeOS-style non-blocking sockets,
- provided by Shard and Jeremy Friesner.
-
-2003-10-05 10:35 bagder
-
- * acinclude.m4: improved the non-block check a lot: * several tests
- ALWAYS failed due to bad test programs * the IoctlSocket() test
- now is linked on test as it could otherwise compile fine on
- many systems that doesn't support it * added a test for the BeOS
- way of doing non-blocking sockets (based on a patch from Shard)
-
-2003-10-04 17:52 bagder
-
- * CHANGES: curlx.c example added
-
-2003-10-04 17:51 bagder
-
- * CHANGES, RELEASE-NOTES: - Vincent Bronner pointed out that if you
- set CURLOPT_COOKIE for a transfer and then set it to NULL in a
- subsequent one, the previous cookie was still sent off!
-
-2003-10-04 17:48 bagder
-
- * lib/http.c: Vincent Bronner pointed out that if you set
- CURLOPT_COOKIE to NULL, it still sends off the previously set
- cookie. This also concerns CURLOPT_REFERER. This fix should stop
- this.
-
-2003-10-04 17:28 bagder
-
- * CHANGES, RELEASE-NOTES: Jon Turner fix
-
-2003-10-04 17:25 bagder
-
- * lib/ftp.c: Jon Turner mentioned this bug fix to correct how
- libcurl deals with paths after a failed transfer.
-
-2003-10-04 16:53 bagder
-
- * CHANGES, RELEASE-NOTES: fixed ares-resolves and ip-only names
-
-2003-10-04 16:50 bagder
-
- * lib/: hostip.c, hostip.h, multi.c: Based on a patch provided by
- Siddhartha Prakash Jain. In Curl_resolv() when my_getaddrinfo()
- has been called (and wait has been set to TRUE), we check if the
- name already is resolved and if so don't return wait status to
- the parent. This can happen with IP-only names.
-
-2003-10-04 16:01 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_NOBODY means HEAD on
- HTTP servers
-
-2003-10-03 15:46 bagder
-
- * docs/examples/: Makefile.am, curlx.c: Peter Sylvester's curlx.c
- code example added
-
-2003-10-03 15:19 bagder
-
- * CHANGES, RELEASE-NOTES: proto fix
-
-2003-10-03 15:13 bagder
-
- * include/curl/curl.h: Renamed the function argument named
- 'access', as noted by Neil Spring in the debian bug report
- #213180.
-
-2003-10-02 21:04 bagder
-
- * CHANGES, configure.ac: James MacMillan's patch makes curl build
- on QNC 6.2.x.
-
-2003-09-23 14:20 bagder
-
- * docs/curl.1: documented the new 7.10.8 -T functionality
-
-2003-09-23 13:53 bagder
-
- * docs/curl.1: -4 and -6 added
-
-2003-09-23 13:42 bagder
-
- * RELEASE-NOTES: more details
-
-2003-09-23 13:07 bagder
-
- * docs/BINDINGS: updated to match reality
-
-2003-09-23 07:54 bagder
-
- * RELEASE-NOTES: real name
-
-2003-09-23 00:36 bagder
-
- * CHANGES: ip version selector, SPNEGO feature added to -V output
-
-2003-09-23 00:29 bagder
-
- * src/main.c: Added -4/--ipv4 and -6/ipv6. Re-arranged some option
- code.
-
-2003-09-22 23:42 bagder
-
- * RELEASE-NOTES: cut the leading blurb, that will be used for the
- mail announce only, not the actual text included here
-
-2003-09-22 23:39 bagder
-
- * Makefile.am: Include the RELEASE-NOTES file too, which is basicly
- the release announce message.
-
-2003-09-22 23:38 bagder
-
- * RELEASE-NOTES: working draft of the upcoming 7.10.8 release notes
-
-2003-09-22 01:22 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.8-pre2
-
-2003-09-22 01:14 bagder
-
- * CHANGES: another segfault with multi+ares+non-existing hostname
-
-2003-09-22 01:10 bagder
-
- * lib/multi.c: failing to resolve a name using ares must
- Curl_disconnect() the handle properly or risk getting into
- trouble!
-
-2003-09-22 00:13 bagder
-
- * configure.ac: find and detect the Heimdal GSSAPI include path
- properly
-
-2003-09-19 17:16 bagder
-
- * CHANGES, include/curl/curl.h, lib/hostip.c, lib/urldata.h: Added
- CURLOPT_IPRESOLVE support
-
-2003-09-19 14:56 bagder
-
- * CHANGES, configure.ac, docs/libcurl/curl_version_info.3,
- include/curl/curl.h, lib/http.c, lib/http_negotiate.c,
- lib/http_negotiate.h, lib/url.c, lib/urldata.h, lib/version.c:
- Markus Moeller's SPNEGO patch applied, with my edits, additions
- and minor cleanups.
-
-2003-09-19 14:55 bagder
-
- * docs/FEATURES: updated
-
-2003-09-16 00:59 bagder
-
- * CHANGES: language
-
-2003-09-16 00:55 bagder
-
- * CHANGES: bug fixes
-
-2003-09-16 00:33 bagder
-
- * lib/url.c: If a connection is closed down and it had some kind of
- NTLM involved, we reset the authentication state to make it
- restart on the next connection.
-
- This of course because NTLM is connection-oriented, whilst all
- other authentication schemes are not.
-
-2003-09-16 00:29 bagder
-
- * tests/data/: Makefile.am, test90: Test 90 added: --anyauth that
- picks NTLM with a redirect and then another NTLM request.
-
-2003-09-15 23:43 bagder
-
- * tests/FILEFORMAT: minor difference in how the part number magic
- is made
-
-2003-09-15 23:42 bagder
-
- * tests/server/sws.c: make the NTLM part numbers get increased
- instead of plainly assigned, as this then makes redirection tests
- work (as the new test 89)
-
-2003-09-15 23:41 bagder
-
- * tests/data/: Makefile.am, test89: test 89 verifies -L and ntlm
- authentication, as bug report #806328 claimed it doesn't work. It
- works for me.
-
-2003-09-15 23:11 bagder
-
- * tests/data/: Makefile.am, test88: test88, doing PUT with --digest
- now works
-
-2003-09-15 23:11 bagder
-
- * lib/: http.c, http_ntlm.c, http_ntlm.h: When we issue a HTTP
- request, first make sure if the authentication phase is over or
- not, as if it isn't we shall not begin any PUT or POST operation.
-
- This cures bug report #805853, and test case 88 verifies it!
-
-2003-09-15 00:42 bagder
-
- * lib/README.ares: new ares patch uploaded
-
-2003-09-15 00:06 bagder
-
- * CHANGES: Jeff Pohlmeyer is our hero of the week!
-
-2003-09-14 23:24 bagder
-
- * lib/Makefile.am: reverted the change that blanks LIBS
-
-2003-09-14 23:17 bagder
-
- * lib/: hash.c, hash.h, hostip.c: Jeff Pohlmeyer did some marvelous
- debugging to track this one down. We MUST NOT free the existing
- hash entry when we try to add a new one that matches an existing
- entry. We now instead free the new one, and make the parent
- function use the old entry's struct instead.
-
-2003-09-12 22:45 bagder
-
- * lib/Makefile.am: blank the LIBS variable, as we don't need any
- libs when we link the lib.
-
-2003-09-12 20:35 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Added more docs for
- DEBUGFUNCTION as suggsted by Mohun Biswas
-
-2003-09-12 20:27 bagder
-
- * CHANGES: multi handle DNS cache, "Negotiate" authentication,
- zero-length proxy with ftp and an uninitialized pointer
-
-2003-09-12 17:44 bagder
-
- * CHANGES: clear the proxy env
-
-2003-09-12 17:41 bagder
-
- * tests/runtests.pl: When people have environment variables set for
- protocol proxies, we must make sure to clear them before we run
- the tests as they interfere badly otherwise.
-
-2003-09-12 00:21 bagder
-
- * lib/: http.c, http_negotiate.c, urldata.h: Tim Bartley's patch
- that makes the GSSNEGOTIATE option work for Microsoft's
- "Negotiate" authentication as well.
-
-2003-09-12 00:14 bagder
-
- * lib/multi.c: For easy handles within multi handles, we share the
- DNS cache always.
-
-2003-09-12 00:13 bagder
-
- * lib/llist.c: #ifdef 0'ed Curl_llist_insert_prev and
- Curl_llist_remove_next, as they are not used by any code in
- libcurl!
-
-2003-09-12 00:05 bagder
-
- * lib/ftp.c: don't use a blank proxy
-
-2003-09-11 23:27 bagder
-
- * lib/hostip.c: Curl_is_resolved(): FD_ZERO the file descriptors
- before we call ares_fds(). Problem tracked down by Bjorn Reese.
-
-2003-09-08 01:31 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.8-pre1 commit
-
-2003-09-07 17:00 bagder
-
- * lib/md5.c: do not use 'long' to store 4 bytes, as 64bit
- architectures have 64bit longs.
-
-2003-09-05 16:34 bagder
-
- * CHANGES: yesterday and today in words
-
-2003-09-05 14:44 bagder
-
- * lib/: hash.c, llist.c, llist.h: Uses less macros. #ifdef'ed out
- unused functions. Edited slightly to be more in the same style as
- other curl source code. The only actual code change is an added
- check after a malloc() call.
-
-2003-09-05 13:02 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Early Ehlinger's
- CURLOPT_FTP_RESPONSE_TIMEOUT option documented by himself.
-
-2003-09-05 11:53 bagder
-
- * configure.ac: --enable-thread was broken and this should cure it
- Kevin Fisk reported.
-
-2003-09-04 15:32 bagder
-
- * include/curl/curl.h: CURLINFO_HTTPAUTH_AVAIL and
- CURLINFO_PROXYAUTH_AVAIL
-
-2003-09-04 15:31 bagder
-
- * lib/http_ntlm.c: no user or password set, bail out
-
-2003-09-04 15:07 bagder
-
- * lib/http.c: ah, this change broke multiple test cases
-
-2003-09-04 13:34 bagder
-
- * lib/http.c: Jörg pointed out that I did this fix wrongly, now
- authwant is cleared properly if no auth is available
-
-2003-09-04 12:55 bagder
-
- * lib/: getinfo.c, http.c, urldata.h: Based on Joerg Mueller-Tolk's
- patch, this introduces support for CURLINFO_HTTPAUTH_AVAIL and
- CURLINFO_PROXYAUTH_AVAIL
-
-2003-09-04 12:18 bagder
-
- * lib/http.c: 1. store the httpproxycode in the loop after it is
- parsed 2. made Curl_http_auth_act() reset 'authavail'
- unconditionally
-
-2003-09-04 12:08 bagder
-
- * lib/http.c: avoid proxy (and other) auth if no user+password is
- given
-
-2003-09-04 12:04 bagder
-
- * lib/libcurl.def: added the missing share-functions, pointed out
- by Edward Chan
-
-2003-09-04 00:02 bagder
-
- * CHANGES, include/curl/curl.h, lib/ftp.c, lib/url.c,
- lib/urldata.h: Early Ehlinger's CURLOPT_FTP_RESPONSE_TIMEOUT
- patch applied.
-
-2003-09-03 23:52 bagder
-
- * CHANGES: recent fixes
-
-2003-09-03 23:51 bagder
-
- * lib/: http.c, http.h, transfer.c: Re-arranged code to make the
- proxy-CONNECT loop able to do some of the authentication
- negotiations needed for NTLM, Digest etc.
-
-2003-09-03 23:47 bagder
-
- * lib/url.c: Joerg Mueller-Tolk's fix to better deal with
- user+passwords for proxies
-
-2003-09-03 23:44 bagder
-
- * lib/ftp.c: minor fix to make better bail-out check
-
-2003-09-03 22:47 bagder
-
- * lib/ssluse.c: warn if no CN is available if verify is only set to
- 1
-
-2003-09-03 22:42 bagder
-
- * CHANGES: stuff I had added in my copy at home, now at last I'm
- online from here again
-
-2003-09-03 17:37 bagder
-
- * tests/server/getpart.c: Peter Pentchev found two problems. One
- realloc problem that could allocate too little data, and one case
- of not zero-terminating the returned string.
-
- I chose a slightly different patch than the one Peter provided.
-
-2003-09-02 09:48 bagder
-
- * lib/http_digest.c: wrap at 80 cols
-
-2003-09-01 10:57 bagder
-
- * CHANGES: two patches applied
-
-2003-09-01 10:43 bagder
-
- * docs/TODO: "Securing FTP with TLS" was updated to revision 12
-
-2003-09-01 10:36 bagder
-
- * docs/KNOWN_BUGS: LDAP fixed in CVS (for upcoming 7.10.8)
-
-2003-09-01 10:23 bagder
-
- * lib/ldap.c: Henrik Storner's update to make libcurl work with
- OpenLDAP 2.1.22 (current). Also reported to work with OpenLDAP
- 2.0.26.
-
-2003-09-01 10:22 bagder
-
- * include/curl/curl.h: CURLE_LDAP_INVALID_URL added (by Henrik
- Storner)
-
-2003-09-01 10:21 bagder
-
- * lib/hostip.c: The error buffer was not getting filled when
- Curl_wait_for_resolv() fails. Jeff Pohlmeyer fixed.
-
-2003-08-29 10:43 bagder
-
- * lib/version.c: typecase to please the compiler gods
-
-2003-08-29 10:43 bagder
-
- * lib/transfer.c: typecast to prevent compiler warning
-
-2003-08-28 13:28 bagder
-
- * lib/url.c: CURLOPT_BUFFERSIZE must not be smaller than 0 (zero)
- as that is impossible for us to deal with
-
-2003-08-28 13:21 bagder
-
- * docs/examples/multi-app.c: Henrik Storner's rewrite that includes
- a nice usage of curl_multi_info_read()
-
-2003-08-28 12:39 bagder
-
- * lib/Makefile.am: only do chmod if there's a file present
-
-2003-08-24 16:29 bagder
-
- * lib/strequal.c: added the strcasecmp() proto here (moved from
- setup.h), as this is the only file within libcurl to use that
- function
-
-2003-08-24 16:28 bagder
-
- * lib/setup.h: removed the strcasecmp() proto from here, and moved
- it to the strequal.c file instead
-
-2003-08-22 14:56 bagder
-
- * docs/curl.1: we support any number of globs now, even for #[num]
- ones
-
-2003-08-22 14:35 bagder
-
- * lib/ftp.c: have cwd_and_mkd prefixed with ftp_ to make it appear
- as a ftp-only function
-
-2003-08-22 14:25 bagder
-
- * lib/hostip.c: use proper type to prevent compiler warning
-
-2003-08-21 14:07 bagder
-
- * lib/hostip.c: Vincent Sanders provided a fix for name resolving
- when linked with uClibc.
-
-2003-08-20 17:44 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: CURLINFO_RESPONSE_CODE instead
- of CURLINFO_HTTP_CODE
-
-2003-08-20 17:42 bagder
-
- * include/curl/curl.h, src/writeenv.c, src/writeout.c,
- lib/getinfo.c: CURLINFO_RESPONSE_CODE replaces CURLINFO_HTTP_CODE
-
-2003-08-20 17:41 bagder
-
- * lib/: ftp.c, urldata.h: store the FTP response code in the
- httpcode variable
-
-2003-08-20 17:40 bagder
-
- * lib/netrc.c: removed the goto and re-indented slightly
-
-2003-08-20 17:39 bagder
-
- * lib/transfer.c: transfer fix for multi interface
-
-2003-08-20 15:49 bagder
-
- * lib/multi.c: made curl_multi_info_read() set 'msgs_in_queue' to 0
- even when it returns NULL!
-
-2003-08-20 01:42 bagder
-
- * CHANGES: recent action
-
-2003-08-20 01:42 bagder
-
- * src/main.c: Now offering support for multiple -T on the same
- command line, just make sure you have one URL for each -T. A -T
- file name can also be "globbed" like -T "{file1,file2}".
-
- Test case 149 verifies this functionality.
-
-2003-08-20 01:38 bagder
-
- * tests/data/Makefile.am: test case 149 is here
-
-2003-08-20 01:38 bagder
-
- * tests/data/test58: switch off globbing to enable [] in file names
- for -T
-
-2003-08-20 01:37 bagder
-
- * tests/data/test149: check the upload
-
-2003-08-20 01:36 bagder
-
- * tests/data/test149: teste multiple uploads in one command line
-
-2003-08-20 01:23 bagder
-
- * lib/hostip.c: make sure the 'done' variable is always set to
- something in the Curl_is_resolved() function
-
-2003-08-19 17:38 bagder
-
- * configure.ac: when --enable-debug is used to set debug options
- with gcc, use -Wno-long-long to inhibit long long warnings (ISO
- C90 does not support `long long')
-
-2003-08-19 17:37 bagder
-
- * lib/mprintf.c: Respect HAVE_LONGLONG to support 'long long'
-
-2003-08-19 11:56 bagder
-
- * configure.ac: check for CRYPTO_cleanup_all_ex_data as well
-
-2003-08-19 11:56 bagder
-
- * lib/ssluse.c: CRYPTO_cleanup_all_ex_data() is not present in all
- OpenSSL versions so we need to check for its presence in the
- configure script
-
-2003-08-19 11:38 bagder
-
- * tests/libtest/.cvsignore: better ignore pattern
-
-2003-08-19 11:37 bagder
-
- * tests/libtest/: Makefile.am, lib507.c: test507 for multi with bad
- host name
-
-2003-08-19 11:36 bagder
-
- * tests/data/: Makefile.am, test507: test507 added
-
-2003-08-19 11:29 bagder
-
- * lib/hostip.c: don't set done==TRUE if the host name doesn't
- resolve
-
-2003-08-19 09:51 bagder
-
- * lib/ssluse.c: Loren Kirkby pointed out that we need to call
- CRYPTO_cleanup_all_ex_data() when we cleanup the SSL stuff to not
- leak any memory.
-
- I wish this was documented anywhere.
-
-2003-08-18 17:27 bagder
-
- * docs/CONTRIBUTE: minor edit
-
-2003-08-18 17:24 bagder
-
- * docs/BUGS: minor edits
-
-2003-08-18 17:11 bagder
-
- * src/config.h.in: set the large-file support defines for the
- client too
-
-2003-08-17 15:32 bagder
-
- * lib/url.c: setting WRITEFUNCTION or READFUNCTION to NULL will now
- reset the callback pointers to the internal default functions
-
-2003-08-15 09:08 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.7
-
-2003-08-15 08:35 bagder
-
- * docs/libcurl/curl_easy_setopt.3: removed lots of "added in
- [version]" where [version] is resonably old
-
-2003-08-15 00:44 bagder
-
- * configure.ac: check for long long changed the use of
- AC_CHECK_TYPE as the previous approach is deprecated require 2.57
- properly
-
-2003-08-15 00:42 bagder
-
- * lib/setup.h: Possible code for large file support, added within
- #if 0 so far.
-
-2003-08-15 00:38 bagder
-
- * README: new Russian mirror both web and download
-
-2003-08-15 00:38 bagder
-
- * tests/memanalyze.pl: supprt for the new memlimit stuff
-
-2003-08-15 00:00 bagder
-
- * docs/curl.1: added one "added in blabla" and removed a few
-
-2003-08-14 17:06 bagder
-
- * lib/transfer.c: Curl_SSL_InitSessions can return error, so check
- the return code and bail out if necessary
-
-2003-08-14 17:06 bagder
-
- * lib/llist.c: Curl_llist_destroy() checks the input for non-NULL
-
-2003-08-14 17:05 bagder
-
- * lib/hash.h: new proto for Curl_hash_init
-
-2003-08-14 17:05 bagder
-
- * lib/hash.c: 1. check allocs 2. don't leave allocated memory
- behind when returning error
-
-2003-08-14 17:02 bagder
-
- * lib/easy.c: return failure when the host cache creation fails
-
-2003-08-14 17:01 bagder
-
- * src/main.c: activate the new memory limit tests if requested only
- set cookiejar if selected
-
-2003-08-14 17:01 bagder
-
- * src/urlglob.c: return failure when an alloc function fails
-
-2003-08-14 16:20 bagder
-
- * lib/url.c: prevent memory leak when going out of memory
-
-2003-08-14 16:19 bagder
-
- * lib/: memdebug.c, memdebug.h: allow out-of-memory testing by
- setting a limit. That number of memory allocation calls will
- succeed, the following will return NULL!
-
-2003-08-14 15:38 bagder
-
- * src/main.c: better freeing when bailing out due to bad output
- glob
-
-2003-08-14 15:37 bagder
-
- * src/urlglob.c: free data on failure
-
-2003-08-14 15:37 bagder
-
- * tests/data/: Makefile.am, test87: test87 verifies the new and
- better check for bad -o #[num] stuff
-
-2003-08-14 15:01 bagder
-
- * tests/.cvsignore: ignore the .pid files
-
-2003-08-14 15:00 bagder
-
- * tests/libtest/.cvsignore: ignore lib506 too
-
-2003-08-14 14:59 bagder
-
- * tests/runtests.pl: better report on why tests are skipped, and
- also show a count of the amount of test cases that were
- "considered".
-
-2003-08-14 13:53 bagder
-
- * src/main.c: In case the output urlglob file name returned is
- NULL, then there was badness in the string and we help our user
- by returning an error.
-
-2003-08-14 13:53 bagder
-
- * src/urlglob.c: modified the #[num] code to be more robust, to
- return NULL on errors and to support numbers larger than 9
-
-2003-08-14 13:51 bagder
-
- * tests/data/test74: corrected this test case
-
-2003-08-14 13:50 bagder
-
- * tests/data/test86: test urlglobbing range requests
-
-2003-08-14 13:50 bagder
-
- * tests/data/Makefile.am: test86 added
-
-2003-08-12 23:18 bagder
-
- * tests/runtests.pl: David Byron's fix that makes this script use
- 'cygpath' instead of 'pwd' if this runs on windows, to find out
- the current working directory.
-
-2003-08-12 14:48 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.7-pre4 commit
-
-2003-08-12 11:08 bagder
-
- * docs/libcurl/Makefile.am: nicer make target for the pdf
- conversion
-
-2003-08-12 10:58 bagder
-
- * docs/libcurl/Makefile.am: don't treat index.html as the generated
- HTML pages
-
-2003-08-12 10:58 bagder
-
- * docs/libcurl/index.html: added the new man pages
-
-2003-08-12 10:58 bagder
-
- * docs/libcurl/curl_free.3: corrected return type
-
-2003-08-12 10:51 bagder
-
- * docs/libcurl/Makefile.am: added the new curl_share_* man pages,
- the libcurl-easy, the libcurl-share, made the generated pdf and
- html files get removed on 'make clean'. Made the pdf conversion
- remove the temporary .ps files.
-
-2003-08-12 10:46 bagder
-
- * docs/libcurl/: libcurl-easy.3, libcurl.3: separated the
- easy-specific stuff into a new libcurl-easy.3 man page and made
- the libcurl.3 one a more generic overview
-
-2003-08-12 10:26 bagder
-
- * docs/libcurl/curl_version_info.3: added the asynchdns bit
-
-2003-08-12 10:20 bagder
-
- * lib/http.c: Bugfix from Serge Semashko that fixes a bug
- introduced when we applied his NTLM patch. Test case 84 and 85
- verify this.
-
-2003-08-12 10:19 bagder
-
- * tests/data/: Makefile.am, test82, test83, test84, test85: more
- auth tests
-
-2003-08-12 01:15 bagder
-
- * lib/: getinfo.c, http.c, urldata.h: Added support for
- CURLINFO_HTTP_CONNECTCODE
-
-2003-08-12 01:15 bagder
-
- * lib/connect.c: bindlocal works for Windows!
-
-2003-08-12 01:13 bagder
-
- * src/main.c: Check CURL_VERSION_ASYNCHDNS for feature output
-
-2003-08-12 01:13 bagder
-
- * lib/version.c: Set the CURL_VERSION_ASYNCHDNS bit if USE_ARES is
- defined.
-
-2003-08-12 01:12 bagder
-
- * include/curl/curl.h: Added CURLINFO_HTTP_CONNECTCODE Added
- CURL_VERSION_ASYNCHDNS
-
-2003-08-12 01:07 bagder
-
- * docs/libcurl/curl_version.3: mention curl_version_info
-
-2003-08-12 00:48 bagder
-
- * CHANGES: mention the pre3 release
-
-2003-08-11 23:34 bagder
-
- * docs/examples/fopen.c: Vincent Sanders's massive update of this
- example code. One could argue weather this is still an "example"
- or a whole new API layer! ;-)
-
-2003-08-11 18:17 bagder
-
- * docs/TODO: edits
-
-2003-08-11 17:15 bagder
-
- * docs/KNOWN_BUGS: two more known bugs
-
-2003-08-11 16:55 bagder
-
- * lib/http_ntlm.c: added include "http.h" to prevent a warning
-
-2003-08-11 15:18 bagder
-
- * configure.ac: define USE_ARES nicer if enabled
-
-2003-08-11 14:30 bagder
-
- * lib/url.c: use safefree instead
-
-2003-08-11 14:26 bagder
-
- * tests/data/Makefile.am: forgot the backslash
-
-2003-08-11 14:25 bagder
-
- * lib/url.c: memory leak fixed when re-using connections with proxy
- user+passwd
-
-2003-08-11 14:23 bagder
-
- * src/: main.c, version.h: --proxy-ntlm added
-
-2003-08-11 14:23 bagder
-
- * tests/data/: Makefile.am, test81, test82: 81 + 82 test NTLM proxy
- stuff
-
-2003-08-11 14:04 bagder
-
- * src/main.c: remodeled the help text to avoid those annoying
- puts() problems when a string reaches > 512 bytes...
-
-2003-08-11 13:54 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_PROXYAUTH explained
-
-2003-08-11 13:48 bagder
-
- * include/curl/curl.h: CURLOPT_PROXYAUTH added by Serge Semashko
-
-2003-08-11 13:47 bagder
-
- * lib/: http.c, http.h, http_ntlm.c, transfer.c, url.c, urldata.h:
- Serge Semashko added CURLOPT_PROXYAUTH support, and now NTLM for
- proxies work.
-
-2003-08-11 13:29 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Christian Beutenmueller
- corrected the CURLOPT_FILE referer, as we nowadays call it
- CURLOPT_WRITEDATA.
-
-2003-08-11 13:09 bagder
-
- * tests/data/Makefile.am: added test80
-
-2003-08-11 13:09 bagder
-
- * tests/data/test80: tunnel through proxy, with both proxy and
- regular authentication
-
-2003-08-11 12:34 bagder
-
- * src/main.c: -Z and -@ no longer work, they are now officially
- available for other options, more frequently used, in a future
- release
-
-2003-08-11 12:12 bagder
-
- * tests/data/: Makefile.am, test46, test79: added test 79, a basic
- test that fetches an FTP URL over a HTTP proxy
-
-2003-08-11 11:56 bagder
-
- * lib/: cookie.h, easy.c, sendf.c, share.c, transfer.c, url.c: the
- new cookie functions that require 'data' passed in
-
-2003-08-11 11:55 bagder
-
- * lib/http.c: support sending off cookies without contents
-
-2003-08-11 11:55 bagder
-
- * lib/cookie.c: Added some infof() calls, that require the data
- pointer so now several cookie functions need that.
-
- I also fixed the cookie loader to properly load and deal with
- cookies without contents (or rather with a blank content).
-
-2003-08-11 09:30 bagder
-
- * docs/THANKS: added Dirk Manske
-
-2003-08-11 09:28 bagder
-
- * docs/THANKS: removed the dashes
-
-2003-08-11 09:25 bagder
-
- * docs/libcurl/: curl_share_cleanup.3, curl_share_init.3,
- curl_share_setopt.3, libcurl-share.3: documenting the share
- interface
-
-2003-08-11 09:24 bagder
-
- * docs/curl.1: removed the BUGS section
-
-2003-08-11 09:23 bagder
-
- * docs/libcurl/curl_easy_setopt.3: remove the BUGS section
-
-2003-08-11 09:23 bagder
-
- * docs/curl.1: fix lines that start with "
-
-2003-08-11 08:44 bagder
-
- * tests/: data/Makefile.am, data/test506, libtest/Makefile.am,
- libtest/lib506.c: test case 506 added, written by Dirk Manske
-
-2003-08-11 08:30 bagder
-
- * lib/share.c: Dirk Manske's bugfix for the share stuff
-
-2003-08-10 19:11 bagder
-
- * lib/ftp.c: don't claim the PASV connect is connected unless it
- *really* is!
-
-2003-08-08 19:56 bagder
-
- * lib/file.c: make sure the string is long enough
-
-2003-08-08 19:18 bagder
-
- * tests/server/getpart.c: Gisle Vanem fixed a single-byte overflow
-
-2003-08-08 19:12 bagder
-
- * lib/file.c: David Byron's fix for file:// URLs with drive letters
- included.
-
-2003-08-08 13:13 bagder
-
- * lib/Makefile.am: chmod the cabundle file before we attempt to
- write to it, to make make distcheck run fine
-
-2003-08-08 13:05 bagder
-
- * CHANGES: ftp create dirs work done
-
-2003-08-08 13:04 bagder
-
- * docs/libcurl/curl_easy_setopt.3: added
- CURLOPT_FTP_CREATE_MISSING_DIRS
-
-2003-08-08 12:32 bagder
-
- * tests/data/: Makefile.am, test148: ftp-create-dirs test when MKD
- fails
-
-2003-08-08 12:26 bagder
-
- * docs/curl.1: --ftp-create-dirs
-
-2003-08-08 12:24 bagder
-
- * src/main.c: introducing --ftp-create_dirs
-
-2003-08-08 12:23 bagder
-
- * tests/data/: Makefile.am, test147: --ftp-create-dirs test
-
-2003-08-08 12:21 bagder
-
- * tests/ftpserver.pl: Support COUNT in the control file, to set the
- number of times the custom REPLY is to be sent back before
- getting blanked and reverted to the built-in action. Now, we can
- make CWD fail once and then succeed when retried.
-
-2003-08-08 11:55 bagder
-
- * lib/ftp.c: re-arranged the cwd/mkd stuff a bit
-
-2003-08-08 11:13 bagder
-
- * CHANGES, include/curl/curl.h, lib/ftp.c, lib/url.c,
- lib/urldata.h, src/version.h: Early Ehlinger's
- CURLOPT_FTP_CREATE_MISSING_DIRS patch was applied
-
-2003-08-08 10:13 bagder
-
- * tests/data/: Makefile.am, test77, test78: new -z tests
-
-2003-08-08 09:07 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: corrected main meta data title
-
-2003-08-07 16:14 bagder
-
- * tests/Makefile.am: added CLEANFILES to make distcheck run fine
-
-2003-08-07 15:20 bagder
-
- * src/main.c: infilesize must be a long to work on 64bit archs
-
-2003-08-07 08:43 bagder
-
- * lib/Makefile.am, src/Makefile.am: use 644 for the chmod
-
-2003-08-07 01:59 bagder
-
- * lib/Makefile.am: argh, it wasn't *that* easy to generate the
- ca-bundle header in the build dir instead of the source dir,
- reverting that change
-
-2003-08-07 01:56 bagder
-
- * tests/data/Makefile.am: fixed syntax error
-
-2003-08-07 01:48 bagder
-
- * src/main.c: better cleaning up of memory in case of failures in
- the get-loop (it was taken care of by the exit-free anyway but
- caused test case 75 and 76 to report memory leaks).
-
- Also re-indented a small section.
-
-2003-08-07 01:47 bagder
-
- * src/urlglob.c: better cleaning up allocated memory in case of
- failures
-
-2003-08-07 01:45 bagder
-
- * tests/data/: Makefile.am, test74, test75, test76: more tests
-
-2003-08-07 01:10 bagder
-
- * tests/data/test74: new urlglob test
-
-2003-08-07 01:10 bagder
-
- * tests/runtests.pl: minor cleanup
-
-2003-08-07 00:47 bagder
-
- * tests/FILEFORMAT: explain more how the test case number awareness
- is sent to the test server(s)
-
-2003-08-07 00:32 bagder
-
- * lib/mprintf.c: fix the treatment of the variable width specifier
- '*', which caused a bug in the urlglobbing just now, fixed in the
- debian bug tracker as Bug#203827
-
-2003-08-07 00:15 bagder
-
- * Makefile.am: make an uninstall hook in the same manner we already
- did an install hook as otherwise will make distcheck fail
-
-2003-08-07 00:14 bagder
-
- * src/Makefile.am: chmod the hugehelp.c in the dist hook to make
- distcheck run fine
-
-2003-08-07 00:14 bagder
-
- * lib/Makefile.am: generate the ca-bundle.h in the build dir, and
- also make sure to chmod the file in the dist-hook to make
- distcheck run fine
-
-2003-08-06 23:23 bagder
-
- * docs/libcurl/libcurl-multi.3: Domenico Andreoli fixed the section
- number in the main meta data
-
-2003-08-06 17:26 bagder
-
- * lib/: http.c, transfer.c: include "share.h" for the cookie
- sharing
-
-2003-08-06 17:26 bagder
-
- * lib/hostip.c: make it build without ares support make sure it set
- async false even when using ipv6 (made test case 20 fail before)
-
-2003-08-06 15:49 bagder
-
- * tests/data/Makefile.am: 505 was missing
-
-2003-08-06 15:22 bagder
-
- * lib/README.ares: more fix
-
-2003-08-06 15:21 bagder
-
- * lib/README.ares: updated the ares instruction
-
-2003-08-05 17:22 bagder
-
- * lib/Makefile.am: LDFLAGS fix to make the GSSAPI build again
-
-2003-08-05 16:54 bagder
-
- * lib/Makefile.am: added README.ares
-
-2003-08-05 16:52 bagder
-
- * lib/README.ares: how to build with ares
-
-2003-08-05 16:40 bagder
-
- * lib/: Makefile.am, connect.c, ftp.c, hostip.c, hostip.h, multi.c,
- setup.h, transfer.c, url.c, url.h, urldata.h: ares
- awareness/usage/support added. If configure --enable-ares is
- used, we build libcurl to use ares for asynch name resolves.
-
-2003-08-05 15:37 bagder
-
- * configure.ac: Add --enable-ares support, which will make us build
- curl with ares for asynch name resolves. Still very experimental,
- beware!
-
-2003-08-05 15:04 bagder
-
- * lib/ftp.c: clean up the dir tree hierarchy in *_done() to make
- persistant connection FTP use the correct directories!
-
- Reported in bug report #783116
-
-2003-08-05 15:00 bagder
-
- * tests/data/Makefile.am: added test 146 for a ftp persitency test,
- as reported on the list
-
-2003-08-05 14:59 bagder
-
- * tests/data/test146: persistant connection test
-
-2003-08-05 14:32 bagder
-
- * docs/KNOWN_BUGS: auth problems
-
-2003-08-05 01:13 bagder
-
- * tests/Makefile.am: cleaned up after David Byron's comment on the
- libcurl list, aug 5 2003
-
-2003-08-05 01:05 bagder
-
- * lib/cookie.c: Jan Sundin reported a case where curl ignored a
- cookie that browsers don't,
- which turned up to be due to the number of dots in the
- 'domain'. I've now
- made curl follow the the original netscape cookie spec less
- strict on that
- part.
-
-2003-08-05 00:58 bagder
-
- * tests/data/Makefile.am: added test 73
-
-2003-08-05 00:57 bagder
-
- * tests/data/test73: Verifies Jan Sundin's cookie bug, dated aug 4
- 2003.
-
-2003-08-04 17:02 bagder
-
- * lib/: easy.c, http.c, share.c, share.h, transfer.c, url.c: Dirk
- Manske's patch that introduces cookie support to the share
- interface.
-
-2003-08-04 00:18 bagder
-
- * lib/http_chunks.c: Mark Fletcher provided an excellent bug
- report that identified a problem
- with FOLLOWLOCATION and chunked transfer-encoding, as libcurl
- would not
- properly ignore the body contents of 3XX response that included
- the
- Location: header.
-
-2003-08-03 23:33 bagder
-
- * CHANGES: serios info leakage!
-
-2003-08-03 01:36 bagder
-
- * lib/http.c: When proxy authentication is used in a CONNECT
- request (as used for all SSL connects and otherwise enforced
- tunnel-thru-proxy requests), the same authentication header is
- also wrongly sent to the remote host.
-
- The name and password can then be captured by an evil host and
- possibly get used for malicious purposes.
-
-2003-08-03 01:35 bagder
-
- * tests/data/test503: updated as the second proxy-auth header was a
- proof of a serious info leak bug!!
-
-2003-08-01 16:20 bagder
-
- * docs/MANUAL: Joerg Mueller-Tolk fixed a minor mistake
-
-2003-08-01 14:33 bagder
-
- * CHANGES: recent action
-
-2003-08-01 09:53 bagder
-
- * docs/INSTALL, src/Makefile.vc6: David Byron's makefile fix to
- allow 7.10.6 to build fine using VC
-
-2003-07-30 17:10 bagder
-
- * configure.ac: add a check for 'ar' since the lack of it bit Jared
- Ingersoll we might need to check for some other tools too that on
- Solaris are put in those weird dirs...
-
-2003-07-30 16:26 bagder
-
- * src/Makefile.vc6: removed silly target that only works when
- building from CVS
-
-2003-07-30 16:19 bagder
-
- * lib/Makefile.vc6: Jörg Müller-Tolk updated this to build fine
- with 7.10.6
-
-2003-07-30 15:41 bagder
-
- * docs/TODO: ftp proxy support would be nice
-
-2003-07-30 09:52 bagder
-
- * tests/data/: test104, test141: updated to match the recent ftp
- patch that makes it check for resumability
-
-2003-07-30 09:51 bagder
-
- * lib/ftp.c: Daniel Noguerol made the ftp code output
- "Accept-Ranges: bytes" in similar style like other faked HTTP
- headers when NOBODY and HEADER are used.
-
-2003-07-30 09:33 bagder
-
- * src/Makefile.am: Make sure to generate an uncompressed hugehelp.c
- file for inclusion in the distribution archive, as it isn't sure
- zlib is present everywhere. Those who care much for compressed
- help should regenerate the file.
-
-2003-07-30 09:22 bagder
-
- * lib/: ftp.c, urldata.h: Reverted the 'filetime' struct field back
- to a 'long' as time_t is sometimes unsigned and we want this to
- be able to hold -1 for illegal/unset values.
-
-2003-07-29 13:07 bagder
-
- * src/setup.h: CURLDEBUG not MALLOCDEBUG
-
-2003-07-29 01:00 bagder
-
- * src/mkhelp.pl: Fixes based on Gisle Vanem's input since this
- script failed due to possibly crlf newlines.
-
-2003-07-29 00:17 bagder
-
- * tests/data/: Makefile.am, test72: Digest *OR* Basic authorization
- test
-
-2003-07-28 14:13 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.6
-
-2003-07-28 12:21 bagder
-
- * lib/http.c: clear http->send_buffer when we have freed the memory
- it pointed to
-
-2003-07-28 11:02 bagder
-
- * tests/data/test106: updated to the new ftp dir parsing code that
- allows a preceeding double slash
-
-2003-07-28 10:53 bagder
-
- * docs/MANUAL: As noticed by Kevin Roth, we shall not speak of root
- dir when it isn't necessarily the root...
-
-2003-07-28 10:50 bagder
-
- * lib/ftp.c: François Pons brought a patch that once again made
- curl deal with ftp and "double slash" as indicating the root
- directory. In the RFC1738-fix of April 30, that ability was
- removed (since it is not the "right" way).
-
-2003-07-28 10:23 bagder
-
- * tests/data/test71: use the correct 'test71' file name for the
- temp file
-
-2003-07-28 10:21 bagder
-
- * tests/data/: Makefile.am, test71: got a bug report on -F in
- config files, so I wrote up this test to verify that is works...
- and it did! ;-)
-
-2003-07-25 11:46 bagder
-
- * lib/ca-bundle.h: having it in CVS causes us problems *grrr*
-
-2003-07-25 10:59 bagder
-
- * lib/Makefile.m32, src/Makefile.m32: Andrés García updated with
- the added files etc
-
-2003-07-25 10:47 bagder
-
- * lib/Makefile.am: With an unknown CA path, we undef the variable.
- To build properly without SSL/CA.
-
-2003-07-25 10:47 bagder
-
- * configure.ac: only check for CA bundle path if build with SSL
- support set a conditional for the makefile if we know the CA path
- or not
-
-2003-07-25 10:30 bagder
-
- * lib/: dict.c, easy.c, file.c, http.c, telnet.c, transfer.c,
- url.c: Removed #include <sys/resource.h>, as pointed out by Henry
- Bland we don't need it.
-
-2003-07-23 19:28 bagder
-
- * testcurl.sh: the test compared numericly if though it could
- contain a string, and I lowered the number of retries to 10
-
-2003-07-23 19:06 bagder
-
- * lib/url.c: When we re-use an existing connection we must make
- sure that we don't accidentally re-use the connect_addr field, as
- that might no longer be around. Fix verified by Tracy Boehrer who
- basicly debugged and tracked down this problem.
-
-2003-07-23 14:55 bagder
-
- * lib/hostip.c: minor code style fix
-
-2003-07-23 13:59 bagder
-
- * CHANGES, CHANGES.2002: Split out the changes from the year 2002
- into a separate file, named CHANGES.2002.
-
-2003-07-23 13:39 bagder
-
- * Makefile.am, docs/Makefile.am: SSLCERTS was moved into the docs/
- directory
-
-2003-07-23 13:38 bagder
-
- * SSLCERTS, docs/SSLCERTS: moved SSLCERTS into the docs/ directory
-
-2003-07-23 13:28 bagder
-
- * lib/http_negotiate.c: Daniel Kouril's fix to make the
- GSS-Negotiate work fine.
-
-2003-07-23 10:21 bagder
-
- * lib/Makefile.vc6, lib/curllib.dsp, src/Makefile.vc6,
- src/urlglob.c: Juan F. Codagnone's fixes to build properly on
- Windows again
-
-2003-07-23 10:11 bagder
-
- * lib/ca-bundle.h: Plain default version of this file, to allow
- users to build easier from CVS. This will be updated by the
- configure script, and a default is placed here by the maketgz
- script.
-
-2003-07-22 13:15 bagder
-
- * lib/url.c: reversed the check for GSSAPI when request that auth
-
-2003-07-22 12:00 bagder
-
- * lib/README.memoryleak: CURLDEBUG, not MALLOCDEBUG
-
-2003-07-22 11:59 bagder
-
- * lib/http_ntlm.c: More support for NTLM on proxies, now proxy
- state and nonce is stored in a separate struct properly.
-
-2003-07-22 11:58 bagder
-
- * lib/: http_ntlm.h, transfer.c: The NTLM functions now take a
- 'proxy' argument as well.
-
-2003-07-22 11:58 bagder
-
- * lib/urldata.h: Added a separate struct for the proxyntlm data, as
- it will/can be different than the remote server's. That is, both
- the server and the proxy can in fact require NTLM auth.
-
-2003-07-22 11:57 bagder
-
- * tests/README: CURLDEBUG is the symbol now
-
-2003-07-22 10:23 bagder
-
- * include/curl/curl.h: Don't depend on the TIME_WITH_SYS_TIME
- define. win32 doesn't have sys/time.h and I don't think we need
- it.
-
-2003-07-21 15:16 bagder
-
- * lib/: http.c, http_ntlm.h, url.c, url.h, urldata.h: moved the
- proxyuser and proxypasswd fields from the sessionhandle to the
- connectdata to work as expected
-
-2003-07-21 15:16 bagder
-
- * lib/http_ntlm.c: adjusted to support NTLM for proxies
-
-2003-07-21 11:19 bagder
-
- * lib/: ftp.c, krb4.c: krb4-fixes for the moved user+password
- fields within the structs
-
-2003-07-21 10:25 bagder
-
- * include/curl/curl.h, src/version.h: pre4-commit
-
-2003-07-21 10:25 bagder
-
- * CHANGES: pre4
-
-2003-07-21 09:54 bagder
-
- * CHANGES: the CWD-null bug fix
-
-2003-07-20 02:19 bagder
-
- * tests/data/test106: the fixed skip-blanks in the FTP CWD code
- called for this adjustment
-
-2003-07-20 02:18 bagder
-
- * lib/ftp.c: David Gardner pointed out in bug report 770755 that
- using the FTP command CWD with a blank argument is a bad idea.
- Now skip blanks.
-
-2003-07-20 02:02 bagder
-
- * lib/url.c: If NTLM is requested, only re-use connections that
- have the exact same credentials.
-
-2003-07-20 01:58 bagder
-
- * CHANGES: explains my fixes just committed
-
-2003-07-20 01:57 bagder
-
- * tests/data/: test10, test11, test13, test15, test16, test17,
- test18, test2, test22, test26, test27, test28, test29, test301,
- test304, test306, test31, test33, test39, test4, test40, test42,
- test43, test44, test45, test46, test47, test49, test5, test50,
- test502, test503, test51, test52, test53, test54, test55, test56,
- test57, test58, test59, test6, test60, test61, test62, test63,
- test64, test65, test66, test67, test68, test69, test7, test70,
- test8, test9: modified to work fine with the new persistant
- connection working test suite HTTP server
-
-2003-07-20 01:56 bagder
-
- * tests/FILEFORMAT: swsclose added
-
-2003-07-20 01:56 bagder
-
- * lib/: ftp.c, http.c, http_digest.c, http_ntlm.c, krb4.c, ldap.c,
- telnet.c, url.c: Access the user and passwd fields from the
- connectdata struct now instead of the sessionhandle struct, as
- that was not good.
-
-2003-07-20 01:55 bagder
-
- * lib/urldata.h: No longer stores user+password in the
- sessionhandle, now doing that in the connectdata struct instead.
- Each being an allocated pointer.
-
- The passwdgiven field was turned into a local variable in the
- only function it was being used.
-
-2003-07-20 01:54 bagder
-
- * tests/server/sws.c: fixed the CONNECT thing again
-
-2003-07-20 01:44 bagder
-
- * tests/server/sws.c: If the data contents contains the word
- 'swsclose', then this server will disconnect the client after the
- response have been sent. This also happens if the respons is zero
- byte long.
-
- In all other cases (unless an error happens), it will now
- maintain the connection to allow proper persistant connection
- testing. This was required for the NTLM testing to work so I
- finally had to fix this. Of course most of the existing HTTP
- tests will be adjusted to work with this new rule of test file
- syntax for HTTP tests.
-
- Also fixed the log function to deal with varargs for better
- logging.
-
-2003-07-16 02:04 bagder
-
- * CHANGES: recent changes
-
-2003-07-16 01:47 bagder
-
- * src/main.c: more fixes from Doug Kaufman for DJGPP builds for DOS
-
-2003-07-16 01:38 bagder
-
- * tests/data/: test67, test68, test69: updated to work with Dan
- Winship's NTLM domain stuff fix
-
-2003-07-16 01:36 bagder
-
- * lib/: http_ntlm.c, urldata.h: Moved the NTLM credentials to the
- connectdata struct instead, as NTLM authenticates connections and
- not single requests. This should make it work better when we mix
- requests from multiple hosts. Problem pointed out by Cris
- Bailiff.
-
-2003-07-16 01:06 bagder
-
- * lib/transfer.c: Fix to the endless loop of bad Basic
- authentication as reported in Cris Bailiff's bug report 768275.
-
-2003-07-16 00:58 bagder
-
- * lib/http_ntlm.c: Dan Winship's patch added that makes use of
- DOMAIN\USER or DOMAIN/USER for the user field. I changed it
- slightly to stay with strchr() only instead of strpbrk() for
- portability reasons.
-
-2003-07-16 00:46 bagder
-
- * lib/multi.c: Dan Winship's fix to make the new auth stuff such as
- NTLM to work with the multi interface
-
-2003-07-16 00:44 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Dan Winship pointed out this
- flaw
-
-2003-07-05 15:27 bagder
-
- * lib/ssluse.c: re-use existing variable instead of declaring a new
- local one
-
-2003-07-05 15:13 bagder
-
- * lib/getpass.c, lib/setup.h, src/main.c, src/setup.h,
- src/version.h: Some of Doug Kaufman's changes for the DOS port
-
-2003-07-04 20:18 bagder
-
- * CHANGES: the latest changes
-
-2003-07-04 20:17 bagder
-
- * src/config.h.in: HAVE_SETVBUF removed, no longer used
-
-2003-07-04 20:15 bagder
-
- * lib/ca-bundle.h.in: removed
-
-2003-07-04 20:15 bagder
-
- * configure.ac, lib/Makefile.am: Dan Grayson pointed out that we
- set the CURL_CA_BUNDLE variable wrongly in the configure script.
- We set it differently now and generate the lib/ca-bundle.h file
- entirely.
-
-2003-07-04 19:16 bagder
-
- * src/main.c: remove the usage of setvbuf() and use fflush()
- instead if no buffering should be done on the output
-
-2003-07-04 18:37 bagder
-
- * tests/libtest/first.c: CURLDEBUG not MALLOCDEBUG anymore
-
-2003-07-04 18:36 bagder
-
- * tests/data/: test67, test68, test69: adjusted to the NTLM updates
-
-2003-07-04 18:29 bagder
-
- * include/curl/curl.h, lib/http.c, lib/ssluse.c, lib/transfer.c,
- lib/url.c, lib/urldata.h: Peter Sylvester's patch was applied
- that introduces the following:
-
- CURLOPT_SSL_CTX_FUNCTION to set a callback that gets called
- with the
- OpenSSL's ssl_ctx pointer passed in and allow a callback to
- act on it. If
- anything but CURLE_OK is returned, that will also be returned
- by libcurl
- all the way back. If this function changes the CURLOPT_URL,
- libcurl will
- detect this and instead go use the new URL.
-
- CURLOPT_SSL_CTX_DATA is a pointer you set to get passed to the
- callback set
- with CURLOPT_SSL_CTX_FUNCTION.
-
-2003-07-01 17:21 bagder
-
- * tests/server/sws.c: David Byron's patch that allows a client to
- make the server quit with a magic url.
-
-2003-07-01 14:12 bagder
-
- * README: new CVS info
-
-2003-07-01 12:12 bagder
-
- * lib/ldap.c: Gisle Vanem found a lib handle leak in the ldap code
-
-2003-06-27 16:37 bagder
-
- * Makefile.am: When I introduced the DIST_SUBDIRS usage, I broken
- the 'make install' for include files and docs, so now I've added
- a custom install hook to run make install for docs and install
- when data is installed at the top-level.
-
-2003-06-26 23:30 sterling
-
- * SSLCERTS: revert out my bogus commit. ;-)
-
-2003-06-26 23:17 sterling
-
- * SSLCERTS: test commit
-
-2003-06-26 13:45 bagder
-
- * tests/data/: test40, test41, test42, test69, test70, Makefile.am:
- new tests
-
-2003-06-26 13:44 bagder
-
- * tests/runtests.pl: produce a skip-report at the end of all tests,
- and thus record and count them properly
-
-2003-06-26 13:42 bagder
-
- * include/curl/curl.h: beautified and added comments all over
-
-2003-06-26 13:41 bagder
-
- * docs/libcurl/curl_version_info.3: mention the new flag bits we
- support
-
-2003-06-26 13:41 bagder
-
- * docs/libcurl/curl_slist_append.3: mention that it copies the
- string you add
-
-2003-06-26 13:40 bagder
-
- * docs/libcurl/curl_easy_setopt.3: added lots, mostly the new
- auth-related option(s)
-
-2003-06-26 13:40 bagder
-
- * docs/curl.1: added lots of auth stuff and updated other things
- too
-
-2003-06-26 13:38 bagder
-
- * docs/TODO: mention COOKIES, removed added entries, corrected the
- FPL-SSL link/reference
-
-2003-06-26 13:37 bagder
-
- * docs/README.win32: mention the other formats the docs come in
-
-2003-06-26 13:36 bagder
-
- * docs/FEATURES: adjusted to recent changes
-
-2003-06-26 13:35 bagder
-
- * docs/FAQ: we do support NTLM now...
-
-2003-06-26 13:34 bagder
-
- * src/urlglob.c: CURLDEBUG is the symbol to use, no longer
- MALLOCDEBUG
-
-2003-06-26 13:34 bagder
-
- * src/mkhelp.pl: adjusted the compressed generation to be more
- helpful in comments etc
-
-2003-06-26 13:33 bagder
-
- * src/main.c: support for the new auth stuff more output on
- --version/-V mention --manual on the help output text
-
-2003-06-26 13:31 bagder
-
- * lib/urldata.h: new httpauth support, changed filetime variable
- kind
-
-2003-06-26 13:30 bagder
-
- * lib/url.c: added CURLOPT_HTTPAUTH support
-
-2003-06-26 13:30 bagder
-
- * lib/transfer.c: Adjusted to work properly with the new
- authentication stuff Added code to deal with white spaces in
- relocation headers.
-
-2003-06-26 13:28 bagder
-
- * lib/share.c: use CURLDEBUG instead of MALLOCDEBUG
-
-2003-06-26 13:27 bagder
-
- * lib/memdebug.h: use CURLDEBUG
-
-2003-06-26 13:27 bagder
-
- * lib/md5.c: adjusted to use the same API as the OpenSSL version of
- the MD5 functions
-
-2003-06-26 13:26 bagder
-
- * lib/http_ntlm.h: added ntlm flag bits
-
-2003-06-26 13:26 bagder
-
- * lib/http_ntlm.c: Many fixes, most of them based on comments by
- Eric Glass
-
-2003-06-26 13:25 bagder
-
- * lib/http_negotiate.h: new proto for Curl_input_negotiate
-
-2003-06-26 13:25 bagder
-
- * lib/http_negotiate.c: kill warnings
-
-2003-06-26 13:24 bagder
-
- * lib/http.c: major adjustments to the new authentication support
-
-2003-06-26 13:22 bagder
-
- * lib/version.c: include GSS in the debug string if available,
- support a few new flag booleans
-
-2003-06-26 13:22 bagder
-
- * lib/: formdata.c, getenv.c, getinfo.c, getpass.c, hash.c,
- hostip.c, hostip.h, http_chunks.c, http_digest.c, if2ip.c,
- krb4.c, llist.c, memdebug.c, mprintf.c, multi.c, netrc.c,
- security.c, sendf.c, ssluse.c, telnet.c: use CURLDEBUG instead of
- MALLOCDEBUG for preprocessor conditions
-
-2003-06-26 13:16 bagder
-
- * lib/file.c: use CURLDEBUG instead of MALLOCDEBUG
-
-2003-06-26 08:52 bagder
-
- * lib/ftp.c: one typecast less for the localtime(), use CURLDEBUG
- instead of MALLOCDEBUG
-
-2003-06-26 08:50 bagder
-
- * lib/: cookie.c, escape.c: use CURLDEBUG instead of MALLOCDEBUG
-
-2003-06-26 08:47 bagder
-
- * lib/connect.c: CURLDEBUG instead of MALLOCDEBUG
-
-2003-06-26 08:45 bagder
-
- * lib/base64.c: We noe use CURLDEBUG instead of MALLOCDEBUG
-
-2003-06-26 08:21 bagder
-
- * CVS-INFO, configure.ac: moved from former CVS
-
-2003-06-26 08:19 bagder
-
- * curl-style.el: Added time_t
-
-2003-06-26 01:40 bagder
-
- * CHANGES: up to date with the actual situation
-
-2003-06-13 12:15 bagder
-
- * lib/http_ntlm.c: Cris Bailiff's patch that should make us do NTLM
- correctly. When we've authenticated our connection, we can
- continue without any Authorization: headers as long as our
- connection is maintained.
-
-2003-06-13 11:09 bagder
-
- * tests/runtests.pl: stdout is good enough
-
-2003-06-13 11:04 bagder
-
- * tests/runtests.pl: work more on pids, less on pidfiles to be able
- to do better kills at the end of the test where the pidfiles
- aren't found, but "our" server is running
-
-2003-06-13 10:03 bagder
-
- * tests/data/: Makefile.am, test67, test68: fixed NTLM test 67,
- added test 68 for bad NTLM name/password
-
-2003-06-13 09:56 bagder
-
- * lib/http_ntlm.c: Cris Bailiff's bugfix
-
-2003-06-13 09:14 bagder
-
- * lib/http_ntlm.c: use more curlish strings, these should be able
- to change...
-
-2003-06-13 08:48 bagder
-
- * lib/: multi.c, share.c: Marty Kuhrt's #include fixes for VMS
-
-2003-06-13 01:05 bagder
-
- * tests/runtests.pl: get and use only the first line of the curl
- --version output
-
-2003-06-13 01:03 bagder
-
- * lib/: http_ntlm.c, transfer.c, urldata.h: modified
-
-2003-06-13 01:02 bagder
-
- * src/main.c: Make the HTTP auth stuff work, Dan Fandrich made
- --version output a list of all supported protocols.
-
-2003-06-12 21:17 bagder
-
- * src/mkhelp.pl: remove the dumpit file after use
-
-2003-06-12 19:40 bagder
-
- * lib/transfer.c: corrected a comment
-
-2003-06-12 19:34 bagder
-
- * lib/http.c, lib/transfer.c, lib/url.c, include/curl/curl.h,
- lib/urldata.h: CURLHTTP* renamed to CURLAUTH* and NEGOTIATE is
- now GSSNEGOTIATE as there's a "plain" Negotiate as well.
-
-2003-06-12 18:39 bagder
-
- * tests/data/: Makefile.am, test67: NTLM test case
-
-2003-06-12 18:38 bagder
-
- * tests/: FILEFORMAT, runtests.pl, data/test130, data/test131,
- data/test132, data/test133, data/test134: require the netrc_debug
- feature the same way we now can require SSL present client-side
-
-2003-06-12 18:22 bagder
-
- * tests/: runtests.pl, FILEFORMAT: now test cases can be set to be
- dependent on the presence of "SSL" in the client/library
-
-2003-06-12 15:55 bagder
-
- * lib/http_ntlm.c: make it build with older OpenSSL
-
-2003-06-12 15:18 bagder
-
- * lib/http_ntlm.c: attempt to make older OpenSSL versions work with
- the DES stuff
-
-2003-06-12 14:54 bagder
-
- * src/: Makefile.am, mkhelp.pl: Based on Dan Fandrich's patch and
- gzip unpack function, we now compress the 'hugehelp' text if libz
- and gzip are available at build time.
-
-2003-06-12 14:53 bagder
-
- * configure.ac: store HAVE_LIBZ as an automake conditional
-
-2003-06-11 18:14 bagder
-
- * lib/: http_ntlm.c, transfer.c: fixing details for NTLM
-
-2003-06-11 17:33 bagder
-
- * lib/http_ntlm.c: more how I envision it _should_ work, but it
- still doesn't...
-
-2003-06-11 17:31 bagder
-
- * lib/urldata.h: to support "redirects" after the full body is
- transfered
-
-2003-06-11 17:31 bagder
-
- * lib/base64.c: made a nicer output for the decode test, as it
- served as a nice tool for me ;-)
-
-2003-06-11 17:30 bagder
-
- * lib/transfer.c: when we get the auth headers, we still need to
- read out the full body response as otherwise we can re-send
- requests on the same connection nicely
-
-2003-06-11 16:05 bagder
-
- * lib/http_ntlm.c: correct mistakes
-
-2003-06-11 15:44 bagder
-
- * tests/FILEFORMAT: describe the NTLM mechanism too
-
-2003-06-11 15:44 bagder
-
- * tests/server/sws.c: basic NTLM support
-
-2003-06-11 15:42 bagder
-
- * src/main.c: ntlm added
-
-2003-06-11 15:38 bagder
-
- * lib/: Makefile.am, base64.c, http.c, http_ntlm.c, http_ntlm.h,
- transfer.c, url.c, urldata.h: Initial take at NTLM
- authentication. It doesn't really work at this point but the
- infrastructure is there.
-
-2003-06-10 15:06 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify the CUSTOMREQUEST and
- HTTPHEADER options slightly
-
-2003-06-10 14:58 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_HTTPAUTH docu
-
-2003-06-10 14:49 bagder
-
- * CHANGES, include/curl/curl.h, lib/url.c, lib/urldata.h,
- src/main.c: Set auth type differently, we use one
- CURLOPT_HTTPAUTH instead as we plan to add more method in the
- future.
-
-2003-06-10 14:25 bagder
-
- * docs/THANKS: Daniel Kouril for the HTTP negotiate stuff
-
-2003-06-10 14:22 bagder
-
- * CHANGES, configure.ac, docs/curl.1,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/Makefile.am, lib/http.c, lib/http_negotiate.c,
- lib/http_negotiate.h, lib/transfer.c, lib/url.c, lib/urldata.h,
- src/main.c, src/version.h: Daniel Kouril's patch that adds HTTP
- negotiation support to libcurl was added.
-
-2003-06-10 14:07 bagder
-
- * CHANGES: we fix more
-
-2003-06-10 14:05 bagder
-
- * tests/libtest/Makefile.am: more generic
-
-2003-06-10 11:42 bagder
-
- * src/: main.c, urlglob.c, urlglob.h: Pass the error stream pointer
- to the URL globber, so that it can report errors correctly to the
- user, if need be.
-
- Also fixed so that a missing ] in the globbing process no longer
- leads to core dump.
-
-2003-06-06 16:58 bagder
-
- * lib/http.c: When doing very big GET requests over HTTPS, we need
- to add some extra funky logic in order to make re-tries work fine
- with OpenSSL. This corrects the problem David Orrell noticed.
-
-2003-06-06 16:56 bagder
-
- * lib/sendf.c: Just moved around some logic in Curl_write() to make
- it easier to debug.
-
-2003-06-06 08:44 bagder
-
- * include/README: spellfix
-
-2003-06-05 16:04 bagder
-
- * include/curl/multi.h: Reversed the logic to only include the
- <sys/select.h> header on systems known to really NEED it as
- another system that doesn't have it came up: very old Linux
- libc5-based systems (as addition to all HPUX versions).
-
- The only known system at this point is AIX.
-
-2003-06-03 10:10 bagder
-
- * docs/KNOWN_BUGS: LDAP problem added as mention in bug report
- #735752
-
-2003-06-03 10:07 bagder
-
- * src/main.c: include the time headers just like we used to do in
- the curl/curl.h header once upon the time
-
-2003-06-03 10:06 bagder
-
- * src/config.h.in: we want the time defines too
-
-2003-06-03 09:53 bagder
-
- * tests/data/test3: Content-Length: now overrides other means of
- knowing when the stream has ended.
-
-2003-06-02 16:57 bagder
-
- * lib/transfer.c: Make the Content-Length info override the
- Connection: close header, so that libcurl will stop reading when
- the number of bytes have arrived and not wait for a closed
- socket.
-
-2003-06-02 16:48 bagder
-
- * tests/README: the 500-599 test case range
-
-2003-06-02 15:55 bagder
-
- * .cvsignore: ignore more
-
-2003-06-02 15:53 bagder
-
- * packages/DOS/.cvsignore: ignore
-
-2003-06-02 15:42 bagder
-
- * src/main.c: David Byron's fix to get the progress-bar use the
- local size too when doing a resumed download.
-
-2003-06-02 15:31 bagder
-
- * CHANGES: makefile fiddle changed how http requests are sent - now
- in one chunk more often HPUX include fix in the external headers
- better SSL work-arounds for bad SSL servers modified error
- message when CURLE_HTTP_RETURNED_ERROR is returned
-
-2003-06-02 15:27 bagder
-
- * lib/ssluse.c: work-around SSL implementation flaws better,
- pointed out in bug report #745122.
-
-2003-06-02 15:14 bagder
-
- * lib/transfer.c: make a more descriptive error message when
- CURLE_HTTP_RETURNED_ERROR is returned
-
-2003-05-28 12:24 bagder
-
- * docs/FEATURES: haven't updates this in a loooong time
-
-2003-05-28 09:54 bagder
-
- * lib/http.c: Posting static data using POST and chunked encoded
- now also appends the data to the initial request buffer, if the
- total post data is less than 100K.
-
-2003-05-28 00:56 bagder
-
- * src/main.c: include sys/time.h, we didn't have a time() proto
- anymore. Did one of the changes in curl/curl.h make this occur?
-
-2003-05-27 14:51 bagder
-
- * include/README: Documented which rules the public headers must
- follow when we write preprocessor checks for condititions.
-
-2003-05-27 14:51 bagder
-
- * include/curl/curl.h: oops, removed a # too many
-
-2003-05-27 14:45 bagder
-
- * include/curl/: curl.h, stdcheaders.h: remove usage of HAVE_*
- defines, we cannot and shall not depend on any such defines in
- the public external header files
-
-2003-05-27 14:34 bagder
-
- * include/curl/multi.h: sys/select.h is not present on HPUX, avoid
- including it
-
-2003-05-27 14:18 bagder
-
- * testcurl.sh: made it work ;-)
-
-2003-05-27 14:03 bagder
-
- * testcurl.sh: if cvs update fails, attempt again after 5 seconds
- and retry 50 times before giving up
-
-2003-05-27 10:51 bagder
-
- * Makefile.am: Only build in lib and src by default, make the
- others dist-subdirs. Make the test stuff get built when we run
- 'make test' instead.
-
-2003-05-27 10:33 bagder
-
- * lib/http.c: Rudy Koento experienced problems with curl's recent
- habit of POSTing data in two separate send() calls, first the
- headers and then the data. I've now made a fix that for static
- and known content that isn't to be chunked-encoded, everything is
- now sent in one single system call again. This is also better for
- network performance reasons.
-
-2003-05-27 09:37 bagder
-
- * docs/INSTALL: runs on DOS now
-
-2003-05-27 08:41 bagder
-
- * CHANGES: include file flaw and yet another socks5-fix
-
-2003-05-27 08:28 bagder
-
- * lib/http.c: Another socks5-fix. Make sure that when we use a
- socks-proxy, it is not the same as using a httpproxy so we must
- make sure to better check for http proxies before we do HTTP
- proxy stuff. This included authorization and URI usage in the
- request etc.
-
-2003-05-27 08:25 bagder
-
- * include/curl/curl.h: CURLOPT_HTTPDIGEST is added
-
-2003-05-26 14:32 bagder
-
- * include/curl/multi.h: language
-
-2003-05-26 10:19 bagder
-
- * docs/TODO: ftp ASCII transfers in general need fixing
-
-2003-05-26 09:57 bagder
-
- * include/curl/multi.h: Chris Lewis mentioned that he doesn't get
- WIN32 defined, only _WIN32 so we make an adjustment to catch
- this.
-
-2003-05-23 13:24 bagder
-
- * CHANGES: even more
-
-2003-05-23 13:14 bagder
-
- * lib/ftp.c: Ricardo Cadime found a socket leak when listing
- directories without contents. Test cases 144 and 145 were added
- to verify the fix.
-
- Now we deal with return code 450 properly and other codes also do
- proper cleanup.
-
-2003-05-23 13:10 bagder
-
- * tests/data/: Makefile.am, test144, test145: more ftp testing
- using NLST and no contents and bad return code
-
-2003-05-23 11:47 bagder
-
- * lib/transfer.c: Rudy Koento's problem fixed, test case 66
- verifies this.
-
-2003-05-23 11:46 bagder
-
- * tests/data/: Makefile.am, test66: test 66 returns one line of
- data with no header (HTTP)
-
-2003-05-23 10:06 bagder
-
- * docs/curl.1: --digest added, --compressed rephrased
-
-2003-05-23 08:44 bagder
-
- * lib/url.c: include digest.h for proto
-
-2003-05-23 08:43 bagder
-
- * lib/if2ip.c: DJGPP fix by Gisle Vanem
-
-2003-05-23 00:47 bagder
-
- * CHANGES: more more more
-
-2003-05-23 00:45 bagder
-
- * lib/http.c: warning-free is better
-
-2003-05-23 00:40 bagder
-
- * src/main.c: Introducing --digest
-
-2003-05-23 00:39 bagder
-
- * lib/: http.c, http_digest.c, http_digest.h, transfer.c,
- urldata.h: Better Digest stuff
-
-2003-05-23 00:38 bagder
-
- * lib/url.c: Added CURLOPT_HTTPDIGEST support SOCKS5 fix as
- suggested by Jis in bugreport #741841.
-
-2003-05-23 00:37 bagder
-
- * tests/FILEFORMAT: Document the <dataNUM> thing we use,
-
-2003-05-23 00:36 bagder
-
- * tests/server/sws.c: Digest support added
-
-2003-05-23 00:36 bagder
-
- * tests/data/: Makefile.am, test64, test65: Digest testing added
-
-2003-05-22 18:23 bagder
-
- * lib/: http_digest.h, md5.h: proper header added
-
-2003-05-22 18:12 bagder
-
- * lib/http_digest.c: hush the compiler
-
-2003-05-22 18:09 bagder
-
- * lib/: Makefile.am, http.c, http_digest.c, http_digest.h, md5.c,
- md5.h, transfer.c, urldata.h: Initial Digest support. At least
- partly working.
-
-2003-05-21 17:53 bagder
-
- * lib/escape.c: David Balazic pointed out the lack of checks for a
- valid %XX code when we unescape a string. We now check and decode
- only valid %XX strings.
-
-2003-05-21 10:12 bagder
-
- * configure.ac: fix the makefile in packages/DOS too
-
-2003-05-21 10:08 bagder
-
- * CHANGES, Makefile.dist, docs/examples/Makefile.am,
- docs/examples/makefile.dj, lib/Makefile.am, lib/config.dj,
- lib/getpass.c, lib/makefile.dj, lib/setup.h, lib/url.c,
- lib/urldata.h, packages/Makefile.am, packages/DOS/Makefile.am,
- packages/DOS/README, packages/DOS/common.dj, src/Makefile.am,
- src/main.c, src/makefile.dj, src/setup.h: Gisle Vanem made curl
- build with djgpp on DOS.
-
-2003-05-21 09:21 bagder
-
- * src/mkhelp.pl: Gisle Vanem's fix to make the 'curl -M' output
- nicer
-
-2003-05-20 14:44 bagder
-
- * docs/examples/simplessl.c: missing semicolon, by Gisle Vanem
-
-2003-05-20 11:41 bagder
-
- * lib/hostip.c: Gisle Vanem's code for not trusting h_aliases to
- always be non-NULL
-
-2003-05-20 08:33 bagder
-
- * maketgz: Remind about the gpg command lines
-
-2003-05-19 15:14 bagder
-
- * CHANGES: support user name and password in proxy environment
- variables
-
-2003-05-19 15:09 bagder
-
- * tests/data/: Makefile.am, test63: the proxy environment variables
- now may contain user name and password
-
-2003-05-19 15:08 bagder
-
- * tests/runtests.pl: remove debug output
-
-2003-05-19 15:06 bagder
-
- * tests/: FILEFORMAT, runtests.pl: setenv support added to allow
- test cases to require a set of environment variables
-
-2003-05-19 13:45 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.5 commit
-
-2003-05-16 12:57 bagder
-
- * docs/KNOWN_BUGS: known AIX ipv6 problems
-
-2003-05-16 00:28 bagder
-
- * lib/cookie.c: Skip any preceeding dots from the domain name of
- cookies when we keep them in memory, only add it when we save the
- cookie. This makes all tailmatching and domain string matching
- internally a lot easier.
-
- This was also the reason for a remaining bug I introduced in my
- overhaul.
-
-2003-05-15 23:13 bagder
-
- * acinclude.m4: change the order of the in_addr_t tests, so that
- 'unsigned long' is tested for first, as it seems to be what many
- systems use
-
-2003-05-15 10:13 bagder
-
- * CHANGES: 1. George Comninos' progress meter fix 2. I also added
- the pre-releases and dates to the log
-
-2003-05-14 11:03 bagder
-
- * docs/libcurl/curl_easy_setopt.3: documented CURLOPT_FTP_USE_EPRT
-
-2003-05-14 08:31 bagder
-
- * lib/: ftp.c, progress.c: George Comninos provided a fix that
- calls the progress meter when waiting for FTP command responses
- take >1 second.
-
-2003-05-13 14:12 bagder
-
- * lib/: connect.c, hostip.c, hostip.h: Setup and use
- CURL_INADDR_NONE all over instead of INADDR_NONE. We setup the
- define accordingly in the hostip.h header to work nicely all
- over.
-
-2003-05-13 14:11 bagder
-
- * lib/ftp.c: before using if2ip(), check if the address is an ip
- address and skip it if it is.
-
-2003-05-13 11:38 bagder
-
- * CVS-INFO: libtool 1.4.2 is enough
-
-2003-05-13 11:37 bagder
-
- * buildconf: fix comment
-
-2003-05-12 15:06 bagder
-
- * lib/connect.c: before checking for network interfaces using
- if2ip(), check that the given name isn't an ip address
-
-2003-05-12 15:05 bagder
-
- * buildconf: no more complaining when I have 1.5 and it tests for
- 1.4.2
-
-2003-05-12 14:49 bagder
-
- * CHANGES: fixes from the last week+
-
-2003-05-12 14:47 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Dan F clarified the
- CURLOPT_ENCODING description after his changes to allow "" to
- enable all support formats.
-
-2003-05-12 14:46 bagder
-
- * docs/curl.1: Dan Fandrich added --compressed docu
-
-2003-05-12 14:45 bagder
-
- * src/main.c: setting ENCODING to "" means enable-all-you-support
-
-2003-05-12 14:45 bagder
-
- * lib/: README.encoding, content_encoding.h, transfer.c, url.c:
- Dan Fandrich changed CURLOPT_ENCODING to select all supported
- encodings if
- set to "". This frees the application from having to know which
- encodings
- the library supports.
-
-2003-05-12 14:38 bagder
-
- * buildconf: Dan Fandrich lowered the libtool requirement
-
-2003-05-12 14:37 bagder
-
- * lib/ftp.c: when we have accepted the server's connection in a
- PORT sequence, we set the new socket to non-blocking
-
-2003-05-12 14:37 bagder
-
- * lib/transfer.c: avoid the write loop
-
-2003-05-12 14:29 bagder
-
- * lib/http.c: incoming proxy headers shall be sent to the debug
- function has HEADERs not DATA
-
-2003-05-09 10:17 bagder
-
- * buildconf: oops, run libtoolize as the first tool
-
-2003-05-09 10:13 bagder
-
- * buildconf: run libtoolize too
-
-2003-05-09 10:12 bagder
-
- * config.guess, ltmain.sh, config.sub: run libtoolize to generate
- these files
-
-2003-05-09 09:42 bagder
-
- * include/curl/curl.h: CURLOPT_FTP_USE_EPRT added
-
-2003-05-09 09:39 bagder
-
- * src/main.c: --disable-eprt added
-
-2003-05-09 09:39 bagder
-
- * lib/: ftp.c, url.c, urldata.h: support for CURLOPT_FTP_USE_EPRT
- added
-
-2003-05-09 09:37 bagder
-
- * include/curl/multi.h: AIX wants sys/select.h
-
-2003-05-09 09:07 bagder
-
- * docs/FAQ: clarify on the curl name issue and that there may be
- other libcurl-based tools that provide GUI
-
-2003-05-06 10:19 bagder
-
- * lib/sendf.c: Kevin Delafield reported another case where we
- didn't correctly check for
- EAGAIN but only EWOULDBLOCK, which caused badness on HPUX. We
- also check for
- and act the same on EINTR errors as well now.
-
-2003-05-05 16:19 bagder
-
- * CVS-INFO: fixed the required tools' version numbers
-
-2003-05-04 18:07 bagder
-
- * configure.ac: the writable argv check now should not exit when
- building a cross-compiled curl
-
-2003-05-03 18:25 bagder
-
- * buildconf: put back the libtool test, now for 1.5 require
- autoconf 2.57 require automake 1.7
-
-2003-05-02 11:13 bagder
-
- * lib/http.c: If there is a custom Host: header specified, we use
- that host name to extract the correct set of cookies to send.
- This functionality is verified by test case 62.
-
-2003-05-02 11:12 bagder
-
- * tests/data/: Makefile.am, test62: send correct cookies when using
- a custom Host:
-
-2003-05-02 11:11 bagder
-
- * tests/data/test61: fixed the format slightly
-
-2003-05-01 19:49 bagder
-
- * lib/transfer.c: corrected a comment about gzip not being
- supported
-
-2003-05-01 19:48 bagder
-
- * tests/data/: Makefile.am, test143: FTP URL with type=a
-
-2003-05-01 15:37 bagder
-
- * lib/: getinfo.c, ssluse.c: Andy Cedilnik fixed some compiler
- warnings
-
-2003-05-01 15:37 bagder
-
- * lib/: connect.c, connect.h: ourerrno became Curl_ourerrno() and
- is now available to all libcurl
-
-2003-05-01 15:36 bagder
-
- * lib/sendf.c: Use the proper Curl_ourerrno() function instead of
- plain errno, for better portability. Also use Andy Cedilnik's
- compiler warning fixes.
-
-2003-04-30 22:29 bagder
-
- * tests/README: the test numbers are now only for human
- readability, the numbers no longer enforces protocol/server
-
-2003-04-30 22:28 bagder
-
- * tests/runtests.pl: no longer assume that the test number implies
- servers to run
-
-2003-04-30 22:25 bagder
-
- * tests/data/: test1, test10, test100, test101, test102, test103,
- test104, test105, test106, test107, test108, test109, test11,
- test110, test111, test112, test113, test114, test115, test116,
- test117, test118, test119, test12, test120, test121, test122,
- test123, test124, test125, test126, test127, test128, test13,
- test130, test131, test132, test133, test134, test135, test136,
- test137, test138, test139, test14, test140, test141, test142,
- test15, test16, test17, test18, test19, test190, test2, test20,
- test200, test201, test202, test21, test22, test23, test24,
- test25, test26, test27, test28, test29, test3, test30, test300,
- test301, test302, test303, test304, test305, test306, test31,
- test32, test33, test34, test36, test37, test38, test39, test4,
- test400, test401, test402, test403, test43, test44, test45,
- test46, test47, test48, test49, test5, test50, test51, test52,
- test53, test54, test55, test56, test57, test58, test59, test6,
- test60, test61, test7, test8, test9: Each test case now specifies
- which server(s) it needs, without relying on the test number.
-
-2003-04-30 22:08 bagder
-
- * tests/data/Makefile.am: we say welcome to test 142
-
-2003-04-30 22:07 bagder
-
- * tests/data/test142: verify that curl fails fine when an FTP URL
- with a too deep dir hierarchy is used
-
-2003-04-30 22:04 bagder
-
- * lib/ftp.c: when making up the list of path parts, save the last
- entry pointing to NULL as otherwise we'll go nuts
-
-2003-04-30 22:01 bagder
-
- * CHANGES: recent action
-
-2003-04-30 21:58 bagder
-
- * lib/url.c: if there's a cookiehost allocated, free that too
-
-2003-04-30 21:56 bagder
-
- * tests/data/test61: ok, make the test run ok too
-
-2003-04-30 21:49 bagder
-
- * tests/data/: Makefile.am, test61: various new cookie tests with a
- custom Host: header set
-
-2003-04-30 19:16 bagder
-
- * tests/data/: test103, test104, test106, test108, test125,
- test126, test127, test137, test138, test190, test31, test401:
- modified to work with modified code
-
-2003-04-30 19:15 bagder
-
- * tests/runtests.pl: modified to produce nicer output when a single
- test fails
-
-2003-04-30 19:15 bagder
-
- * tests/getpart.pm: make the diffs with 'diff -u' to make them
- nicer and easier to read
-
-2003-04-30 19:12 bagder
-
- * lib/http.c: stop parsing Host: host names at colons too
-
-2003-04-30 19:05 bagder
-
- * lib/transfer.c: modified to the new cookie function proto
-
-2003-04-30 19:04 bagder
-
- * lib/http.c: extract host name from custom Host: headers to use
- for cookies
-
-2003-04-30 19:03 bagder
-
- * lib/: cookie.c, cookie.h: Many cookie fixes: o Save domains in
- jars like Mozilla does. It means all domains set in
- Set-Cookie: headers are dot-prefixed. o Save and use the
- 'tailmatch' field in the Mozilla/Netscape cookie jars (the
- second column). o Reject cookies using illegal domains in the
- Set-Cookie: line. Concerns both domains with too few dots or
- domains that are outside the currently operating server
- host's domain. o Set the path part by default to the one used
- in the request, if none was set in the Set-Cookie line.
-
-2003-04-30 19:01 bagder
-
- * lib/urldata.h: changes need for the new ftp path treatment and
- the new cookie code
-
-2003-04-30 18:59 bagder
-
- * lib/ftp.c: David Balazic's patch to make the FTP operations "do
- right" according to RFC1738, which means it'll use one CWD for
- each pathpart.
-
-2003-04-30 09:32 bagder
-
- * docs/INSTALL: two more platforms Rich Gray built curl on
-
-2003-04-29 20:03 bagder
-
- * lib/multi.c: Peter Kovacs provided a patch that makes the
- CURLINFO_CONNECT_TIME work fine
- when using the multi interface (too).
-
-2003-04-29 18:55 bagder
-
- * docs/INSTALL: mention configure --help
-
-2003-04-28 19:29 bagder
-
- * docs/TODO: CURLOPT_FTPPORT could support port number too
-
-2003-04-28 15:48 bagder
-
- * perl/contrib/formfind: corrected the comment which wasn't correct
-
-2003-04-25 17:08 bagder
-
- * lib/Makefile.vc6: RSAglue.lib is no longer needed with recent
- OpenSSL versions
-
-2003-04-24 08:34 bagder
-
- * src/main.c: Dan Fandrich added support for the gzip
- Content-Encoding for --compressed
-
-2003-04-23 14:09 bagder
-
- * tests/data/: Makefile.am, test60: Bryan Kemp's reported problems
- with curl and PUT from stdin and a faked content-length made me
- add test case 60, that does exactly this, but it seems to run
- fine...
-
-2003-04-23 01:30 bagder
-
- * CHANGES: last 10 days or so
-
-2003-04-23 01:29 bagder
-
- * config.guess, config.sub, ltmain.sh: libtool 1.5 stuff
-
-2003-04-23 01:26 bagder
-
- * buildconf: stop checking for libtool, we don't run that in this
- script
-
-2003-04-23 00:33 bagder
-
- * lib/: http_chunks.c, transfer.c: Dan Fandrich corrected the error
- messages on "bad encoding".
-
-2003-04-23 00:32 bagder
-
- * lib/content_encoding.c: Dan Fandrich's gzip bugfix
-
-2003-04-23 00:31 bagder
-
- * buildconf: Dan Fandrich's fix
-
-2003-04-22 23:42 bagder
-
- * lib/easy.c: Peter Sylvester pointed out that curl_easy_setopt()
- will always (wrongly)
- return CURLE_OK no matter what happens.
-
-2003-04-16 14:46 bagder
-
- * docs/curl.1: two dashes is enough
-
-2003-04-15 16:18 bagder
-
- * tests/libtest/lib505.c: typecast the setting of the size, as it
- might be an off_t which is bigger than long and libcurl expects a
- long...
-
-2003-04-15 16:01 bagder
-
- * src/setup.h: If MALLOCDEBUG, include the lib's setup.h here so
- that the proper defines are set before all system headers, as
- otherwise we get compiler warnings on my Solaris at least.
-
-2003-04-15 15:32 bagder
-
- * tests/libtest/test.h: include config.h before all system headers,
- so that _FILE_OFFSET_BITS and similar is set properly by us first
-
-2003-04-15 11:58 bagder
-
- * docs/curl.1: extended the -F section
-
-2003-04-15 11:29 bagder
-
- * lib/formdata.c: treat uploaded .html files as text/html by
- default
-
-2003-04-15 00:00 bagder
-
- * lib/ssluse.c: return the same error for the sslv2 "certificate
- verify failed" code
-
-2003-04-14 16:54 bagder
-
- * src/main.c: new wording by Kevin Roth
-
-2003-04-14 15:09 bagder
-
- * src/.cvsignore: ignore all stamp-h*
-
-2003-04-14 15:09 bagder
-
- * src/main.c: With the recent fix of libcurl, it shall now return
- CURLE_SSL_CACERT when it had problems withe CA cert and thus we
- offer a huge blurb of verbose help to explain to the poor user
- why this happens.
-
-2003-04-14 14:53 bagder
-
- * lib/ssluse.c: Restored the SSL error codes since they was broken
- in the 7.10.4 release, also now attempt to detect and return the
- specific CACERT error code.
-
-2003-04-14 09:13 bagder
-
- * CHANGES: FTP CWD response fixed gzip content-encoding added
- chunked content-encoding fixed
-
-2003-04-11 18:52 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: clarified the
- CURLINFO_SIZE_DOWNLOAD somewhat on Juan F. Codagnone's suggestion
-
-2003-04-11 18:31 bagder
-
- * lib/content_encoding.c: Nic fixed so that Curl_client_write()
- must not be called with 0 lenth data.
-
- I edited somewhat and removed trailing whitespaces.
-
-2003-04-11 18:23 bagder
-
- * lib/http_chunks.c: Nic Hines fixed this bug when deflate or gzip
- contents were downloaded using chunked encoding.
-
-2003-04-11 18:23 bagder
-
- * lib/url.c: ah, move the zero byte too or havoc will occur
-
-2003-04-11 18:22 bagder
-
- * tests/data/: Makefile.am, test59: verify the new url parser fix
-
-2003-04-11 18:08 bagder
-
- * lib/url.c: support ? as separator instead of / even if not
- protocol was given
-
-2003-04-11 10:57 bagder
-
- * docs/THANKS: these guys deserve a mentioning here as well
-
-2003-04-11 10:55 bagder
-
- * docs/THANKS: Dan the man on the list
-
-2003-04-11 10:51 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Dan Fandrich's added gzip
- support documented.
-
-2003-04-11 10:49 bagder
-
- * lib/: README.encoding, content_encoding.c, content_encoding.h,
- http_chunks.c, transfer.c, urldata.h: Dan Fandrich's gzip patch
- applied
-
-2003-04-11 10:19 bagder
-
- * docs/: curl.1, libcurl/curl_easy_setopt.3: when saving a cookie
- jar fails, you don't get an error code or anything, just a
- warning in the verbose output stream
-
-2003-04-11 10:10 bagder
-
- * lib/ftp.c: According to RFC959, CWD is supposed to return 250 on
- success, but
- there seem to be non-compliant FTP servers out there that return
- 200,
- so we accept any '2xy' response now.
-
-2003-04-11 09:39 bagder
-
- * lib/url.c: show a verbose warning message in case cookie-saving
- fails, after Ralph Mitchell's notification.
-
-2003-04-10 13:43 bagder
-
- * tests/data/: test139, test140, test141: new ftp tests
-
-2003-04-10 13:36 bagder
-
- * CHANGES: another week has passed
-
-2003-04-10 11:44 bagder
-
- * lib/url.c: Vlad Krupin's URL parsing patch to fix the URL parsing
- when the URL has no slash after the host name, but still a ? and
- following "parameters".
-
-2003-04-09 14:02 bagder
-
- * tests/ftpserver.pl: oops, committed test code not meant to be
- here
-
-2003-04-09 13:57 bagder
-
- * lib/sendf.c: the default debugfunction shows incoming headers as
- well
-
-2003-04-09 13:56 bagder
-
- * lib/ftp.c: timecond support added made the Last-Modified (faked)
- header look correct using GMT always
-
-2003-04-09 13:55 bagder
-
- * tests/data/Makefile.am: three new ftp tests
-
-2003-04-09 13:53 bagder
-
- * tests/FILEFORMAT: <mdtm> added
-
-2003-04-09 13:52 bagder
-
- * tests/ftpserver.pl: MDTM support added
-
-2003-04-08 16:48 bagder
-
- * lib/transfer.c: James Bursa fixed a flaw in the content-type
- extracting code that could miss the first letter
-
-2003-04-08 12:35 bagder
-
- * lib/curllib.dsp: share.c added
-
-2003-04-07 08:41 bagder
-
- * docs/TODO: --disable-eprt perhaps?
-
-2003-04-06 14:29 bagder
-
- * configure.ac: Ryan Weaver's fix to prevent the ca bundle to get
- installed even when building curl without SSL support!
-
-2003-04-04 14:30 bagder
-
- * tests/data/: test304, test39, test44, test9: adjusted the
- formpost testcases to the new boundary string construction
-
-2003-04-04 14:24 bagder
-
- * lib/formdata.c: Changed how boundary strings are generated. This
- new way uses 28 dashes and 12 following hexadecimal letters,
- which seems to be what IE uses. This makes curl work smoother
- with more stupidly written server apps.
-
- Worked this out together with Martijn Broenland.
-
-2003-04-03 18:11 bagder
-
- * lib/hostip.c: spell fix
-
-2003-04-03 16:16 bagder
-
- * lib/ftp.c: kill a compiler warning on cygwin
-
-2003-04-03 15:43 bagder
-
- * tests/server/sws.c: Added log output for when the writing of the
- input HTTP request is successful or unsuccessful. Used to track
- down the recent cygwin test suite problems.
-
-2003-04-03 15:42 bagder
-
- * tests/ftpserver.pl: Modified how we log data to server.input, as
- we can't keep the file open very much as it makes it troublesome
- on certain operating systems.
-
-2003-04-03 15:39 bagder
-
- * tests/data/test505: new
-
-2003-04-02 09:48 bagder
-
- * include/curl/curl.h, src/version.h: 7.10.4 commit
-
-2003-04-02 09:42 bagder
-
- * CHANGES: Version 7.10.4
-
-2003-04-01 10:43 bagder
-
- * tests/FILEFORMAT: documented the new killserver tag
-
-2003-04-01 10:42 bagder
-
- * tests/data/test402: kill the ftp server afterwards, it is just so
- messed up
-
-2003-04-01 10:42 bagder
-
- * tests/ftpserver.pl: log when we've returned verification that we
- are the test server
-
-2003-04-01 10:41 bagder
-
- * tests/runtests.pl: support the new <killserver> tag
-
-2003-04-01 09:13 bagder
-
- * tests/libtest/.cvsignore: ignore lib505 too
-
-2003-04-01 09:13 bagder
-
- * tests/libtest/: Makefile.am, lib505.c: lib505.c is a new test
- case for ftp uploading with rename
-
-2003-04-01 09:10 bagder
-
- * tests/ftpserver.pl: Added support for the RNFR/RNTO commands
-
-2003-04-01 00:16 bagder
-
- * README: updated
-
-2003-03-31 23:43 bagder
-
- * lib/url.c: move the ssl config clone call to before the
- connectionexists call and then also subsequently free the ssl
- struct if the connection struct is to be deleted
-
-2003-03-31 17:59 bumblebury
-
- * lib/cookie.c: testing, ignore this commit
-
-2003-03-31 16:02 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.4-pre6 commit
-
-2003-03-31 13:37 bagder
-
- * Makefile.am: added dist-hook that clears the tests/log dir
- properly as otherwise 'make distcheck' doesn't pass
-
-2003-03-31 07:13 bagder
-
- * lib/: ssluse.c, url.c, url.h, urldata.h: Fixup after talks with
- Richard Bramante. We should now make better comparisons before
- re-using SSL connections and re-using SSL connection IDs.
-
-2003-03-31 06:42 bagder
-
- * src/main.c: --location-trusted added, which does a normal
- location plus the new CURLOPT_UNRESTRICTED_AUTH option set TRUE.
-
- Patch by Guillaume Cottenceau.
-
-2003-03-31 06:41 bagder
-
- * docs/libcurl/curl_easy_setopt.3, lib/http.c, include/curl/curl.h,
- lib/url.c, lib/urldata.h: Guillaume Cottenceau's patch that adds
- CURLOPT_UNRESTRICTED_AUTH that disables the host name check in
- the FOLLOWLOCATION code. With that option set, libcurl will send
- user+password to all hosts.
-
-2003-03-31 06:05 bagder
-
- * CHANGES: 10 days of fixes
-
-2003-03-31 06:04 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify USERPWD somewhat more
-
-2003-03-31 05:42 bagder
-
- * lib/url.c: Frankie Fong filed bug report #708708 which identified
- a problem with ConnectionExists() when first doing a proxy
- connecto to a HTTPS site and then switching over to a HTTP
- connection to the same host.
-
- This fix corrects the problem.
-
-2003-03-29 12:03 bagder
-
- * src/main.c: Dan Shearer's fix from bug report #618892, which
- makes 'curl -O' output an error message about a missing URL.
-
-2003-03-28 13:56 bagder
-
- * docs/TODO: send as much as possible of the POST at once
-
-2003-03-27 16:09 bagder
-
- * README: added section titles and a CONTACT paragraph asking
- people to use the mailing lists
-
-2003-03-26 20:05 bagder
-
- * configure.ac: fixed the pkg-config stuff for rh9
-
-2003-03-26 12:48 bagder
-
- * docs/CONTRIBUTE: add URLs to patch and diff
-
-2003-03-26 12:44 bagder
-
- * docs/BUGS: mention the URL to the mailing lists
-
-2003-03-25 23:40 bagder
-
- * configure.ac: attempt to extract openssl information using
- pkg-config
-
-2003-03-25 16:56 bagder
-
- * configure.ac, configure.in: Renamed configure.in to configure.ac,
- as this is the supposedly new preferred name for it.
-
-2003-03-25 16:54 bagder
-
- * configure.in: use init and copyright to get a better header in
- the generated script
-
-2003-03-25 15:23 bagder
-
- * lib/url.c: white space and indent fix
-
-2003-03-25 00:11 bagder
-
- * lib/.cvsignore: ignore getdate.c
-
-2003-03-25 00:10 bagder
-
- * lib/: url.c, urldata.h: Richard Bramante's provided a fix for a
- handle re-use problem seen when you change options on an
- SSL-enabled connection between requests.
-
-2003-03-24 12:06 bagder
-
- * lib/ca-bundle.crt: Removed the "TC TrustCenter, Germany, Class 0
- CA." certificate:
-
- "It is a DEMO certificate and was never intended to be in any
- list of trusted CA certificates."
-
- (quote by Götz Babin-Ebell, trustcenter.de)
-
-2003-03-24 11:47 bagder
-
- * CHANGES: all those changes
-
-2003-03-21 09:09 bagder
-
- * lib/url.c: Hopefully this change addresses these two bug reports:
- 707003 and 706624.
-
- We need to make sure that when we init a 'connectdata' struct and
- then afterwards check for and re-use another one, we must be
- careful so that the newly set values are transmitted and used in
- the surviving connectdata struct.
-
-2003-03-20 16:12 bagder
-
- * CVS-INFO: lib/getdate.c.cvs may need a rename if you don't have
- yacc or bison
-
-2003-03-20 15:38 bagder
-
- * testcurl.sh: if the cvs update fails, don't continue further
-
-2003-03-19 22:28 bagder
-
- * lib/urldata.h: make the ENGINE depend on the USE_SSLEAY define
- too
-
-2003-03-19 10:26 bagder
-
- * tests/: getpart.pm, runtests.pl: set binary mode for some file
- handling and it might work better on some cygwin installations
- (using DOS-style files somehow?)
-
-2003-03-19 10:16 bagder
-
- * lib/hostip.c: typecast the conversion from const char * to char *
-
-2003-03-19 10:09 bagder
-
- * lib/: getdate.c.cvs, getdate.c: Rename getdate.c to
- getdate.c.cvs, since the "normal" build procedure do imply that
- yacc/bison exists and can generate this file. Those without one
- of those tools can then checkout and rename the getdate.c.cvs
- file.
-
-2003-03-18 11:01 bagder
-
- * docs/curl.1: clarify that 22 can be returned on --fail for all
- HTTP errors being 400 or above
-
-2003-03-17 18:20 bagder
-
- * tests/libtest/lib504.c: more defensive checking as platforms
- differ...
-
-2003-03-17 13:38 bagder
-
- * docs/examples/: ftpupload.c, sepheaders.c: Andy Cedilnik's
- corrections
-
-2003-03-16 19:41 bagder
-
- * CHANGES: it just never ends
-
-2003-03-16 17:20 bagder
-
- * lib/getdate.c: regenerated from getdate.y
-
-2003-03-16 17:15 bagder
-
- * lib/http.c: Juan F. Codagnone pointed out a missing thing from
- the march 2 fix
-
-2003-03-16 11:46 bagder
-
- * tests/server/sws.c: typecase getpid() to int to prevent compiler
- warning
-
-2003-03-15 22:04 bagder
-
- * configure.in: figure out select()'s argument types
-
-2003-03-15 22:02 bagder
-
- * lib/memdebug.h: Gisle Vanem's fix to get this working nicely on
- windows
-
-2003-03-15 22:00 bagder
-
- * lib/getdate.y: Gisle Vanem fixed a name collision with structure
- '"CONTEXT" in <winnt.h>
-
-2003-03-15 18:26 bagder
-
- * tests/runtests.pl: missing newline added
-
-2003-03-15 18:12 bagder
-
- * tests/data/test504: no server needed
-
-2003-03-15 18:11 bagder
-
- * tests/runtests.pl: allow 'none' as server
-
-2003-03-15 17:51 bagder
-
- * lib/urldata.h: Sort out the ENGINE problems people seem to be
- having. Now we put all ENGINE related stuff within
- HAVE_OPENSSL_ENGINE_H and we don't make any private typedef or
- similar if the header is missing...
-
-2003-03-15 17:43 bagder
-
- * tests/runtests.pl: * use the pid returned back from test-servers
- and kill them before starting them the first time * verify that
- the server we start really comes up fine and works as expected
- before continue * count test cases where the server can't be run
- (for whatever reason) * prefix lots of messages with RUN: to make
- it easier to realize which script is saying what when running
- tests verbose * remove the generic sleep(1) from each test, makes
- the suite fly! ;-)
-
- I hope these changes will make the tests run somewhat more
- reliably on more platforms.
-
-2003-03-15 17:39 bagder
-
- * tests/: ftpserver.pl, server/sws.c: report pid back in the WE
- ROOLZ message
-
-2003-03-15 17:05 bagder
-
- * tests/server/sws.c: removed the "banner" when the server is
- starting
-
-2003-03-15 16:08 bagder
-
- * docs/TODO: detect lack of perl before running tests
-
-2003-03-15 15:47 bagder
-
- * tests/server/sws.c: Rick Jones' minor thing to build better on
- HPUX 11
-
-2003-03-14 18:21 bagder
-
- * lib/config-vms.h: Nico Baggus little adjustment to build with
- OpenSSL 0.9.7 (the ENGINE thing)
-
-2003-03-14 13:44 bagder
-
- * configure.in: improved "deeper" check
-
-2003-03-14 00:02 bagder
-
- * configure.in: No longer halts operation if select or socket are
- missing, since in most cases this is wrong... and if they're
- truly missing, we won't succeed to link later on anyway.
-
-2003-03-13 22:41 bagder
-
- * lib/: multi.c, ssluse.c: Philippe Raoult needed this to build on
- FreeBSD
-
-2003-03-13 18:06 bagder
-
- * configure.in: Extra function-find magic for platforms that don't
- like the way the default AC_CHECK_FUNCS() work. HPUX 11 is one of
- them.
-
-2003-03-13 16:56 bagder
-
- * testcurl.sh: output what cvs returned, see if we can make the
- script bail out when cvs update fails
-
-2003-03-13 16:54 bagder
-
- * tests/libtest/Makefile.am: use include path from BUILD dir since
- we want the config.h
-
-2003-03-12 15:29 bagder
-
- * CHANGES: Things are moving along...
-
-2003-03-12 15:20 bagder
-
- * src/main.c: When we append stuff to the URL, we must make sure
- the text is properly URL encoded before. Test case 58 added to
- verify this.
-
-2003-03-12 15:14 bagder
-
- * docs/KNOWN_BUGS: -m on curl on windows with telnet doesn't work
-
-2003-03-12 15:04 bagder
-
- * tests/data/test58: This verifies that my fix for bug report
- #700275 works.
-
-2003-03-12 15:03 bagder
-
- * tests/data/Makefile.am: test58 added
-
-2003-03-12 14:42 bagder
-
- * configure.in: improved the header checks --enable-libgcc check
- for a sed before using it
-
-2003-03-12 09:54 bagder
-
- * tests/libtest/: lib503.c, lib504.c: Add include files to prevent
- warnings on some (HPUX) systems.
-
-2003-03-12 09:54 bagder
-
- * tests/libtest/test.h: include "config.h" from the lib's private
- dir
-
-2003-03-12 09:53 bagder
-
- * tests/libtest/Makefile.am: Setup include path to the lib dir to
- enable inclusion of "config.h"
-
-2003-03-12 09:44 bagder
-
- * lib/telnet.c: Made set_local_option() properly static as reported
- by Rick Jones
-
-2003-03-12 09:40 bagder
-
- * lib/: arpa_telnet.h, telnet.c: Prefix defines and symbols with
- CURL_ to reduce the risk of colliding with various system's other
- defines.
-
-2003-03-12 09:11 bagder
-
- * curl-style.el: support a few more common typedefs
-
-2003-03-12 09:07 bagder
-
- * configure.in: Massige use of AC_HELP_STRING() all over makes the
- --help output so much nicer!
-
-2003-03-11 20:22 bagder
-
- * CHANGES: another week of changes, especially libtool gave us an
- adventure to remember
-
-2003-03-11 20:12 bagder
-
- * lib/sendf.c: syntax error
-
-2003-03-11 20:07 bagder
-
- * lib/sendf.c: Christophe Demory fixed the check to work better for
- non-blocking on HP-UX systems. Bug report #701749.
-
-2003-03-11 19:58 bagder
-
- * lib/: ftp.c, ftp.h, url.c: Use ssize_t instead of 'int' to make
- the 64 bit sparc compiler happier. Fix by Richard Gorton.
-
-2003-03-11 19:55 bagder
-
- * lib/ssluse.c: Richard Gorton improved the random_the_seed()
- function for systems where we don't find/know of a good random
- source. This way, we get a better randomness which in turn should
- make SSL connections more secure.
-
-2003-03-11 18:16 bagder
-
- * configure.in: don't check for netinet/if_ether.h, we don't
- include it and it causes configure warnings on many systems
-
-2003-03-11 17:28 bagder
-
- * lib/connect.c: Martin C. Martin's fix to produce an error message
- in case of failure in the Curl_is_connected() function.
-
-2003-03-10 21:46 bagder
-
- * docs/TODO: added things to fix at the next major release/change
-
-2003-03-10 21:43 bagder
-
- * docs/libcurl/curl_multi_remove_handle.3: clarify
-
-2003-03-10 18:01 bagder
-
- * docs/examples/getinmemory.c: no the data is not freed, this is
- left for the app to do when needed
-
-2003-03-10 15:52 bagder
-
- * ltmain.sh: AAAARG
-
- libtool 1.4.3 is scary as hell and caused just about every build
- on all sorts of platforms to stop working, thanks to the fact
- that it ruquires a SED variables somehow set by the configure
- script. It works fine on my linux running autoconf 2.57 and
- automake 1.7 but others seem not to do as fine.
-
- Reverting back to the ltmain.sh we had previously, which I
- believe is 1.4.2 including handmade patches for FreeBSD.
-
- ALERT ALERT ALERT before we try 1.4.3 or similar versions again,
- check the ${SED} stuff and similar carefully.
-
-2003-03-10 13:25 bagder
-
- * include/curl/multi.h: Include sys/types.h as well. Ray DeGennaro
- reports successful compiling on AIX when this fix is applied and
- I cannot see how this will break any systems.
-
-2003-03-07 14:36 bagder
-
- * configure.in: figure out the path to a 'sed' as otherwise libtool
- gets crazy
-
-2003-03-07 10:03 bagder
-
- * config.guess, config.sub, ltmain.sh: libtoolize 1.4.3 brought
- these
-
-2003-03-04 07:41 bagder
-
- * CHANGES: Removed define, risc os build, POST-GET bug fixed, AIX
- 4.3 problems solved and two makefiles fixed.
-
-2003-03-04 00:26 bagder
-
- * maketgz: output the md5sum as the last step
-
-2003-03-03 23:39 bagder
-
- * lib/: Makefile.b32, Makefile.b32.resp, Makefile.vc6: Added
- share.obj
-
-2003-03-03 23:31 bagder
-
- * configure.in: moved the disable-thread warning to the switch code
- so that the AIX 4.3 automatic disable won't cause a warning
-
-2003-03-03 23:30 bagder
-
- * configure.in: Detect AIX 4.3 or later, and if found disable the
- check for the thread-safe *_r() functions as they're not needed
- (and if fact mess things up for us). Brought to our attention by
- the friendly Troels Walsted Hansen in bug report #696217.
-
-2003-03-03 23:23 bagder
-
- * lib/hostip.c: AIX 4.3 or later should use gethostbyname() and not
- the *_r() version.
-
-2003-03-03 07:45 bagder
-
- * lib/http.c: Added typecast to please the MSVC compiler.
-
-2003-03-03 07:42 bagder
-
- * lib/telnet.c: another typecast added to please the borland
- compiler
-
-2003-03-03 07:40 bagder
-
- * lib/telnet.c: Add (void) on our uses of the swrite() macro when
- we don't read the return code as this makes compiler warnings. We
- *should* fix the code to deal with the return codes instead...
-
-2003-03-02 18:43 bagder
-
- * lib/http.c: Init postdata properly before issuing a request, so
- that there isn't any lingering POST-stuff that confuses GET
- requests. Juan F. Codagnone reported this problem in bug report
- #653859.
-
-2003-03-02 18:20 bagder
-
- * lib/telnet.c: moved a variable declaration to remove a compiler
- warnings with the MSVC compiler, mentioned by Andi Jahja
-
-2003-02-28 16:50 bagder
-
- * lib/url.c: include the engine stuff
-
-2003-02-28 16:49 bagder
-
- * lib/Makefile.m32, src/Makefile.m32: Andres Garcia Garcia updated
- to build with the most recent OpenSSL and the recent libcurl
- changes.
-
-2003-02-28 14:11 bagder
-
- * lib/: if2ip.c, if2ip.h: James Bursa made it compile on RISC OS as
- well.
-
-2003-02-28 14:10 bagder
-
- * docs/INSTALL: James Bursa wrote a section about cross-compiling
- for RISC OS
-
-2003-02-28 13:20 bagder
-
- * src/main.c, src/writeout.c, lib/ssluse.c, lib/telnet.c: the
- strequal and strnequal should now be called with the proper curl_
- prefix
-
-2003-02-28 13:17 bagder
-
- * include/curl/curl.h: Removed the defines for strequal() and
- strnequal().
-
-2003-02-28 09:40 bagder
-
- * CHANGES: recent stuff
-
-2003-02-28 08:55 bagder
-
- * tests/FILEFORMAT: mention what happens if size is set to -1
-
-2003-02-28 08:53 bagder
-
- * docs/libcurl/curl_easy_setopt.3: spell out that POSTFIELDS should
- be url-encoded in most cases
-
-2003-02-28 00:10 bagder
-
- * lib/ssluse.c: spell better
-
-2003-02-27 15:25 bagder
-
- * docs/libcurl/curl_multi_info_read.3: Updated to better reflect
- reality. Also displays how the CURLMsg struct looks like.
-
-2003-02-27 13:50 bagder
-
- * lib/ftp.c: It appears that there are FTP-servers that return size
- 0 for files when SIZE is used on the file while being in BINARY
- mode. To work around that (stupid) behavior, we attempt to parse
- the RETR response even if the SIZE returned size zero.
-
- Debugging help from Salvatore Sorrentino on February 26, 2003.
-
-2003-02-26 18:09 bagder
-
- * tests/data/: test138, Makefile.am: test138 is for RETR without
- size and without a working SIZE
-
-2003-02-26 18:05 bagder
-
- * tests/ftpserver.pl: support <size>-1</size> to completely disable
- the SIZE command
-
-2003-02-26 17:57 bagder
-
- * tests/ftpserver.pl: added support for RETRNOSIZE in the control
- file to tell RETR to not include size in the 150-reply
-
-2003-02-26 17:56 bagder
-
- * tests/data/test137: added a test case for RETR that doesn't get
- the size in the 150-reply
-
-2003-02-26 14:46 bagder
-
- * docs/Makefile.am: added index.html
-
-2003-02-26 14:01 bagder
-
- * docs/MANUAL: random updates
-
-2003-02-26 13:42 bagder
-
- * lib/transfer.c: No longer loop to read multiple times before
- returning back from the transfer function, as this could easily
- end up looping for a very long time (more or less until the whole
- transfer was done) and no library-using app would want that.
-
- Found thanks to a report by Kyle Sallee.
-
-2003-02-25 09:52 bagder
-
- * docs/FAQ: updated, now features less mentions about older
- versions
-
-2003-02-25 09:36 bagder
-
- * docs/FAQ: better sslcerts link
-
-2003-02-24 19:14 bagder
-
- * CHANGES, CVS-INFO, Makefile.am, docs/TODO, include/curl/curl.h,
- src/version.h, tests/server/sws.c: 7.10.4-pre2 commit
-
-2003-02-24 17:53 bagder
-
- * lib/: http.c, transfer.c, urldata.h: Fixes to bring back the the
- "Expect: 100-continue" functionality. If the header is used, we
- must wait for a 100-code (or timeout), before we send the data.
- The timeout is merely 1000 ms at this point. We may have reason
- to set a longer timeout in the future.
-
-2003-02-24 15:50 bagder
-
- * lib/url.c: Kjetil Jacobsen found out that setting
- CURLOPT_MAXCONNECTS to a value higher than 5 could cause a
- segfault.
-
-2003-02-24 14:28 bagder
-
- * docs/curl.1: fixed language for limit-rate
-
-2003-02-24 09:18 bagder
-
- * docs/HISTORY: daily was weekly, added a little thing about feb
- 2003
-
-2003-02-21 16:19 bagder
-
- * docs/libcurl/curl_slist_append.3: added an EXAMPLE section
-
-2003-02-18 00:23 bagder
-
- * docs/libcurl/curl_easy_setopt.3: how to disable FTP PORT
-
-2003-02-17 10:15 bagder
-
- * testcurl.sh: This script clearly misses to remove the build dir
- at times when it exits, so we now remove everything matching
- "build-*" when the script starts.
-
-2003-02-17 10:02 bagder
-
- * docs/curl.1: mention --trace and --trace-ascii in the
- -v/--versbose section to remind people how to get even more
- details shown
-
-2003-02-14 23:28 bagder
-
- * docs/curl.1: mention more cacert magic
-
-2003-02-14 10:11 bagder
-
- * lib/connect.c: Fix Curl_is_connected() even more to deal with
- waitconnect() return codes even better (also based on input from
- Martin).
-
-2003-02-14 10:06 bagder
-
- * docs/INSTALL: Matthew Clarke built curl on AIX 3.2.5
-
-2003-02-14 10:03 bagder
-
- * lib/: multi.c, ssluse.c: include <sys/socket.h> to compile the
- fd_set stuff properly on all systems
-
-2003-02-14 10:01 bagder
-
- * lib/connect.c: geterrno() renamed to ourerrno() to prevent the
- name clash that occurred in AIX 3.2.5 and possibly other OSF-like
- system headers.
-
-2003-02-14 09:02 bagder
-
- * lib/connect.c: Martin C. Martin's fix for multi-interface
- connects to non-listening ports.
-
-2003-02-13 19:30 bagder
-
- * lib/base64.c: Christopher R. Palmer fixed Curl_base64_encode() to
- deal with zeroes in the data to encode.
-
-2003-02-08 15:36 bagder
-
- * SSLCERTS: language
-
-2003-02-06 20:28 bagder
-
- * lib/share.c: include stdarg.h since we use va_* stuff
-
-2003-02-05 09:09 bagder
-
- * docs/INSTALL: I made curl run fine on a XScale/PXA250
-
-2003-02-05 08:43 bagder
-
- * lib/ssluse.c: Re-arranged the SSL connection code (again). The
- recent fix was not a very good one. This should work fine again.
-
-2003-02-05 00:48 jpbl
-
- * include/curl/curl.h, lib/Makefile.am, lib/connect.c, lib/ftp.c,
- lib/hostip.c, lib/hostip.h, lib/share.c, lib/share.h, lib/url.c:
- added the sharing of DNS cache
-
-2003-02-04 23:28 bagder
-
- * lib/config-vms.h: VMS has setjmp.h
-
-2003-02-04 23:28 bagder
-
- * build_vms.com: Nico Baggus updated build script for VMS
-
-2003-02-04 19:24 bagder
-
- * src/Makefile.m32: assume zlib 1.1.4 - pointed out by Kevin Roth
-
-2003-02-04 19:23 bagder
-
- * lib/Makefile.m32: HAVE_LIBZ is the actual name of the define we
- use
-
-2003-02-04 19:22 bagder
-
- * src/hugehelp.c.cvs: make it more obvious what this is by not even
- trying to show a manual
-
-2003-02-04 19:12 bagder
-
- * include/curl/multi.h: James Bursa corrected a bad comment
-
-2003-02-04 13:33 bagder
-
- * CHANGES: fixes during the last couple of days
-
-2003-02-04 13:29 bagder
-
- * lib/ssluse.c: Improved error reporting in case of bad
- SSL_connect()s, and we also no longer use the SSL functions that
- store the error message in a static buffer since that is not very
- multi-thread friendly.
-
-2003-02-03 23:15 bagder
-
- * tests/stunnel.pm: scan through the PATH as well, to find stunnel
-
-2003-02-03 22:36 bagder
-
- * src/main.c, docs/curl.1: Julian Noble pointed out that capath is
- indeed working fine on Windows these days since the c_rehash tool
- is written (fixed) to do the proper action even on file systems
- that don't support symlinks.
-
-2003-01-31 08:07 bagder
-
- * lib/Makefile.m32: Kevin Roth corrected the zlib stuff to work
- better.
-
-2003-01-30 15:48 bagder
-
- * src/main.c: don't check for the CA cert bundle if --insecure is
- used
-
-2003-01-30 07:06 bagder
-
- * lib/transfer.c: typecast the argument to isspace() to an int to
- prevent warnings on some compilers
-
-2003-01-30 06:15 bagder
-
- * src/main.c: curl now uses stricter VERIFYHOST by default and only
- uses a lesser check if --insecure is used. Reported by Hamish
- Mackenzie.
-
-2003-01-30 06:04 bagder
-
- * lib/transfer.c: Fixes bug #669059. We now extract the
- Content-Type better and more accurate.
-
-2003-01-30 06:03 bagder
-
- * tests/data/: Makefile.am, test57: test case 57 - verifies that
- the Content-Type extraction does not stop on the first space
- anymore but cuts off the trailing spaces only.
-
- Bug report #669059.
-
-2003-01-29 14:56 bagder
-
- * CHANGES: changes from the last week or so
-
-2003-01-29 14:16 bagder
-
- * configure.in, src/config.h.in, src/main.c: HAVE_WRITABLE_ARGV is
- set if argv[] is writable on the system, and then we attempt to
- hide some of the more sensitive command line arguments
-
-2003-01-29 13:52 bagder
-
- * lib/transfer.c: John McGowan found a problem where the
- DEBUGFUNCTION was called with bad data on uploads.
-
-2003-01-29 13:15 bagder
-
- * Makefile.am: add the new emacs file and removed the former one
-
-2003-01-29 13:14 bagder
-
- * sample.emacs: example showing how a .emacs using curl-style.el
- could look like, thanks to Mats Lidell for awesome elisp hacking!
-
-2003-01-29 12:55 bagder
-
- * curl-mode.el: this is the former emacs file we no longer use, go
- with curl-style.el and be happy!
-
-2003-01-29 11:54 bagder
-
- * lib/ftp.c: reset conn->size to -1 on the ftp-do function to make
- it not go on to ftp_done() with the previous transfer's value, as
- Dave Halbakken found out. He also verified this fixed corrected
- the problem.
-
-2003-01-29 11:17 bagder
-
- * CHANGES: previous changes
-
-2003-01-29 11:14 bagder
-
- * lib/: base64.c, content_encoding.c, content_encoding.h, cookie.c,
- dict.c, easy.c, escape.c, file.c, formdata.c, ftp.c, getenv.c,
- getinfo.c, getpass.c, hash.h, hostip.c, http.c, http_chunks.c,
- if2ip.c, krb4.c, ldap.c, memdebug.c, mprintf.c, multi.c, netrc.c,
- progress.c, security.c, sendf.c, share.c, share.h, speedcheck.c,
- ssluse.c, strequal.c, strtok.c, telnet.c, timeval.c, transfer.c,
- url.c, version.c: removed the local variables for emacs and vim,
- use the new sample.emacs way for emacs, and vim users should
- provide a similar non-polluting style
-
-2003-01-29 11:12 bagder
-
- * lib/hash.c: removed weirdo {{{ and }}} comments removed emacs
- local-variables stuff
-
-2003-01-28 17:33 bagder
-
- * docs/curl.1: the README.curl is named MANUAL these days
-
-2003-01-28 09:03 bagder
-
- * curl-style.el: revised and better
-
-2003-01-27 15:26 bagder
-
- * configure.in: removed -Wcast-align from --enable-debug with gcc,
- it just gives too many warnings that I can't be concerned about
- at this point.
-
-2003-01-27 15:19 bagder
-
- * lib/krb4.c: Removed the long-living compiler warnings on the
- des_pcbc_encrypt() function calls!
-
-2003-01-27 14:51 bagder
-
- * tests/runtests.pl: tests that were not run due to restraints (the
- netrc-tests) were counted as skipped twice, and thus the total
- number of tests appeared wrong
-
-2003-01-27 11:25 bagder
-
- * docs/examples/fopen.c: made it work made it cause less compiler
- warnings made it require 7.9.7 to build
-
-2003-01-24 12:13 bagder
-
- * lib/transfer.c: Bertrand Demiddelaer found and fixed this memory
- leak.
-
-2003-01-23 20:41 bagder
-
- * tests/libtest/test.h: string.h keeps the proto for memset() on
- some platforms, used for FD_ZERO
-
-2003-01-23 13:00 bagder
-
- * tests/server/getpart.c: added a default to the switch() in order
- to prevent a compiler warning
-
-2003-01-23 08:37 bagder
-
- * testcurl.sh: fix the configure option query
-
-2003-01-23 07:15 bagder
-
- * SSLCERTS: mention what kind of error you may get if this is not
- followed
-
-2003-01-23 07:09 bagder
-
- * SSLCERTS: spell
-
-2003-01-23 07:00 bagder
-
- * curl-style.el: This is the new Emacs style for curl hacking,
- based on work written by Mats Lidell in project Rockbox.
-
-2003-01-23 06:38 bagder
-
- * lib/connect.c: Duncan Wilcox reported a crash with --interface on
- FreeBSD when ipv6-enabled and this has been verified to correct
- the problem.
-
-2003-01-22 19:50 bagder
-
- * include/curl/multi.h: oops, broken comment fixed
-
-2003-01-22 19:30 bagder
-
- * include/curl/multi.h: extern C this to work in C++ conditions
-
-2003-01-22 13:29 bagder
-
- * testcurl.sh: reversed the actions on the cmp check for detecting
- if we're re-running a test on the same CVS setup as previous, as
- they seemed to be wrong.
-
- We're not actually using the result for anything at this point
- though.
-
-2003-01-22 10:46 bagder
-
- * testcurl.sh: use LANG set to C to prevent localized dates etc
-
-2003-01-22 08:57 bagder
-
- * testcurl.sh: pass the options to configure properly
-
-2003-01-22 08:41 bagder
-
- * testcurl.sh: check for empty confopts before asking for it
-
-2003-01-22 07:59 bagder
-
- * testcurl.sh: put the configure options in the setup file was well
- make -i show lib/config.h and some initial checks to prevent this
- running multiple times without the CVS having changed
-
-2003-01-21 18:25 bagder
-
- * COPYING: updated copyright years
-
-2003-01-21 17:03 bagder
-
- * lib/transfer.c: when a chunked error is noticed, store the error
- number in the error string to enable better error-tracking
-
-2003-01-21 16:09 bagder
-
- * tests/httpsserver.pl: skip the chmod
-
-2003-01-21 11:36 bagder
-
- * testcurl.sh: run 'make test-full' instead of 'make test' to get
- more details in case of errors
-
-2003-01-21 11:35 bagder
-
- * Makefile.am, tests/Makefile.am: make test-full in the root dir
- should run verbose tests but not stop on single failures
-
-2003-01-21 11:33 bagder
-
- * testcurl.sh: use 'make test-full' instead of only 'make test' as
- it gives a lot of more info in case of failures
-
-2003-01-21 11:32 bagder
-
- * Makefile.am: Added a 'test-full' target to run the tests in
- verbose mode.
-
-2003-01-21 11:29 bagder
-
- * tests/: ftpsserver.pl, runtests.pl: pass srcdir to the
- ftps-server as well
-
-2003-01-21 11:14 bagder
-
- * tests/: httpsserver.pl, runtests.pl: runtests.pl now passes the
- sourcedir path to the httpsserver.pl script
-
-2003-01-21 10:36 bagder
-
- * buildconf: automake 1.5 should be enough
-
-2003-01-20 21:20 bagder
-
- * testcurl.sh: use process id in build directory name to do better
-
-2003-01-20 21:07 bagder
-
- * testcurl.sh: first attempt at script for distributed testing on
- various unix hosts
-
-2003-01-20 16:43 bagder
-
- * tests/runtests.pl: output summary with easy identifyable string
- prefixes
-
-2003-01-20 16:24 bagder
-
- * buildconf: made this script detect proper versions of the tools
- we need to build a full curl on a unix host from CVS
-
-2003-01-20 16:16 bagder
-
- * configure.in, acinclude.m4: added description in all AC_DEFINE()
- calls
-
-2003-01-20 16:16 bagder
-
- * acconfig.h: not used anymore
-
-2003-01-20 15:49 bagder
-
- * docs/THANKS: Five more names we owe a big THANKS for their
- donations to the project.
-
-2003-01-20 15:40 bagder
-
- * CHANGES: today's patches and Markus' correction
-
-2003-01-20 13:52 bagder
-
- * lib/: transfer.c, url.c, urldata.h: Markus F.X.J. Oberhumer's
- patch that reduces memory usage quite a bit by only allocating
- the scratch memory buffer once it is needed and not always in the
- handle.
-
-2003-01-20 13:00 bagder
-
- * lib/url.c: given passwords in netrc must be respected accordingly
-
-2003-01-20 12:29 bagder
-
- * docs/HOWTO-RELEASE: steps I *MUST* perform when I release a
- package
-
-2003-01-16 22:10 bagder
-
- * lib/mprintf.c: reverted bad header replacement
-
-2003-01-16 22:08 bagder
-
- * include/curl/curl.h, include/curl/easy.h, include/curl/mprintf.h,
- include/curl/multi.h, include/curl/stdcheaders.h,
- include/curl/types.h, lib/arpa_telnet.h, lib/base64.c,
- lib/base64.h, lib/connect.c, lib/connect.h,
- lib/content_encoding.c, lib/content_encoding.h, lib/cookie.c,
- lib/cookie.h, lib/dict.c, lib/dict.h, lib/easy.c, lib/escape.c,
- lib/escape.h, lib/file.c, lib/file.h, lib/formdata.c,
- lib/formdata.h, lib/ftp.c, lib/ftp.h, lib/getenv.c,
- lib/getinfo.c, lib/getinfo.h, lib/getpass.h, lib/hash.c,
- lib/hash.h, lib/hostip.c, lib/hostip.h, lib/http.c, lib/http.h,
- lib/http_chunks.c, lib/http_chunks.h, lib/if2ip.c, lib/if2ip.h,
- lib/krb4.h, lib/ldap.c, lib/ldap.h, lib/llist.c, lib/llist.h,
- lib/memdebug.c, lib/memdebug.h, lib/mprintf.c, lib/multi.c,
- lib/netrc.c, lib/netrc.h, lib/progress.c, lib/progress.h,
- lib/security.h, lib/sendf.c, lib/sendf.h, lib/setup.h,
- lib/share.c, lib/share.h, lib/speedcheck.c, lib/speedcheck.h,
- lib/ssluse.c, lib/ssluse.h, lib/strequal.c, lib/strequal.h,
- lib/strtok.c, lib/strtok.h, lib/telnet.c, lib/telnet.h,
- lib/timeval.c, lib/timeval.h, lib/transfer.c, lib/transfer.h,
- lib/url.c, lib/url.h, lib/urldata.h, lib/version.c, src/main.c,
- src/setup.h, src/urlglob.c, src/urlglob.h, src/writeenv.c,
- src/writeenv.h, src/writeout.c, src/writeout.h,
- tests/server/sws.c: copyright year update in the source header
-
-2003-01-16 22:07 bagder
-
- * CHANGES: fixes Marcus brought
-
-2003-01-16 11:59 bagder
-
- * lib/getinfo.c: Allow CURLINFO_PRIVATE to be NULL, patch by Markus
- Oberhumer
-
-2003-01-16 11:58 bagder
-
- * curl-config.in: Markus Oberhumer fixed the -cflags option
-
-2003-01-15 12:44 bagder
-
- * lib/transfer.c: no TABs in source code
-
-2003-01-15 12:43 bagder
-
- * lib/url.c: removed a TAB
-
-2003-01-15 09:04 bagder
-
- * packages/Win32/cygwin/README: Kevin fixed the bad list address
-
-2003-01-14 13:55 bagder
-
- * LEGAL: previous legal file, no longer accurate nor used
-
-2003-01-14 13:54 bagder
-
- * README: COPYING is the name of the file
-
-2003-01-14 13:42 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.3 commit
-
-2003-01-13 13:08 bagder
-
- * CHANGES: more
-
-2003-01-13 07:35 bagder
-
- * docs/FAQ: there is SOCKS support these days
-
-2003-01-10 17:19 bagder
-
- * lib/url.c: Steve Oliphant pointed out that test case 105 did not
- work anymore and this was due to a missing fix for the password
- prompting
-
-2003-01-09 17:48 bagder
-
- * tests/data/Makefile.am: added test 136
-
-2003-01-09 17:47 bagder
-
- * tests/data/test136: verify -u username: with ftp to use a blank
- password
-
-2003-01-09 17:47 bagder
-
- * lib/: url.c, urldata.h: if userpwd is "username:", this now
- implies a blank password while only "username" will cause libcurl
- to prompt for password. Bryan Kemp noticed.
-
- test case 136 is added for this
-
-2003-01-09 16:04 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Wai (Simon) Liu provided the
- HTTP200ALIASES paragraph.
-
-2003-01-09 15:58 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Philippe Raoult's added note for
- HTTPHEADER
-
-2003-01-09 15:52 bagder
-
- * lib/connect.c: This fixed yet another connect problem with the
- multi interface and ipv4 stack. Kjetil Jacobsen reported and
- verified the fix.
-
-2003-01-09 12:57 bagder
-
- * MITX.txt, MPL-1.1.txt: removed
-
-2003-01-09 12:50 bagder
-
- * lib/security.c: removed unused code
-
-2003-01-09 12:43 bagder
-
- * docs/examples/multi-app.c: fix
-
-2003-01-09 12:42 bagder
-
- * docs/examples/multi-single.c: call curl_multi_perform() correctly
-
-2003-01-09 12:31 bagder
-
- * lib/base64.c: proper indent
-
-2003-01-09 12:26 bagder
-
- * tests/: memanalyze.pl, runtests.pl: pass a file name to
- memanalyze to read from instead of using stdin
-
-2003-01-09 12:19 bagder
-
- * lib/Makefile.am: share.h is now a used header file
-
-2003-01-09 12:03 bagder
-
- * tests/memanalyze.pl: fixed to deal with file names that contain
- colons, as in Windows
-
-2003-01-09 11:36 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.3-pre4
-
-2003-01-09 11:26 bagder
-
- * include/curl/curl.h: rename the curl share error enum prefix
-
-2003-01-09 11:21 bagder
-
- * lib/: share.c, share.h: Updated more and now looks and and the
- API possibly works almost like the design document specifies.
- There is still no code inside that uses this.
-
-2003-01-09 10:53 bagder
-
- * CHANGES: 7+8 jan 2003
-
-2003-01-08 16:50 bagder
-
- * lib/: share.c, share.h, url.c, urldata.h: updated to use the
- modified share-types
-
-2003-01-08 16:50 bagder
-
- * include/curl/curl.h: cleaned up the share data types and
- prototypes to be more in line what the design draft mentioned and
- what I think is fit
-
-2003-01-08 16:04 bagder
-
- * src/main.c: mkdir() fix for win32
-
-2003-01-08 10:37 bagder
-
- * tests/libtest/first.c: nah, include test.h instead
-
-2003-01-08 10:33 bagder
-
- * tests/libtest/first.c: include curl.h without directory
-
-2003-01-08 03:27 jpbl
-
- * lib/escape.c: fixed a very, very rare and very, very little
- memory leak
-
-2003-01-07 17:33 bagder
-
- * lib/ssluse.c: Philippe Raoult's fix to handle wildcard
- certificate name checks
-
-2003-01-07 17:15 bagder
-
- * include/curl/curl.h, lib/transfer.c, lib/url.c, lib/urldata.h:
- Simon Liu's HTTP200ALIASES-patch!
-
-2003-01-07 16:40 bagder
-
- * CHANGES: stuff
-
-2003-01-07 16:39 bagder
-
- * docs/curl.1: clarified error code 19
-
-2003-01-07 12:25 bagder
-
- * lib/ftp.c: Only output valid filetime. Return file-error if 550
- is returned when trying MDTM
-
-2003-01-07 12:23 bagder
-
- * lib/sendf.c: when sending an error message to the debugfunction,
- we append a newline so that the output looks better
-
-2003-01-07 10:35 bagder
-
- * src/main.c: fixed the create_dir_hierarchy() to not use uninited
- memory, as noticed by Matthew Blain.
-
-2003-01-07 10:31 bagder
-
- * lib/Makefile.vc6: Matthew Blain's improvements for debug builds
-
-2003-01-07 10:30 bagder
-
- * tests/: .cvsignore, server/.cvsignore: better ignore
-
-2003-01-07 10:27 bagder
-
- * tests/libtest/.cvsignore: ignore lib504 too
-
-2003-01-07 08:54 bagder
-
- * docs/TODO: updated
-
-2003-01-06 13:41 bagder
-
- * lib/base64.c: indent fix
-
-2003-01-06 07:17 bumblebury
-
- * lib/easy.c: fix bug (?) :-)
-
- previously, if you called curl_easy_perform and then set the
- global dns cache, the global cache wouldn't be used. I don't see
- this really happening in practice, but this code allows you to do
- it.
-
-2002-12-29 17:27 bagder
-
- * lib/sendf.c: return -1 even if SSL_pending() doesn't return
- non-zero, as we don't really care how many bytes that is readable
- NOW. Philippe Raoult reported the bug in 7.10.3-pre3.
-
-2002-12-29 17:23 bagder
-
- * docs/curl.1: Marc Herbert's suggstion: mention that insecure is
- ignored if cacert or capath is used.
-
-2002-12-20 17:00 bagder
-
- * CVS-INFO: example configure command line
-
-2002-12-20 16:54 bagder
-
- * configure.in: Use AM_MAINTAINER_MODE which thus makes less
- maintainer stuff in the default makefile when
- --enable-maintainer-mode is not used.
-
-2002-12-20 10:03 bagder
-
- * include/curl/curl.h, src/version.h: 7.10.3-commit
-
-2002-12-19 17:37 bagder
-
- * CHANGES: fixes
-
-2002-12-19 17:36 bagder
-
- * tests/Makefile.am: removed fruitless attempts to overload some
- targets
-
-2002-12-19 17:02 bagder
-
- * lib/base64.c: Curl_base64_decode() fixed by Matthew B
-
-2002-12-19 16:45 bagder
-
- * lib/sendf.c: Fixed the usage of SSL_read() to properly return -1
- if the EWOULDBLOCK situation occurs, which it previously didn't!
-
- This was reptoed by Evan Jordan in bug report #653022.
-
- Also, if ERROR_SYSCALL is returned from SSL_write(), include the
- errno number in the error string for easier error detection.
-
-2002-12-19 16:22 bagder
-
- * docs/libcurl-the-guide: CURLOPT_DNS_USE_GLOBAL_CACHE is not
- thread-safe
-
-2002-12-18 17:51 bagder
-
- * docs/libcurl/libcurl-errors.3, include/curl/curl.h,
- lib/transfer.c: CURLE_HTTP_NOT_FOUND => CURLE_HTTP_RETURNED_ERROR
-
-2002-12-17 11:05 bagder
-
- * lib/connect.c: Removed weird special multi interface condition
- that caused bug report #651464.
-
-2002-12-17 10:40 bagder
-
- * tests/libtest/Makefile.am: don't install the test programs
-
-2002-12-16 18:33 bagder
-
- * docs/libcurl/curl_easy_setopt.3: writefunction data is not zero
- terminated
-
-2002-12-16 16:32 bagder
-
- * tests/data/: test503, test504: removed junk
-
-2002-12-16 16:30 bagder
-
- * tests/: data/Makefile.am, data/test504, libtest/Makefile.am,
- libtest/lib504.c: Added test case 504, using multi interface and
- a local proxy without anything listening on the port we use.
-
-2002-12-16 16:05 bagder
-
- * tests/data/test503: better desc
-
-2002-12-16 15:50 bagder
-
- * tests/data/test503: mistake, this only requires http
-
-2002-12-16 12:40 bagder
-
- * CHANGES: the hostip.c commit
-
-2002-12-16 12:33 bagder
-
- * lib/hostip.c: EAGAIN on older (correct) glibc versions indicate a
- problem and not the need for a bigger buffer and this is indeed
- badness for us. Making this work on both old and new glibc
- versions require an ugly loop that in its worse form cause 45 bad
- loops when using the correct glibc and a non-resolving host
- name... :-/
-
- We want a better fix. Badly.
-
-2002-12-16 11:55 bagder
-
- * CHANGES: changes from last week
-
-2002-12-16 11:31 bagder
-
- * configure.in: cut off -O properly when building for debug setup
- the Makefile in tests/libtest/
-
-2002-12-13 17:25 bagder
-
- * tests/FILEFORMAT: documented the %-variables
-
-2002-12-13 17:24 bagder
-
- * tests/runtests.pl: fixed another space issue
-
-2002-12-13 17:24 bagder
-
- * tests/libtest/.cvsignore: please mr CVS ignore these
-
-2002-12-13 17:22 bagder
-
- * tests/libtest/: first.c, test.h: set up arg2 to point to argv[2]
- to be used at will by programs
-
-2002-12-13 17:22 bagder
-
- * tests/libtest/Makefile.am: added 503
-
-2002-12-13 17:21 bagder
-
- * tests/libtest/lib503.c: used this to verify bug report 651460
-
-2002-12-13 17:20 bagder
-
- * tests/server/sws.c: added support for CONNECT, both good and bad
-
-2002-12-13 17:17 bagder
-
- * tests/data/: Makefile.am, test302, test503: test case 503 entered
- the dir
-
-2002-12-13 17:15 bagder
-
- * lib/: connect.c, url.c, urldata.h: conn->bits.tcpconnect now
- keeps track of if this connection is connected or not
-
-2002-12-13 15:14 bagder
-
- * tests/libtest/: Makefile.am, test.h: include files without the
- curl/ to reduce the risk of us including the wrong set of include
- files during tests
-
-2002-12-13 15:08 bagder
-
- * lib/ssluse.c: Evan Jordan's fix for a memory leak. Bug report
- 650989.
-
-2002-12-13 14:47 bagder
-
- * lib/connect.c: make a little work-around for file:// in
- _is_connected() and voila, now the multi interface works with
- file:// URLs fine (previously it crashed). This won't make it
- work on Windows though...
-
-2002-12-13 14:41 bagder
-
- * tests/data/test502: one slash too many
-
-2002-12-13 14:40 bagder
-
- * tests/libtest/: Makefile.am, lib502.c: lib502.c for multi
- interface tests on a single URL without select()
-
-2002-12-13 14:39 bagder
-
- * tests/data/: Makefile.am, test502: test 502, multi interface with
- file://
-
-2002-12-12 19:07 bagder
-
- * tests/ftpserver.pl: bail out on crap received, makes test case
- 402 *NOT* ruin the test series anymore!
-
-2002-12-12 17:46 bagder
-
- * tests/runtests.pl: missing space added, nows run old tests fine
- again
-
-2002-12-12 14:44 bagder
-
- * tests/libtest/Makefile.am: remove test piece
-
-2002-12-12 14:42 bagder
-
- * tests/runtests.pl: make ftps and https invoke both necessary
- servers
-
-2002-12-12 14:40 bagder
-
- * tests/libtest/: first.c, lib500.c, lib501.c, test.h: fixes
-
-2002-12-12 14:39 bagder
-
- * tests/libtest/Makefile.am: link the test tools this way instead
-
-2002-12-12 14:36 bagder
-
- * tests/libtest/last.c: no more
-
-2002-12-12 13:49 bagder
-
- * tests/data/test501: corrected
-
-2002-12-12 13:20 bagder
-
- * tests/Makefile.am: new subdir added 'libtest'
-
-2002-12-12 13:20 bagder
-
- * tests/runtests.pl: supports the new 'tool' and 'server' tags
-
-2002-12-12 13:15 bagder
-
- * tests/FILEFORMAT: describe the new sections added for (better)
- libcurl testing
-
-2002-12-12 13:13 bagder
-
- * tests/data/Makefile.am: 500 + 501 added
-
-2002-12-12 13:12 bagder
-
- * tests/data/: test500, test501: run tiny specific libcurl-testing
- tools
-
-2002-12-12 13:11 bagder
-
- * tests/libtest/: Makefile.am, first.c, last.c, lib500.c, lib501.c:
- The first ever attempts to do pure libcurl test cases
-
-2002-12-12 12:43 bagder
-
- * perl/contrib/formfind: Deal with HTML where ' is used instead of
- " Cut off name from option
-
-2002-12-11 12:42 bagder
-
- * include/curl/curl.h: moved the includes to outside the extern "C"
- stuff decreased the write buffer size to 16KB to perform a lot
- better on Windows(!)
-
-2002-12-10 14:11 bagder
-
- * CHANGES: recent fluff
-
-2002-12-10 14:10 bagder
-
- * lib/: http.c, transfer.c, urldata.h: The initial HTTP request can
- now be sent in multiple parts, as part of the regular transfer
- process. This required some new tweaks, like for example we need
- to be able to tell the tranfer loop to not chunky-encode uploads
- while we're transferring the rest of the request...
-
-2002-12-10 14:08 bagder
-
- * lib/sendf.h: send_buffer is no more here
-
-2002-12-10 14:01 bagder
-
- * tests/data/Makefile.am: added test56, nearly 100KB big!
-
-2002-12-10 14:00 bagder
-
- * tests/data/test56: Test case for sending insanely big HTTP
- requests. Mainly done this way to make sure that it isn't all
- sent off in one single send() but instead really tests the
- multiple-part-send logic.
-
-2002-12-10 13:59 bagder
-
- * tests/server/sws.c: more logging, now logs the full response too,
- basic support for dealing with chunked transfer-encoding uploads
- added
-
-2002-12-09 17:05 bagder
-
- * lib/: http.c, urldata.h: A normal POST now provides data to the
- main transfer loop via the usual read callback, and thus won't
- put a lot of stress on the request sending code (which currently
- does an ugly loop).
-
-2002-12-09 16:37 bagder
-
- * lib/: ftp.c, http.c, ssluse.c, transfer.c, url.c, urldata.h: The
- fread() callback pointer and associated pointer is now stored in
- the connectdata struct instead, and is no longer modified within
- the 'set' struct as previously (which was a really BAAAD thing).
-
-2002-12-09 15:39 bagder
-
- * docs/libcurl-the-guide: Added a default headers section and also
- made some minor details more up-to-date with recent changes.
-
-2002-12-05 20:39 bagder
-
- * src/main.c: better errno include and no extern
-
-2002-12-05 15:26 bagder
-
- * lib/transfer.c: read and write as much as possible until end of
- data or EWOULDBLOCK before returning back to the select() loop.
- Consider this a test so far.
-
-2002-12-05 13:54 bagder
-
- * perl/contrib/formfind: deal with spaces in name and value tags a
- lot better!
-
-2002-12-05 12:26 bagder
-
- * lib/krb4.h: changed proto for Curl_krb_kauth()
-
-2002-12-05 12:25 bagder
-
- * src/main.c: Solaris needs errno as an extern int.
-
-2002-12-04 12:06 bagder
-
- * lib/setup.h, src/setup.h: make WIN32 defined for Borland
- properly, as told by Alexander J. Oss
-
-2002-12-04 10:53 bagder
-
- * UPGRADE: called SSLCERTS now
-
-2002-12-04 10:09 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.3-pre2
-
-2002-12-04 09:56 bagder
-
- * lib/ftp.c: The waiting for the 226 or 250 line expected to come
- after a transfer is complete is now only made for 60 seconds and
- if no data was received during those 60 seconds, we store a
- special error message (preparing to make this a special error
- code) as this most likely means that the control connection has
- died while we were transferring data.
-
-2002-12-03 13:41 bagder
-
- * src/main.c: missing }
-
-2002-12-03 13:40 bagder
-
- * docs/libcurl/: curl_easy_setopt.3, curl_multi_perform.3,
- libcurl-multi.3: clarified
-
-2002-12-03 13:34 bagder
-
- * docs/examples/multi-double.c: Jeff pointed out this flaw in the
- example
-
-2002-12-03 12:13 bagder
-
- * docs/curl.1: -@ is no longer an official shortcut for
- --create-dirs
-
-2002-12-03 12:12 bagder
-
- * src/main.c: don't officially use -@ for --create-dirs, only use
- the long form
-
-2002-12-03 11:37 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarify the DEBUGFUNCTION data
- not being zero terminated
-
-2002-12-03 11:25 bagder
-
- * lib/: ftp.c, ftp.h, krb4.c, security.c, urldata.h:
- Curl_GetFTPResponse() takes a different set of parameters and now
- return a proper CURLcode. The default timeout for reading one
- response is now also possible to change while running.
-
-2002-12-03 10:32 bagder
-
- * lib/: Makefile.b32, Makefile.b32.resp: updated to reality
-
-2002-12-03 09:07 bagder
-
- * src/main.c: Nicolas Berloquin's fix of his previous dir creation
- patch
-
-2002-12-02 15:40 bagder
-
- * docs/curl.1: Nicolas Berloquin's description of his
- -@/--create-dirs fix
-
-2002-12-02 15:37 bagder
-
- * src/main.c: Nicolas Berloquin's added code for dealing with
- -@/--create-dirs to create the necessary directories as specified
- with -o.
-
-2002-12-02 08:18 bagder
-
- * lib/ftp.c: if the PWD reply parser failed, we leaked memory
-
-2002-12-02 07:47 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarified SSL_VERIFYPEER and
- SSL_VERIFYHOST a bit, thanks to Soren Spies
-
-2002-12-01 12:23 bagder
-
- * docs/libcurl/curl_easy_setopt.3: wrapped the line for PRIVATE
- nicer
-
-2002-12-01 12:21 bagder
-
- * lib/.cvsignore: more to ignore
-
-2002-12-01 12:20 bagder
-
- * lib/http.c: only use Content-Length: header if not transfering
- data chunked
-
-2002-11-30 17:00 bagder
-
- * docs/INSTALL: mention CVS-INFO for more info when checked out
- from CVS removed old section about problems with old autoconfs, I
- don't think that happens anymore
-
-2002-11-29 09:29 bagder
-
- * CHANGES: stuff done since the 7.10.2 release
-
-2002-11-29 09:12 bagder
-
- * lib/formdata.c: let the Curl_FormReader() return 0 when it
- reaches end of data to that the chunked transfer work
-
-2002-11-28 16:48 bagder
-
- * lib/multi.c: fix the hash init to call the correct dns cleanup
- function
-
-2002-11-28 16:48 bagder
-
- * lib/http.h: added compareheader proto
-
-2002-11-28 16:46 bagder
-
- * lib/transfer.c: compareheader() was moved over to http.c and got
- a Curl_ prefix
-
- The chunked transfer upload never stopped due to a silly add
- before we checked for >0!
-
-2002-11-28 16:45 bagder
-
- * lib/http.c: Moved the compareheader function into this file and
- added Curl_ prefix We now check if the chunked transfer-encoding
- header has been added "by force" and if so, we enabled the chunky
- upload!
-
-2002-11-28 15:07 bagder
-
- * docs/CONTRIBUTE: mention how to generate patches
-
-2002-11-28 14:29 bagder
-
- * configure.in: bad use of AM_CONDITIONAL removed and now configure
- runs better when used with --disable-ipv6 --without-zlib
-
-2002-11-27 12:59 bagder
-
- * README: execve.net is an official download mirror in HK
-
-2002-11-26 18:32 bagder
-
- * lib/http.c: Dan Becker fixed a minor memory leak on persistent
- connnections using FOLLOWLOCATION and CURLOPT_USERPWD.
-
-2002-11-26 18:13 bagder
-
- * src/main.c: removed extra space from trace output 'Send data'
-
-2002-11-26 10:41 bagder
-
- * lib/: easy.c, hostip.c, hostip.h: fixed Curl_freeaddrinfo() to
- only free addrinfo, and added Curl_freednsinfo() for freeing
- single dns cache entries
-
-2002-11-26 03:12 subman
-
- * lib/curllib.dsp: Removed MFC dependency in Release Build when
- using VC++ IDE
-
-2002-11-24 20:30 bagder
-
- * lib/if2ip.h: Nedelcho Stanev's work-around for SFU 3.0
-
-2002-11-22 17:59 bagder
-
- * lib/url.c: bug fix for the problem Juan Ignacio Hervás discovered
- today
-
-2002-11-22 14:48 bagder
-
- * tests/server/sws.c: this fix seems to make the '305 306' test
- case combination to run ok finally!
-
-2002-11-22 08:39 bagder
-
- * docs/examples/simplessl.c: don't use curl.haxx.se
-
-2002-11-21 16:11 bagder
-
- * perl/contrib/formfind: dead code removal
-
-2002-11-21 16:09 bagder
-
- * perl/contrib/: formfind, formfind.pl.in: new name, supports
- <textarea> and the <option> tags within <select> better
-
-2002-11-20 20:17 bagder
-
- * docs/FAQ: 4.12 Why do I get "certificate verify failed" ?
-
-2002-11-20 20:11 bagder
-
- * docs/libcurl/curl_easy_getinfo.3,
- docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/getinfo.c, lib/url.c, lib/urldata.h: Kjetil Jacobsen's patch
- that introduces CURLOPT_PRIVATE and CURLINFO_PRIVATE for storage
- and retrieval of private data in the curl handle.
-
-2002-11-20 20:04 bagder
-
- * curl-config.in: Karol Pietrzak pointed out that simply including
- the include dir in --cflags is not a good thing, as recent gccs
- for example complain if it is /usr/include
-
- Right now, we just output "" until we think of something better.
-
-2002-11-18 23:10 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.10.2
-
-2002-11-18 22:58 bagder
-
- * include/curl/curl.h: as requested, CURLE_OPERATION_TIMEDOUT is
- now the same as CURLE_OPERATION_TIMEOUTED
-
-2002-11-15 15:15 bagder
-
- * src/main.c: fflush() the trace stream on each call
-
-2002-11-15 15:13 bagder
-
- * docs/libcurl/curl_formadd.3: removed nroff mistake
-
-2002-11-15 15:13 bagder
-
- * lib/Makefile.m32: no more dllinit.o usage
-
-2002-11-15 15:11 bagder
-
- * CHANGES: recent fixes
-
-2002-11-15 15:11 bagder
-
- * configure.in: attempts to filter off optimize flags when
- --enable-debug is used
-
-2002-11-14 10:55 bagder
-
- * docs/libcurl/curl_easy_setopt.3: language
-
-2002-11-14 10:54 bagder
-
- * docs/libcurl/: curl_easy_cleanup.3, curl_easy_setopt.3: clarified
- that strings need to be kept around until the handle is closed or
- until the pointers are set to another value
-
-2002-11-13 23:16 bagder
-
- * lib/Makefile.am: dllinit.c is removed
-
-2002-11-13 23:16 bagder
-
- * lib/dllinit.c: not used and we don't have permission to
- distribute this!
-
-2002-11-12 21:00 bagder
-
- * docs/FAQ: 4.11 Why does my HTTP range requests return the full
- document?
-
-2002-11-12 09:15 bagder
-
- * lib/curllib.dsp: removed dllinit.c as MSVC doesn't need it
-
-2002-11-12 00:03 bagder
-
- * lib/: ftp.c, http.c, multi.c, transfer.c, url.c, urldata.h: moved
- the bools in the connectdata struct into the substruct named
- ConnectBits where the other bools already are
-
-2002-11-11 23:51 bagder
-
- * lib/: hostip.c, url.c: The test for DNS cache entries left locked
- is now only built if AGGRESIVE_TEST is also defined, as an
- addition to MALLOCDEBUG. It doesn't work for multi interface
- usage and should only be used with careful consideration.
-
-2002-11-11 23:41 bagder
-
- * SSLCERTS: changed header
-
-2002-11-11 23:38 bagder
-
- * Makefile.am: include SSLCERTS and not UPGRADE. We leave UPGRADE a
- while in CVS, but it should be removed soonish.
-
-2002-11-11 23:37 bagder
-
- * SSLCERTS: UPGRADE was renamed into this "SSLCERTS"
-
-2002-11-11 23:36 bagder
-
- * lib/: connect.c, ftp.c, hostip.h, url.c: unlock dns cache entries
- with a function call instead of a variable fiddle
-
-2002-11-11 22:57 bagder
-
- * lib/libcurl.def: Dave Halbakken added curl_version_info
-
-2002-11-11 11:00 bagder
-
- * docs/TODO: transfer-encoding: chunked was implemented
-
-2002-11-11 09:40 bagder
-
- * lib/: http.c, transfer.c, url.c, urldata.h: Now supports
- "Transfer-Encoding: chunked" for HTTP PUT operations where the
- size of the uploaded file is unknown.
-
-2002-11-07 09:45 bagder
-
- * lib/url.c: Bug report #634625 identified how curl returned
- timeout immediately when CURLOPT_CONNECTTIMEOUT was used and
- provided a fix.
-
-2002-11-06 09:30 bagder
-
- * CHANGES: recent changes
-
-2002-11-06 09:29 bagder
-
- * tests/runtests.pl: output all test case numbers with three digits
-
-2002-11-06 09:29 bagder
-
- * docs/HISTORY: language fix
-
-2002-11-05 12:11 bagder
-
- * lib/sendf.c: Lehel Bernadt's fix to prevent debug message to get
- sent on errors when debug wasn't enabled
-
-2002-11-05 12:07 bagder
-
- * lib/: connect.c, ftp.c, url.c: ipv4-fixes for the new
- Curl_dns_entry struct and Curl_resolv() proto
-
-2002-11-05 11:51 bagder
-
- * lib/: connect.c, connect.h, ftp.c, hash.c, hash.h, hostip.c,
- hostip.h, url.c, url.h, urldata.h: Curl_resolv() now returns a
- different struct, and it contains a reference counter so that the
- caller needs to decrease that counter when done with the returned
- data.
-
- If compiled with MALLOCDEBUG I've added some extra checking that
- the counter is decreased before a handle is closed etc.
-
-2002-10-31 14:25 bagder
-
- * CVS-INFO: Soren Spies filled in some info about Mac OS X 10.2
-
-2002-10-31 14:09 bagder
-
- * lib/hostip.c: Disable the DNS cache (by setting the timeout to 0)
- made libcurl leak memory. Avery Fay brought the example code that
- proved this.
-
-2002-10-28 23:19 bagder
-
- * lib/transfer.c: when using checkprefix(), the first argument must
- be the prefix!
-
-2002-10-28 22:52 bagder
-
- * lib/transfer.c: Transfer-Encoding: needs 17 bytes passed, not 18
-
-2002-10-28 22:52 bagder
-
- * lib/: cookie.c, formdata.c, strequal.h, transfer.c, url.c:
- kromJx@crosswinds.net's fix that now uses checkprefix() instead
- of strnequal() when the third argument was strlen(first argument)
- anyway. This makes it less prone to errors. (Slightly edited by
- me)
-
-2002-10-28 22:05 bagder
-
- * lib/README.memoryleak: the malloc debug system assumes single
- thread
-
-2002-10-28 21:58 bagder
-
- * docs/MANUAL: kromJx@crosswinds.net fixed typos
-
-2002-10-28 21:39 bagder
-
- * configure.in: works now with autoconf 2.54
-
-2002-10-28 20:49 bagder
-
- * src/main.c: Kevin Roth's patch that checks for the CA cert file
- at two more places if the --cacert option is not used.
-
- 1. An environment variable named CURL_CA_BUNDLE may contain the
- full file name to the file.
-
- 2. On Windows, the cert file may be named curl-ca-bundle.crt and
- put in the same dir as curl is located (or the CWD) and curl will
- then use that file instead.
-
-2002-10-28 20:39 bagder
-
- * src/Makefile.m32: Kevin Roth's patch. $(RM) instead of @erase,
- and it also passes on the USE_SSLEAY variable
-
-2002-10-28 20:38 bagder
-
- * lib/Makefile.m32: Kevin Roth's fixes that use $(RM) instead of
- @erase and modified SSL version
-
-2002-10-28 20:24 bagder
-
- * lib/: getinfo.c, memdebug.h, url.c: prevent compiler warnings
-
-2002-10-28 20:21 bagder
-
- * lib/formdata.c: prevent compiler warning
-
-2002-10-28 20:20 bagder
-
- * lib/ftp.c: prevent compiler warnings
-
-2002-10-28 20:17 bagder
-
- * CHANGES: fixes
-
-2002-10-23 16:45 bagder
-
- * configure.in: fixed the cygwin check for -no-undefined
-
-2002-10-23 16:15 bagder
-
- * include/curl/curl.h: improved the check for an ISO cpp by
- checking specificly for __BORLANDC__ too, as Emiliano Ida has
- confirmed it to work
-
-2002-10-23 16:07 bagder
-
- * tests/: ftpsserver.pl, httpsserver.pl: kromJx@crosswinds.net made
- it run properly with stunnel >=4.0
-
-2002-10-23 15:48 bagder
-
- * lib/: transfer.c, urldata.h: bad headers can come in two kinds,
- we either treat everything as one big badly assumed header, or we
- think that parts of the buffer is a bad header and the rest is
- treated as a normal body part
-
-2002-10-21 16:04 bagder
-
- * CHANGES: another week, 7 fixes
-
-2002-10-21 15:20 bagder
-
- * lib/hostip.c: glibc 2.2.93 gethostbyname_r() no longer returns
- ERANGE if the given buffer size isn't big enough. For some reason
- they now return EAGAIN.
-
- Redhat 8 ships with this glibc version.
-
-2002-10-21 14:07 bagder
-
- * lib/transfer.c: Nikita Schmidt's fix to debian bug report
- #165382. This is verified with the new test case 55.
-
-2002-10-21 14:02 bagder
-
- * tests/data/: Makefile.am, test55: Added test 55, follow location
- with a single slash in the original path. This caused curl
- 7.10.1 to crash.
-
-2002-10-21 08:49 bagder
-
- * configure.in, lib/Makefile.am: check for cygwin and if built on
- that, enable the no-undefined option for libtool. Otherwise
- disable it.
-
-2002-10-21 08:18 bagder
-
- * tests/data/: Makefile.am, test54: test 54 added, blank Location:
- field
-
-2002-10-21 07:52 bagder
-
- * configure.in: --enable-debug now checks if gcc is used before it
- sets all those gcc- specific options. This should make this
- option work on more platforms with other compilers.
-
-2002-10-18 17:28 bagder
-
- * lib/transfer.c: make very sure that we return 'done' properly
- when a transfer is done, as otherwise the multi interface gets
- problems
-
-2002-10-18 17:27 bagder
-
- * lib/multi.c: return call_multi when we follow a location
-
-2002-10-18 15:51 bagder
-
- * lib/transfer.c: if we found no string on the Location: line,
- don't try to follow it
-
-2002-10-18 09:55 bagder
-
- * packages/Win32/cygwin/Makefile.am: moved comments to first column
- and automake stopped complaining
-
-2002-10-17 09:10 bagder
-
- * lib/: transfer.c, url.c, urldata.h: Make the COOKIESESSION work
- better by creating a list of cookie files files when given in the
- curl_easy_setopt() and then parse them all on the first
- curl_easy_perform() call instead.
-
-2002-10-17 09:03 bagder
-
- * tests/data/: Makefile.am, test53: junk cookies test53 added
-
-2002-10-16 11:53 bagder
-
- * docs/libcurl/curl_formadd.3: mucho fixed
-
-2002-10-15 16:18 bagder
-
- * README: Added new mirror
-
-2002-10-15 10:39 bagder
-
- * docs/libcurl/: curl_easy_setopt.3, curl_multi_fdset.3,
- curl_multi_perform.3, curl_multi_remove_handle.3: Andrés García's
- corrections
-
-2002-10-14 09:47 bagder
-
- * docs/: .cvsignore, libcurl/.cvsignore: ignore .ps and .pdf files
- too
-
-2002-10-14 09:39 bagder
-
- * Makefile.am, maketgz, docs/Makefile.am, docs/libcurl/Makefile.am:
- generate and include PDF versions of the docs in the release
- archive
-
-2002-10-13 12:34 bagder
-
- * lib/: Makefile.am, README.memoryleak: my first take at a memory
- leak detection document
-
-2002-10-13 12:28 bagder
-
- * docs/MANUAL: some more
-
-2002-10-13 12:18 bagder
-
- * docs/libcurl/libcurl-multi.3: added more info
-
-2002-10-12 14:35 bagder
-
- * CHANGES: three silly bugs
-
-2002-10-12 14:14 bagder
-
- * docs/MANUAL: -y and -Y was switched in the examples
-
-2002-10-12 13:18 bagder
-
- * lib/connect.c: return error properly when a non-blocking connect
- fails using the multi interface
-
-2002-10-11 22:55 bagder
-
- * lib/transfer.c: When we receive a "bad header" we must sure not
- to write down the data part as well, as then we write the same
- data twice.
-
-2002-10-11 19:44 bagder
-
- * src/main.c: fix bad free() that caused segfault
-
-2002-10-11 15:25 bagder
-
- * include/curl/curl.h, src/version.h: 7.10.1 commit
-
-2002-10-10 10:04 bagder
-
- * CHANGES: more
-
-2002-10-10 10:00 bagder
-
- * lib/: http.c, url.c: Jeff Lawson fixed a few problems with
- connection re-use that remained when you set CURLOPT_PROXY to "".
-
-2002-10-09 15:03 bagder
-
- * lib/transfer.c: Junk data could get inserted when saving/getting
- HTTP headers, as discovered by Craig Davison. Now we deal with
- the 'nread' variable correctly between each header line.
-
-2002-10-08 18:10 bagder
-
- * lib/sendf.c: failf() now sends the text to the debug function
- callback
-
-2002-10-08 15:30 bagder
-
- * docs/curl-config.1: set version and date
-
-2002-10-08 15:30 bagder
-
- * docs/curl-config.1: added --ca
-
-2002-10-08 15:03 bagder
-
- * lib/telnet.c: Added timeout support for the non-windows version.
-
-2002-10-08 14:53 bagder
-
- * configure.in: rewrote the --with-zlib check, based on Albert
- Chin's input.
-
-2002-10-08 11:24 bagder
-
- * docs/curl.1: 7.10 not 7.9.9 (there never was one named that)
-
-2002-10-08 09:16 bagder
-
- * docs/FAQ: 5.7 Link errors when building libcurl on Windows!
-
-2002-10-08 09:11 bagder
-
- * docs/CONTRIBUTE: more blurb
-
-2002-10-08 08:50 bagder
-
- * packages/Win32/cygwin/Makefile.am: Kevin's fix to use DESTDIR
- instead of prefix on make install
-
-2002-10-07 20:23 bagder
-
- * docs/Makefile.am: added libcurl-the-guide to the dist
-
-2002-10-07 15:38 bagder
-
- * lib/multi.c: Following locations properly, if told to do so.
-
-2002-10-07 15:38 bagder
-
- * lib/: transfer.c, transfer.h: Move the URL concat code to
- Curl_follow(), and added a proto for that function. For Location:
- following.
-
-2002-10-07 11:04 bagder
-
- * lib/Makefile.am: Kevin Roth pointed out that 'make install'
- failed if built outside the sourcedir if we're not using
- $(srcdir) properly.
-
-2002-10-07 09:38 bagder
-
- * packages/Win32/cygwin/README: Kevin's update
-
-2002-10-04 16:27 bagder
-
- * CHANGES: fixes since 7.10
-
-2002-10-04 16:26 bagder
-
- * lib/Makefile.am: The -no-undefined flag is CRUCIAL for this to
- build fine on Cygwin. If we find a case in which we need to
- remove this flag, we should most likely write a configure check
- that detects when this flag is needed and when its not.
-
-2002-10-04 16:15 bagder
-
- * lib/transfer.c: as Ralph Mitchell pointed out, the Location:
- following code needs some basic ./ and ../ strip-off
- understanding, and this change introduces with. test cases 49 -
- 52 test this.
-
-2002-10-04 16:06 bagder
-
- * tests/data/: Makefile.am, test49, test50, test51, test52: new
- redirect tests with ./ and ../
-
-2002-10-04 10:22 bagder
-
- * packages/Win32/cygwin/Makefile.am: Kevin Roth's patch for his new
- packaging
-
-2002-10-03 14:50 bagder
-
- * docs/Makefile.am: Bjorn Wiren pointed out that INSTALL was
- missing in the tarballs
-
-2002-10-01 13:16 bagder
-
- * configure.in: --with-libz and --without-libz are now supported
-
-2002-10-01 10:57 bagder
-
- * include/curl/curl.h, src/version.h: 7.10
-
-2002-10-01 10:38 bagder
-
- * CHANGES: three more changes
-
-2002-09-30 21:51 bagder
-
- * docs/libcurl/curl_version_info.3, include/curl/curl.h,
- lib/version.c: get an argument and add a 'age' field to the
- struct
-
-2002-09-30 10:07 bagder
-
- * lib/hostip.c: Cris Bailiff found this flaw, gethostbyname_r() on
- linux returns 0 even when it can't lookup the name (at least in
- some cases) and thus we need to make an extra check to detect
- failures.
-
-2002-09-27 11:51 bagder
-
- * docs/curl.1: "" proxy means no proxy
-
-2002-09-27 11:49 bagder
-
- * lib/url.c: Allow a "" proxy explicitly set dont-use-proxy, i.e
- don't even check the environment variables or anything. Setting
- it to NULL disables proxy as well, but allows the environment
- variables to kick in and be used.
-
-2002-09-26 15:16 bagder
-
- * docs/: index.html, libcurl/index.html: point out more docs
-
-2002-09-26 15:12 bagder
-
- * docs/: index.html, libcurl/index.html: nicer html
-
-2002-09-26 15:05 bagder
-
- * docs/index.html: main index for the tool docs
-
-2002-09-26 15:03 bagder
-
- * docs/libcurl/index.html: fixed html tag
-
-2002-09-26 15:03 bagder
-
- * CHANGES, docs/libcurl/Makefile.am,
- docs/libcurl/curl_version_info.3, docs/libcurl/index.html,
- include/curl/curl.h, lib/version.c: enhanced curl_version_info
-
-2002-09-25 18:20 bagder
-
- * UPGRADE: language!
-
-2002-09-25 17:38 bagder
-
- * include/curl/curl.h, lib/version.c: extended curl_version_info()
- with more info on related sub-libraries
-
-2002-09-25 17:11 bagder
-
- * CHANGES: four fixes of yday and today
-
-2002-09-25 14:47 bagder
-
- * lib/http.c: make sure we free rangeline before we re-assign it to
- a new allocated memory as otherwise we (might) leak memory
-
-2002-09-25 14:27 bagder
-
- * include/curl/curl.h: curl_free proto added
-
-2002-09-25 14:26 bagder
-
- * lib/: escape.c, libcurl.def: Walter J. Mack added curl_free
-
-2002-09-25 14:24 bagder
-
- * docs/libcurl/index.html: added curl_free and an "overview"
- section
-
-2002-09-25 14:21 bagder
-
- * docs/libcurl/Makefile.am: added curl_free
-
-2002-09-25 14:11 bagder
-
- * docs/libcurl/: curl_escape.3, curl_free.3, curl_unescape.3:
- Walter J. Mack's curl_free addition
-
-2002-09-25 13:27 bagder
-
- * lib/url.c: Andrés García found out that Curl_protocol_connect()
- could return an uninitialized variable.
-
-2002-09-25 09:08 bagder
-
- * include/curl/curl.h, lib/url.c, lib/version.c: Wez Furlong's
- curl_version_info() function added, still needs some adjustments
- and possibly some improvments to feature all those things we
- could possibly want from this.
-
-2002-09-23 17:01 bagder
-
- * CHANGES: 5 changes since pre3
-
-2002-09-23 15:27 bagder
-
- * include/curl/curl.h: made the resume error more suitable for all
- protocols, but we provide a fallback to the old ftp-one to make
- old programs work the same
-
-2002-09-23 15:22 bagder
-
- * src/main.c: fix resume when multiple files were specified
-
-2002-09-23 14:55 bagder
-
- * lib/transfer.c: spell fix comment
-
-2002-09-23 14:47 bagder
-
- * lib/http.c: removed use of extra unneeded variable
-
-2002-09-23 14:46 bagder
-
- * lib/file.c: Dolbneff A.V and Spiridonoff A.V made the file://
- code work with resumes in the same style other code does.
-
-2002-09-23 14:44 bagder
-
- * lib/multi.c: properly disconnect failed connections
-
-2002-09-20 16:40 bagder
-
- * lib/ftp.c: Craig Markwardt made the "struct hostent_data" get
- cleared too, as is needed on Tru64 (or something).
-
-2002-09-18 17:26 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Re-ordered all the options to be
- more logically structured. Hopefully this will make this page
- more readable and easy to find things in!
-
-2002-09-16 16:02 bagder
-
- * lib/transfer.c: a follow-up fix to the previous fix for HTTP
- servers that don't reply *any* headers at all
-
-2002-09-13 14:40 bagder
-
- * lib/: http.c, transfer.c, urldata.h: better deal with HTTP(S)
- servers that respond with no headers at all, test case 306 added
- to verify that we do right
-
-2002-09-13 14:37 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarified what
- CURLOPT_MAXCONNECTS actually do
-
-2002-09-13 12:57 bagder
-
- * tests/data/Makefile.am: 306 added
-
-2002-09-13 12:56 bagder
-
- * tests/data/test306: request a page from HTTPS but get no headers
-
-2002-09-11 13:47 bagder
-
- * CHANGES: recent fixes
-
-2002-09-11 12:32 bagder
-
- * lib/: connect.c, http.c, url.c, urldata.h: Lukasz Czekierda
- correctly pointed out that curl used a bad Host: header when
- talking to a IPv6-server using IPv6 IP address only.
-
-2002-09-11 12:20 bagder
-
- * docs/.cvsignore: ignore html files here
-
-2002-09-11 10:49 bagder
-
- * docs/curl.1: added more recent return codes
-
-2002-09-11 10:47 bagder
-
- * docs/curl.1: filled in the -k text too
-
-2002-09-11 10:43 bagder
-
- * docs/curl.1: added -k for 7.10, added some more details on -y
- based on comments from Kingsley Morse
-
-2002-09-09 13:23 bagder
-
- * docs/HISTORY: we are MIT-only
-
-2002-09-09 13:23 bagder
-
- * lib/url.c: minor indent change
-
-2002-09-09 13:23 bagder
-
- * lib/transfer.c: remove redundant comment
-
-2002-09-09 09:07 bagder
-
- * docs/KNOWN_BUGS: configure --disable-http is not properly working
-
-2002-09-09 08:48 bagder
-
- * include/curl/curl.h: Ricardo Cadime helped us work out another
- check for the ## preprocessor directive.
-
-2002-09-07 23:44 hartroth
-
- * Makefile.dist: Added ZLIB switch for activation of content
- encoding in Makefile.m32
-
-2002-09-07 02:53 hartroth
-
- * src/Makefile.m32: Added zlib Library.
-
-2002-09-07 00:05 hartroth
-
- * lib/Makefile.m32: Added content_encoding files.
-
-2002-09-05 10:24 bagder
-
- * Makefile.am: fixed the pkgadd target
-
-2002-09-04 17:07 subman
-
- * lib/curllib.dsp: Added multi.c to curllib.dsp to fix win32 build
-
-2002-09-04 15:43 bagder
-
- * src/main.c: Sven Neuhaus made --silent being acknowledged even
- when multiple URLs were used
-
-2002-09-04 15:10 bagder
-
- * src/Makefile.am: remove -lz
-
-2002-09-03 13:58 bagder
-
- * docs/FAQ: we're now MIT licensed only
-
-2002-09-03 13:54 bagder
-
- * Makefile.am: no longer package MITX.txt or MPL-1.1.txt since we
- now use COPYING only
-
-2002-09-03 13:52 bagder
-
- * CHANGES, include/curl/curl.h, include/curl/easy.h,
- include/curl/multi.h, include/curl/stdcheaders.h,
- include/curl/types.h, lib/arpa_telnet.h, lib/base64.c,
- lib/base64.h, lib/connect.c, lib/connect.h,
- lib/content_encoding.c, lib/content_encoding.h, lib/cookie.c,
- lib/cookie.h, lib/dict.c, lib/dict.h, lib/easy.c, lib/escape.c,
- lib/escape.h, lib/file.c, lib/file.h, lib/formdata.c,
- lib/formdata.h, lib/ftp.c, lib/ftp.h, lib/getenv.c,
- lib/getinfo.c, lib/getinfo.h, lib/getpass.h, lib/hash.c,
- lib/hash.h, lib/hostip.c, lib/hostip.h, lib/http.c, lib/http.h,
- lib/http_chunks.c, lib/http_chunks.h, lib/if2ip.c, lib/if2ip.h,
- lib/krb4.h, lib/ldap.c, lib/ldap.h, lib/llist.c, lib/llist.h,
- lib/memdebug.c, lib/memdebug.h, lib/multi.c, lib/netrc.c,
- lib/netrc.h, lib/progress.c, lib/progress.h, lib/security.h,
- lib/sendf.c, lib/sendf.h, lib/setup.h, lib/share.c, lib/share.h,
- lib/speedcheck.c, lib/speedcheck.h, lib/ssluse.c, lib/ssluse.h,
- lib/strequal.c, lib/strequal.h, lib/strtok.c, lib/strtok.h,
- lib/telnet.c, lib/telnet.h, lib/timeval.c, lib/timeval.h,
- lib/transfer.c, lib/transfer.h, lib/url.c, lib/url.h,
- lib/urldata.h, lib/version.c, src/main.c, src/setup.h,
- src/urlglob.c, src/urlglob.h, src/writeenv.c, src/writeenv.h,
- src/writeout.c, src/writeout.h, tests/server/sws.c: updated
- source code boilerplate/header
-
-2002-09-03 13:30 bagder
-
- * include/curl/curl.h, src/version.h: 7.10-pre2
-
-2002-09-03 13:26 bagder
-
- * lib/Makefile.am: fixed the dist-hook and added the missing header
- file
-
-2002-09-03 11:25 bagder
-
- * COPYING: better name for the legal/license/copyright stuff
-
-2002-09-03 00:55 bagder
-
- * CHANGES: added some curl-config details
-
-2002-09-03 00:45 bagder
-
- * configure.in, curl-config.in: AC_SUBST HAVE_LIBZ for
- curl-config.in
-
-2002-09-03 00:31 bagder
-
- * CHANGES, Makefile.am, UPGRADE, acconfig.h, configure.in,
- docs/THANKS, include/curl/curl.h, lib/Makefile.am,
- lib/README.encoding, lib/content_encoding.c,
- lib/content_encoding.h, lib/http.c, lib/http_chunks.c,
- lib/http_chunks.h, lib/transfer.c, lib/url.c, lib/urldata.h,
- src/Makefile.am, src/main.c: James Gallagher's Content-Encoding
- work
-
-2002-09-03 00:29 bagder
-
- * lib/ca-bundle.crt: ca bundle to use
-
-2002-09-02 23:59 bagder
-
- * lib/version.c: adjusted to more HTTP-strict version strings and
- to offer LIBZ info
-
-2002-09-02 10:38 bagder
-
- * docs/libcurl-the-guide: Jon Topper pointed out a code example bug
-
-2002-08-30 14:09 bagder
-
- * CHANGES: moo
-
-2002-08-30 14:07 bagder
-
- * lib/ssluse.c: if verifypeer is enabled but nether CAfile nor
- CApath is, then don't try to load "verify_locations"
-
-2002-08-30 13:10 bagder
-
- * lib/hostip.c: prevent compiler warning
-
-2002-08-30 13:09 bagder
-
- * CHANGES, configure.in, include/curl/curl.h, lib/Makefile.am,
- lib/ssluse.c, lib/url.c, lib/urldata.h, src/main.c:
- CURLE_SSL_INSECURE is removed again and so is
- CURLOPT_SSL_INSECURE, we proceed fine with the already existing
- options, just having a different internal library default for
- capath.
-
-2002-08-30 13:02 bagder
-
- * lib/Makefile.am: support DESTDIR for the bundle
-
-2002-08-30 13:00 bagder
-
- * curl-config.in: --ca shows ca bundle path
-
-2002-08-30 12:58 bagder
-
- * tests/data/: test305, test403: new tests
-
-2002-08-30 12:50 bagder
-
- * tests/runtests.pl: show return code when run verbose
-
-2002-08-30 11:20 bagder
-
- * CHANGES: recent fixes
-
-2002-08-30 11:20 bagder
-
- * include/curl/curl.h, lib/http.c, lib/url.c, lib/urldata.h,
- src/main.c: SOCKS5 support added (contributed by a still unnamed
- person). Not properly working for "IPv6 enabled" libcurls yet,
- but should be pretty easy for someone to adjust.
-
-2002-08-30 09:50 bagder
-
- * configure.in, lib/Makefile.am, lib/ca-bundle.h.in: ca-bundle
- stuff for configure and generated header file
-
-2002-08-29 09:05 bagder
-
- * docs/FAQ: more explicit texts on the 4.2 answer
-
-2002-08-29 08:09 bagder
-
- * lib/: transfer.c, urldata.h: remove the data and conn fields from
- the Curl_transfer_keeper struct, they weren't used anyway and
- mostly caused confusion
-
-2002-08-27 01:13 bagder
-
- * include/curl/curl.h, lib/ftp.c, lib/url.c, lib/urldata.h,
- src/main.c: SSL_INSECURE support and usage added
-
-2002-08-27 01:07 bagder
-
- * tests/server/.cvsignore: ignore these
-
-2002-08-27 01:06 bagder
-
- * tests/data/: Makefile.am, test300, test301, test302, test304,
- test400, test401, test402: updated for the new SSL -k added two
- new tests to test the absense of -k to insecure SSL sites
-
-2002-08-27 00:32 bagder
-
- * docs/TODO: add more things to do
-
-2002-08-27 00:00 bagder
-
- * lib/ftp.c: don't attempt to ftp_cwd() on a NULL path
-
-2002-08-26 19:20 bagder
-
- * lib/config-win32.h, lib/connect.c, lib/http.c, lib/progress.c,
- lib/url.c, src/main.c: Andrew Francis removed the need for/use of
- MSVC pragmas
-
-2002-08-26 17:34 bagder
-
- * LEGAL: corrected the year string
-
-2002-08-26 13:58 bagder
-
- * src/main.c: don't close stdin, close the actual file handle we
- have! Keith MacDonald found it.
-
-2002-08-22 21:55 bagder
-
- * CHANGES: since 7.9.9-pre1
-
-2002-08-22 21:46 bagder
-
- * .cvsignore, packages/EPM/.cvsignore, src/.cvsignore: Markus
- F.X.J. Oberhumer's cvsignore fixes
-
-2002-08-22 21:46 bagder
-
- * include/curl/curl.h: Markus F.X.J. Oberhumer added better
- NOSIGNAL description and fixed spelling error
-
-2002-08-22 21:45 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Markus F.X.J. Oberhumer's added
- notes about NOSIGNAL in the TIMEOUT descriptions, slightly edited
- by me.
-
-2002-08-22 21:39 bagder
-
- * docs/libcurl-the-guide: Markus F.X.J. Oberhumer added a section
- about NOSIGNAL and libcurl in multi-threaded use
-
-2002-08-22 21:38 bagder
-
- * lib/urldata.h: Markus F.X.J. Oberhumer's added comment
-
-2002-08-22 21:38 bagder
-
- * lib/sendf.c: Markus Oberhumer improved an out-of-memory check I
- reformatted some functions using a different indent than the rest
- of the file.
-
-2002-08-22 21:03 bagder
-
- * docs/KNOWN_BUGS: bug report #588027 converted to a KNOWN BUG, as
- we have no intention to correct this problem within the nearest
- period
-
-2002-08-22 16:28 bagder
-
- * lib/Makefile.am: allow undefined symbols!
-
-2002-08-21 21:04 bagder
-
- * docs/libcurl/curl_easy_setopt.3: NOSIGNAL, BUFFERSIZE and
- clarification for the PROGRESSFUNCTION
-
-2002-08-21 13:05 bagder
-
- * MITX.txt: modified the copyright line and shortened the phrasing
- in this license to become even shorter, but retaining the same
- meaning and effect for all users.
-
-2002-08-20 13:46 bagder
-
- * lib/config-win32.h: Added three more pragmas for MSVC++ compiles.
-
- We *really* need these sorted out. I'd prefer to have them all
- removed and the actual code corrected instead of just diabling
- the warnings and pretending that they don't exist.
-
-2002-08-20 13:43 bagder
-
- * lib/dllinit.c: prevent compiler warnings
-
-2002-08-20 13:42 bagder
-
- * lib/config-win32.h: windows has stdlib.h
-
-2002-08-15 10:06 bagder
-
- * docs/libcurl/curl_easy_setopt.3: modified again to look better
- HTML converted
-
-2002-08-15 08:13 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Leonce Limousin pointed out
- flaws
-
-2002-08-15 01:35 bagder
-
- * docs/TODO: Wez Furlong's ideas and some cleaning up/clarifying
-
-2002-08-15 01:01 bagder
-
- * docs/examples/: Makefile.example, README: re-order the compiler
- arguments to keep more compiler happy
-
-2002-08-13 17:03 bagder
-
- * include/curl/: curl.h, multi.h: include curl-includes "local"
- instead of <curl/foo>
-
-2002-08-13 16:20 bagder
-
- * lib/Makefile.am, lib/share.c, lib/share.h, lib/url.c,
- lib/urldata.h, include/curl/curl.h: Sterling Hughes brings the
- share interface
-
-2002-08-13 14:12 bagder
-
- * configure.in: gethostname is not used anymore so we can stop
- looking for it! ;-)
-
-2002-08-13 14:12 bagder
-
- * src/: config.h.in, main.c: mr Hartroth correctly pointed out that
- poll() isn't really that portable so we need to hack around it
- when not there
-
-2002-08-13 13:45 bagder
-
- * configure.in: check for poll()
-
-2002-08-13 08:51 bagder
-
- * docs/TODO: change the resolver URL to the work-in-progress
- library project
-
-2002-08-13 00:36 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.9-pre1
-
-2002-08-12 14:01 bagder
-
- * lib/connect.c: fixed a Curl_connecthost() bug, we should default
- to set connected to false
-
-2002-08-12 13:36 bagder
-
- * docs/examples/sepheaders.c: added comment about CURLOPT_WRITEDATA
- for directing contents somewhere
-
-2002-08-12 11:45 bagder
-
- * CHANGES: multi asynch work committed
-
-2002-08-12 11:43 bagder
-
- * lib/: connect.c, connect.h, ftp.c, ftp.h, multi.c, url.c, url.h,
- urldata.h: Initial fix to make the multi interface return control
- while waiting for the initial connect to "come through".
-
- This should work fine for connect and for FTP-PASV connects.
- Needs massive testing.
-
-2002-08-12 11:41 bagder
-
- * tests/runtests.pl: redirect stderr to /dev/null when testing for
- running test-servers
-
-2002-08-12 11:02 bagder
-
- * CHANGES: CURLOPT_NOSIGNAL added
-
-2002-08-12 10:54 bagder
-
- * docs/libcurl/.cvsignore: ignore html too
-
-2002-08-09 01:25 bagder
-
- * .cvsignore: ignore
-
-2002-08-09 01:19 bagder
-
- * src/.cvsignore: more to ignore
-
-2002-08-09 01:17 bagder
-
- * src/.cvsignore: ignore
-
-2002-08-09 01:13 bagder
-
- * tests/: .cvsignore, data/.cvsignore: all those ignores
-
-2002-08-09 01:11 bagder
-
- * packages/Linux/RPM/.cvsignore, lib/.cvsignore: ignore generated
- files
-
-2002-08-09 01:10 bagder
-
- * packages/EPM/.cvsignore: ignore these files
-
-2002-08-09 01:09 bagder
-
- * packages/: .cvsignore, Linux/.cvsignore, Linux/RPM/.cvsignore,
- Solaris/.cvsignore, Win32/.cvsignore, Win32/cygwin/.cvsignore:
- things to ignore
-
-2002-08-09 01:07 bagder
-
- * include/: .cvsignore, curl/.cvsignore: cvsignore files
-
-2002-08-09 01:05 bagder
-
- * docs/: .cvsignore, examples/.cvsignore, libcurl/.cvsignore: makes
- things better
-
-2002-08-09 00:52 bagder
-
- * include/curl/curl.h, lib/transfer.c, lib/url.c, lib/urldata.h:
- Markus F.X.J. Oberhumer's CURLOPT_NOSIGNAL patch
-
-2002-08-09 00:44 bagder
-
- * lib/hostip.c: attempted hpux fix for resolves
-
-2002-08-09 00:44 bagder
-
- * include/curl/curl.h: fix the ansi/iso cpp check to work with c++
-
-2002-08-08 13:54 bagder
-
- * docs/FAQ: mainly more not-so-very serious blurb about the name
-
-2002-08-08 06:44 bagder
-
- * lib/.cvsignore: ignore all .in files
-
-2002-08-07 10:23 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Adding more blurb about
- activating the cookies on COOKIEFILE and COOKIEJAR
-
-2002-08-07 10:09 bagder
-
- * docs/curl.1: spell out that -i should be used if you want to add
- http headers to the output. -v does not do that
-
-2002-08-05 19:04 bagder
-
- * lib/: multi.c, transfer.c, urldata.h: Make SessionHandle keep
- record if it is used with the multi interface or the easy
- interface, it CANNOT be used by a mixture.
-
-2002-08-05 18:54 bagder
-
- * CHANGES: curl/curl.g fix, HP-UX fix, ftp port, libcurl.def, empty
- post and rfc2732- addresses
-
-2002-08-05 18:50 bagder
-
- * lib/url.c: re-added the RFC2732-parser that was lost for some
- reason during the flow of time!
-
-2002-08-05 13:15 bagder
-
- * src/main.c: support blank arguments to options, each option
- should check for blank ones themselves if they need to prevent
- this.
-
-2002-08-05 11:38 bagder
-
- * docs/libcurl/curl_easy_setopt.3: jonatan's fixes
-
-2002-08-03 18:38 hartroth
-
- * lib/libcurl.def: Added multi interface functions to DLL
- definitions.
-
-2002-08-01 16:30 bagder
-
- * lib/ftp.c: corrected some warnings
-
-2002-08-01 16:25 bagder
-
- * lib/ftp.c: Changed the PORT command to pick a better default IP
- address if "-" is used. It now uses the local IP adress of the
- control connection.
-
-2002-08-01 01:18 bagder
-
- * include/curl/multi.h: sys/socket.h without #ifdef include
- sys/time.h as well
-
-2002-07-31 10:24 bagder
-
- * docs/curl.1: spell fix and --limit-rate added
-
-2002-07-30 13:07 bagder
-
- * src/writeout.c: When CURLINFO_CONTENT_TYPE returns a NULL
- pointer, don't try to fputs() it!
-
-2002-07-30 01:00 bagder
-
- * configure.in: check for sys/poll.h
-
-2002-07-30 00:59 bagder
-
- * CHANGES: passwords and cookies
-
-2002-07-30 00:45 bagder
-
- * lib/url.c: Removed checks for if set.fpasswd is NULL, as we
- prevent users from setting it to NULL and then use the internal
- default instead. It will always be a function to call.
-
-2002-07-30 00:42 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Setting PASSWDFUNCTION to NULL
- will set back the internal function as password function.
-
-2002-07-30 00:23 bagder
-
- * lib/transfer.c: fixed the Curl_cookie_add() invoke to not assume
- a space after the colon
-
-2002-07-30 00:22 bagder
-
- * lib/cookie.c: properly skip white spaces on Set-Cookie: header
- lines
-
-2002-07-30 00:21 bagder
-
- * tests/data/test31: extended and improved cookie testing
-
-2002-07-30 00:14 bagder
-
- * CHANGES: HAVE_SETVBUF fixed
-
-2002-07-29 16:20 bagder
-
- * lib/Makefile.vc6: link with winmm.lib too
-
-2002-07-29 16:15 bagder
-
- * lib/getpass.c: use stderr to present the prompt to, make sure to
- close the fopen()ed file handle
-
-2002-07-29 13:07 bagder
-
- * lib/Makefile.m32: Added multi.[co] to the build
-
-2002-07-28 19:08 bagder
-
- * src/config.h.in: added HAVE_SETVBUF
-
-2002-06-26 17:39 bagder
-
- * lib/hostip.c: Glen Nakamura made his fix look even better!
-
-2002-06-26 10:42 bagder
-
- * CHANGES: Glen Nakamura's patch applied
-
-2002-06-26 10:03 bagder
-
- * lib/hostip.c: Glen Nakamura's patch for Curl_getaddrinfo().
-
-2002-06-26 09:16 bagder
-
- * CHANGES: since 7.9.8
-
-2002-06-26 09:15 bagder
-
- * lib/escape.c: ignore '+' in URLs, generate only %-codes
-
-2002-06-26 08:47 bagder
-
- * lib/timeval.c: T. Bharath fixed his mm lib timer resolution fix
-
-2002-06-25 11:21 bagder
-
- * docs/: HISTORY, Makefile.am: added HISTORY for newbies ;-)
-
-2002-06-24 08:14 bagder
-
- * docs/libcurl/curl_formadd.3: corrected to match reality better
-
-2002-06-19 14:37 bagder
-
- * docs/examples/README: removed the php/examples reference as that
- dir is not in the archives
-
-2002-06-19 14:31 bagder
-
- * docs/examples/README: simplified the compile line even more
-
-2002-06-19 14:30 bagder
-
- * docs/examples/: Makefile.am, simplepost.c: simplepost.c shows a
- simple POST ;-)
-
-2002-06-15 23:08 bagder
-
- * src/main.c: removed extra / in help text
-
-2002-06-15 23:06 bagder
-
- * include/curl/curl.h: Added CURLOPT_BUFFERSIZE
-
-2002-06-15 23:02 bagder
-
- * src/main.c: Added --limit-rate
-
-2002-06-15 23:01 bagder
-
- * src/config.h.in: HAVE_SYS_POLL_H
-
-2002-06-15 23:00 bagder
-
- * lib/: transfer.c, url.c, urldata.h: CURLOPT_BUFFERSIZE allows an
- application to set a prefered buffer size for receiving data from
- the network. It is meant as a hint, not as a forced limit.
-
-2002-06-15 13:17 bagder
-
- * docs/libcurl/curl_formadd.3: Chris Combes added description of
- his newly added options
-
-2002-06-14 14:05 bagder
-
- * lib/url.c: - Yarram Sunil found out that the SocketIsDead()
- function performed a lot faster on Windows when removing the 1
- microsecond timeout.
-
-2002-06-14 11:36 bagder
-
- * lib/: curllib.dsp, curllib.dsw: Hanno L. Kranzhoff fixed them
-
-2002-06-14 08:57 bagder
-
- * lib/: ftp.c, urldata.h: Remade the FTP not-check status line and
- not-attempt-to-read-status-line variables, conditions and things.
-
-2002-06-14 00:22 bagder
-
- * lib/ftp.c: Tom Mattison's report found out, and this is the fix
- that should prevent FTP from closing the connections a little too
- often!
-
-2002-06-14 00:13 bagder
-
- * docs/INSTALL: Miklos Nemeth added a section for how to disable
- specific protocols in the windows build.
-
-2002-06-14 00:11 bagder
-
- * src/Makefile.vc6: Miklos Nemeth fixed the mmlib
-
-2002-06-13 16:37 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.8 commit
-
-2002-06-13 11:21 bagder
-
- * lib/: ftp.c, urldata.h: Added 'dont_check' to be set during an
- FTP operation if the final status message is supposed to be
- ignored.
-
-2002-06-13 00:05 bagder
-
- * lib/ftp.c: when no FTP transfer was done, don't attempt to read
- the download transfer thing. The 'resumed' flag is also causing
- confusions. I'll deal with that tomorrow.
-
-2002-06-13 00:04 bagder
-
- * lib/transfer.c: Moved the secondarysocket cleanup. The 'conn'
- struct may have been cleared already at that other place.
-
-2002-06-12 23:40 bagder
-
- * include/curl/curl.h, lib/formdata.c, lib/formdata.h: Chris Combes
- added CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH
-
-2002-06-12 23:40 bagder
-
- * CHANGES: fixing builds, patching bugs, adding curl_formadd()
- options
-
-2002-06-12 19:56 bagder
-
- * lib/config-vms.h: HAVE_SIGSETJMP
-
-2002-06-12 11:48 bagder
-
- * lib/connect.c: added a connect failure error message that might
- get empty otherwise
-
-2002-06-12 11:18 bagder
-
- * lib/Makefile.m32, src/Makefile.m32: Jörn fixes for 7.9.8 build
-
-2002-06-12 10:16 bagder
-
- * docs/TODO: CURLOPT_MAXFILESIZE
-
-2002-06-12 09:45 bagder
-
- * lib/ldap.c: kris@freebsd.org fixed a bad format string
-
-2002-06-12 09:44 bagder
-
- * lib/ftp.c: kris@freebsd.org fixed a few bad format strings
-
-2002-06-12 09:26 bagder
-
- * docs/INSTALL: Add QNX
-
-2002-06-11 17:47 bagder
-
- * lib/url.c: put #ifdefs around the sigjmp_buf declaration too, as
- it should be
-
-2002-06-11 17:44 bagder
-
- * lib/url.c: corrected the signal handler
-
-2002-06-11 17:28 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.8-pre3 commit
-
-2002-06-11 17:24 bagder
-
- * docs/TODO: the disable protocol stuff is now added
-
-2002-06-11 17:11 bagder
-
- * tests/: FILEFORMAT, runtests.pl: more nonewline support
-
-2002-06-11 17:10 bagder
-
- * configure.in, lib/hostip.c, lib/url.c: Now uses sigsetjmp() and
- siglongjmp() to bail out from slow name lookups in case a timeout
- is set. This seems to work. God knows if it is good enough or
- what kind of side-effects we introduce here and now.
-
- I'll close my eyes and cross my fingers. Hard.
-
-2002-06-11 17:09 bagder
-
- * src/main.c: cut up the string in more pieces for <512 bytes
- strings
-
-2002-06-11 16:10 bagder
-
- * lib/url.c: removed accidentally added debug-code!
-
-2002-06-11 14:35 bagder
-
- * lib/ftp.c: ftp range downloads make us ignore the final status
- message as the server will most likely treat the download as
- failed as we might abort it pre-maturely
-
-2002-06-11 14:25 bagder
-
- * tests/data/: Makefile.am, test135: added test135 ftp byte-range
- download
-
-2002-06-11 13:13 bagder
-
- * configure.in, curl-config.in: added --disable-[protocol] support
-
-2002-06-11 13:13 bagder
-
- * lib/: arpa_telnet.h, cookie.c, dict.h, file.c, file.h,
- formdata.c, ftp.c, ftp.h, http.c, http.h, http_chunks.c, krb4.c,
- ldap.c, ldap.h, security.c, setup.h, telnet.c, telnet.h, url.c:
- added disable-[protocol] support, largely provided by Miklos
- Nemeth
-
-2002-06-11 13:12 bagder
-
- * acconfig.h: Added disable-defines
-
-2002-06-11 13:11 bagder
-
- * lib/Makefile.vc6: added multi.obj
-
-2002-06-11 09:20 bagder
-
- * lib/http.c: make sure data->set.postfields is non-NULL before
- doing strlen() on the pointer. Bugs item #566835.
-
-2002-06-10 15:26 bagder
-
- * lib/hostip.c: getaddrinfo() failures now show port number too in
- informational output
-
-2002-06-10 15:25 bagder
-
- * lib/connect.c: added a missing failf() for certain connect
- failures
-
-2002-06-10 14:38 bagder
-
- * lib/ssluse.c: This fix MIGHT make us build nicely with OpenSSL
- 0.9.7. This fix is based on a patch from Jacob Meuser, input from
- Götz Babin-Ebell and my own browsing of the latest include files.
-
-2002-06-10 14:34 bagder
-
- * lib/transfer.c: Gautam Mani found a socket descriptor leak that
- happened when FTP transfers failed and you reinvoked
- curl_easy_perform().
-
-2002-06-07 08:17 bagder
-
- * src/config.h.in: Added HAVE_SYS_TYPES_H
-
-2002-06-05 23:29 bagder
-
- * lib/multi.c: Gustaf Hui fixed curl_multi_remove_handle() to
- prevent a potential crash
-
-2002-06-05 16:14 bagder
-
- * lib/config-win32.h: set HAVE_RAND_STATUS too
-
-2002-06-05 15:41 bagder
-
- * lib/hostip.c: hostcache_fixoffset() is now corrected to work on
- 64bit architectures Bug report #564585.
-
-2002-06-04 13:53 bagder
-
- * CHANGES: more stuff since pre1
-
-2002-06-03 15:37 bagder
-
- * docs/BINDINGS: indent like the other ones
-
-2002-06-03 15:20 bagder
-
- * docs/BINDINGS: Christophe Espern wrote another binding!
-
-2002-06-03 15:04 bagder
-
- * docs/libcurl/curl_easy_setopt.3: updated header
-
-2002-06-03 14:48 bagder
-
- * lib/: curllib.dsp, curllib.dsw: T. Bharath's updates since curl
- now uses the winmm lib for higher resolution timer
-
-2002-06-03 14:47 bagder
-
- * lib/http.c: T. Bharath made the request size add up as it is
- documented to do.
-
-2002-06-03 14:46 bagder
-
- * lib/timeval.c: T. Bharath fixed higher resolution time for
- windows builds
-
-2002-06-03 14:46 bagder
-
- * lib/progress.c: T. Bharath fixed the TIMER_REDIRECT.
-
-2002-05-29 00:33 bagder
-
- * lib/ftp.c: Getting an empty FTP file no longer makes us return
- error 19. An empty file is fine to get.
-
-2002-05-28 16:45 bagder
-
- * lib/multi.c: Gustaf Hui provided new code that changes how
- curl_multi_info_read()
- messages are stored, so that they don't have to be kept around
- for the multi
- handle's entire life time. He also made it return failure codes
- properly
- which it didn't do before.
-
- I made the messages only get stored per easy-handle so that they
- can be
- independently killed easier without ruining the "master list".
- It makes
- the info_read() function slightly less beautiful as it has to
- scan for
- messages to return, but it makes removing individual handles a
- lot easier
- and less error prone.
-
-2002-05-28 16:18 bagder
-
- * lib/transfer.c: Adjusted to make curl_multi_perform() work
- properly even when curl_multi_fdset() is not used.
-
-2002-05-28 11:31 bagder
-
- * src/main.c: I trimmed the --help output slightly to better fit
- within 80 cols
-
-2002-05-28 11:21 bagder
-
- * docs/curl.1, docs/libcurl/curl_easy_setopt.3,
- include/curl/curl.h, lib/url.c, src/main.c: Cris Bailiff's CAPATH
- support added
-
-2002-05-23 00:14 bagder
-
- * docs/FAQ: new url, spell checked
-
-2002-05-22 13:08 bagder
-
- * CHANGES: since 7.9.7
-
-2002-05-22 00:39 bagder
-
- * tests/runtests.pl: James Cone's little work-around for the strict
- error
-
-2002-05-22 00:24 bagder
-
- * lib/url.c: When re-using a connection, make sure that we use the
- current host name as we might actually re-use a connection to a
- different host, when using proxies!
-
- This was what bug report #558888 was all about.
-
-2002-05-22 00:22 bagder
-
- * include/curl/curl.h: James Cone added the new CURL_NETRC_OPTION
- enum
-
-2002-05-22 00:20 bagder
-
- * tests/: getpart.pm, memanalyze.pl, runtests.pl: test suite mods
- for the netrc testing stuff
-
-2002-05-22 00:20 bagder
-
- * docs/: MANUAL, libcurl/curl_easy_setopt.3: James Cone added
- CURLOPT_NETRC / --netrc / --netrc-optional descriptions
-
-2002-05-22 00:18 bagder
-
- * src/main.c: Use the new CURLOPT_NETRC option and adds
- --netrc-optional, by James Cone
-
-2002-05-22 00:17 bagder
-
- * lib/: memdebug.c, netrc.c, netrc.h, url.c, urldata.h: James
- Cone's efforts to add another netrc parsing "mode"
-
-2002-05-22 00:14 bagder
-
- * tests/data/: Makefile.am, test130, test131, test132, test133,
- test134: five new test cases for the netrc parsing
-
-2002-05-21 19:59 bagder
-
- * lib/mprintf.c: maprintf() and vmaprintf() now work better when
- printfing "%s" with an empty string
-
-2002-05-21 16:00 bagder
-
- * docs/FAQ: corrected see also
-
-2002-05-21 15:53 bagder
-
- * docs/FAQ: 3.14 added, javascript support
-
-2002-05-21 10:22 bagder
-
- * tests/server/sws.c: Added source header and made it clear that
- this code was originally donated to us by Juergen Wilke.
-
-2002-05-21 10:15 bagder
-
- * lib/ssluse.c: ASN1 files don't work for the *chain_file(), make
- them use the previous version
-
-2002-05-21 09:47 bagder
-
- * docs/libcurl/curl_formadd.3: return type CURLFORMcode instead of
- plain int
-
-2002-05-21 09:44 bagder
-
- * include/curl/curl.h, lib/formdata.c: curl_formadd() now returns
- 'CURLFORMcode' instead of int, to better enable checking for
- particular errors. curl/curl.h defines the errros
-
-2002-05-20 16:25 bagder
-
- * lib/ssluse.c: Roland Zimmermann's hint, we use
- SSL_CTX_use_certificate_chain_file() instead of the previous one
- that used SSL_CTX_use_certificate_file()
-
-2002-05-17 10:15 bagder
-
- * tests/server/: getpart.c, sws.c: removed compiler warnings
-
-2002-05-17 09:57 bagder
-
- * src/writeout.c: FreeBSD needs sys/types.h before we include
- sys/select.h that was included mainly for AIX in the first
- place...! As reported in bug report #556869
-
-2002-05-17 09:49 bagder
-
- * lib/hostip.c: Fixes bug report #556930 - we need to make sure
- that the data is all right after we've realloc() the packed
- hostent struct.
-
-2002-05-15 23:40 bagder
-
- * docs/FAQ: Added item 4.10 after talks with Russ Freeman
-
-2002-05-13 11:40 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.7 commit
-
-2002-05-13 09:29 bagder
-
- * docs/examples/: Makefile.am, win32sockets.c: we don't need
- win32sockets.c anymore, we support this internally
-
-2002-05-13 09:28 bagder
-
- * docs/examples/: Makefile.am, fopen.c: fopen.c added, a fopen()
- style emulation for URL reading
-
-2002-05-12 18:10 bagder
-
- * CHANGES: Friday's fixes
-
-2002-05-10 18:01 bagder
-
- * docs/INSTALL: AIX 5.1
-
-2002-05-10 17:59 bagder
-
- * src/main.c: Kein Roth made --trace-ascii look even better, and
- make OD 0A occurances get output as plain newlines.
-
-2002-05-10 16:37 bagder
-
- * src/: config.h.in, writeout.c: AIX wants sys/select.h for the
- fd_set stuff in curl/multi.h, and even though it is a bit ugly
- work-around to add this here, it is still a working work- around!
- ;-)
-
-2002-05-08 01:36 bagder
-
- * docs/: curl.1, libcurl/curl_easy_setopt.3: Patrick Smith's
- contributed docs improvements for when NLST is used by curl...
-
-2002-05-07 23:52 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.7-pre2
-
-2002-05-07 15:13 bagder
-
- * src/main.c: Added --trace-ascii support
-
-2002-05-07 15:12 bagder
-
- * docs/curl.1: --trace-ascii and --junk-session-cookies were added
-
-2002-05-07 11:58 bagder
-
- * src/main.c, include/curl/curl.h, lib/cookie.c, lib/cookie.h,
- lib/easy.c, lib/url.c, lib/urldata.h: support for ingoring
- session cookies added
-
-2002-05-06 20:30 bagder
-
- * lib/url.c: the code for case CURLOPT_DEBUGDATA code broke the
- CURLOPT_STDERR one!
-
-2002-05-06 15:44 bagder
-
- * CHANGES: recent fiddling
-
-2002-05-06 15:43 bagder
-
- * docs/libcurl/curl_easy_setopt.3: CURLOPT_FILE and CURLOPT_INFILE
- have better aliases now: CURLOPT_WRITEDATA and CURLOPT_READDATA
-
-2002-05-06 15:38 bagder
-
- * docs/examples/: Makefile.am, multi-post.c: Added multi-post.c,
- based on the source file posted by Gustaf Hui
-
-2002-05-05 14:11 bagder
-
- * lib/transfer.c: Better support for being used with the multi
- interface without the *fd_set() and proper select()ing have been
- made.
-
-2002-05-05 11:09 bagder
-
- * docs/curl.1: --trace is a 7.9.7 function
-
-2002-05-05 11:08 bagder
-
- * docs/curl.1: added -Z/--max-redirs and --trace changed order of a
- few others to keep the a-z order
-
-2002-05-04 17:36 bagder
-
- * lib/sendf.c: made VERBOSE output more like it used to be,
- HEADER_IN is thus also ignored by the internal debugfunction
- callback
-
-2002-05-03 16:50 bagder
-
- * docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- lib/urldata.h: CURL_MAX_WRITE_SIZE is a new exported define that
- informs about the biggest sized buffer that may be passed to a
- write callback
-
-2002-05-03 14:40 bagder
-
- * lib/multi.c: fixed return code
-
-2002-05-03 14:21 bagder
-
- * CHANGES: another week of changes
-
-2002-05-03 14:14 bagder
-
- * src/main.c: - Added "--trace [file]" to the command line tool. It
- makes a very detailed trace dump get stored, with a full
- protocol dump that includes all received and transmitted data.
- This could be a very effective tool for debugging what goes
- wrong. This dump includes every byte the way it is sent
- to/received from the server. The dump is the plain-text
- version, so SSL transfers will still be readable.
-
-2002-05-03 14:07 bagder
-
- * lib/transfer.c: made the DEBUGFUNCTION get called properly on a
- few more places, especially for DATA_IN and DATA_OUT.
-
-2002-05-03 14:06 bagder
-
- * lib/progress.c: make sure our own printf() clones are used
-
-2002-05-03 11:47 bagder
-
- * src/main.c: -D now stores all headers to the same file if
- multiple URLs are given on the command line!
-
-2002-05-03 00:34 bagder
-
- * docs/libcurl/curl_multi_fdset.3: clarified that you must keep the
- variables that you point to!
-
-2002-05-03 00:15 bagder
-
- * docs/libcurl-the-guide: spell
-
-2002-05-03 00:14 bagder
-
- * lib/transfer.c: use and set the fd_set pointers instead of the
- actual values, as then we work properly with the multi interface
- when the user has provided the fd_sets!
-
-2002-05-03 00:13 bagder
-
- * lib/urldata.h: added two pointers to the fd_set variables to
- read/write from, as sometimes we need to point to user-provided
- fd_sets
-
-2002-05-03 00:12 bagder
-
- * lib/multi.c: return CURLM_CALL_MULTI_PERFORM in one more case,
- and check return code from malloc()
-
-2002-05-02 20:07 bagder
-
- * lib/multi.c: make sure the dns cache pointers in the easy handles
- are NULLed
-
-2002-05-02 10:52 bagder
-
- * lib/transfer.c: Hanno Kranzhoff noticed we didn't properly reset
- the download/upload counters before transfers, when doing
- multiple ones on the same handle.
-
-2002-05-01 13:36 bagder
-
- * lib/hostip.c: Jacky Lam's fix to make the realloc() of the
- hostent data work properly even when the realloc() actually gets
- a new memory block
-
-2002-04-30 09:37 bagder
-
- * docs/libcurl/curl_easy_setopt.3: how to set more than one cookie
-
-2002-04-28 00:21 bagder
-
- * lib/multi.c: implemented curl_multi_info_read() which I had
- forgotten before!
-
-2002-04-27 22:19 bagder
-
- * CHANGES: updated some docs
-
-2002-04-27 20:31 bagder
-
- * docs/BUGS: clarified
-
-2002-04-27 20:12 bagder
-
- * docs/FAQ: one added, one edited
-
-2002-04-27 20:01 bagder
-
- * docs/RESOURCES: shorter introduction
-
-2002-04-27 20:00 bagder
-
- * docs/TODO: updated
-
-2002-04-27 19:02 bagder
-
- * docs/: BINDINGS, Makefile.am: Added BINDINGS, lists all available
- libcurl bindings as of this date.
-
-2002-04-27 15:26 bagder
-
- * CHANGES: fixes on rainy saturday in the end of April, 2002
-
-2002-04-27 15:24 bagder
-
- * lib/ftp.c: Fixed the FTP response reader to deal with timeouts
- better. Previously it would reset the timeout for each incoming
- data, which would make veeery slow responses be allowed to take
- even more time since the timeout would only be reached if the
- time between two received data chunks was longer than the set
- timeout value...
-
-2002-04-27 15:09 bagder
-
- * lib/ftp.c: (Curl_GetFTPResponse) moved some code to only get
- performed when actually needed
-
-2002-04-27 15:07 bagder
-
- * lib/: easy.c, hash.h, hostip.c, llist.c, llist.h: Now uses Curl_
- as prefix for internal global symbols. curl_ should only be used
- for "exported" globals.
-
-2002-04-27 15:06 bagder
-
- * lib/hash.c: DNC cache prune crash removed, made the name spacing
- follow the general rule: "Curl_" prefix for library-wide private
- symbols, "curl_" is for exported symbols.
-
-2002-04-26 14:58 bagder
-
- * docs/INSTALL: openbsd on Alpha was no problemos
-
-2002-04-26 14:57 bagder
-
- * CHANGES: test suite portability fix
-
-2002-04-26 09:48 bagder
-
- * tests/server/sws.c: handles much larger POSTs, replaced
- snprintf() with sprintf() since this needs to be more portable
- and in the test server we can skip the extra safety
-
-2002-04-26 09:45 bagder
-
- * CHANGES: another week of changes
-
-2002-04-25 21:26 bagder
-
- * lib/ftp.c: adjusted to the new Curl_resolv() proto
-
-2002-04-25 21:18 bagder
-
- * lib/url.c: prevent persistant connections to do name resolves
-
-2002-04-25 21:00 bagder
-
- * lib/: connect.c, ftp.c, hostip.c, hostip.h, url.c, urldata.h: In
- order to not get problems with DNS cache pruning, we no longer
- store any name resolved data in any curl handle struct. That way,
- we won't mind if the cache entries are pruned for the next time
- we need them. We'll just resolve them again instead.
-
- This changes the Curl_resolv() proto. It modifies the
- SessionHandle struct but perhaps most importantly, it'll make the
- internals somewhat dependent on the DNS cache not being disabled
- as that will cripple operations somewhat. Especially for
- persistant connections.
-
-2002-04-25 18:45 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: the TOTAL_TIME is not really
- total, as it excludes the connect time...
-
-2002-04-25 17:50 bagder
-
- * lib/krb4.c: use the hostname pointer instead of using IPv4-only
- info from a struct
-
-2002-04-24 12:16 bagder
-
- * docs/libcurl/curl_easy_setopt.3: clarified a bit with the
- timecondition stuff
-
-2002-04-24 12:16 bagder
-
- * docs/KNOWN_BUGS: no, this doesn't look like it bugs
-
-2002-04-24 12:15 bagder
-
- * docs/INSTALL: NetBSD alpha works, also tried a newer FreeBSD on
- alpha
-
-2002-04-23 16:57 bagder
-
- * lib/url.c: removed warning about signed/unsigned comparison
-
-2002-04-23 16:56 bagder
-
- * lib/hostip.c: the 80 column police narrowed this source code! B-]
-
-2002-04-23 15:34 bagder
-
- * lib/url.c: fixes bug report #547484, no_proxy doesn't properly
- strip off port numbers from the host names before comparing
-
-2002-04-23 02:05 bagder
-
- * src/main.c: use new timecond defines
-
-2002-04-23 01:56 bagder
-
- * lib/connect.c: allow binding the local end of a connection even
- when using IPv6, thus we now have --interface working properly
-
-2002-04-23 01:54 bagder
-
- * lib/file.c: use double where it is supposed to
-
-2002-04-23 01:53 bagder
-
- * lib/hostip.c: use sclose() to close sockets
-
-2002-04-23 01:53 bagder
-
- * lib/http.c: renamed the TIMECOND defines to be CURL_ prefixed
-
-2002-04-22 15:33 bagder
-
- * include/curl/curl.h: The timecond stuff now have CURL_ prefixes
-
-2002-04-22 15:31 bagder
-
- * lib/hostip.c: Jacky Lam's adjust resolve-buffer size patch
- applied. Slightly edited by Daniel.
-
-2002-04-19 13:00 bagder
-
- * lib/hostip.c: pack_hostent does not handle 64 bit pointers
- correctly. A Bjørn Reese patch.
-
-2002-04-17 22:13 bumblebury
-
- * lib/: hash.c, hash.h, hostip.c: Prune old hostcache entries with
- each call... This can be optimized a tidbit, but this is a
- start.
-
-2002-04-17 09:21 bagder
-
- * docs/libcurl/curl_easy_getinfo.3: Dirk Manske's two new infos
-
-2002-04-17 09:16 bagder
-
- * lib/transfer.c: Dirk Manske's fix for HTTP response code 301,
- that now behaves more like browsers do. Which thus *breaks* the
- RFC 2616...
-
-2002-04-16 09:59 bagder
-
- * CHANGES, include/curl/curl.h, lib/getinfo.c, lib/progress.c,
- lib/progress.h, lib/transfer.c, lib/urldata.h: Dirk Manske
- brought the patch that introduces two new CURLINFO_* values:
- CURLINFO_REDIRECT_TIME and CURLINFO_REDIRECT_COUNT.
-
-2002-04-15 15:47 bagder
-
- * lib/transfer.c: Jonatan Lander fixed the "Disables POST, goes
- with GET" output to be more connected with reality! ;-)
-
-2002-04-15 13:19 bagder
-
- * lib/: formdata.c, formdata.h, http.c: This makes formposting with
- a specified file missing fail. curl_easy_perform will then return
- CURLE_READ_ERROR.
-
-2002-04-15 08:58 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.6 commit
-
-2002-04-14 20:21 bagder
-
- * lib/cookie.c: Dirk Manske made libcurl strip off white spaces
- from the beginning of cookie contents.
-
-2002-04-14 19:29 bagder
-
- * include/curl/curl.h: check for _MSC_VER as well as __STDC__ when
- deciding to use the ## operator or not
-
-2002-04-14 09:33 bagder
-
- * lib/ftp.c: removed unused variable
-
-2002-04-13 03:56 bumblebury
-
- * lib/: hash.c, hash.h: Add protos and change return value of
- curl_hash_count....
-
-2002-04-13 01:40 bumblebury
-
- * lib/: hash.c, hash.h: Speed up the hash code considerably,
- removing a bunch of legacy crud
-
-2002-04-12 16:41 bagder
-
- * docs/FAQ: cut off an old section
-
-2002-04-12 16:33 bagder
-
- * docs/MANUAL: http_proxy must be lower case
-
-2002-04-12 13:39 bagder
-
- * CHANGES, docs/libcurl/curl_easy_setopt.3, include/curl/curl.h,
- src/version.h: 7.9.6-pre5
-
-2002-04-12 12:33 bagder
-
- * docs/MANUAL: explain all mailing lists better
-
-2002-04-12 12:10 bagder
-
- * docs/libcurl/Makefile.am: added libcurl-errors
-
-2002-04-12 12:03 bagder
-
- * lib/url.c: store TIMER_CONNECT even if the connect failed
-
-2002-04-12 10:18 bagder
-
- * lib/url.c: corrected the verbose output for connects and fixed
- the connect time stamp better for FTP (any protocol with
- protocol-specific connect actions)
-
-2002-04-12 09:53 bagder
-
- * lib/http.c: the HTTP request is a CURLINFO_HEADER_OUT
-
-2002-04-12 09:23 bagder
-
- * CHANGES: Jean-Philippe Barrette-LaPierre's patch applied
-
-2002-04-12 09:21 bagder
-
- * include/curl/curl.h, lib/ftp.c, lib/http.c, lib/sendf.c,
- lib/sendf.h, lib/url.c, lib/urldata.h: Jean-Philippe
- Barrette-LaPierre provided his patch that introduces
- CURLOPT_DEBUGFUNCTION and CURLOPT_DEBUGDATA.
-
-2002-04-12 09:19 bagder
-
- * docs/TODO: error codes *ARE* documented now
-
-2002-04-10 22:54 bagder
-
- * lib/Makefile.am: added RISCOS makefile
-
-2002-04-10 22:52 bagder
-
- * lib/Makefile.riscos, src/Makefile.riscos: brougth by Michael
- Curtis
-
-2002-04-10 20:09 bagder
-
- * CHANGES: more more more
-
-2002-04-10 20:08 bagder
-
- * docs/libcurl/libcurl-errors.3: corrected to new return codes
-
-2002-04-10 16:20 bagder
-
- * lib/connect.c: added info in to failf() lines and added a infof()
- call just before the connect() so that it tells to which host and
- what port it is about to attempt the connection
-
-2002-04-10 16:07 bagder
-
- * lib/url.c: default proxy port set, as reported by Sebastien
- Willemijns
-
-2002-04-10 16:05 bagder
-
- * tests/data/: test302, test36: updated error code
-
-2002-04-10 15:44 bagder
-
- * lib/: http.c, sendf.c, transfer.c, url.c: error code cleanup, use
- the new SEND/RECV errors
-
-2002-04-10 15:24 bagder
-
- * docs/libcurl/libcurl-errors.3: error codes documented
-
-2002-04-10 15:24 bagder
-
- * include/curl/curl.h: two new error codes to separate READ into
- READ/RECV and WRITE into WRITE/SEND
-
-2002-04-10 14:57 bagder
-
- * docs/curl.1: clarified how to write URLs in -K config files
-
-2002-04-09 16:28 bagder
-
- * tests/runtests.pl: set the HOME variable to the current dir, to
- prevent any real ~/.curlrc to play tricks on us!
-
-2002-04-09 08:20 bagder
-
- * docs/libcurl/libcurl.3: spell checked and removed talk about very
- old version numbers
-
-2002-04-09 00:53 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.6-pre4 commit
-
-2002-04-09 00:51 bagder
-
- * src/writeenv.c: removed compiler warnings, made it conditional on
- USE_ENVIRONMENT
-
-2002-04-09 00:48 bagder
-
- * src/main.c: Added the --environment support by Michael Curtis
-
-2002-04-09 00:46 bagder
-
- * src/: writeenv.c, writeenv.h: Added $Id$ keyword
-
-2002-04-09 00:44 bagder
-
- * src/setup.h: Michael Curtis adjusted this for RISC OS
-
-2002-04-09 00:40 bagder
-
- * src/: Makefile.am, writeenv.c, writeenv.h: Added writeenv.c and
- writeenv.h for RISCOS usage (and others?)
-
-2002-04-09 00:01 bagder
-
- * src/Makefile.am: added config-riscos.h
-
-2002-04-08 23:59 bagder
-
- * lib/config-riscos.h, src/config-riscos.h: Michael Curtis' updates
-
-2002-04-08 15:31 bagder
-
- * docs/THANKS: Jacky Lam deserves a mention here
-
-2002-04-08 09:27 bagder
-
- * lib/transfer.c: based on Jacky Lam's "HTTP 1.0 304-only" fix,
- this change makes a 304 reply always stop reading after the
- headers no matter what 'close' is.
-
-2002-04-05 17:04 bagder
-
- * src/main.c: if HOME isn't set or too long, we attempt to lost the
- curlrc file from current directory instead!
-
-2002-04-05 11:00 bagder
-
- * README: mention the web site mirror now
-
-2002-04-05 10:48 bagder
-
- * tests/data/test21: enough with stupidity, this is a test case
- that should fail and thus we should use a proper command line
- that *fails* ;-O
-
-2002-04-05 10:42 bagder
-
- * tests/data/: Makefile.am, test48: added test 48, verify -I, -d
- and -G in one command line
-
-2002-04-05 00:29 bagder
-
- * src/main.c: Reverted v1.120, -G set request type after Kevin Roth
- pointed out the stupidity in doing this. -G should work with with
- -I too...
-
-2002-04-04 14:24 bagder
-
- * CHANGES: lots
-
-2002-04-04 14:23 bagder
-
- * tests/ftpserver.pl: very minor log change
-
-2002-04-04 14:23 bagder
-
- * lib/url.c: T. Bharath pointed out the flaw in ConnectionExists()
- for how we didn't check proxy connections for "deadness" before
- they were re-used
-
-2002-04-04 14:19 bagder
-
- * lib/transfer.c: Fixes the problem Jacky Jam pointed out, where
- libcurl will "hang" for an extra second after having downloaded
- headers-only
-
-2002-04-04 12:07 bagder
-
- * include/curl/curl.h: Jonatan Lander's fix to compile properly on
- pre-ISO compilers (without the ## operator)
-
-2002-04-04 08:07 bagder
-
- * lib/ftp.c: This corrects VERBOSE PASV ftp transfers on AIX (and
- OSF1/Tru64) Gerhard Herre reported this in bug report #536238
-
-2002-04-03 13:11 bagder
-
- * lib/formdata.c: Tor Arntsen's fix for "CGI_Lite" compliance!
-
-2002-04-02 15:29 bagder
-
- * docs/libcurl/curl_easy_setopt.3: Added DNS cache control options
-
-2002-04-02 11:33 bagder
-
- * lib/sendf.c: Clarence Gardner pointed out the not-taken-care-of
- return codes from SSL_read
-
-2002-04-02 08:36 bagder
-
- * lib/getinfo.c: Jacky Lam added memdebug.h include to prevent
- crashes when that is used
-
-2002-03-27 23:53 bagder
-
- * src/main.c: fopen(... "rb") when reading what to post, so that
- binary posting works on Windows!
-
-2002-03-25 10:08 bagder
-
- * lib/cookie.c: Jacky Lam cookie parser fix for domains with
- preceeding dot
-
-2002-03-23 16:41 bagder
-
- * lib/Makefile.vc6, src/Makefile.vc6: Miklos Nemeth's update
-
-2002-03-22 13:01 bagder
-
- * docs/INSTALL: adjusted windows section after a patch from Miklos
- Nemeth
-
-2002-03-22 12:02 bagder
-
- * ltmain.sh: patch by Sandro Tolaini to do good (better?) on
- FreeBSD
-
-2002-03-20 11:54 bagder
-
- * lib/multi.c: no longer include "multi.h", it comes with the
- regular curl/curl.h now
-
-2002-03-20 11:53 bagder
-
- * lib/transfer.c: crlf replacement on uploads did not work. test
- case 128 was added just now to make sure it remains functional.
-
-2002-03-20 11:52 bagder
-
- * lib/ftp.c: verbose FTP PASV output could output a "random" name
- from the stack based array Also, uploading data with --crlf
- cannot check that the proper size was uploaded and thus should
- not warn if the sizes differ. This can be changed in the future
- by having the expected size in the connectdata struct and then
- increase the expected size for each byte that is added in the
- --crlf replacement process.
-
-2002-03-20 11:50 bagder
-
- * tests/data/: Makefile.am, test128: added test 128, ftp upload
- with --crlf
-
-2002-03-20 11:11 bagder
-
- * docs/libcurl/libcurl-multi.3: newcomer notice added
-
-2002-03-20 09:00 bagder
-
- * docs/MANUAL: old list is gone
-
-2002-03-19 16:56 bagder
-
- * docs/KNOWN_BUGS: John Clayton's weird explorations in the wonders
- of the windows tcp/ip stack ;-)
-
-2002-03-19 15:58 bagder
-
- * src/main.c: made -G set request type
-
-2002-03-19 15:53 bagder
-
- * tests/data/test21: corrected for 7.9.6
-
-2002-03-19 15:32 bagder
-
- * lib/Makefile.am: removed multi.h
-
-2002-03-19 15:01 bagder
-
- * docs/examples/Makefile.am: Added the three multi interface source
- code examples to the distrib
-
-2002-03-19 15:00 bagder
-
- * docs/examples/: multi-app.c, multi-double.c, multi-single.c:
- fixed include and added header
-
-2002-03-19 11:35 bagder
-
- * include/curl/Makefile.am: added multi.h
-
-2002-03-19 11:35 bagder
-
- * include/curl/curl.h: include multi.h too
-
-2002-03-19 11:34 bagder
-
- * include/curl/multi.h: moved here from ../../lib/
-
-2002-03-19 11:34 bagder
-
- * lib/multi.h: moved to ../include/curl/
-
-2002-03-19 11:19 bagder
-
- * docs/libcurl/: Makefile.am, index.html: added the multi functions
- man pages
-
-2002-03-19 11:16 bagder
-
- * docs/libcurl/libcurl-multi.3: multi interface overview and
- description
-
-2002-03-19 10:41 bagder
-
- * docs/libcurl/libcurl.3: removed text that really belongs to very
- old libcurls that are no longer being used widely
-
-2002-03-19 10:31 bagder
-
- * docs/libcurl/libcurl.3: point out that this describes the easy
- interface and also make a more general statement about language
- bindings
-
-2002-03-19 10:08 bagder
-
- * docs/libcurl-the-guide: language
-
-2002-03-19 09:55 bagder
-
- * docs/libcurl-the-guide: added some text about PASV and PORT and
- stuff
-
-2002-03-19 08:54 bagder
-
- * include/curl/curl.h, include/curl/easy.h,
- include/curl/stdcheaders.h, include/curl/types.h,
- lib/arpa_telnet.h, lib/base64.c, lib/base64.h, lib/connect.c,
- lib/connect.h, lib/cookie.c, lib/cookie.h, lib/dict.c,
- lib/dict.h, lib/easy.c, lib/escape.c, lib/escape.h, lib/file.c,
- lib/file.h, lib/formdata.c, lib/formdata.h, lib/ftp.c, lib/ftp.h,
- lib/getenv.c, lib/getinfo.c, lib/getinfo.h, lib/getpass.c,
- lib/getpass.h, lib/hash.c, lib/hash.h, lib/hostip.c,
- lib/hostip.h, lib/http.c, lib/http.h, lib/http_chunks.c,
- lib/http_chunks.h, lib/if2ip.c, lib/if2ip.h, lib/krb4.h,
- lib/ldap.c, lib/ldap.h, lib/llist.c, lib/llist.h, lib/memdebug.c,
- lib/memdebug.h, lib/multi.c, lib/multi.h, lib/netrc.c,
- lib/netrc.h, lib/progress.c, lib/progress.h, lib/security.h,
- lib/sendf.c, lib/sendf.h, lib/setup.h, lib/speedcheck.c,
- lib/speedcheck.h, lib/ssluse.c, lib/ssluse.h, lib/strequal.c,
- lib/strequal.h, lib/strtok.c, lib/strtok.h, lib/telnet.c,
- lib/telnet.h, lib/timeval.c, lib/timeval.h, lib/transfer.c,
- lib/transfer.h, lib/url.c, lib/url.h, lib/urldata.h,
- lib/version.c, src/main.c, src/setup.h, src/urlglob.c,
- src/urlglob.h, src/version.h, src/writeout.c, src/writeout.h:
- copyright string (year) update
-
-2002-03-19 08:48 bagder
-
- * CHANGES: yaketiyak
-
-2002-03-19 08:48 bagder
-
- * buildconf: automake -a for the depcomp
-
-2002-03-19 08:32 bagder
-
- * lib/formdata.c: made it pass stricter compiler flags with less
- warnings
-
-2002-03-18 23:26 bagder
-
- * tests/data/: Makefile.am, test32: test 32, try -d and -G
-
-2002-03-18 23:21 bagder
-
- * src/main.c: reverted 1.109, we can't set the request type when -d
- is used, as -G can be used and it makes it a GET...
-
-2002-03-18 09:53 bagder
-
- * docs/libcurl/curl_easy_setopt.3: WRITEFUNCTION correction
-
-2002-03-18 09:52 bagder
-
- * docs/THANKS: Andreas Damm added thanks to his getdate overhaul
-
-2002-03-18 09:52 bagder
-
- * docs/KNOWN_BUGS: gopher
-
-2002-03-18 08:40 bagder
-
- * docs/TODO: updated
-
-2002-03-17 09:28 bagder
-
- * docs/libcurl/curl_unescape.3: clarified that it is only the +
- letter that isn't converted on the right side of a ? letter
-
-2002-03-16 17:59 bagder
-
- * lib/ftp.c: verbose PASV transfers passed a bad buffer size to the
- name resolver functions and it cause cause a crash.
-
- Albert Choy found and fixed it.
-
-2002-03-15 15:46 bagder
-
- * lib/Makefile.vc6: corrected SSL builds
-
-2002-03-15 14:25 bagder
-
- * docs/libcurl-the-guide: headers and security blurb added
-
-2002-03-15 13:42 bagder
-
- * lib/transfer.c: make sure we return CURLE_WRITE_ERROR if the
- write callback returned an error, even if we were decoding a
- chunked-encoded transfer
-
-2002-03-15 10:54 bagder
-
- * lib/hostip.c: Jun-ichiro itojun Hagino <itojun@itojun.org>:
-
- Now first check if IPv6 is supported, then use PF_UNSPEC. If not,
- use PF_INET. It'll solve both the "slow name lookup" problem on
- IPv4 and still work fine on IPv6 hosts.
-
- Bug report #530204 has more details:
- http://sourceforge.net/tracker/?func=detail&atid=100976&aid=530204&group_id=976
-
-2002-03-15 09:45 bagder
-
- * lib/hostip.c: bug report #530204 correctly identified that
- revision 1.52 broke ipv6 functionality and this change reverts
- this.
-
- However, with this revert we bring back problems on (some/all?)
- non-IPv6 enabled Linux machines that have getaddrinfo().
-
-2002-03-14 15:53 bagder
-
- * docs/examples/: Makefile.am, post-callback.c: new example for
- libcurl 7.9.6 or later
-
-2002-03-14 15:39 bagder
-
- * lib/http.c: if CURLOPT_POSTFIELDS isn't set, but CURLOPT_POST is,
- we will assume that we should read the POST-data from the read
- callback
-
-2002-03-14 15:37 bagder
-
- * lib/transfer.c: 2002
-
-2002-03-14 15:37 bagder
-
- * lib/url.c: CURLOPT_POST deserved a new comment with the new
- POST-by-callback support
-
-2002-03-13 14:13 bagder
-
- * lib/ftp.c: no longer attempts to SIZE a NULL pointer, as that
- wasn't very clever (but didn't crash or anything)
-
-2002-03-13 14:10 bagder
-
- * lib/url.c: Setting CURLOPT_PASSWDFUNCTION to NULL now restores
- the internal function.
-
-2002-03-13 14:09 bagder
-
- * lib/sendf.c: sendf() now deals with Curl_write() returning -1
- properly, which it might do if the write would've blocked
-
-2002-03-13 13:10 bagder
-
- * lib/formdata.c: now supports all options in arrays, except the
- CURLFORM_ARRAY itself
-
-2002-03-13 13:09 bagder
-
- * include/curl/curl.h: CURLFORM_ARRAYSTART and ARRAYEND are now
- history
-
-2002-03-13 10:20 bagder
-
- * src/main.c: removed some silly CRLF lines
-
-2002-03-11 16:37 bagder
-
- * CHANGES: 4 things since 7.9.5
-
-2002-03-11 16:31 bagder
-
- * tests/data/: Makefile.am, test39: added test 39, tests the new -F
- features
-
-2002-03-11 16:20 bagder
-
- * src/main.c: now -F supports 'filename=blabla' for parts that
- upload a file, to set the filename field of that part. A typical
- example line could look like:
-
- -F 'name=@filename;filename=/dev/null'
-
- This can be combined with type= too, in a manner similar to:
-
- -F "file=@log/test39.txt;filename=fakerfile;type=moo/foobar"
-
- Enjoy.
-
-2002-03-11 16:18 bagder
-
- * lib/: formdata.c, formdata.h: Added support for CURLFORM_FILENAME
- to set the filename field of a file part.
-
-2002-03-11 16:14 bagder
-
- * include/curl/curl.h: CURLFORM_FILENAME added and some cleanups,
- HttpPost is now curl_httppost with a #define to preserve
- backwards compatibiltiy
-
-2002-03-11 16:00 bagder
-
- * docs/examples/curlgtk.c: corrected the use of the progress
- function
-
-2002-03-11 09:39 bagder
-
- * docs/FAQ: minor edit
-
-2002-03-11 09:29 bagder
-
- * docs/FAQ: 3.13 Why does my single/double quotes fail?
-
-2002-03-08 17:12 bagder
-
- * src/main.c: completed the progress-bar fix
-
-2002-03-08 16:31 bagder
-
- * lib/memdebug.c: detect fclose(NULL)
-
-2002-03-08 16:18 bagder
-
- * src/main.c: better treatment of the config->errors, only fclose()
- this if it was truly fopen()ed. It could end up fclose()ing a
- NULL as discovered by Clifford Wolf.
-
-2002-03-08 16:06 bagder
-
- * lib/url.c: Jean-Philippe Barrette-LaPierre fixed the
- CURLOPT_PASSWDFUNCTION to make NULL set back the internal default
- function
-
-2002-03-08 13:05 bagder
-
- * src/main.c: closes bug report #527032, --progress-bar works again
- and it adds a newline after the transfer is done properly
-
-2002-03-07 09:50 bagder
-
- * CHANGES, docs/MANUAL, docs/libcurl/curl_multi_add_handle.3,
- docs/libcurl/curl_multi_init.3, include/curl/curl.h,
- src/version.h: 7.9.5 commit
-
-2002-03-07 09:29 bagder
-
- * docs/: KNOWN_BUGS, Makefile.am: added the "known bugs" file
-
-2002-03-07 00:18 bagder
-
- * src/curlmsg.msg: new VMS messages from Nico Baggus
-
-2002-03-06 23:52 bagder
-
- * src/urlglob.c: Kevin Roth nicely saved us from this
- backslash-removing problem!
-
-2002-03-06 23:19 bagder
-
- * lib/Makefile.am, src/Makefile.am: Brad corrected the include path
- (again)
-
-2002-03-06 23:08 bagder
-
- * src/config-vms.h: corrected the newlines
-
-2002-03-06 16:05 bagder
-
- * CHANGES: two items since pre6
-
-2002-03-06 16:01 bagder
-
- * docs/libcurl/curl_multi_remove_handle.3: when removed, an easy
- handle can be curl_easy_perform()ed again
-
-2002-03-06 13:33 bagder
-
- * docs/INSTALL: Paul Nolan built it on pocket pc
-
-2002-03-06 10:40 bagder
-
- * tests/server/sws.c: Ralph Mitchell's minor #include patch to
- prevent some warnings
-
-2002-03-06 08:44 bagder
-
- * docs/libcurl/curl_escape.3: we don't skip what looks like already
- escaped strings, that was fixed ages ago
-
-2002-03-05 15:14 bagder
-
- * docs/TODO: read POST data using the read callback
-
-2002-03-05 11:15 bagder
-
- * include/curl/curl.h: corrected the progress callback prototype!!!
-
-2002-03-05 10:01 bagder
-
- * docs/libcurl-the-guide: added text to the progress chapter
-
-2002-03-04 14:10 bagder
-
- * docs/libcurl/curl_easy_cleanup.3: explicitly mention easy handle
-
-2002-03-04 14:06 bagder
-
- * docs/libcurl/curl_easy_init.3: mention 'easy handle' and not just
- handle, there will soon be other handles to keep track of too
-
-2002-03-04 11:34 bagder
-
- * CHANGES, CHANGES.2001: cut off 2001 and put those changes in a
- separate file
-
-2002-03-04 11:28 bagder
-
- * configure.in: added docs/libcurl/ removed multi/
-
-2002-03-04 11:27 bagder
-
- * docs/Makefile.am: moved lots to the new subdir 'libcurl'
-
-2002-03-04 11:15 bagder
-
- * docs/examples/: multi-app.c, multi-double.c, multi-single.c:
- multi interface using examples
-
-2002-03-04 11:15 bagder
-
- * Makefile.am: no longer include the multi dir, the examples should
- be in the examples dir
-
-2002-03-04 11:10 bagder
-
- * docs/: curl_easy_cleanup.3, curl_easy_duphandle.3,
- curl_easy_getinfo.3, curl_easy_init.3, curl_easy_perform.3,
- curl_easy_setopt.3, curl_escape.3, curl_formadd.3,
- curl_formfree.3, curl_formparse.3, curl_getdate.3, curl_getenv.3,
- curl_global_cleanup.3, curl_global_init.3, curl_mprintf.3,
- curl_multi_add_handle.3, curl_multi_cleanup.3,
- curl_multi_fdset.3, curl_multi_info_read.3, curl_multi_init.3,
- curl_multi_perform.3, curl_multi_remove_handle.3,
- curl_slist_append.3, curl_slist_free_all.3, curl_strequal.3,
- curl_strnequal.3, curl_unescape.3, curl_version.3, index.html,
- libcurl.3: moved to the new libcurl/ directory
-
-2002-03-04 11:09 bagder
-
- * docs/libcurl/: Makefile.am, curl_easy_cleanup.3,
- curl_easy_duphandle.3, curl_easy_getinfo.3, curl_easy_init.3,
- curl_easy_perform.3, curl_easy_setopt.3, curl_escape.3,
- curl_formadd.3, curl_formfree.3, curl_formparse.3,
- curl_getdate.3, curl_getenv.3, curl_global_cleanup.3,
- curl_global_init.3, curl_mprintf.3, curl_multi_add_handle.3,
- curl_multi_cleanup.3, curl_multi_fdset.3, curl_multi_info_read.3,
- curl_multi_init.3, curl_multi_perform.3,
- curl_multi_remove_handle.3, curl_slist_append.3,
- curl_slist_free_all.3, curl_strequal.3, curl_strnequal.3,
- curl_unescape.3, curl_version.3, index.html, libcurl.3: ripped
- out from ../ and put in its own directory now
-
-2002-03-04 09:00 bagder
-
- * configure.in: Added packages/EPM
-
-2002-03-04 08:59 bagder
-
- * packages/: Makefile.am, EPM/Makefile.am, EPM/README,
- EPM/curl.list.in: Added EPM stuff, thanks to Giuseppe Corbelli
-
-2002-03-01 18:22 bagder
-
- * docs/curl_formadd.3: bug report #524427 pointed out a mistake in
- the example source
-
-2002-03-01 16:34 bagder
-
- * docs/: curl_multi_add_handle.3, curl_multi_cleanup.3,
- curl_multi_fdset.3, curl_multi_info_read.3, curl_multi_init.3,
- curl_multi_perform.3, curl_multi_remove_handle.3: initial and
- still basic curl multi interface documentation
-
-2002-03-01 14:38 bagder
-
- * docs/curl_easy_init.3: removed incorrect and unnecessary words
-
-2002-03-01 11:48 bagder
-
- * CHANGES: several little things since pre4
-
-2002-03-01 10:20 bagder
-
- * tests/runtests.pl: memanalyze is now moved to the tests/ dir
-
-2002-03-01 10:19 bagder
-
- * tests/Makefile.am: include memanalyze.pl in the dist archive
-
-2002-03-01 10:18 bagder
-
- * memanalyze.pl, tests/memanalyze.pl: moved memanalyze.pl into the
- tests dir
-
-2002-03-01 00:55 bagder
-
- * src/main.c: Nico Baggus added more error codes to the VMS stuff.
-
-2002-03-01 00:31 bagder
-
- * include/curl/curl.h, lib/ftp.c, lib/url.c, lib/urldata.h,
- src/main.c: Wesley Laxton's CURLOPT_PREQUOTE work
-
-2002-02-28 16:13 bagder
-
- * lib/transfer.c: Ralph Mitchell's SSL problems made me notice that
- we didn't increase the header byte counter properly
-
-2002-02-28 13:37 bagder
-
- * lib/memdebug.c: more fancy alloc, we store the size in each
- allocated block so that we can destroy the full allocated area
- just before we free it
-
-2002-02-28 13:36 bagder
-
- * tests/runtests.pl: set CURL_MEMDEBUG to enable memory debugging
- in case curl is compiled with it
-
-2002-02-28 13:35 bagder
-
- * memanalyze.pl: added -t for trace, helps searching for leaks and
- similar
-
-2002-02-28 13:35 bagder
-
- * src/main.c: memory debugging is now only enabled if the
- CURL_MEMDEBUG environment variable is set when curl is invoked
-
-2002-02-28 13:18 bagder
-
- * lib/memdebug.c: always allocates at least 64 bytes for real, and
- damages them before free
-
-2002-02-27 16:09 bagder
-
- * lib/Makefile.am, src/Makefile.am: made building outside the
- source tree work again, Kevin Roth reported
-
-2002-02-27 13:40 bagder
-
- * docs/INTERNALS: minor edit
-
-2002-02-27 08:50 bagder
-
- * tests/data/test304: oops, we weren't doing HTTPS - now we are
-
-2002-02-27 08:49 bagder
-
- * tests/data/: Makefile.am, test304: test 304, HTTPS multipart
- formpost
-
-2002-02-27 08:41 bagder
-
- * tests/data/: test31, test46: use the correct time in the cookie
- jar
-
-2002-02-27 08:38 bagder
-
- * lib/cookie.c: made Max-Age work as defined in the RFC. my brain
- damaged fix to not parse spaces as part of the value is now fixed
- to instead strip off trailing spaces from values.
-
-2002-02-26 14:38 bagder
-
- * tests/data/test46: modified cookie expire date
-
-2002-02-26 14:18 bagder
-
- * tests/data/test31: new field1 functionality testing too
-
-2002-02-26 14:18 bagder
-
- * lib/cookie.c: When saving a cookie jar, set field 1 (counted from
- 0) properly to TRUE if the domain starts with a dot.
-
-2002-02-26 14:09 bagder
-
- * tests/data/: Makefile.am, test31: test 31: "HTTP with weirdly
- formatted cookies and cookiejar storage"
-
-2002-02-26 14:07 bagder
-
- * lib/cookie.c: removed crash on weird input, this also better
- discards silly input
-
-2002-02-26 08:59 bagder
-
- * include/curl/curl.h, src/version.h: 7.9.5-pre4 commit
-
-2002-02-25 16:25 bagder
-
- * docs/libcurl-the-guide: more custom stuff, much about dealing
- with cookies
-
-2002-02-25 15:09 bagder
-
- * CHANGES: a never ending stream of things to do...
-
-2002-02-25 15:08 bagder
-
- * tests/runtests.pl: use env to run perl
-
-2002-02-25 15:08 bagder
-
- * Makefile.am, lib/Makefile.am, src/Makefile.am,
- tests/server/Makefile.am: automake usage and options cleanup
-
-2002-02-25 14:25 bagder
-
- * Makefile.dist: happy new year
-
-2002-02-25 13:49 bagder
-
- * tests/server/Makefile.am: We got this web server's embryo from
- Georg Horn, muchos gracias.
-
-2002-02-25 13:45 bagder
-
- * configure.in: the test suite http server is now automake'd
-
-2002-02-25 13:45 bagder
-
- * tests/: Makefile.am, runtests.pl: use the pid file, use the
- automake subdir
-
-2002-02-25 13:44 bagder
-
- * tests/server/: Makefile, Makefile.am: automake this dir too
-
-2002-02-25 13:14 bagder
-
- * tests/: runtests.pl, server/sws.c: use the former logfile name
- again since the ftp server also uses that...
-
-2002-02-25 12:12 bagder
-
- * tests/runtests.pl: we actually ran all tests just now, feb 25th,
- 2002 12:11 MET. with the new http server on Linux
-
-2002-02-25 12:11 bagder
-
- * tests/server/sws.c: reply/postcmd support for "wait"
-
-2002-02-25 12:00 bagder
-
- * tests/server/config.h.in: portability, step one, use a
- config.h.in file
-
-2002-02-25 11:56 bagder
-
- * configure.in: generate a config file for the test suite http
- server too
-
-2002-02-25 11:27 bagder
-
- * tests/server/sws.c: create the pidfile and store the pid on
- invoke
-
-2002-02-25 11:12 bagder
-
- * lib/multi.h: oops, #if not #ifdef
-
-2002-02-25 10:42 bagder
-
- * tests/server/sws.c: support HUGE requests too
-
-2002-02-25 10:08 bagder
-
- * src/main.c: make sure -d is treated as a POST request and thus
- should fail if mixed with -I for example
-
-2002-02-25 10:07 bagder
-
- * tests/data/test21: modified the command to fail properly! ;-)
-
-2002-02-25 09:20 bagder
-
- * lib/multi.h: cygnus can't include winsock.h even though it has
- it, why we need to make a different and more complicated check
- for when to include it
-
-2002-02-25 08:40 bagder
-
- * docs/curl.1, src/writeout.c: "Yet Another Geek" made
- %{content_type} work in the -w/--writeout option.
-
-2002-02-22 16:44 bagder
-
- * lib/connect.c: better time selection for the connect timeout
-
-2002-02-22 16:40 bagder
-
- * tests/: runtests.pl, server/sws.c: 16 tests OK
-
-2002-02-22 16:17 bagder
-
- * tests/runtests.pl: cut off big parts of the banner
-
-2002-02-22 16:12 bagder
-
- * src/Makefile.am: make sure the custom config-*.h files are in the
- dist as well
-
-2002-02-22 14:54 bagder
-
- * tests/server/: getpart.c, sws.c: adjusted to work on test case 11
- better
-
-2002-02-22 14:53 bagder
-
- * tests/server/Makefile: use -W too
-
-2002-02-22 11:51 bagder
-
- * tests/data/test3: fixed to work with 'nonewline' and thus this
- passes OK with the new http server and things
-
-2002-02-22 11:50 bagder
-
- * tests/: FILEFORMAT, runtests.pl: support for using protocol
- without a trailing newline
-
-2002-02-22 11:40 bagder
-
- * tests/server/: getpart.c, sws.c: hide debug output from screen,
- use log/ for logfiles
-
-2002-02-22 08:51 bagder
-
- * CHANGES, lib/Makefile.am: lib/config.h.in added to dist
-
-2002-02-21 00:24 bagder
-
- * src/: Makefile.am, config-vms.h, setup.h: VMS adjustments
-
-2002-02-20 14:48 bagder
-
- * build_vms.com: new from Nico!
-
-2002-02-20 14:47 bagder
-
- * CHANGES: four more bugfixes, one VMS adjustment
-
-2002-02-20 14:46 bagder
-
- * lib/config-vms.h, lib/connect.c, lib/cookie.h, lib/dllinit.c,
- lib/ftp.c, lib/getdate.c, lib/getdate.h, lib/getdate.y,
- lib/getinfo.c, lib/hostip.c, lib/memdebug.c, src/setup.h,
- src/version.h: Nico Baggus' VMS tweaks
-
-2002-02-20 14:38 bagder
-
- * lib/transfer.c: Andrés García solved bug report #515228 by making
- sure the progress meter is updated even if everything is read in
- one single pass, as the windows functions apparantly does more
- often than other systems.
-
-2002-02-19 12:02 bagder
-
- * lib/multi.h: corrected reference to multi-using examples
-
-2002-02-19 12:00 bagder
-
- * lib/multi.h: include winsock.h on window boxen to work smoother
- there
-
-2002-02-19 02:06 bagder
-
- * configure.in: moved the config.h to lib/config.h
-
-2002-02-19 02:04 bagder
-
- * tests/server/: getpart.c, sws.c: a minor step forwards
-
-2002-02-19 02:04 bagder
-
- * tests/runtests.pl: use the new HTTP server input file
-
-2002-02-19 02:03 bagder
-
- * tests/httpserver.pl: cut off the old perl one, this only runs the
- C coded version
-
-2002-02-19 01:26 bagder
-
- * tests/runtests.pl: fixed the huge text just in case anyone
- actually reads it
-
-2002-02-19 01:26 bagder
-
- * tests/server/sws.c: no .. in path
-
-2002-02-19 00:32 bagder
-
- * lib/mprintf.c: fixed a long long mistake
-
-2002-02-19 00:17 bagder
-
- * docs/TODO: auth on multiple hosts with follow-location
-
-2002-02-19 00:12 bagder
-
- * lib/hostip.c: Rick Richardson's getaddrinfo() usage fix to speed
- up name resolves
-
-2002-02-18 23:59 bagder
-
- * lib/hostip.c: INADDR_NONE should be in_addr_t to work with 64bit
- archs better.
-
- Really, we should only #define this in one file, not both here
- and in connect.c!
-
-2002-02-18 23:41 bagder
-
- * lib/http.c: Philip Gladstone's size problem in add_buffer_send()
-
-2002-02-18 11:51 bagder
-
- * CHANGES: 4 fixes
-
-2002-02-18 11:51 bagder
-
- * docs/TODO: offer SSL verfication callback, add 'headers=' in
- client formpost
-
-2002-02-18 11:47 bagder
-
- * docs/MANUAL: updated LDAP URL syntax references by Aron Roberts
-
-2002-02-18 11:05 bagder
-
- * lib/connect.c: connection timeout comparison fix by Emil
-
-2002-02-17 15:55 bagder
-
- * lib/: hash.c, llist.c: Philip Gladstone's 64-bit issues
- corrected. Reminder for the future: when we're using malloc() we
- MUST include <stdlib.h> as otherwise 64bit archs go bananas.
-
- Bug report #517687
-
-2002-02-17 15:42 bagder
-
- * lib/http.c: corrected the Expect: ignore, made Content-Type:
- possible to skip
-
-2002-02-17 12:17 bagder
-
- * lib/url.c: Giaslas Georgios's Host: over proxy fix
-
-2002-02-07 16:13 bagder
-
- * CHANGES: http server added to CVS, config*h files moved
-
-2002-02-07 15:47 bagder
-
- * lib/setup.h: ugh. the VMS stuff must've been like that for a
- reason, I put it back again
-
-2002-02-07 15:35 bagder
-
- * Makefile.am: moved the config-* files to lib/Makefile.am
-
-2002-02-07 15:34 bagder
-
- * lib/Makefile.am: moved the config-* files here from the
- ../Makefile.am
-
-2002-02-07 15:33 bagder
-
- * lib/setup.h: use the config files in this directory now, not ../
-
-2002-02-07 15:32 bagder
-
- * config-mac.h, config-riscos.h, config-vms.h, config-win32.h,
- lib/config-mac.h, lib/config-riscos.h, lib/config-vms.h,
- lib/config-win32.h: moved the config-*.h files from root to the
- lib/ dir
-
-2002-02-07 13:52 bagder
-
- * tests/server/sws.c: added note about persistancy in the server
-
-2002-02-07 13:42 bagder
-
- * tests/server/sws.c: POSTs seems to work somewhat now
-
-2002-02-07 13:40 bagder
-
- * tests/server/: Makefile, sws.c: port number fix, now stores the
- processed request sent to the server
-
-2002-02-07 11:43 bagder
-
- * docs/TODO: added Cris Bailiff's CAdir option suggestion
-
-2002-02-07 10:39 bagder
-
- * tests/server/: Makefile, getpart.c, sws.c: the initial C code for
- the new HTTP test server
-
-2002-02-07 10:34 bagder
-
- * CHANGES: changes since 7.9.4
-
-2002-02-07 10:32 bagder
-
- * lib/http.c: don't add 2 to the post size, that was a previous
- mistake because there was an extra CRLF added to the post data
-
-2002-02-06 17:04 bagder
-
- * Makefile.dist: Miklos Nemeth windows update
-
-2002-02-06 17:03 bagder
-
- * src/Makefile.vc6: Miklos Nemeth added comments
-
-2002-02-06 17:01 bagder
-
- * docs/INSTALL: Miklos Nemeth improved the windows section
-
-2002-02-06 17:00 bagder
-
- * lib/Makefile.vc6: Miklos Nemeth improved
-
-2002-02-06 16:48 bagder
-
- * lib/formdata.c: ARGH the CRLF I removed recently was not only
- done after the initial content-type header, it was used for each
- part and thus without this it failed MISERABLY. *smacks forhead*
-
-2002-02-06 10:49 bagder
-
- * docs/curl_easy_setopt.3: a few of the SSL options were added in
- 7.9.3 and it should be noted accordingly
-
-2002-02-06 08:02 bagder
-
- * lib/transfer.c: Brent Beardsley found the content-type bug!
-
-2002-02-05 16:33 bagder
-
- * lib/sendf.c: Kevin Roth's discovered SSL download problem
-
-2002-02-05 12:43 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.4
-
-2002-02-04 10:51 bagder
-
- * CHANGES, docs/libcurl.3, include/curl/curl.h, src/version.h:
- 7.9.4-pre2
-
-2002-02-03 16:00 bagder
-
- * docs/curl.1: Eric Melville fixed spell mistakes on a few places
-
-2002-02-01 12:11 bagder
-
- * lib/: getdate.c, getdate.y: Andreas Damm made getdate use
- gmtime_r if available
-
-2002-01-31 15:41 bagder
-
- * docs/libcurl-the-guide: Added the recycle handles chapter Added
- most of the Customizing Operations chapter
-
-2002-01-31 15:24 bagder
-
- * include/curl/curl.h: struct HttpHeader died ages ago, corrected
- comments
-
-2002-01-31 08:53 bagder
-
- * acinclude.m4: Albert Chin: Forgot one case. On HP-UX 11.00,
- gethostbyname_r() is properly defined if -D_REENTRANT is used.
- Without it, the compiler still accepts the function prototype but
- gives a warning about hostent_data going out of scope. This is
- because struct hostent_data is not declared. So, we force an
- error by trying to set a variable to the struct.
-
-2002-01-31 08:51 bagder
-
- * lib/hostip.c: _num_chars did wrong when called with a number that
- starts with 1!
-
-2002-01-31 08:17 bagder
-
- * docs/curl_easy_getinfo.3: corrected the docs for
- CURLINFO_FILETIME
-
-2002-01-31 08:10 bagder
-
- * docs/curl_easy_getinfo.3: Giaslas Georgios provided docs for
- CURLINFO_CONTENT_TYPE
-
-2002-01-30 22:49 bagder
-
- * lib/sendf.c: Georg Horn the previous SSL_read() fix, this was
- actually the fix I did on my test machine! :-)
-
-2002-01-30 16:35 bagder
-
- * docs/libcurl-the-guide: I have too many ideas of what to mention
- in this docs
-
-2002-01-30 16:11 bagder
-
- * lib/sendf.c: Georg Horn found yet another SSL reading problem
- caused by the non-blocks. This was a real bummer!
-
-2002-01-30 11:18 bagder
-
- * tests/runtests.pl: big-time alert that this doesn't work
-
-2002-01-30 11:07 bagder
-
- * docs/libcurl-the-guide: the interface is simply called the "C"
- one these days
-
-2002-01-30 11:04 bagder
-
- * docs/libcurl-the-guide: extended the proxy chapter mucho
-
-2002-01-30 09:17 bagder
-
- * lib/ssluse.c: now re-seed by force (even if already seeded) if a
- random file or egd socket is given
-
-2002-01-29 21:34 bagder
-
- * lib/url.c: conn->upload_bufsize exists no more
-
-2002-01-29 21:32 bagder
-
- * lib/http.c: append a CRLF pair after the content-type line
-
-2002-01-29 21:30 bagder
-
- * lib/formdata.c: removed three loust fprintf()s removed the
- initial CRLF in the formpost, as they are part of the request and
- should be written by the code in http.c!
-
-2002-01-29 21:28 bagder
-
- * lib/transfer.c: upload progress counter fix, removed the
- adjustable upload buffer size
-
-2002-01-29 21:28 bagder
-
- * lib/urldata.h: no more adjustable upload buffer size, we use
- non-blocking sockets now so this work-around is not needed
- anymore!
-
-2002-01-29 15:12 bagder
-
- * CHANGES: nine items since 7.9.3
-
-2002-01-29 15:11 bagder
-
- * lib/ssluse.c: - T. Bharath pointed out that we seed SSL on every
- connect, which is a time- consuming operation that should only
- be needed to do once. We patched libcurl to now only seed on
- the first connect when unseeded. The seeded status is global so
- it'll now only happen once during a program's life time.
-
-2002-01-29 11:55 bagder
-
- * tests/data/test1: bad tag
-
-2002-01-29 11:49 bagder
-
- * include/curl/curl.h, lib/getinfo.c, lib/transfer.c, lib/url.c,
- lib/urldata.h: Giaslas Georgios introduced CURLINFO_CONTENT_TYPE
-
-2002-01-28 20:31 bagder
-
- * lib/url.c: Steve Marx helped us realize that we shouldn't treat
- customrequest as a request of its own, it just changes the
- keyword of a request.
-
-2002-01-28 20:23 bagder
-
- * lib/hostip.c: someone should have me punished, but this bug made
- curl bug seriously on IPv4-linux machines
-
-2002-01-28 20:22 bagder
-
- * src/main.c: don't count a custom request as a request type of its
- own, it is merely a modifier of another type
-
-2002-01-28 19:39 bagder
-
- * lib/getdate.c: newly generated
-
-2002-01-28 19:39 bagder
-
- * lib/getdate.y: Andreas Damm made it reentrant safe!
-
-2002-01-27 12:51 bagder
-
- * lib/http.c: no longer add CRLF _after_ POST data, it should not
- be needed. Pedro Neves pointed out this ugliness.
-
-2002-01-27 12:49 bagder
-
- * lib/getinfo.c: set header and request size to 0 before each
- *_perform()
-
-2002-01-25 11:07 bagder
-
- * docs/examples/: Makefile.am, postit.c: postit.c is removed, it
- used the deprecated curl_formparse() and may encourage people to
- use bad functions
-
-2002-01-25 09:35 bagder
-
- * lib/transfer.c: bug report #508235 identified a non-working
- Location: following, and this little fix seems to correct it.
- another case where we just returned and didn't shut off the
- reading. This bug is introduced in 7.9.3 due to the new internal
- "order".
-
-2002-01-23 19:10 bagder
-
- * include/curl/curl.h, src/version.h: 7.9.3
-
-2002-01-23 19:01 bagder
-
- * CHANGES: 7.9.3 public
-
-2002-01-23 08:15 bagder
-
- * lib/transfer.c: Andrés García found out that we didn't properly
- stop reading from a connection after the headers on a HEAD
- request. This bug has been added in 7.9.3 and was mnot present
- earlier.
-
-2002-01-22 14:41 bagder
-
- * docs/libcurl-the-guide: more about passwords and started about
- proxies
-
-2002-01-22 14:10 bagder
-
- * docs/TODO: verify big files
-
-2002-01-22 09:22 bagder
-
- * docs/FAQ: minor edit
-
-2002-01-21 15:57 bagder
-
- * docs/curl-config.1: added --cc description and an example
-
-2002-01-21 13:11 bagder
-
- * CHANGES, docs/TODO, include/curl/curl.h, src/version.h: pre4
-
-2002-01-21 11:54 bagder
-
- * docs/libcurl-the-guide: HTTP POST explained
-
-2002-01-19 12:08 bagder
-
- * lib/formdata.c: #505514, as correctly pointed out by Antonio
- (anton@concord.ru), trying to post a non-existing file should
- include nothing, not an error text!
-
-2002-01-18 16:16 bagder
-
- * CHANGES: mingw fix, mac os x fix, long long check removed from
- configure, --enable-debug uses even stricter options now
-
-2002-01-18 16:14 bagder
-
- * lib/getdate.c: newly generated
-
-2002-01-18 16:08 bagder
-
- * docs/libcurl-the-guide: added more text in the 'passwords'
- section
-
-2002-01-18 14:10 bagder
-
- * lib/getdate.y: satisfy gcc -Wundef
-
-2002-01-18 14:04 bagder
-
- * include/curl/curl.h, lib/ftp.c, lib/netrc.c: #if [undefined] =>
- #ifdef [undefined]
-
-2002-01-18 14:00 bagder
-
- * configure.in: playing with more strict gcc warnings with
- --enable-debug
-
-2002-01-18 13:59 bagder
-
- * lib/hostip.c: prevents gcc -Wcast-align from complaining
-
-2002-01-18 13:56 bagder
-
- * lib/ftp.c: made gcc -Wcast-align happy
-
-2002-01-18 13:53 bagder
-
- * lib/mprintf.c: #ifndef and #define magic to prevent compiler
- warnings when doing #if BLA where BLA is undefined
-
-2002-01-18 13:48 bagder
-
- * docs/TODO: updated to 2002 status ;-)
-
-2002-01-18 11:45 bagder
-
- * lib/mprintf.c: cut off a big piece of comment and added a pointer
- to the Trio web page should anyone ever want a good printf()
- clone
-
-2002-01-18 11:43 bagder
-
- * configure.in: commented out the 'long long' and 'long double'
- checks, as we don't really use them anyway and they cause
- warnings in lib/mprint.c
-
-2002-01-18 11:36 bagder
-
- * lib/hash.c: I wish I could type. Anyway, this proved it is a good
- habit to put the NULL on the left side of comparisons...
-
-2002-01-18 11:30 bagder
-
- * lib/: hash.c, llist.c: added typecast for a malloc() return, and
- added check for NULL
-
-2002-01-18 10:25 bagder
-
- * lib/sendf.c: Added #include <errno.h>
-
-2002-01-18 09:03 bagder
-
- * lib/sendf.c: Andrés García patched. It now checks for EWOULDBLOCK
- properly on windows boxes.
-
-2002-01-18 09:03 bagder
-
- * lib/Makefile.m32: patched by Andrés García
-
-2002-01-17 15:34 bagder
-
- * include/curl/curl.h, src/version.h: 7.9.3-pre3
-
-2002-01-17 15:25 bagder
-
- * CHANGES: correct ssl version, fixed ssl writes, solved time-out
- disconnect without text, fixed dns cache problem, made it compile
- with openssl before 0.9.5 again and extended libcurl-the-guide a
- bit more
-
-2002-01-17 15:24 bagder
-
- * docs/libcurl-the-guide: more text added
-
-2002-01-17 14:45 bagder
-
- * docs/examples/simplessl.c: added a comment about this example
- only works with 7.9.3 and newer libs
-
-2002-01-17 11:40 bagder
-
- * lib/ssluse.c: Richard Archer made it compile and build with
- OpenSSL versions prior to 0.9.5
-
-2002-01-17 09:03 bagder
-
- * lib/hostip.c: include our own sprintf() prototype to make it
- return sensible data on all platforms, I also edited a few data
- types slightly to prevent my compiler from warning on
- comparisions between signed and unsigned values
-
-2002-01-17 08:38 bumblebury
-
- * lib/hostip.c: Get this working, still need to check for leaks and
- such, but should be fine..
-
-2002-01-17 07:55 bumblebury
-
- * lib/hostip.c: Make the keys for hostcache entries be in the
- format:: host:port, so accessing curl.haxx.se on port 80 would
- yield a key value of :: curl.haxx.se:80
-
-2002-01-17 01:27 bagder
-
- * docs/libcurl-the-guide: filled-in text in the "Building" chapter
- and added a "libcurl with C++" chapter
-
-2002-01-17 00:28 bagder
-
- * lib/sendf.c: SSL writes passed back a silly length...
-
-2002-01-16 23:26 bagder
-
- * lib/connect.c: fixed time-out returned without error text set
-
-2002-01-16 18:45 bagder
-
- * lib/version.c: Kevin Roth's SSLeay() patch, slight edited by me.
- Works with OpenSSL 0.9.5 now.
-
-2002-01-16 16:12 bagder
-
- * include/curl/curl.h, src/version.h: 7.9.3-pre2
-
-2002-01-16 16:04 bagder
-
- * CHANGES: --cc and working non-blocking sockets uploads
-
-2002-01-16 15:53 bagder
-
- * lib/urldata.h: - shrunk the BUFSIZE define from 50K to 20K - made
- a separate buffer for uploads (due to the non-blocking stuff) -
- added two connectdata struct fields for non-blocking uploads
-
-2002-01-16 15:50 bagder
-
- * lib/transfer.c: modified to deal with the new non-blocking
- versions of Curl_read() and Curl_write().
-
-2002-01-16 15:49 bagder
-
- * lib/sendf.h: Curl_write's 5th argument now is signed
-
-2002-01-16 15:49 bagder
-
- * lib/sendf.c: Curl_read() and Curl_write() are both now adjusted
- to return properly in cases where EWOULDBLOCK or equivalent is
- returned. We must not block.
-
-2002-01-16 15:47 bagder
-
- * lib/telnet.c: Curl_write() now takes a different 5th argument
-
-2002-01-16 15:47 bagder
-
- * lib/http.c: Somewhat ugly fix to deal with non-blocking sockets.
- We just loop and try again. THIS IS NOT A NICE FIX.
-
-2002-01-16 15:46 bagder
-
- * lib/ftp.c: Somewhat ugly fix to deal with non-blocking sockets.
- We just loop and try again. THIS IS NOT A NICE FIX. We
- should/must make a select() then and only retry when we can write
- to the socket again.
-
-2002-01-16 15:20 bagder
-
- * curl-config.in: added support for --cc to output the compiler
- name. This makes it possible to compile libcurl stuff without any
- prior knowledge:
-
- cc=`curl-config --cc` cflags=`curl-config --cflags`
- libs=`curl-config --libs`
-
- $cc $flags $libs -o example example.c
-
- Or if you prefer, the oh-so-cool single-line version:
-
- `curl-config --cc --cflags --libs` -o example example.c
-
-2002-01-16 15:13 bagder
-
- * docs/examples/README: added a somewhat cool single-line command
- that builds most example sources on unix-like systems
-
-2002-01-15 09:22 bagder
-
- * docs/libcurl-the-guide: initial attempt to write a tutorial-like
- libcurl guide
-
-2002-01-15 00:32 bagder
-
- * CHANGES: fixed non-blocking reads, fixed ssl sessions, in_addr_t
- and more non-blocking
-
-2002-01-15 00:14 bagder
-
- * lib/: ftp.c, http.c, sendf.c, sendf.h, telnet.c, transfer.c:
- Curl_read() now returns a negative return code if EWOULDBLOCK or
- similar
-
-2002-01-15 00:14 bagder
-
- * lib/hostip.c: a memory leak when name lookup failed is now
- removed
-
-2002-01-14 08:53 bagder
-
- * acinclude.m4: Stoned Elipot's patch for the in_addr_t test
-
-2002-01-14 06:36 bumblebury
-
- * lib/hash.h: Remove erreaneous include, setup.h is included one
- line above
-
-2002-01-13 12:32 bagder
-
- * docs/examples/simplessl.c: Götz Babin-Ebell updated with some new
- 7.9.3 features
-
-2002-01-13 12:32 bagder
-
- * docs/curl_easy_setopt.3: Götz Babin-Ebell provided some
- documantation for the ENGINE stuff
-
-2002-01-10 10:00 bagder
-
- * docs/examples/: Makefile.am, http-post.c: added http-post.c
-
-2002-01-10 08:38 bagder
-
- * docs/BUGS: slightly extended to mention that -v and -i are good
- options to use when reporting bugs
-
-2002-01-09 14:23 bagder
-
- * docs/examples/simple.c: bad comment begone
-
-2002-01-09 14:22 bagder
-
- * docs/examples/simple.c: cut off argc and argv as well
-
-2002-01-09 14:22 bagder
-
- * docs/examples/simple.c: Cleaned up this example to make it even
- simpler.
-
-2002-01-09 10:38 bagder
-
- * lib/ssluse.c: Cris Bailiff found out that when the SSL session
- cache was filled, libcurl would crash. This corrects the problem.
-
-2002-01-09 00:27 bagder
-
- * docs/INSTALL: David Bentham's updated QNX notification
-
-2002-01-09 00:23 bagder
-
- * lib/ssluse.c: added a missing failf() before returning an error
- code
-
-2002-01-09 00:19 bagder
-
- * lib/sendf.c: this seems to correct the SSL reading problem
- introduced when switching over to non-blocking sockets, but this
- loops very nastily. We should return back to the select() and
- wait there until more data arrives, not just blindly attempt
- again and again...
-
-2002-01-08 14:05 bagder
-
- * docs/examples/ftpget.c: I made the write callback create the file
- the first time it gets called so that it won't create an empty
- file if the remote file doesn't exist
-
-2002-01-08 10:32 bagder
-
- * tests/runtests.pl: test case 38 added a few new requirements
-
-2002-01-08 10:32 bagder
-
- * tests/FILEFORMAT: updated
-
-2002-01-08 10:32 bagder
-
- * tests/getpart.pm: added some tracability
-
-2002-01-08 10:31 bagder
-
- * tests/data/: Makefile.am, test38: test case 38, try a HTTP
- download resume without the server supporting ranges
-
-2002-01-08 09:26 bagder
-
- * docs/examples/Makefile.am: another example source added
-
-2002-01-08 09:25 bagder
-
- * docs/examples/ftpgetresp.c, include/curl/curl.h, src/version.h:
- 7.9.3 pre-release commit
-
-2002-01-08 08:22 bagder
-
- * CHANGES: non-blocking sockets, DNS caching updated, cookies
- corrected, bool is now unsigned everywhere
-
-2002-01-08 08:06 bagder
-
- * lib/hostip.c: added two typecasts to prevent compiler (gcc3)
- warnings
-
-2002-01-08 05:30 bumblebury
-
- * lib/: hostip.c, urldata.h: 1) the dns_cache_timeout should be an
- integer, not a bool 2) in the curl_dns_cache_entry structure,
- timestamp should be a time_t instead of an integer (although I
- doubt it matters).
-
-2002-01-08 05:26 bumblebury
-
- * include/curl/curl.h, lib/hostip.c, lib/url.c, lib/urldata.h: Add
- support for DNS cache timeouts via the CURLOPT_DNS_CACHE_TIMEOUT
- option.
-
- The default cache timeout for this is 60 seconds, which is
- arbitrary and completely subject to change :)
-
-2002-01-08 00:05 bagder
-
- * lib/cookie.c: As identified in bug report #495290, the last
- "name=value" pair in a Set-Cookie: line was ignored if they
- didn't end with a trailing semicolon. This is indeed wrong
- syntax, but there are high-profile web sites out there sending
- cookies like that so we must make a best-effort to parse them.
-
-2002-01-07 23:47 bagder
-
- * lib/setup.h: the bool typedef is now made unsigned, to make sure
- it stays that on all platforms, unrelated to what they might
- prefer by default
-
-2002-01-07 23:46 bagder
-
- * lib/transfer.c: removed silly check for >=0 of a supposedly
- unsigned value!
-
-2002-01-07 21:55 bumblebury
-
- * lib/hostip.c: Probably not necessary, but good practice.
-
-2002-01-07 21:52 bumblebury
-
- * include/curl/curl.h, lib/easy.c, lib/hash.c, lib/hash.h,
- lib/hostip.c, lib/hostip.h, lib/multi.c, lib/url.c,
- lib/urldata.h: Make cach'ing work with threads now, there are now
- three cases:
-
- - Use a global dns cache (via setting the tentatively named,
- CURLOPT_DNS_USE_GLOBAL_CACHE option to true)
- - Use a per-handle dns cache, by default
- - Use a pooled dns cache when in the "multi" interface
-
-2002-01-07 19:38 bagder
-
- * lib/: connect.c, ssluse.c: Modified to use non-blocking sockets
- all the time.
-
-2002-01-07 17:03 bagder
-
- * CHANGES: VC++ makefile, HTTP 204, cookie fix, non-blocking socket
- for better SSL connection timeout
-
-2002-01-07 16:24 bagder
-
- * lib/transfer.c: added proper breaks in the switch()
-
-2002-01-07 16:14 bagder
-
- * docs/INSTALL: Added David Bentham's notes about QNX and
- FD_SETSIZE
-
-2002-01-07 15:57 bagder
-
- * lib/transfer.c: HTTP response 204 should be treated similar to
- 304, that is we must not expect (nor read) any response-body
-
-2002-01-07 15:56 bagder
-
- * lib/cookie.c: added precautions to not go insane when two
- matching cookies end up in the cookie list, even though they're
- not supposed to do that...
-
-2002-01-05 00:48 subman
-
- * lib/curllib.dsp: Add hash and llist to VC dsp file
-
-2002-01-05 00:47 subman
-
- * lib/Makefile.vc6: Add hash and llist to VC makefile
-
-2002-01-04 14:20 bagder
-
- * tests/runtests.pl: -l lists all tests
-
-2002-01-04 14:15 bagder
-
- * docs/MANUAL: The former -c is "-C -" these days
-
-2002-01-04 10:57 bagder
-
- * CHANGES: dns cache, ftp response read, 64bit fixes, printf
- replaces, inet_ntoa_r corrections
-
-2002-01-04 10:53 bagder
-
- * lib/telnet.c: replaced printf() => Curl_sendf()
-
-2002-01-04 10:53 bagder
-
- * lib/getenv.c: removed a commented line
-
-2002-01-04 10:52 bagder
-
- * lib/krb4.c: fixed an inet_ntoa() occurance to use inet_ntoa_r()
- if it is available. I also replaced all printf() calls with
- calls to Curl_failf()
-
-2002-01-04 10:38 bagder
-
- * lib/url.c: an unconditional occurance of inet_ntoa() now uses
- inet_ntoa_r() on all platforms that have such a function. This
- affects multi-thread running libcurls on IPv4 systems that have
- VERBOSE switched on. The previous version was risking that
- another thread overwrote the data before it was read out in this
- thread. There could possibly also be a slight risk that the data
- isn't zero terminated for a short while and thus could cause the
- thread to crash...
-
-2002-01-04 10:35 bagder
-
- * lib/ftp.c: #include the local "inet_ntoa_r.h" file if no proto
- was found in the global header directory but the function *is*
- present!
-
-2002-01-04 10:17 bagder
-
- * lib/ftp.c: The buffer in ftp_pasv_verbose(), used for
- gethostbyaddr_r(), is now defined to become properly 8-byte
- aligned on 64-bit archs. Philip Gladstone reported.
-
-2002-01-04 10:03 bagder
-
- * lib/ftp.c: The FTP response lines are now passed to the function
- callback registered for headers.
-
-2002-01-03 16:03 bagder
-
- * Makefile.am, configure.in: multi stuff from the multi-dev branch
-
-2002-01-03 16:01 bagder
-
- * lib/: Makefile.am, multi.c, multi.h, transfer.c, transfer.h,
- url.c, url.h, urldata.h: merged the multi-dev branch back into
- MAIN again
-
-2002-01-03 11:22 bagder
-
- * lib/: Makefile.am, connect.c, easy.c, ftp.c, hash.c, hash.h,
- hostip.c, hostip.h, llist.c, llist.h, url.c: Sterling Hughes'
- provided initial DNS cache source code.
-
-2002-01-03 10:43 bagder
-
- * CHANGES, docs/curl.1, lib/urldata.h: minor changes
-
-2002-01-03 10:12 bagder
-
- * CVS-INFO: added required software and Guido Neitzer's Mac OS X
- build instructions
-
-2002-01-03 09:22 bagder
-
- * tests/runtests.pl: added a little percentage for "ok coverage"
-
-2002-01-03 09:07 bagder
-
- * src/main.c: Changed how -I/--head works when --include is also
- used... Test case 104 stopped working after the dec-20 fixes that
- now supports FTP operations to skip the transfer phase.
-
-2002-01-03 08:23 bagder
-
- * CHANGES: Philip Gladstone's fixes
-
-2002-01-03 01:51 bagder
-
- * lib/ftp.c: pass an 'int' as the third argument to bind()
-
-2002-01-03 00:22 bagder
-
- * lib/transfer.c: don't fail on partly downloaded content if we
- follow a "new URL" due to the follow-location logic
-
-2002-01-02 18:42 bagder
-
- * lib/urldata.h: incorporated the 1.93 => 1.94 change into this
- branch too
-
-2002-01-02 11:06 bagder
-
- * lib/: connect.c, ftp.c, hostip.c: Philip Gladstone's 64-bit sparc
- native compiler compatibility issues fixed.
-
-2001-12-21 10:55 bagder
-
- * CHANGES.0: the changes from 1999 is now in CHANGES.1999
-
-2001-12-21 10:54 bagder
-
- * CHANGES.1999: moved the changes from 1999 into its own file
-
-2001-12-21 10:20 bagder
-
- * docs/FAQ: rewrote 3.9 to be more generic with more languages:
- "3.9 How do I use curl in my favourite programming language?"
-
-2001-12-21 09:10 bagder
-
- * docs/FAQ: spell
-
-2001-12-21 09:02 bagder
-
- * CHANGES: recent fixes
-
-2001-12-20 16:58 bagder
-
- * lib/url.c: *cool* fix by Björn Stenberg, makes proxy transfers
- work better...! :-)
-
-2001-12-20 12:22 bagder
-
- * lib/: ftp.c, urldata.h: If nobody is set we won't download any
- FTP file. If include_header is set, we return a set of headers
- not more. This enables FTP operations that don't transfer any
- data, only perform FTP commands.
-
-2001-12-20 00:25 bagder
-
- * docs/FAQ: Added 4.5.6 "301 Moved Permanently", as a reply to bug
- report #495215
-
-2001-12-18 15:52 bagder
-
- * lib/: multi.c, multi.h: edits
-
-2001-12-18 15:43 bagder
-
- * lib/: multi.c, transfer.c, transfer.h, urldata.h: More tweaks.
- Yay! We managed to actually download data with the new interace
- now! Still a long way to go...
-
-2001-12-18 11:13 bagder
-
- * docs/examples/: Makefile.am, simplessl.c: Götz Babin-Ebell's
- contributed "simplessl.c" example source code
-
-2001-12-18 02:00 bagder
-
- * buildconf: run automake last
-
-2001-12-18 00:43 bagder
-
- * Makefile.am, configure.in, lib/multi.c, lib/transfer.c,
- lib/transfer.h, lib/urldata.h: things are moving
-
-2001-12-18 00:10 bagder
-
- * lib/transfer.c: Major hack in Transfer(). I moved *ALL* local
- local variables (with only a few exceptions) into a struct
- instead, as that'll make it easier to store state between
- invokes. Parts of this function will be moved out into functions
- that are supposed to support getting invoked multiple times
- instead of dealing with it all in one huge loop like today...
-
-2001-12-18 00:01 bagder
-
- * CHANGES, configure.in, docs/THANKS, include/curl/curl.h,
- lib/memdebug.h, lib/setup.h, lib/ssluse.c, lib/url.c,
- lib/urldata.h, src/main.c, src/setup.h: Götz Babin-Ebell's
- OpenSSL ENGINE patch
-
-2001-12-17 11:32 bagder
-
- * docs/TODO: strip trailing CRs
-
-2001-12-17 10:33 bagder
-
- * docs/curl_formparse.3: cut off the description to prevent people
- from using this!
-
-2001-12-16 13:54 bagder
-
- * docs/curl_formadd.3: Marcus Webster's added
- CURLFORM_CONTENTHEADER docs
-
-2001-12-14 13:59 bagder
-
- * CHANGES, docs/THANKS, include/curl/curl.h, lib/formdata.c,
- lib/formdata.h: Marcus Webster's newly added
- CURLFORM_CONTENTHEADER
-
-2001-12-13 13:59 bagder
-
- * lib/: transfer.c, transfer.h, url.c, url.h, urldata.h: moved
- around functions, split some functions to be better fitted for
- the multi interface
-
-2001-12-13 13:58 bagder
-
- * lib/: multi.c, multi.h: one step further
-
-2001-12-13 13:58 bagder
-
- * lib/Makefile.am: added the multi.[ch] files
-
-2001-12-13 13:55 bagder
-
- * lib/multi-app.c: moved this to ../multi/app.c
-
-2001-12-13 08:34 bagder
-
- * lib/multi-app.c: This file is added here for documentational
- purposes only. It shows how an application could use the
- multi-interface.
-
- This file is targeted for removal later. It should become an
- example source code in the docs directory instead!
-
-2001-12-13 08:16 bagder
-
- * lib/: multi.c, multi.h: minor changes
-
-2001-12-11 16:08 bagder
-
- * lib/sendf.c: solaris 2.5.1 needs the sys/types.h file before the
- sys/socket.h
-
-2001-12-11 14:13 bagder
-
- * lib/: connect.c, dict.c, ftp.c, http.c, krb4.c, security.c,
- sendf.c, ssluse.c: failf() calls should not have newlines in the
- message string!
-
-2001-12-11 01:48 bagder
-
- * src/main.c: when the file name given to -T is used to build an
- upload path, the local directory part is now stripped off and
- only the actual file name part will be used
-
-2001-12-10 12:59 bagder
-
- * docs/curl.1: HTTP_PROXY => http_proxy as Björn pointed out
-
-2001-12-10 08:46 bagder
-
- * docs/curl_easy_setopt.3: corrected the READFUNCTION docs slightly
-
-2001-12-07 16:56 bagder
-
- * lib/http.c: corrected the comment above gmtime_r
-
-2001-12-07 16:51 bagder
-
- * configure.in, lib/http.c: added gmtime_r check
-
-2001-12-07 10:24 crisb
-
- * perl/README: Updated location information for Curl_easy
-
-2001-12-06 15:40 bagder
-
- * docs/TODO: Jason Mancini's -Oalways suggestion
-
-2001-12-06 13:48 bagder
-
- * docs/INSTALL: let us know if curl compiles on more platforms
-
-2001-12-06 08:11 bagder
-
- * docs/INSTALL: curl compiles on HURD
-
-2001-12-05 09:36 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.2 commit
-
-2001-12-05 07:47 bagder
-
- * lib/url.c: Jon Travis suggested fix. when CURLOPT_HTTPGET is used
- we must assign set.upload to FALSE or else we might still get an
- upload if the previous operation was an upload!
-
-2001-12-04 17:33 bagder
-
- * src/macos/curl.mcp.xml.sit.hqx: Eric-update
-
-2001-12-04 14:03 bagder
-
- * src/macos/curl.mcp.xml.sit.hqx: Eric's updated version
-
-2001-12-04 14:03 bagder
-
- * lib/: connect.c, getpass.c, hostip.c, sendf.c: Eric's #include
- fixes for better macos compiles
-
-2001-12-04 10:16 bagder
-
- * CHANGES: Eric brought some files for macos compiles
-
-2001-12-04 10:14 bagder
-
- * lib/transfer.c: i'm soooo funny
-
-2001-12-04 09:48 bagder
-
- * src/Makefile.am: added macos files to the distribution archive
-
-2001-12-04 08:47 bagder
-
- * lib/multi.c: more comments
-
-2001-12-04 07:56 bagder
-
- * src/macos/: MACINSTALL.TXT, curl.mcp.xml.sit.hqx,
- src/curl_GUSIConfig.cpp, src/macos_main.cpp: MacOS (not Mac OS X)
- compilation files
-
-2001-12-04 07:52 bagder
-
- * config-mac.h, src/config-mac.h: Eric's update
-
-2001-12-03 14:56 bagder
-
- * CHANGES: the happy events so far today
-
-2001-12-03 14:48 bagder
-
- * lib/: ftp.c, urldata.h: As Eric Lavigne pointed out, the ftp
- response reader MUST cache data that is not dealt with when we
- find an end-of-response line, as there might be important stuff
- even after the correct line. So on subsequent invokes, the cached
- data must be used!
-
-2001-12-03 14:46 bagder
-
- * tests/: ftpserver.pl, data/Makefile.am, data/test126: test case
- 126 added, this uses RETRWEIRDO that makes the FTP server send
- two responses at once, to excerise the part of curl to make sure
- it can cache (parts of) responses properly.
-
-2001-12-03 13:57 bagder
-
- * lib/strequal.c: Eric nailed a but in strnequal() for macintosh
-
-2001-12-03 11:38 bagder
-
- * docs/TODO: the final ftp ipv6 support has been added!
-
-2001-12-03 11:07 bagder
-
- * docs/: FEATURES, INSTALL, README.win32: updates
-
-2001-12-03 11:00 bagder
-
- * LEGAL: updated the copyright year range
-
-2001-12-03 10:59 bagder
-
- * README: cool.haxx.se now only allows http downloads
-
-2001-12-03 10:44 bagder
-
- * docs/BUGS: modified the stack trace section slightly
-
-2001-12-03 09:22 bagder
-
- * CHANGES: pre7 and pre8 details
-
-2001-12-03 08:43 bagder
-
- * tests/data/Makefile.am: test127~ should not be included!
-
-2001-12-02 15:16 bagder
-
- * lib/: url.c, urldata.h: more careful re-use of connections when
- SSL is used over proxies
-
-2001-12-02 13:09 bagder
-
- * lib/Makefile.vc6: SM renamed the debug DLL
-
-2001-12-02 13:07 bagder
-
- * config-win32.h: added a in_addr_t #define
-
-2001-11-30 14:40 bagder
-
- * docs/curl_easy_setopt.3: documented CURLOPT_HTTP_VERSION and
- CURLOPT_FTP_USE_EPSV
-
-2001-11-30 14:30 bagder
-
- * docs/curl.1: added --disable-epsv
-
-2001-11-30 10:29 bagder
-
- * src/config-mac.h: no include, no const in strdup
-
-2001-11-30 10:26 bagder
-
- * src/main.c: fixed the option parser to not loop when a long
- option is specified
-
-2001-11-29 21:15 bagder
-
- * tests/runtests.pl: remove the command file after each test
-
-2001-11-29 21:15 bagder
-
- * tests/data/: Makefile.am, test126, test190: test126 renamed to
- test190 as it has to be last among the FTP tests because of some
- problems in the test server :-/
-
-2001-11-29 20:58 bagder
-
- * tests/data/: Makefile.am, test127: test 127 --disable-epsv
-
-2001-11-29 20:42 bagder
-
- * CHANGES, src/main.c: --disable-epsv
-
-2001-11-29 13:50 bagder
-
- * CHANGES: fixes for tru64, fixes for mac
-
-2001-11-29 13:49 bagder
-
- * include/curl/curl.h, lib/url.c: disabling EPSV is now possible
-
-2001-11-29 13:48 bagder
-
- * lib/telnet.c: stdin is file descriptor 0
-
-2001-11-29 13:47 bagder
-
- * src/: setup.h, urlglob.c: mac fixes
-
-2001-11-29 13:42 bagder
-
- * Makefile.am, src/Makefile.am: added mac stuff
-
-2001-11-29 13:40 bagder
-
- * config-mac.h, src/config-mac.h: updated mac specific include
- files
-
-2001-11-29 13:33 bagder
-
- * config-mac.h: unix newlines
-
-2001-11-29 13:32 bagder
-
- * config-mac.h: wrongly set binary
-
-2001-11-29 00:29 bagder
-
- * CHANGES: mucho stuff since pre6!
-
-2001-11-29 00:21 bagder
-
- * include/curl/curl.h: added CURLOPT_FTP_USE_EPSV
-
-2001-11-29 00:21 bagder
-
- * acconfig.h: in_addr_t added
-
-2001-11-29 00:20 bagder
-
- * lib/: ftp.c, url.c, urldata.h: CURLOPT_FTP_USE_EPSV can now be
- set to FALSE to prevent libcurl from attempting to use EPSV
- before the standard PASV.
-
-2001-11-29 00:19 bagder
-
- * lib/memdebug.c: fill memory with junk on malloc()
-
-2001-11-29 00:14 bagder
-
- * acinclude.m4: now sets a type for in_addr_t even if it isn't
- found in the #include files like on my linux box
-
-2001-11-28 17:00 bagder
-
- * lib/: multi.c, multi.h: more more more MORE
-
-2001-11-28 16:46 bagder
-
- * lib/multi.c: the perform "state machine" is more explained now
-
-2001-11-28 16:25 bagder
-
- * lib/: multi.c, multi.h: mods
-
-2001-11-28 14:45 bagder
-
- * tests/data/: test103, test105, test106, test107, test109,
- test110, test111, test112, test115, test117, test118, test119,
- test120, test121, test122, test123, test124, test400: adjusted to
- new FTP commands in the command sequence
-
-2001-11-28 14:16 bagder
-
- * acinclude.m4, configure.in: Added an in_addr_t check
-
-2001-11-28 14:07 bagder
-
- * tests/: ftpserver.pl, data/test100, data/test102: EPSV and SIZE
- adjustments
-
-2001-11-28 14:05 bagder
-
- * lib/ftp.c: Added EPSV which is now unconditionally always tried
- before PASV, which makes it work reaaaaly nicely on IPv6-enabled
- hosts! Added SIZE before RETR is made, always done on downloads.
- It makes us know the size prior to download much more frequently.
- Unfortunately, this breaks all the FTP test cases. *fixfixfix*
-
-2001-11-28 13:16 bagder
-
- * lib/ftp.c: use in_addr_t for inet_addr() return code. Now, now
- portable is this *REALLY*? We should add some configure tests for
- this!
-
-2001-11-28 12:09 bagder
-
- * lib/: multi.c, multi.h: used in the new multi interface, not yet
- actually part of libcurl but added to CVS to make them available
- to others
-
-2001-11-27 14:37 bagder
-
- * docs/FAQ: support para makes more sense now
-
-2001-11-27 14:34 bagder
-
- * docs/FAQ: language
-
-2001-11-27 14:33 bagder
-
- * docs/FAQ: the list of contributors are in the THANKS file these
- days
-
-2001-11-27 08:27 bagder
-
- * lib/: Makefile.am, mprintf.c, setup.h, strequal.c, urldata.h:
- Eric Lavigne updates
-
-2001-11-27 08:27 bagder
-
- * config-mac.h: for building on Mac before OS X
-
-2001-11-27 07:53 bagder
-
- * docs/: Makefile.am, index.html: greep at mindspring.com provided
- an index.html file that links to all the existing HTML documents.
- It makes it easier to browse all the docs with your browser.
-
-2001-11-27 01:53 bagder
-
- * CHANGES: EPSV details
-
-2001-11-27 01:50 bagder
-
- * lib/ftp.c: commented out the EPSV support
-
-2001-11-27 01:48 bagder
-
- * lib/ftp.c: initial code added to support EPSV (IPv6-style PASV)
-
-2001-11-27 01:47 bagder
-
- * CHANGES: recent changes
-
-2001-11-26 10:57 bagder
-
- * docs/curl.1: made the -C more correct and detailed
-
-2001-11-23 10:04 bagder
-
- * lib/connect.c: Andrés García's minor fix to make it compile on
- win32
-
-2001-11-22 15:16 bagder
-
- * CHANGES: recent fixes
-
-2001-11-22 14:57 bagder
-
- * lib/connect.c: this fix seems to make the connect fail properly
- even on IPv4-only Linux machines!
-
-2001-11-22 14:03 bagder
-
- * docs/INSTALL: updated the list of machines
-
-2001-11-22 10:40 bagder
-
- * lib/ftp.c: Eric fixed a wild write
-
-2001-11-22 10:39 bagder
-
- * lib/arpa_telnet.h: Eric found a missing comma!!
-
-2001-11-22 01:12 subman
-
- * lib/Makefile.vc6: Fixed release-ssl build
-
-2001-11-22 01:06 subman
-
- * config-win32.h: Undefine long_long - not supported by VC
-
-2001-11-22 00:11 bagder
-
- * docs/INSTALL: SM corrected wsock32 to ws2_32
-
-2001-11-22 00:10 bagder
-
- * lib/Makefile.vc6: SM added connect.obj
-
-2001-11-22 00:01 bagder
-
- * src/main.c: init the errorbuf to prevent junk from being output
-
-2001-11-21 23:59 bagder
-
- * Makefile.dist: SM's vc target updates
-
-2001-11-21 23:57 bagder
-
- * lib/connect.c: added error text for a failed connect case
-
-2001-11-21 09:10 bagder
-
- * packages/Win32/cygwin/: Makefile.am, README: another Kevin Roth
- update
-
-2001-11-20 16:00 bagder
-
- * docs/curl.1, docs/curl_easy_getinfo.3, include/curl/curl.h,
- lib/getinfo.c, lib/progress.c, lib/progress.h, lib/transfer.c,
- lib/urldata.h, src/writeout.c: Georg Horn's STARTTRANSFER_TIME
- patch
-
-2001-11-20 09:03 bagder
-
- * docs/FAQ: -p, not -P, for proxy tunneling
-
-2001-11-19 21:09 bagder
-
- * lib/Makefile.b32: use the ws2_32.lib now (Miklos Nemeth reporteD)
-
-2001-11-19 21:08 bagder
-
- * lib/connect.h: long port => int port, as the c source uses!
- (Miklos Nemeth found this)
-
-2001-11-19 21:06 bagder
-
- * lib/Makefile.b32.resp: Miklos Nemeth pointed out the missing
- connect.obj
-
-2001-11-19 20:56 bagder
-
- * CHANGES: recent fixes
-
-2001-11-19 20:21 bagder
-
- * src/main.c: Lars M Gustafsson showed us that the free(urlbuffer)
- was totally unnecessary and plain wrong.
-
-2001-11-19 10:42 bagder
-
- * packages/Win32/cygwin/: Makefile.am, README: Kevin Roth's fixes
-
-2001-11-16 12:21 bagder
-
- * lib/http.c: Klevtsov Vadim's time condition fix
-
-2001-11-15 15:16 bumblebury
-
- * lib/ftp.c: looks better on one line (testing the cvs diffing via
- mail, but I also think this looks a bit better ;)
-
-2001-11-14 21:13 bagder
-
- * docs/FAQ: spell, slightly modified "what you can do" crap
-
-2001-11-14 14:43 bagder
-
- * docs/THANKS: added Richard Prescott's email
-
-2001-11-14 10:32 bagder
-
- * docs/TODO: added Richard Levitte's suggestion to support multiple
- -T options
-
-2001-11-14 08:11 bagder
-
- * lib/ssluse.c: Samuel Listopad's fix to allow global_init =>
- global_cleanup => global_init for ssl
-
-2001-11-13 13:46 bagder
-
- * lib/ftp.c: corrected the ftp_getsize() usage, as the HPUX
- compiler warned on them
-
-2001-11-13 13:09 bagder
-
- * lib/ftp.c: uninitialized variable
-
-2001-11-13 10:56 bagder
-
- * docs/TODO: interface to export/import SSL session IDs
-
-2001-11-13 10:07 bagder
-
- * CHANGES: more more more
-
-2001-11-13 10:06 bagder
-
- * docs/TODO: 2 removed, 1 added
-
-2001-11-13 10:05 bagder
-
- * docs/curl_easy_setopt.3: disable QUOTEs with NULL
-
-2001-11-13 09:34 bagder
-
- * lib/http.c: my proxytunnel fix accidentally ruined the normal
- https connects
-
-2001-11-13 08:20 bagder
-
- * docs/curl_global_init.3: point out that calling this function
- more than once is a sever error
-
-2001-11-12 23:27 bagder
-
- * lib/ftp.c: make sure to "read out" the server reply even if we
- didn't get any data from the server when that's the only error
-
-2001-11-12 23:10 bagder
-
- * lib/timeval.c: made Curl_tvdiff round the diff better and make
- the subtraction before the multiply to not wrap-around
-
-2001-11-12 15:15 bagder
-
- * CHANGES: post-weekend fixes
-
-2001-11-12 15:08 bagder
-
- * lib/: http.c, mprintf.c, url.c: made CURLOPT_HTTPPROXYTUNNEL work
- for plain HTTP as well
-
-2001-11-12 11:19 bagder
-
- * lib/: getenv.c, mprintf.c: include setup.h
-
-2001-11-12 10:47 bagder
-
- * lib/http.c: new Curl_ConnectHTTPProxyTunnel() function, needs a
- **lot** of testing!!!
-
-2001-11-12 09:50 bagder
-
- * lib/progress.c: We need at least one millisecond to calculate
- current speed with! I also made the getinfo() stuff divide with
- 1000.0 now to enforce floating point since Paul Harrington claims
- the 7.9.1 still uses even second resolution in the timers there
-
-2001-11-08 16:06 bagder
-
- * lib/formdata.c: Marcus Webster reported and fixed this
- read-one-byte-too-many problem...
-
-2001-11-08 15:48 bagder
-
- * acinclude.m4: now we make sure that NULL is defined in the
- gethostbyname_r() compiles as it turned out they aren't
- everywhere, and that causes compiles to fail and then we don't
- find the proper function call!
-
-2001-11-08 13:36 bagder
-
- * docs/curl.1: Added two missing return codes...
-
-2001-11-08 13:16 bagder
-
- * CHANGES: the proof I did something yesterday as well
-
-2001-11-07 15:13 bagder
-
- * lib/: transfer.c, url.c: we use signal() to ignore signals only
- as long as we have to, and we now restore the previous (if any)
- signal handler properly on return.
-
-2001-11-07 13:56 bagder
-
- * lib/url.c: get the previous struct keep_sigact
-
-2001-11-07 10:39 bagder
-
- * lib/ldap.c: adjusted after Ramana Mokkapati's comments
-
-2001-11-07 10:37 bagder
-
- * CHANGES: moo
-
-2001-11-07 09:26 bagder
-
- * docs/: Makefile.am, VERSIONS: Added VERSIONS that explains about
- the (lib)curl version numbers
-
-2001-11-06 20:37 bagder
-
- * CHANGES: bug report #478780 fixed, cygwin stripped on install,
- some more details on the changes of yesterday
-
-2001-11-06 20:33 bagder
-
- * lib/: setup.h, transfer.c, url.c: myalarm() is history, we now
- use HAVE_ALARM and we now do our very best to 1 - restore the
- previous sigaction struct as soon as we are about to shut off our
- timeout 2 - restore the previous alarm() timeout, in case an
- application or similar had it running before we "borrowed" it for
- a while.
-
- No, this does not fix the multi-thread problem you get with
- alarm(). This patch should correct bug report #478780:
- //sourceforge.net/tracker/?func=detail&atid=100976&aid=478780&group_id=976
-
- If not, please post details!
-
-2001-11-06 09:44 bagder
-
- * packages/Win32/cygwin/Makefile.am: Kevin's patch to install the
- binary stripped
-
-2001-11-05 15:11 bagder
-
- * CHANGES: Ramana Mokkapati's, John Lask's and Detlef Schmier's
- reports/changes
-
-2001-11-05 15:08 bagder
-
- * src/main.c: John Lask's fix that adds "-1/--TLSv1" support
-
-2001-11-05 15:07 bagder
-
- * include/curl/curl.h: Added an CURL_SSLVERSION_* enum for SSL
- protocol versions
-
-2001-11-05 15:06 bagder
-
- * lib/ssluse.c: we can now tell ssl to use TLSv1 protocol, and we
- now use defines instead of real integers for versions, the
- defines are added to curl.h
-
-2001-11-05 15:04 bagder
-
- * lib/ldap.c: Ramana Mokkapati did some good bug hunting, and we
- these fixes ldap transfers should work a lot better!
-
-2001-11-05 13:37 bagder
-
- * lib/timeval.h: corrected the Curl_tvnow prototype
- (-Wstrict-prototypes found it)
-
-2001-11-05 13:24 bagder
-
- * lib/ftp.h: Curl_ftpsendf() had wrong return type
-
-2001-11-05 12:57 bagder
-
- * docs/THANKS: added john lask
-
-2001-11-05 12:56 bagder
-
- * lib/Makefile.vc6: John Lask's new makefile
-
-2001-11-04 12:35 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.9.1 cleanup commit
-
-2001-11-04 12:21 bagder
-
- * tests/data/: Makefile.am, test30: added test 30, it checks that
- we return error on no content returned from a HTTP server
-
-2001-11-03 00:09 bagder
-
- * tests/: FILEFORMAT, ftpserver.pl, httpserver.pl: improved
- functionality for new timeout tests
-
-2001-11-03 00:09 bagder
-
- * tests/data/: Makefile.am, test126, test29, test303, test401,
- test402: new tests
-
-2001-11-02 23:30 bagder
-
- * lib/: sendf.c, transfer.c, urldata.h: failf() now only overwrites
- the error buffer the first time it gets called for each
- *_perform(). It makes things a lot easier, as the first one that
- detects the error get to write the final error reason...
-
-2001-11-02 15:23 bagder
-
- * CHANGES: Replaced read() and write() with recv() and send()
-
-2001-11-02 14:16 bagder
-
- * docs/INTERNALS: more accurate
-
-2001-11-02 14:04 bagder
-
- * lib/setup.h: Replaced read() and write() with recv() and send()
- for socket operations even under normal unixes.
-
-2001-11-02 13:51 bagder
-
- * docs/TODO: re-ordered, cleaned up
-
-2001-11-02 09:32 bagder
-
- * lib/Makefile.b32: Added connect.c. I really need someone to
- better maintain this makefile...
-
-2001-11-02 09:32 bagder
-
- * lib/Makefile.m32: Jörn added connect.c
-
-2001-11-01 16:26 bagder
-
- * CHANGES: another day another commit
-
-2001-11-01 15:51 bagder
-
- * docs/FAQ: libcurl can init winsock since 7.8.1
-
-2001-11-01 14:54 bagder
-
- * lib/url.c: ConnectionExists() now returns FALSE immediately if it
- finds a connection that is dead, because it can only find one
- entry anyway and if that is dead there won't be any other entry
- that matches
-
-2001-11-01 13:47 bagder
-
- * lib/ftp.c: added comments and function headers
-
-2001-11-01 13:18 bagder
-
- * lib/transfer.c: Update the byte counters in the loop so that
- aborted transfers have the information as well. Improves debug
- outputs etc.
-
-2001-11-01 13:17 bagder
-
- * lib/ftp.c: Use Curl_tvdiff to compare times
-
-2001-11-01 10:12 bagder
-
- * docs/FAQ: less I, more we
-
-2001-11-01 08:27 bagder
-
- * packages/Win32/cygwin/Makefile.am: minor mods to make solaris
- plain 'make' to not die on this
-
-2001-10-31 21:59 bagder
-
- * lib/ftp.c: fixed FTPSENDF for ipv6 compiles
-
-2001-10-31 21:54 bagder
-
- * CHANGES: a bunch
-
-2001-10-31 16:14 bagder
-
- * lib/url.c: Removed the SocketIsDead() stuff for SSL again as it
- doesn't work. We must rely on the new go-ahead-and-try mechanism
- that I just added to Transfer()
-
-2001-10-31 16:13 bagder
-
- * lib/transfer.c: If Curl_do() fails with CURLE_WRITE_ERROR on a
- re-used connection, this new logic can retry the same operation
- on a new connection!
-
-2001-10-31 16:08 bagder
-
- * lib/sendf.h: Curl_sendf now returns a CURLcode
-
-2001-10-31 16:07 bagder
-
- * lib/sendf.c: return type cleanup
-
-2001-10-31 16:06 bagder
-
- * lib/: krb4.c, security.c: check Curl_ftpsendf return codes
-
-2001-10-31 15:57 bagder
-
- * lib/http.c: Added better checking of return codes when we send
- data to sockets/connections
-
-2001-10-31 15:56 bagder
-
- * lib/ftp.c: major commit, now we check the return code on every
- invoke of Curl_ftpsendf - which now is made using a macro named
- FTPSENDF. I turned it all caps just to make it more visible that
- it is in fact a macro.
-
-2001-10-31 15:48 bagder
-
- * lib/dict.c: check return code when issuing the request
-
-2001-10-31 15:45 bagder
-
- * lib/progress.c: added typecasts to make the timers calculate with
- doubles, not longs as they accidentally did after the
- Curl_tvdiff() interface change
-
-2001-10-31 14:42 bagder
-
- * docs/TheArtOfHttpScripting: added some -c talk, spell checked
-
-2001-10-31 13:48 bagder
-
- * buildconf: no need for mumbojumbo
-
-2001-10-31 11:19 bagder
-
- * README: added cool.haxx.se as an official mirror site
-
-2001-10-31 09:44 bagder
-
- * lib/: connect.c, connect.h, url.c: nonblock => Curl_nonblock,
- remade the check for a live SSL connection (again)
-
-2001-10-30 16:39 bagder
-
- * docs/curl.1: Added -0/--http1.0
-
-2001-10-30 16:32 bagder
-
- * MITX.txt: removed the 'in documentation' part, as I've expressed
- in public before
-
-2001-10-30 16:21 bagder
-
- * lib/url.c: Added an additional SSL check for a dead socket before
- we re-use an SSL connection. The simple socket-check is not
- enough in these cases.
-
-2001-10-30 13:08 bagder
-
- * lib/cookie.c: prevent strdup()ing NULL -- Paul Harrington's
- report
-
-2001-10-30 09:09 bagder
-
- * docs/curl.1: Corrected the -T description
-
-2001-10-30 09:09 bagder
-
- * docs/MANUAL: removed silly old -t usage from here, added some
- blurb about the "new" -t that sets telnet options
-
-2001-10-29 23:17 bagder
-
- * packages/Win32/cygwin/: Makefile.am, README: Kevin Roth updates
-
-2001-10-29 14:41 bagder
-
- * docs/curl_formadd.3: corrected return code, general cleanup
-
-2001-10-29 14:28 bagder
-
- * lib/libcurl.def: added curl_formadd
-
-2001-10-29 14:21 bagder
-
- * lib/formdata.c: minor fix to support multiple files in one
- formadd() call
-
-2001-10-29 11:46 bagder
-
- * CHANGES: 29 October fixes
-
-2001-10-29 11:32 bagder
-
- * Makefile.am, configure.in: Kevin Roth's cygwin package fixes
-
-2001-10-29 11:31 bagder
-
- * packages/: Makefile.am, Win32/Makefile.am,
- Win32/cygwin/Makefile.am, Win32/cygwin/README: Cygwin moved into
- the win32 drawer
-
-2001-10-29 11:10 bagder
-
- * lib/: url.c, urldata.h: fixed conn->name error on connection
- re-use and enlarged the 'gname' array to hold 512 bytes (for
- user+password+hostname)
-
-2001-10-29 08:49 bagder
-
- * lib/connect.c: SM's waitconnect return code fix!
-
-2001-10-26 14:36 bagder
-
- * tests/data/test28: changed the Location: to match one Paul
- Harrington reports a problem with
-
-2001-10-26 13:34 bagder
-
- * CHANGES: ldap fix, test28 added
-
-2001-10-26 13:25 bagder
-
- * lib/progress.c: made 'timespent' a double, which makes more
- accurate calculations for quick downloads
-
-2001-10-26 13:01 bagder
-
- * tests/data/: Makefile.am, test28: test28 added for "Location:
- extraspace" test
-
-2001-10-25 10:28 bagder
-
- * lib/ldap.c: bug report #474568 - We need to set "no further data
- to download" before the Curl_ldap() function returns, as
- otherwise it'll hang on that assumed transfer.
-
-2001-10-24 16:16 bagder
-
- * docs/INSTALL: added "s390 Linux" as a platform that curl was
- compiled for, and I also sorted the list of machines
-
-2001-10-24 13:54 bagder
-
- * docs/INSTALL: added a section about cross compiling that Jim Duey
- wrote down for us
-
-2001-10-24 13:44 bagder
-
- * CHANGES: lots and lots
-
-2001-10-24 13:39 bagder
-
- * tests/data/: Makefile.am, test27: test case 27 added, to make
- sure cookie replacing don't leak anything
-
-2001-10-24 13:39 bagder
-
- * tests/httpserver.pl: now reports the CORRECT pid on demand
-
-2001-10-24 13:36 bagder
-
- * lib/cookie.c: T. Bharath found this memory leak. It occurs when
- we replace an internally already existing cookie with a new one.
-
-2001-10-23 14:11 bagder
-
- * lib/hostip.c: pack_hostent() now aligns the data properly on
- 64bit boundaries to work on more CPU architectures
-
-2001-10-23 12:12 bagder
-
- * docs/FAQ: grammar grammar!
-
-2001-10-23 12:12 bagder
-
- * docs/FAQ: added "3.12 Why do FTP specific features over HTTP
- proxy fails?"
-
-2001-10-23 09:54 bagder
-
- * configure.in: added AC_PREREQ(2.50) to prevent autoconf mistakes
-
-2001-10-23 00:15 bagder
-
- * src/main.c: An SGI (IRIX) compiler doesn't like indended
- #-instructions, so they're all in column zero now!
-
-2001-10-22 14:52 bagder
-
- * lib/connect.c: make sure the connect can't return OK but return a
- NULL as addr
-
-2001-10-22 08:39 bagder
-
- * include/curl/curl.h: 2000 => 2001
-
-2001-10-22 08:35 bagder
-
- * docs/curl_easy_setopt.3: rephrased the WRITEFUNCTION description
- a bit
-
-2001-10-22 08:34 bagder
-
- * lib/transfer.c: failed transfers will now close the connection
-
-2001-10-22 08:32 bagder
-
- * configure.in: added cygwin package makefile
-
-2001-10-22 08:26 bagder
-
- * Makefile.am, packages/Makefile.am: Kevin Roth's cygwin fixes
-
-2001-10-22 08:08 bagder
-
- * ltmain.sh: A Kevin Roth patch. -- It's a post 1.4.2 patch that
- will become part of libtool 1.4.3, and it's required to allow
- "make install" to function properly on cygwin.
-
-2001-10-19 13:59 bagder
-
- * include/curl/curl.h: new return code: CURLE_GOT_NOTHING
-
-2001-10-19 13:58 bagder
-
- * lib/: http.c, transfer.c, url.c, urldata.h: now counts header
- size return from server and if nothing is returned from a HTTP
- server we return error
-
-2001-10-19 13:57 bagder
-
- * lib/easy.c: curl_easy_duphandle() now properly clones the cookie
- option - patch by T. Bharath
-
-2001-10-19 13:56 bagder
-
- * tests/data/: Makefile.am, test37: added test 37
-
-2001-10-19 08:27 bagder
-
- * lib/transfer.c: CURLOPT_FAILONERROR now only returns error if the
- HTTP code is 400 or above unconditionalliy. Previously, the code
- check was for >= 300 unless follow- location was enabled...
-
-2001-10-17 14:33 bagder
-
- * lib/: hostip.c, memdebug.c: the malloc debug system only logs
- data if the logfile FILE * is set, which makes it easier to
- disable debug output when built with debug functions
-
-2001-10-17 14:24 bagder
-
- * lib/transfer.c: call Curl_done() in Curl_perform() after
- Transfer() was called, even it it returned an error as there
- might be stuff in there we must free/cleanup. This fixes the
- memory leak Yanick Pelletier posted about 16 Oct 2001
-
-2001-10-17 13:51 bagder
-
- * tests/: getpart.pm, httpserver.pl, runtests.pl: don't use
- 'strict' anymore, as it doesn't work good with the cygwin fixes
- also, always kill/restart the HTTP server on startup if it is our
- test server
-
-2001-10-16 09:59 bagder
-
- * lib/Makefile.am: Kevin Roth's cygwin adjustment
-
-2001-10-16 09:58 bagder
-
- * configure.in: added AC_LIBTOOL_WIN32_DLL for cygwin setup issues
-
-2001-10-12 14:32 bagder
-
- * lib/: connect.c, speedcheck.c, timeval.c, timeval.h, url.c:
- Curl_tvdiff() now returns a millisecond diff, no double like
- before
-
-2001-10-12 14:31 bagder
-
- * lib/urldata.h: progress meter fixes
-
-2001-10-12 14:31 bagder
-
- * lib/progress.c: extensively commented source code, parts
- refreshened, the "current speed" is now more accurate since it is
- based on actual spent time without the assumptions from before
-
-2001-10-12 14:30 bagder
-
- * lib/transfer.c: better check for absolute URL redirects, adjusted
- to new Curl_tvdiff() proto
-
-2001-10-11 11:32 bumblebury
-
- * lib/: base64.c, cookie.c, dict.c, dllinit.c, easy.c, escape.c,
- file.c, formdata.c, ftp.c, getdate.c, getenv.c, getinfo.c,
- getpass.c, hostip.c, http.c, http_chunks.c, if2ip.c, krb4.c,
- ldap.c, memdebug.c, mprintf.c, netrc.c, progress.c, security.c,
- sendf.c, speedcheck.c, ssluse.c, strequal.c, strtok.c, telnet.c,
- timeval.c, transfer.c, url.c, version.c: looks nicer and is
- better compatible with older vim versions
-
-2001-10-11 11:07 bagder
-
- * docs/curl_easy_setopt.3: cleanup on language, content and facts
-
-2001-10-11 09:41 bagder
-
- * configure.in: getservbyname is not used by libcurl, don't check
- for it
-
-2001-10-11 08:24 bagder
-
- * docs/curl_easy_setopt.3: removed WRITEINFO from here, it's not
- been supported since 7.4...
-
-2001-10-11 00:04 bagder
-
- * tests/runtests.pl: checkserver() bugged, Kevin Roth detected and
- fixed
-
-2001-10-10 23:59 bagder
-
- * tests/: getpart.pm, httpserver.pl: Kevin Roth's fixes to make
- tests work on cygwin
-
-2001-10-10 15:11 bagder
-
- * docs/curl_easy_setopt.3: CURLOPT_WRITEFUNCTION description
- corrected
-
-2001-10-10 14:48 bagder
-
- * lib/: cookie.c, url.c: cookiejar now enables the cookie engine
-
-2001-10-09 14:04 bagder
-
- * tests/data/Makefile.am: hm
-
-2001-10-09 14:03 bagder
-
- * tests/data/: Makefile.am, test34, test36: added chunked encoding
- tests
-
-2001-10-09 13:34 bagder
-
- * tests/data/: Makefile.am, test47: added test 47 - enforced http
- 1.0 request
-
-2001-10-09 08:57 bagder
-
- * CHANGES: resolve problem fixed, memory leak with ipv6 gone,
- configure improved, MSVC++ project files fixed, connecthost()
- compiler errors, ignore SIGPIPE, support CURLOPT_HTTP_VERSION
- etc...
-
-2001-10-09 08:53 bagder
-
- * include/curl/curl.h: New: CURLOPT_HTTP_VERSION Renamed: the
- TimeCond type to curl_TimeCond
-
-2001-10-09 08:53 bagder
-
- * src/main.c: Added -0/--http1.0 to enforce HTTP 1.0 requests
-
-2001-10-09 08:52 bagder
-
- * lib/: http.c, url.c, urldata.h: added the option
- CURLOPT_HTTP_VERSION that can specify which HTTP version libcurl
- should use in its request
-
-2001-10-09 08:23 bagder
-
- * lib/url.c: ignore SIGPIPE, as that can be actually get sent when
- we write to a socket
-
-2001-10-08 13:07 bagder
-
- * tests/data/test46: updated the cookiejar comment
-
-2001-10-08 08:56 bagder
-
- * lib/connect.c: hm, an unknown error from bind() when binding the
- outgoing socket would failf("%d") without the error as
- argument... it would always make a weird number get output
-
-2001-10-08 08:43 bagder
-
- * lib/cookie.c: corrected cookie-jar comment
-
-2001-10-05 09:30 bagder
-
- * docs/curl.1: using a HTTP proxy will disable some
- protocol-specific features that non- HTTP procotols may allow
-
-2001-10-05 08:05 bagder
-
- * lib/: connect.c, connect.h: SM's patch applied, we should not use
- arguments or variables that have the same name as common
- functions...
-
-2001-10-05 04:30 subman
-
- * lib/curllib.dsw: VC ID project workspace - fixes compile under
- win32
-
-2001-10-05 04:29 subman
-
- * lib/curllib.dsp: VC ID project now uses ws2_32.lib - fixes
- compile under win32
-
-2001-10-05 04:27 subman
-
- * lib/Makefile.vc6: Makefile.vc6 changed to include connect.c
-
-2001-10-04 16:05 bagder
-
- * acinclude.m4, configure.in: Albert Chin's improved
- gethostbyname_r() tests
-
-2001-10-04 15:36 bagder
-
- * lib/hostip.c: made sure the correct pieces of code are compiled
- on IPv4-only hosts, and the pack_hostent() is only compiled if
- gethostbyname_r() isn't present.
-
-2001-10-04 15:25 bagder
-
- * memanalyze.pl: supports the new ADDR prefix for getaddrinfo() and
- freeaddrinfo() tracing
-
-2001-10-04 15:25 bagder
-
- * lib/: ftp.c, hostip.c, hostip.h, memdebug.h, url.c: getaddrinfo()
- cleanups
-
-2001-10-03 23:42 bagder
-
- * lib/hostip.c: Keith McGuigan's excellent fix that makes a cloned
- copy of the hostent struct for when gethostbyname() is used so
- that we have the memory of the struct allocated. This turns out
- to be needed if the curl handled is passed between threads on
- Windows and possibly other operating systems where we use that
- function.
-
-2001-10-03 23:28 bagder
-
- * build_vms.com: Nico Baggus' updated for 7.9
-
-2001-10-03 17:08 bagder
-
- * docs/INSTALL: Björn Stenberg reported successfully having built
- curl on StrongARM Linux
-
-2001-10-03 13:58 bagder
-
- * docs/TODO: non-blocking connects *done*
-
-2001-10-03 13:55 bagder
-
- * CHANGES: me fix curl_formadd() again
-
-2001-10-03 11:31 bagder
-
- * lib/formdata.c: hm, I edited away the fine functionality and with
- this edit test case 9 is once again running OK
-
-2001-10-03 10:16 bagder
-
- * CHANGES, src/version.h: 7.9.1 pre-release 1 status
-
-2001-10-03 10:02 bagder
-
- * docs/curl_formadd.3: The ARRAY stuff is now added
-
-2001-10-03 10:01 bagder
-
- * include/curl/curl.h: added new curl_formadd() stuff
-
-2001-10-03 10:00 bagder
-
- * src/main.c: Georg Huettenegger's fix that makes us no longer use
- curl_formparse() but instead entirely rely on the curl_formadd()
- function. The former one is subject for removal in a future
- release.
-
-2001-10-03 09:54 bagder
-
- * lib/formdata.c: Georg Huettenegger's curl_formadd fixes
-
-2001-10-02 19:22 bagder
-
- * CHANGES: the changes done since the 7.9 release
-
-2001-10-02 19:18 bagder
-
- * lib/connect.c: praise Bjorn Reese for mastering these dusty
- corners of socket hacking, now we check for the error state
- before believing we are connected in IPv6 cases
-
-2001-10-02 14:51 bagder
-
- * lib/url.c: added port number in informational connect message
-
-2001-10-02 13:26 bagder
-
- * lib/: connect.c, url.c: IPv6 adjustments, connect()ing to bad
- ports still don't work properly for IPv6
-
-2001-10-02 11:40 bagder
-
- * lib/: connect.c, connect.h, ftp.c, hostip.h, setup.h, url.c,
- urldata.h: major connecting updates
-
-2001-10-02 01:25 bagder
-
- * lib/url.c: pick the correct timeout before the connecthost call
-
-2001-10-02 01:25 bagder
-
- * lib/connect.c: faster bailout on timeouts
-
-2001-10-02 00:50 bagder
-
- * lib/timeval.c: added comment to the tvdiff
-
-2001-10-02 00:50 bagder
-
- * lib/connect.c: removed warning
-
-2001-10-02 00:42 bagder
-
- * lib/connect.c: corrected for IPv6
-
-2001-10-02 00:34 bagder
-
- * acconfig.h: added five non-blocking #defines
-
-2001-10-02 00:32 bagder
-
- * lib/: connect.c, connect.h, url.c: conn->hp is now conn->hostaddr
- changed the Curl_connethost() proto again
-
-2001-10-02 00:31 bagder
-
- * lib/: ftp.c, krb4.c: sessionhandle->hp => hostaddr
-
-2001-10-02 00:31 bagder
-
- * lib/urldata.h: renamed the stupid 'hp' to 'hostaddr' which
- actually says what it is
-
-2001-10-01 13:35 bagder
-
- * lib/: ftp.c, transfer.c: removed obsoletetd myalarm() calls
-
-2001-10-01 13:27 bagder
-
- * lib/url.c: moved the myalarm() usage, and now makes sure to
- switch it off after the name resolving, as that should be the
- *ONLY* section in libcurl that may take a while in a synchronous
- call.
-
-2001-10-01 13:26 bagder
-
- * lib/connect.h: fixed the connecthost proto: added the timeout
- argument
-
-2001-10-01 13:25 bagder
-
- * lib/connect.c: corrected the #include files
-
-2001-10-01 10:59 bagder
-
- * lib/: Makefile.am, connect.c, connect.h, url.c: introduced
- non-blocking connects
-
-2001-10-01 10:58 bagder
-
- * acinclude.m4, configure.in: Added non-blocking sockets test
-
-2001-09-28 13:04 bagder
-
- * lib/: getinfo.c, transfer.c, urldata.h: filetime should be -1 if
- the remote time was unknown as 0 is actually a valid time. we now
- store the filetime as a long to know for sure it can hold -1
- (there exist some unsigned time_t cases)
-
-2001-09-28 11:25 bagder
-
- * lib/security.c: improved readability slightly
-
-2001-09-28 11:19 bagder
-
- * lib/: krb4.c, security.c: fixed the missing getftpresponse edits
-
-2001-09-28 11:15 bagder
-
- * lib/: ftp.c, ftp.h, krb4.c, security.c: removed the socket
- argument from some functions that always passed in the same
- socket and it was available from the passed-in struct anyway!
-
-2001-09-28 11:02 bagder
-
- * lib/ftp.c: now compiles warning-free when IPv6-enabled
-
-2001-09-28 10:58 bagder
-
- * lib/ftp.c: moved the PORT and PASV code into separate smaller
- functions for readability renamed all static ^_ftp_* functions to
- ^ftp_, prefixing with underscore is not nice
-
-2001-09-28 09:46 bagder
-
- * lib/: ftp.c, hostip.c: more ipv6 cleanups to make smaller
- functions that are easier to read
-
-2001-09-28 09:05 bagder
-
- * lib/: ftp.c, hostip.c, hostip.h, url.c, urldata.h: more
- transparant support for IPv6 name resolving
-
-2001-09-27 14:44 bagder
-
- * maketgz: generate bzip2 and zip files too
-
-2001-09-26 09:12 bagder
-
- * src/main.c: free cookiejar string
-
-2001-09-26 09:08 bagder
-
- * lib/: cookie.c, cookie.h, transfer.c: Now we're setting a default
- domain for received cookies so that we can properly match those
- cookies in subsequent requests
-
-2001-09-26 09:06 bagder
-
- * tests/data/: Makefile.am, test46: Added test 46, cookie jar
- functionality
-
-2001-09-26 09:05 bagder
-
- * tests/FILEFORMAT: we can verify files too
-
-2001-09-25 09:55 bagder
-
- * lib/Makefile.m32, src/Makefile.m32: winsock 2 fixes
-
-2001-09-25 08:39 bagder
-
- * include/curl/curl.h, src/version.h: 7.9 commit
-
-2001-09-25 07:55 bagder
-
- * docs/examples/: Makefile.am, httpput.c: Added httpput.c
-
-2001-09-24 09:48 bagder
-
- * CHANGES: two ipv6 fixes
-
-2001-09-24 09:48 bagder
-
- * tests/data/stunnel.pem: moved to parent directory
-
-2001-09-23 14:47 bagder
-
- * lib/ftp.c: test 119 proved a memory leak in the FTP parts when
- IPv6 is enabled and the RETR fails, this corrects it.
-
-2001-09-23 14:46 bagder
-
- * tests/data/: test108, test116, test119: Adjusted to run on
- ipv6-enabled hosts
-
-2001-09-19 23:57 bagder
-
- * CHANGES: redirect and ssl connect fixes
-
-2001-09-19 23:49 bagder
-
- * lib/ssluse.c: Lots of praise and glory to Vojtech Minarik for
- setting up a test server and providing me with test-certificates
- that helped me nail the problem with curl not discovering with a
- bad certificate was used.
-
-2001-09-19 16:49 bagder
-
- * docs/TODO: http put with --crlf requires chunked content
- encoding
-
-2001-09-18 20:41 bagder
-
- * tests/data/test45: This verifies that bug report #462600 is
- fixed, a Location: following when the given URL has no
- protocol:// part and the Location: redirect contains a ://
- section
-
-2001-09-18 20:33 bagder
-
- * lib/url.c: fixed bug report #462600, following a Location: when
- the initial URL didn't have a protocol:// part did wrong
-
-2001-09-18 17:30 bagder
-
- * lib/http.h: removed Curl_http_close()
-
-2001-09-18 17:30 bagder
-
- * lib/url.c: the stuff formerly done in Curl_http_close is now done
- in Curl_close
-
-2001-09-18 17:29 bagder
-
- * lib/http.c: modified GetLine(), removed Curl_http_close()
-
-2001-09-18 17:26 bagder
-
- * tests/httpserver.pl: made it respond as a http proxy on CONNECT
-
-2001-09-18 17:26 bagder
-
- * tests/data/Makefile.am: added two https test cases
-
-2001-09-18 17:13 bagder
-
- * tests/data/: test301, test302: HTTPS test case
-
-2001-09-18 00:51 bagder
-
- * CHANGES: Linus Nielsen Feltzing fixed telnet for win32.
-
-2001-09-18 00:24 bagder
-
- * docs/: Makefile.am, curl_easy_duphandle.3: curl_easy_duphandle is
- new
-
-2001-09-17 16:38 bagder
-
- * lib/Makefile.vc6, src/Makefile.vc6: Linus Nielsen Feltzing
- changed winsock lib for linking
-
-2001-09-17 16:10 bagder
-
- * include/curl/curl.h, lib/easy.c, lib/telnet.c, src/setup.h,
- src/version.h: Linus Nielsen Feltzing's telnet-for-win32 fixes
-
-2001-09-17 16:08 bagder
-
- * config.guess, config.sub, ltmain.sh: libtool 1.4.2 generated
-
-2001-09-17 10:55 bagder
-
- * tests/ftpsserver.pl: fixed the stunnel PEM path
-
-2001-09-17 10:41 bagder
-
- * tests/stunnel.pem: added stunnel PEM
-
-2001-09-17 10:41 bagder
-
- * tests/Makefile.am: added the stunnel PEM file
-
-2001-09-17 10:41 bagder
-
- * tests/httpsserver.pl: changed the PEM path
-
-2001-09-17 08:12 bagder
-
- * CHANGES: libtool 1.4.2
-
-2001-09-14 14:18 bagder
-
- * lib/ftp.c: modified error message when PWD fails
-
-2001-09-14 14:12 bagder
-
- * CHANGES: duphandle(), cipher list, *18* new ftp tests
-
-2001-09-14 14:07 bagder
-
- * tests/Makefile.am: added README and FILEFORMAT to distrbution
- archive
-
-2001-09-14 14:03 bagder
-
- * tests/data/: Makefile.am, test112, test113, test114, test115,
- test116, test117, test118, test119, test120, test121, test122,
- test123, test124, test125: new FTP tests
-
-2001-09-14 14:02 bagder
-
- * tests/FILEFORMAT: the strip stuff
-
-2001-09-14 14:01 bagder
-
- * tests/ftpserver.pl: fixed the REST again
-
-2001-09-13 16:50 bagder
-
- * include/curl/easy.h: added curl_easy_duphandle
-
-2001-09-13 16:49 bagder
-
- * lib/libcurl.def: Added curl_easy_duphandle
-
-2001-09-13 14:52 bagder
-
- * lib/ftp.c: minor informatinal output changes
-
-2001-09-13 14:52 bagder
-
- * tests/ftpserver.pl: moved lots of the verbose stuff to do logmsg
- instead
-
-2001-09-13 14:51 bagder
-
- * tests/FILEFORMAT: initial test suite file format description
-
-2001-09-13 14:51 bagder
-
- * tests/data/: Makefile.am, test108, test109, test110, test111: ftp
- tests added
-
-2001-09-12 14:02 bagder
-
- * lib/: transfer.c, urldata.h: moved a 100K buffer from the
- transfer loop to the urlstate struct, as it seriously decreases
- the amount of used stack space
-
-2001-09-12 13:31 bagder
-
- * configure.in: removed perl and php makefiles
-
-2001-09-12 10:59 bagder
-
- * lib/hostip.c: reverted. twas no memory leak and the "fix" didn't
- even compile on windows...
-
-2001-09-12 10:14 bagder
-
- * lib/ssluse.c: narrowed some source lines to fit in 80 cols
-
-2001-09-12 10:00 bagder
-
- * lib/url.c: ConnectionKillOne() _can_ return -1 as an indication
- of error This is T. Bharath's fix
-
-2001-09-12 09:57 bagder
-
- * lib/easy.c: T. Bharath's patch that sets up a few necessary
- buffers in the duphandle() function
-
-2001-09-12 09:19 bagder
-
- * lib/hostip.c: *TERRIBLE* terrible memory leak occuring on all
- systems that have no gethostbyname_r() function, most notably
- windows machines...
-
-2001-09-12 00:36 bagder
-
- * include/curl/curl.h: added CURLOPT_SSL_CIPHER_LIST
-
-2001-09-12 00:36 bagder
-
- * src/main.c: --ciphers now sets CURLOPT_SSL_CIPHER_LIST
-
-2001-09-12 00:35 bagder
-
- * docs/TODO: now can set list of ciphers
-
-2001-09-12 00:34 bagder
-
- * docs/curl.1: added --ciphers
-
-2001-09-12 00:29 bagder
-
- * docs/curl_easy_setopt.3: documented CURLOPT_SSL_CIPHER_LIST
-
-2001-09-12 00:23 bagder
-
- * lib/url.c: CURLOPT_SSL_CIPHER_LIST support
-
-2001-09-12 00:21 bagder
-
- * lib/urldata.h: added cipher_list
-
-2001-09-12 00:21 bagder
-
- * lib/ssluse.c: added ability to set prefered list of ciphers
-
-2001-09-11 14:00 bagder
-
- * CHANGES: changes since pre3
-
-2001-09-11 12:15 bagder
-
- * Makefile.am: removed the 'perl' and 'php' dirs from the release
- archive
-
-2001-09-11 12:00 bagder
-
- * lib/ssluse.c: ouputs the start and expire dates of the server
- certificate on verbose output
-
-2001-09-11 09:45 bagder
-
- * tests/ftpserver.pl: cleaned up, now closes the listener port in
- PASV and it doesn't re-use the same passive port number
-
-2001-09-11 08:39 bagder
-
- * docs/curl.1: some unixes have the netrc description in the ftp(1)
- man page
-
-2001-09-10 09:43 bagder
-
- * lib/cookie.c: Curl_cookie_output() must check that there's a
- cookie struct present before trying to address it!
-
-2001-09-10 08:05 bagder
-
- * CVS-INFO: updated tool versions
-
-2001-09-07 11:53 bagder
-
- * configure.in: checks for sys/utime.h
-
-2001-09-07 11:53 bagder
-
- * src/: config-win32.h, config.h.in, main.c: HAVE_SYS_UTIME_H
- adjustments
-
-2001-09-07 11:40 bagder
-
- * lib/: ssluse.c, ssluse.h: made it compile properly when not
- building with SSL support
-
-2001-09-07 06:01 bumblebury
-
- * lib/: base64.c, cookie.c, dict.c, dllinit.c, easy.c, escape.c,
- file.c, formdata.c, getdate.c, getenv.c, getinfo.c, getpass.c,
- hostip.c, http.c, http_chunks.c, if2ip.c, krb4.c, ldap.c,
- memdebug.c, mprintf.c, netrc.c, progress.c, security.c, sendf.c,
- speedcheck.c, ssluse.c, strequal.c, strtok.c, telnet.c,
- timeval.c, transfer.c, url.c, version.c: Added formatting
- sections for emacs and vim
-
-2001-09-07 05:30 bumblebury
-
- * lib/ftp.c: fix for emacs
-
-2001-09-06 10:32 bagder
-
- * lib/: ssluse.c, urldata.h: moved the session ID cache state
- variables into the UrlState struct within the SessionHandle. It
- was previously wrongly put in UserDefined
-
-2001-09-06 08:26 bagder
-
- * lib/ssluse.c: Curl_SSL_Close_All() now checks that we have a
- session cache before we run around killing entries in it!
-
-2001-09-05 15:26 bagder
-
- * docs/curl.1: added -R description
-
-2001-09-05 09:24 bagder
-
- * lib/easy.c: first shaky and stumbling attempts at a *_duphandle()
- function
-
-2001-09-05 08:56 bagder
-
- * Makefile.am: added curl-mode.el
-
-2001-09-05 08:55 bagder
-
- * curl-mode.el: emacs lisp setup for hacking curl code
-
-2001-09-05 04:49 bumblebury
-
- * lib/ftp.c: Fix formatting when tabs and spaces got mixed up (if
- tabstop was not set to 8 this looked quite funny :)
-
- Added a small formatting section for vim at the bottom, it also
- contains an emacs portion (copied it from another project I'm
- working on), I don't know if this is correct, but its a step (the
- vim part is correct :)
-
-2001-09-03 16:31 bagder
-
- * src/config-win32.h: defined HAVE_UTIME and HAVE_UTIME_H
-
-2001-09-03 14:51 bagder
-
- * lib/http_chunks.c: corrected the comment to be valid chunk format
-
-2001-09-03 14:32 bagder
-
- * docs/TODO: -R removes a TODO
-
-2001-09-03 14:10 bagder
-
- * CHANGES: -R added
-
-2001-09-03 14:00 bagder
-
- * configure.in, src/config.h.in: utime() and utime.h adjustments
- for curl -R
-
-2001-09-03 14:00 bagder
-
- * src/main.c: introducing -R/--remote-time which uses the remote
- file's time to set the local file's time
-
-2001-09-03 09:01 bagder
-
- * lib/url.c: use the LIBCURL_NAME instead of the "hardcoded" string
-
-2001-09-03 09:00 bagder
-
- * CHANGES, config.guess, config.sub, ltmain.sh: libtool 1.4.1
-
-2001-09-01 12:20 bagder
-
- * lib/urldata.h: removed unused #defines
-
-2001-09-01 11:43 bagder
-
- * CHANGES: Heikki Korpela noticed openbsd problems and libtool
-
-2001-09-01 11:42 bagder
-
- * ltmain.sh: as generated with libtool 1.4.0a
-
-2001-09-01 11:39 bagder
-
- * tests/Makefile.am: Heikki Korpela fixed the 'make -C' invokes.
- make -C is banned.
-
-2001-08-31 01:03 bagder
-
- * CHANGES: the big struct rename of the year
-
-2001-08-31 00:59 bagder
-
- * lib/: ftp.c, krb4.c, security.c: a few more struct fixes
-
-2001-08-31 00:48 bagder
-
- * lib/: dict.c, easy.c, file.c, ftp.c, getinfo.c, getinfo.h,
- hostip.c, hostip.h, http.c, krb4.c, ldap.c, progress.c,
- progress.h, security.c, sendf.c, sendf.h, speedcheck.c,
- speedcheck.h, ssluse.c, ssluse.h, telnet.c, transfer.c,
- transfer.h, url.c, url.h, urldata.h: Major rename and redesign of
- the internal "backbone" structs. Details will be posted in a
- minute to the libcurl list.
-
-2001-08-29 17:02 bagder
-
- * docs/CONTRIBUTE: updated a bit
-
-2001-08-29 14:14 bagder
-
- * docs/TODO: removed cookies and SSL sessions
-
-2001-08-29 11:51 bagder
-
- * CHANGES: new ftp upload example, brand new cookie functionality
- and more
-
-2001-08-29 11:47 bagder
-
- * docs/curl_easy_setopt.3: added CURLOPT_COOKIEJAR details
-
-2001-08-29 11:45 bagder
-
- * docs/curl.1: '-c -'
-
-2001-08-29 11:44 bagder
-
- * docs/curl.1: -c/--cookie-jar documented
-
-2001-08-29 11:36 bagder
-
- * lib/: ssluse.c, urldata.h: take port numbers into account when
- finding a previous session from the cache
-
-2001-08-29 11:32 bagder
-
- * include/curl/curl.h: added COOKIEJAR
-
-2001-08-29 11:32 bagder
-
- * src/main.c: uses the new cookie jar feature
-
-2001-08-29 11:32 bagder
-
- * lib/: cookie.c, cookie.h, url.c, urldata.h: cookie jar
- adjustments
-
-2001-08-29 09:12 bagder
-
- * docs/examples/: Makefile.am, ftpupload.c: added ftpupload.c
-
-2001-08-28 11:02 bagder
-
- * CHANGES: lots of crap
-
-2001-08-28 11:01 bagder
-
- * missing: added the most recent one from automake 1.5, it
- complained on the former one being "too old"
-
-2001-08-28 10:58 bagder
-
- * lib/Makefile.am: up'ed the version-info
-
-2001-08-28 10:55 bagder
-
- * include/curl/curl.h: curl_formadd() adjustments by Georg
- Huettenegger
-
-2001-08-28 10:55 bagder
-
- * docs/curl_formadd.3: Georg Huettenegger's updates
-
-2001-08-28 10:55 bagder
-
- * docs/Makefile.am: automake 1.5 complained on my SUFFIXES line!
-
-2001-08-28 10:54 bagder
-
- * lib/: formdata.c, formdata.h: Georg Huettenegger's fixes and
- improvements to curl_formadd()
-
-2001-08-28 10:54 bagder
-
- * lib/transfer.c: Georg Huettenegger added code to deal with error
- 417 when doing form posts. NOTE: we might do this for *ALL*
- errors when doing form posts.
-
-2001-08-28 10:37 bagder
-
- * lib/: ssluse.c, ssluse.h, transfer.c, url.c, urldata.h: Added SSL
- session ID caching, moved some SSL code from url.c to ssluse.c
-
-2001-08-26 22:51 bumblebury
-
- * lib/strtok.c: we should be using start here.
-
-2001-08-26 16:28 bagder
-
- * lib/cookie.c: improved the test
-
-2001-08-26 16:27 bagder
-
- * lib/strtok.c: Added #include <string.h> and removed a silly
- mistakenly added ,
-
-2001-08-24 12:25 bagder
-
- * lib/strtok.c: rewrite to work around BSD announcement license
- issues, this is also somewhat easier to understand if I may say
- so. It is slightly slower.
-
-2001-08-24 12:18 bagder
-
- * tests/data/test8: cookies are stored in the reversed order now
- (which in turn means that the order is _not_ actually reversed
- like it used to be)
-
-2001-08-24 09:45 bagder
-
- * lib/curllib.dsp: T. Bharath's patch => linking with multithreaded
- versions of the c runtime library for use in multithreaded apps
-
-2001-08-24 09:43 bagder
-
- * config-win32.h: T. Bharath's patch. It is kind of dirty, as it
- #pragma aways a whole bunch of compiler warnings, but I guess
- they make the life somewhat easier to live for a ms dude
- compiling this. For a rainy day: remove the pragmas and correct
- the source code that cause the warnings!
-
-2001-08-24 09:41 bagder
-
- * lib/getdate.c: newly re-generated from the modified getdate.y
-
-2001-08-24 09:39 bagder
-
- * lib/base64.c: include setup.h properly, not config.h
-
-2001-08-24 09:39 bagder
-
- * lib/: getdate.y, mprintf.c: extern declarations no longer done on
- windows (T. Bharath's patch)
-
-2001-08-24 09:24 bagder
-
- * lib/: setup.h, strequal.c: cleanups
-
-2001-08-24 09:01 bagder
-
- * src/main.c: Kevin Roth's comments about -G have been addressed: o
- -G -I works on the same command line and makes HEAD instead of
- GET o -G with an already present question mark in the URL makes
- an ampersand get added as a separator instead
-
-2001-08-24 08:31 bagder
-
- * lib/Makefile.vc6: Tim Costello's bug report #454856
-
-2001-08-24 08:20 bagder
-
- * lib/ssluse.c: strcasecmp() is banned from our code, should be
- strequal() everywhere! Tim Costello reported bug report #454858.
-
-2001-08-23 16:06 bagder
-
- * lib/url.c: When setting *_URL or *_PROXY in *_setopt(), it is
- important that we check and possibly free the existing pointer
- first, and then clear the "allocated" bit. We previously
- mistakenly could free the new pointer passed to us by the
- friendly user...!
-
-2001-08-23 16:05 bagder
-
- * lib/: cookie.c, cookie.h: started working on a function for
- writing (all) cookies, made it possible to read multiple cookie
- files, no longer writes to the URL string passed to the _add()
- function. The new stuff is now conditionally compiled on the
- COOKIE define. Changed the _init() proto.
-
-2001-08-23 13:12 bagder
-
- * docs/FAQ: added FTPS to the list of supported protocols
-
-2001-08-23 13:11 bagder
-
- * docs/FAQ: item 4.6 is now an indication of a crash, not a timeout
-
-2001-08-23 13:06 bagder
-
- * lib/curllib.dsp: As Steve Lhomme pointed out, this generates
- 'libcurl.dll' now instead of the previous 'curl.dll'
-
-2001-08-23 12:56 bagder
-
- * build_vms.com: Nico's update: "modified the build procedure to
- restore to the right current directory where the build was
- started and it will autosense where is was run from and set up
- the correct default directory at start of the script."
-
-2001-08-23 10:45 bagder
-
- * docs/examples/postit2.c: curl_formadd() using example, the 7.9
- style of building rfc1867 form posts
-
-2001-08-23 08:10 bagder
-
- * lib/ftp.c: I want Sterling to be my friend, so I wasted some time
- on splitting up the huge monster function _ftp() into more little
- functions. There are still more that can be done, but this is at
- least improving readability and maintainability... :-)
-
-2001-08-22 13:25 bagder
-
- * CHANGES: Georg Huettenegger's fixes, man pages converted to HTML
- pages and included in release archive
-
-2001-08-22 13:24 bagder
-
- * lib/url.c: CURLOPT_FTPASCII is the old name, CURLOPT_TRANSFERTEXT
- is the new
-
-2001-08-22 13:23 bagder
-
- * docs/LIBCURL: libcurl.3 has the info now
-
-2001-08-22 13:23 bagder
-
- * docs/curl_easy_setopt.3: CURLOPT_POST isn't needed these days
-
-2001-08-22 13:22 bagder
-
- * docs/TODO: updated
-
-2001-08-22 13:22 bagder
-
- * README: libcurl.3 is the man page
-
-2001-08-21 15:18 bagder
-
- * docs/Makefile.am, docs/curl_easy_setopt.3, docs/curl_formadd.3,
- docs/curl_formfree.3, docs/curl_formparse.3,
- docs/curl_slist_append.3, docs/libcurl.3,
- docs/examples/Makefile.am, include/curl/curl.h, lib/escape.c,
- lib/escape.h, lib/formdata.c, lib/formdata.h, lib/http.c,
- lib/transfer.c, lib/urldata.h, src/version.h, tests/runtests.pl:
- Georg Huettenegger's patch curl-7.8.1-pre5-patch-20010819
-
-2001-08-21 14:46 bagder
-
- * tests/data/: Makefile.am, test44, test9: added test44 formpost
- without Expect:, modified test9
-
-2001-08-21 11:16 bagder
-
- * maketgz: run 'make clean' before 'make dist' to make sure the
- HTML files are up-to-date
-
-2001-08-21 11:16 bagder
-
- * docs/Makefile.am: added a 'html' target that builds HTML versions
- from the man page sources. It requires 'gnroff' and 'man2html'
- for now. 'make html' will be invoked by the 'maketgz' script and
- the HTML files are included in release archives.
-
-2001-08-21 11:14 bagder
-
- * Makefile.am: make html runs make html in the docs dir
-
-2001-08-21 08:56 bagder
-
- * docs/LIBCURL: this is replaced with libcurl.3
-
-2001-08-21 08:50 bagder
-
- * CHANGES: fflush the progress output, fixed configure.in for SSL
- without --with-ssl
-
-2001-08-21 08:36 bagder
-
- * configure.in: Troy Engel's fix for running configure without
- --with-ssl
-
-2001-08-21 08:29 bagder
-
- * lib/progress.c: As Andrés García reported we need to fflush() the
- data->err so that the progress meter looks better on windows (and
- if the data->err is redirected from stderr it also makes a point)
-
-2001-08-20 15:22 bagder
-
- * docs/TheArtOfHttpScripting: added "4.5 FIGURE OUT WHAT A POST
- LOOKS LIKE" added an online URL to this document corrected a bad
- use of -t
-
-2001-08-20 09:59 bagder
-
- * include/curl/curl.h, src/version.h: 7.8.1
-
-2001-08-20 09:46 bagder
-
- * ltconfig: libtool 1.3.5 leftover
-
-2001-08-20 09:36 bagder
-
- * docs/curl_easy_setopt.3: updated version in header as we have
- 7.8.1 details in here
-
-2001-08-20 09:25 bagder
-
- * CHANGES: RFC2732 parsing, curl-config patching, -G added,
- kerberos name space fixing, configure fixes, libtool cleanups
-
-2001-08-20 09:10 bagder
-
- * Makefile.am, acinclude.m4, configure.in, lib/Makefile.am: Albert
- Chin's neat configure/package fixes
-
-2001-08-19 19:09 bagder
-
- * src/main.c: SM's fix for -G on URLs with host name only
-
-2001-08-18 04:42 bumblebury
-
- * lib/ftp.c: <couldn't resist> Use a more appropriate variable
- name </couldn't resist>
-
-2001-08-17 12:24 bagder
-
- * lib/krb4.c: Curl_ prefix added to a few function calls
-
-2001-08-17 12:19 bagder
-
- * lib/easy.c: include getinfo.h for Curl_getinfo() proto
-
-2001-08-17 12:14 bagder
-
- * lib/: ftp.c, http.c, security.h, sendf.c: modified to use the
- renamed kerberos functions with Curl_ prefix
-
-2001-08-17 12:13 bagder
-
- * lib/urldata.h: Added two fields in the connectdata struct for
- kerberos fiddles
-
-2001-08-17 12:12 bagder
-
- * lib/krb4.c: use the Curl_ name space removed unused code removed
- use of global variable(s)
-
-2001-08-17 12:11 bagder
-
- * lib/security.c: removed dead/unused code removed use of global
- variables removed name space pollutions (added Curl_ prefixes)
-
-2001-08-17 12:10 bagder
-
- * lib/krb4.h: Curl_ prefix
-
-2001-08-17 12:02 bagder
-
- * lib/security.h: cleaned up rewrite
-
-2001-08-16 15:40 bagder
-
- * docs/curl.1: Added -G
-
-2001-08-16 15:11 bagder
-
- * docs/curl-config.1: updated to the latest fixes to the shell
- script
-
-2001-08-16 15:09 bagder
-
- * curl-config.in: hm, --cflags should only show the flags a 3rd
- party program would need
-
-2001-08-16 15:05 bagder
-
- * curl-config.in: removed --include again and stuffed the libcurl's
- include path in --cflags
-
-2001-08-16 15:02 bagder
-
- * curl-config.in: Added --include to set the compiler include flag
- for libcurl
-
-2001-08-16 14:58 bagder
-
- * curl-config.in: Added -lcurl for --libs so that single option
- should now suffice to use when building anything with libcurl
-
-2001-08-15 23:54 bagder
-
- * lib/url.c: IPv6-addresses can have dots too!
-
-2001-08-15 23:40 bagder
-
- * lib/url.c: extract IPv6-style specified IP-addresses properly
-
-2001-08-15 20:42 bagder
-
- * lib/ftp.c: const fixes
-
-2001-08-15 20:40 bagder
-
- * include/curl/curl.h: -
-
-2001-08-15 20:38 bagder
-
- * MITX.txt: Corrected the years in the copyright line
-
-2001-08-15 20:34 bagder
-
- * docs/curl_getenv.3: const argument
-
-2001-08-15 20:33 bagder
-
- * include/curl/curl.h: curl_getenv() now takes a const char * as
- argument
-
-2001-08-15 20:17 bagder
-
- * include/curl/mprintf.h: add include of stdio.h, so that base64.c
- compiles
-
-2001-08-15 15:41 bagder
-
- * CHANGES: CURL_GLOBAL_WIN32, config-vms.h, Borland makefile, -w
- %{http_code}, Bug #12733 over on php.net
-
-2001-08-15 15:38 bagder
-
- * lib/http.c: Using CURLOPT_POST without using CURLOPT_POSTFIELDS
- caused us to strlen() a NULL pointer. Now, we treat a missing
- CURLOPT_POSTFIELDS as if there is no data to send.
-
-2001-08-15 14:26 bagder
-
- * lib/ftp.c: removed one compiler error and two "unused variable"
- warnings
-
-2001-08-15 09:22 bagder
-
- * src/main.c: SM's -G patch. There's some room for improvements
- still, as a command line like: "curl -d moo=foo -G
- daniel.haxx.se" currently fails.
-
-2001-08-15 09:21 bumblebury
-
- * lib/ftp.c: more _ftp_cwd
-
-2001-08-15 09:14 bumblebury
-
- * lib/ftp.c: ftp_cwd() abstraction
-
- "%" -> "%s"
-
-2001-08-15 08:58 bumblebury
-
- * lib/ftp.c: This can be used in another place (Curl_ftp_done :)...
-
- declare at the top of the file, put the private functions at the
- bottom of the file, however, this is clearer imho (since _ftp is
- already there).
-
-2001-08-15 08:55 bagder
-
- * lib/url.c: non-public functions should not use CURL * as
- arguments, so I changed them to use 'struct UrlData *' instead
-
-2001-08-15 08:54 bagder
-
- * lib/transfer.h: modified the Curl_perform() proto
-
-2001-08-15 08:54 bumblebury
-
- * lib/ftp.c: must merge before commit must merge before commit must
- merge before commit
-
-2001-08-15 08:54 bagder
-
- * lib/urldata.h: removed protos that were moved to url.h and the
- new getinfo.h
-
-2001-08-15 08:53 bagder
-
- * lib/url.h: moved the url.c prototypes to here
-
-2001-08-15 08:53 bagder
-
- * lib/transfer.c: calls Curl_initinfo() in perform().
-
-2001-08-15 08:52 bumblebury
-
- * lib/ftp.c: begin abstraction process...
-
-2001-08-15 08:52 bagder
-
- * lib/getinfo.h: prototypes for getinfo.c
-
-2001-08-15 08:52 bagder
-
- * lib/getinfo.c: Added Curl_initinfo() that's supposed to init
- session-specific getinfo- variables
-
-2001-08-15 08:51 bagder
-
- * lib/easy.c: internal functions should not use 'CURL *' as
- arguments, I replaced them with the more appropriate 'struct
- UrlData *' instead.
-
-2001-08-15 08:50 bagder
-
- * lib/Makefile.am: added getinfo.h
-
-2001-08-15 08:13 bagder
-
- * lib/Makefile.b32.resp: David James made it build 7.8.1 pre 5
-
-2001-08-14 13:04 bagder
-
- * docs/: curl_easy_init.3, libcurl.3: CURL_GLOBAL_WIN32 updates
-
-2001-08-14 13:04 bagder
-
- * docs/curl_global_init.3: "added in 7.8.1"
-
-2001-08-14 11:51 bagder
-
- * config-vms.h: geez, I'd ruined Nico's socklen_t define, corrected
- it now
-
-2001-08-14 11:48 bagder
-
- * config-vms.h: Nico's updates
-
-2001-08-14 11:41 bagder
-
- * CHANGES: redirected stderr problem fixed, VC build with SSL
- makefile fix, big form post fix, no more globals in ssl code fix,
- size_t and const fix, a few VMS changes
-
-2001-08-14 11:26 bagder
-
- * lib/ftp.c: exchanged the second and third argument to fwrite(),
- as that makes it look good on VMS. Removed a '#if 0' section,
- made Curl_getmyhost static and cut off the 'Curl_' prefix
-
-2001-08-14 11:25 bagder
-
- * lib/base64.c: #include <curl/mprintf.h>
-
-2001-08-14 11:24 bagder
-
- * lib/: memdebug.c, memdebug.h: curl_memdebug takes a const
- argument now
-
-2001-08-14 11:16 bagder
-
- * src/: main.c, urlglob.c, writeout.c: (un)signed and const cleanup
-
-2001-08-14 10:49 bagder
-
- * configure.in: --enable-debug now sets the following CFLAGS: -W
- -Wall -Wwrite-strings -pedantic -g
-
-2001-08-14 10:40 bagder
-
- * lib/urldata.h: minor fixes for compiler warnings
-
-2001-08-14 10:40 bagder
-
- * lib/url.c: Curl_open() only take one argument now,
- Curl_ldap_done() and Curl_dict_done() were removed, compiler
- warnings corrected
-
-2001-08-14 10:39 bagder
-
- * lib/transfer.c: const and (un)signed fixes
-
-2001-08-14 10:38 bagder
-
- * lib/telnet.c: const and unsigned/signed fixes
-
-2001-08-14 10:36 bagder
-
- * lib/ssluse.c: removed the use of the global array for the
- password that was necessary for OpenSSL versions prior to 0.9.4,
- this is conditional and should still work with older versions.
-
-2001-08-14 10:34 bagder
-
- * lib/sendf.h: size_t and const
-
-2001-08-14 10:34 bagder
-
- * lib/sendf.c: cleaned up some of the size_t and const mess
-
-2001-08-14 10:33 bagder
-
- * lib/security.h: removed unused code, added const
-
-2001-08-14 10:32 bagder
-
- * lib/security.c: cleaned up some picky compiler warnings and
- indented the code curl style
-
-2001-08-14 10:32 bagder
-
- * lib/mprintf.c: added const char * => char * typecast
-
-2001-08-14 10:31 bagder
-
- * lib/: memdebug.c, memdebug.h: const-ified lots of function
- arguments
-
-2001-08-14 10:30 bagder
-
- * lib/ldap.c: const-ified the code, removed Curl_ldap_done()
-
-2001-08-14 10:30 bagder
-
- * lib/krb4.c: fixed picky compiler warnings, unused arguments,
- const at proper places and I also indented the source code to fit
- curl "standard"
-
-2001-08-14 10:29 bagder
-
- * lib/http_chunks.c: Curl_httpchunk_read now takes size_t size
- arguments instead of the previous ssize_t
-
-2001-08-14 10:28 bagder
-
- * lib/http.c: made some char * into const char * and I removed the
- check for size > 0 in the add_buffer function.
-
-2001-08-14 10:27 bagder
-
- * lib/getpass.h: added const to the prompt char * in the proto
-
-2001-08-14 10:26 bagder
-
- * lib/getinfo.c: added typecast when converting const char * to
- char *
-
-2001-08-14 10:25 bagder
-
- * lib/getenv.c: added const to the function protos
-
-2001-08-14 10:25 bagder
-
- * lib/ftp.h: Curl_ftpsendf's third argument is now a const char *
-
-2001-08-14 10:24 bagder
-
- * lib/ftp.c: corrected the size_t weirdness. Expect size_t to be
- unsigned. Moved most over to ssize_t that is signed. Removed all
- the special-purpose VMS #ifdefs that were added for this.
-
-2001-08-14 10:23 bagder
-
- * lib/formdata.c: added a few consts and a few typecasts to please
- picky compiler options
-
-2001-08-14 10:22 bagder
-
- * lib/file.c: size_t => ssize_t, removed the special VMS fix for
- that purpose
-
-2001-08-14 10:20 bagder
-
- * lib/escape.c: added typecasts when converting from unsigned int
- to int
-
-2001-08-14 10:19 bagder
-
- * lib/easy.c: Added an empty win32_cleanup for non-windows systems
- to prevent compiler warnings, changed the Curl_open() call as the
- second argument was never used anyway
-
-2001-08-14 10:18 bagder
-
- * lib/dict.c: removed the *done() function as it served no purpose,
- added type casts when converting from 'const char *' to 'char *'
- to please my picky compiler options
-
-2001-08-14 10:17 bagder
-
- * lib/cookie.c: commented out empty else blocks to shut up pedantic
- compilers
-
-2001-08-14 10:16 bagder
-
- * lib/arpa_telnet.h: Added 'const' to the string arrays
-
-2001-08-14 08:06 bagder
-
- * lib/mprintf.c: corrected dubious use of the same variable twice
- in a function call, gcc 3.0 warned about it
-
-2001-08-13 08:33 bagder
-
- * lib/formdata.c: curl_formparse() should no longer have any
- size-limit in the data section after this patch from Peter Todd
-
-2001-08-10 16:10 bagder
-
- * lib/transfer.c: corrected minor source indentation error
-
-2001-08-10 08:24 bagder
-
- * lib/progress.c: moved the download/upload speed calculations, to
- be made on every invoke of the progressupdate, as on very quick
- transfers they wouldn't always get calculated!
-
-2001-08-10 00:43 subman
-
- * lib/Makefile.vc6: Fixed bugs for building debug and SSL lib in VC
- makefile
-
-2001-08-09 14:08 bagder
-
- * docs/curl_easy_setopt.3: Added CURLOPT_HTTPGET and
- CURLOPT_SSL_VERIFYHOST, added notes to the two timeout-options
- that they don't work in multi-threaded programs.
-
-2001-08-09 14:04 bagder
-
- * docs/TODO: non-blocking connect please
-
-2001-08-09 13:58 bagder
-
- * tests/data/test26: strip off user-agent before checking protocol
-
-2001-08-09 11:47 bagder
-
- * src/main.c: The redirected error stream was closed before
- curl_easy_cleanup() was made, and when VERBOSE was enabled, that
- used the stream. Also, the stream was closed even if we looped to
- get more files. Corrects Dustin Boswell's bug report #441610
-
-2001-08-09 11:13 bagder
-
- * src/Makefile.vc6: removied $Id$ again, this is treated as a
- binary file and then that field isn't updated! :-O
-
-2001-08-09 11:10 bagder
-
- * src/: Makefile.b32, Makefile.m32, Makefile.vc6: Added $Id$ to
- the header
-
-2001-08-09 11:10 bagder
-
- * lib/: Makefile.b32, Makefile.m32, Makefile.vc6: Added $Id$
- string for file version in the header
-
-2001-08-08 09:51 bagder
-
- * tests/runtests.pl: when a test expects an error code but gets a
- different one, we now output both of them
-
-2001-08-08 09:50 bagder
-
- * docs/INSTALL: Nico's notes about porting to VMS
-
-2001-08-08 09:49 bagder
-
- * CHANGES: test cases, verifyhost, curl -E
-
-2001-08-08 09:46 bagder
-
- * Makefile.am: added unfortunate but necessary special-purpose
- files for VMS and RISC OS
-
-2001-08-08 09:35 bagder
-
- * src/main.c: The file name given to -E can now contain drive
- letters on windows, if they start the file name as in 'X:\' where
- X is any letter. The colon otherwise normally separate the file
- name from the password.
-
-2001-08-08 09:23 bagder
-
- * docs/THANKS: credit where credit is due, added a bunch of recent
- contributors
-
-2001-08-08 09:16 bagder
-
- * lib/: ssluse.c, url.c, urldata.h: Patrick Bihan-Faou introduced
- CURLOPT_SSL_VERIFYHOST and code to deal with it.
-
-2001-08-08 09:15 bagder
-
- * include/curl/curl.h, src/main.c: Patrick Bihan-Faou's verifyhost
- addition
-
-2001-08-08 08:05 bagder
-
- * config-riscos.h: config.h file for RISC OS compiles
-
-2001-08-08 08:04 bagder
-
- * build_vms.com: script to build curl on VMS
-
-2001-08-07 23:36 bagder
-
- * docs/TODO: replacing FILE * with common file descriptors?
-
-2001-08-07 23:21 bagder
-
- * docs/FAQ: language correction
-
-2001-08-07 20:02 bagder
-
- * docs/FAQ: added Rick Jones's more polite wording of 1.7, makes it
- better and friendlier
-
-2001-08-07 14:42 bagder
-
- * tests/data/: Makefile.am, test18, test19, test20, test21, test22,
- test23, test24, test25, test26: nine new test cases
-
-2001-08-07 13:17 bagder
-
- * docs/FAQ: added "1.7 What about CURL from curl.com?"
-
-2001-08-07 11:21 bagder
-
- * tests/data/: Makefile.am, test202: test 202 - two file:// URLs in
- one command line
-
-2001-08-07 11:16 bagder
-
- * tests/data/: Makefile.am, test201: added test 201, file:// with
- missing file
-
-2001-08-06 15:44 bagder
-
- * CHANGES: VMS fixes, file:// changes, curl-config --libs patch
-
-2001-08-06 15:35 bagder
-
- * curl-config.in: Heikki Korpela posted a patch that makes --libs
- include the directory in which libcurl itself is installed in.
-
-2001-08-06 15:19 bagder
-
- * src/main.c: Nico's VMS fixes added
-
-2001-08-06 15:18 bagder
-
- * src/Makefile.am: Added curlmsg.msg to the distribution
-
-2001-08-06 15:18 bagder
-
- * src/curlmsg.msg: used under VMS
-
-2001-08-06 14:47 bagder
-
- * lib/ftp.c: Nico's fixes for VMS, most of these are fixes for bad
- uses of size_t that forgets that it is very often unsigned. These
- should be fixed globally and then many #ifdef VMS lines can be
- removed.
-
-2001-08-06 14:36 bagder
-
- * lib/: formdata.c, formdata.h, http.c: Curl_FormFree renamed to
- Curl_formclean, as it turns out VMS for example requires all
- global symbols to be *case insentively* unique! curl_formfree is
- a global function we shouldn't touch.
-
-2001-08-06 14:27 bagder
-
- * lib/setup.h: adjusted for VMS
-
-2001-08-06 14:26 bagder
-
- * config-vms.h: Nico's config.h for VMS
-
-2001-08-06 14:24 bagder
-
- * lib/netrc.c: Nico's VMS fixes
-
-2001-08-06 14:23 bagder
-
- * lib/memdebug.h: Nico's VMS adjustment
-
-2001-08-06 14:22 bagder
-
- * lib/if2ip.c: VMS adjustments. The IOCTL_3_ARGS #define used now
- should be moved to become a configure checked one.
-
-2001-08-06 14:20 bagder
-
- * lib/getpass.c: Nico Baggus made it work and compile under VMS!
-
-2001-08-06 14:19 bagder
-
- * lib/: getenv.c, hostip.c: Nico Baggus' VMS adjustments
-
-2001-08-06 14:17 bagder
-
- * lib/file.c: VMS #ifdefs added. several related to size_t problems
- that we must address globally anyway... check these as soon as
- the size_t fixes are in place
-
-2001-08-06 14:16 bagder
-
- * lib/dllinit.c: made this whole file #ifdef WIN32
-
-2001-08-06 14:14 bagder
-
- * lib/url.c: VMS #include fixes, file:// URL treatment improvements
-
-2001-08-06 14:10 bagder
-
- * tests/: runtests.pl, data/test200: adjusted to the correct
- treatmeant of file:// URLs
-
-2001-08-06 12:09 bagder
-
- * docs/INSTALL: Added RISC OS and OpenVMS to ported operating
- systems
-
-2001-08-06 10:43 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h, tests/runtests.pl:
- 7.8.1-pre3 commit
-
-2001-08-06 10:22 bagder
-
- * lib/sendf.c: Jonathan Hseu noticed that you couldn't get a
- header callback unless you
- set CURLOPT_WRITEHEADER to non-NULL, even if you didn't care
- about that
- data. This is now fixed.
-
-2001-08-06 10:18 bagder
-
- * lib/url.c: corrected the comment for CURLOPT_WRITEHEADER in
- setopt(), and made it read a void * and not a FILE *, as that was
- how it used to work and not anymore...
-
-2001-08-05 15:00 bagder
-
- * CHANGES: many fixes mailed in during July
-
-2001-08-05 14:34 bagder
-
- * lib/escape.c: curl_escape() no longer attempts to detect already
- encoded stuff (in order not to re-encode it).
-
-2001-08-05 14:30 bagder
-
- * lib/transfer.c: - Sergio Ballestrero provided a patch for reading
- responses from NCSA httpd 1.5.x servers, as they return really
- screwed up response headers when asked for with HTTP 1.1.
-
-2001-08-04 16:42 bagder
-
- * docs/TODO: -G or similar to make -d data get into a GET
-
-2001-08-03 17:11 bagder
-
- * lib/arpa_telnet.h: complete rewrite to avoid the BSD license in
- the previous version
-
-2001-08-03 16:06 bagder
-
- * docs/curl.1: clarified '-d @filename' with a tiny example
-
-2001-08-03 15:52 bagder
-
- * lib/base64.h: fixed the header that wrongly was the krb4-style
- one
-
-2001-08-03 15:51 bagder
-
- * lib/base64.c: Andrew Francis base64 decode, my previous base64
- encoder, new source header. No BSD-style license.
-
-2001-08-03 13:53 bagder
-
- * include/curl/curl.h: added CURLOPT_HTTPGET
-
-2001-08-03 13:52 bagder
-
- * lib/: http.c, transfer.c, url.c, urldata.h: httpreq cleanup fix
-
-2001-08-03 08:39 bagder
-
- * tests/Makefile.am: httpsserver.pl added to release archive
-
-2001-08-02 19:29 bumblebury
-
- * docs/curl_global_init.3: Funny, I skipped right over this before.
-
- everyting -> everything
-
-2001-08-02 19:25 bagder
-
- * CHANGES: manual fix, select() loop fix, progress callback fix
-
-2001-08-02 19:12 bagder
-
- * docs/MANUAL: Frank Keeney pointed out a manual mistake for
- certificate convertions
-
-2001-08-02 19:08 bagder
-
- * docs/TODO: "Add an interface that enables a user to select
- prefered SSL ciphers to use."
-
- Rob Styles posted the question, as he could've used this...
-
-2001-08-02 19:05 bagder
-
- * lib/progress.c: don't do final newline output when using progress
- callback
-
-2001-08-02 18:52 bagder
-
- * lib/transfer.c: FD_ZERO() the keepfd variables properly when
- keepon is modified (Tomasz Lacki reported 12 Jul 2001)
-
-2001-07-12 04:00 bumblebury
-
- * docs/examples/win32sockets.c: Leftover -- add a note about this
- in the examples file :)
-
-2001-07-12 03:57 bumblebury
-
- * docs/TODO, docs/curl_global_init.3, include/curl/curl.h,
- lib/easy.c, src/main.c: Add win32 initialization support to
- curl_global_init() and curl_global_cleanup(). Update
- corresponding man pages...
-
- Improve the logic in curl_global_cleanup() and curl_global_init()
- so that they are not called twice if the application libraries
- have been initialized and make sure to reset the init flags in
- curl_global_cleanup().
-
-2001-07-02 11:23 bagder
-
- * CHANGES: borland makefile fix
-
-2001-07-02 10:21 bagder
-
- * docs/TODO: added more ideas that've been floating around lately
-
-2001-07-02 09:04 bagder
-
- * docs/TODO: removed the "change test suite" item, as that is
- already made
-
-2001-07-02 09:02 bagder
-
- * docs/TODO: Added an item about the cookie jar stuff, contains a
- link to the dev file about this subject
-
-2001-06-29 13:33 bagder
-
- * docs/examples/win32sockets.c: removed static, removed curl
- special return type, added include windows.h
-
-2001-06-29 13:18 bagder
-
- * lib/Makefile.b32: added strtok.c as a source file
-
-2001-06-29 09:38 bagder
-
- * CHANGES, lib/ssluse.c: Nic Roets brought a fix for the
- certificate verification when using SSL.
-
-2001-06-28 15:25 bagder
-
- * tests/data/Makefile.am: added test 43
-
-2001-06-28 15:24 bagder
-
- * tests/data/test43: HTTP Location: following over HTTP proxy
-
-2001-06-28 00:04 bagder
-
- * tests/data/test103: now runs ok on IPv6 enabled hosts
-
-2001-06-28 00:01 bagder
-
- * tests/data/test101: now does OK even on IPv6-enabled hosts
-
-2001-06-28 00:01 bagder
-
- * tests/runtests.pl: better strip
-
-2001-06-25 14:58 bagder
-
- * CHANGES: multiple file transfers with resume fix
-
-2001-06-25 14:56 bagder
-
- * src/main.c: 'resume from'-fix. When using "-C -" and doing
- multiple file download, the first resume was used on all files
- instead of being reset between each file. As found by Björn
- Stenberg.
-
-2001-06-25 11:49 bagder
-
- * CHANGES: - Anton Kalmykov provided a fix that makes curl work
- with form field names with spaces like when -F is used.
-
-2001-06-25 11:39 bagder
-
- * lib/formdata.c: Anton Kalmykov's fix for dealing with form names
- with spaces!
-
-2001-06-21 11:39 bagder
-
- * docs/curl_easy_cleanup.3: added return type void in SYNOPSIS
-
-2001-06-21 11:34 bagder
-
- * docs/: Makefile.am, curl_strequal.3, libcurl.3, libcurl.5:
- libcurl.5 is renamed to libcurl.3
-
-2001-06-20 09:50 bagder
-
- * CHANGES: all changes from year 2000 was moved to CHANGES.2000 and
- that is now only available in CVS
-
-2001-06-20 09:50 bagder
-
- * CHANGES.2000: the changelog from year 2000
-
-2001-06-20 09:48 bagder
-
- * CHANGES: ftp cut off transfer fix, configure --with-ssl fix
-
-2001-06-20 09:43 bagder
-
- * configure.in: when --with-ssl is used with a specified path, we
- use that path immediately to check libs and include files in, we
- don't check the default places first!
-
-2001-06-19 11:12 bagder
-
- * docs/TODO: Added items we've discussed previously, and URLs to
- dev notes discussing the matter
-
-2001-06-19 08:04 bagder
-
- * lib/ftp.c: better treatment of truly aborted transfers
-
-2001-06-18 16:37 bagder
-
- * lib/.cvsignore: files to ignore by default in cvs operations
-
-2001-06-14 14:16 bagder
-
- * tests/runtests.pl: made stdin testing work, also made
- 'nocheck=true' work when set on the reply data section
-
-2001-06-14 14:05 bagder
-
- * tests/data/: Makefile.am, test15, test16, test17: three more HTTP
- tests added from the old test suite
-
-2001-06-12 20:22 bagder
-
- * lib/ssluse.c: removed a failf() that would overwrite the previous
- error message
-
-2001-06-12 11:23 bagder
-
- * CHANGES: better ssl error msg, libcurl.def fix, -version-info
- corrected, more test cases and fixed FTP ranges
-
-2001-06-12 11:21 bagder
-
- * lib/url.c: Salvador Dávila's ftp range download fix
-
-2001-06-12 11:12 bagder
-
- * tests/data/: Makefile.am, test101, test102, test103, test104,
- test105, test106, test107, test33: New test cases added
-
-2001-06-12 10:38 bagder
-
- * tests/ftpserver.pl: supports SIZE now
-
-2001-06-11 14:31 bagder
-
- * lib/Makefile.am: corrected the -version-info
-
-2001-06-11 14:29 bagder
-
- * configure.in: Added a check that 'localhost' resolves before the
- gethostbyname_r() checks, as they depend on the resolving of that
- name. It seems this mistake is happening from time to time and
- people have a hard time finding out why configure can't detect
- their gethostbyname_r()-setup.
-
-2001-06-07 13:44 bagder
-
- * lib/libcurl.def: duplicate curl_unescape entry removed
-
-2001-06-07 11:39 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.8 commit
-
-2001-06-07 08:21 bagder
-
- * docs/INSTALL: SM's suggested update of the Microsoft and SSL
- compiling section
-
-2001-06-07 07:59 bagder
-
- * lib/url.c: SDavila posted a fix that sets conn->bits.use_range
- properly when doing resumed downloads
-
-2001-06-07 07:41 bagder
-
- * lib/Makefile.m32: Jörn corrected the mingw32 makefile
-
-2001-06-06 16:26 bagder
-
- * lib/: Makefile.vc6, curllib.dsp, libcurl.def: S. Moonesamy
- updates, strtok.[ch] issues
-
-2001-06-06 11:39 bagder
-
- * CVS-INFO: Added note about src/hughelp.c and the new *.cvs file
- that can be used if you really can't generate that file.
-
-2001-06-06 11:37 bagder
-
- * src/hugehelp.c.cvs: For people using CVS but with no perl, like
- all those windows losers. They can just rename this file and cut
- off the extension instead...
-
-2001-06-06 11:33 bagder
-
- * README: corrected the CVS note about not creating a
- subdirectory... which it does now
-
-2001-06-05 13:48 bagder
-
- * CHANGES: MUTE is gone, PHP examples, new CVS structure
-
-2001-06-05 13:27 bagder
-
- * lib/formdata.c: made the test-program in the bottom
- compile/build, remember to link with strequal.o as well!
-
-2001-06-01 23:56 bumblebury
-
- * curl-config.in: Add documentation for the --vernum attribute
-
-2001-06-01 09:33 bagder
-
- * docs/curl_easy_setopt.3: CURLOPT_CONNECTTIMEOUT works on win32
- these days, S. Moonesamy pointed out
-
-2001-06-01 06:46 bumblebury
-
- * README: Update the cvs instructions.
-
-2001-06-01 02:02 bumblebury
-
- * CVS-INFO: Test (and revert change from previous test).
-
-2001-06-01 01:56 bumblebury
-
- * CVS-INFO: testing... testing... 1, 2, 3
-
-2001-05-31 15:55 bagder
-
- * docs/curl_easy_setopt.3: removed CURLOPT_MUTE, it is not used
- anymore
-
-2001-05-31 15:52 bagder
-
- * include/curl/curl.h: MUTE is now considered obsolete
-
-2001-05-31 15:50 bagder
-
- * lib/: sendf.c, url.c, urldata.h: CURLOPT_MUTE and data->bits.mute
- are history, removed, gone!
-
-2001-05-31 15:32 bagder
-
- * CHANGES: the global init stuff, strtok.h mess, _REENTRANT fixed
-
-2001-05-31 13:30 bumblebury
-
- * lib/easy.c: Test and substance patch.
-
- This is my first CVS commit :), what it does:
-
- - Makes sure that parts of the cURL library don't get initialized
- twice - Makes sure that we only free what we initialize
-
-2001-05-31 10:41 bagder
-
- * docs/: curl_easy_cleanup.3, curl_easy_getinfo.3,
- curl_easy_init.3, curl_easy_perform.3, curl_easy_setopt.3,
- curl_escape.3, curl_formfree.3, curl_formparse.3, curl_getdate.3,
- curl_getenv.3, curl_global_cleanup.3, curl_mprintf.3,
- curl_slist_append.3, curl_slist_free_all.3, curl_strequal.3,
- curl_unescape.3, curl_version.3, libcurl.5: Added CVS $Id$
- keyword for inline version tracking
-
-2001-05-31 10:35 bagder
-
- * docs/curl_global_init.3: updated to again set the flags of what
- to init, and now also feature a set of available flags
-
-2001-05-31 10:24 bagder
-
- * configure.in: fixed the dlopen check
-
-2001-05-31 09:03 bagder
-
- * lib/: http.c, if2ip.c: removed _REENTRANT define
-
-2001-05-31 09:02 bagder
-
- * lib/getdate.c: re-generated
-
-2001-05-31 09:02 bagder
-
- * lib/strtok.h: include setup.h _before_ system includes
-
-2001-05-31 09:01 bagder
-
- * lib/setup.h: if NEED_REENTRANT is set, define _REENTRANT already
- here since it has to be defined as many include files as possible
- (Solaris req)
-
-2001-05-31 09:00 bagder
-
- * lib/getdate.y: includes setup.h, and thus I could remove the
- _REENTRANT define
-
-2001-05-31 08:10 bagder
-
- * include/curl/curl.h: the CURL_GLOBAL flags are now used to set
- what parts to init globally
-
-2001-05-31 08:06 bagder
-
- * lib/easy.c: went back to the version where the flags argument to
- curl_global_init() specify exactly what global parts to init.
- Thanks to Sterling Hughes really for arguing wisely.
-
-2001-05-31 08:05 bagder
-
- * lib/strtok.h: removed the prototype and made it include string.h
- instead
-
- If your system, such as Solaris 2.7, lacks the strtok_r()
- prototype in
- string.h, then you'll face a bunch of warnings on all
- instances
- where strtok_r() is used.
-
- There's not much we can do about it. Adding a prototype here
- screws
- everything up on other platforms! :-(
-
-2001-05-31 07:55 bagder
-
- * lib/krb4.c: Sterling Hughes suggested we set 'static' before
- size_t...
-
-2001-05-30 14:51 bagder
-
- * lib/url.c: libcurl now has MUTE and NOPROGRESS set by default
-
-2001-05-30 13:24 bagder
-
- * include/curl/curl.h, src/version.h: 7.8-pre2
-
-2001-05-30 13:06 bagder
-
- * lib/: cookie.c, netrc.c, strtok.h, url.c: include strtok.h to get
- the prototype
-
-2001-05-30 13:06 bagder
-
- * lib/hostip.c: finally fixed the 'ret' compiler warning
-
-2001-05-30 12:42 bagder
-
- * docs/TODO: removed python interface, there is one now! ;-)
-
-2001-05-30 12:34 bagder
-
- * CHANGES: -# fix, thread fix, easy.c compile fix and more
-
-2001-05-30 12:29 bagder
-
- * buildconf: made the automake line re-build from _all_ Makefile.am
- files in the source tree
-
-2001-05-30 10:01 bagder
-
- * docs/FAQ: english fix
-
-2001-05-30 10:01 bagder
-
- * src/main.c: now uses CURL_GLOBAL_DEFAULT
-
-2001-05-30 10:00 bagder
-
- * include/curl/curl.h, lib/easy.c, lib/ssluse.c: curl_global_init()
- support for CURL_GLOBAL_NOT_SSL
-
-2001-05-30 09:59 bagder
-
- * buildconf, reconf: Sterling Hughes's fixes
-
-2001-05-30 06:31 crisb
-
- * Makefile.am, configure.in, packages/Makefile.am,
- packages/Solaris/Makefile.am: Added Solaris 'pkgadd' building
- support to packages collection and autoconf/automake files
-
-2001-05-29 21:28 bagder
-
- * acinclude.m4: not used in autoconf version 2.50
-
-2001-05-29 21:25 bagder
-
- * configure.in: check for strtok_r
-
-2001-05-29 21:20 bagder
-
- * lib/strtok.h: curl_ => Curl_
-
-2001-05-29 21:20 bagder
-
- * lib/strtok.c: re-indented to follow "project curl"-style, renamed
- curl_ prefix to Curl_
-
-2001-05-29 21:17 bagder
-
- * lib/: cookie.c, netrc.c, url.c: strtok() replaced with strtok_r()
-
-2001-05-29 21:17 bagder
-
- * buildconf: adjusted for automake 1.4+
-
-2001-05-29 21:17 bagder
-
- * lib/: Makefile.am, strtok.c, strtok.h: Added strtok.[ch]
-
-2001-05-29 21:14 bagder
-
- * CVS-INFO: we rqeuire autoconf 2.50 now
-
-2001-05-29 20:30 bagder
-
- * src/main.c: fixed the -# to write to the same as --stderr is set
- to
-
-2001-05-29 16:02 bagder
-
- * docs/FAQ: 3.11 How do I POST with a different Content-Type?
-
-2001-05-29 15:28 bagder
-
- * docs/curl_easy_setopt.3: clarified the MUTE option
-
-2001-05-29 15:23 bagder
-
- * docs/INTERNALS: updated, improved language at a few places
-
-2001-05-29 14:09 bagder
-
- * docs/: Makefile.am, THANKS, curl.1: moved list of authors to the
- separate THANKS file and added that to the release archive
-
-2001-05-29 14:09 bagder
-
- * docs/curl_global_cleanup.3: text: added in 7.8
-
-2001-05-29 10:27 bagder
-
- * docs/curl_global_init.3: beauty fix
-
-2001-05-29 09:20 bagder
-
- * lib/easy.c: global_init() takes that flag argument
-
-2001-05-28 23:50 bagder
-
- * maketgz, include/curl/curl.h, src/version.h: 7.8-pre1 commit
-
-2001-05-28 23:49 bagder
-
- * tests/: Makefile.am, getpart.pm, httpserver.pl: fixes
-
-2001-05-28 23:49 bagder
-
- * Makefile.am: added libtool
-
-2001-05-28 23:45 bagder
-
- * CHANGES: major: curl_general_init/cleanup
-
-2001-05-28 23:45 bagder
-
- * docs/TODO: ftps:// works
-
-2001-05-28 17:31 bagder
-
- * src/main.c: adjusted the global_init() call to pass the new flag
- argument too
-
-2001-05-28 17:30 bagder
-
- * docs/curl_global_init.3, include/curl/curl.h: global_init() takes
- a flag option now, to tell libcurl what _not_ to init. it will
- make it better when the application uses several libs that use
- openssl and it also enables us to do the win32 winsock initing in
- the future if we want to
-
-2001-05-28 17:26 bagder
-
- * tests/runtests.pl: better -v use, passes -I to all perl invokes
-
-2001-05-28 17:06 bagder
-
- * src/main.c: added calls to curl_global_*, they aren't really
- needed for this application but it shows good manner to always
- cleanup
-
-2001-05-28 16:58 bagder
-
- * configure.in, curl-config.in, docs/curl-config.1: added
- 'curl-config --vernum' for hardcore hex version output
-
-2001-05-28 16:32 bagder
-
- * tests/data/Makefile.am: changed the check for command1.txt to
- test1, so that automatic testing in 'make distcheck' will work
-
-2001-05-28 16:12 bagder
-
- * lib/Makefile.am: increased interface age
-
-2001-05-28 16:12 bagder
-
- * lib/: easy.c, ssluse.c, ssluse.h, url.c: T. Bharath's comments
- about SSL cleanup incorporated, and the two new curl_global_*
- functions
-
-2001-05-28 16:11 bagder
-
- * docs/: Makefile.am, curl_global_cleanup.3, curl_global_init.3,
- libcurl.5: curl_global_cleanup and curl_global_init added to the
- family
-
-2001-05-28 14:31 bagder
-
- * tests/data/Makefile.am: Added more test cases
-
-2001-05-28 14:30 bagder
-
- * tests/data/: test10, test11, test12, test13, test14, test200,
- test6, test7, test8, test9: test case converted to the new file
- format
-
-2001-05-28 13:19 bagder
-
- * tests/data/test5: test: HTTP over proxy
-
-2001-05-23 17:05 bagder
-
- * tests/README: Removed references to the previous file format,
- added some tests about the new format but there's still much more
- to be said and done
-
-2001-05-23 17:02 bagder
-
- * tests/: Makefile.am, ftpserver.pl, getpart.pm, httpserver.pl,
- runtests.pl: adjusted to the new test case formats
-
-2001-05-23 17:02 bagder
-
- * tests/data/Makefile.am: Removed the former files using the
- old-style test case format, added the new ones. Many more of the
- old ones must be "ported" to this new format to make the test
- suite complete again.
-
-2001-05-23 17:00 bagder
-
- * tests/data/: command1.txt, command10.txt, command100.txt,
- command101.txt, command102.txt, command103.txt, command104.txt,
- command105.txt, command106.txt, command107.txt, command108.txt,
- command109.txt, command11.txt, command110.txt, command111.txt,
- command112.txt, command113.txt, command114.txt, command115.txt,
- command116.txt, command117.txt, command118.txt, command119.txt,
- command12.txt, command120.txt, command121.txt, command122.txt,
- command123.txt, command13.txt, command14.txt, command15.txt,
- command16.txt, command17.txt, command18.txt, command19.txt,
- command2.txt, command20.txt, command200.txt, command201.txt,
- command21.txt, command22.txt, command23.txt, command24.txt,
- command25.txt, command26.txt, command27.txt, command28.txt,
- command29.txt, command3.txt, command30.txt, command300.txt,
- command31.txt, command32.txt, command33.txt, command34.txt,
- command35.txt, command36.txt, command37.txt, command38.txt,
- command39.txt, command4.txt, command40.txt, command400.txt,
- command41.txt, command5.txt, command6.txt, command7.txt,
- command8.txt, command9.txt, error111.txt, error113.txt,
- error114.txt, error115.txt, error116.txt, error117.txt,
- error118.txt, error119.txt, error19.txt, error20.txt,
- error201.txt, error21.txt, error23.txt, error24.txt, error25.txt,
- error30.txt, error36.txt, extra33.txt, ftpd113.txt, ftpd114.txt,
- ftpd115.txt, ftpd116.txt, ftpd117.txt, ftpd118.txt, name1.txt,
- name10.txt, name100.txt, name101.txt, name102.txt, name103.txt,
- name104.txt, name105.txt, name106.txt, name107.txt, name108.txt,
- name109.txt, name11.txt, name110.txt, name111.txt, name112.txt,
- name113.txt, name114.txt, name115.txt, name116.txt, name117.txt,
- name118.txt, name119.txt, name12.txt, name120.txt, name121.txt,
- name122.txt, name123.txt, name13.txt, name14.txt, name15.txt,
- name16.txt, name17.txt, name18.txt, name19.txt, name2.txt,
- name20.txt, name200.txt, name201.txt, name21.txt, name22.txt,
- name23.txt, name24.txt, name25.txt, name26.txt, name27.txt,
- name28.txt, name29.txt, name3.txt, name30.txt, name300.txt,
- name31.txt, name32.txt, name33.txt, name34.txt, name35.txt,
- name36.txt, name37.txt, name38.txt, name39.txt, name4.txt,
- name40.txt, name400.txt, name41.txt, name5.txt, name6.txt,
- name7.txt, name8.txt, name9.txt, prot1.txt, prot10.txt,
- prot100.txt, prot101.txt, prot102.txt, prot103.txt, prot104.txt,
- prot105.txt, prot106.txt, prot107.txt, prot108.txt, prot109.txt,
- prot11.txt, prot110.txt, prot112.txt, prot12.txt, prot120.txt,
- prot121.txt, prot122.txt, prot123.txt, prot13.txt, prot14.txt,
- prot15.txt, prot16.txt, prot17.txt, prot18.txt, prot2.txt,
- prot22.txt, prot26.txt, prot27.txt, prot28.txt, prot29.txt,
- prot3.txt, prot30.txt, prot300.txt, prot31.txt, prot32.txt,
- prot33.txt, prot34.txt, prot35.txt, prot37.txt, prot38.txt,
- prot39.txt, prot4.txt, prot40.txt, prot400.txt, prot41.txt,
- prot5.txt, prot6.txt, prot7.txt, prot8.txt, prot9.txt,
- reply1.txt, reply10.txt, reply100.txt, reply101.txt,
- reply102.txt, reply103.txt, reply104.txt, reply105.txt,
- reply106.txt, reply11.txt, reply110.txt, reply110001.txt,
- reply110002.txt, reply12.txt, reply120.txt, reply121.txt,
- reply122.txt, reply1220001.txt, reply123.txt, reply13.txt,
- reply14.txt, reply15.txt, reply16.txt, reply17.txt, reply2.txt,
- reply200.txt, reply22.txt, reply24.txt, reply25.txt, reply26.txt,
- reply28.txt, reply29.txt, reply3.txt, reply30.txt, reply31.txt,
- reply310001.txt, reply310002.txt, reply32.txt, reply320001.txt,
- reply320002.txt, reply33.txt, reply34.txt, reply340001.txt,
- reply35.txt, reply36.txt, reply37.txt, reply38.txt,
- reply380001.txt, reply39.txt, reply390001.txt, reply390002.txt,
- reply4.txt, reply40.txt, reply400.txt, reply41.txt, reply5.txt,
- reply6.txt, reply7.txt, reply8.txt, reply9.txt, stdin17.txt,
- stdout107.txt, stdout108.txt, stdout109.txt, stdout110.txt,
- stdout112.txt, stdout15.txt, stdout18.txt, stdout27.txt, test1,
- test100, test2, test3, test300, test4, test400, upload107.txt,
- upload108.txt, upload109.txt, upload112.txt: new test case file
- format
-
-2001-05-23 15:04 bagder
-
- * lib/cookie.c: Added Andres' comments about field 2 in netscape
- cookie files
-
-2001-05-23 11:26 bagder
-
- * lib/cookie.c: Andrés García's netscape cookie file parser fix
-
-2001-05-22 23:17 bagder
-
- * CHANGES, Makefile.am, configure.in, maketgz, src/Makefile.am:
- general autoconf and automake fixes
-
-2001-05-22 23:09 bagder
-
- * lib/transfer.c: store httpcode _before_ doing the FAILONERROR
- check so that getinfo works afterwards (bug #426442)
-
-2001-05-22 20:16 bagder
-
- * CHANGES, acconfig.h, config.guess, config.sub, configure.in,
- ltmain.sh, docs/curl_easy_setopt.3, docs/curl_formparse.3,
- docs/libcurl.5, include/curl/curl.h, src/config-win32.h,
- src/config.h.in, src/version.h: cleanup commit for new
- autoconf+automake+libtool versions
-
-2001-05-22 14:05 bagder
-
- * CHANGES: fixes and improvments
-
-2001-05-21 23:45 bagder
-
- * lib/: curllib.dsp, curllib.dsw: turned newlines into DOS styles
-
-2001-05-21 23:42 bagder
-
- * src/Makefile.vc6, lib/Makefile.vc6: made it binary in CVS to
- maintain DOS newlines and turned those newlines into the DOS
- kind!
-
-2001-05-21 15:40 bagder
-
- * tests/README: Added text about the test case numbering
-
-2001-05-21 15:38 bagder
-
- * tests/runtests.pl: doesn't run ssl tests if libcurl wasn't built
- with ssl support (and reports about the libcurl SSL status)
-
-2001-05-21 15:33 bagder
-
- * configure.in: added a lame double-check for libcrypto as
- otherwise it wouldn't get added properly! (?) Anyone has any
- better solution then please step forward!
-
-2001-05-21 15:31 bagder
-
- * tests/data/Makefile.am: Added test case 400, the first ftps://
- one
-
-2001-05-21 15:31 bagder
-
- * tests/data/: prot400.txt, reply400.txt: ftps test case data
-
-2001-05-21 15:30 bagder
-
- * lib/transfer.c: slightly "hackish" approach to disable SSL during
- download if the connection is a FTPS connection as the data
- transfer is then done unencrypted!
-
-2001-05-18 16:42 bagder
-
- * configure.in: this should not set a SSL path to LDFLAGS or
- CPPFLAGS unless it really needs to
-
-2001-05-18 14:55 bagder
-
- * docs/TODO: added some, removed some, moved around some.
-
-2001-05-18 14:36 bagder
-
- * configure.in: nicer OpenSSL header check
-
-2001-05-18 14:03 bagder
-
- * lib/strequal.h: our internal strlcat() is now named
- Curl_strlcat()
-
-2001-05-18 12:02 bagder
-
- * lib/strequal.c: strlcat() is now Curl_strlcat() instead to
- prevent collisions when used with other libs
-
-2001-05-18 12:02 bagder
-
- * lib/krb4.c: strlcpy() turned static
-
-2001-05-16 16:45 bagder
-
- * include/curl/curl.h: Added #define CURLE_ALREADY_COMPLETE to not
- break compiles that use that symbol, but libcurl will not return
- this ever
-
-2001-05-15 15:09 bagder
-
- * docs/FAQ: added pointer to the examples/getinmemory.c source code
- for paragraph 5.2 "How can I receive all data into a large memory
- chunk?"
-
-2001-05-15 15:08 bagder
-
- * docs/examples/Makefile.am: Added getinmemory.c
-
-2001-05-15 15:04 bagder
-
- * docs/examples/getinmemory.c: this might actually compile too...
-
-2001-05-15 15:03 bagder
-
- * docs/examples/getinmemory.c: an example on how you can use the
- write callback to receive data in a memory chunk
-
-2001-05-15 14:56 bagder
-
- * docs/examples/Makefile.example: We need -lpthread for the pthread
- example
-
-2001-05-15 14:55 bagder
-
- * docs/examples/sepheaders.c: corrected
-
-2001-05-15 13:00 bagder
-
- * docs/curl.1: Added Pawel A. Gajda
-
-2001-05-15 09:21 bagder
-
- * lib/url.c: Pawel A. Gajda fixed resumed transfers on persistent
- connections
-
-2001-05-14 14:25 bagder
-
- * tests/data/Makefile.am: Added the first https test: 300
-
-2001-05-14 14:09 bagder
-
- * tests/: ftpserver.pl, httpserver.pl, runtests.pl: pid files
- fixes, ftp server already-running-but-no-control check
-
-2001-05-14 13:29 bagder
-
- * lib/ftp.c: Jun-ichiro itojun Hagino fixed FTP PORT for
- IPv6-enabled libcurl
-
-2001-05-14 09:08 bagder
-
- * packages/Win32/README: added a pointer to the download web page
-
-2001-05-12 18:11 bagder
-
- * lib/transfer.c: Added tons of comments all over
-
-2001-05-12 11:49 bagder
-
- * CHANGES: multiple transfer path fixes, location fixes, resume
- download changes, ssl peer verify fixes and more
-
-2001-05-12 11:37 bagder
-
- * include/curl/curl.h: CURLE_ALREADY_COMPLETE is removed
- CURLE_SSL_PEER_CERTIFICATE is added
-
-2001-05-12 11:30 bagder
-
- * lib/: ftp.c, http.c: Uses the Curl_SSLConnect() according to the
- new return type
-
-2001-05-12 11:29 bagder
-
- * lib/: ssluse.c, ssluse.h: fixed Curl_SSLConnect() to return
- CURLcode errors, including the new error code for peer
- certificate errors
-
-2001-05-11 13:40 bagder
-
- * tests/data/: Makefile.am, command122.txt, command123.txt,
- name122.txt, name123.txt, prot122.txt, prot123.txt, reply122.txt,
- reply1220001.txt, reply123.txt: two new FTP file transfer resume
- test cases added
-
-2001-05-11 13:38 bagder
-
- * lib/transfer.h: removed unused #ifdef'ed section
-
-2001-05-11 13:38 bagder
-
- * lib/: ftp.c, urldata.h: when asking for a resumed FTP transfer,
- even though the entire file has already been transfered no longer
- returns error but instead is OK. The reasoning behind this is of
- course that no extra actions need to be taken and it is as if a
- transfer had been successfully performed.
-
-2001-05-11 09:52 bagder
-
- * lib/transfer.c: checkheader() added to check headers+contents
- instead of the previous strnequal() approach that really didn't
- follow the RFC properly
-
-2001-05-11 08:40 bagder
-
- * lib/url.c: another multiple FTP transfer fix
-
-2001-05-11 08:10 bagder
-
- * lib/: transfer.c, url.c: Ingo Wilken's redirect fixes
-
-2001-05-10 13:29 bagder
-
- * lib/transfer.c: Ingo Wilken's patch to support multiple spaces
- after "Location:"
-
-2001-05-10 11:31 bagder
-
- * lib/url.c: When re-using a connection, the path pointers were not
- setup properly so that multiple FTP transfers were not possible
-
-2001-05-10 09:51 bagder
-
- * tests/Makefile.am: added ftpsserver.pl stunnel.pm
-
-2001-05-08 14:39 bagder
-
- * docs/curl.1: removed some texts like "starting with version XXX"
- blabla
-
-2001-05-08 14:30 bagder
-
- * docs/: curl.1, curl_easy_setopt.3: made clear that the cookie
- file format understood is Netscape _and_ Mozilla
-
-2001-05-08 14:10 bagder
-
- * lib/ftp.c: when getting a FTP file with NOBODY, we will no longer
- return error if SIZE doesn't work, we just don't output any size
- info!
-
-2001-05-07 23:25 bagder
-
- * tests/data/Makefile.am: Added stunnel.pem
-
-2001-05-07 14:38 bagder
-
- * lib/http.c: corrected the read-callback typecase since FILE * was
- replaced with void *
-
-2001-05-07 13:17 bagder
-
- * lib/urldata.h: fixed 'storefread' to not make a warning
-
-2001-05-07 13:12 bagder
-
- * include/curl/curl.h, src/version.h: 7.7.3
-
-2001-05-07 12:51 bagder
-
- * CHANGES: changed FILE * to void * in all callbacks
-
-2001-05-04 11:35 bagder
-
- * docs/examples/Makefile.am: Added multithread.c
-
-2001-05-04 11:35 bagder
-
- * docs/examples/multithread.c: example using multiple threads to
- get URLs
-
-2001-05-04 10:46 bagder
-
- * docs/curl.1: updated contributors list
-
-2001-05-04 09:47 bagder
-
- * docs/curl_easy_setopt.3, include/curl/curl.h, lib/url.c,
- lib/urldata.h, src/main.c, tests/runtests.pl: 'FILE *' changed to
- 'void *' in all callback functions
-
-2001-05-04 08:17 bagder
-
- * docs/INSTALL: fixed the link to the OS/2 Patch for OpenSSL
-
-2001-05-03 16:24 bagder
-
- * docs/curl_formparse.3: corrected bad use of the CURLOPT_HTTPPOST
- header
-
-2001-05-03 13:09 bagder
-
- * CHANGES: Cris changes
-
-2001-05-03 12:53 bagder
-
- * lib/url.c: Cris Bailiff's fix to disable chunked transfers on
- re-used persistent connections.
-
-2001-05-03 12:45 bagder
-
- * lib/transfer.c: Cris Bailiff's fix to never attempt to get the
- body of a 304-reply!
-
-2001-05-03 11:13 bagder
-
- * CVS-INFO: buildconf added, Sterling Hughes added that file
-
-2001-05-03 11:12 bagder
-
- * buildconf: useful script to run after updating from CVS
-
-2001-05-03 11:10 bagder
-
- * docs/examples/Makefile.am: fixed the EXTRA_DIST line
-
-2001-04-27 20:03 bagder
-
- * lib/transfer.c: When Content-Length:0 is received, we now bail
- now and return success directly after all the headers are
- received!
-
-2001-04-27 16:48 bagder
-
- * CHANGES: bugs, fixes and updates
-
-2001-04-27 16:46 bagder
-
- * docs/INTERNALS: clarified and updated
-
-2001-04-27 10:02 bagder
-
- * lib/: transfer.c, url.c: improved treatment of "Content-Length:
- 0", which is done by having maxdownload set to -1 when not used
-
-2001-04-27 09:58 bagder
-
- * tests/data/: command40.txt, command41.txt, name40.txt,
- name41.txt, prot40.txt, prot41.txt, reply40.txt, reply41.txt: new
-
-2001-04-26 12:29 bagder
-
- * lib/ftp.c: Curl_GetFTPResponse() is rewritten to read all
- incoming data in large chunks, which makes it a lot faster and
- will make ftps work better...
-
-2001-04-26 10:32 bagder
-
- * tests/runtests.pl: split curl and libcurl into two strings in the
- initial display
-
-2001-04-25 23:24 bagder
-
- * lib/url.c: connection re-using didn't work on non-default ports
- when not using proxy until now
-
-2001-04-24 23:47 bagder
-
- * memanalyze.pl: added some verbose summary output stuff
-
-2001-04-24 23:46 bagder
-
- * tests/runtests.pl: no name no test
-
-2001-04-24 23:41 bagder
-
- * lib/ssluse.c: include debugmem for memory leak detection
-
-2001-04-24 23:11 bagder
-
- * tests/data/: command300.txt, command400.txt, name300.txt,
- name400.txt, prot300.txt: SSL based tests
-
-2001-04-24 23:09 bagder
-
- * tests/: ftpserver.pl, ftpsserver.pl, httpsserver.pl, runtests.pl,
- stunnel.pm: new tests, new server invoke system
-
-2001-04-24 23:09 bagder
-
- * tests/data/: stdout15.txt, stunnel.pem: fixed
-
-2001-04-24 23:09 bagder
-
- * tests/README: stunnel and diff are added requirements
-
-2001-04-24 08:12 bagder
-
- * lib/version.c: on albert chin's comment I remade the fix to set
- '\0' instead of 0 since they're chars
-
-2001-04-23 14:37 bagder
-
- * README: libcurl.5 replaces LIBCURL as main libcurl overview
- document
-
-2001-04-23 14:36 bagder
-
- * docs/curl_formparse.3: minor rephrasing
-
-2001-04-23 13:57 bagder
-
- * docs/curl_formparse.3: form post, not just form
-
-2001-04-23 13:55 bagder
-
- * docs/curl_formparse.3: clarified and extended with an example
-
-2001-04-23 13:42 bagder
-
- * docs/README.win32: Added comment about where to find the HTML
- versions of the man pages
-
-2001-04-23 13:40 bagder
-
- * docs/libcurl.5: Added curl_mprintf and curl_strequal in the list
- of "useful functions"
-
-2001-04-23 10:30 bagder
-
- * docs/Makefile.am: curl_printf became curl_mprintf
-
-2001-04-23 10:29 bagder
-
- * docs/: curl_mprintf.3, curl_printf.3: curl_printf is curl_mprintf
- now
-
-2001-04-23 09:54 bagder
-
- * lib/version.c: Added zero termination, as the OpenSSL version
- string was written without it!
-
-2001-04-23 09:34 bagder
-
- * include/curl/curl.h, src/version.h: curl 7.7.2
-
-2001-04-23 09:27 bagder
-
- * CHANGES: borland fixes, broken host: for persistent connections
-
-2001-04-23 09:09 bagder
-
- * docs/INTERNALS: persistent is spelled with an 'e', not an 'a'
-
-2001-04-23 08:11 bagder
-
- * lib/url.c: no need to copy the name when re-using the connection,
- we already have the same name in that buffer from the URL
- parsing!
-
-2001-04-22 19:39 bagder
-
- * lib/: Makefile.b32, Makefile.b32.resp: Rosimildo da Silva
- corrected them to build a proper lib and to use options for
- multi-threading compiling
-
-2001-04-22 18:47 bagder
-
- * lib/url.c: copy the name properly when re-using a connection
-
-2001-04-22 17:50 bagder
-
- * docs/Makefile.am: added missing (new) man pages
-
-2001-04-22 17:49 bagder
-
- * lib/strequal.h: old krb4 fix for strlcat() prototype
-
-2001-04-22 17:48 bagder
-
- * docs/: curl_printf.3, curl_strequal.3, curl_strnequal.3: brand
- new
-
-2001-04-22 17:47 bagder
-
- * docs/TODO: removed done entries
-
-2001-04-22 17:45 bagder
-
- * docs/FAQ: updated and spell checked
-
-2001-04-22 17:44 bagder
-
- * docs/CONTRIBUTE: spell checked
-
-2001-04-22 17:44 bagder
-
- * CVS-INFO: updated with the Java stuff and so
-
-2001-04-20 16:45 bagder
-
- * docs/curl-config.1: Added an examples section with examples I
- made up for the web page
-
-2001-04-20 16:44 bagder
-
- * docs/libcurl.5: This is LIBCURL turned into man page format!
-
-2001-04-20 08:05 bagder
-
- * docs/curl.1: minor corrections
-
-2001-04-20 08:00 bagder
-
- * CHANGES: SM's real name is now used where he's credited
-
-2001-04-19 13:24 bagder
-
- * src/writeout.c: A Linus Nielsen Feltzing-patch that removes the
- decimals from the size outputs...
-
-2001-04-19 13:19 bagder
-
- * docs/curl-config.1: fixed an nroff syntax mistake
-
-2001-04-19 12:31 bagder
-
- * docs/LIBCURL: Added a brief description of curl-config, mentioned
- that curl_* functions are the only public ones
-
-2001-04-19 08:01 bagder
-
- * acinclude.m4: Albert Chin's patch posted to the mailing list 19
- Apr 2001
-
-2001-04-18 16:06 bagder
-
- * src/main.c: added an include to build on ultrix
-
-2001-04-18 16:06 bagder
-
- * docs/INSTALL: confirmed install on ultrix 4.3a
-
-2001-04-18 16:05 bagder
-
- * CHANGES: Last two days' changes, loadsa
-
-2001-04-18 15:16 bagder
-
- * docs/Makefile.am: Added curl-config.1
-
-2001-04-18 15:16 bagder
-
- * docs/curl-config.1: brand new command, brand new docs!
-
-2001-04-18 13:53 bagder
-
- * docs/curl.1: Added contributors
-
-2001-04-18 11:28 bagder
-
- * configure.in, curl-config.in: configure sets variables that
- curl-config uses to display what features that have been built-in
-
-2001-04-18 09:25 bagder
-
- * lib/: file.c, ftp.c, http.c, progress.c, progress.h, transfer.c,
- url.c, urldata.h: Remade resume stuff to keep data in the
- connectdata struct instead of the main handle struct to work with
- persistant connections
-
-2001-04-17 17:00 bagder
-
- * lib/progress.c: init the speed index variable between transfers
-
-2001-04-17 15:21 bagder
-
- * include/curl/curl.h, lib/ftp.c: Frederic Lepied's ftp download
- resume fix
-
-2001-04-17 14:37 bagder
-
- * curl-config.in: more intial fixes
-
-2001-04-17 14:33 bagder
-
- * Makefile.am: Added curl-config as a script that now gets
- installed
-
-2001-04-17 14:32 bagder
-
- * curl-config.in: libcurl version, not curl version
-
-2001-04-17 14:27 bagder
-
- * configure.in: Generates curl-config now
-
-2001-04-17 14:23 bagder
-
- * curl-config.in: tiny tool for outputting curl config variables
-
-2001-04-17 09:28 bagder
-
- * lib/http.c: use GMT for the conditional timed gets (reported by
- Phil Karn)
-
-2001-04-12 13:13 bagder
-
- * docs/examples/README: Added text about curl.haxx.se not being a
- good test target for people's libcurl experiments...
-
-2001-04-12 08:16 bagder
-
- * docs/TODO: we must fix SSL when IPv6 is enabled, since we can
- still connect to ipv4 sites and then SSL works perfectly
-
-2001-04-11 16:14 bagder
-
- * lib/transfer.c: calling curl_easy_perform() with no URL set, now
- returns an error as early as possible
-
-2001-04-11 16:13 bagder
-
- * lib/url.c: we don't use the HTTP_PROXY environment variable in
- uppercase anymore, since it might become a security problem (Bugs
- item #415391)
-
-2001-04-11 08:59 bagder
-
- * lib/url.c: oops, missed the shut-off non-blocking fix
-
-2001-04-11 08:51 bagder
-
- * CHANGES: interfaces, windows non-blocking connect, progress meter
- fix and more
-
-2001-04-11 08:41 bagder
-
- * lib/url.c: SM made the connection timeout work for windows boxes!
-
-2001-04-10 09:38 bagder
-
- * docs/curl_easy_setopt.3: Added CURLOPT_HEADERFUNCTION description
-
-2001-04-10 08:51 bagder
-
- * lib/url.c: setopt() works with the new CURLOPT_HEADERFUNCTION:
-
-2001-04-10 08:49 bagder
-
- * include/curl/curl.h, lib/sendf.c, lib/urldata.h: Added new
- CURLOPT_HEADERFUNCTION callback for writing headers only
-
-2001-04-09 07:56 bagder
-
- * lib/Makefile.vc6: corrected by SM to build better with openssl
-
-2001-04-09 07:55 bagder
-
- * lib/: curllib.dsp, curllib.dsw: SM's updates
-
-2001-04-07 20:39 bagder
-
- * CHANGES: formfree() fix, version display fixed, curl_escape() fix
-
-2001-04-07 20:36 bagder
-
- * docs/curl_easy_setopt.3: Andrés García pointed out a mistake with
- CURLOPT_EGDSOCKET
-
-2001-04-07 20:35 bagder
-
- * lib/escape.c: Andrés García fixed curl_escape()
-
-2001-04-06 10:48 bagder
-
- * lib/version.c: show openssl 0.9.6a properly
-
-2001-04-06 07:57 bagder
-
- * docs/curl_formfree.3: NULL argument crashes this in 7.7.1 and
- before
-
-2001-04-06 07:52 bagder
-
- * lib/formdata.c: curl_formfree() can be called with a NULL
- argument
-
-2001-04-04 08:23 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.7.1 commit
-
-2001-04-03 15:37 bagder
-
- * lib/transfer.c: bugfixed the Location: following that must've
- been bad since the persistant connections were introduced
-
-2001-04-03 15:18 bagder
-
- * lib/transfer.c: - disabling port on absolute redirects is wrong -
- removed #ifdefed code
-
-2001-04-03 14:37 bagder
-
- * CHANGES: two crashes removed
-
-2001-04-03 12:20 bagder
-
- * lib/: ftp.c, transfer.c, url.c: better error checks for failure
- conditions (based on Puneet Pawaia's reports)
-
-2001-04-03 10:57 bagder
-
- * lib/Makefile.vc6: Puneet Pawaia pointed out the lack of
- http_chunks in several places.
-
-2001-03-30 10:43 bagder
-
- * docs/curl_easy_setopt.3: elaborated more in CURLOPT_HTTPHEADER
- section
-
-2001-03-29 13:25 bagder
-
- * CHANGES: ftps:// added and the perl interfaces changed
-
-2001-03-29 10:16 bagder
-
- * lib/: ftp.c, url.c, urldata.h: ftps:// support added
-
-2001-03-29 08:43 bagder
-
- * perl/README: Georg Horn's updates
-
-2001-03-27 23:24 bagder
-
- * lib/transfer.c: make sure the alarm is off when returning from
- curl_easy_perform()
-
-2001-03-27 11:10 bagder
-
- * docs/examples/README: Added a line about the new makefile example
-
-2001-03-27 11:09 bagder
-
- * docs/examples/: Makefile.am, Makefile.example: Added
- Makefile.example as an example makefile that can build the
- example source files (if edited slightly)
-
-2001-03-27 11:00 bagder
-
- * docs/examples/: Makefile.am, ftpget.c: Added ftpget.c just to
- show that it is exactly as easy to get FTP files
-
-2001-03-27 10:45 bagder
-
- * docs/curl_easy_setopt.3: no more ' as first letter of a row, and
- made the quotes match in the top .BI line
-
-2001-03-27 10:41 bagder
-
- * docs/curl_easy_setopt.3: Added some text to WRITEHEADER about the
- fact that libcurl will always write complete header lines
- one-by-one to that file handle
-
-2001-03-26 15:49 bagder
-
- * CHANGES, include/curl/curl.h: 7.7.1-beta1
-
-2001-03-26 11:07 bagder
-
- * CHANGES: persistant fix for http/1.0
-
-2001-03-26 08:19 bagder
-
- * lib/transfer.c: 'Connection: keep-alive' is now understood when
- sent by a HTTP/1.0 server as an indication of a persistant
- connection
-
-2001-03-24 19:50 bagder
-
- * CHANGES: numerous corrections since the 7.7 release
-
-2001-03-24 19:28 bagder
-
- * docs/curl.1: Colin Watson's man patch as posted to debian bug
- tracker numer #90281
-
-2001-03-23 16:28 bagder
-
- * docs/FAQ: two Qs added: 1.5 Who makes cURL? 1.6 What do you get
- for making cURL?
-
-2001-03-23 15:29 bagder
-
- * Makefile.am: make should be $(MAKE)
-
-2001-03-23 15:26 bagder
-
- * tests/data/reply14.txt: match the new never-read-body when doing
- HEAD
-
-2001-03-23 09:24 bagder
-
- * lib/transfer.c: DONT TOUCH the data->url as it may point to
- read-only memory!!!
-
-2001-03-23 09:16 bagder
-
- * docs/: FAQ, INSTALL, MANUAL: updates by SM nttp at iname.com
-
-2001-03-23 08:52 bagder
-
- * lib/transfer.c: now always stops reading a HEAD reply after all
- the headers have been returned RFC 2616, section 9.4 says: "The
- HEAD method is identical to GET except that the server MUST NOT
- return a message-body in the response."
-
-2001-03-23 08:46 bagder
-
- * lib/url.c: ConnectionExists() wrongly returned TRUE for too many
- connections if proxy was not used...
-
-2001-03-22 21:06 bagder
-
- * docs/curl_escape.3: updated with the new
- don't-encode-already-encoded-data concept
-
-2001-03-22 21:02 bagder
-
- * lib/transfer.c: Treat 302-redirects the same way we treat
- 303-redirects
-
-2001-03-22 20:14 bagder
-
- * lib/transfer.c: reset the follow location counter in
- Curl_perform() so that we can follow new locations on the same
- connection that was previously followed on
-
-2001-03-22 20:07 bagder
-
- * lib/getdate.c: brand new Curl_ prefixes on global symbols
-
-2001-03-22 19:44 bagder
-
- * lib/getdate.y: made it use Curl_ prefixes on global symbols
-
-2001-03-22 19:06 bagder
-
- * lib/escape.c: Jim Drash suggested and I made it not encode what
- looks like an already encoded letter (in curl_escape)
-
-2001-03-22 18:21 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.7 commit
-
-2001-03-22 16:42 bagder
-
- * lib/libcurl.def: removed the duplicates!
-
-2001-03-22 12:53 bagder
-
- * lib/libcurl.def: added escape and unescape
-
-2001-03-22 12:40 bagder
-
- * include/curl/curl.h, lib/escape.c, lib/escape.h: the new
- escape/unescape function setup
-
-2001-03-22 12:24 bagder
-
- * CHANGES: (un)escape, configure hack, betas run fine
-
-2001-03-22 12:23 bagder
-
- * docs/FAQ: added how to pronounce curl! ;-)
-
-2001-03-22 12:22 bagder
-
- * docs/TODO: don't mention explicit version 7.8 removed
- escape/unescape as they're now documented
-
-2001-03-22 12:22 bagder
-
- * docs/Makefile.am: added escape and unescape man pages
-
-2001-03-22 11:32 bagder
-
- * docs/: curl_escape.3, curl_unescape.3: not exactly new, but
- documented for 7.7
-
-2001-03-22 09:51 bagder
-
- * configure.in: Andrés García's problems on the mailing list made
- me realize that we can't allow this script to simply detect a
- gethostbyname_r() if it can't figure out how to use it. From now
- on, this script will fail when that happens.
-
-2001-03-20 11:13 bagder
-
- * docs/TODO: GNUTLS is another new SSL library we can add support
- for. Anyone?
-
-2001-03-19 09:42 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.7-beta5 commit
-
-2001-03-19 09:36 bagder
-
- * tests/data/: Makefile.am, command39.txt, name39.txt, prot39.txt,
- reply39.txt, reply390001.txt, reply390002.txt: test case 39
- added, HTTP location and continue
-
-2001-03-19 08:47 bagder
-
- * lib/transfer.c: Added support for HTTP code 100 continue, as
- 8.2.3 in RFC2616 defines
-
-2001-03-16 16:45 bagder
-
- * lib/transfer.c: detect if chunked transfers are aborted
-
-2001-03-16 16:44 bagder
-
- * lib/if2ip.c: corrected the close to sclose() so that the memdebug
- stuff works
-
-2001-03-16 16:22 bagder
-
- * CHANGES, CVS-INFO, Makefile.am: new directories
-
-2001-03-16 16:21 bagder
-
- * src/main.c: removed the CURL_SEPARATORS define
-
-2001-03-16 16:20 bagder
-
- * lib/getdate.c: re-generated with the memdebug.h include
-
-2001-03-16 16:19 bagder
-
- * lib/: getdate.y, getpass.c, if2ip.c, netrc.c, telnet.c: added
- memdebug.h include
-
-2001-03-16 14:45 bagder
-
- * docs/examples/: getpageinvar.php, simpleget.php, simplepost.php:
- moved to ../../php/examples/
-
-2001-03-16 14:44 bagder
-
- * docs/examples/README: the PHP examples are moved
-
-2001-03-16 14:35 bagder
-
- * configure.in: fix the new makefiles in php/ and perl/
-
-2001-03-16 14:35 bagder
-
- * perl/README: use perl in two ways
-
-2001-03-16 14:34 bagder
-
- * perl/README: Short about the perl interface
-
-2001-03-16 14:10 bagder
-
- * perl/contrib/mirror.pl: a perl script that can be used to mirror
- all curl archives
-
-2001-03-16 14:09 bagder
-
- * packages/Makefile.am: Added README for releases
-
-2001-03-16 14:09 bagder
-
- * perl/Makefile.am: Added to build proper releases
-
-2001-03-16 14:05 bagder
-
- * perl/: checklinks.pl.in, crawlink.pl, formfind.pl.in,
- getlinks.pl.in, recursiveftpget.pl.in: moved to contrib/
-
-2001-03-16 14:04 bagder
-
- * perl/contrib/: checklinks.pl.in, crawlink.pl, formfind.pl.in,
- getlinks.pl.in, recursiveftpget.pl.in: moved here from ../
-
-2001-03-15 15:45 bagder
-
- * docs/TODO: moved the documentation item to 7.8, it is rather
- important to have things documented
-
-2001-03-15 15:44 bagder
-
- * docs/INSTALL: updated to have the windows builds instructions use
- the root Makefile that is delivered with each source archive
-
-2001-03-15 15:38 bagder
-
- * CHANGES: connection timeouts added
-
-2001-03-15 15:38 bagder
-
- * lib/: url.c, urldata.h: added connect timeout support
-
-2001-03-15 15:38 bagder
-
- * src/main.c: Added --connect-timeout support
-
-2001-03-15 15:37 bagder
-
- * include/curl/curl.h: Added CURLOPT_CONNECTTIMEOUT
-
-2001-03-15 15:37 bagder
-
- * docs/: TODO, curl.1, curl_easy_setopt.3: connection timeout is
- now supported
-
-2001-03-15 13:34 bagder
-
- * Makefile.dist: Jörn's win32-fix to make it work better
-
-2001-03-15 10:14 bagder
-
- * CHANGES: corrected it, did I mention IPv6 with HTTP proxy?
-
-2001-03-15 09:38 bagder
-
- * docs/INSTALL: Put more concentrated unix install help already at
- the top, with a note that you might need to be root to use 'make
- install'.
-
-2001-03-14 20:48 bagder
-
- * docs/curl.1: added some text for -d that says it "emulates
- filling in HTML forms" as that is what most people will use -d
- for
-
-2001-03-14 19:26 bagder
-
- * CHANGES: ipv6 adjustments
-
-2001-03-14 19:24 bagder
-
- * lib/ftp.c: removed a bunch of warnings for IPv6-compiles
-
-2001-03-14 19:18 bagder
-
- * lib/url.c: now works with IPv6 and HTTP proxy
-
-2001-03-14 17:59 bagder
-
- * CHANGES: netrc fix
-
-2001-03-14 17:12 bagder
-
- * lib/netrc.c: hm, don't free the home dir and append the .netrc
- part properly
-
-2001-03-14 17:05 bagder
-
- * configure.in: checks for a few functions and include files more
- for the new getpwuid() stuff in lib/netrc.c
-
-2001-03-14 17:05 bagder
-
- * lib/netrc.c: uses getpwuid() to find user's home dir
-
-2001-03-14 15:35 bagder
-
- * tests/data/Makefile.am: added a missing \
-
-2001-03-14 15:26 bagder
-
- * tests/httpserver.pl: always append the incoming request to the
- server.input file, it allows the mainscript to verify a whole
- series of requests
-
-2001-03-14 15:26 bagder
-
- * tests/data/: prot11.txt, prot18.txt, prot27.txt, prot31.txt,
- prot32.txt: updated to work with the modified http server
-
-2001-03-14 15:25 bagder
-
- * tests/data/: Makefile.am, command38.txt, name38.txt, prot38.txt,
- reply38.txt, reply380001.txt: Added test case 38
-
-2001-03-14 15:11 bagder
-
- * lib/: dict.c, http.c, telnet.c, url.c, urldata.h: Edin
- Kadribaic's bug report #408488 forced a rearrange of two struct
- fields from urldata to connectdata, quite correctly.
-
-2001-03-14 12:47 bagder
-
- * docs/curl.1: Added the --egd-file and --random-file options
-
-2001-03-14 12:25 bagder
-
- * include/curl/curl.h, src/version.h: curl 7.7 beta 3
-
-2001-03-14 11:27 bagder
-
- * src/writeout.c: removed the two unnecessary include files
-
-2001-03-14 11:21 bagder
-
- * CHANGES: ssluse fixed, various win32 fixes
-
-2001-03-14 11:15 bagder
-
- * lib/ssluse.c: Björn Stenberg corrected the silly '(void)data'
- usage when SSL is not used
-
-2001-03-14 11:06 bagder
-
- * lib/libcurl.def: Jörn's updated file
-
-2001-03-14 09:59 bagder
-
- * docs/TODO: the URL escape/unescape functions are also public but
- undocumented
-
-2001-03-14 09:58 bagder
-
- * lib/libcurl.def: First Jörn's updates were applied, then my take
- at removing the private functions from the list, then I renamed
- the *str(n)equal functions...
-
-2001-03-14 09:55 bagder
-
- * src/main.c: no longer includes the curl/types.h and curl/easy.h
- include files explicitly, as they're taken care of indirectly by
- curl/curl.h these days.
-
-2001-03-14 09:54 bagder
-
- * lib/Makefile.am: increased the 'current' number for the interface
-
-2001-03-14 09:53 bagder
-
- * include/curl/curl.h: Curl_str(n)equal renamed to curl_str(n)equal
-
-2001-03-14 09:51 bagder
-
- * docs/TODO: documented the undocumented public functions in
- libcurl
-
-2001-03-14 09:49 bagder
-
- * CHANGES: chunked bugfix, Jörn's fixes, the interface number
- increase
-
-2001-03-14 09:47 bagder
-
- * lib/: strequal.c, strequal.h: The Curl_* prefixes are now changed
- for curl_* ones, as these two functions are used externally and
- thus are public symbols.
-
-2001-03-14 09:28 bagder
-
- * config-win32.h: Jörn added "#define socklen_t int"
-
-2001-03-14 09:28 bagder
-
- * lib/file.c: Jörn fixed it to compile on win32 again
-
-2001-03-14 09:23 bagder
-
- * lib/Makefile.m32: Jörn Hartroth added a set of files
-
-2001-03-14 09:20 bagder
-
- * lib/ssluse.c: Jörn Hartroth fixed a bad #endif placement
-
-2001-03-14 00:29 bagder
-
- * lib/http_chunks.c: re-added the default switch for weird states
-
-2001-03-13 23:31 bagder
-
- * docs/TODO: removed the random seeding and persistant stuff, as
- both are already in this version!
-
-2001-03-13 23:20 bagder
-
- * lib/transfer.c: Added a failf() error message when the chunked
- read returns failure
-
-2001-03-13 23:16 bagder
-
- * lib/: http_chunks.c, http_chunks.h: updated the chunked
- state-machine to deal with the trailing CRLF that comes after the
- data part
-
-2001-03-13 23:14 bagder
-
- * tests/runtests.pl: made 'X to Y' sequences not include X twice
-
-2001-03-13 23:13 bagder
-
- * tests/data/: reply34.txt, reply340001.txt: corrected the chunked
- format
-
-2001-03-13 16:44 bagder
-
- * docs/INTERNALS, docs/TODO, include/curl/curl.h, src/version.h:
- 7.7 beta 2 fixes
-
-2001-03-13 14:31 bagder
-
- * tests/data/Makefile.am: EXTRA_DIST got too long, I shortened it
- now but we have to do something else as it will grow a lot
- more...
-
-2001-03-13 14:22 bagder
-
- * lib/sendf.c: failf() now respects the mute flag
-
-2001-03-13 14:14 bagder
-
- * CHANGES: Guenole Bescon's bug found on march 8 is added
-
-2001-03-13 12:47 bagder
-
- * docs/FAQ: exchanged I and me to we and us in a lot of places
- updated for persistant connections and 7.7
-
-2001-03-13 10:44 bagder
-
- * tests/data/: Makefile.am, command37.txt, name37.txt, prot37.txt,
- reply37.txt: Added test case 37, HTTP GET with name+password in
- the URL
-
-2001-03-13 09:16 bagder
-
- * docs/INTERNALS: a whole new section on persitant connections and
- how they're treated internally
-
-2001-03-13 09:16 bagder
-
- * docs/FEATURES: we speak HTTP 1.1 now more braging about the
- portability
-
-2001-03-13 08:59 bagder
-
- * CHANGES, docs/curl_easy_setopt.3: close policies
-
-2001-03-13 08:54 bagder
-
- * lib/url.c: initial close policy support
-
-2001-03-13 08:53 bagder
-
- * lib/urldata.h: Added 'created' to the connectdata struct to hold
- the creation date, to be used for the close policy decision
-
-2001-03-13 08:53 bagder
-
- * lib/timeval.c: Curl_tvnow is now properly declared with (void)
-
-2001-03-13 08:46 bagder
-
- * include/curl/curl.h: curl_getinfo is removed, not a public
- function
-
-2001-03-12 17:02 bagder
-
- * CHANGES, src/main.c: added --random-file and --egd-file to the
- command line client
-
-2001-03-12 16:52 bagder
-
- * docs/curl_easy_setopt.3: Added the two new seeding options
-
-2001-03-12 16:47 bagder
-
- * lib/urldata.h: two new random seed options for the ssl config
- struct
-
-2001-03-12 16:47 bagder
-
- * include/curl/curl.h, lib/ssluse.c, lib/url.c: two new random seed
- options: CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET
-
-2001-03-12 16:29 bagder
-
- * CHANGES: better chunked error detection
-
-2001-03-12 16:27 bagder
-
- * tests/data/: Makefile.am, command36.txt, error36.txt, name36.txt,
- reply36.txt: Added test case 36: [HTTP GET with badly formatted
- chunked Transfer-Encoding]
-
-2001-03-12 16:21 bagder
-
- * lib/transfer.c: updated the comment for the chunked reading
-
-2001-03-12 16:20 bagder
-
- * lib/http_chunks.c: made it return illegal hex in case no
- hexadecimal digit was read when at least one was expected
-
-2001-03-12 16:20 bagder
-
- * lib/http_chunks.h: added an error code for illegal hex values in
- the chunked stream
-
-2001-03-12 16:11 bagder
-
- * CHANGES: Added new libcurl options in include/curl/curl.h,
- they're documented in curl_easy_setopt.3 and they're partly
- implemented in lib/url.c
-
- Slowly, we're getting there...
-
-2001-03-12 16:06 bagder
-
- * include/curl/curl.h: Added options for the persistant support,
- they're also documented in curl_easy_setopt.3 now
-
-2001-03-12 16:05 bagder
-
- * lib/: url.c, urldata.h: support for a few new libcurl 7.7
- CURLOPT_* options added
-
-2001-03-12 15:54 bagder
-
- * docs/curl_easy_setopt.3: Added four new options that come with
- the new persitant support: CURLOPT_MAXCONNECTS,
- CURLOPT_CLOSEPOLICY, CURLOPT_FRESH_CONNECT and
- CURLOPT_FORBID_REUSE
-
-2001-03-12 14:59 bagder
-
- * CHANGES: the client is adjusted to work with persistant curl
- handles, and *gee* it seems to be working!!!
-
-2001-03-12 14:58 bagder
-
- * lib/: transfer.c, url.c: Added infof() calls for persistant
- connection info, we are very likely to need these at least for
- debugging 7.7 and probably later as well...
-
-2001-03-12 14:57 bagder
-
- * src/main.c: moved the libcurl init call
-
-2001-03-12 14:55 bagder
-
- * docs/: LIBCURL, curl_easy_setopt.3: persistant updates
-
-2001-03-12 14:54 bagder
-
- * docs/MANUAL: added a note about persitant connections through
- HTTP proxies
-
-2001-03-12 14:54 bagder
-
- * docs/curl.1: Added some persistant notes
-
-2001-03-12 14:47 bagder
-
- * tests/data/: reply10.txt, reply24.txt, reply3.txt, stdout18.txt,
- stdout27.txt: modified to make the curl client with persistant
- connection support do correct
-
-2001-03-12 14:46 bagder
-
- * tests/runtests.pl: include the failed test case numbers in the
- end summary
-
-2001-03-12 13:58 bagder
-
- * tests/README: Added description of the new test case ranges
- support
-
-2001-03-12 13:58 bagder
-
- * tests/runtests.pl: made it support test case ranges on the
- command line, specified as "X to Y", where X is smaller than Y.
-
-2001-03-12 13:45 bagder
-
- * tests/data/: command26.txt, name25.txt, prot26.txt, reply25.txt,
- reply26.txt, reply31.txt, reply310001.txt, reply32.txt,
- reply320001.txt, stdout27.txt: adjusted to work with the HTTP
- 1.1-speaking libcurl
-
-2001-03-12 13:44 bagder
-
- * tests/httpserver.pl: output the protocol data to stderr when
- verbose is on
-
-2001-03-12 11:18 bagder
-
- * CHANGES: server problems, libcurl *works* persistant over HTTP
- proxy!!!!
-
-2001-03-12 11:13 bagder
-
- * lib/url.c: modified Curl_disconnect() so that it unlinks itself
- from the data struct, it saves me from more mistakes when the
- connectindex is -1 ... also, there's no point in having its
- parent do it as all parents would do it anyway.
-
-2001-03-12 10:47 bagder
-
- * src/main.c: split up the big printf() into several ones to never
- use strings longer than 509 letters (as newer gcc warns on with
- -Wall)
-
-2001-03-12 10:44 bagder
-
- * lib/url.c: bugfix: don't use the connectindex if it is -1
-
-2001-03-12 10:44 bagder
-
- * docs/: FEATURES, MANUAL: added persistant connection details
-
-2001-03-12 10:43 bagder
-
- * docs/CONTRIBUTE: replaced I and my with we and us
-
-2001-03-12 10:42 bagder
-
- * docs/BUGS: updated
-
-2001-03-09 17:50 bagder
-
- * lib/url.c: use the new name and hostname even though an old
- connection is reused, since we can re-use a proxy connection that
- actually has different host names on the same connection
-
-2001-03-09 17:48 bagder
-
- * lib/http.c: remake Host: for each connection and it'll work with
- proxies too
-
-2001-03-09 17:02 bagder
-
- * lib/transfer.c: for HTTP/1.0 we default to non keep-alive
- connections, but when we get a 1.0-reply from a proxy we use and
- the Proxy-Connection: keep-alive header is used, we switch it on
- and live happily ever after
-
-2001-03-09 16:58 bagder
-
- * lib/urldata.h: Added httpversion to the progress struct, we do
- read it, we can just as well store it.
-
-2001-03-09 16:38 bagder
-
- * configure.in: the socklen_t check is more involved now, but works
- on linux at least
-
-2001-03-09 16:24 bagder
-
- * acconfig.h: Added socklen_t
-
-2001-03-09 16:21 bagder
-
- * configure.in: added a check for socklen_t removed the
- tiny/Makefile that was added accidentaly before
-
-2001-03-09 16:19 bagder
-
- * lib/urldata.h: all comments for the former public "low level"
- interface have been removed since they were out-of-date and not
- correct anymore.
-
- moved around some struct fields
-
-2001-03-09 16:18 bagder
-
- * lib/url.c: removed handles and states from the main structs
- renamed prefixes from curl_ to Curl_ made persistant connections
- work with http proxies (at least partly)
-
-2001-03-09 16:17 bagder
-
- * lib/transfer.h: curl_transfer became Curl_perform() to better
- match the public name and use the correct prefix
-
-2001-03-09 16:16 bagder
-
- * lib/transfer.c: prefix changes curl_ to Curl_ made it work
- (partly) with persistant connections for HTTP/1.0 replies moved
- the 'newurl' struct field for Location: to the connectdata struct
-
-2001-03-09 16:14 bagder
-
- * lib/speedcheck.c: #include <string.h> removed a warning
-
-2001-03-09 16:14 bagder
-
- * lib/sendf.c: removed curl_read() and curl_write() - they weren't
- used and the public "low leve" interface is dumped
-
-2001-03-09 16:13 bagder
-
- * lib/: memdebug.c, memdebug.h: uses socklen_t now
-
-2001-03-09 16:13 bagder
-
- * lib/getinfo.c: curl_ prefix modified to Curl_
-
-2001-03-09 16:12 bagder
-
- * lib/ftp.c: accept() and getsockname() now use socklen_t types, as
- that was just added to configure
-
-2001-03-09 16:11 bagder
-
- * lib/escape.c: use unsigned int hex to receive the hex digit in,
- caused a warning with -Wall and a new gcc
-
-2001-03-09 16:10 bagder
-
- * lib/easy.c: Modified to use Curl_* functions instead of curl_*
- ones
-
-2001-03-09 14:11 bagder
-
- * src/mkhelp.pl: only generate maximum 509 characters in each
- string
-
-2001-03-08 13:35 bagder
-
- * include/curl/curl.h, src/version.h: version 7.7-beta1
-
-2001-03-08 13:32 bagder
-
- * CHANGES, docs/TODO, docs/curl_easy_setopt.3: persistant adjusts
-
-2001-03-08 11:39 bagder
-
- * tests/data/: Makefile.am, command35.txt, name14.txt, name35.txt,
- prot35.txt, reply14.txt, reply35.txt: HTTP HEAD tests
-
-2001-03-08 11:32 bagder
-
- * lib/transfer.c: return from transfer when all headers have been
- received and nobody is set, as is the case when doing HEAD
- requests
-
-2001-03-08 10:25 bagder
-
- * docs/: FAQ, LIBCURL: updated for persistant connections
-
-2001-03-08 10:23 bagder
-
- * maketgz: made it split the version number on - too to make
- 7.7-blabla make a better version number define in the header file
-
-2001-03-08 10:04 bagder
-
- * include/curl/curl.h: added lots of numbers for the error codes as
- they're often printed and used
-
-2001-03-08 09:33 bagder
-
- * tests/README: clarified the 0001-files use a bit, I couldn't
- understand it myself! :-)
-
-2001-03-08 09:30 bagder
-
- * tests/data/: Makefile.am, command34.txt, name34.txt, prot34.txt,
- reply34.txt, reply340001.txt: Added test #34 - HTTP GET with
- chunked Transfer-Encoding
-
-2001-03-08 00:51 bagder
-
- * lib/: http.c, http.h, http_chunks.c, http_chunks.h, transfer.c,
- urldata.h: "Transfer-Encoding: chunked" support added
-
-2001-03-08 00:50 bagder
-
- * lib/Makefile.am: added the http_chunks files
-
-2001-03-08 00:28 bagder
-
- * lib/: http_chunks.c, http_chunks.h: chunked transfer encoding
- support
-
-2001-03-08 00:24 bagder
-
- * docs/TODO: connection timeout is in for 7.7
-
-2001-03-07 18:12 bagder
-
- * lib/: transfer.c, urldata.h: initial chunked transfer-encoding
- support
-
-2001-03-07 18:08 bagder
-
- * lib/ssluse.c: removed compiler warning if HAVE_RAND_STATUS is
- false
-
-2001-03-06 15:37 bagder
-
- * docs/FAQ: Added persistant connections blurb even if it doesn't
- really work yet...
-
-2001-03-06 13:50 bagder
-
- * docs/TODO: cleaned up for the 7.7 fixes
-
-2001-03-06 01:04 bagder
-
- * acconfig.h, configure.in, lib/ssluse.c: new seeding stuff as
- mentioned by Albert Chin
-
-2001-03-05 17:56 bagder
-
- * docs/examples/: Makefile.am, persistant.c: Added a persistant
- connection example
-
-2001-03-05 16:51 bagder
-
- * docs/: curl_easy_cleanup.3, curl_easy_getinfo.3,
- curl_easy_init.3, curl_easy_perform.3, curl_easy_setopt.3,
- curl_formfree.3, curl_formparse.3, curl_getdate.3, curl_getenv.3,
- curl_slist_append.3, curl_slist_free_all.3, curl_version.3:
- updated to libcurl 7.7 conditions
-
-2001-03-05 16:38 bagder
-
- * docs/LIBCURL: mucho updated with new 7.7 concepts
-
-2001-03-05 15:52 bagder
-
- * lib/telnet.c: removed an incorrect comment
-
-2001-03-05 15:13 bagder
-
- * CHANGES: all test cases run OK now (again)
-
-2001-03-05 15:08 bagder
-
- * tests/README: more details on debugging with the test suite
-
-2001-03-05 15:03 bagder
-
- * tests/runtests.pl: show the ftp server invoke line when -d is
- used
-
-2001-03-05 15:03 bagder
-
- * tests/ftpserver.pl: talks more on verbose
-
-2001-03-05 15:01 bagder
-
- * lib/telnet.c: free the struct on done
-
-2001-03-05 14:59 bagder
-
- * lib/: telnet.c, urldata.h: telnet without any static variables
-
-2001-03-05 14:40 bagder
-
- * lib/transfer.c: set download size properly for HTTP downloads
-
-2001-03-05 14:40 bagder
-
- * lib/: ftp.c, http.c: enable persistant connections by default
-
-2001-03-05 14:39 bagder
-
- * lib/: file.c, file.h, url.c, urldata.h: remade FILE:// support to
- look more as the other protocols
-
-2001-03-04 19:11 bagder
-
- * tests/README: runtests -g explained
-
-2001-03-04 19:07 bagder
-
- * tests/data/: prot1.txt, prot10.txt, prot100.txt, prot101.txt,
- prot102.txt, prot103.txt, prot104.txt, prot105.txt, prot106.txt,
- prot107.txt, prot108.txt, prot109.txt, prot11.txt, prot110.txt,
- prot112.txt, prot12.txt, prot120.txt, prot121.txt, prot13.txt,
- prot14.txt, prot15.txt, prot16.txt, prot17.txt, prot18.txt,
- prot2.txt, prot22.txt, prot26.txt, prot27.txt, prot28.txt,
- prot29.txt, prot3.txt, prot30.txt, prot31.txt, prot32.txt,
- prot33.txt, prot4.txt, prot5.txt, prot6.txt, prot7.txt,
- prot8.txt, prot9.txt, stdout18.txt: persistant support protocol
- updates
-
-2001-03-04 17:34 bagder
-
- * CHANGES, configure.in, docs/curl_easy_perform.3,
- docs/curl_slist_append.3, include/curl/curl.h, lib/url.c,
- src/version.h, tests/data/reply110001.txt: 7.7 alpha 2 commit
-
-2001-03-04 16:32 bagder
-
- * include/curl/curl.h: Added include of easy.h to enable
- libcurl-using programs to *only* have to include <curl/curl.h>
-
-2001-03-04 16:25 bagder
-
- * lib/http.c: Curl_http() could crash on connection re-use
-
-2001-03-03 18:50 bagder
-
- * lib/url.c: ipv6 fix for the 'port' no longer in urldata
-
-2001-03-03 17:28 bagder
-
- * include/curl/curl.h: fixed for persistant stuff
-
-2001-03-02 16:38 bagder
-
- * CHANGES: latest
-
-2001-03-02 16:34 bagder
-
- * lib/: ftp.c, http.c, transfer.c, url.c, urldata.h: remade the
- port number stuff so that following locations work and doing
- intermixed HTTP and FTP persistant connections also work!
-
-2001-03-02 08:44 bagder
-
- * lib/ftp.h: Added the disconnect proto
-
-2001-03-02 08:44 bagder
-
- * lib/ftp.c: removed the slist -functions from here added the
- Curl_ftp_disconnect function for FTP-specific disconnects
-
-2001-03-02 08:43 bagder
-
- * lib/url.c: improved connections
-
-2001-03-02 08:42 bagder
-
- * lib/urldata.h: extending connectdata
-
-2001-03-02 08:42 bagder
-
- * lib/sendf.c: moved the slist-functions here from FTP since
- they're more generic than simply for FTP-stuff
-
-2001-03-02 08:41 bagder
-
- * lib/: memdebug.c, memdebug.h: strdup() takes a const char * now
-
-2001-02-28 15:03 bagder
-
- * lib/url.c: cleanup better when connects fail
-
-2001-02-23 00:51 bagder
-
- * lib/url.c: added some infof() calls for persistant info
-
-2001-02-23 00:41 bagder
-
- * lib/http.c: we only allocate the HTTP struct if we need to
-
-2001-02-23 00:32 bagder
-
- * lib/transfer.c: Now persistant connection download works thanks
- to the Content-Length taken into account
-
-2001-02-23 00:32 bagder
-
- * lib/: ftp.c, http.c, url.c, urldata.h: moved the dynamicly set
- pointers to the connectdata struct
-
-2001-02-22 23:33 bagder
-
- * docs/curl_formparse.3: Douglas R. Horner's corrections applied
-
-2001-02-21 18:15 bagder
-
- * lib/: ftp.c, getdate.c, url.c, urldata.h: IPv6-adjustments
-
-2001-02-20 18:46 bagder
-
- * lib/: http.c, url.c: corrected memory leaks when re-using
- connections
-
-2001-02-20 18:35 bagder
-
- * CHANGES, docs/FEATURES, docs/curl.1, include/curl/curl.h,
- lib/dict.c, lib/ftp.c, lib/http.c, lib/krb4.c, lib/ldap.c,
- lib/security.c, lib/sendf.c, lib/ssluse.c, lib/ssluse.h,
- lib/telnet.c, lib/transfer.c, lib/url.c, lib/urldata.h,
- src/main.c, src/version.h, tests/data/reply11.txt: multiple
- connection support initial commit
-
-2001-02-20 14:58 bagder
-
- * memanalyze.pl: bugfix
-
-2001-02-20 14:58 bagder
-
- * tests/runtests.pl: -g runs the specified test(s) with gdb!
-
-2001-02-20 14:57 bagder
-
- * docs/examples/win32sockets.c: removed the #ifdef
-
-2001-02-20 14:56 bagder
-
- * docs/examples/: Makefile.am, curlgtk.c, postit.c, sepheaders.c,
- simple.c, win32sockets.c: win32sockets.c is now added with
- winsock init/cleanup example functions
-
-2001-02-19 14:39 bagder
-
- * docs/examples/Makefile.am: Added three tiny PHP examples
-
-2001-02-19 14:38 bagder
-
- * docs/examples/README: blurb about different languages and
- environments added
-
-2001-02-19 14:38 bagder
-
- * docs/examples/: getpageinvar.php, simpleget.php, simplepost.php:
- just a few PHP/curl examples
-
-2001-02-19 10:29 bagder
-
- * lib/Makefile.am: added two VC++ files for project stuff
-
-2001-02-19 10:29 bagder
-
- * lib/url.c: Made CURLOPT_POST no longer necessary when
- CURLOPT_POSTFIELDS is used
-
-2001-02-19 10:28 bagder
-
- * lib/urldata.h: Moved a bunch of prototypes from curl.h here,
- they're no longer public and I merely stuffed them here before I
- decide where they belong and if they are to remain at all
-
-2001-02-19 10:27 bagder
-
- * include/curl/curl.h: removed a bunch of "low level" functions
- that were never used and are about to never become reality either
-
-2001-02-19 10:26 bagder
-
- * lib/: curllib.dsp, curllib.dsw: MS VC++ stuff
-
-2001-02-19 10:26 bagder
-
- * lib/libcurl.def: Bob Schader updated this
-
-2001-02-19 10:25 bagder
-
- * docs/MANUAL: added stuff to the mailing list chapter
-
-2001-02-16 14:41 bagder
-
- * docs/TODO: removed --continue task (done) added URL to the NTLM
- task
-
-2001-02-16 14:41 bagder
-
- * docs/FAQ: 2.2 - rephrased
-
-2001-02-13 22:57 bagder
-
- * lib/: ftp.c, url.c: better english timeouted => timed out, as
- suggested by Larry Fahnoe
-
-2001-02-13 14:37 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.6.1 commit
-
-2001-02-13 14:34 bagder
-
- * lib/: ftp.c, http.c, url.c: moved the protocol-specific free to
- allow easier multiple transfers
-
-2001-02-12 14:20 bagder
-
- * CHANGES: ftp response fix, netrc fix for non-http/ftp, https put
- research
-
-2001-02-12 14:19 bagder
-
- * docs/curl_formparse.3: corrected the prototype
-
-2001-02-12 11:05 bagder
-
- * docs/FAQ: Added 3.10 and a few minor updates
-
-2001-02-12 09:22 bagder
-
- * lib/url.c: very minor indentation fix
-
-2001-02-12 09:21 bagder
-
- * lib/Makefile.am: removed getenv.h from the package as it was
- unused
-
-2001-02-09 08:33 bagder
-
- * lib/getenv.h: Not used anymore
-
-2001-02-09 08:14 bagder
-
- * lib/ftp.c: Added a failf() call in the error-check just added
-
-2001-02-08 14:53 bagder
-
- * lib/url.c: if netrc is parsed and our host was found in there,
- set data->bits.user_passwd unconditioanlly!
-
-2001-02-08 14:52 bagder
-
- * lib/ftp.c: today's FTP response check fix
-
-2001-02-08 09:26 bagder
-
- * docs/examples/: Makefile.am, postit.c: postit.c was added as a
- HTML form file upload example
-
-2001-02-07 10:49 bagder
-
- * CHANGES, acconfig.h, configure.in, docs/MANUAL,
- include/curl/curl.h, lib/ftp.c, src/version.h: 7.6.1-pre3
-
-2001-02-07 10:31 bagder
-
- * lib/http.c: GetLine() didn't properly act on -1 lengths returned
- from Curl_read()
-
-2001-02-07 10:23 bagder
-
- * config-win32.h: Added #define ssize_t int since ssize_t doesn't
- seem to exist in normal win32 systems
-
-2001-02-07 09:36 bagder
-
- * lib/: netrc.c, transfer.c, url.c: no longer #includes "getenv.h"
-
-2001-02-06 10:12 bagder
-
- * lib/strequal.c: silly me, corrected the strlcat() to compile
-
-2001-02-06 10:08 bagder
-
- * lib/strequal.c: new openbsd inspired implementation of strlcat()
-
-2001-02-06 08:14 bagder
-
- * src/Makefile.vc6: nntp@iname.com's suggested fix to set the
- libpath
-
-2001-02-06 00:35 bagder
-
- * lib/: ftp.c, strequal.c: adjusted the IPv6 stuff to compile and
- build on Linux as well
-
-2001-02-06 00:04 bagder
-
- * CHANGES, configure.in, docs/curl.1, lib/ftp.c, lib/hostip.c,
- lib/hostip.h, lib/url.c, lib/urldata.h: Jun-ichiro itojun
- Hagino's IPv6 adjustments
-
-2001-02-05 23:35 bagder
-
- * CHANGES: Robert Weaver's VC experiences
-
-2001-02-05 23:35 bagder
-
- * docs/MANUAL: Added a telnet section
-
-2001-02-05 11:24 bagder
-
- * docs/INSTALL: Added a few more configure option explanations
-
-2001-02-04 21:10 bagder
-
- * CHANGES: the new getinfo() stuff and the cygwin patch
-
-2001-02-04 21:10 bagder
-
- * docs/curl_easy_setopt.3: Added blurb about the win32 thing that
- precents a DLL from using a pointer passed to it from user-space!
-
-2001-02-04 21:08 bagder
-
- * docs/FAQ: extended 5.5
-
-2001-02-04 21:07 bagder
-
- * docs/curl_easy_getinfo.3: CURLINFO_CONTENT_LENGTH_DOWNLOAD and
- CURLINFO_CONTENT_LENGTH_UPLOAD documented
-
-2001-02-04 21:03 bagder
-
- * include/curl/curl.h, lib/getinfo.c:
- CURLINFO_CONTENT_LENGTH_DOWNLOAD and
- CURLINFO_CONTENT_LENGTH_UPLOAD were added as suggested by Bob
- Schader
-
-2001-02-04 20:00 bagder
-
- * lib/if2ip.h: Ingo Ralf Blum made it compile with the newest
- cygwin
-
-2001-02-01 08:59 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.6.1-pre2
-
-2001-02-01 08:58 bagder
-
- * configure.in: Added support for --enable-debug
-
-2001-01-31 16:06 bagder
-
- * lib/transfer.c: Curl_read() uses ssize_t now
-
-2001-01-31 16:05 bagder
-
- * lib/: telnet.c, transfer.c: fixed up the telnet to work (using
- support from Linus Nielsen)
-
-2001-01-31 14:54 bagder
-
- * CHANGES, include/curl/curl.h, lib/ftp.c, lib/http.c, lib/sendf.c,
- lib/sendf.h, lib/telnet.c: curl_read() and Curl_read() now have
- ssize_t in the last argument
-
-2001-01-31 14:53 bagder
-
- * configure.in: Added a check for a working getaddrinfo() that is
- required for the IPv6 to be considered enabled
-
-2001-01-30 12:52 bagder
-
- * lib/transfer.c: changed order of the range and follow-location
- checks so that a range-request will work even when following a
- Location:
-
-2001-01-29 17:04 bagder
-
- * CHANGES: new test case
-
-2001-01-29 16:07 bagder
-
- * tests/runtests.pl: removed upload.NN files after each test
-
-2001-01-29 15:36 bagder
-
- * tests/data/: Makefile.am, command33.txt, extra33.txt, name33.txt,
- prot33.txt, reply33.txt: test case 33, HTTP PUT resume
-
-2001-01-29 12:36 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.6-pre1
-
-2001-01-29 11:24 bagder
-
- * docs/FAQ: Added an extra text about % in POST data after comments
- from Daniel Marell
-
-2001-01-29 11:16 bagder
-
- * docs/FAQ: s/to I/do I/
-
-2001-01-29 11:16 bagder
-
- * docs/FAQ: Added "3.9 How to I use curl in PHP?"
-
-2001-01-29 08:26 bagder
-
- * src/main.c: The PUT stuff is never set! It is set with the
- UPLOAD...
-
-2001-01-29 08:24 bagder
-
- * lib/http.c: HTTP PUT resume now sends Content-Range: headers as I
- believe the RFC2616 describes, Bob Schader's research seems to
- agree.
-
-2001-01-29 08:23 bagder
-
- * lib/url.c: upload sets HTTP request to PUT for "HTTP upload"
-
-2001-01-27 21:51 bagder
-
- * docs/FAQ: the keep-alive issue
-
-2001-01-27 21:31 bagder
-
- * lib/transfer.c: bettersupport for HTTP return codes 300-399
-
-2001-01-27 21:25 bagder
-
- * CHANGES: PUT resume things progress meter modified for resume
- POST/GET/Location adjustments
-
-2001-01-27 21:02 bagder
-
- * tests/data/: Makefile.am, command31.txt, command32.txt,
- name31.txt, name32.txt, prot31.txt, prot32.txt, reply31.txt,
- reply310001.txt, reply310002.txt, reply32.txt, reply320001.txt,
- reply320002.txt: test case 31 and 32 were added
-
-2001-01-27 19:57 bagder
-
- * lib/http.c: Resume is now done with a Content-Range header
- instead of a Range header if the request isn't GET. Presumably,
- this is how it should be made.
-
-2001-01-27 19:51 bagder
-
- * tests/httpserver.pl: minor output fix
-
-2001-01-27 19:50 bagder
-
- * tests/runtests.pl: Added -d that enables easier protocol/server
- debug overview (it invokes the servers with their -v options)
-
-2001-01-27 19:49 bagder
-
- * tests/data/: Makefile.am, command29.txt, command30.txt,
- error30.txt, name29.txt, name30.txt, prot29.txt, prot30.txt,
- reply29.txt, reply30.txt: added test 29 and 30, HTTP resume and
- partial download tests
-
-2001-01-27 19:23 bagder
-
- * lib/progress.c: The progess meter title get an extra output when
- a resumed transfer is taking place
-
-2001-01-27 18:58 bagder
-
- * lib/url.c: data->httpreq was not set properly
-
-2001-01-27 17:16 bagder
-
- * CHANGES, include/curl/curl.h, src/version.h: 7.6
-
-2001-01-26 16:53 bagder
-
- * CHANGES: http upload resume
-
-2001-01-26 16:52 bagder
-
- * docs/INTERNALS: moved the symbols talk to the library part,
- updated slightly to match
-
-2001-01-26 16:52 bagder
-
- * lib/: url.c, urldata.h: Added a httpreq field in the main struct
- so that there's one field to check for what HTTP request that is
- being used. The old bit-style fields are still in there as well.
-
-2001-01-26 16:50 bagder
-
- * lib/transfer.c: The check for that content-range is received must
- only be made if we requested GET resume. Other resumes are
- upload-wise and don't care about this header in the download
- stream
-
-2001-01-26 16:49 bagder
-
- * lib/http.c: Made it possible to do "upload resume" over HTTP
-
-2001-01-25 14:48 bagder
-
- * include/curl/curl.h, src/version.h: 7.6-pre4
-
-2001-01-25 13:32 bagder
-
- * lib/progress.c: timespent is now updated in every call to the
- progress meter update function
-
-2001-01-25 13:31 bagder
-
- * CHANGES: Rick's and Jeff's stuff
-
-2001-01-25 13:28 bagder
-
- * configure.in: make the configure script die if select() or
- socket() is missing
-
-2001-01-25 13:28 bagder
-
- * docs/curl.1: Added Ingo Ralf Blum
-
-2001-01-25 13:27 bagder
-
- * docs/curl_easy_perform.3: use this function only once note added
-
-2001-01-25 13:24 bagder
-
- * lib/http.h: modified the Curl_ConnectHTTPProxyTunnel proto
-
-2001-01-25 13:23 bagder
-
- * lib/url.c: moved curl_read() and curl_write() to sendf.c
-
-2001-01-25 13:23 bagder
-
- * lib/transfer.c: converted to use Curl_read() and Curl_write()
-
-2001-01-25 13:22 bagder
-
- * lib/telnet.c: uses Curl_read() and Curl_write() unfolded
- telwrite() instead of being a separate single function
-
-2001-01-25 13:21 bagder
-
- * lib/setup.h: use recv()/send() instead of read()/write() with
- sockets
-
-2001-01-25 13:20 bagder
-
- * lib/: sendf.c, sendf.h: sendf is now only Curl_sendf Curl_write()
- and Curl_read() are here
-
-2001-01-25 13:19 bagder
-
- * lib/krb4.c: removed two compiler warnings
-
-2001-01-25 13:19 bagder
-
- * lib/http.c: Curl_read() and Curl_write() are now used for
- reading/writing sockets. Some functions changed prototype due to
- this change as well.
-
-2001-01-25 13:17 bagder
-
- * lib/ftp.c: Get get-ftp-response function is now using Curl_read()
- for reading from a socket. Curl_ConnectHTTPProxyTunnel changed
- prototype.
-
-2001-01-25 13:13 bagder
-
- * lib/dict.c: replaced sendf() calls with Curl_sendf()
-
-2001-01-24 15:44 bagder
-
- * CHANGES, lib/if2ip.c, lib/url.c, src/main.c: Ingo Ralf Blum's
- cygwin fixes
-
-2001-01-24 15:04 bagder
-
- * CHANGES: Robert Weaver's win32 getenv fix, my added comments in
- some files
-
-2001-01-24 15:04 bagder
-
- * docs/curl.1: Added Robert Weaver as contributor
-
-2001-01-24 15:03 bagder
-
- * lib/urldata.h: fixed the comment for 'path'
-
-2001-01-24 13:32 bagder
-
- * lib/url.c: added comments all over
-
-2001-01-24 13:10 bagder
-
- * lib/urldata.h: extended the gname field one byte to avoid a
- possible overflow added lots of explaining comments
-
-2001-01-24 10:01 bagder
-
- * lib/getenv.c: Robert Weaver's fix
-
-2001-01-23 14:00 bagder
-
- * config.h.in: generated by autoheader
-
-2001-01-23 11:29 bagder
-
- * CHANGES: ipv6 adjustments
-
-2001-01-23 11:21 bagder
-
- * lib/url.c: Enabled support for IPv6-style IP-addresses if
- ENABLE_IPV6 is set. If it isn't, curl will return an error when
- such an address is used.
-
-2001-01-23 11:14 bagder
-
- * src/urlglob.c: big reorg to make it not exit when it fails, but
- instead just not do any globbing, it makes IPv6 support easier
- and smoother to add.
-
-2001-01-23 09:16 bagder
-
- * lib/version.c: Added 'ipv6 enabled' for ipv6 compiled versions
-
-2001-01-23 00:54 bagder
-
- * acconfig.h, configure.in: Added simple IPv6 recognition support
-
-2001-01-22 17:25 bagder
-
- * CHANGES: Björn's progress meter fix, new test cases and
- ftpserver.pl patch
-
-2001-01-22 17:21 bagder
-
- * lib/progress.c: Björn Stenberg's patch for making the progress
- meter betterlooking
-
-2001-01-22 17:16 bagder
-
- * tests/ftpserver.pl: the custom reply engine was not inited
- properly
-
-2001-01-22 17:05 bagder
-
- * tests/data/: Makefile.am, command121.txt, name121.txt,
- prot121.txt, reply121.txt: test case 121
-
-2001-01-22 17:00 bagder
-
- * tests/data/: Makefile.am, command120.txt, name120.txt,
- prot120.txt, reply120.txt: Added test case 120, ftp with '-Q -'
-
-2001-01-22 11:09 bagder
-
- * src/main.c: Removed the deprecated -c and -t from the --help
- output.
-
-2001-01-22 09:42 bagder
-
- * docs/FAQ: Added 5.5 the CURLOPT_FILE problem on win32, DeYoung
- provided it!
-
-2001-01-19 13:24 bagder
-
- * docs/curl.1: Added -g/--globoff description
-
-2001-01-19 13:20 bagder
-
- * memanalyze.pl: Made the complaint on free-twice errors a lot
- better
-
-2001-01-19 13:20 bagder
-
- * CHANGES: removed URL length restrictions, added a test case
-
-2001-01-19 13:15 bagder
-
- * lib/transfer.c: No more URL length restrictions
-
-2001-01-19 13:14 bagder
-
- * include/curl/curl.h: removed MAX_URL_LENGTH, there is no longer
- any length restrictions on URLs anywhere within libcurl
-
-2001-01-19 13:14 bagder
-
- * src/main.c: corrected url memory handling with --globoff
-
-2001-01-19 13:13 bagder
-
- * tests/data/Makefile.am: Added files for test case 28
-
-2001-01-19 13:12 bagder
-
- * tests/data/: command28.txt, name28.txt, prot28.txt, reply28.txt:
- --globoff test case
-
-2001-01-19 10:38 bagder
-
- * include/curl/curl.h, src/version.h: version 7.6-pre3
-
-2001-01-19 10:38 bagder
-
- * docs/CONTRIBUTE: spelling error FPL should be GPL
-
-2001-01-19 10:37 bagder
-
- * docs/INTERNALS: edited the portable code section
-
-2001-01-17 15:17 bagder
-
- * docs/INTERNALS: brought up-to-date and extended
-
-2001-01-17 15:17 bagder
-
- * CHANGES: Transfer and file renaming
-
-2001-01-17 14:23 bagder
-
- * lib/: dict.c, easy.c, ftp.c, http.c, telnet.c, url.c: Transfer is
- now Curl_Tranfer() and transfer.h is used instead of highlevel.h
- and download.h
-
-2001-01-17 14:22 bagder
-
- * lib/: Makefile.am, Makefile.b32, Makefile.b32.resp, Makefile.m32,
- Makefile.vc6: download.[ch] is renamed to transfer.[ch],
- highlevel.[ch] is history
-
-2001-01-17 14:19 bagder
-
- * lib/: download.c, download.h, highlevel.c, highlevel.h,
- transfer.c, transfer.h: download and highlevel are replaced with
- transfer
-
-2001-01-17 09:24 bagder
-
- * docs/INSTALL: clarified that vcvars32.bat is not part of the curl
- package
-
-2001-01-15 15:59 bagder
-
- * docs/FAQ: shortened the "what is libcurl" text
-
-2001-01-15 13:12 bagder
-
- * docs/RESOURCES: Added a few more similar tools
-
-2001-01-15 11:28 bagder
-
- * docs/FAQ: removed an old reference to previous license conditions
-
-2001-01-15 11:26 bagder
-
- * docs/FAQ: 4.2 and 4.3 were updated
-
-2001-01-11 13:52 bagder
-
- * docs/FAQ: TELNET was missing in the basic initial description!
- Updated the language in the thread-safe question 5.1 to be more
- clear.
-
-2001-01-11 13:33 bagder
-
- * docs/INSTALL: I successfully compiled on built curl for StrongARM
- NetBSD Added other known platforms Added the faked autoconf and
- autoheader trick posted about recently
-
-2001-01-11 10:29 bagder
-
- * include/curl/curl.h, src/version.h: 7.6-pre2
-
-2001-01-11 09:02 bagder
-
- * CHANGES: -g added, no more space requirements between short
- options and their parameters
-
-2001-01-11 09:01 bagder
-
- * src/main.c: Added -g, fixed so that short options worked again.
- My last "merged" fix did screw a few things up.
-
-2001-01-11 00:47 bagder
-
- * CHANGES, docs/TODO: made short options and their parmaters
- possible to specify without space separation
-
-2001-01-11 00:42 bagder
-
- * src/main.c: made "short options" possible to specify -m20 as well
- as -m 200.
-
-2001-01-10 23:46 bagder
-
- * lib/highlevel.c: added missing newlines to two infof() functions
- about document dates
-
-2001-01-10 12:42 bagder
-
- * CHANGES: getpass_r() fix for SCO (hopefully)
-
-2001-01-09 13:25 bagder
-
- * include/curl/curl.h, src/version.h: version 7.6-pre1
-
-2001-01-09 13:25 bagder
-
- * src/main.c: bugfix for when more -o than URLs is used
-
-2001-01-09 13:24 bagder
-
- * docs/curl.1: multiple URL adjustments
-
-2001-01-09 13:24 bagder
-
- * tests/data/: Makefile.am, command26.txt, command27.txt,
- name26.txt, name27.txt, prot26.txt, prot27.txt, reply26.txt,
- stdout27.txt: Added two tests for multiple URLs (26 + 27)
-
-2001-01-09 11:09 bagder
-
- * CVS-INFO: Loic's fix that removes the % from the instructions in
- the bottom
-
-2001-01-09 11:09 bagder
-
- * Makefile.am: Additional "docs" about 'make rpms' added by Loic
-
-2001-01-09 08:41 bagder
-
- * lib/krb4.h: Added the curl source-header
-
-2001-01-09 00:35 bagder
-
- * packages/Linux/RPM/: curl-ssl.spec.in, curl.spec.in: removed
- FILES from the RPM
-
-2001-01-08 23:30 bagder
-
- * lib/getpass.h: Added source header. Made the prototype not being
- set if HAVE_GETPASS_R is set, as those systems are likely to have
- it already set in a system header and this prototype has proven
- to cause problems on SCO systems.
-
-2001-01-08 23:29 bagder
-
- * docs/curl.1: Added Loic Dachary as a contributor after his major
- makefile session!
-
-2001-01-08 23:18 bagder
-
- * CHANGES, Makefile.am, tests/Makefile.am, tests/runtests.pl,
- tests/data/Makefile.am: Loic Dachary's updates to get 'make
- distcheck' work, including running the test suite
-
-2001-01-08 23:02 bagder
-
- * lib/krb4.h: krb4.c header file, no source header (yet)
-
-2001-01-08 18:38 bagder
-
- * Makefile.am, configure.in, tests/Makefile.am: 'make distcheck'
- works now
-
-2001-01-08 18:28 bagder
-
- * tests/data/Makefile.am: Had to add this to get 'make distcheck'
- to run!
-
-2001-01-08 17:32 bagder
-
- * CHANGES, CVS-INFO: corrected
-
-2001-01-08 17:31 bagder
-
- * Makefile.am, configure.in, packages/Makefile.am,
- packages/Linux/Makefile.am, tests/Makefile.am,
- packages/Linux/RPM/Makefile.am, packages/Win32/Makefile.am:
- distcheck fixes
-
-2001-01-08 17:22 bagder
-
- * lib/ftp.c: Added mprintf #include
-
-2001-01-08 16:02 bagder
-
- * src/main.c: better cleanup when existing due to bad usage
-
-2001-01-08 15:48 bagder
-
- * src/main.c: corrected the separator when using URL globbing
-
-2001-01-08 15:36 bagder
-
- * docs/examples/Makefile.am: mostly a dummy
-
-2001-01-08 14:42 bagder
-
- * packages/Linux/RPM/: curl-ssl.spec, curl-ssl.spec.in, curl.spec,
- curl.spec.in: use .spec.in files instead of plain .spec files
-
-2001-01-08 14:40 bagder
-
- * docs/TODO: removed multiple URL, we do that now!
-
-2001-01-08 14:39 bagder
-
- * lib/Makefile.in: generated file
-
-2001-01-08 14:39 bagder
-
- * Makefile.am, configure.in, docs/Makefile.am, lib/Makefile.am:
- adjusted to work with automake 'make dist'
-
-2001-01-08 13:58 bagder
-
- * FILES: we're now using automake to build archives, this file is
- obsolete
-
-2001-01-08 13:57 bagder
-
- * maketgz: adjusted to use 'make dist' when building the package
-
-2001-01-08 11:00 bagder
-
- * CHANGES, Makefile.am, configure.in, docs/Makefile.am,
- lib/Makefile.am, lib/Makefile.in, lib/ftp.c, src/Makefile.am,
- tests/Makefile.am: Loic Dachary's makefile/dist/rpm fixes
-
-2001-01-08 08:45 bagder
-
- * CHANGES: krb4 fix, big symbol renaming action, multiple URL
- support in the client
-
-2001-01-08 08:42 bagder
-
- * aclocal.m4: generated
-
-2001-01-08 08:37 bagder
-
- * src/: main.c, urlglob.c, urlglob.h: Multiple URL support added
-
-2001-01-08 08:37 bagder
-
- * src/hugehelp.c: generated file, don't CVS it
-
-2001-01-05 14:44 bagder
-
- * docs/curl.1: multiple uses of -d was wrong documented
-
-2001-01-05 13:19 bagder
-
- * lib/http.c, lib/mprintf.c, include/curl/mprintf.h: renamed Curl_
- to curl_ for the printf() prefixes
-
-2001-01-05 11:11 bagder
-
- * CHANGES, docs/INTERNALS, include/curl/curl.h,
- include/curl/mprintf.h, lib/arpa_telnet.h, lib/base64.c,
- lib/base64.h, lib/cookie.c, lib/cookie.h, lib/dict.c, lib/dict.h,
- lib/download.c, lib/download.h, lib/file.c, lib/formdata.c,
- lib/formdata.h, lib/ftp.c, lib/ftp.h, lib/getenv.c, lib/getenv.h,
- lib/highlevel.c, lib/hostip.c, lib/hostip.h, lib/http.c,
- lib/http.h, lib/if2ip.c, lib/if2ip.h, lib/krb4.c, lib/ldap.c,
- lib/ldap.h, lib/memdebug.c, lib/mprintf.c, lib/netrc.c,
- lib/netrc.h, lib/progress.c, lib/progress.h, lib/security.c,
- lib/sendf.c, lib/sendf.h, lib/speedcheck.c, lib/speedcheck.h,
- lib/ssluse.c, lib/ssluse.h, lib/strequal.c, lib/strequal.h,
- lib/telnet.c, lib/telnet.h, lib/timeval.c, lib/timeval.h,
- lib/url.c, lib/url.h, lib/version.c, src/main.c: Internal symbols
- that aren't static are now prefixed with 'Curl_'
-
-2001-01-05 07:30 bagder
-
- * CHANGES, docs/RESOURCES, include/curl/curl.h, lib/Makefile.in,
- src/hugehelp.c, src/version.h: release commit
-
-2001-01-04 13:44 bagder
-
- * docs/: LIBCURL, README.libcurl: README.libcurl is renamed to
- LIBCURL
-
-2001-01-04 13:43 bagder
-
- * docs/FAQ: license updates
-
-2001-01-04 13:43 bagder
-
- * docs/CONTRIBUTE: corrected the license section and added a piece
- about doing patches against recent versions of the source
-
-2001-01-04 13:39 bagder
-
- * CVS-INFO: Added Makefile.dist
-
-2001-01-04 13:36 bagder
-
- * CVS-INFO: Things to explain to people who get the sources from
- the CVS repository
-
-2001-01-04 13:27 bagder
-
- * lib/mprintf.c, include/curl/mprintf.h: updated license text in
- headers
-
-2001-01-04 11:46 bagder
-
- * CHANGES: Cut out all changes from 1999 and earlier. They're now
- in the CHANGES.0 file that is only present in the CVS and won't
- be included in release archives.
-
-2001-01-04 11:45 bagder
-
- * CHANGES.0: Changes from 1999 and earlier
-
-2001-01-04 11:37 bagder
-
- * Makefile.dist: new header
-
-2001-01-04 11:34 bagder
-
- * docs/curl.1: filled in info what happens if the same options are
- used multiple times
-
-2001-01-04 11:31 bagder
-
- * MITX.txt, MPL-1.0.txt, MPL-1.1.txt: new license files
-
-2001-01-04 11:28 bagder
-
- * configure.in: configure now finds the correct version number even
- if invoked from outside the source-tree
-
-2001-01-03 10:29 bagder
-
- * FILES, LEGAL, README, include/curl/curl.h, include/curl/easy.h,
- include/curl/stdcheaders.h, include/curl/types.h, lib/cookie.c,
- lib/cookie.h, lib/dict.c, lib/dict.h, lib/download.c,
- lib/download.h, lib/easy.c, lib/escape.c, lib/escape.h,
- lib/file.c, lib/file.h, lib/formdata.c, lib/formdata.h,
- lib/ftp.c, lib/ftp.h, lib/getenv.c, lib/getenv.h, lib/getinfo.c,
- lib/highlevel.c, lib/highlevel.h, lib/hostip.c, lib/hostip.h,
- lib/http.c, lib/http.h, lib/if2ip.c, lib/if2ip.h, lib/ldap.c,
- lib/ldap.h, lib/memdebug.c, lib/netrc.c, lib/netrc.h,
- lib/progress.c, lib/progress.h, lib/sendf.c, lib/sendf.h,
- lib/setup.h, lib/speedcheck.c, lib/speedcheck.h, lib/ssluse.c,
- lib/ssluse.h, lib/strequal.c, lib/strequal.h, lib/telnet.c,
- lib/telnet.h, lib/timeval.c, lib/timeval.h, lib/url.c, lib/url.h,
- lib/urldata.h, lib/version.c, src/main.c, src/setup.h,
- src/urlglob.c, src/urlglob.h, src/writeout.c, src/writeout.h:
- dual-license fix
-
-2001-01-03 10:13 bagder
-
- * docs/FAQ, include/curl/curl.h, lib/Makefile.in, src/version.h:
- cleanup-commit
-
-2001-01-03 10:07 bagder
-
- * CHANGES: ftp commands are now sent single-write()
-
-2001-01-03 09:35 bagder
-
- * perl/crawlink.pl: Added -i to allow ingore-patterns to get added
-
-2001-01-03 09:18 bagder
-
- * perl/crawlink.pl: only add good links as root links don't break
- the loop on root link errors
-
-2000-12-30 14:12 bagder
-
- * lib/sendf.c: ftpsendf() is remade to send the entire command in
- one write(), as some firewalls (like FW-1) seems to dislike
- split-up writes at times...
-
-2000-12-30 12:48 bagder
-
- * docs/FAQ: Added '5.4 Does libcurl do Winsock initing on win32
- systems?'
-
-2000-12-19 15:39 bagder
-
- * docs/TODO: multi doc lib support SSL session id support
-
-2000-12-19 14:35 bagder
-
- * lib/memdebug.c: include unistd.h if present to prevent compiler
- warnings on close()
-
-2000-12-19 14:34 bagder
-
- * memanalyze.pl: removed debug output
-
-2000-12-19 14:32 bagder
-
- * memanalyze.pl: analyzes fopen() leaks as well
-
-2000-12-19 14:23 bagder
-
- * lib/: memdebug.c, memdebug.h: Added fopen() and fclose() leak
- tracking
-
-2000-12-19 14:09 bagder
-
- * include/curl/types.h: updated email and web site
-
-2000-12-19 14:08 bagder
-
- * CHANGES: configure fix, two -O fixes
-
-2000-12-19 10:06 bagder
-
- * lib/ftp.c: fixed a leaked file descriptor when PORT failed
-
-2000-12-19 08:30 bagder
-
- * docs/FAQ: NTLM details added
-
-2000-12-18 17:13 bagder
-
- * memanalyze.pl, lib/ftp.c, lib/memdebug.c, lib/memdebug.h: fixed
- accept() for memory debugging
-
-2000-12-16 11:36 bagder
-
- * lib/ftp.c: changed the return code checker in the quote command
- send to only fail on >= 400 errors
-
-2000-12-16 11:25 bagder
-
- * docs/RESOURCES: Added Kermit and link
-
-2000-12-14 16:56 bagder
-
- * memanalyze.pl, lib/memdebug.c, lib/memdebug.h: added socket() /
- sclose() checks to the memdebug system
-
-2000-12-14 13:19 bagder
-
- * perl/crawlink.pl: crawls through a whole site and verifies links
-
-2000-12-14 09:37 bagder
-
- * docs/FAQ: How do a fetch multiple files with libcurl?
-
-2000-12-14 09:34 bagder
-
- * include/curl/curl.h: added include stdio.h for the FILE
-
-2000-12-12 14:10 bagder
-
- * docs/RESOURCES: Added a few related RFCs
-
-2000-12-12 11:14 bagder
-
- * docs/TODO: removed the config file entry as that has been much
- improved lately
-
-2000-12-12 11:05 bagder
-
- * docs/RESOURCES: points to the curl local copy of the netscape
- cookie spec points to the development site for wget reworded some
- RFC references so that they turn up as links on the converted web
- page better
-
-2000-12-12 10:30 bagder
-
- * src/main.c: fixed a strdup(NULL) error
-
-2000-12-12 09:48 bagder
-
- * src/main.c: Francois Petitjean's solaris core dump fix
-
-2000-12-11 16:35 bagder
-
- * docs/FEATURES: updated the latest added features
-
-2000-12-11 09:16 bagder
-
- * Makefile.dist: unix style newlines only
-
-2000-12-11 09:15 bagder
-
- * src/Makefile.vc6: unix-style newlines
-
-2000-12-11 09:14 bagder
-
- * lib/Makefile.vc6: unix style newlines
-
-2000-12-11 08:38 bagder
-
- * configure.in: Albert Chin-A-Young fixed the SSL option to use
- LDFLAGS properly
-
-2000-12-08 18:25 bagder
-
- * docs/curl_easy_setopt.3: fixed CURLOPT_COOKIE and added
- CURLOPT_CRLF
-
-2000-12-07 10:09 bagder
-
- * lib/url.c: Added SA_RESTART since (some) HPUX doesn't have that
- define and it doesn't need it
-
-2000-12-07 10:08 bagder
-
- * CHANGES: post 7.5 fixes
-
-2000-12-06 11:10 bagder
-
- * src/: main.c, urlglob.c, urlglob.h: urlglob fix to prevent
- crashing when -o path is longer than url
-
-2000-12-05 14:47 bagder
-
- * FILES, Makefile.dist, lib/Makefile.b32, lib/Makefile.b32.resp,
- src/Makefile.b32: Added the borland makefiles
-
-2000-12-05 10:15 bagder
-
- * tests/Makefile.am: uses the PERL variable configure digs up
-
-2000-12-05 09:04 bagder
-
- * lib/: getpass.c, getpass.h: changed third argument to size_t to
- match SCO prototype
-
-2000-12-04 15:59 bagder
-
- * packages/Linux/RPM/curl-ssl.spec: Paul Marquis fixed a
- 7.4.2-dependency
-
-2000-12-04 13:21 bagder
-
- * src/main.c: Jörn fixed a multiple URL output bug
-
-2000-12-04 10:44 bagder
-
- * CHANGES, include/curl/curl.h, lib/Makefile.in, src/hugehelp.c,
- src/version.h: 7.5-commit
-
-2000-12-01 08:02 bagder
-
- * src/Makefile.vc6: Craig Davison updated and made it work again!
-
-2000-12-01 08:01 bagder
-
- * Makefile.dist: Craig Davison fixed the VC++ lines
-
-2000-11-30 23:22 bagder
-
- * lib/Makefile.am: Added -version-info and lots of info
-
-2000-11-30 22:59 bagder
-
- * lib/ftp.c: added a typecast to shut up a VC++ warning when
- converting from long to unsigned short
-
-2000-11-30 22:54 bagder
-
- * lib/Makefile.vc6: Craig Davison updated this
-
-2000-11-30 09:08 bagder
-
- * src/Makefile.am: README.curl is now MANUAL
-
-2000-11-30 09:08 bagder
-
- * docs/MANUAL: Added a small note about referer needing to be
- complete to comply to the HTTP spec
-
-2000-11-30 08:56 bagder
-
- * FILES: Includes MANUAL instead of README.curl now
-
-2000-11-30 08:55 bagder
-
- * docs/MANUAL, docs/README.curl, README: README.curl is renamed to
- MANUAL
-
-2000-11-29 09:19 bagder
-
- * lib/ftp.c: removed #if 0 sections
-
-2000-11-29 09:17 bagder
-
- * lib/file.c: removed #if 0 section
-
-2000-11-29 09:16 bagder
-
- * lib/url.c: removed '#if 0' sections
-
-2000-11-29 08:48 bagder
-
- * docs/CONTRIBUTE: I'd love to see test cases with submitted
- patches...
-
-2000-11-29 08:47 bagder
-
- * docs/INTERNALS: minor things about the test suite added
-
-2000-11-28 13:49 bagder
-
- * tests/runtests.pl: now counts all test cases and presents a
- counter at the end
-
-2000-11-28 13:45 bagder
-
- * CHANGES: maxredirs
-
-2000-11-28 10:42 bagder
-
- * tests/data/: command25.txt, error25.txt, name25.txt, reply25.txt:
- max-redirs test case data
-
-2000-11-28 10:41 bagder
-
- * lib/highlevel.c: free the URL on redirections, this was a
- previous memory leak
-
-2000-11-28 10:11 bagder
-
- * docs/: curl.1, curl_easy_setopt.3: added maxredirs
-
-2000-11-28 10:10 bagder
-
- * src/main.c: Added max-redirs support (James Griffiths' patch)
-
-2000-11-28 10:10 bagder
-
- * include/curl/curl.h: added maxredirs, moved CURL_PROGRESS*
- defines to src/main.c
-
-2000-11-28 10:05 bagder
-
- * lib/: highlevel.c, url.c, urldata.h: James Griffiths' max-redirs
- fix
-
-2000-11-27 16:11 bagder
-
- * FILES: Added tests/ftpserver.pl
-
-2000-11-27 14:39 bagder
-
- * docs/INSTALL: I rearranged it and added 'make test'
-
-2000-11-27 14:32 bagder
-
- * docs/curl.1: spell check
-
-2000-11-27 13:53 bagder
-
- * tests/runtests.pl: modified for ftp custom commands
-
-2000-11-27 13:53 bagder
-
- * tests/ftpserver.pl: allows simple custom modifications for single
- test cases
-
-2000-11-27 13:53 bagder
-
- * tests/README: Added the ftpdN.txt file
-
-2000-11-27 13:52 bagder
-
- * tests/data/: command113.txt, command114.txt, command115.txt,
- command116.txt, command117.txt, command118.txt, command119.txt,
- error113.txt, error114.txt, error115.txt, error116.txt,
- error117.txt, error118.txt, error119.txt, ftpd113.txt,
- ftpd114.txt, ftpd115.txt, ftpd116.txt, ftpd117.txt, ftpd118.txt,
- name113.txt, name114.txt, name115.txt, name116.txt, name117.txt,
- name118.txt, name119.txt: ftp graceful error detection check data
-
-2000-11-27 13:04 bagder
-
- * lib/file.c: Added the memdebug include file
-
-2000-11-27 12:54 bagder
-
- * tests/data/: command200.txt, command201.txt, error201.txt,
- name200.txt, name201.txt, reply200.txt: file:// test data
-
-2000-11-27 12:53 bagder
-
- * tests/runtests.pl: if the server doesn't output a logfile, the
- protocol file is not compared with it! This makes tests without
- server (like for file://) smarter.
-
-2000-11-27 11:24 bagder
-
- * src/main.c: modified the --help output to have the passwords
- within [brackets] as they are optional...
-
-2000-11-22 15:57 bagder
-
- * docs/: curl_easy_getinfo.3, curl_easy_setopt.3: added the new
- FILETIME stuff
-
-2000-11-22 15:27 bagder
-
- * CHANGES, config.h.in, include/curl/curl.h, lib/Makefile.in,
- src/hugehelp.c, src/version.h: 7.5-pre3 commit
-
-2000-11-22 15:18 bagder
-
- * docs/TODO: multiple URL support? forked?
-
-2000-11-22 15:15 bagder
-
- * tests/data/: prot104.txt, reply104.txt: adjusted to modified FTP
- behaviour
-
-2000-11-22 15:15 bagder
-
- * tests/Makefile.am: Added a curl-target to make it easier to build
- from this dir
-
-2000-11-22 14:59 bagder
-
- * include/curl/curl.h: added filetime for opt and info
-
-2000-11-22 14:51 bagder
-
- * src/main.c: Added cacert and filetime support
-
-2000-11-22 14:50 bagder
-
- * lib/: ftp.c, getinfo.c, highlevel.c, url.c: document time fixes
-
-2000-11-22 13:57 bagder
-
- * lib/urldata.h: Added struct fields to deal with time-of-document
-
-2000-11-22 13:55 bagder
-
- * lib/sendf.h: client_write() proto and defines added
-
-2000-11-22 13:55 bagder
-
- * lib/: ldap.c, telnet.c: uses client_write()
-
-2000-11-22 13:54 bagder
-
- * lib/highlevel.c: uses client_write() now
-
-2000-11-22 13:53 bagder
-
- * lib/sendf.c: Added the client_write() function
-
-2000-11-22 13:51 bagder
-
- * lib/file.c: uses the new client_write() function
-
-2000-11-22 13:50 bagder
-
- * lib/ftp.c: GetLastResponse() modified to return ftp code as
- integer initial modified-time support
-
-2000-11-22 09:57 bagder
-
- * tests/data/: command24.txt, error24.txt, name24.txt, reply24.txt:
- HTTP GET fail silently on HTTP error return
-
-2000-11-22 09:51 bagder
-
- * docs/curl.1: Added --cacert
-
-2000-11-22 09:16 bagder
-
- * CHANGES: working with the test suite brings things up
-
-2000-11-22 08:53 bagder
-
- * docs/curl.1: Added --url
-
-2000-11-22 08:52 bagder
-
- * docs/README.curl: updated the config file section
-
-2000-11-22 08:27 bagder
-
- * docs/FAQ: Added 5.2 How can I receive all data into a large
- memory chunk?
-
-2000-11-21 20:37 bagder
-
- * memanalyze.pl: modified to work with printf()s that writes
- 0x-prefix on %p data
-
-2000-11-21 20:30 bagder
-
- * tests/Makefile.am: I run the perl programs with 'perl [script]'
- instead, to overcome the hardcoded-path-in-scripts problem.
-
-2000-11-21 20:28 bagder
-
- * tests/runtests.pl: upload check, better ability to specify test
- cases on the command line
-
-2000-11-21 20:25 bagder
-
- * tests/ftpserver.pl: REST support seems to work NLST sends an
- NLST-looking list renamed the upload file
-
-2000-11-21 20:21 bagder
-
- * tests/README: Added the uploadN.txt description
-
-2000-11-21 20:20 bagder
-
- * tests/data/: command104.txt, command105.txt, command106.txt,
- command107.txt, command108.txt, command109.txt, command110.txt,
- command111.txt, command112.txt, error111.txt, name101.txt,
- name104.txt, name105.txt, name106.txt, name107.txt, name108.txt,
- name109.txt, name110.txt, name111.txt, name112.txt, prot103.txt,
- prot104.txt, prot105.txt, prot106.txt, prot107.txt, prot108.txt,
- prot109.txt, prot110.txt, prot112.txt, reply104.txt,
- reply105.txt, reply106.txt, reply110.txt, stdout107.txt,
- stdout108.txt, stdout109.txt, stdout110.txt, stdout112.txt,
- upload107.txt, upload108.txt, upload109.txt, upload112.txt: FTP
- test case data
-
-2000-11-21 20:06 bagder
-
- * lib/url.c: set rangestringalloc to 0 after the string has been
- freed to prevent it from being freed twice (a NULL free the
- second time)
-
-2000-11-21 20:05 bagder
-
- * lib/memdebug.c: uses the "internal" mprintf() routines for
- formatted output
-
-2000-11-21 20:04 bagder
-
- * lib/ftp.c: bad directory name extractor fixed, now always free
- the file and directory very early, as that could leak memory
- before
-
-2000-11-21 20:01 bagder
-
- * lib/escape.c: curl_unescape() did not stop at the set length
- properly when %-codes were used
-
-2000-11-21 18:07 bagder
-
- * tests/runtests.pl: added a command line log that logs all command
- lines run in the complete test run
-
-2000-11-21 18:04 bagder
-
- * tests/data/: command100.txt, command101.txt, command102.txt,
- command103.txt, name100.txt, name101.txt, name102.txt,
- name103.txt, prot100.txt, prot101.txt, prot102.txt, prot103.txt,
- reply100.txt, reply101.txt, reply102.txt, reply103.txt: FTP test
- case data
-
-2000-11-21 16:51 bagder
-
- * tests/README: httpN => protN and some other minor updates
-
-2000-11-21 16:50 bagder
-
- * memanalyze.pl: says nothing if no errors were found
-
-2000-11-21 16:49 bagder
-
- * tests/ftpserver.pl: Added support for verifiedserver that returns
- a static silly string that allows the test script to verify that
- it is our test server running on the particular port
-
-2000-11-21 16:48 bagder
-
- * tests/runtests.pl: starts and stops both HTTP and FTP servers now
- checks memanalyze output better filters PORT output when doing
- FTP compares
-
-2000-11-21 16:37 bagder
-
- * src/main.c: removed the twice free_config_all() calls made the
- big config struct local (big . => -> replace)
-
-2000-11-21 16:36 bagder
-
- * lib/url.c: added some defensive code around the GetHost()'s third
- argument result
-
-2000-11-21 16:35 bagder
-
- * lib/hostip.c: GetHost() now sets the third pointer to NULL when
- the lookup fails, as the memory is then freed in the function
-
-2000-11-21 16:34 bagder
-
- * lib/ftp.c: when using PORT, we now free the host name buffer
- properly
-
-2000-11-21 15:24 bagder
-
- * tests/data/: http1.txt, http10.txt, http11.txt, http12.txt,
- http13.txt, http14.txt, http15.txt, http16.txt, http17.txt,
- http18.txt, http2.txt, http22.txt, http3.txt, http4.txt,
- http5.txt, http6.txt, http7.txt, http8.txt, http9.txt, prot1.txt,
- prot10.txt, prot11.txt, prot12.txt, prot13.txt, prot14.txt,
- prot15.txt, prot16.txt, prot17.txt, prot18.txt, prot2.txt,
- prot22.txt, prot3.txt, prot4.txt, prot5.txt, prot6.txt,
- prot7.txt, prot8.txt, prot9.txt: http* is now prot* since we're
- about to use other protocols as well
-
-2000-11-21 14:41 bagder
-
- * tests/data/: command23.txt, error23.txt, name23.txt: attempt to
- use a bad protocol
-
-2000-11-21 14:36 bagder
-
- * tests/ftpserver.pl: NLST does a LIST (a normal unix ftp client
- 'ls' becomes NLST) multiple transfers are supported
-
-2000-11-21 14:22 bagder
-
- * tests/ftpserver.pl: STOR works!
-
-2000-11-21 14:18 bagder
-
- * lib/mprintf.c: removed the storenonprintable function as it isn't
- used anymore
-
-2000-11-21 13:54 bagder
-
- * tests/ftpserver.pl: fancier login text removed lots of wasted
- comments cleaned up a little STOR doesn't work
-
-2000-11-21 13:00 bagder
-
- * tests/ftpserver.pl: removed the forks, we don't need forking for
- single-task testing
-
-2000-11-21 12:37 bagder
-
- * tests/Makefile.am: runtests.pl -c should be -a
-
-2000-11-21 10:38 bagder
-
- * src/: main.c, urlglob.h, writeout.c: removed pedantic compiler
- warnings
-
-2000-11-21 10:31 bagder
-
- * lib/url.c: removed two unused variables and added an extra set of
- parentheses, done to remove pedantic compiler warnings
-
-2000-11-21 10:31 bagder
-
- * lib/http.c: typecasted the argument to isspace() to int, to
- remove a pedantic compiler warning
-
-2000-11-21 10:30 bagder
-
- * lib/ftp.c: includes http.h for the proxytunnel stuff
-
-2000-11-21 10:29 bagder
-
- * lib/hostip.c: added comment on a variable that is unused on some
- platforms
-
-2000-11-20 17:02 bagder
-
- * tests/ftpserver.pl: flushes the log handles before fork, now the
- logs work too!
-
-2000-11-20 15:26 bagder
-
- * tests/ftpserver.pl: QUIT works, and now I can run a unix ftp
- client against the server and it runs pretty good
-
-2000-11-20 14:47 bagder
-
- * tests/ftpserver.pl: CWD runs
-
-2000-11-20 14:19 bagder
-
- * tests/ftpserver.pl: RETR seems to work too
-
-2000-11-20 14:07 bagder
-
- * tests/ftpserver.pl: this is now a working ftp server, both PASV
- and PORT run fine, LIST works, RETR and STORE don't
-
-2000-11-20 10:40 bagder
-
- * include/curl/curl.h: changed the comment for URL_MAX_LENGTH
-
-2000-11-20 10:37 bagder
-
- * CHANGES: formfree, config file, --url, more testcases, infinite
- URL lengths and more
-
-2000-11-20 10:04 bagder
-
- * tests/data/: command22.txt, http22.txt, name22.txt, reply22.txt:
- extremely long URL test
-
-2000-11-20 09:54 bagder
-
- * src/urlglob.c: removed URL size restrictions, dynamically
- allocates the needed buffer size instead
-
-2000-11-20 09:53 bagder
-
- * lib/: dict.c, http.c, url.c, urldata.h: removed URL size
- restrictions
-
-2000-11-20 09:00 bagder
-
- * tests/ftpserver.pl: this is the first attempt of a tiny and
- simple ftp server in perl for curl test purposes
-
-2000-11-20 08:59 bagder
-
- * tests/README: added a description about the memory checks
-
-2000-11-20 08:54 bagder
-
- * src/main.c: no more "leaked" memory when this fails on various
- kinds of bad usage
-
-2000-11-20 08:35 bagder
-
- * lib/url.c: Alexander Kourakos's lowercase environment variable
- fix
-
-2000-11-18 17:31 bagder
-
- * lib/url.c: spell correction resolv => resolve in two error
- messages
-
-2000-11-17 16:58 bagder
-
- * tests/runtests.pl: now supports checks for exit codes and check
- for memory even when curl returns (expected) exit code
-
-2000-11-17 16:57 bagder
-
- * tests/data/: command19.txt, command20.txt, command21.txt,
- error19.txt, error20.txt, error21.txt, name19.txt, name20.txt,
- name21.txt: graceful failure test
-
-2000-11-17 16:34 bagder
-
- * tests/runtests.pl: output FAILED properly even when -s is used
-
-2000-11-17 16:33 bagder
-
- * tests/README: updated to the new stdout stuff and the new -a
- option
-
-2000-11-17 16:32 bagder
-
- * src/main.c: fixed strdup() of a NULL pointer
-
-2000-11-17 16:31 bagder
-
- * lib/memdebug.c: now exits and alerts on bad uses of strdup() and
- free()
-
-2000-11-17 16:30 bagder
-
- * tests/data/stdout15.txt: updated to the new stdout file behaviour
- of runtests.pl
-
-2000-11-17 16:30 bagder
-
- * Makefile.am, tests/Makefile.am: make test in root now runs make
- quiet-test in the test dir
-
-2000-11-17 16:15 bagder
-
- * tests/: httpserver.pl, runtests.pl: uses stricter output
-
-2000-11-17 16:07 bagder
-
- * tests/runtests.pl: better stdout check, full support for memory
- debug tests
-
-2000-11-17 16:07 bagder
-
- * tests/data/: command18.txt, http18.txt, name18.txt, stdout18.txt:
- multiple URL test
-
-2000-11-17 15:21 bagder
-
- * include/curl/curl.h: curl_formfree() added
-
-2000-11-17 15:11 bagder
-
- * docs/curl_formfree.3: this has been missing all the time...
-
-2000-11-17 15:06 bagder
-
- * lib/formdata.c: added curl_formfree()
-
-2000-11-17 15:05 bagder
-
- * lib/memdebug.c: now includes stdlib.h
-
-2000-11-17 15:03 bagder
-
- * src/main.c, lib/highlevel.c, lib/http.c, lib/url.c: memory leak
- cleanup campaign
-
-2000-11-17 11:08 bagder
-
- * src/main.c: allows \r \n \t \v in config file parameters within
- quotes
-
-2000-11-17 11:05 bagder
-
- * tests/data/: command17.txt, http17.txt, name17.txt, reply17.txt,
- stdin17.txt: config file test
-
-2000-11-17 10:48 bagder
-
- * lib/: url.c, urldata.h: changed the 'port' field to long to
- better work with the va_arg() system
-
-2000-11-17 10:47 bagder
-
- * src/main.c: major config file hack, now works a lot better and
- slightly different Added --url to allow URLs to be specified in
- the config file that way
-
-2000-11-16 10:06 bagder
-
- * tests/httpserver.pl: moved out the FTP part
-
-2000-11-16 08:32 bagder
-
- * CHANGES, FILES: forgot to commit before
-
-2000-11-16 08:20 bagder
-
- * lib/progress.c: data->err must be used, not stderr
-
-2000-11-15 21:45 bagder
-
- * src/main.c: fixed crash in config file parser
-
-2000-11-15 16:48 bagder
-
- * tests/data/: command16.txt, http16.txt: updated to catch bug
- 122480
-
-2000-11-15 16:36 bagder
-
- * lib/mprintf.c: not printf()ing %s normally for character that
- weren't isprint() made things go weird, had to remove this. I
- should use trio soon for all the *printf() stuff as this is too
- broken
-
-2000-11-15 13:13 bagder
-
- * tests/httpserver.pl: 'use strict' compliant better complains if
- there are missing input files for a test case explaced exit-calls
- with returns instead
-
-2000-11-15 13:06 bagder
-
- * tests/data/: command16.txt, http16.txt, name16.txt, reply16.txt:
- proxy authorization test case
-
-2000-11-15 09:21 bagder
-
- * tests/runtests.pl: now sorts the test cases when "all" is used
-
-2000-11-15 08:09 bagder
-
- * tests/runtests.pl: 'use strict' compliant
-
-2000-11-14 12:56 bagder
-
- * tests/runtests.pl: removed some /= 256 that was wrongly left
-
-2000-11-14 11:28 bagder
-
- * tests/runtests.pl: added help text on -h
-
-2000-11-14 11:24 bagder
-
- * tests/README: more decriptions
-
-2000-11-14 11:18 bagder
-
- * tests/runtests.pl: removed lots of external program dependencies
- (for windows compliance) added lots of comments added -s for
- short output and made it possible to run specific test cases from
- the command line
-
-2000-11-13 21:47 bagder
-
- * tests/httpserver.pl: somewhat more functioning FTP
-
-2000-11-13 20:58 bagder
-
- * tests/httpserver.pl: basic and early ftp support
-
-2000-11-13 19:34 bagder
-
- * tests/runtests.pl: logs stderr as well now, which is good if the
- program crashes, and also dumps more information in case curl
- doesn't return success
-
-2000-11-13 19:23 bagder
-
- * lib/Makefile.in: [no log message]
-
-2000-11-13 19:23 bagder
-
- * lib/: highlevel.c, urldata.h: moved the followlocation field from
- the http struct to the urldata struct since it has to survive
- http struct deletion
-
-2000-11-13 17:07 bagder
-
- * tests/: Makefile.am, README: updated
-
-2000-11-13 17:06 bagder
-
- * tests/: README, httpserver.pl, runtests.pl, runtests.sh:
- converted shell script to perl
-
-2000-11-13 17:05 bagder
-
- * tests/data/: command10.txt, command11.txt, command12.txt,
- command13.txt, command14.txt, command15.txt, http10.txt,
- http11.txt, http12.txt, http13.txt, http14.txt, http15.txt,
- name10.txt, name11.txt, name12.txt, name13.txt, name14.txt,
- name15.txt, reply10.txt, reply11.txt, reply110001.txt,
- reply110002.txt, reply12.txt, reply13.txt, reply14.txt,
- reply15.txt, stdout15.txt: more test case data
-
-2000-11-13 12:59 bagder
-
- * src/main.c: removed the check that prevents -T and -o beinged
- used simultaneously!
-
-2000-11-13 12:45 bagder
-
- * tests/: httpserver.pl, runtests.sh: if the server is already
- running when the script is started, it now verifies that it
- actually is our test server that runs
-
-2000-11-13 12:29 bagder
-
- * lib/http.c: Added space after the Cookie: header keyword
-
-2000-11-13 10:51 bagder
-
- * tests/runtests.sh: defaults to run all available test cases in (1
- - last) order
-
-2000-11-13 10:44 bagder
-
- * tests/data/: command5.txt, command6.txt, command7.txt,
- command8.txt, command9.txt, http5.txt, http6.txt, http7.txt,
- http8.txt, http9.txt, name4.txt, name5.txt, name6.txt, name7.txt,
- name8.txt, name9.txt, reply5.txt, reply6.txt, reply7.txt,
- reply8.txt, reply9.txt: updated test cases
-
-2000-11-13 10:43 bagder
-
- * tests/runtests.sh: new pid stuff, more filters, various fixes
-
-2000-11-13 10:42 bagder
-
- * tests/httpserver.pl: changed pid stuff, made it work with rfc1867
- posts and made it work better on paths
-
-2000-11-13 10:41 bagder
-
- * tests/README: more details added
-
-2000-11-13 09:36 bagder
-
- * lib/libcurl.def: Jörg updated the list of exported functions
-
-2000-11-13 09:03 bagder
-
- * tests/runserv.pl: replaced by a working server!
-
-2000-11-13 09:02 bagder
-
- * tests/runtests.sh: uses the new httpd server, runs the tests much
- faster
-
-2000-11-13 09:02 bagder
-
- * tests/httpserver.pl: new perl http server that works better
-
-2000-11-13 08:51 bagder
-
- * lib/file.c: Chris Faherty fixed a free-twice problem
-
-2000-11-12 16:14 bagder
-
- * docs/TODO: updated config file section
-
-2000-11-12 16:11 bagder
-
- * tests/Makefile.am: Added empty actions for all: and install:
-
-2000-11-10 16:26 bagder
-
- * CHANGES: The last few days of changes
-
-2000-11-10 16:24 bagder
-
- * tests/data/: command1.txt, command2.txt, command3.txt,
- command4.txt, http1.txt, http2.txt, http3.txt, http4.txt,
- name1.txt, name2.txt, name3.txt, name4.txt, reply1.txt,
- reply2.txt, reply3.txt, reply4.txt: test files
-
-2000-11-10 16:24 bagder
-
- * tests/: Makefile.am, README, runserv.pl, runtests.sh: initial
- checkin
-
-2000-11-10 15:42 bagder
-
- * Makefile.am, configure.in: the tests dir is added
-
-2000-11-10 14:42 bagder
-
- * lib/ftp.c: set type before checking --head size, as the type may
- cause the server to return different sizes
-
-2000-11-10 12:28 bagder
-
- * lib/ftp.c: doing an ftp upload append that was already completed
- resulted in a "hang", it now results in an error instead
-
-2000-11-10 10:19 bagder
-
- * configure.in: added getpass_r check
-
-2000-11-10 10:19 bagder
-
- * lib/url.c: adjusted to the changed getpass_r()
-
-2000-11-10 10:18 bagder
-
- * lib/: getpass.c, getpass.h: new interface, updated Angus'
- license, dependent on HAVE_GETPASS_R
-
-2000-11-10 09:10 bagder
-
- * lib/cookie.c: Venkataramana Mokkapati corrected a cookie parser
- bug
-
-2000-11-09 13:51 bagder
-
- * src/: main.c, setup.h, urlglob.c, urlglob.h: haxx.nu => haxx.se
-
-2000-11-09 13:35 bagder
-
- * configure.in: Added RSAglue/rsaref lib check if the crypto lib is
- there but the ssl lib check fails.
-
-2000-11-08 15:27 bagder
-
- * configure.in: cleaned up the thread-safe checks into separate
- functions, added check for gethostbyname() in the socket lib as
- it seems some systems need it
-
-2000-11-08 00:09 bagder
-
- * lib/getdate.c: Added typecast to localtime_r()
-
-2000-11-07 08:33 bagder
-
- * lib/getpass.c: removed the perror() outputs as they did nothing
- good to us
-
-2000-11-07 00:18 bagder
-
- * lib/: getpass.c, getpass.h, url.c: getpass_r() is the new getpass
- name for thread-safe getpass!
-
-2000-11-07 00:12 bagder
-
- * docs/curl.1: Added T. Bharath to the list of contributors
-
-2000-11-07 00:11 bagder
-
- * docs/curl_easy_setopt.3: Added descriptions for:
- CURLOPT_PASSWDDATA, CURLOPT_PASSWDFUNCTION, CURLOPT_CAINFO and
- CURLOPT_SSL_VERIFYPEER.
-
-2000-11-06 23:59 bagder
-
- * docs/curl_easy_getinfo.3: Added CURLINFO_SSL_VERIFYRESULT
-
-2000-11-06 23:56 bagder
-
- * CHANGES: bugfixes and improvements
-
-2000-11-06 23:55 bagder
-
- * README: removed bad mirror, added text about source contents
- (that should be here according to the source license)
-
-2000-11-06 23:53 bagder
-
- * include/curl/curl.h, lib/getpass.c, lib/getpass.h, lib/url.c,
- lib/urldata.h: new getpass proto and function pointer usage
-
-2000-11-06 16:32 bagder
-
- * lib/: progress.c, progress.h: modified pgrsTime() to the new
- functionality
-
-2000-11-06 16:31 bagder
-
- * lib/: getinfo.c, highlevel.c, urldata.h: adjusted the
- time-keeping function to work better for location following
- requests
-
-2000-11-06 09:12 bagder
-
- * lib/url.c: Emmanuel Tychon found a problem when specifying
- user-name only in a URL (and the password entered interactively).
- This fix also includes proper URL-decoding of the user name and
- password if specified in the URL.
-
-2000-11-03 15:47 bagder
-
- * docs/examples/curlgtk.c: David Odin (aka DindinX) for
- MandrakeSoft, tiny example with GTK
-
-2000-11-02 15:34 bagder
-
- * CHANGES, include/curl/curl.h: error code fix
-
-2000-11-01 09:19 bagder
-
- * configure.in, lib/url.c: added signal in case sigaction is
- missing
-
-2000-10-31 10:54 bagder
-
- * FILES: adjusted to the new packages dir
-
-2000-10-31 10:53 bagder
-
- * curl-ssl.spec.in, curl.spec.in: removed, see packages/Linux/RPM
-
-2000-10-31 10:50 bagder
-
- * packages/: README, Linux/RPM/README, Linux/RPM/curl-ssl.spec,
- Linux/RPM/curl.spec, Linux/RPM/make_curl_rpm, Win32/README: new
- package related file
-
-2000-10-31 00:17 bagder
-
- * include/curl/curl.h: removed extra comma in the CURLINFO enum
- typedef
-
-2000-10-31 00:15 bagder
-
- * include/curl/curl.h: Added CURLOPT_SSL_VERIFYPEER and
- CURLOPT_CAINFO
-
-2000-10-30 16:07 bagder
-
- * docs/TODO: the verify cert stuff is now added!
-
-2000-10-30 13:43 bagder
-
- * CHANGES: T. Bharath's ssl patch
-
-2000-10-30 12:54 bagder
-
- * lib/getdate.y: typecasted the localtime_r() return code to not
- make it not warn even if the function prototype is missting
-
-2000-10-30 12:53 bagder
-
- * lib/: ftp.c, getinfo.c, sendf.c, ssluse.c, telnet.c, url.c,
- urldata.h: new urldata ssl layout and T. Bharath brought the new
- SSL cert verify function
-
-2000-10-27 14:25 bagder
-
- * docs/FAQ: Added section 4.8 I found a bug and did some minor
- cosmetics
-
-2000-10-27 12:52 bagder
-
- * docs/curl.1: Added description on how to use the newly supported
- multiple -d options
-
-2000-10-27 12:52 bagder
-
- * configure.in: Added sigaction check
-
-2000-10-27 12:51 bagder
-
- * CHANGES: post 7.4.1 changes
-
-2000-10-26 23:59 bagder
-
- * lib/setup.h: removed old unused getpass() leftovers
-
-2000-10-26 23:57 bagder
-
- * lib/url.c: Georg Horn provided a fix for the timeout signal
- stuff. Finally the timeout switch should work under most unixes
- (requires sigaction())
-
-2000-10-26 12:32 bagder
-
- * configure.in: removed getpass-check since getpass() is no longer
- being used
-
-2000-10-26 12:32 bagder
-
- * lib/: getpass.c, getpass.h, url.c: renamed getpass() to
- my_getpass() and it is now thread-safe and should disable
- passwd-echoing on win32 (supplied by Björn Stenberg)
-
-2000-10-26 10:15 bagder
-
- * src/main.c: Kevin Roth's bugreport with config files containing
- '-v defaulturl' is now fixed
-
-2000-10-26 09:06 bagder
-
- * src/main.c: Kevin P Roth's idea of supporting multiple -d options
- was turned into reality
-
-2000-10-25 09:43 bagder
-
- * docs/curl.1: Replaced the former bug report email address with
- the new curl-bug@haxx.se
-
-2000-10-25 09:42 bagder
-
- * docs/TODO: Added a few ideas
-
-2000-10-25 09:41 bagder
-
- * docs/FAQ: tiny spell correction
-
-2000-10-25 09:41 bagder
-
- * lib/memdebug.c: compiles on Linux now
-
-2000-10-23 15:56 bagder
-
- * configure.in, maketgz: the configure script dynamically gets the
- version from the include file now which lets the maketgz skip
- updating the configure.in file
-
-2000-10-20 15:48 bagder
-
- * lib/: http.c, url.c: remote_port used in Host: headers only when
- non-default
-
-2000-10-17 16:53 bagder
-
- * lib/: highlevel.c, speedcheck.c, speedcheck.h, urldata.h: made
- the speedcheck actually work again
-
-2000-10-16 15:52 bagder
-
- * CHANGES, configure.in, include/curl/curl.h, lib/Makefile.in,
- src/hugehelp.c, src/version.h: 7.4.1 commit
-
-2000-10-12 11:14 bagder
-
- * CHANGES: pre5 and pre6 fixes
-
-2000-10-12 11:13 bagder
-
- * FILES: Added lib/libcurl.def for win32 DLL creations
-
-2000-10-12 11:13 bagder
-
- * memanalyze.pl: just removed some example lines in the top comment
-
-2000-10-12 11:12 bagder
-
- * src/urlglob.c: Jörn added glob_cleanup()
-
-2000-10-12 10:22 bagder
-
- * lib/: sendf.c, url.c: sprintf() => snprintf()
-
-2000-10-11 12:59 bagder
-
- * docs/INTERNALS: updated to better reflect reality
-
-2000-10-11 12:59 bagder
-
- * docs/TODO: make curl capable of using the mozilla SSL engine
-
-2000-10-11 12:58 bagder
-
- * lib/url.c: free the URL string if that was allocated
-
-2000-10-11 12:57 bagder
-
- * lib/ftp.c: free the FTP struct already in the _done() function
-
-2000-10-11 12:29 bagder
-
- * lib/: highlevel.c, http.c, urldata.h: memory leak adjusts
-
-2000-10-10 00:29 bagder
-
- * lib/formdata.c: removed the header that confuses PHP
-
-2000-10-09 23:36 bagder
-
- * lib/setup.h: added the bool typedef, moved here from curl/curl.h
-
-2000-10-09 23:35 bagder
-
- * include/curl/curl.h, src/main.c: bool typedef fix
-
-2000-10-09 13:31 bagder
-
- * memanalyze.pl: use this to analyze the memory debug logs
- MALLOCDEBUG will generate
-
-2000-10-09 13:25 bagder
-
- * CHANGES: just too many to mention
-
-2000-10-09 13:24 bagder
-
- * src/Makefile.am: Added commented MALLOCDEBUG stuff for memory
- debugging
-
-2000-10-09 13:24 bagder
-
- * lib/Makefile.am: I commented the -DMALLOCDEBUG flag to make it
- easier to add
-
-2000-10-09 13:13 bagder
-
- * src/: main.c, urlglob.c: added memory debugging support
-
-2000-10-09 13:12 bagder
-
- * lib/: base64.c, cookie.c, escape.c, formdata.c, ftp.c, getenv.c,
- highlevel.c, hostip.c, http.c, krb4.c, mprintf.c, security.c,
- sendf.c, url.c: added memory debugging include file
-
-2000-10-09 13:11 bagder
-
- * lib/: memdebug.c, memdebug.h: added for memory leak debugging etc
-
-2000-10-08 14:50 bagder
-
- * lib/hostip.c: GetHost() did not properly assign the third
- argument pointer!
-
-2000-10-06 14:45 bagder
-
- * src/main.c: corrected the --longoption parser
-
-2000-10-06 13:06 bagder
-
- * lib/highlevel.c: removed include "writeout.h"
-
-2000-10-06 13:03 bagder
-
- * lib/Makefile.m32, src/Makefile.m32: Jörg's updated makefile
-
-2000-10-06 13:03 bagder
-
- * lib/url.c: the --interface code doesn't work on win32 and is
- #ifndef WIN32 now
-
-2000-10-06 13:02 bagder
-
- * lib/: dllinit.c, libcurl.def: added for the win32 version
-
-2000-10-06 12:40 bagder
-
- * configure.in: moved the src/config.h stuff to the bottom, as
- automake were adding include stuff to ../src in the lib
- directory's Makefile.in otherwise!
-
-2000-10-06 08:28 bagder
-
- * lib/: url.c, urldata.h: HTTP resume fix, now the range pointer
- may be allocated
-
-2000-10-04 15:09 bagder
-
- * docs/curl_easy_getinfo.3: filled in more information on the
- options
-
-2000-10-04 15:08 bagder
-
- * docs/curl.1: size_request and size_header added to the -w
- description
-
-2000-10-04 15:08 bagder
-
- * src/writeout.c: -w supports size_header and size_request
-
-2000-10-04 15:07 bagder
-
- * lib/: getinfo.c, highlevel.c, http.c, urldata.h: counts header
- and request size
-
-2000-10-04 00:07 bagder
-
- * docs/curl.1: Added Jason S. Priebe as contributor
-
-2000-10-04 00:06 bagder
-
- * docs/curl_easy_setopt.3: documented writeinfo as removed in 7.4
-
-2000-10-04 00:05 bagder
-
- * docs/curl_easy_getinfo.3: introduced in libcurl 7.4
-
-2000-10-04 00:04 bagder
-
- * lib/url.c: removed writeinfo stuff
-
-2000-10-03 18:53 bagder
-
- * lib/sendf.c: add_buffer_send() free()d the buffer *before* it was
- used! :-O
-
-2000-10-03 13:05 bagder
-
- * lib/urldata.h: added the new upload_bufsize to the connectdata
- struct
-
-2000-10-03 13:03 bagder
-
- * lib/url.c: inits the upload_bufsize at connect time
-
-2000-10-03 13:02 bagder
-
- * lib/highlevel.c: new upload-buffer size design that starts with a
- smallish buffer and increases its size in case of need
-
-2000-10-03 13:01 bagder
-
- * lib/: http.c, sendf.c, sendf.h: introduced the new add_buffer()
- concept that makes the HTTP request to get sent in only one shot
-
-2000-10-02 08:49 bagder
-
- * docs/Makefile.am: Added curl_easy_getinfo.3
-
-2000-10-02 08:40 bagder
-
- * docs/README.win32: added a small suggestion on how to get the
- curl man page in text format without nroff
-
-2000-10-02 08:36 bagder
-
- * src/main.c: Uses the new "client-side" writeout function
-
-2000-10-02 08:32 bagder
-
- * lib/Makefile.am: removed writeout.[ch] and added getinfo.c
-
-2000-10-02 08:32 bagder
-
- * src/Makefile.am: Added writeout.c
-
-2000-10-02 08:31 bagder
-
- * FILES: writeout.[ch] added in src/
-
-2000-10-02 08:30 bagder
-
- * src/: writeout.c, writeout.h: moved out from the library and put
- here, uses the new curl_easy_getinfo()
-
-2000-10-02 08:29 bagder
-
- * include/curl/: curl.h, easy.h: adjusted for curl_easy_getinfo
-
-2000-10-02 08:28 bagder
-
- * lib/: getinfo.c, writeout.c, writeout.h: getinfo.c replaces the
- former writeout.c
-
-2000-10-02 08:27 bagder
-
- * lib/: easy.c, highlevel.c: Added curl_easy_getinfo()
-
-2000-09-29 08:34 bagder
-
- * lib/hostip.c: #include <malloc.h> was removed, it causes warnings
- on openbsd
-
-2000-09-28 12:36 bagder
-
- * lib/: krb4.c, security.c: include base64.h instead of
- base64_krb.h
-
-2000-09-28 12:26 bagder
-
- * CHANGES, acconfig.h, config.h.in, configure.in, docs/FAQ,
- docs/curl_easy_init.3, include/curl/curl.h, lib/Makefile.am,
- lib/Makefile.in, lib/http.c, lib/url.c, src/hugehelp.c,
- src/version.h: 7.3 commit
-
-2000-09-28 10:01 bagder
-
- * lib/: base64.c, base64.h, base64_krb.c, base64_krb.h: replaced
- the old base64 stuff with the new ones
-
-2000-09-27 00:32 bagder
-
- * docs/INSTALL: more configure options explained
-
-2000-09-27 00:31 bagder
-
- * docs/README.curl: a --krb4 usage example added
-
-2000-09-27 00:30 bagder
-
- * docs/: curl.1, curl_easy_setopt.3: added krb4-info
-
-2000-09-27 00:28 bagder
-
- * lib/krb4.c: Added strlcpy() since it turns out some
- krb4-implementations don't include their own, even if mine did!
-
-2000-09-27 00:27 bagder
-
- * configure.in: moved the RAND_status() and RAND_screen() checks to
- the openssl section added strlcpy() check in the krb4 section
-
-2000-09-26 09:03 bagder
-
- * lib/ssluse.c: CRYPTO_free() of course, it makes it run with
- previous openssl versions too
-
-2000-09-26 00:23 bagder
-
- * CHANGES: The last week's changes
-
-2000-09-26 00:20 bagder
-
- * src/main.c: -c and -t is no longer prefered
-
-2000-09-26 00:16 bagder
-
- * lib/url.c: corrected curl_write() for kerberos
-
-2000-09-26 00:15 bagder
-
- * lib/: security.c, security.h: Martin Hedenfalk added
- sec_fflush_fd()
-
-2000-09-26 00:15 bagder
-
- * lib/ftp.c: krb4 transfers get a sec_fflush_fd() to get uploads to
- work
-
-2000-09-26 00:14 bagder
-
- * lib/cookie.c: a single cookie does not require a trailing
- semicolon anymore
-
-2000-09-26 00:04 bagder
-
- * lib/ssluse.c: No longer uses Free() as that was removed from
- OpenSSL with 0.9.6
-
-2000-09-25 23:49 bagder
-
- * lib/: progress.c, urldata.h: corrected bad data re-use and buffer
- problems
-
-2000-09-21 10:54 bagder
-
- * include/curl/curl.h: Added CURLOPT_KRB4LEVEL
-
-2000-09-21 10:53 bagder
-
- * docs/: FEATURES, INSTALL, README.curl, TODO, curl.1: updated
-
-2000-09-21 10:53 bagder
-
- * FILES: added docs/examples now only includes specified files in
- src/ as I tend to store debug-source files in there as well!
-
-2000-09-21 10:52 bagder
-
- * src/main.c: Added krb4 support for libcurl 7.3
-
-2000-09-21 10:51 bagder
-
- * lib/version.c: now reports "krb4 enabled" is that's so
-
-2000-09-21 10:50 bagder
-
- * lib/urldata.h: krb4 fields structs and fields added
-
-2000-09-21 10:50 bagder
-
- * lib/url.c: krb4 support new GetHost() usage new base64 encoder
- usage
-
-2000-09-21 10:49 bagder
-
- * lib/: sendf.c, sendf.h: adjusted to support krb4
-
-2000-09-21 10:48 bagder
-
- * lib/http.c: Uses the new interface to ssend() and the base64
- encoder
-
-2000-09-21 10:47 bagder
-
- * lib/: hostip.c, hostip.h: GetHost() changed function arguments
-
-2000-09-21 10:47 bagder
-
- * lib/ftp.c: krb4 support added, new GetHost() usage
-
-2000-09-21 10:46 bagder
-
- * lib/: base64.c, base64.h: new interface to the base64 encoder
-
-2000-09-21 10:46 bagder
-
- * lib/: base64_krb.c, base64_krb.h, krb4.c, security.c, security.h:
- new for kerberos support
-
-2000-09-21 00:32 bagder
-
- * docs/examples/: README, sepheaders.c, simple.c: new libcurl
- example code stuff
-
-2000-09-18 23:54 bagder
-
- * src/main.c: Stephen Kick's --interface was added
-
-2000-09-18 23:54 bagder
-
- * lib/: easy.c, url.c, urldata.h: Stephen Kick's interface fixes
-
-2000-09-18 23:53 bagder
-
- * include/curl/curl.h: Stephen Kick added CURLOPT_INTERFACE
-
-2000-09-18 23:16 bagder
-
- * lib/hostip.c: GetHost() now should return NULL when it fails,
- even for Tru64 unix
-
-2000-09-18 16:14 bagder
-
- * docs/INSTALL: Added --disable-shared info and updated the 'make
- install' section.
-
-2000-09-18 08:25 bagder
-
- * CHANGES, docs/TODO: ftp through http proxy tunnel is now
- implemented
-
-2000-09-15 16:16 bagder
-
- * docs/INSTALL: Added PowerPC and sparc linux
-
-2000-09-15 16:16 bagder
-
- * docs/README.curl: Updated to be accurate with the new proxytunnel
- option
-
-2000-09-15 16:15 bagder
-
- * docs/: curl.1, curl_easy_setopt.3: proxy tunnel update
-
-2000-09-15 16:15 bagder
-
- * docs/TheArtOfHttpScripting: spell corrections, changed some
- wording
-
-2000-09-15 15:22 bagder
-
- * README: Added curl.linuxworx.com.au as an "official" mirror
-
-2000-09-15 15:20 bagder
-
- * CHANGES, docs/FEATURES: proxytunnel added
-
-2000-09-15 14:55 bagder
-
- * lib/: Makefile.in, ftp.c, http.c: bugfixed the proxytunnel
-
-2000-09-15 08:11 bagder
-
- * src/main.c: -p/--proxytunnel was added
-
-2000-09-15 08:10 bagder
-
- * lib/: Makefile.in, ftp.c, http.c, http.h: more "anything through
- http proxy tunnel" fixes
-
-2000-09-14 16:14 bagder
-
- * include/curl/curl.h: Added HTTPPROXYTUNNEL
-
-2000-09-14 16:05 bagder
-
- * lib/: ftp.c, http.c, http.h, url.c, urldata.h: introduced 'tunnel
- through http proxy' for ftp
-
-2000-09-14 13:25 bagder
-
- * docs/INSTALL: updated the show-off list
-
-2000-09-14 12:41 bagder
-
- * lib/url.c: file:// fix that prevents name lookup and sets
- no-upload and no-download
-
-2000-09-07 13:34 bagder
-
- * include/curl/: curl.h, easy.h: C++ adjusted
-
-2000-08-31 14:04 bagder
-
- * lib/: ftp.c, highlevel.c: made -I (size info only) work for ftp
- again
-
-2000-08-31 14:03 bagder
-
- * lib/escape.c: in unescape(), '+' is now only converted to space
- after the first '?'
-
-2000-08-31 08:10 bagder
-
- * configure.in: patched 7.2 configure to work!
-
-2000-08-30 13:54 bagder
-
- * aclocal.m4, config.h.in, reconf, docs/RESOURCES,
- include/curl/curl.h, lib/Makefile.in, src/hugehelp.c,
- src/version.h: 7.2 cleanup commit
-
-2000-08-30 13:53 bagder
-
- * configure.in: 7.2
-
-2000-08-30 13:50 bagder
-
- * CHANGES, README: 7.2 commit
-
-2000-08-30 08:09 bagder
-
- * largefile.m4: renamed to acinclude.m4 to get included by aclocal
- automatically
-
-2000-08-24 21:19 bagder
-
- * docs/curl.1: Added Albert to the list contributors. The question
- is why I hadn't done that a long time ago...!
-
-2000-08-24 21:17 bagder
-
- * FILES: added acinclude.m4
-
-2000-08-24 21:16 bagder
-
- * acinclude.m4: largefile.m4 was turned into acinclude.m4
-
-2000-08-24 19:56 bagder
-
- * src/main.c: --data-binary and family ;-)
-
-2000-08-24 19:55 bagder
-
- * lib/Makefile.vc6: Jan Schmidt supplied an update
-
-2000-08-24 19:12 bagder
-
- * configure.in: Inreased buffer size for the Linux
- gethostbyname_r() test
-
-2000-08-24 18:27 bagder
-
- * include/curl/curl.h: Added CURLOPT_POSTFIELDSIZE
-
-2000-08-24 16:28 bagder
-
- * docs/: curl.1, curl_easy_setopt.3: new binary post details
-
-2000-08-24 16:28 bagder
-
- * lib/timeval.h: moved include setup.h
-
-2000-08-24 16:27 bagder
-
- * lib/setup.h: include config.h first
-
-2000-08-24 16:26 bagder
-
- * lib/: cookie.c, dict.c, download.c, easy.c, file.c, formdata.c,
- highlevel.c, hostip.c, http.c, if2ip.c, ldap.c, netrc.c,
- progress.c, sendf.c, speedcheck.c, ssluse.c, strequal.c,
- telnet.c, url.c, version.c, writeout.c: #include "setup.h" moved
- first of all includes
-
-2000-08-24 16:26 bagder
-
- * lib/ftp.c: inet_ntoa_r() usage made more portable
-
-2000-08-24 15:05 bagder
-
- * configure.in: removed the AC_TRY_RUN complaints
-
-2000-08-24 14:33 bagder
-
- * largefile.m4, configure.in, lib/hostip.c, lib/http.c,
- lib/if2ip.c, lib/sendf.c, lib/sendf.h, lib/url.c, lib/urldata.h:
- hostname and large file support added
-
-2000-08-23 09:27 bagder
-
- * docs/FAQ: Bjorn Reese helped me update the license section
-
-2000-08-23 09:25 bagder
-
- * CHANGES: Fixed name problems, updated FAQ, -d post problem found
-
-2000-08-23 09:25 bagder
-
- * acconfig.h, lib/getdate.y: Albert's fixes
-
-2000-08-23 09:23 bagder
-
- * configure.in, lib/file.c, lib/ftp.c, lib/getdate.c, lib/hostip.c,
- lib/http.c, lib/if2ip.c: Albert Chin-A-Young's fixes
-
-2000-08-21 23:57 bagder
-
- * include/curl/curl.h, lib/Makefile.in, src/hugehelp.c,
- src/version.h: 7.1.1 commit
-
-2000-08-21 23:56 bagder
-
- * CHANGES, README, config.h.in, configure.in, docs/TODO,
- docs/curl.1: 7.1.1 cleanup commit
-
-2000-08-18 17:09 bagder
-
- * lib/ftp.c: increased the buffer size used for name lookups
-
-2000-08-17 23:08 bagder
-
- * lib/ftp.c: Fred Noz fixed the gethostbyaddr_() call
-
-2000-08-17 23:07 bagder
-
- * lib/hostip.c: the gethostbyname_r() usage was improved by Fred
- Noz
-
-2000-08-17 18:33 bagder
-
- * configure.in: removed the vprintf check, we have our own internal
- anyway gethostbyname_r arg-number checks no longer made if there
- isn't any gethostbyname_r function! aborts the configure if
- socket() is absent
-
-2000-08-17 17:40 bagder
-
- * lib/url.c: removed HAVE_VPRINTF dependence
-
-2000-08-17 17:39 bagder
-
- * lib/highlevel.c: removed the HAVE_VPRINTF check
-
-2000-08-17 16:06 bagder
-
- * docs/FAQ: major update
-
-2000-08-17 13:42 bagder
-
- * docs/FAQ: Added another config to the autoconf bug effect
-
-2000-08-15 23:57 bagder
-
- * CHANGES: the latest writeout bugfix
-
-2000-08-15 23:54 bagder
-
- * lib/writeout.c: made Writeout() capable of getting called
- repeatedly
-
-2000-08-14 08:31 bagder
-
- * docs/: FAQ, TheArtOfHttpScripting: minor corrections
-
-2000-08-11 20:08 bagder
-
- * lib/url.c: Linux name resolving problem fixed with larger
- name-buffer
-
-2000-08-11 19:06 bagder
-
- * FILES: Added TheArtOfHttpScripting
-
-2000-08-11 19:03 bagder
-
- * docs/TheArtOfHttpScripting: tutorial kind of document
-
-2000-08-11 08:39 bagder
-
- * lib/http.c: Made it possible to replace the Content-Type: and
- Content-Length: headers curl issues when doing a regular HTTP
- post. This should not be taken light- heartedly though. Replacing
- them might get you into trouble!
-
-2000-08-08 15:46 bagder
-
- * lib/url.c: allow zero length user names for http
-
-2000-08-04 13:32 bagder
-
- * acconfig.h, config.h.in: updated with the latest thread-safe
- function stuff
-
-2000-08-04 13:30 bagder
-
- * configure.in: brand new gethostbyname_r() and gethostbyaddr_r()
- checks that now detects the AIX-styles as well. I added
- --disable-thread to allow a user to disable all testing for
- thread-safe functions being present and thus go with the good old
- style functions. This might become handy if (when?) I add a bug
- in the threaded code, like the AIX code I have now but can't
- test!
-
-2000-08-04 13:27 bagder
-
- * lib/if2ip.c: moved an include file further up to make AIX 3 more
- happy
-
-2000-08-04 13:27 bagder
-
- * lib/: ftp.c, hostip.c: Fixed to use the new
- HAVE_GETHOSTBYxxxx_R_x defines, now trying to support the
- AIX-style as well. The AIX-stuff is *NOT* verified to work.
-
-2000-08-02 10:08 bagder
-
- * src/Makefile.am: corrected to use the libtool libraries instead
- of the forced-static ones
-
-2000-08-02 09:17 bagder
-
- * docs/: FAQ, curl.1: updated
-
-2000-08-02 09:16 bagder
-
- * src/setup.h: moved the #define strequal() since they're now true
- functions in libcurl
-
-2000-08-02 09:16 bagder
-
- * include/curl/curl.h: Added the strequal() prototypes here
-
-2000-08-02 09:15 bagder
-
- * lib/highlevel.c: mr Khristophorov added support for lame web
- servers sending bad range headers...
-
-2000-08-01 00:42 bagder
-
- * CHANGES, FILES, Makefile.am, aclocal.m4, config.h.in,
- configure.in, docs/CONTRIBUTE, docs/FAQ, docs/FEATURES,
- docs/RESOURCES, include/curl/curl.h, lib/Makefile.in,
- lib/getdate.c, lib/getdate.y, lib/http.c, src/hugehelp.c,
- src/version.h: big last-beta (?) cleanup commit
-
-2000-08-01 00:41 bagder
-
- * lib/Makefile.am: The installed header files were moved from this
- to include/curl/Makefile.am
-
-2000-08-01 00:40 bagder
-
- * include/: Makefile.am, curl/Makefile.am: added to enable include
- file install
-
-2000-07-31 23:32 bagder
-
- * lib/getdate.c: generated from the newly edited getdate.y that now
- supports a thread-safe localtime() call
-
-2000-07-31 23:31 bagder
-
- * lib/url.c: made urlfree static, added (void) in front of one of
- the SSL calls. I did these changes when trying to run lclint on
- the curl code.
-
-2000-07-31 23:30 bagder
-
- * lib/http.c: Replacing one of the internal headers with one that
- has no contents will now completely disable that header to get
- sent.
-
-2000-07-30 00:21 bagder
-
- * CHANGES, configure.in, lib/getdate.y, lib/http.c: added
- localtime_r()
-
-2000-07-29 17:34 bagder
-
- * docs/Makefile.am: for install and more
-
-2000-07-29 14:12 bagder
-
- * ltconfig, ltmain.sh: libtool stuff added
-
-2000-07-28 09:58 bagder
-
- * FILES: Added two libtool files, is ltmain.sh really necessary?
-
-2000-07-28 09:57 bagder
-
- * LEGAL: updated my email
-
-2000-07-28 09:56 bagder
-
- * src/main.c: Added [:port] to the -x description for --help
-
-2000-07-28 09:56 bagder
-
- * lib/url.c: clear the httproxy bit on cleanup if the allocproxy
- bit was set
-
-2000-07-28 09:55 bagder
-
- * lib/http.c: corrected the Host: header's port number
-
-2000-07-26 11:37 bagder
-
- * CHANGES: ASCII FTP download -F improvements FTP response timeouts
- HTTP user+password to same host only libtool
-
-2000-07-26 11:34 bagder
-
- * docs/curl.1: another day, another contributor
-
-2000-07-26 11:34 bagder
-
- * docs/TODO: removed libtool, added pointer to the sourceforge task
- list
-
-2000-07-26 11:31 bagder
-
- * FILES: Added docs/Makefile*
-
-2000-07-26 11:28 bagder
-
- * lib/Makefile.am, src/Makefile.am, Makefile.am, config.guess,
- config.sub, configure.in: libtool adjustments
-
-2000-07-26 00:15 bagder
-
- * curl-ssl.spec, curl.spec: they're generated, they don't belong
- here
-
-2000-07-25 23:19 bagder
-
- * docs/curl.1: Added Torsten Foertsch's changes to the -F
- description and his name to the list of contributors.
-
-2000-07-25 23:17 bagder
-
- * lib/url.c: uses the new curl_close function to clean up the
- http-specific auth_host
-
-2000-07-25 23:16 bagder
-
- * lib/http.h: Added http_close()
-
-2000-07-25 23:16 bagder
-
- * lib/http.c: uses auth_host to only send user+password to that
- particular site, usable if Location: following takes "us" to
- other servers that should not get the user and password
-
-2000-07-25 23:15 bagder
-
- * lib/highlevel.c: set a bit when a Location: is followed to allow
- code to act differently on those occations
-
-2000-07-25 23:14 bagder
-
- * lib/urldata.h: curl_close is a new function pointer that can be
- set to a protocol-specific function to get called in the
- curl_close() function for cleanup auth_host is added to store the
- original (first) host name used
-
-2000-07-25 14:21 bagder
-
- * include/curl/curl.h, lib/formdata.c: Torsten Foertsch's
- improvements
-
-2000-07-25 14:13 bagder
-
- * lib/url.c: tiny adjustments to set the start-time before the
- curl_connect() is called to allow the connect function to better
- deal with timeouts, as was just added to ftp
-
-2000-07-25 14:12 bagder
-
- * lib/ftp.c: The "get ftp command response" function now uses
- select() on the socket and thus enables timeout if the server
- doesn't respond within the proper time.
-
-2000-07-25 09:39 bagder
-
- * CHANGES: A range of things done yesterday
-
-2000-07-25 09:38 bagder
-
- * include/curl/curl.h: Added CURLOPT_PROXYPORT
-
-2000-07-25 09:36 bagder
-
- * docs/curl_easy_setopt.3: Added CURLOPT_PROXYPORT, also added some
- more clarifications about the CURLOPT_PROXY option.
-
-2000-07-25 09:35 bagder
-
- * docs/curl.1: Auto referer and a minor netrc fix
-
-2000-07-25 09:34 bagder
-
- * src/main.c: Added some logic that now prevents multiple
- conflicting HTTP request types to get specified with the options.
-
-2000-07-25 09:32 bagder
-
- * lib/urldata.h: Added proxyport
-
-2000-07-25 09:31 bagder
-
- * lib/url.c: Added CURLOPT_PROXYPORT support Added a missing free()
- in curl_disconnect() Made (https) connect errors abort better and
- earlier
-
-2000-07-25 09:29 bagder
-
- * configure.in: re-added the check for BOTH nsl and socket libs
-
-2000-07-25 09:28 bagder
-
- * lib/http.c: The Host: header now includes the port number if not
- default HTTP
-
-2000-07-25 09:26 bagder
-
- * lib/ftp.c: Code 250 is okay as well as the previous 226-code
- after a successful file transfer
-
-2000-06-20 17:31 bagder
-
- * docs/curl_easy_cleanup.3, docs/curl_easy_init.3,
- docs/curl_easy_perform.3, docs/curl_easy_setopt.3,
- docs/curl_formparse.3, docs/curl_getdate.3, docs/curl_getenv.3,
- docs/curl_slist_append.3, docs/curl_slist_free_all.3,
- docs/curl_version.3, lib/base64.c, lib/base64.h, lib/dict.c,
- lib/dict.h, lib/download.c, lib/download.h, lib/easy.c,
- lib/escape.c, lib/escape.h, lib/file.c, lib/file.h,
- lib/formdata.c, lib/formdata.h, lib/ftp.c, lib/ftp.h,
- lib/getenv.c, lib/getenv.h, lib/getpass.c, lib/highlevel.c,
- lib/highlevel.h, lib/hostip.c, lib/hostip.h, lib/http.c,
- lib/http.h, lib/if2ip.c, lib/if2ip.h, lib/ldap.c, lib/ldap.h,
- lib/netrc.c, lib/netrc.h, lib/progress.c, lib/progress.h,
- lib/sendf.c, lib/sendf.h, lib/setup.h, lib/speedcheck.c,
- lib/speedcheck.h, lib/ssluse.c, lib/ssluse.h, lib/strequal.c,
- lib/strequal.h, lib/telnet.c, lib/telnet.h, lib/timeval.c,
- lib/timeval.h, lib/url.c, lib/url.h, lib/urldata.h,
- lib/version.c, lib/writeout.c, lib/writeout.h, Makefile.dist,
- curl-ssl.spec.in, curl.spec.in, docs/README.curl, docs/curl.1:
- haxx.nu => haxx.se
-
-2000-06-20 13:55 bagder
-
- * CHANGES: FTP bug fix new referer magic tricks!
-
-2000-06-20 13:23 bagder
-
- * lib/urldata.h: Added auto and free referer fields to the UrlData
- struct
-
-2000-06-20 11:28 bagder
-
- * include/curl/curl.h: Added AUTOREFERER
-
-2000-06-20 11:28 bagder
-
- * lib/highlevel.c, lib/url.c, src/main.c: autoreferer added,
- switches off POST on location: following
-
-2000-06-20 09:45 bagder
-
- * lib/ftp.c: Rich Gray fixed the PORT command line with the missing
- \r!
-
-2000-06-16 15:29 bagder
-
- * CHANGES: progress meter/bar changes
-
-2000-06-16 15:22 bagder
-
- * docs/curl_easy_setopt.3: removed the CURLOPT_PROGRESSMODE option
-
-2000-06-16 15:19 bagder
-
- * include/curl/curl.h: PROGRESSMODE is history
-
-2000-06-16 15:18 bagder
-
- * src/main.c: pretty big changes when the -# progress bar was moved
- in here from the lib/progess.c file, and is now used with the new
- progress callback function
-
-2000-06-16 15:17 bagder
-
- * lib/urldata.h: mode was replaced with callback in the progress
- struct
-
-2000-06-16 15:17 bagder
-
- * lib/url.c: progress.mode replaced with progress.callback
-
-2000-06-16 15:16 bagder
-
- * lib/progress.h: removed pgrsMode()
-
-2000-06-16 15:15 bagder
-
- * lib/progress.c: removed lots of #if 0'ed code removed the "mode"
- concept moved all #-stuff to the client
-
-2000-06-16 15:14 bagder
-
- * lib/highlevel.c: Added pgrsStartNow() on the appropriate place
-
-2000-06-15 16:34 bagder
-
- * lib/highlevel.c: when failing to write to a socket, we now bail
- out better I also use typecasted size_t now for systems with
- unsigned such ones
-
-2000-06-15 16:33 bagder
-
- * lib/formdata.c: removed the last \r\n\r\n bytes now returns -1
- from FormReader() when the last form data has been read!
-
-2000-06-14 19:28 bagder
-
- * CHANGES: POST fix
-
-2000-06-14 19:23 bagder
-
- * lib/strequal.c: Added #include <string.h>
-
-2000-06-14 19:15 bagder
-
- * lib/http.c: correct the POST workings. Tim Tassonis reported.
-
-2000-06-14 16:33 bagder
-
- * CHANGES: the 7.0.6beta fixes
-
-2000-06-14 16:29 bagder
-
- * lib/Makefile.am: the -W and -g stuff needn't be here by default
-
-2000-06-14 16:28 bagder
-
- * config-win32.h, lib/Makefile.m32, src/Makefile.m32,
- src/config-win32.h: Added a define in the Mingw32 makefiles to
- allow parts of the config-win32 files depend on that as well. It
- turned out Borland has no unistd.h file either, only mingw32
- seems to use that.
-
-2000-06-14 16:26 bagder
-
- * src/main.c: several minor fixes as pointed out by Björn Stenberg
-
-2000-06-14 16:26 bagder
-
- * lib/strequal.c: bad HAVE_STRICMP usage found by Björn Stenberg
-
-2000-06-14 16:08 bagder
-
- * docs/README.libcurl: added some more text about libcurl using
-
-2000-06-14 16:02 bagder
-
- * docs/curl.1: edited the contributor list changed ftp-ascii to
- use-ascii and its explanation was fixed
-
-2000-06-14 14:52 bagder
-
- * src/main.c: Added #include <fcntl.h> required by the setmode()
- for win32
-
-2000-06-14 14:50 bagder
-
- * CHANGES, docs/curl_easy_setopt.3, include/curl/curl.h,
- src/main.c: new binary stdout approach for win32 systems
-
-2000-06-14 12:50 bagder
-
- * config.h.in: Added GETHOSTBYNAME_R_NARGS and
- GETHOSTBYADDR_R_NARGS
-
-2000-06-14 11:16 bagder
-
- * docs/INTERNALS: updated to be more valid for version 7 workings
-
-2000-06-14 11:08 bagder
-
- * docs/RESOURCES: added a few RFCs to the list
-
-2000-06-14 01:04 bagder
-
- * config-win32.h, lib/Makefile.vc6, lib/urldata.h: Luong Dinh
- Dung's comments adjusted
-
-2000-06-13 10:11 bagder
-
- * CHANGES, lib/url.c: free-twice problem corrected
-
-2000-06-09 14:08 bagder
-
- * CHANGES: resources + readme.win32
-
-2000-06-09 09:10 bagder
-
- * docs/RESOURCES: edited it to look better when HTML'ified
-
-2000-06-09 09:02 bagder
-
- * FILES: Added the docs/README.win32 file
-
-2000-06-09 09:01 bagder
-
- * README, docs/curl.1: haxx.nu turns haxx.se
-
-2000-06-09 09:00 bagder
-
- * docs/RESOURCES: mucho updated with lots of links to various odd
- stuff
-
-2000-06-09 09:00 bagder
-
- * docs/README.win32: Some notes about life with curl in the win32
- world
-
-2000-06-08 17:20 bagder
-
- * CHANGES, docs/TODO: the recent mocking
-
-2000-06-08 17:14 bagder
-
- * src/Makefile.am: use top_dir instead of ../
-
-2000-06-08 17:13 bagder
-
- * docs/curl_easy_setopt.3: Added progress callback info
-
-2000-06-08 17:13 bagder
-
- * include/curl/curl.h: lower casing getenv and formparse added the
- progress function callback and data pointer added the callback
- typedefs
-
-2000-06-08 17:11 bagder
-
- * lib/: url.c, urldata.h: added progress callback stuff, changed
- the callback typedefs to be public
-
-2000-06-06 18:02 bagder
-
- * docs/curl_easy_setopt.3: modified
-
-2000-06-06 16:54 bagder
-
- * docs/curl_formparse.3: Added description
-
-2000-06-06 16:13 bagder
-
- * docs/FAQ: edited to look better after the txt2html convertion
-
-2000-06-06 16:09 bagder
-
- * docs/FAQ: updated with more examples
-
-2000-06-05 10:26 bagder
-
- * src/main.c: using the new formparse, the new getenv, using the
- new headers struct and clean up the headers better
-
-2000-06-05 10:24 bagder
-
- * lib/getenv.c: curl_getenv() is now lowercase
-
-2000-06-05 10:24 bagder
-
- * lib/formdata.c: the curl_formparse() function was turned
- lowercase
-
-2000-06-05 10:23 bagder
-
- * lib/: http.c, urldata.h: struct HttpHeader changed to struct
- curl_slist
-
-2000-06-05 10:21 bagder
-
- * docs/README.curl: Added text about how to convert certificates to
- PEM format
-
-2000-06-02 15:35 bagder
-
- * docs/FAQ: minor edits
-
-2000-06-02 15:32 bagder
-
- * docs/FAQ: Added many specific questions
-
-2000-06-02 14:45 bagder
-
- * docs/FAQ: Edited, cleaned up
-
-2000-06-02 14:06 bagder
-
- * docs/curl_easy_setopt.3: updated
-
-2000-06-02 13:42 bagder
-
- * docs/curl_formparse.3: curl_formparse() man page
-
-2000-06-02 13:39 bagder
-
- * docs/curl_version.3: Added description
-
-2000-06-02 13:34 bagder
-
- * docs/curl_slist_free_all.3: Added description
-
-2000-06-02 13:31 bagder
-
- * docs/curl_easy_setopt.3: changed the httppost struct into
- curl_slist struct
-
-2000-06-02 13:31 bagder
-
- * docs/curl_slist_append.3: added description
-
-2000-06-02 13:01 bagder
-
- * docs/curl_getenv.3: Added description
-
-2000-06-02 12:50 bagder
-
- * docs/curl_getdate.3: added description
-
-2000-06-02 11:02 bagder
-
- * docs/: curl_getdate.3, curl_getenv.3, curl_slist_append.3,
- curl_slist_free_all.3, curl_version.3: man page for this function
- already in used by the command line tool!
-
-2000-05-31 08:31 bagder
-
- * lib/hostip.c: David LeBlanc corrected one of my mistakes
-
-2000-05-31 00:27 bagder
-
- * lib/: ftp.c, hostip.c: Adjusted to the GETHOSTBYADDR_R_NARGS
- style
-
-2000-05-31 00:26 bagder
-
- * acconfig.h: Added GETHOSTBYADDR_R_NARGS and GETHOSTBYNAME_R_NARGS
-
-2000-05-31 00:26 bagder
-
- * configure.in: Added checks for number of parameters to the
- functions gethostbyname_r() and gethostbyaddr_r()
-
-2000-05-30 18:31 bagder
-
- * CHANGES, config.h.in, configure.in, docs/TODO, src/hugehelp.c,
- src/version.h: pre-release commit
-
-2000-05-30 01:09 bagder
-
- * src/main.c: modified to the new curl_getenv() style
-
-2000-05-30 01:07 bagder
-
- * lib/: getenv.c, netrc.c, progress.c, url.c, urldata.h: made
- getenv() more threadsafe for win32
-
-2000-05-30 00:54 bagder
-
- * docs/: TODO, curl.1: updated
-
-2000-05-30 00:52 bagder
-
- * lib/inet_ntoa_r.h: had to add this since it was missing in the
- system includes!
-
-2000-05-30 00:51 bagder
-
- * lib/: Makefile.in, ftp.c, hostip.c, hostip.h, if2ip.c, if2ip.h,
- url.c: David LeBlanc's fixes!
-
-2000-05-30 00:50 bagder
-
- * lib/getdate.c: generated with bison 1.28 which removes the
- alloca() mess!
-
-2000-05-26 15:58 bagder
-
- * src/main.c: URLGET_ERROR_SIZE is now CURL_ERROR_SIZE
-
-2000-05-26 15:57 bagder
-
- * lib/if2ip.c: silly mistake corrected
-
-2000-05-26 15:55 bagder
-
- * FILES: added the new man pages docs/*.3
-
-2000-05-26 13:59 bagder
-
- * docs/: README.libcurl, curl_easy_perform.3: updated
-
-2000-05-26 10:50 bagder
-
- * docs/: curl_easy_perform.3, curl_easy_setopt.3: more documented
- stuff
-
-2000-05-26 10:12 bagder
-
- * include/curl/curl.h: fixed the CURL_ERROR_SIZE and renamed a
- urlget() leftover
-
-2000-05-26 09:48 bagder
-
- * docs/TODO: Added a list of stuff to do for version 7
-
-2000-05-25 17:18 bagder
-
- * lib/if2ip.c: AIX wants sys/time.h included
-
-2000-05-25 17:18 bagder
-
- * configure.in: added sys/time.h check
-
-2000-05-25 00:56 bagder
-
- * Makefile.am: fixed the new path to the curl man page
-
-2000-05-25 00:53 bagder
-
- * src/Makefile.am: fixed the new docs path
-
-2000-05-23 12:25 bagder
-
- * src/mkhelp.pl: now splits the text into several puts() calls
-
-2000-05-22 21:15 bagder
-
- * CHANGES: Jörn's fixes mentioned
-
-2000-05-22 21:13 bagder
-
- * FILES: moved many docs to the new docs/ dir
-
-2000-05-22 21:11 bagder
-
- * CHANGES: more changes! ;-)
-
-2000-05-22 21:10 bagder
-
- * docs/: INSTALL, curl.1: slightly adjusted
-
-2000-05-22 21:09 bagder
-
- * lib/ldap.c: oops
-
-2000-05-22 21:04 bagder
-
- * lib/ldap.c: adjusted to work even without RTLD_GLOBAL defined
-
-2000-05-22 21:02 bagder
-
- * docs/: README.libcurl, curl_easy_cleanup.3, curl_easy_init.3,
- curl_easy_setopt.3: libcurl v7 adjustments
-
-2000-05-22 19:35 bagder
-
- * docs/: BUGS, CONTRIBUTE, FAQ, FEATURES, INSTALL, INTERNALS,
- README.curl, README.libcurl, RESOURCES, TODO, curl.1: moved here
- from the root directory
-
-2000-05-22 19:33 bagder
-
- * BUGS, CONTRIBUTE, FAQ, FEATURES, INSTALL, INTERNALS, README.curl,
- README.libcurl, RESOURCES, TODO, curl.1: moved to the new docs/
- directory
-
-2000-05-22 19:20 bagder
-
- * src/: Makefile.m32, main.c: Jörn's fixes
-
-2000-05-22 19:18 bagder
-
- * lib/: Makefile.m32, easy.c, url.c, urldata.h: Jört Hartroth's
- updates
-
-2000-05-22 19:17 bagder
-
- * lib/highlevel.h: moved here from the newlib branch
-
-2000-05-22 16:18 bagder
-
- * src/: Makefile.am, config-win32.h, hugehelp.c, main.c, urlglob.c,
- version.h: moved here from the newlib branch
-
-2000-05-22 16:13 bagder
-
- * include/curl/getdate.h: unused
-
-2000-05-22 16:12 bagder
-
- * include/curl/easy.h, include/curl/types.h, CHANGES, FAQ,
- config-win32.h, config.h.in, configure.in, curl.1, maketgz,
- include/curl/curl.h, lib/Makefile.am, lib/Makefile.in,
- lib/cookie.c, lib/dict.c, lib/dict.h, lib/download.c,
- lib/download.h, lib/escape.c, lib/escape.h, lib/file.c,
- lib/file.h, lib/formdata.c, lib/ftp.c, lib/ftp.h, lib/getdate.c,
- lib/getdate.h, lib/getdate.y, lib/getenv.c, lib/http.c,
- lib/http.h, lib/ldap.c, lib/ldap.h, lib/netrc.c, lib/progress.c,
- lib/progress.h, lib/sendf.c, lib/setup.h, lib/speedcheck.c,
- lib/speedcheck.h, lib/ssluse.c, lib/telnet.c, lib/telnet.h,
- lib/url.c, lib/url.h, lib/urldata.h, lib/version.c,
- lib/writeout.c, lib/writeout.h: moved here from the newlib branch
-
-2000-05-22 16:09 bagder
-
- * lib/: easy.c, highlevel.c, strequal.c, strequal.h: files moved to
- main branch from the newlib branch
-
-2000-05-17 23:21 bagder
-
- * src/main.c: moved the win32 init stuff here from the lib
-
-2000-05-16 01:09 bagder
-
- * lib/: Makefile.am, Makefile.in, easy.c, getenv.c, highlevel.c,
- url.c: more moves towards the "easy" interface
-
-2000-05-14 17:33 bagder
-
- * FAQ: "Will you write a script for me getting ZZZ from YYY?" added
-
-2000-05-14 17:21 bagder
-
- * configure.in: Added BOTH nsl+socket lib check Added HOST and
- TARGET checks Added automatic update of the *spec.in files (Linux
- RPM stuff)
-
-2000-05-14 15:36 bagder
-
- * CHANGES: the last days' changes
-
-2000-05-14 15:33 bagder
-
- * configure.in: string checks added
-
-2000-05-14 15:22 bagder
-
- * lib/: Makefile.am, Makefile.in, cookie.c, dict.c, escape.c,
- escape.h, file.c, formdata.c, ftp.c, highlevel.c, http.c, ldap.c,
- netrc.c, progress.h, setup.h, strequal.c, strequal.h, url.c,
- url.h, urldata.h, version.c: many changes
-
-2000-05-14 15:12 bagder
-
- * CHANGES: lots of stuff
-
-2000-05-10 00:48 bagder
-
- * lib/: Makefile.am, Makefile.in, url.c, urldata.h: slow night, few
- changes
-
-2000-05-10 00:42 bagder
-
- * src/main.c: Removed all #ifdef GLOBURL lines, we always use them
-
-2000-05-10 00:25 bagder
-
- * lib/ldap.c: Made support for RTLD_LAZY_GLOBAL as already commited
- to the main branch
-
-2000-05-10 00:23 bagder
-
- * lib/ldap.c: Support for systems where RTLD_LAZY_GLOBAL is defined
- instead of RTLD_GLOBAL and RTLD_LAZY separately.
-
-2000-05-09 14:29 bagder
-
- * src/: main.c, urlglob.c, urlglob.h: changed the glob_url() call,
- after Janne Johansson's buffer overflow report
-
-2000-05-09 00:35 bagder
-
- * lib/: Makefile.in, dict.c, download.c, file.c, file.h, ftp.c,
- ftp.h, highlevel.c, http.c, http.h, ldap.c, progress.c, sendf.c,
- ssluse.c, telnet.c, url.c, url.h, urldata.h: Another step on the
- way
-
-2000-05-02 23:36 bagder
-
- * lib/ldap.h: added -done proto
-
-2000-05-02 23:35 bagder
-
- * lib/highlevel.c: just a few more comments
-
-2000-05-02 23:33 bagder
-
- * lib/url.c: do/done applied more
-
-2000-05-02 23:32 bagder
-
- * lib/: dict.c, dict.h, ftp.c, http.c, ldap.c, telnet.c, telnet.h:
- converted to be called with do/done style functions
-
-2000-04-27 01:03 bagder
-
- * lib/: formdata.c, ftp.c, ftp.h, http.c, http.h, url.c, urldata.h:
- many updates
-
-2000-04-26 23:37 bagder
-
- * lib/: Makefile.am, Makefile.in, dict.c, dict.h, download.c,
- download.h, ftp.c, ftp.h, http.c, http.h, ldap.c, ldap.h,
- telnet.h, url.c, urldata.h: massive initial newlib commit
-
-2000-04-26 23:34 bagder
-
- * lib/: externaltypes.h, highlevel.c: used in the new library
-
-2000-04-24 17:20 bagder
-
- * FAQ: configure having problem with openssl
-
-2000-04-11 23:48 bagder
-
- * lib/progress.h: added a missing prototype, removed unused code
-
-2000-04-11 23:47 bagder
-
- * lib/url.c: now uses a tiny bit of the new library interface!
-
-2000-04-10 20:05 bagder
-
- * INSTALL: Added Darwin to the list of platforms
-
-2000-04-08 22:45 bagder
-
- * INSTALL: updated the ports list
-
-2000-04-08 21:33 bagder
-
- * FILES: Added the *spec.in files
-
-2000-04-08 21:32 bagder
-
- * curl-ssl.spec.in, curl.spec.in: new files to generate .spec files
- automatically
-
-2000-04-08 21:29 bagder
-
- * lib/url.c: now sends user agent to all requests that go through a
- http proxy
-
-2000-04-08 21:28 bagder
-
- * lib/progress.c: Improved the looks of the progress meter when the
- file size is between 9999 KB and 100 MB since it then can display
- the size as XX.X MB instead of just XX as before.
-
-2000-04-08 21:27 bagder
-
- * CHANGES: some rpm build improvements adjusted progress bar user
- agent sent when talking non-http through a http proxy
-
-2000-04-04 20:08 bagder
-
- * lib/url.c: Marco's fix got adjusted
-
-2000-04-04 19:47 bagder
-
- * CHANGES: two location problems and one OS/2 patch
-
-2000-04-04 19:44 bagder
-
- * lib/url.c: Marco G. Salvagno's OS/2 patch is applied
-
-2000-04-04 19:42 bagder
-
- * src/main.c: Marco G. Salvagno's patch applied
-
-2000-04-02 20:28 bagder
-
- * FILES: added INTERNALS
-
-2000-04-02 20:09 bagder
-
- * INTERNALS: describes internal code design
-
-2000-04-02 14:08 bagder
-
- * lib/url.c: James Atwill correctly pointed out that curl didn't
- follow Location: headers properly when the new URL is an absolute
- one to a different port than the first URL...
-
-2000-03-27 23:42 bagder
-
- * README.curl: Added some more explanatory text about HTTP posts
-
-2000-03-27 23:36 bagder
-
- * lib/url.c: "H. Daphne Luong" <daphne@tellme.com> pointed out that
- curl cannot destroy the proxy server data internally as it did,
- since when doing a location: following it needs the proxy server
- string several times.
-
-2000-03-23 12:02 bagder
-
- * BUGS, CHANGES, CONTRIBUTE, INSTALL: spelling errors corrected
-
-2000-03-23 11:43 bagder
-
- * CHANGES: download.c, configure, VC fix and OS/2 fix
-
-2000-03-23 11:41 bagder
-
- * lib/getpass.c: yet another tiny OS/2 fix
-
-2000-03-23 11:41 bagder
-
- * lib/download.c: in case the select() returns -1 and errno is
- EINTR, it should not abort the download (MT-adjustment)
-
-2000-03-23 11:40 bagder
-
- * lib/Makefile.vc6: Wham Bang's fixes
-
-2000-03-23 11:39 bagder
-
- * curl-ssl.spec, curl.spec: Troy Engel's latest updates
-
-2000-03-23 11:39 bagder
-
- * config-win32.h: HAVE_UNAME was bad HAVE_UNISTD_H is now not set
- if VC6 is defined
-
-2000-03-23 11:36 bagder
-
- * FAQ: Added a question about other SSL libraries
-
-2000-03-23 10:33 bagder
-
- * RESOURCES: just a little reformatted
-
-2000-03-21 18:12 bagder
-
- * configure.in: removed the double BSD install check
-
-2000-03-21 16:37 bagder
-
- * CHANGES, configure.in, include/curl/curl.h, lib/Makefile.in,
- src/hugehelp.c, src/main.c, src/version.h: 6.5.2 release commit
-
-2000-03-21 15:23 bagder
-
- * config.h.in, configure.in: release commit time
-
-2000-03-21 15:18 bagder
-
- * CHANGES: curl_unescape() update
-
-2000-03-20 12:27 bagder
-
- * FAQ: reformatted, added a custom FTP command question
-
-2000-03-20 11:31 bagder
-
- * BUGS: changed the URL to use http:// instead
-
-2000-03-20 11:22 bagder
-
- * lib/escape.c: curl_unescape() could make a buffer overflow
-
-2000-03-20 10:25 bagder
-
- * CHANGES: openbsd complaints fixes http_code in -w fix MS VC++
- fixes documentation updates -D update OS/2 port
-
-2000-03-20 10:21 bagder
-
- * curl.1: modified to look better when man2html'ified
-
-2000-03-20 10:11 bagder
-
- * lib/getdate.c: generated from the new getdate.y file
-
-2000-03-20 10:10 bagder
-
- * lib/Makefile.am: commented the CFLAGS that was left in here by
- mistake
-
-2000-03-20 10:10 bagder
-
- * curl.1: contributor Marco G. Salvagno added
-
-2000-03-20 10:09 bagder
-
- * INSTALL: Marco G. Salvagno's paragraph about compiling for OS/2
- is added
-
-2000-03-19 20:55 bagder
-
- * src/: main.c, setup.h: Marco G. Salvagno's OS/2 changes
-
-2000-03-19 20:54 bagder
-
- * lib/: file.c, getpass.c, progress.c: Marco G. Salvagno's OS/2
- fixes
-
-2000-03-17 18:18 bagder
-
- * lib/Makefile.vc6: updated to compile 6.5
-
-2000-03-17 12:45 bagder
-
- * BUGS: how to report curl bugs!
-
-2000-03-16 16:21 bagder
-
- * README: corrected the CVS info
-
-2000-03-16 12:43 bagder
-
- * src/main.c: the --dump-header option now only creates the file
- when it needs to, not any sooner
-
-2000-03-16 12:41 bagder
-
- * lib/writeout.c: Added the forgotten http_code!
-
-2000-03-16 12:41 bagder
-
- * lib/ssluse.c: makes use of HAVE_RAND_SCREEN instead of WIN32 for
- using RAND_screen()
-
-2000-03-16 12:40 bagder
-
- * lib/http.c: removed an unnecessary #ifdef WIN32
-
-2000-03-16 12:40 bagder
-
- * lib/getdate.y: if stdlib.h exists, malloc.h should not be
- included (thus stop OpenBSD complaints)
-
-2000-03-16 12:39 bagder
-
- * lib/ftp.c: cleaned up some #ifdef mess, now uses data->fwrite()
- to write headers
-
-2000-03-16 12:38 bagder
-
- * lib/download.c: now writers the headers with the data->fwrite()
- function as well
-
-2000-03-16 12:35 bagder
-
- * lib/Makefile.vc6: as Pascal Gaudette pointed out, the ldap files
- were missing
-
-2000-03-16 12:35 bagder
-
- * curl.1: tiny fixes
-
-2000-03-16 12:34 bagder
-
- * configure.in: Added checks for RAND_screen, malloc.h and stdlib.h
-
-2000-03-16 12:33 bagder
-
- * config-win32.h: RAND_SCREEN is only available for win32 SSL users
-
-2000-03-16 12:32 bagder
-
- * CONTRIBUTE, FAQ, FEATURES, FILES, INSTALL, README, README.curl,
- TODO: updates and fixes
-
-2000-03-14 09:33 bagder
-
- * config.h.in, configure.in, include/curl/curl.h, lib/Makefile.in,
- src/config.h.in, src/hugehelp.c, src/version.h: 6.5 cleanup
- commit
-
-2000-03-14 09:29 bagder
-
- * src/config-win32.h: Added HAVE_STRDUP
-
-2000-03-14 09:29 bagder
-
- * config-win32.h: Added #define HAVE_SETVBUF 1
-
-2000-03-13 10:13 bagder
-
- * CHANGES: The changes of today.
-
-2000-03-13 10:12 bagder
-
- * configure.in: put back the perl binary check
-
-2000-03-13 10:11 bagder
-
- * lib/http.c: now sends cookies space separated to better work with
- IIS4.0 servers
-
-2000-03-13 10:11 bagder
-
- * curl.1: corrected spelling errors, improved look for the ranges
- part
-
-2000-03-03 00:17 bagder
-
- * CHANGES: Ultrix fixes, openssl fix, docs, removed perl
-
-2000-03-03 00:12 bagder
-
- * include/README: corrected a spelling mistake
-
-2000-03-03 00:07 bagder
-
- * include/curl/curl.h: Added the WRITEINFO tag
-
-2000-03-03 00:06 bagder
-
- * src/main.c: Added -N, added a strdup() function for systems
- without it. suggested for Ultrix by Damien Adant <dams@usa.net>.
-
-2000-03-03 00:05 bagder
-
- * config-win32.h: sys/select.h and gettimeofday() adjusted
-
-2000-03-03 00:04 bagder
-
- * README.curl: progress meter text updated to the new display
-
-2000-03-03 00:03 bagder
-
- * curl.1: added -N and -w descriptions
-
-2000-03-03 00:02 bagder
-
- * configure.in: Added checks for setvbuf(), RAND_set() and removed
- the perl stuff
-
-2000-03-03 00:02 bagder
-
- * FILES: removed perl/
-
-2000-03-03 00:01 bagder
-
- * lib/writeout.c: renamed some variables and made \r work
-
-2000-03-03 00:01 bagder
-
- * lib/ssluse.c: Adjusted to run properly with OpenSSL 0.9.5.
-
-2000-03-03 00:00 bagder
-
- * lib/download.c: Damien Adant <dams@usa.net> suggestion to make it
- compile on Ultrix
-
-2000-03-01 23:50 bagder
-
- * curl.1: rephrased. -D writes a file, -b reads one.
-
-2000-03-01 23:44 bagder
-
- * src/main.c: made -w support -w@[file] and -w@- (for stdin)
-
-2000-03-01 23:40 bagder
-
- * CHANGES: describes the latest commited changes
-
-2000-03-01 23:07 bagder
-
- * lib/writeout.c: new variables added
-
-2000-03-01 23:06 bagder
-
- * lib/urldata.h: Added more variables to the progress struct
- targeted for statistics output
-
-2000-03-01 23:05 bagder
-
- * lib/url.c: Added two new time stamp places
-
-2000-03-01 23:01 bagder
-
- * lib/progress.h: added prototype and defines for pgrsTime()
-
-2000-03-01 22:59 bagder
-
- * lib/progress.c: added pgrsTime() to store various time stamps for
- the -w option
-
-2000-03-01 22:56 bagder
-
- * lib/download.c: store the pretransfer time store the http code
-
-2000-03-01 22:54 bagder
-
- * lib/Makefile.m32: Applied Jörn's patch
-
-2000-02-22 00:53 bagder
-
- * lib/Makefile.am: Added writeout.[ch]
-
-2000-02-22 00:52 bagder
-
- * lib/: writeout.c, writeout.h: Supports the -w/--write-out feature
-
-2000-02-22 00:52 bagder
-
- * src/main.c: new writeout support added
-
-2000-02-22 00:51 bagder
-
- * lib/urldata.h: new fields in the progress struct
-
-2000-02-22 00:51 bagder
-
- * lib/url.c: Added writeout stuff
-
-2000-02-22 00:50 bagder
-
- * lib/progress.c: moved a few more variables to the progress struct
- and I had some problems on how to approach the -# progress bar in
- the new style transfers...
-
-2000-02-22 00:49 bagder
-
- * TODO: Added the http post resume thing and the new SSL FTP online
- draft
-
-2000-02-22 00:48 bagder
-
- * CHANGES: tonight's changes, the progress bar and the new -w
- option
-
-2000-02-21 23:25 bagder
-
- * lib/Makefile.m32: removed upload.[ch] from here
-
-2000-02-16 01:06 bagder
-
- * CHANGES: Progress meter work
-
-2000-02-16 01:05 bagder
-
- * src/main.c: Starting working on the '-w/--write-out' output
- format specifier, although I didn't get that far! ;-) I also made
- curl *not* prevent the progress meter even if the output is a tty
- when your uploading (it is still done when downloading though). A
- HTTP POST is in that sense seen as an upload. It seemed so
- confusing that ftp upload doesn't display a progress meter by
- default.
-
-2000-02-16 01:02 bagder
-
- * lib/urldata.h: added #include <timeval.h> on Jörn's advice added
- lastshow to the progress struct
-
-2000-02-16 01:01 bagder
-
- * lib/url.c: Now starts the progress meter timer at once!
-
-2000-02-16 01:01 bagder
-
- * lib/timeval.h: Jörn Hartroth adjusted for the mingw32 compiler
-
-2000-02-16 01:00 bagder
-
- * lib/progress.c: re-arranged the progress meter columns, made the
- hour-field two characters wide and made the pgrsUpdate() make a
- final meter update so that the final values actually are
- displayed last.
-
-2000-02-16 00:59 bagder
-
- * lib/download.c: modified the progress meter usage
-
-2000-02-15 00:19 bagder
-
- * curl.1: Added Ron, Paul and Ellis to the list of contributors
-
-2000-02-15 00:17 bagder
-
- * src/main.c: added support for -b@[file name] and -b@- (for stdin)
- for consistency
-
-2000-02-15 00:16 bagder
-
- * CHANGES: The last week's (or so) changes
-
-2000-02-15 00:15 bagder
-
- * lib/: progress.c, progress.h: all new progress stuff on the way
- in
-
-2000-02-15 00:14 bagder
-
- * lib/Makefile.in: upload.[ch] are removed
-
-2000-02-15 00:13 bagder
-
- * lib/urldata.h: new stuff for the new progress meter
-
-2000-02-15 00:12 bagder
-
- * lib/getdate.c: newly generated from the new getdate.y
-
-2000-02-15 00:03 bagder
-
- * lib/url.c: uses the new progress functions
-
-2000-02-14 23:59 bagder
-
- * lib/download.c: made upload/download work better simultaneously
- now uses the new progress meter functions
-
-2000-02-14 23:57 bagder
-
- * lib/: dict.c, file.c, ftp.c, http.c: updated to use the new set
- of progress-functions
-
-2000-02-11 00:28 bagder
-
- * lib/getdate.y: Ellis Pritchard <ellis@citria.com> made it work
- for MacOS X
-
-2000-02-11 00:15 bagder
-
- * lib/http.c: This should no longer send empty cookies to the
- server
-
-2000-02-11 00:14 bagder
-
- * lib/cookie.c: * Made '-' as file name to read cookies from equal
- stdin. * I hope I finally removed 'empty cookies' crash
-
-2000-02-11 00:03 bagder
-
- * src/main.c: - Paul Marquis <pmarquis@iname.com> fixed the config
- file parsing of curl to deal with any-length lines, removing
- the previous limit of 4K.
-
-2000-02-09 00:21 bagder
-
- * CHANGES: committed the changes of yesterday, now from my new
- linux host at home
-
-2000-02-08 01:27 bagder
-
- * src/urlglob.c: Ron Zapp <rzapper@yahoo.com> corrected a sprintf()
- problem
-
-2000-02-02 00:57 bagder
-
- * lib/url.c: removed include upload.h
-
-2000-02-02 00:56 bagder
-
- * lib/: ftp.c, http.c: removed #include "upload.h"
-
-2000-02-02 00:54 bagder
-
- * lib/: cookie.c, cookie.h: Added some RFC2109 support
-
-2000-02-02 00:54 bagder
-
- * CHANGES: cookie-update
-
-2000-02-02 00:53 bagder
-
- * README: tiny spelling mistake
-
-2000-02-02 00:52 bagder
-
- * lib/Makefile.am: upload.[ch] are history
-
-2000-02-02 00:52 bagder
-
- * lib/: dict.c, ftp.c, http.c: Adjusted to use the new Transfer()
- instead of the old Download()
-
-2000-02-02 00:51 bagder
-
- * lib/: download.c, download.h: Download() was merged with Upload()
- and now they both form the new Transfer() function that deals
- with both directions at the same time.
-
-2000-02-02 00:50 bagder
-
- * lib/: upload.c, upload.h: Upload() and Download() are now
- Transfer()!
-
-2000-02-01 01:42 bagder
-
- * CHANGES: status update before night-time
-
-2000-01-31 23:22 bagder
-
- * curl.1: Cleared some confusions around -y and -Y as pointed out
- to me by M Travis Obenhaus <Travis.Obenhaus@aud.alcatel.com>
-
-2000-01-31 23:21 bagder
-
- * CHANGES: the latest changes
-
-2000-01-31 23:21 bagder
-
- * src/main.c: fixed the progressmode selector sorted out the -y and
- -Y confusion in the help texts
-
-2000-01-31 23:20 bagder
-
- * lib/url.c: removed the port number reset again, it is already
- being made when the location: URL turns out to be an "absolute"
- one and that should be the only time it is required.
-
-2000-01-31 23:19 bagder
-
- * lib/progress.c: assume 79 columns instead of 80 in case we don't
- know, to better work on win32 systems
-
-2000-01-19 22:57 bagder
-
- * lib/url.c: - Oskar Liljeblad <osk@hem.passagen.se> pointed out
- and corrected a problem
- in the Location: following system that made curl following a
- location: to a
- different protocol to fail.
-
-2000-01-17 18:31 bagder
-
- * FEATURES: Added the post transfer quote feature
-
-2000-01-17 18:30 bagder
-
- * FILES: Added the config-win32.h in the tree root, which is a
- config.h file that should include all the config lines that is
- valid for win32-machines!
-
-2000-01-17 18:29 bagder
-
- * lib/setup.h: Joern.Hartroth@telekom.de rightfully suggested two
- #include include fixes
-
-2000-01-16 19:56 bagder
-
- * configure: another generated file
-
-2000-01-16 19:55 bagder
-
- * Makefile, Makefile.in: they're generated from the .am file
-
-2000-01-16 19:55 bagder
-
- * README.curl: Adjusted to the new progress bar output
-
-2000-01-16 19:54 bagder
-
- * lib/Makefile: I removed the Makefile. Since it is generated, it
- always gets changed and I don't want to keep commiting it!
-
-2000-01-16 19:52 bagder
-
- * lib/progress.c: Made the progress bar cooler, with ideas from
- Björn Stenberg <bjorn@haxx.nu>
-
-2000-01-16 19:52 bagder
-
- * lib/http.c: changed a tiny comment
-
-2000-01-11 00:57 bagder
-
- * perl/: checklinks.pl, formfind.pl, getlinks.pl,
- recursiveftpget.pl: removed generated files
-
-2000-01-11 00:55 bagder
-
- * CHANGES, Makefile, Makefile.in, config.guess-991124, configure,
- configure.in, stamp-h, stamp-h.in, stamp-h1, stamp-h1.in,
- lib/Makefile, lib/Makefile.in: more removals
-
-2000-01-11 00:53 bagder
-
- * include/curl/: curl.beos-patch, curl.h, mprintf.h, stdcheaders.h:
- fixes
-
-2000-01-11 00:46 bagder
-
- * lib/: formdata, sta01005, sta18057: cleanup
-
-2000-01-11 00:41 bagder
-
- * src/: Makefile, Makefile.in, config.h, curl, stamp-h2,
- stamp-h2.in: Cleaning up
-
-2000-01-11 00:36 bagder
-
- * CHANGES, Makefile, Makefile.am, Makefile.dist, Makefile.in,
- config.sub-991124, configure.in, curl.1, head, mkinstalldirs,
- reconf, lib/Makefile, lib/Makefile.am, lib/Makefile.in,
- lib/base64.c, lib/base64.h, lib/dict.c, lib/dict.h,
- lib/download.c, lib/download.h, lib/escape.c, lib/escape.h,
- lib/file.c, lib/file.h, lib/formdata.c, lib/formdata.h,
- lib/ftp.c, lib/ftp.h, lib/getenv.c, lib/getenv.h, lib/getpass.c,
- lib/hostip.c, lib/hostip.h, lib/http.c, lib/http.h, lib/if2ip.c,
- lib/if2ip.h, lib/ldap.c, lib/ldap.h, lib/mprintf.c, lib/netrc.c,
- lib/netrc.h, lib/progress.c, lib/progress.h, lib/sendf.c,
- lib/sendf.h, lib/setup.h, lib/speedcheck.c, lib/speedcheck.h,
- lib/ssluse.c, lib/ssluse.h, lib/telnet.c, lib/telnet.h,
- lib/timeval.c, lib/timeval.h, lib/upload.c, lib/upload.h,
- lib/url.c, lib/urldata.h, lib/version.c, src/Makefile,
- src/Makefile.am, src/Makefile.in, src/curl, src/hugehelp.c,
- src/main.c, src/setup.h, src/urlglob.c, src/urlglob.h: syncing
- with local edit
-
-2000-01-11 00:29 bagder
-
- * config.cache, config.h, config.log, config.status,
- curl-6.3.1.tar.gz, curl.beos-patch, curl_631_general.patch,
- curl_63_form.patch, curl_63_partialdl.patch: removed junk files
-
-1999-12-29 15:24 bagder
-
- * src/: config-win32.h, config.h, config.h.in, curl, setup.h,
- stamp-h2, stamp-h2.in: Initial revision
-
-1999-12-29 15:24 bagder
-
- * src/: config-win32.h, config.h, config.h.in, curl, setup.h,
- stamp-h2, stamp-h2.in: new
-
-1999-12-29 15:20 bagder
-
- * CHANGES, CONTRIBUTE, FAQ, FEATURES, FILES, INSTALL, LEGAL,
- MPL-1.0.txt, Makefile.am, Makefile.dist, README, README.curl,
- README.libcurl, RESOURCES, TODO, acconfig.h, aclocal.m4,
- config.guess, config.h.in, config.sub, configure.in,
- curl-ssl.spec, curl.1, curl.spec, curl_63_partialdl.patch,
- install-sh, maketgz, missing, mkinstalldirs, reconf, stamp-h.in,
- curl_63_form.patch, configure, config.log, config.h,
- config.status, head, stamp-h, Makefile.in, Makefile,
- curl.beos-patch, curl-6.3.1.tar.gz, stamp-h1.in,
- config.guess-991124, config-win32.h, config.sub-991124,
- config.cache, curl_631_general.patch, stamp-h1, include/README,
- include/curl/getdate.h, include/curl/curl.beos-patch,
- include/curl/curl.h, include/curl/mprintf.h,
- include/curl/stdcheaders.h, lib/Makefile.am, lib/Makefile.m32,
- lib/Makefile.vc6, lib/arpa_telnet.h, lib/base64.c, lib/base64.h,
- lib/cookie.c, lib/cookie.h, lib/dict.c, lib/dict.h,
- lib/download.c, lib/download.h, lib/escape.c, lib/escape.h,
- lib/file.c, lib/file.h, lib/formdata.c, lib/formdata.h,
- lib/ftp.c, lib/ftp.h, lib/getdate.c, lib/getdate.h,
- lib/getdate.y, lib/getenv.c, lib/getenv.h, lib/getpass.c,
- lib/getpass.h, lib/hostip.c, lib/hostip.h, lib/http.c,
- lib/http.h, lib/if2ip.c, lib/if2ip.h, lib/ldap.c, lib/ldap.h,
- lib/mprintf.c, lib/netrc.c, lib/netrc.h, lib/progress.c,
- lib/progress.h, lib/sendf.c, lib/sendf.h, lib/speedcheck.c,
- lib/speedcheck.h, lib/ssluse.c, lib/ssluse.h, lib/telnet.c,
- lib/telnet.h, lib/timeval.c, lib/timeval.h, lib/upload.c,
- lib/upload.h, lib/url.c, lib/url.h, lib/Makefile, lib/urldata.h,
- lib/version.c, lib/Makefile.in, lib/formdata, lib/sta01005,
- lib/setup.h, lib/sta18057, perl/README, perl/getlinks.pl,
- perl/checklinks.pl, perl/checklinks.pl.in, perl/formfind.pl.in,
- perl/formfind.pl, perl/getlinks.pl.in, perl/recursiveftpget.pl,
- perl/recursiveftpget.pl.in, src/Makefile, src/Makefile.am,
- src/Makefile.m32, src/Makefile.vc6, src/main.c, src/mkhelp.pl,
- src/urlglob.c, src/urlglob.h, src/version.h, src/Makefile.in,
- src/hugehelp.c: Initial revision
-
-1999-12-29 15:20 bagder
-
- * CHANGES, CONTRIBUTE, FAQ, FEATURES, FILES, INSTALL, LEGAL,
- MPL-1.0.txt, Makefile.am, Makefile.dist, README, README.curl,
- README.libcurl, RESOURCES, TODO, acconfig.h, aclocal.m4,
- config.guess, config.h.in, config.sub, configure.in,
- curl-ssl.spec, curl.1, curl.spec, curl_63_partialdl.patch,
- install-sh, maketgz, missing, mkinstalldirs, reconf, stamp-h.in,
- curl_63_form.patch, configure, config.log, config.h,
- config.status, head, stamp-h, Makefile.in, Makefile,
- curl.beos-patch, curl-6.3.1.tar.gz, stamp-h1.in,
- config.guess-991124, config-win32.h, config.sub-991124,
- config.cache, curl_631_general.patch, stamp-h1, include/README,
- include/curl/getdate.h, include/curl/curl.beos-patch,
- include/curl/curl.h, include/curl/mprintf.h,
- include/curl/stdcheaders.h, lib/Makefile.am, lib/Makefile.m32,
- lib/Makefile.vc6, lib/arpa_telnet.h, lib/base64.c, lib/base64.h,
- lib/cookie.c, lib/cookie.h, lib/dict.c, lib/dict.h,
- lib/download.c, lib/download.h, lib/escape.c, lib/escape.h,
- lib/file.c, lib/file.h, lib/formdata.c, lib/formdata.h,
- lib/ftp.c, lib/ftp.h, lib/getdate.c, lib/getdate.h,
- lib/getdate.y, lib/getenv.c, lib/getenv.h, lib/getpass.c,
- lib/getpass.h, lib/hostip.c, lib/hostip.h, lib/http.c,
- lib/http.h, lib/if2ip.c, lib/if2ip.h, lib/ldap.c, lib/ldap.h,
- lib/mprintf.c, lib/netrc.c, lib/netrc.h, lib/progress.c,
- lib/progress.h, lib/sendf.c, lib/sendf.h, lib/speedcheck.c,
- lib/speedcheck.h, lib/ssluse.c, lib/ssluse.h, lib/telnet.c,
- lib/telnet.h, lib/timeval.c, lib/timeval.h, lib/upload.c,
- lib/upload.h, lib/url.c, lib/url.h, lib/Makefile, lib/urldata.h,
- lib/version.c, lib/Makefile.in, lib/formdata, lib/sta01005,
- lib/setup.h, lib/sta18057, perl/README, perl/getlinks.pl,
- perl/checklinks.pl, perl/checklinks.pl.in, perl/formfind.pl.in,
- perl/formfind.pl, perl/getlinks.pl.in, perl/recursiveftpget.pl,
- perl/recursiveftpget.pl.in, src/Makefile, src/Makefile.am,
- src/Makefile.m32, src/Makefile.vc6, src/main.c, src/mkhelp.pl,
- src/urlglob.c, src/urlglob.h, src/version.h, src/Makefile.in,
- src/hugehelp.c: new
-
diff --git a/Utilities/cmcurl-7.19.0/Makefile b/Utilities/cmcurl-7.19.0/Makefile
deleted file mode 100644
index a39e0ed..0000000
--- a/Utilities/cmcurl-7.19.0/Makefile
+++ /dev/null
@@ -1,270 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-VC=vc6
-
-all:
- ./configure
- make
-
-ssl:
- ./configure --with-ssl
- make
-
-borland:
- cd lib
- make -f Makefile.b32
- cd ..\src
- make -f Makefile.b32
-
-borland-ssl:
- cd lib
- make -f Makefile.b32 WITH_SSL=1
- cd ..\src
- make -f Makefile.b32 WITH_SSL=1
-
-borland-ssl-zlib:
- cd lib
- make -f Makefile.b32 WITH_SSL=1 WITH_ZLIB=1
- cd ..\src
- make -f Makefile.b32 WITH_SSL=1 WITH_ZLIB=1
-
-borland-clean:
- cd lib
- make -f Makefile.b32 clean
- cd ..\src
- make -f Makefile.b32 clean
-
-watcom:
- cd lib
- wmake -f Makefile.Watcom
- cd ..\src
- wmake -f Makefile.Watcom
-
-watcom-clean:
- cd lib
- wmake -f Makefile.Watcom clean
- cd ..\src
- wmake -f Makefile.Watcom clean
-
-mingw32:
- $(MAKE) -C lib -f Makefile.m32
- $(MAKE) -C src -f Makefile.m32
-
-mingw32-zlib:
- $(MAKE) -C lib -f Makefile.m32 ZLIB=1
- $(MAKE) -C src -f Makefile.m32 ZLIB=1
-
-mingw32-ssl-zlib:
- $(MAKE) -C lib -f Makefile.m32 SSL=1 ZLIB=1
- $(MAKE) -C src -f Makefile.m32 SSL=1 ZLIB=1
-
-mingw32-ssh2-ssl-zlib:
- $(MAKE) -C lib -f Makefile.m32 SSH2=1 SSL=1 ZLIB=1
- $(MAKE) -C src -f Makefile.m32 SSH2=1 SSL=1 ZLIB=1
-
-mingw32-ssh2-ssl-sspi-zlib:
- $(MAKE) -C lib -f Makefile.m32 SSH2=1 SSL=1 SSPI=1 ZLIB=1
- $(MAKE) -C src -f Makefile.m32 SSH2=1 SSL=1 SSPI=1 ZLIB=1
-
-mingw32-clean:
- $(MAKE) -C lib -f Makefile.m32 clean
- $(MAKE) -C src -f Makefile.m32 clean
-
-vc-clean:
- cd lib
- nmake -f Makefile.$(VC) clean
- cd ..\src
- nmake -f Makefile.$(VC) clean
-
-vc-all:
- cd lib
- nmake -f Makefile.$(VC) cfg=release
- nmake -f Makefile.$(VC) cfg=release-ssl
- nmake -f Makefile.$(VC) cfg=release-zlib
- nmake -f Makefile.$(VC) cfg=release-ssl-zlib
- nmake -f Makefile.$(VC) cfg=release-ssl-dll
- nmake -f Makefile.$(VC) cfg=release-zlib-dll
- nmake -f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
- nmake -f Makefile.$(VC) cfg=release-dll
- nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll
- nmake -f Makefile.$(VC) cfg=release-dll-zlib-dll
- nmake -f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
- nmake -f Makefile.$(VC) cfg=debug
- nmake -f Makefile.$(VC) cfg=debug-ssl
- nmake -f Makefile.$(VC) cfg=debug-zlib
- nmake -f Makefile.$(VC) cfg=debug-ssl-zlib
- nmake -f Makefile.$(VC) cfg=debug-ssl-dll
- nmake -f Makefile.$(VC) cfg=debug-zlib-dll
- nmake -f Makefile.$(VC) cfg=debug-ssl-dll-zlib-dll
- nmake -f Makefile.$(VC) cfg=debug-dll
- nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll
- nmake -f Makefile.$(VC) cfg=debug-dll-zlib-dll
- nmake -f Makefile.$(VC) cfg=debug-dll-ssl-dll-zlib-dll
-
-vc:
- cd lib
- nmake /f Makefile.$(VC) cfg=release
- cd ..\src
- nmake /f Makefile.$(VC)
-
-vc-x64:
- cd lib
- MACHINE=x64 nmake /f Makefile.$(VC) cfg=release
- cd ..\src
- MACHINE=x64 nmake /f Makefile.$(VC)
-
-vc-zlib:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-zlib
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-zlib
-
-vc-ssl:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-ssl
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-ssl
-
-vc-ssl-zlib:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-ssl-zlib
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-ssl-zlib
-
-vc-ssl-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-ssl-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-ssl-dll
-
-vc-dll-ssl-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll
-
-vc-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-dll
-
-vc-dll-zlib-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-dll-zlib-dll
-
-vc-dll-ssl-dll-zlib-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-dll-ssl-dll-zlib-dll
-
-vc-ssl-dll-zlib-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-ssl-dll-zlib-dll
-
-vc-zlib-dll:
- cd lib
- nmake /f Makefile.$(VC) cfg=release-zlib-dll
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release-zlib-dll
-
-vc-sspi:
- cd lib
- nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
- cd ..\src
- nmake /f Makefile.$(VC) cfg=release WINDOWS_SSPI=1
-
-djgpp:
- $(MAKE) -C lib -f Makefile.dj
- $(MAKE) -C src -f Makefile.dj
-
-cygwin:
- ./configure
- make
-
-cygwin-ssl:
- ./configure --with-ssl
- make
-
-amiga:
- cd ./lib && make -f makefile.amiga
- cd ./src && make -f makefile.amiga
-
-netware:
- $(MAKE) -C lib -f Makefile.netware
- $(MAKE) -C src -f Makefile.netware
-
-netware-ares:
- $(MAKE) -C lib -f Makefile.netware WITH_ARES=1
- $(MAKE) -C src -f Makefile.netware WITH_ARES=1
-
-netware-ssl:
- $(MAKE) -C lib -f Makefile.netware WITH_SSL=1
- $(MAKE) -C src -f Makefile.netware WITH_SSL=1
-
-netware-ssl-zlib:
- $(MAKE) -C lib -f Makefile.netware WITH_SSL=1 WITH_ZLIB=1
- $(MAKE) -C src -f Makefile.netware WITH_SSL=1 WITH_ZLIB=1
-
-netware-ssh2-ssl-zlib:
- $(MAKE) -C lib -f Makefile.netware WITH_SSH2=1 WITH_SSL=1 WITH_ZLIB=1
- $(MAKE) -C src -f Makefile.netware WITH_SSH2=1 WITH_SSL=1 WITH_ZLIB=1
-
-netware-zlib:
- $(MAKE) -C lib -f Makefile.netware WITH_ZLIB=1
- $(MAKE) -C src -f Makefile.netware WITH_ZLIB=1
-
-netware-clean:
- $(MAKE) -C lib -f Makefile.netware clean
- $(MAKE) -C src -f Makefile.netware clean
-
-netware-install:
- $(MAKE) -C lib -f Makefile.netware install
- $(MAKE) -C src -f Makefile.netware install
-
-unix: all
-
-unix-ssl: ssl
-
-linux: all
-
-linux-ssl: ssl
-
-vc8:
- @echo "generate VC8 makefiles"
- @sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/wsock32.lib/wsock32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" lib/Makefile.vc6 > lib/Makefile.vc8
- @sed -e "s#/GX /DWIN32 /YX#/EHsc /DWIN32#" -e "s#/GZ#/RTC1#" -e "s/wsock32.lib/wsock32.lib bufferoverflowu.lib/g" -e "s/VC6/VC8/g" src/Makefile.vc6 > src/Makefile.vc8
-
-ca-bundle: lib/mk-ca-bundle.pl
- @echo "generate a fresh ca-bundle.crt"
- @perl $< -b -l -u lib/ca-bundle.crt
-
-ca-firefox: lib/firefox-db2pem.sh
- @echo "generate a fresh ca-bundle.crt"
- ./lib/firefox-db2pem.sh lib/ca-bundle.crt
diff --git a/Utilities/cmcurl-7.19.0/Makefile.am b/Utilities/cmcurl-7.19.0/Makefile.am
deleted file mode 100644
index 5e3fcfd..0000000
--- a/Utilities/cmcurl-7.19.0/Makefile.am
+++ /dev/null
@@ -1,144 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-AUTOMAKE_OPTIONS = foreign
-
-ACLOCAL_AMFLAGS = -I m4
-
-EXTRA_DIST = CHANGES COPYING maketgz reconf Makefile.dist curl-config.in \
- curl-style.el sample.emacs RELEASE-NOTES buildconf buildconf.bat \
- libcurl.pc.in vc6curl.dsw
-
-bin_SCRIPTS = curl-config
-
-SUBDIRS = lib src
-DIST_SUBDIRS = $(SUBDIRS) tests include packages docs
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libcurl.pc
-
-dist-hook:
- rm -rf $(top_builddir)/tests/log
- find $(distdir) -name "*.dist" -exec rm {} \;
- (distit=`find $(srcdir) -name "*.dist"`; \
- for file in $$distit; do \
- strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
- cp $$file $(distdir)$$strip; \
- done)
-
-html:
- cd docs; make html
-
-pdf:
- cd docs; make pdf
-
-check: test examples
-
-if CROSSCOMPILING
-test-full: test
-test-torture: test
-
-test:
- @echo "NOTICE: we can't run the tests when cross-compiling!"
-
-else
-
-test:
- @(cd tests; $(MAKE) all quiet-test)
-
-test-full:
- @(cd tests; $(MAKE) all full-test)
-
-test-torture:
- @(cd tests; $(MAKE) all torture-test)
-
-endif
-
-examples:
- @(cd docs/examples; $(MAKE) check)
-
-#
-# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
-# must contain the following line:
-# %_topdir /home/loic/local/rpm
-# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
-#
-# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
-#
-# If additional configure flags are needed to build the package, add the
-# following in ~/.rpmmacros
-# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
-# and run make rpm in the following way:
-# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
-#
-
-rpms:
- $(MAKE) RPMDIST=curl rpm
- $(MAKE) RPMDIST=curl-ssl rpm
-
-rpm:
- RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
- cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
- cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
- rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
- mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
- mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
-
-#
-# Build a Solaris pkkgadd format file
-# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
-# file (which ends up back in this directory).
-# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
-# pkgadd -d ./HAXXcurl-*
-#
-
-# gak - libtool requires an absoulte directory, hence the pwd below...
-pkgadd:
- umask 022 ; \
- make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
- cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
- cd $(srcdir)/packages/Solaris && $(MAKE) package
-
-#
-# Build a cygwin binary tarball installation file
-# resulting .tar.bz2 file will end up at packages/Win32/cygwin
-cygwinbin:
- $(MAKE) -C packages/Win32/cygwin cygwinbin
-
-# We extend the standard install with a custom hook:
-install-data-hook:
- cd include && $(MAKE) install
- cd docs && $(MAKE) install
-
-# We extend the standard uninstall with a custom hook:
-uninstall-hook:
- cd include && $(MAKE) uninstall
- cd docs && $(MAKE) uninstall
-
-ca-bundle: lib/mk-ca-bundle.pl
- @echo "generate a fresh ca-bundle.crt"
- @perl $< -b -l -u lib/ca-bundle.crt
-
-ca-firefox: lib/firefox-db2pem.sh
- @echo "generate a fresh ca-bundle.crt"
- ./lib/firefox-db2pem.sh lib/ca-bundle.crt
diff --git a/Utilities/cmcurl-7.19.0/Makefile.in b/Utilities/cmcurl-7.19.0/Makefile.in
deleted file mode 100644
index e5cc460..0000000
--- a/Utilities/cmcurl-7.19.0/Makefile.in
+++ /dev/null
@@ -1,844 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/curl-config.in \
- $(srcdir)/libcurl.pc.in $(top_srcdir)/configure COPYING \
- ChangeLog compile config.guess config.sub depcomp install-sh \
- ltmain.sh missing mkinstalldirs
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/lib/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES = curl-config libcurl.pc
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
-binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-SCRIPTS = $(bin_SCRIPTS)
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(pkgconfig_DATA)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-AUTOMAKE_OPTIONS = foreign
-ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = CHANGES COPYING maketgz reconf Makefile.dist curl-config.in \
- curl-style.el sample.emacs RELEASE-NOTES buildconf buildconf.bat \
- libcurl.pc.in vc6curl.dsw
-
-bin_SCRIPTS = curl-config
-SUBDIRS = lib src
-DIST_SUBDIRS = $(SUBDIRS) tests include packages docs
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libcurl.pc
-all: all-recursive
-
-.SUFFIXES:
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
- cd $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-curl-config: $(top_builddir)/config.status $(srcdir)/curl-config.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-libcurl.pc: $(top_builddir)/config.status $(srcdir)/libcurl.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-binSCRIPTS: $(bin_SCRIPTS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_SCRIPTS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-binSCRIPTS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/. $(distdir)/m4 $(distdir)/packages/AIX/RPM $(distdir)/packages/EPM $(distdir)/packages/Linux/RPM
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-hook
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(SCRIPTS) $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-pkgconfigDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
-
-install-exec-am: install-binSCRIPTS
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binSCRIPTS uninstall-info-am \
- uninstall-pkgconfigDATA
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
- check-am clean clean-generic clean-libtool clean-recursive \
- ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
- dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
- distclean-generic distclean-libtool distclean-recursive \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-binSCRIPTS install-data install-data-am \
- install-data-hook install-exec install-exec-am install-info \
- install-info-am install-man install-pkgconfigDATA \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
- uninstall-binSCRIPTS uninstall-hook uninstall-info-am \
- uninstall-pkgconfigDATA
-
-
-dist-hook:
- rm -rf $(top_builddir)/tests/log
- find $(distdir) -name "*.dist" -exec rm {} \;
- (distit=`find $(srcdir) -name "*.dist"`; \
- for file in $$distit; do \
- strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
- cp $$file $(distdir)$$strip; \
- done)
-
-html:
- cd docs; make html
-
-pdf:
- cd docs; make pdf
-
-check: test examples
-
-@CROSSCOMPILING_TRUE@test-full: test
-@CROSSCOMPILING_TRUE@test-torture: test
-
-@CROSSCOMPILING_TRUE@test:
-@CROSSCOMPILING_TRUE@ @echo "NOTICE: we can't run the tests when cross-compiling!"
-
-@CROSSCOMPILING_FALSE@test:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all quiet-test)
-
-@CROSSCOMPILING_FALSE@test-full:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all full-test)
-
-@CROSSCOMPILING_FALSE@test-torture:
-@CROSSCOMPILING_FALSE@ @(cd tests; $(MAKE) all torture-test)
-
-examples:
- @(cd docs/examples; $(MAKE) check)
-
-#
-# Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
-# must contain the following line:
-# %_topdir /home/loic/local/rpm
-# and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
-#
-# cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
-#
-# If additional configure flags are needed to build the package, add the
-# following in ~/.rpmmacros
-# %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
-# and run make rpm in the following way:
-# AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
-#
-
-rpms:
- $(MAKE) RPMDIST=curl rpm
- $(MAKE) RPMDIST=curl-ssl rpm
-
-rpm:
- RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
- cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
- cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
- rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
- mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
- mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
-
-#
-# Build a Solaris pkkgadd format file
-# run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
-# file (which ends up back in this directory).
-# The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
-# pkgadd -d ./HAXXcurl-*
-#
-
-# gak - libtool requires an absoulte directory, hence the pwd below...
-pkgadd:
- umask 022 ; \
- make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
- cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
- cd $(srcdir)/packages/Solaris && $(MAKE) package
-
-#
-# Build a cygwin binary tarball installation file
-# resulting .tar.bz2 file will end up at packages/Win32/cygwin
-cygwinbin:
- $(MAKE) -C packages/Win32/cygwin cygwinbin
-
-# We extend the standard install with a custom hook:
-install-data-hook:
- cd include && $(MAKE) install
- cd docs && $(MAKE) install
-
-# We extend the standard uninstall with a custom hook:
-uninstall-hook:
- cd include && $(MAKE) uninstall
- cd docs && $(MAKE) uninstall
-
-ca-bundle: lib/mk-ca-bundle.pl
- @echo "generate a fresh ca-bundle.crt"
- @perl $< -b -l -u lib/ca-bundle.crt
-
-ca-firefox: lib/firefox-db2pem.sh
- @echo "generate a fresh ca-bundle.crt"
- ./lib/firefox-db2pem.sh lib/ca-bundle.crt
-# 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/Utilities/cmcurl-7.19.0/README b/Utilities/cmcurl-7.19.0/README
deleted file mode 100644
index adf4b36..0000000
--- a/Utilities/cmcurl-7.19.0/README
+++ /dev/null
@@ -1,53 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-README
-
- Curl is a command line tool for transferring data specified with URL
- syntax. Find out how to use curl by reading the curl.1 man page or the
- MANUAL document. Find out how to install Curl by reading the INSTALL
- document.
-
- libcurl is the library curl is using to do its job. It is readily
- available to be used by your software. Read the libcurl.3 man page to
- learn how!
-
- You find answers to the most frequent questions we get in the FAQ document.
-
- Study the COPYING file for distribution terms and similar. If you distribute
- curl binaries or other binaries that involve libcurl, you might enjoy the
- LICENSE-MIXING document.
-
-CONTACT
-
- If you have problems, questions, ideas or suggestions, please contact us
- by posting to a suitable mailing list. See http://curl.haxx.se/mail/
-
- All contributors to the project are listed in the THANKS document.
-
-WEB SITE
-
- Visit the curl web site for the latest news and downloads:
-
- http://curl.haxx.se/
-
-CVS
-
- To download the very latest source off the CVS server do this:
-
- cvs -d :pserver:anonymous@cool.haxx.se:/cvsroot/curl login
-
- (just press enter when asked for password)
-
- cvs -d :pserver:anonymous@cool.haxx.se:/cvsroot/curl co curl
-
- (you'll get a directory named curl created, filled with the source code)
-
-NOTICE
-
- Curl contains pieces of source code that is Copyright (c) 1998, 1999
- Kungliga Tekniska Högskolan. This notice is included here to comply with the
- distribution terms.
diff --git a/Utilities/cmcurl-7.19.0/RELEASE-NOTES b/Utilities/cmcurl-7.19.0/RELEASE-NOTES
deleted file mode 100644
index 2d5f93d..0000000
--- a/Utilities/cmcurl-7.19.0/RELEASE-NOTES
+++ /dev/null
@@ -1,88 +0,0 @@
-Curl and libcurl 7.19.0
-
- Public curl releases: 106
- Command line options: 127
- curl_easy_setopt() options: 153
- Public functions in libcurl: 58
- Known libcurl bindings: 36
- Contributors: 654
-
-This release includes the following changes:
-
- o curl_off_t gets its size/typedef somewhat differently than before. This _may_
- cause an ABI change for you. See lib/README.curl_off_t for a full explanation.
-
- o Added CURLINFO_PRIMARY_IP
- o Added CURLOPT_CRLFILE and CURLE_SSL_CRL_BADFILE
- o Added CURLOPT_ISSUERCERT and CURLE_SSL_ISSUER_ERROR
- o curl's option parser for boolean options reworked
- o Added --remote-name-all
- o Now builds for the INTEGRITY operating system
- o Added CURLINFO_APPCONNECT_TIME
- o Added test selection by key word in runtests.pl
- o the curl tool's -w option support the %{ssl_verify_result} variable
- o Added CURLOPT_ADDRESS_SCOPE and scope parsing of the URL according to RFC4007
- o Support --append on SFTP uploads (not with OpenSSH, though)
- o Added curlbuild.h and curlrules.h to the external library interface
-
-This release includes the following bugfixes:
-
- o Fixed curl-config --ca
- o Fixed the multi interface connection re-use with NSS-built libcurl
- o connection re-use when using the multi interface with pipelining enabled
- o curl_multi_socket() socket callback fix for close/re-create sockets case
- o SCP or SFTP over socks proxy crashed
- o RC4-MD5 cipher now works with NSS-built libcurl
- o range requests with --head are now done correctly
- o fallback to gettimeofday when monotonic clock is unavailable at run-time
- o range numbers could be made to wrongly get output as signed
- o unexpected 1xx responses hung transfers
- o FTP transfers segfault when using different CURLOPT_FTP_FILEMETHOD
- o c-ares powered libcurls can resolve/use IPv6 addresses
- o poll not working on Windows Vista due to POLLPRI being incorrectly used
- o user-agent in CONNECT with non-HTTP protocols
- o CURL_READFUNC_PAUSE problems fixed
- o --use-ascii now works on Symbian OS, MS-DOS and OS/2
- o CURLINFO_SSL_VERIFYRESULT is fixed
- o FTP URLs and IPv6 URLs mangled when sent to proxy with CURLOPT_PORT set
- o a user name in a proxy URL without a password was parsed incorrectly
- o library will now be built with _REENTRANT symbol defined only if needed
- o no longer link with gdi32 on Windows cross-compiled targets
- o HTTP PUT with -C - sent bad Content-Range: header
- o HTTP PUT or POST with redirect could lead to hang
- o re-use of connections with failed SSL connects in the multi interface
- o NTLM over proxy state was wrongly cleared when host connection was closed
- o Windows SSPI DLL loading is now done in curl_global_init()
- o runtests.pl has an improved find-stunnel-and-invoke
- o FTP sessions could go out of sync on a long header boundary condition
- o potential buffer overflows in the MS-DOS command-line port fixed
- o --stderr is now honoured with the -v option
- o memory leak in libcurl on Windows built with OpenSSL
- o improved curl_m*printf() integral data type size and signedness handling
- o error when --dump-header - used with more than one URL
- o proxy closing connect during CONNECT with auth with the multi interface
- o CURLOPT_UPLOAD sets HTTP method back to GET or HEAD when passed in a 0
- o shared cookies could get locked twice
- o deal with closed connection while doing POST/PUT
-
-This release includes the following known bugs:
-
- o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html)
-
-Other curl-related news:
-
- o
-
-This release would not have looked like this without help, code, reports and
-advice from friends like these:
-
- Lenny Rachitsky, Axel Tillequin, Arnaud Ebalard, Yang Tse, Dan Fandrich,
- Rob Crittenden, Dengminwen, Christopher Palow, Hans-Jurgen May,
- Phil Pellouchoud, Eduard Bloch, John Lightsey, Stephen Collyer, Tor Arntsen,
- Rolland Dudemaine, Phil Blundell, Scott Barrett, Andreas Schuldei,
- Peter Lamberg, David Bau, Pramod Sharma, Yehoshua Hershberg,
- Constantine Sapuntzakis, Lars Nilsson, Andy Tsouladze, Jamie Lokier,
- Vincent Le Normand
-
-
- Thanks! (and sorry if I forgot to mention someone)
diff --git a/Utilities/cmcurl-7.19.0/acinclude.m4 b/Utilities/cmcurl-7.19.0/acinclude.m4
deleted file mode 100644
index 59ef35d..0000000
--- a/Utilities/cmcurl-7.19.0/acinclude.m4
+++ /dev/null
@@ -1,3959 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-#***************************************************************************
-
-
-dnl CURL_CHECK_COMPILER_HALT_ON_ERROR
-dnl -------------------------------------------------
-dnl Verifies if the compiler actually halts after the
-dnl compilation phase without generating any object
-dnl code file, when the source compiles with errors.
-
-AC_DEFUN([CURL_CHECK_COMPILER_HALT_ON_ERROR], [
- AC_MSG_CHECKING([if compiler halts on compilation errors])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- force compilation error
- ]])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([compiler does not halt on compilation errors.])
- ],[
- AC_MSG_RESULT([yes])
- ])
-])
-
-
-dnl CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
-dnl -------------------------------------------------
-dnl Verifies if the compiler actually halts after the
-dnl compilation phase without generating any object
-dnl code file, when the source code tries to define a
-dnl type for a constant array with negative dimension.
-
-AC_DEFUN([CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE], [
- AC_REQUIRE([CURL_CHECK_COMPILER_HALT_ON_ERROR])dnl
- AC_MSG_CHECKING([if compiler halts on negative sized arrays])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- typedef char bad_t[sizeof(char) == sizeof(int) ? -1 : -1 ];
- ]],[[
- bad_t dummy;
- ]])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([compiler does not halt on negative sized arrays.])
- ],[
- AC_MSG_RESULT([yes])
- ])
-])
-
-
-dnl CURL_CHECK_DEF (SYMBOL, [INCLUDES], [SILENT])
-dnl -------------------------------------------------
-dnl Use the C preprocessor to find out if the given object-style symbol
-dnl is defined and get its expansion. This macro will not use default
-dnl includes even if no INCLUDES argument is given. This macro will run
-dnl silently when invoked with three arguments. If the expansion would
-dnl result in a set of double-quoted strings the returned expansion will
-dnl actually be a single double-quoted string concatenating all them.
-
-AC_DEFUN([CURL_CHECK_DEF], [
- AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
- AS_VAR_PUSHDEF([ac_Def], [curl_cv_def_$1])dnl
- if test -z "$SED"; then
- AC_MSG_ERROR([SED not set. Cannot continue without SED being set.])
- fi
- if test -z "$GREP"; then
- AC_MSG_ERROR([GREP not set. Cannot continue without GREP being set.])
- fi
- ifelse($3,,[AC_MSG_CHECKING([for preprocessor definition of $1])])
- tmp_exp=""
- AC_PREPROC_IFELSE([
- AC_LANG_SOURCE(
-ifelse($2,,,[$2])[[
-#ifdef $1
-CURL_DEF_TOKEN $1
-#endif
- ]])
- ],[
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[[ ]]//' 2>/dev/null | \
- "$SED" 's/[["]][[ ]]*[["]]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "$1"; then
- tmp_exp=""
- fi
- ])
- if test -z "$tmp_exp"; then
- AS_VAR_SET(ac_HaveDef, no)
- ifelse($3,,[AC_MSG_RESULT([no])])
- else
- AS_VAR_SET(ac_HaveDef, yes)
- AS_VAR_SET(ac_Def, $tmp_exp)
- ifelse($3,,[AC_MSG_RESULT([$tmp_exp])])
- fi
- AS_VAR_POPDEF([ac_Def])dnl
- AS_VAR_POPDEF([ac_HaveDef])dnl
-])
-
-
-dnl CURL_CHECK_AIX_ALL_SOURCE
-dnl -------------------------------------------------
-dnl Provides a replacement of traditional AC_AIX with
-dnl an uniform behaviour across all autoconf versions,
-dnl and with our own placement rules.
-
-AC_DEFUN([CURL_CHECK_AIX_ALL_SOURCE], [
- AH_VERBATIM([_ALL_SOURCE],
- [/* Define to 1 if OS is AIX. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif])
- AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl
- AC_BEFORE([$0], [CURL_CONFIGURE_REENTRANT])dnl
- AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)])
- AC_EGREP_CPP([yes_this_is_aix],[
-#ifdef _AIX
- yes_this_is_aix
-#endif
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(_ALL_SOURCE)
- ],[
- AC_MSG_RESULT([no])
- ])
-])
-
-
-dnl CURL_CHECK_HEADER_WINDOWS
-dnl -------------------------------------------------
-dnl Check for compilable and valid windows.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [
- AC_CACHE_CHECK([for windows.h], [ac_cv_header_windows_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINDOWS_H shall not be defined.
-#else
- int dummy=2*WINVER;
-#endif
- ]])
- ],[
- ac_cv_header_windows_h="yes"
- ],[
- ac_cv_header_windows_h="no"
- ])
- ])
- case "$ac_cv_header_windows_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINDOWS_H, 1,
- [Define to 1 if you have the windows.h header file.])
- AC_DEFINE_UNQUOTED(WIN32_LEAN_AND_MEAN, 1,
- [Define to avoid automatic inclusion of winsock.h])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_NATIVE_WINDOWS
-dnl -------------------------------------------------
-dnl Check if building a native Windows target
-
-AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [
- if test "$ac_cv_header_windows_h" = "no"; then
- ac_cv_native_windows="no"
- else
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
-#if defined(__MINGW32__) || defined(__MINGW32CE__) || \
- (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64)))
- int dummy=1;
-#else
- Not a native Windows build target.
-#endif
- ]])
- ],[
- ac_cv_native_windows="yes"
- ],[
- ac_cv_native_windows="no"
- ])
- fi
- ])
- case "$ac_cv_native_windows" in
- yes)
- AC_DEFINE_UNQUOTED(NATIVE_WINDOWS, 1,
- [Define to 1 if you are building a native Windows target.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_WINSOCK
-dnl -------------------------------------------------
-dnl Check for compilable and valid winsock.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINSOCK], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([for winsock.h], [ac_cv_header_winsock_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINSOCK_H shall not be defined.
-#else
- int dummy=WSACleanup();
-#endif
- ]])
- ],[
- ac_cv_header_winsock_h="yes"
- ],[
- ac_cv_header_winsock_h="no"
- ])
- ])
- case "$ac_cv_header_winsock_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINSOCK_H, 1,
- [Define to 1 if you have the winsock.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_WINSOCK2
-dnl -------------------------------------------------
-dnl Check for compilable and valid winsock2.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINSOCK2], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([for winsock2.h], [ac_cv_header_winsock2_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock2.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
- HAVE_WINSOCK2_H shall not be defined.
-#else
- int dummy=2*IPPROTO_ESP;
-#endif
- ]])
- ],[
- ac_cv_header_winsock2_h="yes"
- ],[
- ac_cv_header_winsock2_h="no"
- ])
- ])
- case "$ac_cv_header_winsock2_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINSOCK2_H, 1,
- [Define to 1 if you have the winsock2.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_WS2TCPIP
-dnl -------------------------------------------------
-dnl Check for compilable and valid ws2tcpip.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WS2TCPIP], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
- AC_CACHE_CHECK([for ws2tcpip.h], [ac_cv_header_ws2tcpip_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock2.h>
-#include <ws2tcpip.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
- HAVE_WS2TCPIP_H shall not be defined.
-#else
- int dummy=2*IP_PKTINFO;
-#endif
- ]])
- ],[
- ac_cv_header_ws2tcpip_h="yes"
- ],[
- ac_cv_header_ws2tcpip_h="no"
- ])
- ])
- case "$ac_cv_header_ws2tcpip_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WS2TCPIP_H, 1,
- [Define to 1 if you have the ws2tcpip.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_WINLDAP
-dnl -------------------------------------------------
-dnl Check for compilable and valid winldap.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINLDAP], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([for winldap.h], [ac_cv_header_winldap_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#endif
-#include <winldap.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINLDAP_H shall not be defined.
-#else
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- ULONG res = ldap_unbind(ldp);
-#endif
- ]])
- ],[
- ac_cv_header_winldap_h="yes"
- ],[
- ac_cv_header_winldap_h="no"
- ])
- ])
- case "$ac_cv_header_winldap_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINLDAP_H, 1,
- [Define to 1 if you have the winldap.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_WINBER
-dnl -------------------------------------------------
-dnl Check for compilable and valid winber.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINBER], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINLDAP])dnl
- AC_CACHE_CHECK([for winber.h], [ac_cv_header_winber_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#endif
-#include <winldap.h>
-#include <winber.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINBER_H shall not be defined.
-#else
- BERVAL *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- ber_free(bep, 1);
-#endif
- ]])
- ],[
- ac_cv_header_winber_h="yes"
- ],[
- ac_cv_header_winber_h="no"
- ])
- ])
- case "$ac_cv_header_winber_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINBER_H, 1,
- [Define to 1 if you have the winber.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_LBER
-dnl -------------------------------------------------
-dnl Check for compilable and valid lber.h header,
-dnl and check if it is needed even with ldap.h
-
-AC_DEFUN([CURL_CHECK_HEADER_LBER], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([for lber.h], [ac_cv_header_lber_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#include <lber.h>
- ]],[[
- BerValue *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- ber_free(bep, 1);
- ]])
- ],[
- ac_cv_header_lber_h="yes"
- ],[
- ac_cv_header_lber_h="no"
- ])
- ])
- if test "$ac_cv_header_lber_h" = "yes"; then
- AC_DEFINE_UNQUOTED(HAVE_LBER_H, 1,
- [Define to 1 if you have the lber.h header file.])
- #
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#include <ldap.h>
- ]],[[
- BerValue *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- ber_free(bep, 1);
- ]])
- ],[
- curl_cv_need_header_lber_h="no"
- ],[
- curl_cv_need_header_lber_h="yes"
- ])
- #
- case "$curl_cv_need_header_lber_h" in
- yes)
- AC_DEFINE_UNQUOTED(NEED_LBER_H, 1,
- [Define to 1 if you need the lber.h header file even with ldap.h])
- ;;
- esac
- fi
-])
-
-
-dnl CURL_CHECK_HEADER_LDAP
-dnl -------------------------------------------------
-dnl Check for compilable and valid ldap.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_LDAP], [
- AC_REQUIRE([CURL_CHECK_HEADER_LBER])dnl
- AC_CACHE_CHECK([for ldap.h], [ac_cv_header_ldap_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#include <ldap.h>
- ]],[[
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- int res = ldap_unbind(ldp);
- ]])
- ],[
- ac_cv_header_ldap_h="yes"
- ],[
- ac_cv_header_ldap_h="no"
- ])
- ])
- case "$ac_cv_header_ldap_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_LDAP_H, 1,
- [Define to 1 if you have the ldap.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_LDAP_SSL
-dnl -------------------------------------------------
-dnl Check for compilable and valid ldap_ssl.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_LDAP_SSL], [
- AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl
- AC_CACHE_CHECK([for ldap_ssl.h], [ac_cv_header_ldap_ssl_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#ifdef HAVE_LDAP_H
-#include <ldap.h>
-#endif
-#include <ldap_ssl.h>
- ]],[[
- LDAP *ldp = ldapssl_init("dummy", LDAPS_PORT, 1);
- ]])
- ],[
- ac_cv_header_ldap_ssl_h="yes"
- ],[
- ac_cv_header_ldap_ssl_h="no"
- ])
- ])
- case "$ac_cv_header_ldap_ssl_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_LDAP_SSL_H, 1,
- [Define to 1 if you have the ldap_ssl.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_HEADER_LDAPSSL
-dnl -------------------------------------------------
-dnl Check for compilable and valid ldapssl.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_LDAPSSL], [
- AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl
- AC_CACHE_CHECK([for ldapssl.h], [ac_cv_header_ldapssl_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#ifdef HAVE_LDAP_H
-#include <ldap.h>
-#endif
-#include <ldapssl.h>
- ]],[[
- char *cert_label = NULL;
- LDAP *ldp = ldap_ssl_init("dummy", LDAPS_PORT, cert_label);
- ]])
- ],[
- ac_cv_header_ldapssl_h="yes"
- ],[
- ac_cv_header_ldapssl_h="no"
- ])
- ])
- case "$ac_cv_header_ldapssl_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_LDAPSSL_H, 1,
- [Define to 1 if you have the ldapssl.h header file.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_LIBS_WINLDAP
-dnl -------------------------------------------------
-dnl Check for libraries needed for WINLDAP support,
-dnl and prepended to LIBS any needed libraries.
-dnl This macro can take an optional parameter with a
-dnl white space separated list of libraries to check
-dnl before the WINLDAP default ones.
-
-AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINBER])dnl
- #
- AC_MSG_CHECKING([for WINLDAP libraries])
- #
- u_libs=""
- #
- ifelse($1,,,[
- for x_lib in $1; do
- case "$x_lib" in
- -l*)
- l_lib="$x_lib"
- ;;
- *)
- l_lib="-l$x_lib"
- ;;
- esac
- if test -z "$u_libs"; then
- u_libs="$l_lib"
- else
- u_libs="$u_libs $l_lib"
- fi
- done
- ])
- #
- curl_cv_save_LIBS="$LIBS"
- curl_cv_ldap_LIBS="unknown"
- #
- for x_nlibs in '' "$u_libs" \
- '-lwldap32' ; do
- if test "$curl_cv_ldap_LIBS" = "unknown"; then
- if test -z "$x_nlibs"; then
- LIBS="$curl_cv_save_LIBS"
- else
- LIBS="$x_nlibs $curl_cv_save_LIBS"
- fi
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINLDAP_H
-#include <winldap.h>
-#endif
-#ifdef HAVE_WINBER_H
-#include <winber.h>
-#endif
-#endif
- ]],[[
- BERVAL *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- ULONG res = ldap_unbind(ldp);
- ber_free(bep, 1);
- ]])
- ],[
- curl_cv_ldap_LIBS="$x_nlibs"
- ])
- fi
- done
- #
- LIBS="$curl_cv_save_LIBS"
- #
- case X-"$curl_cv_ldap_LIBS" in
- X-unknown)
- AC_MSG_RESULT([cannot find WINLDAP libraries])
- ;;
- X-)
- AC_MSG_RESULT([no additional lib required])
- ;;
- *)
- if test -z "$curl_cv_save_LIBS"; then
- LIBS="$curl_cv_ldap_LIBS"
- else
- LIBS="$curl_cv_ldap_LIBS $curl_cv_save_LIBS"
- fi
- AC_MSG_RESULT([$curl_cv_ldap_LIBS])
- ;;
- esac
- #
-])
-
-
-dnl CURL_CHECK_LIBS_LDAP
-dnl -------------------------------------------------
-dnl Check for libraries needed for LDAP support,
-dnl and prepended to LIBS any needed libraries.
-dnl This macro can take an optional parameter with a
-dnl white space separated list of libraries to check
-dnl before the default ones.
-
-AC_DEFUN([CURL_CHECK_LIBS_LDAP], [
- AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl
- #
- AC_MSG_CHECKING([for LDAP libraries])
- #
- u_libs=""
- #
- ifelse($1,,,[
- for x_lib in $1; do
- case "$x_lib" in
- -l*)
- l_lib="$x_lib"
- ;;
- *)
- l_lib="-l$x_lib"
- ;;
- esac
- if test -z "$u_libs"; then
- u_libs="$l_lib"
- else
- u_libs="$u_libs $l_lib"
- fi
- done
- ])
- #
- curl_cv_save_LIBS="$LIBS"
- curl_cv_ldap_LIBS="unknown"
- #
- for x_nlibs in '' "$u_libs" \
- '-lldap' \
- '-llber -lldap' \
- '-lldap -llber' \
- '-lldapssl -lldapx -lldapsdk' \
- '-lldapsdk -lldapx -lldapssl' ; do
- if test "$curl_cv_ldap_LIBS" = "unknown"; then
- if test -z "$x_nlibs"; then
- LIBS="$curl_cv_save_LIBS"
- else
- LIBS="$x_nlibs $curl_cv_save_LIBS"
- fi
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#ifdef HAVE_LDAP_H
-#include <ldap.h>
-#endif
- ]],[[
- BerValue *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- int res = ldap_unbind(ldp);
- ber_free(bep, 1);
- ]])
- ],[
- curl_cv_ldap_LIBS="$x_nlibs"
- ])
- fi
- done
- #
- LIBS="$curl_cv_save_LIBS"
- #
- case X-"$curl_cv_ldap_LIBS" in
- X-unknown)
- AC_MSG_RESULT([cannot find LDAP libraries])
- ;;
- X-)
- AC_MSG_RESULT([no additional lib required])
- ;;
- *)
- if test -z "$curl_cv_save_LIBS"; then
- LIBS="$curl_cv_ldap_LIBS"
- else
- LIBS="$curl_cv_ldap_LIBS $curl_cv_save_LIBS"
- fi
- AC_MSG_RESULT([$curl_cv_ldap_LIBS])
- ;;
- esac
- #
-])
-
-
-dnl CURL_CHECK_HEADER_MALLOC
-dnl -------------------------------------------------
-dnl Check for compilable and valid malloc.h header,
-dnl and check if it is needed even with stdlib.h
-
-AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [
- AC_CACHE_CHECK([for malloc.h], [ac_cv_header_malloc_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#include <malloc.h>
- ]],[[
- void *p = malloc(10);
- void *q = calloc(10,10);
- free(p);
- free(q);
- ]])
- ],[
- ac_cv_header_malloc_h="yes"
- ],[
- ac_cv_header_malloc_h="no"
- ])
- ])
- if test "$ac_cv_header_malloc_h" = "yes"; then
- AC_DEFINE_UNQUOTED(HAVE_MALLOC_H, 1,
- [Define to 1 if you have the malloc.h header file.])
- #
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#include <stdlib.h>
- ]],[[
- void *p = malloc(10);
- void *q = calloc(10,10);
- free(p);
- free(q);
- ]])
- ],[
- curl_cv_need_header_malloc_h="no"
- ],[
- curl_cv_need_header_malloc_h="yes"
- ])
- #
- case "$curl_cv_need_header_malloc_h" in
- yes)
- AC_DEFINE_UNQUOTED(NEED_MALLOC_H, 1,
- [Define to 1 if you need the malloc.h header file even with stdlib.h])
- ;;
- esac
- fi
-])
-
-
-dnl CURL_CHECK_TYPE_SOCKLEN_T
-dnl -------------------------------------------------
-dnl Check for existing socklen_t type, and provide
-dnl an equivalent type if socklen_t not available
-
-AC_DEFUN([CURL_CHECK_TYPE_SOCKLEN_T], [
- AC_REQUIRE([CURL_CHECK_HEADER_WS2TCPIP])dnl
- AC_CHECK_TYPE([socklen_t], ,[
- dnl socklen_t not available
- AC_CACHE_CHECK([for socklen_t equivalent],
- [curl_cv_socklen_t_equiv], [
- curl_cv_socklen_t_equiv="unknown"
- for arg1 in 'int' 'SOCKET'; do
- for arg2 in "struct sockaddr" void; do
- for t in int size_t unsigned long "unsigned long"; do
- if test "$curl_cv_socklen_t_equiv" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define GETPEERNCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define GETPEERNCALLCONV
-#endif
- extern int GETPEERNCALLCONV getpeername($arg1, $arg2 *, $t *);
- ]],[[
- $t len=0;
- getpeername(0,0,&len);
- ]])
- ],[
- curl_cv_socklen_t_equiv="$t"
- ])
- fi
- done
- done
- done
- ])
- case "$curl_cv_socklen_t_equiv" in
- unknown)
- AC_MSG_ERROR([Cannot find a type to use in place of socklen_t])
- ;;
- *)
- AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv,
- [Type to use in place of socklen_t when system does not provide it.])
- ;;
- esac
- ],[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
- ])
-])
-
-
-dnl CURL_CHECK_FUNC_GETNAMEINFO
-dnl -------------------------------------------------
-dnl Test if the getnameinfo function is available,
-dnl and check the types of five of its arguments.
-dnl If the function succeeds HAVE_GETNAMEINFO will be
-dnl defined, defining the types of the arguments in
-dnl GETNAMEINFO_TYPE_ARG1, GETNAMEINFO_TYPE_ARG2,
-dnl GETNAMEINFO_TYPE_ARG46 and GETNAMEINFO_TYPE_ARG7,
-dnl and also defining the type qualifier of first
-dnl argument in GETNAMEINFO_QUAL_ARG1.
-
-AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
- AC_REQUIRE([CURL_CHECK_HEADER_WS2TCPIP])dnl
- AC_REQUIRE([CURL_CHECK_TYPE_SOCKLEN_T])dnl
- AC_CHECK_HEADERS(sys/types.h sys/socket.h netdb.h)
- #
- AC_MSG_CHECKING([for getnameinfo])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([getnameinfo])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_getnameinfo="yes"
- ],[
- AC_MSG_RESULT([no])
- curl_cv_getnameinfo="no"
- ])
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- AC_MSG_CHECKING([deeper for getnameinfo])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- getnameinfo();
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_getnameinfo="yes"
- ],[
- AC_MSG_RESULT([but still no])
- curl_cv_getnameinfo="no"
- ])
- fi
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- AC_MSG_CHECKING([deeper and deeper for getnameinfo])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#endif
- ]],[[
- getnameinfo(0, 0, 0, 0, 0, 0, 0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_getnameinfo="yes"
- ],[
- AC_MSG_RESULT([but still no])
- curl_cv_getnameinfo="no"
- ])
- fi
- #
- if test "$curl_cv_getnameinfo" = "yes"; then
- AC_CACHE_CHECK([types of arguments for getnameinfo],
- [curl_cv_func_getnameinfo_args], [
- curl_cv_func_getnameinfo_args="unknown"
- for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
- for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
- for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
- for gni_arg7 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#define GNICALLCONV WSAAPI
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#define GNICALLCONV
-#endif
- extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2,
- char *, $gni_arg46,
- char *, $gni_arg46,
- $gni_arg7);
- ]],[[
- $gni_arg2 salen=0;
- $gni_arg46 hostlen=0;
- $gni_arg46 servlen=0;
- $gni_arg7 flags=0;
- int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
- ]])
- ],[
- curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
- ])
- fi
- done
- done
- done
- done
- ]) # AC-CACHE-CHECK
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- AC_MSG_WARN([Cannot find proper types to use for getnameinfo args])
- AC_MSG_WARN([HAVE_GETNAMEINFO will not be defined])
- else
- gni_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
- IFS=$gni_prev_IFS
- shift
- #
- gni_qual_type_arg1=$[1]
- #
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG2, $[2],
- [Define to the type of arg 2 for getnameinfo.])
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG46, $[3],
- [Define to the type of args 4 and 6 for getnameinfo.])
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG7, $[4],
- [Define to the type of arg 7 for getnameinfo.])
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$gni_qual_type_arg1" in
- const*)
- gni_qual_arg1=const
- gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
- ;;
- *)
- gni_qual_arg1=
- gni_type_arg1=$gni_qual_type_arg1
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(GETNAMEINFO_QUAL_ARG1, $gni_qual_arg1,
- [Define to the type qualifier of arg 1 for getnameinfo.])
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG1, $gni_type_arg1,
- [Define to the type of arg 1 for getnameinfo.])
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(HAVE_GETNAMEINFO, 1,
- [Define to 1 if you have the getnameinfo function.])
- ac_cv_func_getnameinfo="yes"
- fi
- fi
-])
-
-
-dnl TYPE_SOCKADDR_STORAGE
-dnl -------------------------------------------------
-dnl Check for struct sockaddr_storage. Most IPv6-enabled
-dnl hosts have it, but AIX 4.3 is one known exception.
-
-AC_DEFUN([TYPE_SOCKADDR_STORAGE],
-[
- AC_CHECK_TYPE([struct sockaddr_storage],
- AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
- [if struct sockaddr_storage is defined]), ,
- [
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
- ])
-])
-
-
-dnl CURL_CHECK_NI_WITHSCOPEID
-dnl -------------------------------------------------
-dnl Check for working NI_WITHSCOPEID in getnameinfo()
-
-AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
- AC_REQUIRE([CURL_CHECK_FUNC_GETNAMEINFO])dnl
- AC_REQUIRE([TYPE_SOCKADDR_STORAGE])dnl
- AC_CHECK_HEADERS(stdio.h sys/types.h sys/socket.h \
- netdb.h netinet/in.h arpa/inet.h)
- #
- AC_CACHE_CHECK([for working NI_WITHSCOPEID],
- [ac_cv_working_ni_withscopeid], [
- AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
- ]],[[
-#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
- struct sockaddr_storage sa;
-#else
- unsigned char sa[256];
-#endif
- char hostbuf[NI_MAXHOST];
- int rc;
- GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
- GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
- GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
- int fd = socket(AF_INET6, SOCK_STREAM, 0);
- if(fd < 0) {
- perror("socket()");
- return 1; /* Error creating socket */
- }
- rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
- if(rc) {
- perror("getsockname()");
- return 2; /* Error retrieving socket name */
- }
- rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
- if(rc) {
- printf("rc = %s\n", gai_strerror(rc));
- return 3; /* Error translating socket address */
- }
- return 0; /* Ok, NI_WITHSCOPEID works */
-#else
- return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
-#endif
- ]]) # AC-LANG-PROGRAM
- ],[
- # Exit code == 0. Program worked.
- ac_cv_working_ni_withscopeid="yes"
- ],[
- # Exit code != 0. Program failed.
- ac_cv_working_ni_withscopeid="no"
- ],[
- # Program is not run when cross-compiling. So we assume
- # NI_WITHSCOPEID will work if we are able to compile it.
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
- ]],[[
- unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
- ]])
- ],[
- ac_cv_working_ni_withscopeid="yes"
- ],[
- ac_cv_working_ni_withscopeid="no"
- ]) # AC-COMPILE-IFELSE
- ]) # AC-RUN-IFELSE
- ]) # AC-CACHE-CHECK
- case "$ac_cv_working_ni_withscopeid" in
- yes)
- AC_DEFINE(HAVE_NI_WITHSCOPEID, 1,
- [Define to 1 if NI_WITHSCOPEID exists and works.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_FUNC_RECV
-dnl -------------------------------------------------
-dnl Test if the socket recv() function is available,
-dnl and check its return type and the types of its
-dnl arguments. If the function succeeds HAVE_RECV
-dnl will be defined, defining the types of the arguments
-dnl in RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3
-dnl and RECV_TYPE_ARG4, defining the type of the function
-dnl return value in RECV_TYPE_RETV.
-
-AC_DEFUN([CURL_CHECK_FUNC_RECV], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
- AC_CHECK_HEADERS(sys/types.h sys/socket.h)
- #
- AC_MSG_CHECKING([for recv])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
- ]],[[
- recv(0, 0, 0, 0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_recv="yes"
- ],[
- AC_MSG_RESULT([no])
- curl_cv_recv="no"
- ])
- #
- if test "$curl_cv_recv" = "yes"; then
- AC_CACHE_CHECK([types of args and return type for recv],
- [curl_cv_func_recv_args], [
- curl_cv_func_recv_args="unknown"
- for recv_retv in 'int' 'ssize_t'; do
- for recv_arg1 in 'int' 'ssize_t' 'SOCKET'; do
- for recv_arg2 in 'char *' 'void *'; do
- for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
- for recv_arg4 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_recv_args" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define RECVCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define RECVCALLCONV
-#endif
- extern $recv_retv RECVCALLCONV
- recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4);
- ]],[[
- $recv_arg1 s=0;
- $recv_arg2 buf=0;
- $recv_arg3 len=0;
- $recv_arg4 flags=0;
- $recv_retv res = recv(s, buf, len, flags);
- ]])
- ],[
- curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv"
- ])
- fi
- done
- done
- done
- done
- done
- ]) # AC-CACHE-CHECK
- if test "$curl_cv_func_recv_args" = "unknown"; then
- AC_MSG_ERROR([Cannot find proper types to use for recv args])
- else
- recv_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_recv_args" | sed 's/\*/\*/g'`
- IFS=$recv_prev_IFS
- shift
- #
- AC_DEFINE_UNQUOTED(RECV_TYPE_ARG1, $[1],
- [Define to the type of arg 1 for recv.])
- AC_DEFINE_UNQUOTED(RECV_TYPE_ARG2, $[2],
- [Define to the type of arg 2 for recv.])
- AC_DEFINE_UNQUOTED(RECV_TYPE_ARG3, $[3],
- [Define to the type of arg 3 for recv.])
- AC_DEFINE_UNQUOTED(RECV_TYPE_ARG4, $[4],
- [Define to the type of arg 4 for recv.])
- AC_DEFINE_UNQUOTED(RECV_TYPE_RETV, $[5],
- [Define to the function return type for recv.])
- #
- AC_DEFINE_UNQUOTED(HAVE_RECV, 1,
- [Define to 1 if you have the recv function.])
- ac_cv_func_recv="yes"
- fi
- else
- AC_MSG_ERROR([Unable to link function recv])
- fi
-])
-
-
-dnl CURL_CHECK_FUNC_SEND
-dnl -------------------------------------------------
-dnl Test if the socket send() function is available,
-dnl and check its return type and the types of its
-dnl arguments. If the function succeeds HAVE_SEND
-dnl will be defined, defining the types of the arguments
-dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3
-dnl and SEND_TYPE_ARG4, defining the type of the function
-dnl return value in SEND_TYPE_RETV, and also defining the
-dnl type qualifier of second argument in SEND_QUAL_ARG2.
-
-AC_DEFUN([CURL_CHECK_FUNC_SEND], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
- AC_CHECK_HEADERS(sys/types.h sys/socket.h)
- #
- AC_MSG_CHECKING([for send])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
- ]],[[
- send(0, 0, 0, 0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_send="yes"
- ],[
- AC_MSG_RESULT([no])
- curl_cv_send="no"
- ])
- #
- if test "$curl_cv_send" = "yes"; then
- AC_CACHE_CHECK([types of args and return type for send],
- [curl_cv_func_send_args], [
- curl_cv_func_send_args="unknown"
- for send_retv in 'int' 'ssize_t'; do
- for send_arg1 in 'int' 'ssize_t' 'SOCKET'; do
- for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do
- for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
- for send_arg4 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_send_args" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define SENDCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define SENDCALLCONV
-#endif
- extern $send_retv SENDCALLCONV
- send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
- ]],[[
- $send_arg1 s=0;
- $send_arg3 len=0;
- $send_arg4 flags=0;
- $send_retv res = send(s, 0, len, flags);
- ]])
- ],[
- curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv"
- ])
- fi
- done
- done
- done
- done
- done
- ]) # AC-CACHE-CHECK
- if test "$curl_cv_func_send_args" = "unknown"; then
- AC_MSG_ERROR([Cannot find proper types to use for send args])
- else
- send_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_send_args" | sed 's/\*/\*/g'`
- IFS=$send_prev_IFS
- shift
- #
- send_qual_type_arg2=$[2]
- #
- AC_DEFINE_UNQUOTED(SEND_TYPE_ARG1, $[1],
- [Define to the type of arg 1 for send.])
- AC_DEFINE_UNQUOTED(SEND_TYPE_ARG3, $[3],
- [Define to the type of arg 3 for send.])
- AC_DEFINE_UNQUOTED(SEND_TYPE_ARG4, $[4],
- [Define to the type of arg 4 for send.])
- AC_DEFINE_UNQUOTED(SEND_TYPE_RETV, $[5],
- [Define to the function return type for send.])
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$send_qual_type_arg2" in
- const*)
- send_qual_arg2=const
- send_type_arg2=`echo $send_qual_type_arg2 | sed 's/^const //'`
- ;;
- *)
- send_qual_arg2=
- send_type_arg2=$send_qual_type_arg2
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(SEND_QUAL_ARG2, $send_qual_arg2,
- [Define to the type qualifier of arg 2 for send.])
- AC_DEFINE_UNQUOTED(SEND_TYPE_ARG2, $send_type_arg2,
- [Define to the type of arg 2 for send.])
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(HAVE_SEND, 1,
- [Define to 1 if you have the send function.])
- ac_cv_func_send="yes"
- fi
- else
- AC_MSG_ERROR([Unable to link function send])
- fi
-])
-
-
-dnl CURL_CHECK_FUNC_RECVFROM
-dnl -------------------------------------------------
-dnl Test if the socket recvfrom() function is available,
-dnl and check its return type and the types of its
-dnl arguments. If the function succeeds HAVE_RECVFROM
-dnl will be defined, defining the types of the arguments
-dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
-dnl to RECVFROM_TYPE_ARG6, defining also the type of the
-dnl function return value in RECVFROM_TYPE_RETV.
-dnl Notice that the types returned for pointer arguments
-dnl will actually be the type pointed by the pointer.
-
-AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
- AC_CHECK_HEADERS(sys/types.h sys/socket.h)
- #
- AC_MSG_CHECKING([for recvfrom])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
- ]],[[
- recvfrom(0, 0, 0, 0, 0, 0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_recvfrom="yes"
- ],[
- AC_MSG_RESULT([no])
- curl_cv_recvfrom="no"
- ])
- #
- if test "$curl_cv_recvfrom" = "yes"; then
- AC_CACHE_CHECK([types of args and return type for recvfrom],
- [curl_cv_func_recvfrom_args], [
- curl_cv_func_recvfrom_args="unknown"
- for recvfrom_retv in 'int' 'ssize_t'; do
- for recvfrom_arg1 in 'int' 'ssize_t' 'SOCKET'; do
- for recvfrom_arg2 in 'char *' 'void *'; do
- for recvfrom_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
- for recvfrom_arg4 in 'int' 'unsigned int'; do
- for recvfrom_arg5 in 'struct sockaddr *' 'void *'; do
- for recvfrom_arg6 in 'socklen_t *' 'int *' 'unsigned int *' 'size_t *' 'void *'; do
- if test "$curl_cv_func_recvfrom_args" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define RECVFROMCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define RECVFROMCALLCONV
-#endif
- extern $recvfrom_retv RECVFROMCALLCONV
- recvfrom($recvfrom_arg1, $recvfrom_arg2,
- $recvfrom_arg3, $recvfrom_arg4,
- $recvfrom_arg5, $recvfrom_arg6);
- ]],[[
- $recvfrom_arg1 s=0;
- $recvfrom_arg2 buf=0;
- $recvfrom_arg3 len=0;
- $recvfrom_arg4 flags=0;
- $recvfrom_arg5 addr=0;
- $recvfrom_arg6 addrlen=0;
- $recvfrom_retv res=0;
- res = recvfrom(s, buf, len, flags, addr, addrlen);
- ]])
- ],[
- curl_cv_func_recvfrom_args="$recvfrom_arg1,$recvfrom_arg2,$recvfrom_arg3,$recvfrom_arg4,$recvfrom_arg5,$recvfrom_arg6,$recvfrom_retv"
- ])
- fi
- done
- done
- done
- done
- done
- done
- done
- ]) # AC-CACHE-CHECK
- # Nearly last minute change for this release starts here
- AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
- [Define to 1 if you have the recvfrom function.])
- ac_cv_func_recvfrom="yes"
- # Nearly last minute change for this release ends here
- if test "$curl_cv_func_recvfrom_args" = "unknown"; then
- AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
- else
- recvfrom_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
- IFS=$recvfrom_prev_IFS
- shift
- #
- recvfrom_ptrt_arg2=$[2]
- recvfrom_ptrt_arg5=$[5]
- recvfrom_ptrt_arg6=$[6]
- #
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
- [Define to the type of arg 1 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
- [Define to the type of arg 3 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
- [Define to the type of arg 4 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
- [Define to the function return type for recvfrom.])
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
- recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
- recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
- #
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
- [Define to the type pointed by arg 2 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
- [Define to the type pointed by arg 5 for recvfrom.])
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
- [Define to the type pointed by arg 6 for recvfrom.])
- #
- if test "$recvfrom_type_arg2" = "void"; then
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2_IS_VOID, 1,
- [Define to 1 if the type pointed by arg 2 for recvfrom is void.])
- fi
- if test "$recvfrom_type_arg5" = "void"; then
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5_IS_VOID, 1,
- [Define to 1 if the type pointed by arg 5 for recvfrom is void.])
- fi
- if test "$recvfrom_type_arg6" = "void"; then
- AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6_IS_VOID, 1,
- [Define to 1 if the type pointed by arg 6 for recvfrom is void.])
- fi
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
- [Define to 1 if you have the recvfrom function.])
- ac_cv_func_recvfrom="yes"
- fi
- else
- AC_MSG_WARN([Unable to link function recvfrom])
- fi
-])
-
-
-dnl CURL_CHECK_MSG_NOSIGNAL
-dnl -------------------------------------------------
-dnl Check for MSG_NOSIGNAL
-
-AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
- AC_CHECK_HEADERS(sys/types.h sys/socket.h)
- AC_CACHE_CHECK([for MSG_NOSIGNAL], [ac_cv_msg_nosignal], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
- ]],[[
- int flag=MSG_NOSIGNAL;
- ]])
- ],[
- ac_cv_msg_nosignal="yes"
- ],[
- ac_cv_msg_nosignal="no"
- ])
- ])
- case "$ac_cv_msg_nosignal" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_MSG_NOSIGNAL, 1,
- [Define to 1 if you have the MSG_NOSIGNAL flag.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_STRUCT_TIMEVAL
-dnl -------------------------------------------------
-dnl Check for timeval struct
-
-AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
- AC_REQUIRE([AC_HEADER_TIME])dnl
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
- AC_CHECK_HEADERS(sys/types.h sys/time.h time.h)
- AC_CACHE_CHECK([for struct timeval], [ac_cv_struct_timeval], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
- ]],[[
- struct timeval ts;
- ts.tv_sec = 0;
- ts.tv_usec = 0;
- ]])
- ],[
- ac_cv_struct_timeval="yes"
- ],[
- ac_cv_struct_timeval="no"
- ])
- ])
- case "$ac_cv_struct_timeval" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMEVAL, 1,
- [Define to 1 if you have the timeval struct.])
- ;;
- esac
-])
-
-
-dnl TYPE_SIG_ATOMIC_T
-dnl -------------------------------------------------
-dnl Check if the sig_atomic_t type is available, and
-dnl verify if it is already defined as volatile.
-
-AC_DEFUN([TYPE_SIG_ATOMIC_T], [
- AC_CHECK_HEADERS(signal.h)
- AC_CHECK_TYPE([sig_atomic_t],[
- AC_DEFINE(HAVE_SIG_ATOMIC_T, 1,
- [Define to 1 if sig_atomic_t is an available typedef.])
- ], ,[
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
- ])
- case "$ac_cv_type_sig_atomic_t" in
- yes)
- #
- AC_MSG_CHECKING([if sig_atomic_t is already defined as volatile])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
- ]],[[
- static volatile sig_atomic_t dummy = 0;
- ]])
- ],[
- AC_MSG_RESULT([no])
- ac_cv_sig_atomic_t_volatile="no"
- ],[
- AC_MSG_RESULT([yes])
- ac_cv_sig_atomic_t_volatile="yes"
- ])
- #
- if test "$ac_cv_sig_atomic_t_volatile" = "yes"; then
- AC_DEFINE(HAVE_SIG_ATOMIC_T_VOLATILE, 1,
- [Define to 1 if sig_atomic_t is already defined as volatile.])
- fi
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_NONBLOCKING_SOCKET
-dnl -------------------------------------------------
-dnl Check for how to set a socket to non-blocking state. There seems to exist
-dnl four known different ways, with the one used almost everywhere being POSIX
-dnl and XPG3, while the other different ways for different systems (old BSD,
-dnl Windows and Amiga).
-dnl
-dnl There are two known platforms (AIX 3.x and SunOS 4.1.x) where the
-dnl O_NONBLOCK define is found but does not work. This condition is attempted
-dnl to get caught in this script by using an excessive number of #ifdefs...
-
-AC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [
- AC_MSG_CHECKING([non-blocking sockets style])
- nonblock="unknown"
- #
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-/* headers for O_NONBLOCK test */
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-/* */
-#if defined(sun) || defined(__sun__) || \
- defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-# if defined(__SVR4) || defined(__srv4__)
-# define PLATFORM_SOLARIS
-# else
-# define PLATFORM_SUNOS4
-# endif
-#endif
-#if (defined(_AIX) || defined(__xlC__)) && !defined(_AIX41)
-# define PLATFORM_AIX_V3
-#endif
-/* */
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
-#error "O_NONBLOCK does not work on this platform"
-#endif
- ]],[[
- /* O_NONBLOCK source test */
- int socket;
- int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK);
- ]])
- ],[
- dnl the O_NONBLOCK test was fine
- nonblock="O_NONBLOCK"
- AC_DEFINE(HAVE_O_NONBLOCK, 1,
- [use O_NONBLOCK for non-blocking sockets])
- ])
- #
- if test "$nonblock" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-/* headers for FIONBIO test */
-#include <unistd.h>
-#include <stropts.h>
- ]],[[
- /* FIONBIO source test (old-style unix) */
- int socket;
- int flags = ioctl(socket, FIONBIO, &flags);
- ]])
- ],[
- dnl FIONBIO test was good
- nonblock="FIONBIO"
- AC_DEFINE(HAVE_FIONBIO, 1,
- [use FIONBIO for non-blocking sockets])
- ])
- fi
- #
- if test "$nonblock" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-/* headers for ioctlsocket test (Windows) */
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
- ]],[[
- /* ioctlsocket source code (Windows) */
- SOCKET sd;
- unsigned long flags = 0;
- sd = socket(0, 0, 0);
- ioctlsocket(sd, FIONBIO, &flags);
- ]])
- ],[
- dnl ioctlsocket test was good
- nonblock="ioctlsocket"
- AC_DEFINE(HAVE_IOCTLSOCKET, 1,
- [use ioctlsocket() for non-blocking sockets])
- ])
- fi
- #
- if test "$nonblock" = "unknown"; then
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-/* headers for IoctlSocket test (Amiga?) */
-#include <sys/ioctl.h>
- ]],[[
- /* IoctlSocket source code (Amiga?) */
- int socket;
- int flags = IoctlSocket(socket, FIONBIO, (long)1);
- ]])
- ],[
- dnl Ioctlsocket test was good
- nonblock="IoctlSocket"
- AC_DEFINE(HAVE_IOCTLSOCKET_CASE, 1,
- [use Ioctlsocket() for non-blocking sockets])
- ])
- fi
- #
- if test "$nonblock" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-/* headers for SO_NONBLOCK test (BeOS) */
-#include <socket.h>
- ]],[[
- /* SO_NONBLOCK source code (BeOS) */
- long b = 1;
- int socket;
- int flags = setsockopt(socket, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
- ]])
- ],[
- dnl the SO_NONBLOCK test was good
- nonblock="SO_NONBLOCK"
- AC_DEFINE(HAVE_SO_NONBLOCK, 1,
- [use SO_NONBLOCK for non-blocking sockets])
- ])
- fi
- #
- AC_MSG_RESULT($nonblock)
- #
- if test "$nonblock" = "unknown"; then
- AC_DEFINE(HAVE_DISABLED_NONBLOCKING, 1,
- [disabled non-blocking sockets])
- AC_MSG_WARN([non-block sockets disabled])
- fi
-])
-
-
-dnl TYPE_IN_ADDR_T
-dnl -------------------------------------------------
-dnl Check for in_addr_t: it is used to receive the return code of inet_addr()
-dnl and a few other things.
-
-AC_DEFUN([TYPE_IN_ADDR_T], [
- AC_CHECK_TYPE([in_addr_t], ,[
- dnl in_addr_t not available
- AC_CACHE_CHECK([for in_addr_t equivalent],
- [curl_cv_in_addr_t_equiv], [
- curl_cv_in_addr_t_equiv="unknown"
- for t in "unsigned long" int size_t unsigned long; do
- if test "$curl_cv_in_addr_t_equiv" = "unknown"; then
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
- ]],[[
- $t data = inet_addr ("1.2.3.4");
- ]])
- ],[
- curl_cv_in_addr_t_equiv="$t"
- ])
- fi
- done
- ])
- case "$curl_cv_in_addr_t_equiv" in
- unknown)
- AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t])
- ;;
- *)
- AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv,
- [Type to use in place of in_addr_t when system does not provide it.])
- ;;
- esac
- ],[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
- ])
-])
-
-
-dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC
-dnl -------------------------------------------------
-dnl Check if monotonic clock_gettime is available.
-
-AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [
- AC_REQUIRE([AC_HEADER_TIME])dnl
- AC_CHECK_HEADERS(sys/types.h sys/time.h time.h)
- AC_MSG_CHECKING([for monotonic clock_gettime])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
- ]],[[
- struct timespec ts;
- (void)clock_gettime(CLOCK_MONOTONIC, &ts);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- ac_cv_func_clock_gettime="yes"
- ],[
- AC_MSG_RESULT([no])
- ac_cv_func_clock_gettime="no"
- ])
- dnl Definition of HAVE_CLOCK_GETTIME_MONOTONIC is intentionally postponed
- dnl until library linking and run-time checks for clock_gettime succeed.
-])
-
-
-dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
-dnl -------------------------------------------------
-dnl If monotonic clock_gettime is available then,
-dnl check and prepended to LIBS any needed libraries.
-
-AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [
- AC_REQUIRE([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC])dnl
- #
- if test "$ac_cv_func_clock_gettime" = "yes"; then
- #
- AC_MSG_CHECKING([for clock_gettime in libraries])
- #
- curl_cv_save_LIBS="$LIBS"
- curl_cv_gclk_LIBS="unknown"
- #
- for x_xlibs in '' '-lrt' '-lposix4' ; do
- if test "$curl_cv_gclk_LIBS" = "unknown"; then
- if test -z "$x_xlibs"; then
- LIBS="$curl_cv_save_LIBS"
- else
- LIBS="$x_xlibs $curl_cv_save_LIBS"
- fi
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
- ]],[[
- struct timespec ts;
- (void)clock_gettime(CLOCK_MONOTONIC, &ts);
- ]])
- ],[
- curl_cv_gclk_LIBS="$x_xlibs"
- ])
- fi
- done
- #
- LIBS="$curl_cv_save_LIBS"
- #
- case X-"$curl_cv_gclk_LIBS" in
- X-unknown)
- AC_MSG_RESULT([cannot find clock_gettime])
- AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
- ac_cv_func_clock_gettime="no"
- ;;
- X-)
- AC_MSG_RESULT([no additional lib required])
- ac_cv_func_clock_gettime="yes"
- ;;
- *)
- if test -z "$curl_cv_save_LIBS"; then
- LIBS="$curl_cv_gclk_LIBS"
- else
- LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS"
- fi
- AC_MSG_RESULT([$curl_cv_gclk_LIBS])
- ac_cv_func_clock_gettime="yes"
- ;;
- esac
- #
- dnl only do runtime verification when not cross-compiling
- if test "x$cross_compiling" != "xyes" &&
- test "$ac_cv_func_clock_gettime" = "yes"; then
- AC_MSG_CHECKING([if monotonic clock_gettime works])
- AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
- ]],[[
- struct timespec ts;
- if (0 == clock_gettime(CLOCK_MONOTONIC, &ts))
- exit(0);
- else
- exit(1);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
- ac_cv_func_clock_gettime="no"
- LIBS="$curl_cv_save_LIBS"
- ])
- fi
- #
- case "$ac_cv_func_clock_gettime" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_CLOCK_GETTIME_MONOTONIC, 1,
- [Define to 1 if you have the clock_gettime function and monotonic timer.])
- ;;
- esac
- #
- fi
- #
-])
-
-
-dnl CURL_CHECK_FUNC_SELECT
-dnl -------------------------------------------------
-dnl Test if the socket select() function is available,
-dnl and check its return type and the types of its
-dnl arguments. If the function succeeds HAVE_SELECT
-dnl will be defined, defining the types of the
-dnl arguments in SELECT_TYPE_ARG1, SELECT_TYPE_ARG234
-dnl and SELECT_TYPE_ARG5, defining the type of the
-dnl function return value in SELECT_TYPE_RETV, and
-dnl also defining the type qualifier of fifth argument
-dnl in SELECT_QUAL_ARG5.
-
-AC_DEFUN([CURL_CHECK_FUNC_SELECT], [
- AC_REQUIRE([CURL_CHECK_STRUCT_TIMEVAL])dnl
- AC_CHECK_HEADERS(sys/select.h sys/socket.h)
- #
- AC_MSG_CHECKING([for select])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-#ifndef HAVE_WINDOWS_H
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
- ]],[[
- select(0, 0, 0, 0, 0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_select="yes"
- ],[
- AC_MSG_RESULT([no])
- curl_cv_select="no"
- ])
- #
- if test "$curl_cv_select" = "yes"; then
- AC_CACHE_CHECK([types of args and return type for select],
- [curl_cv_func_select_args], [
- curl_cv_func_select_args="unknown"
- for sel_retv in 'int' 'ssize_t'; do
- for sel_arg1 in 'int' 'ssize_t' 'size_t' 'unsigned long int' 'unsigned int'; do
- for sel_arg234 in 'fd_set *' 'int *' 'void *'; do
- for sel_arg5 in 'struct timeval *' 'const struct timeval *'; do
- if test "$curl_cv_func_select_args" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define SELECTCALLCONV PASCAL
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-#ifndef HAVE_WINDOWS_H
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define SELECTCALLCONV
-#endif
-#ifndef HAVE_STRUCT_TIMEVAL
- struct timeval {
- long tv_sec;
- long tv_usec;
- };
-#endif
- extern $sel_retv SELECTCALLCONV select($sel_arg1,
- $sel_arg234,
- $sel_arg234,
- $sel_arg234,
- $sel_arg5);
- ]],[[
- $sel_arg1 nfds=0;
- $sel_arg234 rfds=0;
- $sel_arg234 wfds=0;
- $sel_arg234 efds=0;
- $sel_retv res = select(nfds, rfds, wfds, efds, 0);
- ]])
- ],[
- curl_cv_func_select_args="$sel_arg1,$sel_arg234,$sel_arg5,$sel_retv"
- ])
- fi
- done
- done
- done
- done
- ]) # AC-CACHE-CHECK
- if test "$curl_cv_func_select_args" = "unknown"; then
- AC_MSG_WARN([Cannot find proper types to use for select args])
- AC_MSG_WARN([HAVE_SELECT will not be defined])
- else
- select_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_select_args" | sed 's/\*/\*/g'`
- IFS=$select_prev_IFS
- shift
- #
- sel_qual_type_arg5=$[3]
- #
- AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1, $[1],
- [Define to the type of arg 1 for select.])
- AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234, $[2],
- [Define to the type of args 2, 3 and 4 for select.])
- AC_DEFINE_UNQUOTED(SELECT_TYPE_RETV, $[4],
- [Define to the function return type for select.])
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$sel_qual_type_arg5" in
- const*)
- sel_qual_arg5=const
- sel_type_arg5=`echo $sel_qual_type_arg5 | sed 's/^const //'`
- ;;
- *)
- sel_qual_arg5=
- sel_type_arg5=$sel_qual_type_arg5
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(SELECT_QUAL_ARG5, $sel_qual_arg5,
- [Define to the type qualifier of arg 5 for select.])
- AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5, $sel_type_arg5,
- [Define to the type of arg 5 for select.])
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(HAVE_SELECT, 1,
- [Define to 1 if you have the select function.])
- ac_cv_func_select="yes"
- fi
- fi
-])
-
-
-dnl ************************************************************
-dnl check for working getaddrinfo() that works with AI_NUMERICHOST
-dnl
-AC_DEFUN([CURL_CHECK_WORKING_GETADDRINFO],[
- AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,[
- AC_TRY_RUN( [
-#include <netdb.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
-int main(void)
-{
- struct addrinfo hints, *ai;
- int error;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_NUMERICHOST;
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- error = getaddrinfo("127.0.0.1", "8080", &hints, &ai);
- if (error) {
- return 1;
- }
- return 0;
-}
-],[
- ac_cv_working_getaddrinfo="yes"
-],[
- ac_cv_working_getaddrinfo="no"
-],[
- ac_cv_working_getaddrinfo="yes"
-])])
-if test "$ac_cv_working_getaddrinfo" = "yes"; then
- AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo exists and works])
- AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
-
- IPV6_ENABLED=1
- AC_SUBST(IPV6_ENABLED)
-fi
-])
-
-
-AC_DEFUN([CURL_CHECK_LOCALTIME_R],
-[
- dnl check for localtime_r
- AC_CHECK_FUNCS(localtime_r,[
- AC_MSG_CHECKING(whether localtime_r is declared)
- AC_EGREP_CPP(localtime_r,[
-#undef _REENTRANT
-#include <time.h>],[
- AC_MSG_RESULT(yes)],[
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(whether localtime_r with -D_REENTRANT is declared)
- AC_EGREP_CPP(localtime_r,[
-#undef _REENTRANT
-#define _REENTRANT
-#include <time.h>],[
- AC_MSG_RESULT(yes)],
- AC_MSG_RESULT(no))])])
-])
-
-dnl
-dnl This function checks for strerror_r(). If it isn't found at first, it
-dnl retries with _THREAD_SAFE defined, as that is what AIX seems to require
-dnl in order to find this function.
-dnl
-dnl If the function is found, it will then proceed to check how the function
-dnl actually works: glibc-style or POSIX-style.
-dnl
-dnl glibc:
-dnl char *strerror_r(int errnum, char *buf, size_t n);
-dnl
-dnl What this one does is to return the error string (no surprises there),
-dnl but it doesn't usually copy anything into buf! The 'buf' and 'n'
-dnl parameters are only meant as an optional working area, in case strerror_r
-dnl needs it. A quick test on a few systems shows that it's generally not
-dnl touched at all.
-dnl
-dnl POSIX:
-dnl int strerror_r(int errnum, char *buf, size_t n);
-dnl
-AC_DEFUN([CURL_CHECK_STRERROR_R],
-[
- AC_CHECK_FUNCS(strerror_r)
-
- if test "x$ac_cv_func_strerror_r" = "xyes"; then
-
- AC_MSG_CHECKING(whether strerror_r is declared)
- AC_EGREP_CPP(strerror_r,[
-#undef _REENTRANT
-#include <string.h>],[
- AC_MSG_RESULT(yes)],[
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(whether strerror_r with -D_REENTRANT is declared)
- AC_EGREP_CPP(strerror_r,[
-#undef _REENTRANT
-#define _REENTRANT
-#include <string.h>],[
- AC_MSG_RESULT(yes)],
- AC_MSG_RESULT(no)
- AC_DEFINE(HAVE_NO_STRERROR_R_DECL, 1, [we have no strerror_r() proto])
- ) dnl with _THREAD_SAFE
- ]) dnl plain cpp for it
-
- dnl determine if this strerror_r() is glibc or POSIX
- AC_MSG_CHECKING([for a glibc strerror_r API])
- AC_TRY_RUN([
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- char *string =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* this should've returned a string */
- if(!string || !string[0])
- return 99;
- return 0;
-}
-],
- GLIBC_STRERROR_R="1"
- AC_DEFINE(HAVE_GLIBC_STRERROR_R, 1, [we have a glibc-style strerror_r()])
- AC_MSG_RESULT([yes]),
- AC_MSG_RESULT([no]),
-
- dnl Use an inferior method of strerror_r detection while cross-compiling
- AC_EGREP_CPP(yes, [
-#include <features.h>
-#ifdef __GLIBC__
-yes
-#endif
-],
- dnl looks like glibc, so assume a glibc-style strerror_r()
- GLIBC_STRERROR_R="1"
- AC_DEFINE(HAVE_GLIBC_STRERROR_R, 1, [we have a glibc-style strerror_r()])
- AC_MSG_RESULT([yes]),
- AC_MSG_NOTICE([cannot determine strerror_r() style: edit lib/config.h manually!])
- ) dnl while cross-compiling
- )
-
- if test -z "$GLIBC_STRERROR_R"; then
-
- AC_MSG_CHECKING([for a POSIX strerror_r API])
- AC_TRY_RUN([
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- int error =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* This should've returned zero, and written an error string in the
- buffer.*/
- if(!buffer[0] || error)
- return 99;
- return 0;
-}
-],
- AC_DEFINE(HAVE_POSIX_STRERROR_R, 1, [we have a POSIX-style strerror_r()])
- AC_MSG_RESULT([yes]),
- AC_MSG_RESULT([no]) ,
- dnl cross-compiling!
- AC_MSG_NOTICE([cannot determine strerror_r() style: edit lib/config.h manually!])
- )
-
- fi dnl if not using glibc API
-
- fi dnl we have a strerror_r
-
-])
-
-AC_DEFUN([CURL_CHECK_INET_NTOA_R],
-[
- dnl determine if function definition for inet_ntoa_r exists.
- AC_CHECK_FUNCS(inet_ntoa_r,[
- AC_MSG_CHECKING(whether inet_ntoa_r is declared)
- AC_EGREP_CPP(inet_ntoa_r,[
-#undef _REENTRANT
-#include <arpa/inet.h>],[
- AC_DEFINE(HAVE_INET_NTOA_R_DECL, 1, [inet_ntoa_r() is declared])
- AC_MSG_RESULT(yes)],[
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(whether inet_ntoa_r with -D_REENTRANT is declared)
- AC_EGREP_CPP(inet_ntoa_r,[
-#undef _REENTRANT
-#define _REENTRANT
-#include <arpa/inet.h>],[
- AC_DEFINE(HAVE_INET_NTOA_R_DECL, 1, [inet_ntoa_r() is declared])
- AC_MSG_RESULT(yes)],
- AC_MSG_RESULT(no))])])
-])
-
-
-dnl CURL_CHECK_GETHOSTBYADDR_R
-dnl -------------------------------------------------
-dnl check number of arguments for gethostbyaddr_r, it
-dnl might take either 5, 7, or 8 arguments.
-
-AC_DEFUN([CURL_CHECK_GETHOSTBYADDR_R], [
- #
- AC_MSG_CHECKING([for gethostbyaddr_r])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
- ],[
- AC_MSG_RESULT([yes])
- tmp_cv_gethostbyaddr_r="yes"
- ],[
- AC_MSG_RESULT([no])
- tmp_cv_gethostbyaddr_r="no"
- ])
- #
- if test "$tmp_cv_gethostbyaddr_r" != "yes"; then
- AC_MSG_CHECKING([deeper for gethostbyaddr_r])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- gethostbyaddr_r();
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tmp_cv_gethostbyaddr_r="yes"
- ],[
- AC_MSG_RESULT([but still no])
- tmp_cv_gethostbyaddr_r="no"
- ])
- fi
- #
- if test "$tmp_cv_gethostbyaddr_r" = "yes"; then
-
- ac_cv_gethostbyaddr_r_args="unknown"
-
- AC_MSG_CHECKING([if gethostbyaddr_r takes 5 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ]],[[
- char * address;
- int length;
- int type;
- struct hostent h;
- struct hostent_data hdata;
- int rc;
- rc = gethostbyaddr_r(address, length, type, &h, &hdata);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYADDR_R_5, 1, [gethostbyaddr_r() takes 5 args])
- ac_cv_gethostbyaddr_r_args="5"
- ],[
- AC_MSG_RESULT([no])
- ])
-
- if test "$ac_cv_gethostbyaddr_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyaddr_r with -D_REENTRANT takes 5 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ]],[[
- char * address;
- int length;
- int type;
- struct hostent h;
- struct hostent_data hdata;
- int rc;
- rc = gethostbyaddr_r(address, length, type, &h, &hdata);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYADDR_R_5, 1, [gethostbyaddr_r() takes 5 args])
- ac_cv_gethostbyaddr_r_args="5"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyaddr_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyaddr_r takes 7 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ]],[[
- char * address;
- int length;
- int type;
- struct hostent h;
- char buffer[8192];
- int h_errnop;
- struct hostent * hp;
- hp = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &h_errnop);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYADDR_R_7, 1, [gethostbyaddr_r() takes 7 args])
- ac_cv_gethostbyaddr_r_args="7"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyaddr_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyaddr_r with -D_REENTRANT takes 7 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ]],[[
- char * address;
- int length;
- int type;
- struct hostent h;
- char buffer[8192];
- int h_errnop;
- struct hostent * hp;
- hp = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &h_errnop);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYADDR_R_7, 1, [gethostbyaddr_r() takes 7 args])
- ac_cv_gethostbyaddr_r_args="7"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyaddr_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyaddr_r takes 8 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ]],[[
- char * address;
- int length;
- int type;
- struct hostent h;
- char buffer[8192];
- int h_errnop;
- struct hostent * hp;
- int rc;
- rc = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &hp, &h_errnop);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYADDR_R_8, 1, [gethostbyaddr_r() takes 8 args])
- ac_cv_gethostbyaddr_r_args="8"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyaddr_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyaddr_r with -D_REENTRANT takes 8 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ]],[[
- char * address;
- int length;
- int type;
- struct hostent h;
- char buffer[8192];
- int h_errnop;
- struct hostent * hp;
- int rc;
- rc = gethostbyaddr_r(address, length, type, &h,
- buffer, 8192, &hp, &h_errnop);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYADDR_R_8, 1, [gethostbyaddr_r() takes 8 args])
- ac_cv_gethostbyaddr_r_args="8"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyaddr_r_args" = "unknown"; then
- AC_MSG_WARN([Cannot find out how to use gethostbyaddr_r])
- AC_MSG_WARN([HAVE_GETHOSTBYADDR_R will not be defined])
- ac_cv_func_gethostbyaddr_r="no"
- else
- AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYADDR_R, 1,
- [Define to 1 if you have the gethostbyaddr_r function.])
- ac_cv_func_gethostbyaddr_r="yes"
- fi
-
- else
- ac_cv_func_gethostbyaddr_r="no"
- fi
-])
-
-
-dnl CURL_CHECK_GETHOSTBYNAME_R
-dnl -------------------------------------------------
-dnl check number of arguments for gethostbyname_r, it
-dnl might take either 3, 5, or 6 arguments.
-
-AC_DEFUN([CURL_CHECK_GETHOSTBYNAME_R], [
- #
- AC_MSG_CHECKING([for gethostbyname_r])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
- ],[
- AC_MSG_RESULT([yes])
- tmp_cv_gethostbyname_r="yes"
- ],[
- AC_MSG_RESULT([no])
- tmp_cv_gethostbyname_r="no"
- ])
- #
- if test "$tmp_cv_gethostbyname_r" != "yes"; then
- AC_MSG_CHECKING([deeper for gethostbyname_r])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- gethostbyname_r();
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tmp_cv_gethostbyname_r="yes"
- ],[
- AC_MSG_RESULT([but still no])
- tmp_cv_gethostbyname_r="no"
- ])
- fi
- #
- if test "$tmp_cv_gethostbyname_r" = "yes"; then
-
- ac_cv_gethostbyname_r_args="unknown"
-
- AC_MSG_CHECKING([if gethostbyname_r takes 3 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- struct hostent_data *);
- ]],[[
- struct hostent_data data;
- gethostbyname_r(NULL, NULL, NULL);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYNAME_R_3, 1, [gethostbyname_r() takes 3 args])
- ac_cv_gethostbyname_r_args="3"
- ],[
- AC_MSG_RESULT([no])
- ])
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyname_r with -D_REENTRANT takes 3 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#define _REENTRANT
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- struct hostent_data *);
- ]],[[
- struct hostent_data data;
- gethostbyname_r(NULL, NULL, NULL);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYNAME_R_3, 1, [gethostbyname_r() takes 3 args])
- ac_cv_gethostbyname_r_args="3"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyname_r takes 5 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- struct hostent *
- gethostbyname_r(const char *, struct hostent *,
- char *, int, int *);
- ]],[[
- gethostbyname_r(NULL, NULL, NULL, 0, NULL);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYNAME_R_5, 1, [gethostbyname_r() takes 5 args])
- ac_cv_gethostbyname_r_args="5"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyname_r with -D_REENTRANT takes 5 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- struct hostent *
- gethostbyname_r(const char *, struct hostent *,
- char *, int, int *);
- ]],[[
- gethostbyname_r(NULL, NULL, NULL, 0, NULL);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYNAME_R_5, 1, [gethostbyname_r() takes 5 args])
- ac_cv_gethostbyname_r_args="5"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyname_r takes 6 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- char *, size_t, struct hostent **, int *);
- ]],[[
- gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYNAME_R_6, 1, [gethostbyname_r() takes 6 args])
- ac_cv_gethostbyname_r_args="6"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- AC_MSG_CHECKING([if gethostbyname_r with -D_REENTRANT takes 6 arguments])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- char *, size_t, struct hostent **, int *);
- ]],[[
- gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_GETHOSTBYNAME_R_6, 1, [gethostbyname_r() takes 6 args])
- ac_cv_gethostbyname_r_args="6"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- AC_MSG_WARN([Cannot find out how to use gethostbyname_r])
- AC_MSG_WARN([HAVE_GETHOSTBYNAME_R will not be defined])
- ac_cv_func_gethostbyname_r="no"
- else
- AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYNAME_R, 1,
- [Define to 1 if you have the gethostbyname_r function.])
- ac_cv_func_gethostbyname_r="yes"
- fi
-
- else
- ac_cv_func_gethostbyname_r="no"
- fi
-])
-
-
-dnl **********************************************************************
-dnl CURL_DETECT_ICC ([ACTION-IF-YES])
-dnl
-dnl check if this is the Intel ICC compiler, and if so run the ACTION-IF-YES
-dnl sets the $ICC variable to "yes" or "no"
-dnl **********************************************************************
-AC_DEFUN([CURL_DETECT_ICC],
-[
- ICC="no"
- AC_MSG_CHECKING([for icc in use])
- if test "$GCC" = "yes"; then
- dnl check if this is icc acting as gcc in disguise
- AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER],
- dnl action if the text is found, this it has not been replaced by the
- dnl cpp
- ICC="no",
- dnl the text was not found, it was replaced by the cpp
- ICC="yes"
- AC_MSG_RESULT([yes])
- [$1]
- )
- fi
- if test "$ICC" = "no"; then
- # this is not ICC
- AC_MSG_RESULT([no])
- fi
-])
-
-dnl We create a function for detecting which compiler we use and then set as
-dnl pendantic compiler options as possible for that particular compiler. The
-dnl options are only used for debug-builds.
-
-AC_DEFUN([CURL_CC_DEBUG_OPTS],
-[
- if test "z$ICC" = "z"; then
- CURL_DETECT_ICC
- fi
-
- if test "$GCC" = "yes"; then
-
- dnl figure out gcc version!
- AC_MSG_CHECKING([gcc version])
- gccver=`$CC -dumpversion`
- num1=`echo $gccver | cut -d . -f1`
- num2=`echo $gccver | cut -d . -f2`
- gccnum=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
- AC_MSG_RESULT($gccver)
-
- if test "$ICC" = "yes"; then
- dnl this is icc, not gcc.
-
- dnl ICC warnings we ignore:
- dnl * 269 warns on our "%Od" printf formatters for curl_off_t output:
- dnl "invalid format string conversion"
- dnl * 279 warns on static conditions in while expressions
- dnl * 981 warns on "operands are evaluated in unspecified order"
- dnl * 1418 "external definition with no prior declaration"
- dnl * 1419 warns on "external declaration in primary source file"
- dnl which we know and do on purpose.
-
- WARN="-wd279,269,981,1418,1419"
-
- if test "$gccnum" -gt "600"; then
- dnl icc 6.0 and older doesn't have the -Wall flag
- WARN="-Wall $WARN"
- fi
- else dnl $ICC = yes
- dnl this is a set of options we believe *ALL* gcc versions support:
- WARN="-W -Wall -Wwrite-strings -pedantic -Wpointer-arith -Wnested-externs -Winline -Wmissing-prototypes"
-
- dnl -Wcast-align is a bit too annoying on all gcc versions ;-)
-
- if test "$gccnum" -ge "207"; then
- dnl gcc 2.7 or later
- WARN="$WARN -Wmissing-declarations"
- fi
-
- if test "$gccnum" -gt "295"; then
- dnl only if the compiler is newer than 2.95 since we got lots of
- dnl "`_POSIX_C_SOURCE' is not defined" in system headers with
- dnl gcc 2.95.4 on FreeBSD 4.9!
- WARN="$WARN -Wundef -Wno-long-long -Wsign-compare -Wshadow -Wno-multichar"
- fi
-
- if test "$gccnum" -ge "296"; then
- dnl gcc 2.96 or later
- WARN="$WARN -Wfloat-equal"
- fi
-
- if test "$gccnum" -gt "296"; then
- dnl this option does not exist in 2.96
- WARN="$WARN -Wno-format-nonliteral"
- fi
-
- dnl -Wunreachable-code seems totally unreliable on my gcc 3.3.2 on
- dnl on i686-Linux as it gives us heaps with false positives.
- dnl Also, on gcc 4.0.X it is totally unbearable and complains all
- dnl over making it unusable for generic purposes. Let's not use it.
-
- if test "$gccnum" -ge "303"; then
- dnl gcc 3.3 and later
- WARN="$WARN -Wendif-labels -Wstrict-prototypes"
- fi
-
- if test "$gccnum" -ge "304"; then
- # try these on gcc 3.4
- WARN="$WARN -Wdeclaration-after-statement"
- fi
-
- for flag in $CPPFLAGS; do
- case "$flag" in
- -I*)
- dnl Include path, provide a -isystem option for the same dir
- dnl to prevent warnings in those dirs. The -isystem was not very
- dnl reliable on earlier gcc versions.
- add=`echo $flag | sed 's/^-I/-isystem /g'`
- WARN="$WARN $add"
- ;;
- esac
- done
-
- fi dnl $ICC = no
-
- CFLAGS="$CFLAGS $WARN"
-
- AC_MSG_NOTICE([Added this set of compiler options: $WARN])
-
- else dnl $GCC = yes
-
- AC_MSG_NOTICE([Added no extra compiler options])
-
- fi dnl $GCC = yes
-
- dnl strip off optimizer flags
- NEWFLAGS=""
- for flag in $CFLAGS; do
- case "$flag" in
- -O*)
- dnl echo "cut off $flag"
- ;;
- *)
- NEWFLAGS="$NEWFLAGS $flag"
- ;;
- esac
- done
- CFLAGS=$NEWFLAGS
-
-]) # AC-DEFUN
-
-
-
-# This is only a temporary fix. This macro is here to replace the broken one
-# delivered by the automake project (including the 1.9.6 release). As soon as
-# they ship a working version we SHOULD remove this work-around.
-
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} \"$am_aux_dir/missing\""
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-
-dnl CURL_VERIFY_RUNTIMELIBS
-dnl -------------------------------------------------
-dnl Verify that the shared libs found so far can be used when running
-dnl programs, since otherwise the situation will create odd configure errors
-dnl that are misleading people.
-dnl
-dnl Make sure this test is run BEFORE the first test in the script that
-dnl runs anything, which at the time of this writing is the AC_CHECK_SIZEOF
-dnl macro. It must also run AFTER all lib-checking macros are complete.
-
-AC_DEFUN([CURL_VERIFY_RUNTIMELIBS], [
-
- dnl this test is of course not sensible if we are cross-compiling!
- if test "x$cross_compiling" != xyes; then
-
- dnl just run a program to verify that the libs checked for previous to this
- dnl point also is available run-time!
- AC_MSG_CHECKING([run-time libs availability])
- AC_TRY_RUN([
-main()
-{
- return 0;
-}
-],
- AC_MSG_RESULT([fine]),
- AC_MSG_RESULT([failed])
- AC_MSG_ERROR([one or more libs available at link-time are not available run-time. Libs used at link-time: $LIBS])
- )
-
- dnl if this test fails, configure has already stopped
- fi
-])
-
-
-dnl CURL_CHECK_VARIADIC_MACROS
-dnl -------------------------------------------------
-dnl Check compiler support of variadic macros
-
-AC_DEFUN([CURL_CHECK_VARIADIC_MACROS], [
- AC_CACHE_CHECK([for compiler support of C99 variadic macro style],
- [curl_cv_variadic_macros_c99], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#define c99_vmacro3(first, ...) fun3(first, __VA_ARGS__)
-#define c99_vmacro2(first, ...) fun2(first, __VA_ARGS__)
- int fun3(int arg1, int arg2, int arg3);
- int fun2(int arg1, int arg2);
- int fun3(int arg1, int arg2, int arg3)
- { return arg1 + arg2 + arg3; }
- int fun2(int arg1, int arg2)
- { return arg1 + arg2; }
- ]],[[
- int res3 = c99_vmacro3(1, 2, 3);
- int res2 = c99_vmacro2(1, 2);
- ]])
- ],[
- curl_cv_variadic_macros_c99="yes"
- ],[
- curl_cv_variadic_macros_c99="no"
- ])
- ])
- case "$curl_cv_variadic_macros_c99" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_VARIADIC_MACROS_C99, 1,
- [Define to 1 if compiler supports C99 variadic macro style.])
- ;;
- esac
- AC_CACHE_CHECK([for compiler support of old gcc variadic macro style],
- [curl_cv_variadic_macros_gcc], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#define gcc_vmacro3(first, args...) fun3(first, args)
-#define gcc_vmacro2(first, args...) fun2(first, args)
- int fun3(int arg1, int arg2, int arg3);
- int fun2(int arg1, int arg2);
- int fun3(int arg1, int arg2, int arg3)
- { return arg1 + arg2 + arg3; }
- int fun2(int arg1, int arg2)
- { return arg1 + arg2; }
- ]],[[
- int res3 = gcc_vmacro3(1, 2, 3);
- int res2 = gcc_vmacro2(1, 2);
- ]])
- ],[
- curl_cv_variadic_macros_gcc="yes"
- ],[
- curl_cv_variadic_macros_gcc="no"
- ])
- ])
- case "$curl_cv_variadic_macros_gcc" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_VARIADIC_MACROS_GCC, 1,
- [Define to 1 if compiler supports old gcc variadic macro style.])
- ;;
- esac
-])
-
-
-dnl CURL_CHECK_CA_BUNDLE
-dnl -------------------------------------------------
-dnl Check if a default ca-bundle should be used
-dnl
-dnl regarding the paths this will scan:
-dnl /etc/ssl/certs/ca-certificates.crt Debian systems
-dnl /etc/pki/tls/certs/ca-bundle.crt Redhat and Mandriva
-dnl /usr/share/ssl/certs/ca-bundle.crt old(er) Redhat
-dnl /etc/ssl/certs/ (ca path) SUSE
-
-AC_DEFUN([CURL_CHECK_CA_BUNDLE], [
-
- AC_MSG_CHECKING([default CA cert bundle/path])
-
- AC_ARG_WITH(ca-bundle,
-AC_HELP_STRING([--with-ca-bundle=FILE], [File name to use as CA bundle])
-AC_HELP_STRING([--without-ca-bundle], [Don't use a default CA bundle]),
- [
- want_ca="$withval"
- if test "x$want_ca" = "xyes"; then
- AC_MSG_ERROR([--with-ca-bundle=FILE requires a path to the CA bundle])
- fi
- ],
- [ want_ca="unset" ])
- AC_ARG_WITH(ca-path,
-AC_HELP_STRING([--with-ca-path=DIRECTORY], [Directory to use as CA path])
-AC_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
- [
- want_capath="$withval"
- if test "x$want_capath" = "xyes"; then
- AC_MSG_ERROR([--with-ca-path=DIRECTORY requires a path to the CA path directory])
- fi
- ],
- [ want_capath="unset"])
-
- if test "x$want_ca" != "xno" -a "x$want_ca" != "xunset" -a \
- "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
- dnl both given
- AC_MSG_ERROR([Can't specify both --with-ca-bundle and --with-ca-path.])
- elif test "x$want_ca" != "xno" -a "x$want_ca" != "xunset"; then
- dnl --with-ca-bundle given
- ca="$want_ca"
- capath="no"
- elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
- dnl --with-ca-path given
- if test "x$OPENSSL_ENABLED" != "x1"; then
- AC_MSG_ERROR([--with-ca-path only works with openSSL])
- fi
- capath="$want_capath"
- ca="no"
- else
- dnl neither of --with-ca-* given
- dnl first try autodetecting a CA bundle , then a CA path
- dnl both autodetections can be skipped by --without-ca-*
- ca="no"
- capath="no"
- if test "x$want_ca" = "xunset"; then
- dnl the path we previously would have installed the curl ca bundle
- dnl to, and thus we now check for an already existing cert in that place
- dnl in case we find no other
- if test "x$prefix" != xNONE; then
- cac="${prefix}/share/curl/curl-ca-bundle.crt"
- else
- cac="$ac_default_prefix/share/curl/curl-ca-bundle.crt"
- fi
-
- for a in /etc/ssl/certs/ca-certificates.crt \
- /etc/pki/tls/certs/ca-bundle.crt \
- /usr/share/ssl/certs/ca-bundle.crt \
- "$cac"; do
- if test -f "$a"; then
- ca="$a"
- break
- fi
- done
- fi
- if test "x$want_capath" = "xunset" -a "x$ca" = "xno" -a \
- "x$OPENSSL_ENABLED" = "x1"; then
- for a in /etc/ssl/certs/; do
- if test -d "$a" && ls "$a"/[[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]].0 >/dev/null 2>/dev/null; then
- capath="$a"
- break
- fi
- done
- fi
- fi
-
-
-
- if test "x$ca" != "xno"; then
- CURL_CA_BUNDLE='"'$ca'"'
- AC_DEFINE_UNQUOTED(CURL_CA_BUNDLE, "$ca", [Location of default ca bundle])
- AC_SUBST(CURL_CA_BUNDLE)
- AC_MSG_RESULT([$ca])
- elif test "x$capath" != "xno"; then
- CURL_CA_PATH="\"$capath\""
- AC_DEFINE_UNQUOTED(CURL_CA_PATH, "$capath", [Location of default ca path])
- AC_MSG_RESULT([$capath (capath)])
- else
- AC_MSG_RESULT([no])
- fi
-])
-
-
-dnl CURL_DEFINE_UNQUOTED (VARIABLE, [VALUE])
-dnl -------------------------------------------------
-dnl Like AC_DEFINE_UNQUOTED this macro will define a C preprocessor
-dnl symbol that can be further used in custom template configuration
-dnl files. This macro, unlike AC_DEFINE_UNQUOTED, does not use a third
-dnl argument for the description. Symbol definitions done with this
-dnl macro are intended to be exclusively used in handcrafted *.h.in
-dnl template files. Contrary to what AC_DEFINE_UNQUOTED does, this one
-dnl prevents autoheader generation and insertion of symbol template
-dnl stub and definition into the first configuration header file. Do
-dnl not use this macro as a replacement for AC_DEFINE_UNQUOTED, each
-dnl one serves different functional needs.
-
-AC_DEFUN([CURL_DEFINE_UNQUOTED], [
-cat >>confdefs.h <<_EOF
-[@%:@define] $1 ifelse($#, 2, [$2], 1)
-_EOF
-])
-
-
-dnl CURL_INCLUDES_INTTYPES
-dnl -------------------------------------------------
-dnl Set up variable with list of headers that must be
-dnl included when inttypes.h is to be included.
-
-AC_DEFUN([CURL_INCLUDES_INTTYPES], [
-curl_includes_inttypes="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-/* includes end */"
- AC_CHECK_HEADERS(
- sys/types.h stdint.h inttypes.h,
- [], [], [$curl_includes_inttypes])
-])
-
-
-dnl CURL_CONFIGURE_LONG
-dnl -------------------------------------------------
-dnl Find out the size of long as reported by sizeof() and define
-dnl CURL_SIZEOF_LONG as appropriate to be used in template file
-dnl include/curl/curlbuild.h.in to properly configure the library.
-dnl The size of long is a build time characteristic and as such
-dnl must be recorded in curlbuild.h
-
-AC_DEFUN([CURL_CONFIGURE_LONG], [
- if test -z "$ac_cv_sizeof_long" ||
- test "$ac_cv_sizeof_long" -eq "0"; then
- AC_MSG_ERROR([cannot find out size of long.])
- fi
- CURL_DEFINE_UNQUOTED([CURL_SIZEOF_LONG], [$ac_cv_sizeof_long])
-])
-
-
-dnl DO_CURL_OFF_T_CHECK (TYPE, SIZE)
-dnl -------------------------------------------------
-dnl Internal macro for CURL_CONFIGURE_CURL_OFF_T
-
-AC_DEFUN([DO_CURL_OFF_T_CHECK], [
- AC_REQUIRE([CURL_INCLUDES_INTTYPES])dnl
- if test "$curl_typeof_curl_off_t" = "unknown" && test ! -z "$1"; then
- tmp_includes=""
- tmp_source=""
- tmp_fmt=""
- case AS_TR_SH([$1]) in
- int64_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f@<:@@:>@ = PRId64;"
- tmp_fmt="PRId64"
- ;;
- int32_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f@<:@@:>@ = PRId32;"
- tmp_fmt="PRId32"
- ;;
- int16_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f@<:@@:>@ = PRId16;"
- tmp_fmt="PRId16"
- ;;
- esac
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $tmp_includes
- typedef $1 curl_off_t;
- typedef char dummy_arr[sizeof(curl_off_t) == $2 ? 1 : -1];
- ]],[[
- $tmp_source
- curl_off_t dummy;
- ]])
- ],[
- if test -z "$tmp_fmt"; then
- curl_typeof_curl_off_t="$1"
- curl_sizeof_curl_off_t="$2"
- else
- CURL_CHECK_DEF([$tmp_fmt], [$curl_includes_inttypes], [silent])
- AS_VAR_PUSHDEF([tmp_HaveFmtDef], [curl_cv_have_def_$tmp_fmt])dnl
- AS_VAR_PUSHDEF([tmp_FmtDef], [curl_cv_def_$tmp_fmt])dnl
- if test AS_VAR_GET(tmp_HaveFmtDef) = "yes"; then
- curl_format_curl_off_t=AS_VAR_GET(tmp_FmtDef)
- curl_typeof_curl_off_t="$1"
- curl_sizeof_curl_off_t="$2"
- fi
- AS_VAR_POPDEF([tmp_FmtDef])dnl
- AS_VAR_POPDEF([tmp_HaveFmtDef])dnl
- fi
- ])
- fi
-])
-
-
-dnl DO_CURL_OFF_T_SUFFIX_CHECK (TYPE)
-dnl -------------------------------------------------
-dnl Internal macro for CURL_CONFIGURE_CURL_OFF_T
-
-AC_DEFUN([DO_CURL_OFF_T_SUFFIX_CHECK], [
- AC_REQUIRE([CURL_INCLUDES_INTTYPES])dnl
- AC_MSG_CHECKING([constant suffix string for curl_off_t])
- #
- curl_suffix_curl_off_t="unknown"
- curl_suffix_curl_off_tu="unknown"
- #
- case AS_TR_SH([$1]) in
- long_long | __longlong | __longlong_t)
- tst_suffixes="LL::"
- ;;
- long)
- tst_suffixes="L::"
- ;;
- int)
- tst_suffixes="::"
- ;;
- __int64 | int64_t)
- tst_suffixes="LL:i64::"
- ;;
- __int32 | int32_t)
- tst_suffixes="L:i32::"
- ;;
- __int16 | int16_t)
- tst_suffixes="L:i16::"
- ;;
- *)
- AC_MSG_ERROR([unexpected data type $1])
- ;;
- esac
- #
- old_IFS=$IFS; IFS=':'
- for tmp_ssuf in $tst_suffixes ; do
- IFS=$old_IFS
- if test "x$curl_suffix_curl_off_t" = "xunknown"; then
- case $tmp_ssuf in
- i64 | i32 | i16)
- tmp_usuf="u$tmp_ssuf"
- ;;
- LL | L)
- tmp_usuf="U$tmp_ssuf"
- ;;
- *)
- tmp_usuf=""
- ;;
- esac
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_inttypes
- typedef $1 new_t;
- ]],[[
- new_t s1;
- new_t s2;
- s1 = -10$tmp_ssuf ;
- s2 = 20$tmp_ssuf ;
- if(s1 > s2)
- return 1;
- ]])
- ],[
- curl_suffix_curl_off_t="$tmp_ssuf"
- curl_suffix_curl_off_tu="$tmp_usuf"
- ])
- fi
- done
- IFS=$old_IFS
- #
- if test "x$curl_suffix_curl_off_t" = "xunknown"; then
- AC_MSG_ERROR([cannot find constant suffix string for curl_off_t.])
- else
- AC_MSG_RESULT([$curl_suffix_curl_off_t])
- AC_MSG_CHECKING([constant suffix string for unsigned curl_off_t])
- AC_MSG_RESULT([$curl_suffix_curl_off_tu])
- fi
- #
-])
-
-
-dnl CURL_CONFIGURE_CURL_OFF_T
-dnl -------------------------------------------------
-dnl Find out suitable curl_off_t data type definition and associated
-dnl items, and make the appropriate definitions used in template file
-dnl include/curl/curlbuild.h.in to properly configure the library.
-
-AC_DEFUN([CURL_CONFIGURE_CURL_OFF_T], [
- AC_REQUIRE([CURL_INCLUDES_INTTYPES])dnl
- #
- AC_BEFORE([$0],[AC_SYS_LARGEFILE])dnl
- AC_BEFORE([$0],[CURL_CONFIGURE_REENTRANT])dnl
- AC_BEFORE([$0],[CURL_CHECK_AIX_ALL_SOURCE])dnl
- #
- if test -z "$SED"; then
- AC_MSG_ERROR([SED not set. Cannot continue without SED being set.])
- fi
- #
- AC_CHECK_SIZEOF(long)
- AC_CHECK_SIZEOF(void*)
- #
- if test -z "$ac_cv_sizeof_long" ||
- test "$ac_cv_sizeof_long" -eq "0"; then
- AC_MSG_ERROR([cannot find out size of long.])
- fi
- if test -z "$ac_cv_sizeof_voidp" ||
- test "$ac_cv_sizeof_voidp" -eq "0"; then
- AC_MSG_ERROR([cannot find out size of void*.])
- fi
- #
- x_LP64_long=""
- x_LP32_long=""
- x_LP16_long=""
- #
- if test "$ac_cv_sizeof_long" -eq "8" &&
- test "$ac_cv_sizeof_voidp" -ge "8"; then
- x_LP64_long="long"
- elif test "$ac_cv_sizeof_long" -eq "4" &&
- test "$ac_cv_sizeof_voidp" -ge "4"; then
- x_LP32_long="long"
- elif test "$ac_cv_sizeof_long" -eq "2" &&
- test "$ac_cv_sizeof_voidp" -ge "2"; then
- x_LP16_long="long"
- fi
- #
- dnl DO_CURL_OFF_T_CHECK results are stored in next 3 vars
- #
- curl_typeof_curl_off_t="unknown"
- curl_sizeof_curl_off_t="unknown"
- curl_format_curl_off_t="unknown"
- curl_format_curl_off_tu="unknown"
- #
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- AC_MSG_CHECKING([for 64-bit curl_off_t data type])
- for t8 in \
- "$x_LP64_long" \
- 'int64_t' \
- '__int64' \
- 'long long' \
- '__longlong' \
- '__longlong_t' ; do
- DO_CURL_OFF_T_CHECK([$t8], [8])
- done
- AC_MSG_RESULT([$curl_typeof_curl_off_t])
- fi
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- AC_MSG_CHECKING([for 32-bit curl_off_t data type])
- for t4 in \
- "$x_LP32_long" \
- 'int32_t' \
- '__int32' \
- 'int' ; do
- DO_CURL_OFF_T_CHECK([$t4], [4])
- done
- AC_MSG_RESULT([$curl_typeof_curl_off_t])
- fi
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- AC_MSG_CHECKING([for 16-bit curl_off_t data type])
- for t2 in \
- "$x_LP16_long" \
- 'int16_t' \
- '__int16' \
- 'int' ; do
- DO_CURL_OFF_T_CHECK([$t2], [2])
- done
- AC_MSG_RESULT([$curl_typeof_curl_off_t])
- fi
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- AC_MSG_ERROR([cannot find data type for curl_off_t.])
- fi
- #
- AC_MSG_CHECKING([size of curl_off_t])
- AC_MSG_RESULT([$curl_sizeof_curl_off_t])
- #
- AC_MSG_CHECKING([formatting string directive for curl_off_t])
- if test "$curl_format_curl_off_t" != "unknown"; then
- x_pull_headers="yes"
- curl_format_curl_off_t=`echo "$curl_format_curl_off_t" | "$SED" 's/[["]]//g'`
- curl_format_curl_off_tu=`echo "$curl_format_curl_off_t" | "$SED" 's/i$/u/'`
- curl_format_curl_off_tu=`echo "$curl_format_curl_off_tu" | "$SED" 's/d$/u/'`
- curl_format_curl_off_tu=`echo "$curl_format_curl_off_tu" | "$SED" 's/D$/U/'`
- else
- x_pull_headers="no"
- case AS_TR_SH([$curl_typeof_curl_off_t]) in
- long_long | __longlong | __longlong_t)
- curl_format_curl_off_t="lld"
- curl_format_curl_off_tu="llu"
- ;;
- long)
- curl_format_curl_off_t="ld"
- curl_format_curl_off_tu="lu"
- ;;
- int)
- curl_format_curl_off_t="d"
- curl_format_curl_off_tu="u"
- ;;
- __int64)
- curl_format_curl_off_t="I64d"
- curl_format_curl_off_tu="I64u"
- ;;
- __int32)
- curl_format_curl_off_t="I32d"
- curl_format_curl_off_tu="I32u"
- ;;
- __int16)
- curl_format_curl_off_t="I16d"
- curl_format_curl_off_tu="I16u"
- ;;
- *)
- AC_MSG_ERROR([cannot find print format string for curl_off_t.])
- ;;
- esac
- fi
- AC_MSG_RESULT(["$curl_format_curl_off_t"])
- #
- AC_MSG_CHECKING([formatting string directive for unsigned curl_off_t])
- AC_MSG_RESULT(["$curl_format_curl_off_tu"])
- #
- DO_CURL_OFF_T_SUFFIX_CHECK([$curl_typeof_curl_off_t])
- #
- if test "$x_pull_headers" = "yes"; then
- if test "x$ac_cv_header_sys_types_h" = "xyes"; then
- CURL_DEFINE_UNQUOTED([CURL_PULL_SYS_TYPES_H])
- fi
- if test "x$ac_cv_header_stdint_h" = "xyes"; then
- CURL_DEFINE_UNQUOTED([CURL_PULL_STDINT_H])
- fi
- if test "x$ac_cv_header_inttypes_h" = "xyes"; then
- CURL_DEFINE_UNQUOTED([CURL_PULL_INTTYPES_H])
- fi
- fi
- #
- CURL_DEFINE_UNQUOTED([CURL_TYPEOF_CURL_OFF_T], [$curl_typeof_curl_off_t])
- CURL_DEFINE_UNQUOTED([CURL_FORMAT_CURL_OFF_T], ["$curl_format_curl_off_t"])
- CURL_DEFINE_UNQUOTED([CURL_FORMAT_CURL_OFF_TU], ["$curl_format_curl_off_tu"])
- CURL_DEFINE_UNQUOTED([CURL_FORMAT_OFF_T], ["%$curl_format_curl_off_t"])
- CURL_DEFINE_UNQUOTED([CURL_SIZEOF_CURL_OFF_T], [$curl_sizeof_curl_off_t])
- CURL_DEFINE_UNQUOTED([CURL_SUFFIX_CURL_OFF_T], [$curl_suffix_curl_off_t])
- CURL_DEFINE_UNQUOTED([CURL_SUFFIX_CURL_OFF_TU], [$curl_suffix_curl_off_tu])
- #
-])
-
-
-dnl CURL_CHECK_WIN32_LARGEFILE
-dnl -------------------------------------------------
-dnl Check if curl's WIN32 large file will be used
-
-AC_DEFUN([CURL_CHECK_WIN32_LARGEFILE], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_MSG_CHECKING([whether build target supports WIN32 file API])
- curl_win32_file_api="no"
- if test "$ac_cv_header_windows_h" = "yes"; then
- if test x"$enable_largefile" != "xno"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
-#if !defined(_WIN32_WCE) && \
- (defined(__MINGW32__) || \
- (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64))))
- int dummy=1;
-#else
- WIN32 large file API not supported.
-#endif
- ]])
- ],[
- curl_win32_file_api="win32_large_files"
- ])
- fi
- if test "$curl_win32_file_api" = "no"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
-#if defined(_WIN32_WCE) || defined(__MINGW32__) || defined(_MSC_VER)
- int dummy=1;
-#else
- WIN32 small file API not supported.
-#endif
- ]])
- ],[
- curl_win32_file_api="win32_small_files"
- ])
- fi
- fi
- case "$curl_win32_file_api" in
- win32_large_files)
- AC_MSG_RESULT([yes (large file enabled)])
- AC_DEFINE_UNQUOTED(USE_WIN32_LARGE_FILES, 1,
- [Define to 1 if you are building a Windows target with large file support.])
- ;;
- win32_small_files)
- AC_MSG_RESULT([yes (large file disabled)])
- AC_DEFINE_UNQUOTED(USE_WIN32_LARGE_FILES, 1,
- [Define to 1 if you are building a Windows target without large file support.])
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-]) \ No newline at end of file
diff --git a/Utilities/cmcurl-7.19.0/aclocal.m4 b/Utilities/cmcurl-7.19.0/aclocal.m4
deleted file mode 100644
index 889df02..0000000
--- a/Utilities/cmcurl-7.19.0/aclocal.m4
+++ /dev/null
@@ -1,7545 +0,0 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
-# This file 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.
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 52 Debian 1.5.26-4 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
- fi
- ;;
-esac
-
-_LT_REQUIRED_DARWIN_CHECKS
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- echo "int foo(void){return 1;}" > conftest.c
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib ${wl}-single_module conftest.c
- if test -f libconftest.dylib; then
- lt_cv_apple_cc_single_mod=yes
- rm -rf libconftest.dylib*
- fi
- rm conftest.c
- fi])
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
- ])
- case $host_os in
- rhapsody* | darwin1.[[0123]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*)
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil="~$DSYMUTIL \$lib || :"
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-])
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-[$]*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
-else
- ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
-else
- ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}]
-EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[[4-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[123]]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[[3-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
- else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
-
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
-
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
- fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- if test "$GXX" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_AC_TAGVAR(predep_objects,$1)=
- _LT_AC_TAGVAR(postdep_objects,$1)=
- _LT_AC_TAGVAR(postdeps,$1)=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- #
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars. Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- _LT_AC_TAGVAR(compiler, $1) \
- _LT_AC_TAGVAR(CC, $1) \
- _LT_AC_TAGVAR(LD, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
- _LT_AC_TAGVAR(old_archive_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
- _LT_AC_TAGVAR(predep_objects, $1) \
- _LT_AC_TAGVAR(postdep_objects, $1) \
- _LT_AC_TAGVAR(predeps, $1) \
- _LT_AC_TAGVAR(postdeps, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
- _LT_AC_TAGVAR(archive_cmds, $1) \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
- _LT_AC_TAGVAR(postinstall_cmds, $1) \
- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
- _LT_AC_TAGVAR(no_undefined_flag, $1) \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
- _LT_AC_TAGVAR(hardcode_automatic, $1) \
- _LT_AC_TAGVAR(module_cmds, $1) \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
- _LT_AC_TAGVAR(fix_srcfile_path, $1) \
- _LT_AC_TAGVAR(exclude_expsyms, $1) \
- _LT_AC_TAGVAR(include_expsyms, $1); do
-
- case $var in
- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
- _LT_AC_TAGVAR(archive_cmds, $1) | \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(module_cmds, $1) | \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\[$]0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
- ;;
- esac
-
-ifelse([$1], [],
- [cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- AC_MSG_NOTICE([creating $ofile])],
- [cfgfile="$ofile"])
-
- cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-])
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDGIRSTW]]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler.
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
- ;;
- linux* | k*bsd*-gnu)
- _LT_AC_TAGVAR(link_all_deplibs, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
- _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
- runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- _LT_CC_BASENAME([$compiler])
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=no
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- bsdi[[45]]*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# # ifdef __CYGWIN32__
-# # define __CYGWIN__ __CYGWIN32__
-# # endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-# __hDllInstance_base = hInst;
-# return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
- as_executable_p='test -x'
-else
- as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])
-
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.6])])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 7
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 8
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 12
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $1 | $1:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 4
-
-AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 4
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake. There are at least two reasons why we must not
-# use `-m 0755':
-# - it causes special bits like SGID to be ignored,
-# - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out. Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
-AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-AC_SUBST([mkdir_p])])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file 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.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/curl-reentrant.m4])
-m4_include([acinclude.m4])
diff --git a/Utilities/cmcurl-7.19.0/buildconf b/Utilities/cmcurl-7.19.0/buildconf
deleted file mode 100755
index 765e819..0000000
--- a/Utilities/cmcurl-7.19.0/buildconf
+++ /dev/null
@@ -1,324 +0,0 @@
-#!/bin/sh
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-die(){
- echo "$@"
- exit
-}
-
-#--------------------------------------------------------------------------
-# findtool works as 'which' but we use a different name to make it more
-# obvious we aren't using 'which'! ;-)
-#
-findtool(){
- file="$1"
-
- old_IFS=$IFS; IFS=':'
- for path in $PATH
- do
- IFS=$old_IFS
- # echo "checks for $file in $path" >&2
- if test -f "$path/$file"; then
- echo "$path/$file"
- return
- fi
- done
- IFS=$old_IFS
-}
-
-#--------------------------------------------------------------------------
-# removethis() removes all files and subdirectories with the given name,
-# inside and below the current subdirectory at invocation time.
-#
-removethis(){
- if test "$#" = "1"; then
- find . -depth -name $1 -print > buildconf.tmp.$$
- while read fdname
- do
- if test -f "$fdname"; then
- rm -f "$fdname"
- elif test -d "$fdname"; then
- rm -f -r "$fdname"
- fi
- done < buildconf.tmp.$$
- rm -f buildconf.tmp.$$
- fi
-}
-
-#--------------------------------------------------------------------------
-# Ensure that buildconf runs from the subdirectory where configure.ac lives
-#
-if test ! -f configure.ac ||
- test ! -f src/main.c ||
- test ! -f lib/urldata.h ||
- test ! -f include/curl/curl.h; then
- echo "Can not run buildconf from outside of curl's source subdirectory!"
- echo "Change to the subdirectory where buildconf is found, and try again."
- exit 1
-fi
-
-#--------------------------------------------------------------------------
-# autoconf 2.57 or newer
-#
-need_autoconf="2.57"
-ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|head -n 1| sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
-if test -z "$ac_version"; then
- echo "buildconf: autoconf not found."
- echo " You need autoconf version $need_autoconf or newer installed."
- exit 1
-fi
-IFS=.; set $ac_version; IFS=' '
-if test "$1" = "2" -a "$2" -lt "57" || test "$1" -lt "2"; then
- echo "buildconf: autoconf version $ac_version found."
- echo " You need autoconf version $need_autoconf or newer installed."
- echo " If you have a sufficient autoconf installed, but it"
- echo " is not named 'autoconf', then try setting the"
- echo " AUTOCONF environment variable."
- exit 1
-fi
-
-echo "buildconf: autoconf version $ac_version (ok)"
-
-am4te_version=`${AUTOM4TE:-autom4te} --version 2>/dev/null|head -n 1| sed -e 's/autom4te\(.*\)/\1/' -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
-if test -z "$am4te_version"; then
- echo "buildconf: autom4te not found. Weird autoconf installation!"
- exit 1
-fi
-if test "$am4te_version" = "$ac_version"; then
- echo "buildconf: autom4te version $am4te_version (ok)"
-else
- echo "buildconf: autom4te version $am4te_version (ERROR: does not match autoconf version)"
- exit 1
-fi
-
-#--------------------------------------------------------------------------
-# autoheader 2.50 or newer
-#
-ah_version=`${AUTOHEADER:-autoheader} --version 2>/dev/null|head -n 1| sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
-if test -z "$ah_version"; then
- echo "buildconf: autoheader not found."
- echo " You need autoheader version 2.50 or newer installed."
- exit 1
-fi
-IFS=.; set $ah_version; IFS=' '
-if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
- echo "buildconf: autoheader version $ah_version found."
- echo " You need autoheader version 2.50 or newer installed."
- echo " If you have a sufficient autoheader installed, but it"
- echo " is not named 'autoheader', then try setting the"
- echo " AUTOHEADER environment variable."
- exit 1
-fi
-
-echo "buildconf: autoheader version $ah_version (ok)"
-
-#--------------------------------------------------------------------------
-# automake 1.7 or newer
-#
-need_automake="1.7"
-am_version=`${AUTOMAKE:-automake} --version 2>/dev/null|head -n 1| sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
-if test -z "$am_version"; then
- echo "buildconf: automake not found."
- echo " You need automake version $need_automake or newer installed."
- exit 1
-fi
-IFS=.; set $am_version; IFS=' '
-if test "$1" = "1" -a "$2" -lt "7" || test "$1" -lt "1"; then
- echo "buildconf: automake version $am_version found."
- echo " You need automake version $need_automake or newer installed."
- echo " If you have a sufficient automake installed, but it"
- echo " is not named 'automake', then try setting the"
- echo " AUTOMAKE environment variable."
- exit 1
-fi
-
-echo "buildconf: automake version $am_version (ok)"
-
-acloc_version=`${ACLOCAL:-aclocal} --version 2>/dev/null|head -n 1| sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
-if test -z "$acloc_version"; then
- echo "buildconf: aclocal not found. Weird automake installation!"
- exit 1
-fi
-if test "$acloc_version" = "$am_version"; then
- echo "buildconf: aclocal version $acloc_version (ok)"
-else
- echo "buildconf: aclocal version $acloc_version (ERROR: does not match automake version)"
- exit 1
-fi
-
-#--------------------------------------------------------------------------
-# libtool check
-#
-LIBTOOL_WANTED_MAJOR=1
-LIBTOOL_WANTED_MINOR=4
-LIBTOOL_WANTED_PATCH=2
-LIBTOOL_WANTED_VERSION=1.4.2
-
-# this approach that tries 'glibtool' first is some kind of work-around for
-# some BSD-systems I believe that use to provide the GNU libtool named
-# glibtool, with 'libtool' being something completely different.
-libtool=`findtool glibtool 2>/dev/null`
-if test ! -x "$libtool"; then
- libtool=`findtool ${LIBTOOL:-libtool}`
-fi
-
-if test -z "$LIBTOOLIZE"; then
- # set the LIBTOOLIZE here so that glibtoolize is used if glibtool was found
- # $libtool is already the full path
- libtoolize="${libtool}ize"
-else
- libtoolize=`findtool $LIBTOOLIZE`
-fi
-
-lt_pversion=`$libtool --version 2>/dev/null|head -n 2|sed -e 's/^[^0-9]*//g' -e 's/[- ].*//'`
-if test -z "$lt_pversion"; then
- echo "buildconf: libtool not found."
- echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
- exit 1
-fi
-lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$//'`
-IFS=.; set $lt_version; IFS=' '
-lt_status="good"
-
-major=$1
-minor=$2
-patch=$3
-
-if test "$major" = "$LIBTOOL_WANTED_MAJOR"; then
- if test "$minor" -lt "$LIBTOOL_WANTED_MINOR"; then
- lt_status="bad"
- elif test -n "$LIBTOOL_WANTED_PATCH"; then
- if test "$minor" -gt "$LIBTOOL_WANTED_MINOR"; then
- lt_status="good"
- elif test -n "$patch"; then
- if test "$patch" -lt "$LIBTOOL_WANTED_PATCH"; then
- lt_status="bad"
- fi
- else
- lt_status="bad"
- fi
- fi
-fi
-if test $lt_status != "good"; then
- echo "buildconf: libtool version $lt_pversion found."
- echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
- exit 1
-fi
-
-echo "buildconf: libtool version $lt_version (ok)"
-
-if test -f "$libtoolize"; then
- echo "buildconf: libtoolize found"
-else
- echo "buildconf: libtoolize not found. Weird libtool installation!"
- exit 1
-fi
-
-#--------------------------------------------------------------------------
-# m4 check
-#
-m4=`${M4:-m4} --version 2>/dev/null|head -n 1`;
-m4_version=`echo $m4 | sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//'`
-
-if { echo $m4 | grep "GNU" >/dev/null 2>&1; } then
- echo "buildconf: GNU m4 version $m4_version (ok)"
-else
- echo "buildconf: m4 version $m4 found. You need a GNU m4 installed!"
- exit 1
-fi
-
-#--------------------------------------------------------------------------
-# perl check
-#
-PERL=`findtool ${PERL:-perl}`
-
-#--------------------------------------------------------------------------
-# Remove files generated on previous buildconf/configure run.
-#
-for fname in .deps \
- Makefile.in \
- aclocal.m4 \
- aclocal.m4.bak \
- autom4te.cache \
- compile \
- config.guess \
- config.h \
- config.h.in \
- config.log \
- config.status \
- config.sub \
- configure \
- curl-config \
- curlbuild.h \
- depcomp \
- libcares.pc \
- libcurl.pc \
- libtool \
- libtool.m4 \
- ltmain.sh \
- stamp-h1 \
- stamp-h2 \
- stamp-h3 ; do
- removethis "$fname"
-done
-
-#--------------------------------------------------------------------------
-# run the correct scripts now
-#
-
-echo "buildconf: running libtoolize"
-$libtoolize --copy --automake --force || die "The libtoolize command failed"
-
-echo "buildconf: running aclocal"
-${ACLOCAL:-aclocal} -I m4 $ACLOCAL_FLAGS || die "The aclocal command line failed"
-
-if test -n "$PERL"; then
- echo "buildconf: running aclocal hack to convert all mv to mv -f"
- $PERL -i.bak -pe 's/\bmv +([^-\s])/mv -f $1/g' aclocal.m4
-else
- echo "buildconf: perl not found"
- exit 1
-fi
-
-echo "buildconf: running autoheader"
-${AUTOHEADER:-autoheader} || die "The autoheader command failed"
-
-echo "buildconf: cp lib/config.h.in src/config.h.in"
-cp lib/config.h.in src/config.h.in
-
-echo "buildconf: running autoconf"
-${AUTOCONF:-autoconf} || die "The autoconf command failed"
-
-if test -d ares; then
- cd ares
- echo "buildconf: running in ares"
- ./buildconf
- cd ..
-fi
-
-echo "buildconf: running automake"
-${AUTOMAKE:-automake} -a -c || die "The automake command failed"
-
-echo "buildconf: OK"
-exit 0
diff --git a/Utilities/cmcurl-7.19.0/buildconf.bat b/Utilities/cmcurl-7.19.0/buildconf.bat
deleted file mode 100755
index 515256c..0000000
--- a/Utilities/cmcurl-7.19.0/buildconf.bat
+++ /dev/null
@@ -1,13 +0,0 @@
-@echo off
-REM set up a CVS tree to build when there's no autotools
-REM $Revision$
-REM $Date$
-
-REM create hugehelp.c
-copy src\hugehelp.c.cvs src\hugehelp.c
-
-REM create Makefile
-copy Makefile.dist Makefile
-
-REM create curlbuild.h
-copy include\curl\curlbuild.h.dist include\curl\curlbuild.h
diff --git a/Utilities/cmcurl-7.19.0/compile b/Utilities/cmcurl-7.19.0/compile
deleted file mode 100755
index 1b1d232..0000000
--- a/Utilities/cmcurl-7.19.0/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/Utilities/cmcurl-7.19.0/config.guess b/Utilities/cmcurl-7.19.0/config.guess
deleted file mode 100755
index f32079a..0000000
--- a/Utilities/cmcurl-7.19.0/config.guess
+++ /dev/null
@@ -1,1526 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-
-timestamp='2008-01-23'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[456])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep __LP64__ >/dev/null
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
- test x"${LIBC}" != x && {
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit
- }
- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/Utilities/cmcurl-7.19.0/config.sub b/Utilities/cmcurl-7.19.0/config.sub
deleted file mode 100755
index 6759825..0000000
--- a/Utilities/cmcurl-7.19.0/config.sub
+++ /dev/null
@@ -1,1658 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-
-timestamp='2008-01-16'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64vr | mips64vrel \
- | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | mt \
- | msp430 \
- | nios | nios2 \
- | ns16k | ns32k \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tile*)
- basic_machine=tile-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/Utilities/cmcurl-7.19.0/configure b/Utilities/cmcurl-7.19.0/configure
deleted file mode 100755
index 0086c5d..0000000
--- a/Utilities/cmcurl-7.19.0/configure
+++ /dev/null
@@ -1,44604 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for curl -.
-#
-# Report bugs to <a suitable curl mailing list => http://curl.haxx.se/mail/>.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-#
-# Copyright (c) 1998 - 2008 Daniel Stenberg, <daniel@haxx.se>
-# This configure script may be copied, distributed and modified under the
-# terms of the curl license; see COPYING for more details
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- case $as_dir in
- /*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME='curl'
-PACKAGE_TARNAME='curl'
-PACKAGE_VERSION='-'
-PACKAGE_STRING='curl -'
-PACKAGE_BUGREPORT='a suitable curl mailing list => http://curl.haxx.se/mail/'
-
-ac_unique_file="lib/urldata.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-SED
-GREP
-EGREP
-AR
-libext
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-VERSIONNUM
-PKGADD_PKG
-PKGADD_NAME
-PKGADD_VENDOR
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CPP
-LN_S
-ECHO
-RANLIB
-DSYMUTIL
-NMEDIT
-DLLTOOL
-AS
-OBJDUMP
-LIBTOOL
-NO_UNDEFINED_TRUE
-NO_UNDEFINED_FALSE
-MIMPURE_TRUE
-MIMPURE_FALSE
-STATICLIB_TRUE
-STATICLIB_FALSE
-REQUIRE_LIB_DEPS
-CURL_DISABLE_HTTP
-CURL_DISABLE_FTP
-CURL_DISABLE_FILE
-CURL_DISABLE_LDAP
-CURL_DISABLE_LDAPS
-CURL_DISABLE_DICT
-CURL_DISABLE_TELNET
-CURL_DISABLE_TFTP
-KRB4_ENABLED
-PKGCONFIG
-USE_SSLEAY
-HAVE_LIBZ
-HAVE_LIBZ_TRUE
-HAVE_LIBZ_FALSE
-USE_LIBSSH2
-RANDOM_FILE
-USE_GNUTLS
-HAVE_PK11_CREATEGENERICOBJECT
-USE_NSS
-SSL_ENABLED
-CURL_CA_BUNDLE
-IDN_ENABLED
-IPV6_ENABLED
-PERL
-NROFF
-MANOPT
-USE_MANUAL_TRUE
-USE_MANUAL_FALSE
-HAVE_ARES
-subdirs
-USE_WINDOWS_SSPI
-SONAME_BUMP_TRUE
-SONAME_BUMP_FALSE
-LIBCURL_LIBS
-CURL_LIBS
-TEST_SERVER_LIBS
-CROSSCOMPILING_TRUE
-CROSSCOMPILING_FALSE
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-ac_subdirs_all='ares'
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures curl - to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/curl]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of curl -:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --disable-largefile omit support for large files
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-http Enable HTTP support
- --disable-http Disable HTTP support
- --enable-ftp Enable FTP support
- --disable-ftp Disable FTP support
- --enable-file Enable FILE support
- --disable-file Disable FILE support
- --enable-ldap Enable LDAP support
- --disable-ldap Disable LDAP support
- --enable-ldaps Enable LDAPS support
- --disable-ldaps Disable LDAPS support
- --enable-dict Enable DICT support
- --disable-dict Disable DICT support
- --enable-telnet Enable TELNET support
- --disable-telnet Disable TELNET support
- --enable-tftp Enable TFTP support
- --disable-tftp Disable TFTP support
- --enable-manual Enable built-in manual
- --disable-manual Disable built-in manual
- --enable-libgcc use libgcc when linking
- --enable-ipv6 Enable ipv6 (with ipv4) support
- --disable-ipv6 Disable ipv6 support
- --enable-nonblocking Enable detecting how to do it
- --disable-nonblocking Disable non-blocking socket detection
- --disable-thread don't look for thread-safe functions
- --enable-thread look for thread-safe functions
- --enable-ares=PATH Enable c-ares for name lookups
- --disable-ares Disable c-ares for name lookups
- --enable-verbose Enable verbose strings
- --disable-verbose Disable verbose strings
- --enable-sspi Enable SSPI
- --disable-sspi Disable SSPI
- --enable-debug Enable pedantic debug options
- --disable-debug Disable debug options
- --enable-crypto-auth Enable cryptographic authentication
- --disable-crypto-auth Disable cryptographic authentication
- --enable-cookies Enable cookies support
- --disable-cookies Disable cookies support
- --enable-hidden-symbols Hide internal symbols in library
- --disable-hidden-symbols
- Leave all symbols with default visibility in library
- --enable-soname-bump Enable enforced SONAME bump
- --disable-soname-bump Disable enforced SONAME bump
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-tags[=TAGS] include additional configurations [automatic]
- --with-ldap-lib=libname Specify name of ldap lib file
- --with-lber-lib=libname Specify name of lber lib file
- --with-krb4-includes=DIR
- Specify location of kerberos4 headers
- --with-krb4-libs=DIR Specify location of kerberos4 libs
- --with-krb4=DIR where to look for Kerberos4
- --with-spnego=DIR Specify location of SPNEGO library fbopenssl
- --with-gssapi-includes=DIR
- Specify location of GSSAPI header
- --with-gssapi-libs=DIR Specify location of GSSAPI libs
- --with-gssapi=DIR Where to look for GSSAPI
- --with-ssl=PATH Where to look for OpenSSL, PATH points to the SSL
- installation (default: /usr/local/ssl); when
- possible, set the PKG_CONFIG_PATH environment
- variable instead of using this option
- --without-ssl disable OpenSSL
- --with-zlib=PATH search for zlib in PATH
- --without-zlib disable use of zlib
- --with-libssh2=PATH Where to look for libssh2, PATH points to the
- LIBSSH2 installation (default: /usr/local/lib); when
- possible, set the PKG_CONFIG_PATH environment
- variable instead of using this option
- --without-libssh2 disable LIBSSH2
- --with-egd-socket=FILE Entropy Gathering Daemon socket pathname
- --with-random=FILE read randomness from FILE (default=/dev/urandom)
- --with-gnutls=PATH where to look for GnuTLS, PATH points to the
- installation root (default: /usr/local/)
- --without-gnutls disable GnuTLS detection
- --with-nss=PATH where to look for NSS, PATH points to the
- installation root (default: /usr/local/)
- --without-nss disable NSS detection
- --with-ca-bundle=FILE File name to use as CA bundle
- --without-ca-bundle Don't use a default CA bundle
- --with-ca-path=DIRECTORY
- Directory to use as CA path
- --without-ca-path Don't use a default CA path
- --with-libidn=PATH Enable libidn usage
- --without-libidn Disable libidn usage
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <a suitable curl mailing list => http://curl.haxx.se/mail/>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-curl configure -
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-
-Copyright (c) 1998 - 2008 Daniel Stenberg, <daniel@haxx.se>
-This configure script may be copied, distributed and modified under the
-terms of the curl license; see COPYING for more details
-_ACEOF
- exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by curl $as_me -, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-ac_config_headers="$ac_config_headers lib/config.h src/config.h include/curl/curlbuild.h"
-
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-# Extract the first word of "sed", so it can be a program name with args.
-set dummy sed; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $SED in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_SED="$SED" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_SED" && ac_cv_path_SED="not_found"
- ;;
-esac
-fi
-SED=$ac_cv_path_SED
-if test -n "$SED"; then
- { echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-if test -z "$SED" || test "$SED" = "not_found"; then
- { { echo "$as_me:$LINENO: error: sed not found in PATH. Cannot continue without sed." >&5
-echo "$as_me: error: sed not found in PATH. Cannot continue without sed." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-# Extract the first word of "grep", so it can be a program name with args.
-set dummy grep; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $GREP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GREP="$GREP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_GREP="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_GREP" && ac_cv_path_GREP="not_found"
- ;;
-esac
-fi
-GREP=$ac_cv_path_GREP
-if test -n "$GREP"; then
- { echo "$as_me:$LINENO: result: $GREP" >&5
-echo "${ECHO_T}$GREP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-if test -z "$GREP" || test "$GREP" = "not_found"; then
- { { echo "$as_me:$LINENO: error: grep not found in PATH. Cannot continue without grep." >&5
-echo "$as_me: error: grep not found in PATH. Cannot continue without grep." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
- EGREP="$GREP -E"
- { echo "$as_me:$LINENO: result: $EGREP" >&5
-echo "${ECHO_T}$EGREP" >&6; }
-else
- # Extract the first word of "egrep", so it can be a program name with args.
-set dummy egrep; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $EGREP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_EGREP="$EGREP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_EGREP="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_EGREP" && ac_cv_path_EGREP="not_found"
- ;;
-esac
-fi
-EGREP=$ac_cv_path_EGREP
-if test -n "$EGREP"; then
- { echo "$as_me:$LINENO: result: $EGREP" >&5
-echo "${ECHO_T}$EGREP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$EGREP" || test "$EGREP" = "not_found"; then
- { { echo "$as_me:$LINENO: error: egrep not found in PATH. Cannot continue without egrep." >&5
-echo "$as_me: error: egrep not found in PATH. Cannot continue without egrep." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_AR="$AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-AR=$ac_cv_path_AR
-if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_AR"; then
- ac_pt_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $ac_pt_AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_AR="$ac_pt_AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_ac_pt_AR="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_AR=$ac_cv_path_ac_pt_AR
-if test -n "$ac_pt_AR"; then
- { echo "$as_me:$LINENO: result: $ac_pt_AR" >&5
-echo "${ECHO_T}$ac_pt_AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_pt_AR" = x; then
- AR="not_found"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_pt_AR
- fi
-else
- AR="$ac_cv_path_AR"
-fi
-
-if test -z "$AR" || test "$AR" = "not_found"; then
- { { echo "$as_me:$LINENO: error: ar not found in PATH. Cannot continue without ar." >&5
-echo "$as_me: error: ar not found in PATH. Cannot continue without ar." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-
-VERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
-am__api_version="1.9"
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} \"$am_aux_dir/missing\""
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- SET_MAKE=
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=curl
- VERSION=$VERSION
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-{ echo "$as_me:$LINENO: checking curl version" >&5
-echo $ECHO_N "checking curl version... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $VERSION" >&5
-echo "${ECHO_T}$VERSION" >&6; }
-
-VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
-
-
-PKGADD_PKG="HAXXcurl"
-PKGADD_NAME="cURL - a client that groks URLs"
-PKGADD_VENDOR="curl.haxx.se"
-
-
-
-
- curl_ssl_msg="no (--with-ssl / --with-gnutls)"
- curl_ssh_msg="no (--with-libssh2)"
- curl_zlib_msg="no (--with-zlib)"
- curl_krb4_msg="no (--with-krb4*)"
- curl_gss_msg="no (--with-gssapi)"
- curl_spnego_msg="no (--with-spnego)"
- curl_ares_msg="no (--enable-ares)"
- curl_ipv6_msg="no (--enable-ipv6)"
- curl_idn_msg="no (--with-libidn)"
- curl_manual_msg="no (--enable-manual)"
-curl_verbose_msg="enabled (--disable-verbose)"
- curl_sspi_msg="no (--enable-sspi)"
- curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
- curl_ldaps_msg="no (--enable-ldaps)"
-
-ALL_LIBS=$LIBS
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
- { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define OS "${host}"
-_ACEOF
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
-
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c89=$ac_arg
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
- xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-
-
-curl_includes_inttypes="\
-/* includes start */
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-/* includes end */"
-
-
-
-for ac_header in sys/types.h stdint.h inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$curl_includes_inttypes
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
- $ac_path_GREP_found && break 3
- done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-else
- ac_cv_path_GREP=$GREP
-fi
-
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
- $ac_path_EGREP_found && break 3
- done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
-
- fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- #
- #
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- #
- { echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6; }
-if test "${ac_cv_type_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef long ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_long=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
- { echo "$as_me:$LINENO: checking for void*" >&5
-echo $ECHO_N "checking for void*... $ECHO_C" >&6; }
-if test "${ac_cv_type_voidp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef void* ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_voidp=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_voidp=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_voidp" >&5
-echo "${ECHO_T}$ac_cv_type_voidp" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of void*" >&5
-echo $ECHO_N "checking size of void*... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_voidp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef void* ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef void* ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef void* ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef void* ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef void* ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_voidp=$ac_lo;;
-'') if test "$ac_cv_type_voidp" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (void*)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_voidp=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef void* ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_voidp=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_voidp" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (void*)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (void*)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_voidp=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5
-echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOIDP $ac_cv_sizeof_voidp
-_ACEOF
-
-
- #
- if test -z "$ac_cv_sizeof_long" ||
- test "$ac_cv_sizeof_long" -eq "0"; then
- { { echo "$as_me:$LINENO: error: cannot find out size of long." >&5
-echo "$as_me: error: cannot find out size of long." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$ac_cv_sizeof_voidp" ||
- test "$ac_cv_sizeof_voidp" -eq "0"; then
- { { echo "$as_me:$LINENO: error: cannot find out size of void*." >&5
-echo "$as_me: error: cannot find out size of void*." >&2;}
- { (exit 1); exit 1; }; }
- fi
- #
- x_LP64_long=""
- x_LP32_long=""
- x_LP16_long=""
- #
- if test "$ac_cv_sizeof_long" -eq "8" &&
- test "$ac_cv_sizeof_voidp" -ge "8"; then
- x_LP64_long="long"
- elif test "$ac_cv_sizeof_long" -eq "4" &&
- test "$ac_cv_sizeof_voidp" -ge "4"; then
- x_LP32_long="long"
- elif test "$ac_cv_sizeof_long" -eq "2" &&
- test "$ac_cv_sizeof_voidp" -ge "2"; then
- x_LP16_long="long"
- fi
- #
- #
- curl_typeof_curl_off_t="unknown"
- curl_sizeof_curl_off_t="unknown"
- curl_format_curl_off_t="unknown"
- curl_format_curl_off_tu="unknown"
- #
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- { echo "$as_me:$LINENO: checking for 64-bit curl_off_t data type" >&5
-echo $ECHO_N "checking for 64-bit curl_off_t data type... $ECHO_C" >&6; }
- for t8 in \
- "$x_LP64_long" \
- 'int64_t' \
- '__int64' \
- 'long long' \
- '__longlong' \
- '__longlong_t' ; do
-
- if test "$curl_typeof_curl_off_t" = "unknown" && test ! -z "$t8"; then
- tmp_includes=""
- tmp_source=""
- tmp_fmt=""
- case `echo "$t8" | $as_tr_sh` in
- int64_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId64;"
- tmp_fmt="PRId64"
- ;;
- int32_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId32;"
- tmp_fmt="PRId32"
- ;;
- int16_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId16;"
- tmp_fmt="PRId16"
- ;;
- esac
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- $tmp_includes
- typedef $t8 curl_off_t;
- typedef char dummy_arr[sizeof(curl_off_t) == 8 ? 1 : -1];
-
-int
-main ()
-{
-
- $tmp_source
- curl_off_t dummy;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- if test -z "$tmp_fmt"; then
- curl_typeof_curl_off_t="$t8"
- curl_sizeof_curl_off_t="8"
- else
-
- as_ac_HaveDef=`echo "curl_cv_have_def_$tmp_fmt" | $as_tr_sh`
- as_ac_Def=`echo "curl_cv_def_$tmp_fmt" | $as_tr_sh`
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: GREP not set. Cannot continue without GREP being set." >&5
-echo "$as_me: error: GREP not set. Cannot continue without GREP being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- tmp_exp=""
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$curl_includes_inttypes
-#ifdef $tmp_fmt
-CURL_DEF_TOKEN $tmp_fmt
-#endif
-
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
-
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[ ]//' 2>/dev/null | \
- "$SED" 's/["][ ]*["]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "$tmp_fmt"; then
- tmp_exp=""
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
- if test -z "$tmp_exp"; then
- eval "$as_ac_HaveDef=no"
-
- else
- eval "$as_ac_HaveDef=yes"
- eval "$as_ac_Def=\$tmp_exp"
-
- fi
-
- as_tmp_HaveFmtDef=`echo "curl_cv_have_def_$tmp_fmt" | $as_tr_sh`
- as_tmp_FmtDef=`echo "curl_cv_def_$tmp_fmt" | $as_tr_sh`
- if test `eval echo '${'$as_tmp_HaveFmtDef'}'` = "yes"; then
- curl_format_curl_off_t=`eval echo '${'$as_tmp_FmtDef'}'`
- curl_typeof_curl_off_t="$t8"
- curl_sizeof_curl_off_t="8"
- fi
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- done
- { echo "$as_me:$LINENO: result: $curl_typeof_curl_off_t" >&5
-echo "${ECHO_T}$curl_typeof_curl_off_t" >&6; }
- fi
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- { echo "$as_me:$LINENO: checking for 32-bit curl_off_t data type" >&5
-echo $ECHO_N "checking for 32-bit curl_off_t data type... $ECHO_C" >&6; }
- for t4 in \
- "$x_LP32_long" \
- 'int32_t' \
- '__int32' \
- 'int' ; do
-
- if test "$curl_typeof_curl_off_t" = "unknown" && test ! -z "$t4"; then
- tmp_includes=""
- tmp_source=""
- tmp_fmt=""
- case `echo "$t4" | $as_tr_sh` in
- int64_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId64;"
- tmp_fmt="PRId64"
- ;;
- int32_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId32;"
- tmp_fmt="PRId32"
- ;;
- int16_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId16;"
- tmp_fmt="PRId16"
- ;;
- esac
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- $tmp_includes
- typedef $t4 curl_off_t;
- typedef char dummy_arr[sizeof(curl_off_t) == 4 ? 1 : -1];
-
-int
-main ()
-{
-
- $tmp_source
- curl_off_t dummy;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- if test -z "$tmp_fmt"; then
- curl_typeof_curl_off_t="$t4"
- curl_sizeof_curl_off_t="4"
- else
-
- as_ac_HaveDef=`echo "curl_cv_have_def_$tmp_fmt" | $as_tr_sh`
- as_ac_Def=`echo "curl_cv_def_$tmp_fmt" | $as_tr_sh`
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: GREP not set. Cannot continue without GREP being set." >&5
-echo "$as_me: error: GREP not set. Cannot continue without GREP being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- tmp_exp=""
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$curl_includes_inttypes
-#ifdef $tmp_fmt
-CURL_DEF_TOKEN $tmp_fmt
-#endif
-
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
-
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[ ]//' 2>/dev/null | \
- "$SED" 's/["][ ]*["]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "$tmp_fmt"; then
- tmp_exp=""
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
- if test -z "$tmp_exp"; then
- eval "$as_ac_HaveDef=no"
-
- else
- eval "$as_ac_HaveDef=yes"
- eval "$as_ac_Def=\$tmp_exp"
-
- fi
-
- as_tmp_HaveFmtDef=`echo "curl_cv_have_def_$tmp_fmt" | $as_tr_sh`
- as_tmp_FmtDef=`echo "curl_cv_def_$tmp_fmt" | $as_tr_sh`
- if test `eval echo '${'$as_tmp_HaveFmtDef'}'` = "yes"; then
- curl_format_curl_off_t=`eval echo '${'$as_tmp_FmtDef'}'`
- curl_typeof_curl_off_t="$t4"
- curl_sizeof_curl_off_t="4"
- fi
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- done
- { echo "$as_me:$LINENO: result: $curl_typeof_curl_off_t" >&5
-echo "${ECHO_T}$curl_typeof_curl_off_t" >&6; }
- fi
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- { echo "$as_me:$LINENO: checking for 16-bit curl_off_t data type" >&5
-echo $ECHO_N "checking for 16-bit curl_off_t data type... $ECHO_C" >&6; }
- for t2 in \
- "$x_LP16_long" \
- 'int16_t' \
- '__int16' \
- 'int' ; do
-
- if test "$curl_typeof_curl_off_t" = "unknown" && test ! -z "$t2"; then
- tmp_includes=""
- tmp_source=""
- tmp_fmt=""
- case `echo "$t2" | $as_tr_sh` in
- int64_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId64;"
- tmp_fmt="PRId64"
- ;;
- int32_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId32;"
- tmp_fmt="PRId32"
- ;;
- int16_t)
- tmp_includes="$curl_includes_inttypes"
- tmp_source="char f[] = PRId16;"
- tmp_fmt="PRId16"
- ;;
- esac
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- $tmp_includes
- typedef $t2 curl_off_t;
- typedef char dummy_arr[sizeof(curl_off_t) == 2 ? 1 : -1];
-
-int
-main ()
-{
-
- $tmp_source
- curl_off_t dummy;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- if test -z "$tmp_fmt"; then
- curl_typeof_curl_off_t="$t2"
- curl_sizeof_curl_off_t="2"
- else
-
- as_ac_HaveDef=`echo "curl_cv_have_def_$tmp_fmt" | $as_tr_sh`
- as_ac_Def=`echo "curl_cv_def_$tmp_fmt" | $as_tr_sh`
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: GREP not set. Cannot continue without GREP being set." >&5
-echo "$as_me: error: GREP not set. Cannot continue without GREP being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- tmp_exp=""
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$curl_includes_inttypes
-#ifdef $tmp_fmt
-CURL_DEF_TOKEN $tmp_fmt
-#endif
-
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
-
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[ ]//' 2>/dev/null | \
- "$SED" 's/["][ ]*["]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "$tmp_fmt"; then
- tmp_exp=""
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
- if test -z "$tmp_exp"; then
- eval "$as_ac_HaveDef=no"
-
- else
- eval "$as_ac_HaveDef=yes"
- eval "$as_ac_Def=\$tmp_exp"
-
- fi
-
- as_tmp_HaveFmtDef=`echo "curl_cv_have_def_$tmp_fmt" | $as_tr_sh`
- as_tmp_FmtDef=`echo "curl_cv_def_$tmp_fmt" | $as_tr_sh`
- if test `eval echo '${'$as_tmp_HaveFmtDef'}'` = "yes"; then
- curl_format_curl_off_t=`eval echo '${'$as_tmp_FmtDef'}'`
- curl_typeof_curl_off_t="$t2"
- curl_sizeof_curl_off_t="2"
- fi
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- done
- { echo "$as_me:$LINENO: result: $curl_typeof_curl_off_t" >&5
-echo "${ECHO_T}$curl_typeof_curl_off_t" >&6; }
- fi
- if test "$curl_typeof_curl_off_t" = "unknown"; then
- { { echo "$as_me:$LINENO: error: cannot find data type for curl_off_t." >&5
-echo "$as_me: error: cannot find data type for curl_off_t." >&2;}
- { (exit 1); exit 1; }; }
- fi
- #
- { echo "$as_me:$LINENO: checking size of curl_off_t" >&5
-echo $ECHO_N "checking size of curl_off_t... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $curl_sizeof_curl_off_t" >&5
-echo "${ECHO_T}$curl_sizeof_curl_off_t" >&6; }
- #
- { echo "$as_me:$LINENO: checking formatting string directive for curl_off_t" >&5
-echo $ECHO_N "checking formatting string directive for curl_off_t... $ECHO_C" >&6; }
- if test "$curl_format_curl_off_t" != "unknown"; then
- x_pull_headers="yes"
- curl_format_curl_off_t=`echo "$curl_format_curl_off_t" | "$SED" 's/["]//g'`
- curl_format_curl_off_tu=`echo "$curl_format_curl_off_t" | "$SED" 's/i$/u/'`
- curl_format_curl_off_tu=`echo "$curl_format_curl_off_tu" | "$SED" 's/d$/u/'`
- curl_format_curl_off_tu=`echo "$curl_format_curl_off_tu" | "$SED" 's/D$/U/'`
- else
- x_pull_headers="no"
- case `echo "$curl_typeof_curl_off_t" | $as_tr_sh` in
- long_long | __longlong | __longlong_t)
- curl_format_curl_off_t="lld"
- curl_format_curl_off_tu="llu"
- ;;
- long)
- curl_format_curl_off_t="ld"
- curl_format_curl_off_tu="lu"
- ;;
- int)
- curl_format_curl_off_t="d"
- curl_format_curl_off_tu="u"
- ;;
- __int64)
- curl_format_curl_off_t="I64d"
- curl_format_curl_off_tu="I64u"
- ;;
- __int32)
- curl_format_curl_off_t="I32d"
- curl_format_curl_off_tu="I32u"
- ;;
- __int16)
- curl_format_curl_off_t="I16d"
- curl_format_curl_off_tu="I16u"
- ;;
- *)
- { { echo "$as_me:$LINENO: error: cannot find print format string for curl_off_t." >&5
-echo "$as_me: error: cannot find print format string for curl_off_t." >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
- fi
- { echo "$as_me:$LINENO: result: \"$curl_format_curl_off_t\"" >&5
-echo "${ECHO_T}\"$curl_format_curl_off_t\"" >&6; }
- #
- { echo "$as_me:$LINENO: checking formatting string directive for unsigned curl_off_t" >&5
-echo $ECHO_N "checking formatting string directive for unsigned curl_off_t... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: \"$curl_format_curl_off_tu\"" >&5
-echo "${ECHO_T}\"$curl_format_curl_off_tu\"" >&6; }
- #
-
- { echo "$as_me:$LINENO: checking constant suffix string for curl_off_t" >&5
-echo $ECHO_N "checking constant suffix string for curl_off_t... $ECHO_C" >&6; }
- #
- curl_suffix_curl_off_t="unknown"
- curl_suffix_curl_off_tu="unknown"
- #
- case `echo "$curl_typeof_curl_off_t" | $as_tr_sh` in
- long_long | __longlong | __longlong_t)
- tst_suffixes="LL::"
- ;;
- long)
- tst_suffixes="L::"
- ;;
- int)
- tst_suffixes="::"
- ;;
- __int64 | int64_t)
- tst_suffixes="LL:i64::"
- ;;
- __int32 | int32_t)
- tst_suffixes="L:i32::"
- ;;
- __int16 | int16_t)
- tst_suffixes="L:i16::"
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unexpected data type $curl_typeof_curl_off_t" >&5
-echo "$as_me: error: unexpected data type $curl_typeof_curl_off_t" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
- #
- old_IFS=$IFS; IFS=':'
- for tmp_ssuf in $tst_suffixes ; do
- IFS=$old_IFS
- if test "x$curl_suffix_curl_off_t" = "xunknown"; then
- case $tmp_ssuf in
- i64 | i32 | i16)
- tmp_usuf="u$tmp_ssuf"
- ;;
- LL | L)
- tmp_usuf="U$tmp_ssuf"
- ;;
- *)
- tmp_usuf=""
- ;;
- esac
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- $curl_includes_inttypes
- typedef $curl_typeof_curl_off_t new_t;
-
-int
-main ()
-{
-
- new_t s1;
- new_t s2;
- s1 = -10$tmp_ssuf ;
- s2 = 20$tmp_ssuf ;
- if(s1 > s2)
- return 1;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_suffix_curl_off_t="$tmp_ssuf"
- curl_suffix_curl_off_tu="$tmp_usuf"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- IFS=$old_IFS
- #
- if test "x$curl_suffix_curl_off_t" = "xunknown"; then
- { { echo "$as_me:$LINENO: error: cannot find constant suffix string for curl_off_t." >&5
-echo "$as_me: error: cannot find constant suffix string for curl_off_t." >&2;}
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me:$LINENO: result: $curl_suffix_curl_off_t" >&5
-echo "${ECHO_T}$curl_suffix_curl_off_t" >&6; }
- { echo "$as_me:$LINENO: checking constant suffix string for unsigned curl_off_t" >&5
-echo $ECHO_N "checking constant suffix string for unsigned curl_off_t... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $curl_suffix_curl_off_tu" >&5
-echo "${ECHO_T}$curl_suffix_curl_off_tu" >&6; }
- fi
- #
-
- #
- if test "$x_pull_headers" = "yes"; then
- if test "x$ac_cv_header_sys_types_h" = "xyes"; then
-
-cat >>confdefs.h <<_EOF
-#define CURL_PULL_SYS_TYPES_H 1
-_EOF
-
- fi
- if test "x$ac_cv_header_stdint_h" = "xyes"; then
-
-cat >>confdefs.h <<_EOF
-#define CURL_PULL_STDINT_H 1
-_EOF
-
- fi
- if test "x$ac_cv_header_inttypes_h" = "xyes"; then
-
-cat >>confdefs.h <<_EOF
-#define CURL_PULL_INTTYPES_H 1
-_EOF
-
- fi
- fi
- #
-
-cat >>confdefs.h <<_EOF
-#define CURL_TYPEOF_CURL_OFF_T $curl_typeof_curl_off_t
-_EOF
-
-
-cat >>confdefs.h <<_EOF
-#define CURL_FORMAT_CURL_OFF_T "$curl_format_curl_off_t"
-_EOF
-
-
-cat >>confdefs.h <<_EOF
-#define CURL_FORMAT_CURL_OFF_TU "$curl_format_curl_off_tu"
-_EOF
-
-
-cat >>confdefs.h <<_EOF
-#define CURL_FORMAT_OFF_T "%$curl_format_curl_off_t"
-_EOF
-
-
-cat >>confdefs.h <<_EOF
-#define CURL_SIZEOF_CURL_OFF_T $curl_sizeof_curl_off_t
-_EOF
-
-
-cat >>confdefs.h <<_EOF
-#define CURL_SUFFIX_CURL_OFF_T $curl_suffix_curl_off_t
-_EOF
-
-
-cat >>confdefs.h <<_EOF
-#define CURL_SUFFIX_CURL_OFF_TU $curl_suffix_curl_off_tu
-_EOF
-
- #
-
-
-
-
-
- { echo "$as_me:$LINENO: checking if OS is AIX (to define _ALL_SOURCE)" >&5
-echo $ECHO_N "checking if OS is AIX (to define _ALL_SOURCE)... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef _AIX
- yes_this_is_aix
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes_this_is_aix" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- cat >>confdefs.h <<\_ACEOF
-#define _ALL_SOURCE 1
-_ACEOF
-
-
-else
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-rm -f conftest*
-
-
-
-
- #
- { echo "$as_me:$LINENO: checking if _REENTRANT is already defined" >&5
-echo $ECHO_N "checking if _REENTRANT is already defined... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
-#ifdef _REENTRANT
- int dummy=1;
-#else
- force compilation error
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- tmp_reentrant_initially_defined="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- tmp_reentrant_initially_defined="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- #
- if test "$tmp_reentrant_initially_defined" = "no"; then
- { echo "$as_me:$LINENO: checking if _REENTRANT is actually needed" >&5
-echo $ECHO_N "checking if _REENTRANT is actually needed... $ECHO_C" >&6; }
-
- #
- tmp_need_reentrant="no"
- #
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define gmtime_r to an innocuous variant, in case <limits.h> declares gmtime_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define gmtime_r innocuous_gmtime_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gmtime_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gmtime_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gmtime_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_gmtime_r || defined __stub___gmtime_r
-choke me
-#endif
-
-int
-main ()
-{
-return gmtime_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_gmtime_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_gmtime_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_gmtime_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gmtime_r" >/dev/null 2>&1; then
-
- tmp_gmtime_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gmtime_r" >/dev/null 2>&1; then
-
- tmp_gmtime_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define localtime_r to an innocuous variant, in case <limits.h> declares localtime_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define localtime_r innocuous_localtime_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char localtime_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef localtime_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char localtime_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_localtime_r || defined __stub___localtime_r
-choke me
-#endif
-
-int
-main ()
-{
-return localtime_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_localtime_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_localtime_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_localtime_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1; then
-
- tmp_localtime_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1; then
-
- tmp_localtime_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define strerror_r to an innocuous variant, in case <limits.h> declares strerror_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define strerror_r innocuous_strerror_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char strerror_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef strerror_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_strerror_r || defined __stub___strerror_r
-choke me
-#endif
-
-int
-main ()
-{
-return strerror_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_strerror_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_strerror_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_strerror_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1; then
-
- tmp_strerror_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1; then
-
- tmp_strerror_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define strtok_r to an innocuous variant, in case <limits.h> declares strtok_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define strtok_r innocuous_strtok_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char strtok_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef strtok_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strtok_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_strtok_r || defined __stub___strtok_r
-choke me
-#endif
-
-int
-main ()
-{
-return strtok_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_strtok_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_strtok_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_strtok_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtok_r" >/dev/null 2>&1; then
-
- tmp_strtok_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtok_r" >/dev/null 2>&1; then
-
- tmp_strtok_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define inet_ntoa_r to an innocuous variant, in case <limits.h> declares inet_ntoa_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define inet_ntoa_r innocuous_inet_ntoa_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char inet_ntoa_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef inet_ntoa_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inet_ntoa_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_inet_ntoa_r || defined __stub___inet_ntoa_r
-choke me
-#endif
-
-int
-main ()
-{
-return inet_ntoa_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_inet_ntoa_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_inet_ntoa_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_inet_ntoa_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "inet_ntoa_r" >/dev/null 2>&1; then
-
- tmp_inet_ntoa_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "inet_ntoa_r" >/dev/null 2>&1; then
-
- tmp_inet_ntoa_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define gethostbyaddr_r to an innocuous variant, in case <limits.h> declares gethostbyaddr_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define gethostbyaddr_r innocuous_gethostbyaddr_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyaddr_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gethostbyaddr_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyaddr_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_gethostbyaddr_r || defined __stub___gethostbyaddr_r
-choke me
-#endif
-
-int
-main ()
-{
-return gethostbyaddr_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_gethostbyaddr_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_gethostbyaddr_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_gethostbyaddr_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gethostbyaddr_r" >/dev/null 2>&1; then
-
- tmp_gethostbyaddr_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gethostbyaddr_r" >/dev/null 2>&1; then
-
- tmp_gethostbyaddr_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define gethostbyname_r to an innocuous variant, in case <limits.h> declares gethostbyname_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define gethostbyname_r innocuous_gethostbyname_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyname_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gethostbyname_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_gethostbyname_r || defined __stub___gethostbyname_r
-choke me
-#endif
-
-int
-main ()
-{
-return gethostbyname_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_gethostbyname_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_gethostbyname_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_gethostbyname_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gethostbyname_r" >/dev/null 2>&1; then
-
- tmp_gethostbyname_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gethostbyname_r" >/dev/null 2>&1; then
-
- tmp_gethostbyname_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define getprotobyname_r to an innocuous variant, in case <limits.h> declares getprotobyname_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define getprotobyname_r innocuous_getprotobyname_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char getprotobyname_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef getprotobyname_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getprotobyname_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_getprotobyname_r || defined __stub___getprotobyname_r
-choke me
-#endif
-
-int
-main ()
-{
-return getprotobyname_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_getprotobyname_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_getprotobyname_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_getprotobyname_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getprotobyname_r" >/dev/null 2>&1; then
-
- tmp_getprotobyname_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getprotobyname_r" >/dev/null 2>&1; then
-
- tmp_getprotobyname_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
- if test "$tmp_need_reentrant" = "no"; then
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define getservbyport_r to an innocuous variant, in case <limits.h> declares getservbyport_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define getservbyport_r innocuous_getservbyport_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char getservbyport_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef getservbyport_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getservbyport_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_getservbyport_r || defined __stub___getservbyport_r
-choke me
-#endif
-
-int
-main ()
-{
-return getservbyport_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- tmp_getservbyport_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- tmp_getservbyport_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test "$tmp_getservbyport_r" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getservbyport_r" >/dev/null 2>&1; then
-
- tmp_getservbyport_r="proto_declared"
-
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getservbyport_r" >/dev/null 2>&1; then
-
- tmp_getservbyport_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
-
-fi
-rm -f conftest*
-
-
-fi
-rm -f conftest*
-
- fi
-
- fi
-
- if test "$tmp_need_reentrant" = "yes"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
- fi
- #
- { echo "$as_me:$LINENO: checking if _REENTRANT is onwards defined" >&5
-echo $ECHO_N "checking if _REENTRANT is onwards defined... $ECHO_C" >&6; }
- if test "$tmp_reentrant_initially_defined" = "yes" ||
- test "$tmp_need_reentrant" = "yes"; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define NEED_REENTRANT 1
-_ACEOF
-
-cat >>confdefs.h <<_EOF
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-_EOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
- #
-
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
-echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_sys_largefile_CC=' -n32'; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
-echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_sys_file_offset_bits=no; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_sys_file_offset_bits=64; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
-echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -f conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
-echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_sys_large_files=no; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_sys_large_files=1; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
-echo "${ECHO_T}$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -f conftest*
- fi
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ echo "$as_me:$LINENO: checking if arch-OS host is AMD64-linux (to build static libraries with PIC)" >&5
-echo $ECHO_N "checking if arch-OS host is AMD64-linux (to build static libraries with PIC)... $ECHO_C" >&6; }
-case $host in
- x86_64*linux*)
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- with_pic=yes
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
-esac
-
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-
-fi
-
-SED=$lt_cv_path_SED
-
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
-NM="$lt_cv_path_NM"
-
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 8600 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- lt_cv_cc_needs_belf=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- { echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AS="as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_AS" = x; then
- AS="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AS=$ac_ct_AS
- fi
-else
- AS="$ac_cv_prog_AS"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
- ;;
-
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- true
-fi
-
-
-
-
-
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
-else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
-fi
-
-
-
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDGIRSTW]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
-if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-else
- AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-echo "${ECHO_T}$DSYMUTIL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { echo "$as_me:$LINENO: result: $NMEDIT" >&5
-echo "${ECHO_T}$NMEDIT" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-
- { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- echo "int foo(void){return 1;}" > conftest.c
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib ${wl}-single_module conftest.c
- if test -f libconftest.dylib; then
- lt_cv_apple_cc_single_mod=yes
- rm -rf libconftest.dylib*
- fi
- rm conftest.c
- fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
- { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- lt_cv_ld_exported_symbols_list=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- lt_cv_ld_exported_symbols_list=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
- case $host_os in
- rhapsody* | darwin1.[0123])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*)
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil="~$DSYMUTIL \$lib || :"
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-
-enable_dlopen=no
-enable_win32_dll=yes
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10518: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:10522: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic='-qnocommon'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10808: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:10812: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10912: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:10916: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- runpath_var=
- allow_undefined_flag=
- enable_shared_with_static_runtimes=no
- archive_cmds=
- archive_expsym_cmds=
- old_archive_From_new_cmds=
- old_archive_from_expsyms_cmds=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_direct=no
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- link_all_deplibs=unknown
- hardcode_automatic=no
- module_cmds=
- module_expsym_cmds=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- link_all_deplibs=no
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- link_all_deplibs=yes
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc=no
- else
- archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
- test -n "$runpath_var" || \
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_shl_load || defined __stub___shl_load
-choke me
-#endif
-
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dld_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_svld_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dld_dld_link=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 13289 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 13389 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler \
- CC \
- LD \
- lt_prog_compiler_wl \
- lt_prog_compiler_pic \
- lt_prog_compiler_static \
- lt_prog_compiler_no_builtin_flag \
- export_dynamic_flag_spec \
- thread_safe_flag_spec \
- whole_archive_flag_spec \
- enable_shared_with_static_runtimes \
- old_archive_cmds \
- old_archive_from_new_cmds \
- predep_objects \
- postdep_objects \
- predeps \
- postdeps \
- compiler_lib_search_path \
- compiler_lib_search_dirs \
- archive_cmds \
- archive_expsym_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- old_archive_from_expsyms_cmds \
- allow_undefined_flag \
- no_undefined_flag \
- export_symbols_cmds \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
- hardcode_automatic \
- module_cmds \
- module_expsym_cmds \
- lt_cv_prog_compiler_c_o \
- fix_srcfile_path \
- exclude_expsyms \
- include_expsyms; do
-
- case $var in
- old_archive_cmds | \
- old_archive_from_new_cmds | \
- archive_cmds | \
- archive_expsym_cmds | \
- module_cmds | \
- module_expsym_cmds | \
- old_archive_from_expsyms_cmds | \
- export_symbols_cmds | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
-
- cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# ### END LIBTOOL CONFIG
-
-__EOF__
-
-
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
- withval=$with_tags; tagnames="$withval"
-fi
-
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
- else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
- "") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-compiler_lib_search_dirs_CXX=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
- lt_prog_compiler_no_builtin_flag_CXX=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_CXX=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-ld_shlibs_CXX=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_CXX=''
- hardcode_direct_CXX=yes
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_CXX=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_CXX=yes
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- hardcode_libdir_separator_CXX=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX='$convenience'
- archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_CXX=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- darwin* | rhapsody*)
- archive_cmds_need_lc_CXX=no
- hardcode_direct_CXX=no
- hardcode_automatic_CXX=yes
- hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
- link_all_deplibs_CXX=yes
- allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
- if test "$GXX" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_CXX=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- ld_shlibs_CXX=no
- ;;
- freebsd-elf*)
- archive_cmds_need_lc_CXX=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- ld_shlibs_CXX=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- export_dynamic_flag_spec_CXX='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- *)
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- interix[3-9]*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- link_all_deplibs_CXX=yes
- ;;
- esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- archive_cmds_need_lc_CXX=yes
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_shlibpath_var_CXX=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
- ;;
- esac
- link_all_deplibs_CXX=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_CXX='${wl}-z,text'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- no_undefined_flag_CXX='${wl}-z,text'
- allow_undefined_flag_CXX='${wl}-z,nodefs'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
- export_dynamic_flag_spec_CXX='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-GCC_CXX="$GXX"
-LD_CXX="$LD"
-
-cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_path_CXX="${prev}${p}"
- else
- compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$postdeps_CXX"; then
- postdeps_CXX="${prev}${p}"
- else
- postdeps_CXX="${postdeps_CXX} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$predep_objects_CXX"; then
- predep_objects_CXX="$p"
- else
- predep_objects_CXX="$predep_objects_CXX $p"
- fi
- else
- if test -z "$postdep_objects_CXX"; then
- postdep_objects_CXX="$p"
- else
- postdep_objects_CXX="$postdep_objects_CXX $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$rm -f confest.$objext
-
-compiler_lib_search_dirs_CXX=
-if test -n "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- predep_objects_CXX=
- postdep_objects_CXX=
- postdeps_CXX=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- #
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- if test "$solaris_use_stlport4" != yes; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
-
-lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_CXX='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_CXX='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- lt_prog_compiler_pic_CXX=
- ;;
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_CXX=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- esac
- ;;
- *)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[4-9]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_CXX='-Bstatic'
- else
- lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_CXX='-qnocommon'
- lt_prog_compiler_wl_CXX='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- lt_prog_compiler_pic_CXX='+Z'
- fi
- ;;
- aCC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_CXX='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- lt_prog_compiler_wl_CXX='--backend -Wl,'
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler.
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-fpic'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_static_CXX='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- lt_prog_compiler_wl_CXX='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- lt_prog_compiler_pic_CXX='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- lt_prog_compiler_wl_CXX='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- lt_prog_compiler_wl_CXX='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_static_CXX='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- lt_prog_compiler_wl_CXX='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- lt_prog_compiler_pic_CXX='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- lt_prog_compiler_pic_CXX='-pic'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- lcc*)
- # Lucid
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- lt_prog_compiler_can_build_shared_CXX=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works_CXX=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15790: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:15794: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_CXX=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
- case $lt_prog_compiler_pic_CXX in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
- esac
-else
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_CXX=
- ;;
- *)
- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_CXX=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_CXX=yes
- fi
- else
- lt_cv_prog_compiler_static_works_CXX=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
- :
-else
- lt_prog_compiler_static_CXX=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_CXX=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15894: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:15898: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_CXX=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix[4-9]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- export_symbols_cmds_CXX="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- ;;
- linux* | k*bsd*-gnu)
- link_all_deplibs_CXX=no
- ;;
- *)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
- exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_CXX=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_CXX in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_CXX
- pic_flag=$lt_prog_compiler_pic_CXX
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
- allow_undefined_flag_CXX=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_CXX=no
- else
- archive_cmds_need_lc_CXX=yes
- fi
- allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
- test -n "$runpath_var_CXX" || \
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_CXX" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_CXX=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_CXX=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_CXX=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- compiler_lib_search_dirs_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- fix_srcfile_path_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
-
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-GCC_F77="$G77"
-LD_F77="$LD"
-
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_static_F77='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_F77='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_F77=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_F77=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_F77='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- else
- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_F77='-qnocommon'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-fpic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_F77='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_F77='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_F77='-Qoption ld '
- lt_prog_compiler_pic_F77='-PIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_F77='-Kconform_pic'
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_F77='-pic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works_F77=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_F77"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17492: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:17496: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_F77=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_F77" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
- case $lt_prog_compiler_pic_F77 in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
- esac
-else
- lt_prog_compiler_pic_F77=
- lt_prog_compiler_can_build_shared_F77=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_F77=
- ;;
- *)
- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_F77=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_F77=yes
- fi
- else
- lt_cv_prog_compiler_static_works_F77=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_F77" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
- :
-else
- lt_prog_compiler_static_F77=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_F77=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17596: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:17600: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_F77=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- runpath_var=
- allow_undefined_flag_F77=
- enable_shared_with_static_runtimes_F77=no
- archive_cmds_F77=
- archive_expsym_cmds_F77=
- old_archive_From_new_cmds_F77=
- old_archive_from_expsyms_cmds_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- thread_safe_flag_spec_F77=
- hardcode_libdir_flag_spec_F77=
- hardcode_libdir_flag_spec_ld_F77=
- hardcode_libdir_separator_F77=
- hardcode_direct_F77=no
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=unsupported
- link_all_deplibs_F77=unknown
- hardcode_automatic_F77=no
- module_cmds_F77=
- module_expsym_cmds_F77=
- always_export_symbols_F77=no
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_F77=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_F77=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_F77=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_F77=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_F77=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_F77='-L$libdir'
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=no
- enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- link_all_deplibs_F77=no
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_F77=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_F77" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=yes
- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_F77=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_F77=''
- hardcode_direct_F77=yes
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_F77=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_F77=yes
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_libdir_separator_F77=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_F77=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_F77='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_F77=' ${wl}-bernotok'
- allow_undefined_flag_F77=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77='$convenience'
- archive_cmds_need_lc_F77=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_F77=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_F77=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_F77=' '
- allow_undefined_flag_F77=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_F77='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_F77=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_F77=no
- hardcode_direct_F77=no
- hardcode_automatic_F77=yes
- hardcode_shlibpath_var_F77=unsupported
- whole_archive_flag_spec_F77=''
- link_all_deplibs_F77=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- freebsd1*)
- ld_shlibs_F77=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- link_all_deplibs_F77=yes
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- newsos6)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_shlibpath_var_F77=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- allow_undefined_flag_F77=unsupported
- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_F77='-rpath $libdir'
- fi
- hardcode_libdir_separator_F77=:
- ;;
-
- solaris*)
- no_undefined_flag_F77=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_shlibpath_var_F77=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_F77=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_F77='$CC -r -o $output$reload_objs'
- hardcode_direct_F77=no
- ;;
- motorola)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4.3*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_F77=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_F77='${wl}-z,text'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_F77='${wl}-z,text'
- allow_undefined_flag_F77='${wl}-z,nodefs'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_F77=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_F77 in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_F77
- pic_flag=$lt_prog_compiler_pic_F77
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
- allow_undefined_flag_F77=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_F77=no
- else
- archive_cmds_need_lc_F77=yes
- fi
- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
- test -n "$runpath_var_F77" || \
- test "X$hardcode_automatic_F77" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_F77" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
- test "$hardcode_minus_L_F77" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_F77=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_F77=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_F77=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
-
-if test "$hardcode_action_F77" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_F77 \
- CC_F77 \
- LD_F77 \
- lt_prog_compiler_wl_F77 \
- lt_prog_compiler_pic_F77 \
- lt_prog_compiler_static_F77 \
- lt_prog_compiler_no_builtin_flag_F77 \
- export_dynamic_flag_spec_F77 \
- thread_safe_flag_spec_F77 \
- whole_archive_flag_spec_F77 \
- enable_shared_with_static_runtimes_F77 \
- old_archive_cmds_F77 \
- old_archive_from_new_cmds_F77 \
- predep_objects_F77 \
- postdep_objects_F77 \
- predeps_F77 \
- postdeps_F77 \
- compiler_lib_search_path_F77 \
- compiler_lib_search_dirs_F77 \
- archive_cmds_F77 \
- archive_expsym_cmds_F77 \
- postinstall_cmds_F77 \
- postuninstall_cmds_F77 \
- old_archive_from_expsyms_cmds_F77 \
- allow_undefined_flag_F77 \
- no_undefined_flag_F77 \
- export_symbols_cmds_F77 \
- hardcode_libdir_flag_spec_F77 \
- hardcode_libdir_flag_spec_ld_F77 \
- hardcode_libdir_separator_F77 \
- hardcode_automatic_F77 \
- module_cmds_F77 \
- module_expsym_cmds_F77 \
- lt_cv_prog_compiler_c_o_F77 \
- fix_srcfile_path_F77 \
- exclude_expsyms_F77 \
- include_expsyms_F77; do
-
- case $var in
- old_archive_cmds_F77 | \
- old_archive_from_new_cmds_F77 | \
- archive_cmds_F77 | \
- archive_expsym_cmds_F77 | \
- module_cmds_F77 | \
- module_expsym_cmds_F77 | \
- old_archive_from_expsyms_cmds_F77 | \
- export_symbols_cmds_F77 | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19816: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:19820: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_static_GCJ='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
-
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_GCJ='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_GCJ=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_GCJ=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- else
- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_GCJ='-qnocommon'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
-
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-fpic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_GCJ='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_GCJ='-Qoption ld '
- lt_prog_compiler_pic_GCJ='-PIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_GCJ='-Kconform_pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_GCJ='-pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works_GCJ=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:20106: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:20110: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_GCJ=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
- case $lt_prog_compiler_pic_GCJ in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
- esac
-else
- lt_prog_compiler_pic_GCJ=
- lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_GCJ=
- ;;
- *)
- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_GCJ=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_GCJ=yes
- fi
- else
- lt_cv_prog_compiler_static_works_GCJ=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
- :
-else
- lt_prog_compiler_static_GCJ=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_GCJ=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:20210: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:20214: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_GCJ=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- runpath_var=
- allow_undefined_flag_GCJ=
- enable_shared_with_static_runtimes_GCJ=no
- archive_cmds_GCJ=
- archive_expsym_cmds_GCJ=
- old_archive_From_new_cmds_GCJ=
- old_archive_from_expsyms_cmds_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- thread_safe_flag_spec_GCJ=
- hardcode_libdir_flag_spec_GCJ=
- hardcode_libdir_flag_spec_ld_GCJ=
- hardcode_libdir_separator_GCJ=
- hardcode_direct_GCJ=no
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=unsupported
- link_all_deplibs_GCJ=unknown
- hardcode_automatic_GCJ=no
- module_cmds_GCJ=
- module_expsym_cmds_GCJ=
- always_export_symbols_GCJ=no
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_GCJ=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_GCJ=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_GCJ=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_GCJ=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_GCJ=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=no
- enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- link_all_deplibs_GCJ=no
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_GCJ=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_GCJ" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=yes
- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_GCJ=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_GCJ=''
- hardcode_direct_GCJ=yes
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_GCJ=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_libdir_separator_GCJ=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_GCJ=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_GCJ='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_GCJ=' ${wl}-bernotok'
- allow_undefined_flag_GCJ=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ='$convenience'
- archive_cmds_need_lc_GCJ=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_GCJ=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_GCJ=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ=' '
- allow_undefined_flag_GCJ=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_GCJ='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_GCJ=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_GCJ=no
- hardcode_direct_GCJ=no
- hardcode_automatic_GCJ=yes
- hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
- link_all_deplibs_GCJ=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- freebsd1*)
- ld_shlibs_GCJ=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- *)
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- link_all_deplibs_GCJ=yes
- ;;
-
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- newsos6)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_separator_GCJ=:
- ;;
-
- solaris*)
- no_undefined_flag_GCJ=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_shlibpath_var_GCJ=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_GCJ=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
- hardcode_direct_GCJ=no
- ;;
- motorola)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4.3*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_GCJ=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_GCJ='${wl}-z,text'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_GCJ='${wl}-z,text'
- allow_undefined_flag_GCJ='${wl}-z,nodefs'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_GCJ=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_GCJ in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- pic_flag=$lt_prog_compiler_pic_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_GCJ \
- CC_GCJ \
- LD_GCJ \
- lt_prog_compiler_wl_GCJ \
- lt_prog_compiler_pic_GCJ \
- lt_prog_compiler_static_GCJ \
- lt_prog_compiler_no_builtin_flag_GCJ \
- export_dynamic_flag_spec_GCJ \
- thread_safe_flag_spec_GCJ \
- whole_archive_flag_spec_GCJ \
- enable_shared_with_static_runtimes_GCJ \
- old_archive_cmds_GCJ \
- old_archive_from_new_cmds_GCJ \
- predep_objects_GCJ \
- postdep_objects_GCJ \
- predeps_GCJ \
- postdeps_GCJ \
- compiler_lib_search_path_GCJ \
- compiler_lib_search_dirs_GCJ \
- archive_cmds_GCJ \
- archive_expsym_cmds_GCJ \
- postinstall_cmds_GCJ \
- postuninstall_cmds_GCJ \
- old_archive_from_expsyms_cmds_GCJ \
- allow_undefined_flag_GCJ \
- no_undefined_flag_GCJ \
- export_symbols_cmds_GCJ \
- hardcode_libdir_flag_spec_GCJ \
- hardcode_libdir_flag_spec_ld_GCJ \
- hardcode_libdir_separator_GCJ \
- hardcode_automatic_GCJ \
- module_cmds_GCJ \
- module_expsym_cmds_GCJ \
- lt_cv_prog_compiler_c_o_GCJ \
- fix_srcfile_path_GCJ \
- exclude_expsyms_GCJ \
- include_expsyms_GCJ; do
-
- case $var in
- old_archive_cmds_GCJ | \
- old_archive_from_new_cmds_GCJ | \
- archive_cmds_GCJ | \
- archive_expsym_cmds_GCJ | \
- module_cmds_GCJ | \
- module_expsym_cmds_GCJ | \
- old_archive_from_expsyms_cmds_GCJ | \
- export_symbols_cmds_GCJ | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- RC)
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_RC \
- CC_RC \
- LD_RC \
- lt_prog_compiler_wl_RC \
- lt_prog_compiler_pic_RC \
- lt_prog_compiler_static_RC \
- lt_prog_compiler_no_builtin_flag_RC \
- export_dynamic_flag_spec_RC \
- thread_safe_flag_spec_RC \
- whole_archive_flag_spec_RC \
- enable_shared_with_static_runtimes_RC \
- old_archive_cmds_RC \
- old_archive_from_new_cmds_RC \
- predep_objects_RC \
- postdep_objects_RC \
- predeps_RC \
- postdeps_RC \
- compiler_lib_search_path_RC \
- compiler_lib_search_dirs_RC \
- archive_cmds_RC \
- archive_expsym_cmds_RC \
- postinstall_cmds_RC \
- postuninstall_cmds_RC \
- old_archive_from_expsyms_cmds_RC \
- allow_undefined_flag_RC \
- no_undefined_flag_RC \
- export_symbols_cmds_RC \
- hardcode_libdir_flag_spec_RC \
- hardcode_libdir_flag_spec_ld_RC \
- hardcode_libdir_separator_RC \
- hardcode_automatic_RC \
- module_cmds_RC \
- module_expsym_cmds_RC \
- lt_cv_prog_compiler_c_o_RC \
- fix_srcfile_path_RC \
- exclude_expsyms_RC \
- include_expsyms_RC; do
-
- case $var in
- old_archive_cmds_RC | \
- old_archive_from_new_cmds_RC | \
- archive_cmds_RC | \
- archive_expsym_cmds_RC | \
- module_cmds_RC | \
- module_expsym_cmds_RC | \
- old_archive_from_expsyms_cmds_RC | \
- export_symbols_cmds_RC | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
- ;;
-
- *)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-{ echo "$as_me:$LINENO: checking if we need -no-undefined" >&5
-echo $ECHO_N "checking if we need -no-undefined... $ECHO_C" >&6; }
-case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- need_no_undefined=yes
- ;;
- *)
- need_no_undefined=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $need_no_undefined" >&5
-echo "${ECHO_T}$need_no_undefined" >&6; }
-
-
-if test x$need_no_undefined = xyes; then
- NO_UNDEFINED_TRUE=
- NO_UNDEFINED_FALSE='#'
-else
- NO_UNDEFINED_TRUE='#'
- NO_UNDEFINED_FALSE=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if we need -mimpure-text" >&5
-echo $ECHO_N "checking if we need -mimpure-text... $ECHO_C" >&6; }
-mimpure=no
-case $host in
- *-*-solaris2*)
- if test "$GCC" = "yes"; then
- mimpure="yes"
- fi
- ;;
- *)
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $mimpure" >&5
-echo "${ECHO_T}$mimpure" >&6; }
-
-
-if test x$mimpure = xyes; then
- MIMPURE_TRUE=
- MIMPURE_FALSE='#'
-else
- MIMPURE_TRUE='#'
- MIMPURE_FALSE=
-fi
-
-
-
-if false; then
- STATICLIB_TRUE=
- STATICLIB_FALSE='#'
-else
- STATICLIB_TRUE='#'
- STATICLIB_FALSE=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if we need BUILDING_LIBCURL" >&5
-echo $ECHO_N "checking if we need BUILDING_LIBCURL... $ECHO_C" >&6; }
-case $host in
- *-*-mingw*)
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILDING_LIBCURL 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- { echo "$as_me:$LINENO: checking if we need CURL_STATICLIB" >&5
-echo $ECHO_N "checking if we need CURL_STATICLIB... $ECHO_C" >&6; }
- if test "X$enable_shared" = "Xno"
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_STATICLIB 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-if true; then
- STATICLIB_TRUE=
- STATICLIB_FALSE='#'
-else
- STATICLIB_TRUE='#'
- STATICLIB_FALSE=
-fi
-
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
-esac
-
-# Determine whether all dependent libraries must be specified when linking
-if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
-then
- REQUIRE_LIB_DEPS=no
-else
- REQUIRE_LIB_DEPS=yes
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- SET_MAKE=
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-{ echo "$as_me:$LINENO: checking for inline" >&5
-echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
-if test "${ac_cv_c_inline+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_c_inline=$ac_kw
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
-echo "${ECHO_T}$ac_cv_c_inline" >&6; }
-
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-
-
-case $host in
- #
- x86_64*linux*)
- #
- if test "z$ICC" = "z"; then
-
- ICC="no"
- { echo "$as_me:$LINENO: checking for icc in use" >&5
-echo $ECHO_N "checking for icc in use... $ECHO_C" >&6; }
- if test "$GCC" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-__INTEL_COMPILER
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "^__INTEL_COMPILER" >/dev/null 2>&1; then
- ICC="no"
-else
- ICC="yes"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-fi
-rm -f conftest*
-
- fi
- if test "$ICC" = "no"; then
- # this is not ICC
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
-
- fi
- #
- if test "$ICC" = "yes"; then
- { echo "$as_me:$LINENO: checking icc version" >&5
-echo $ECHO_N "checking icc version... $ECHO_C" >&6; }
- iccver=`$CC -dumpversion`
- iccnhi=`echo $iccver | cut -d . -f1`
- iccnlo=`echo $iccver | cut -d . -f2`
- iccnum=`(expr $iccnhi "*" 100 + $iccnlo) 2>/dev/null`
- { echo "$as_me:$LINENO: result: $iccver" >&5
-echo "${ECHO_T}$iccver" >&6; }
- #
- if test "$iccnum" -ge "900" && test "$iccnum" -lt "1000"; then
- CFLAGS="$CFLAGS -i-dynamic"
- fi
- #
- if test "$iccnum" -ge "1000"; then
- CFLAGS="$CFLAGS -shared-intel"
- fi
- #
- fi
- ;;
- #
-esac
-
-{ echo "$as_me:$LINENO: checking whether we are using the IBM C compiler" >&5
-echo $ECHO_N "checking whether we are using the IBM C compiler... $ECHO_C" >&6; }
-
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: GREP not set. Cannot continue without GREP being set." >&5
-echo "$as_me: error: GREP not set. Cannot continue without GREP being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- tmp_exp=""
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef __IBMC__
-CURL_DEF_TOKEN __IBMC__
-#endif
-
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
-
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[ ]//' 2>/dev/null | \
- "$SED" 's/["][ ]*["]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "__IBMC__"; then
- tmp_exp=""
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
- if test -z "$tmp_exp"; then
- curl_cv_have_def___IBMC__=no
-
- else
- curl_cv_have_def___IBMC__=yes
- curl_cv_def___IBMC__=$tmp_exp
-
- fi
-
-if test "$curl_cv_have_def___IBMC__" = "yes"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- CFLAGS="$CFLAGS -qthreaded"
- CFLAGS="$CFLAGS -qnoansialias"
- CFLAGS="$CFLAGS -qhalt=e"
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking whether we are using the DEC/Compaq C compiler" >&5
-echo $ECHO_N "checking whether we are using the DEC/Compaq C compiler... $ECHO_C" >&6; }
-
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: GREP not set. Cannot continue without GREP being set." >&5
-echo "$as_me: error: GREP not set. Cannot continue without GREP being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- tmp_exp=""
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef __DECC
-CURL_DEF_TOKEN __DECC
-#endif
-
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
-
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[ ]//' 2>/dev/null | \
- "$SED" 's/["][ ]*["]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "__DECC"; then
- tmp_exp=""
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
- if test -z "$tmp_exp"; then
- curl_cv_have_def___DECC=no
-
- else
- curl_cv_have_def___DECC=yes
- curl_cv_def___DECC=$tmp_exp
-
- fi
-
-
- if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: SED not set. Cannot continue without SED being set." >&5
-echo "$as_me: error: SED not set. Cannot continue without SED being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
- if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: GREP not set. Cannot continue without GREP being set." >&5
-echo "$as_me: error: GREP not set. Cannot continue without GREP being set." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- tmp_exp=""
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef __DECC_VER
-CURL_DEF_TOKEN __DECC_VER
-#endif
-
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
-
- tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
- "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
- "$SED" 's/.*CURL_DEF_TOKEN[ ]//' 2>/dev/null | \
- "$SED" 's/["][ ]*["]//g' 2>/dev/null`
- if test -z "$tmp_exp" || test "$tmp_exp" = "__DECC_VER"; then
- tmp_exp=""
- fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
- if test -z "$tmp_exp"; then
- curl_cv_have_def___DECC_VER=no
-
- else
- curl_cv_have_def___DECC_VER=yes
- curl_cv_def___DECC_VER=$tmp_exp
-
- fi
-
-if test "$curl_cv_have_def___DECC" = "yes" &&
- test "$curl_cv_have_def___DECC_VER" = "yes"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- CFLAGS="$CFLAGS -std1"
- CFLAGS="$CFLAGS -noansi_alias"
- CFLAGS="$CFLAGS -msg_enable level3"
- CFLAGS="$CFLAGS -warnprotos"
- CFLAGS="$CFLAGS -msg_fatal toofewargs,toomanyargs"
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- { echo "$as_me:$LINENO: checking if compiler halts on compilation errors" >&5
-echo $ECHO_N "checking if compiler halts on compilation errors... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
- force compilation error
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { { echo "$as_me:$LINENO: error: compiler does not halt on compilation errors." >&5
-echo "$as_me: error: compiler does not halt on compilation errors." >&2;}
- { (exit 1); exit 1; }; }
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
- { echo "$as_me:$LINENO: checking if compiler halts on negative sized arrays" >&5
-echo $ECHO_N "checking if compiler halts on negative sized arrays... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- typedef char bad_t[sizeof(char) == sizeof(int) ? -1 : -1 ];
-
-int
-main ()
-{
-
- bad_t dummy;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { { echo "$as_me:$LINENO: error: compiler does not halt on negative sized arrays." >&5
-echo "$as_me: error: compiler does not halt on negative sized arrays." >&2;}
- { (exit 1); exit 1; }; }
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-
-
-
- { echo "$as_me:$LINENO: checking for windows.h" >&5
-echo $ECHO_N "checking for windows.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_windows_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-
-int
-main ()
-{
-
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINDOWS_H shall not be defined.
-#else
- int dummy=2*WINVER;
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_windows_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_windows_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5
-echo "${ECHO_T}$ac_cv_header_windows_h" >&6; }
- case "$ac_cv_header_windows_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WINDOWS_H 1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define WIN32_LEAN_AND_MEAN 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking whether build target is a native Windows one" >&5
-echo $ECHO_N "checking whether build target is a native Windows one... $ECHO_C" >&6; }
-if test "${ac_cv_native_windows+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$ac_cv_header_windows_h" = "no"; then
- ac_cv_native_windows="no"
- else
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
-#if defined(__MINGW32__) || defined(__MINGW32CE__) || \
- (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64)))
- int dummy=1;
-#else
- Not a native Windows build target.
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_native_windows="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_native_windows="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_native_windows" >&5
-echo "${ECHO_T}$ac_cv_native_windows" >&6; }
- case "$ac_cv_native_windows" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define NATIVE_WINDOWS 1
-_ACEOF
-
- ;;
- esac
-
-case X-"$ac_cv_native_windows" in
- X-yes)
-
- { echo "$as_me:$LINENO: checking for winsock.h" >&5
-echo $ECHO_N "checking for winsock.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_winsock_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock.h>
-
-int
-main ()
-{
-
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINSOCK_H shall not be defined.
-#else
- int dummy=WSACleanup();
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_winsock_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_winsock_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_winsock_h" >&5
-echo "${ECHO_T}$ac_cv_header_winsock_h" >&6; }
- case "$ac_cv_header_winsock_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WINSOCK_H 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking for winsock2.h" >&5
-echo $ECHO_N "checking for winsock2.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_winsock2_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock2.h>
-
-int
-main ()
-{
-
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
- HAVE_WINSOCK2_H shall not be defined.
-#else
- int dummy=2*IPPROTO_ESP;
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_winsock2_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_winsock2_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_winsock2_h" >&5
-echo "${ECHO_T}$ac_cv_header_winsock2_h" >&6; }
- case "$ac_cv_header_winsock2_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WINSOCK2_H 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking for ws2tcpip.h" >&5
-echo $ECHO_N "checking for ws2tcpip.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_ws2tcpip_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock2.h>
-#include <ws2tcpip.h>
-
-int
-main ()
-{
-
-#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
- HAVE_WS2TCPIP_H shall not be defined.
-#else
- int dummy=2*IP_PKTINFO;
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_ws2tcpip_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_ws2tcpip_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_ws2tcpip_h" >&5
-echo "${ECHO_T}$ac_cv_header_ws2tcpip_h" >&6; }
- case "$ac_cv_header_ws2tcpip_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WS2TCPIP_H 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking for winldap.h" >&5
-echo $ECHO_N "checking for winldap.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_winldap_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#endif
-#include <winldap.h>
-
-int
-main ()
-{
-
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINLDAP_H shall not be defined.
-#else
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- ULONG res = ldap_unbind(ldp);
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_winldap_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_winldap_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_winldap_h" >&5
-echo "${ECHO_T}$ac_cv_header_winldap_h" >&6; }
- case "$ac_cv_header_winldap_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WINLDAP_H 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking for winber.h" >&5
-echo $ECHO_N "checking for winber.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_winber_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#endif
-#include <winldap.h>
-#include <winber.h>
-
-int
-main ()
-{
-
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINBER_H shall not be defined.
-#else
- BERVAL *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- ber_free(bep, 1);
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_winber_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_winber_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_winber_h" >&5
-echo "${ECHO_T}$ac_cv_header_winber_h" >&6; }
- case "$ac_cv_header_winber_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WINBER_H 1
-_ACEOF
-
- ;;
- esac
-
- ;;
- *)
- ac_cv_header_winsock_h="no"
- ac_cv_header_winsock2_h="no"
- ac_cv_header_ws2tcpip_h="no"
- ac_cv_header_winldap_h="no"
- ac_cv_header_winber_h="no"
- ;;
-esac
-
- { echo "$as_me:$LINENO: checking whether build target supports WIN32 file API" >&5
-echo $ECHO_N "checking whether build target supports WIN32 file API... $ECHO_C" >&6; }
- curl_win32_file_api="no"
- if test "$ac_cv_header_windows_h" = "yes"; then
- if test x"$enable_largefile" != "xno"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
-#if !defined(_WIN32_WCE) && \
- (defined(__MINGW32__) || \
- (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64))))
- int dummy=1;
-#else
- WIN32 large file API not supported.
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_win32_file_api="win32_large_files"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test "$curl_win32_file_api" = "no"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
-#if defined(_WIN32_WCE) || defined(__MINGW32__) || defined(_MSC_VER)
- int dummy=1;
-#else
- WIN32 small file API not supported.
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_win32_file_api="win32_small_files"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- fi
- case "$curl_win32_file_api" in
- win32_large_files)
- { echo "$as_me:$LINENO: result: yes (large file enabled)" >&5
-echo "${ECHO_T}yes (large file enabled)" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define USE_WIN32_LARGE_FILES 1
-_ACEOF
-
- ;;
- win32_small_files)
- { echo "$as_me:$LINENO: result: yes (large file disabled)" >&5
-echo "${ECHO_T}yes (large file disabled)" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define USE_WIN32_LARGE_FILES 1
-_ACEOF
-
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-
-
-{ echo "$as_me:$LINENO: checking whether to support http" >&5
-echo $ECHO_N "checking whether to support http... $ECHO_C" >&6; }
-# Check whether --enable-http was given.
-if test "${enable_http+set}" = set; then
- enableval=$enable_http; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_HTTP 1
-_ACEOF
-
- { echo "$as_me:$LINENO: WARNING: disable HTTP disables FTP over proxy" >&5
-echo "$as_me: WARNING: disable HTTP disables FTP over proxy" >&2;}
- CURL_DISABLE_HTTP=1
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to support ftp" >&5
-echo $ECHO_N "checking whether to support ftp... $ECHO_C" >&6; }
-# Check whether --enable-ftp was given.
-if test "${enable_ftp+set}" = set; then
- enableval=$enable_ftp; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_FTP 1
-_ACEOF
-
- CURL_DISABLE_FTP=1
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to support file" >&5
-echo $ECHO_N "checking whether to support file... $ECHO_C" >&6; }
-# Check whether --enable-file was given.
-if test "${enable_file+set}" = set; then
- enableval=$enable_file; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_FILE 1
-_ACEOF
-
- CURL_DISABLE_FILE=1
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to support ldap" >&5
-echo $ECHO_N "checking whether to support ldap... $ECHO_C" >&6; }
-# Check whether --enable-ldap was given.
-if test "${enable_ldap+set}" = set; then
- enableval=$enable_ldap; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAP 1
-_ACEOF
-
- CURL_DISABLE_LDAP=1
-
- ;;
- *)
- case $host in
- *-*-cygwin*)
- # Force no ldap. config/build process is broken for cygwin
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAP 1
-_ACEOF
-
- CURL_DISABLE_LDAP=1
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *)
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- esac
- ;;
- esac
-else
-
- case $host in
- *-*-cygwin*)
- # Force no ldap. config/build process is broken for cygwin
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAP 1
-_ACEOF
-
- CURL_DISABLE_LDAP=1
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *)
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- esac
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to support ldaps" >&5
-echo $ECHO_N "checking whether to support ldaps... $ECHO_C" >&6; }
-# Check whether --enable-ldaps was given.
-if test "${enable_ldaps+set}" = set; then
- enableval=$enable_ldaps; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAPS 1
-_ACEOF
-
- CURL_DISABLE_LDAPS=1
-
- ;;
- *) if test x$CURL_DISABLE_LDAP = x1 ; then
- { echo "$as_me:$LINENO: result: LDAP support needs to be enabled in order to enable LDAPS support!" >&5
-echo "${ECHO_T}LDAP support needs to be enabled in order to enable LDAPS support!" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAPS 1
-_ACEOF
-
- CURL_DISABLE_LDAPS=1
-
- else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LDAP_SSL 1
-_ACEOF
-
- curl_ldaps_msg="enabled"
- fi
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAPS 1
-_ACEOF
-
- CURL_DISABLE_LDAPS=1
-
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to support dict" >&5
-echo $ECHO_N "checking whether to support dict... $ECHO_C" >&6; }
-# Check whether --enable-dict was given.
-if test "${enable_dict+set}" = set; then
- enableval=$enable_dict; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_DICT 1
-_ACEOF
-
- CURL_DISABLE_DICT=1
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to support telnet" >&5
-echo $ECHO_N "checking whether to support telnet... $ECHO_C" >&6; }
-# Check whether --enable-telnet was given.
-if test "${enable_telnet+set}" = set; then
- enableval=$enable_telnet; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_TELNET 1
-_ACEOF
-
- CURL_DISABLE_TELNET=1
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to support tftp" >&5
-echo $ECHO_N "checking whether to support tftp... $ECHO_C" >&6; }
-# Check whether --enable-tftp was given.
-if test "${enable_tftp+set}" = set; then
- enableval=$enable_tftp; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_TFTP 1
-_ACEOF
-
- CURL_DISABLE_TFTP=1
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking whether to provide built-in manual" >&5
-echo $ECHO_N "checking whether to provide built-in manual... $ECHO_C" >&6; }
-# Check whether --enable-manual was given.
-if test "${enable_manual+set}" = set; then
- enableval=$enable_manual; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- USE_MANUAL="1"
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- USE_MANUAL="1"
-
-fi
-
-
-
- ICC="no"
- { echo "$as_me:$LINENO: checking for icc in use" >&5
-echo $ECHO_N "checking for icc in use... $ECHO_C" >&6; }
- if test "$GCC" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-__INTEL_COMPILER
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "^__INTEL_COMPILER" >/dev/null 2>&1; then
- ICC="no"
-else
- ICC="yes"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- CFLAGS="$CFLAGS -we 147"
-
-fi
-rm -f conftest*
-
- fi
- if test "$ICC" = "no"; then
- # this is not ICC
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
-
-
-
-{ echo "$as_me:$LINENO: checking for gethostbyname" >&5
-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; }
-if test "${ac_cv_func_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define gethostbyname innocuous_gethostbyname
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyname (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gethostbyname
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_gethostbyname || defined __stub___gethostbyname
-choke me
-#endif
-
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_gethostbyname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; }
-if test $ac_cv_func_gethostbyname = yes; then
- HAVE_GETHOSTBYNAME="1"
-
-else
- { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_nsl_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_nsl_gethostbyname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test $ac_cv_lib_nsl_gethostbyname = yes; then
- HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lnsl"
-
-fi
-
-
-fi
-
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- { echo "$as_me:$LINENO: checking for gethostbyname in -lsocket" >&5
-echo $ECHO_N "checking for gethostbyname in -lsocket... $ECHO_C" >&6; }
-if test "${ac_cv_lib_socket_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_socket_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_socket_gethostbyname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_gethostbyname" >&6; }
-if test $ac_cv_lib_socket_gethostbyname = yes; then
- HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lsocket"
-
-fi
-
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- { echo "$as_me:$LINENO: checking for gethostbyname with both nsl and socket libs" >&5
-echo $ECHO_N "checking for gethostbyname with both nsl and socket libs... $ECHO_C" >&6; }
- my_ac_save_LIBS=$LIBS
- LIBS="-lnsl -lsocket $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
- gethostbyname();
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- HAVE_GETHOSTBYNAME="1"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- LIBS=$my_ac_save_LIBS
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- if test "$ac_cv_header_windows_h" = "yes"; then
- if test "$ac_cv_header_winsock_h" = "yes"; then
- case $host in
- *-*-mingw32ce*)
- winsock_LIB="-lwinsock"
- ;;
- *)
- winsock_LIB="-lwsock32"
- ;;
- esac
- fi
- if test "$ac_cv_header_winsock2_h" = "yes"; then
- winsock_LIB="-lws2_32"
- fi
- if test ! -z "$winsock_LIB"; then
- my_ac_save_LIBS=$LIBS
- LIBS="$winsock_LIB $LIBS"
- { echo "$as_me:$LINENO: checking for gethostbyname in $winsock_LIB" >&5
-echo $ECHO_N "checking for gethostbyname in $winsock_LIB... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-
-int
-main ()
-{
-
- gethostbyname("www.dummysite.com");
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- HAVE_GETHOSTBYNAME="1"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- winsock_LIB=""
- LIBS=$my_ac_save_LIBS
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- fi
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- { echo "$as_me:$LINENO: checking for gethostbyname for Minix 3" >&5
-echo $ECHO_N "checking for gethostbyname for Minix 3... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Older Minix versions may need <net/gen/netdb.h> here instead */
-#include <netdb.h>
-
-int
-main ()
-{
-
- gethostbyname("www.dummysite.com");
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- HAVE_GETHOSTBYNAME="1"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- { echo "$as_me:$LINENO: checking for gethostbyname for eCos" >&5
-echo $ECHO_N "checking for gethostbyname for eCos... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <netdb.h>
-
-int
-main ()
-{
-
- gethostbyname("www.dummysite.com");
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- HAVE_GETHOSTBYNAME="1"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- { echo "$as_me:$LINENO: checking for gethostbyname in -lnetwork" >&5
-echo $ECHO_N "checking for gethostbyname in -lnetwork... $ECHO_C" >&6; }
-if test "${ac_cv_lib_network_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnetwork $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_network_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_network_gethostbyname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_network_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_network_gethostbyname" >&6; }
-if test $ac_cv_lib_network_gethostbyname = yes; then
- HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lnetwork"
-
-fi
-
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- { echo "$as_me:$LINENO: checking for gethostbyname in -lnet" >&5
-echo $ECHO_N "checking for gethostbyname in -lnet... $ECHO_C" >&6; }
-if test "${ac_cv_lib_net_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnet $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_net_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_net_gethostbyname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_net_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_net_gethostbyname" >&6; }
-if test $ac_cv_lib_net_gethostbyname = yes; then
- HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lnet"
-
-fi
-
-fi
-
-
-if test "$HAVE_GETHOSTBYNAME" = "1"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME 1
-_ACEOF
-
-else
- { { echo "$as_me:$LINENO: error: couldn't find libraries for gethostbyname()" >&5
-echo "$as_me: error: couldn't find libraries for gethostbyname()" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-{ echo "$as_me:$LINENO: checking for strcasecmp" >&5
-echo $ECHO_N "checking for strcasecmp... $ECHO_C" >&6; }
-if test "${ac_cv_func_strcasecmp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define strcasecmp to an innocuous variant, in case <limits.h> declares strcasecmp.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define strcasecmp innocuous_strcasecmp
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char strcasecmp (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef strcasecmp
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strcasecmp ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_strcasecmp || defined __stub___strcasecmp
-choke me
-#endif
-
-int
-main ()
-{
-return strcasecmp ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_strcasecmp=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_strcasecmp=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_strcasecmp" >&5
-echo "${ECHO_T}$ac_cv_func_strcasecmp" >&6; }
-if test $ac_cv_func_strcasecmp = yes; then
- :
-else
-
-{ echo "$as_me:$LINENO: checking for strcasecmp in -lresolve" >&5
-echo $ECHO_N "checking for strcasecmp in -lresolve... $ECHO_C" >&6; }
-if test "${ac_cv_lib_resolve_strcasecmp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lresolve $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strcasecmp ();
-int
-main ()
-{
-return strcasecmp ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_resolve_strcasecmp=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_resolve_strcasecmp=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_resolve_strcasecmp" >&5
-echo "${ECHO_T}$ac_cv_lib_resolve_strcasecmp" >&6; }
-if test $ac_cv_lib_resolve_strcasecmp = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRESOLVE 1
-_ACEOF
-
- LIBS="-lresolve $LIBS"
-
-fi
-
-fi
-
-
-if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
- { echo "$as_me:$LINENO: checking for strcasecmp in -lresolve" >&5
-echo $ECHO_N "checking for strcasecmp in -lresolve... $ECHO_C" >&6; }
-if test "${ac_cv_lib_resolve_strcasecmp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lresolve -lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strcasecmp ();
-int
-main ()
-{
-return strcasecmp ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_resolve_strcasecmp=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_resolve_strcasecmp=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_resolve_strcasecmp" >&5
-echo "${ECHO_T}$ac_cv_lib_resolve_strcasecmp" >&6; }
-if test $ac_cv_lib_resolve_strcasecmp = yes; then
- LIBS="-lresolve $LIBS"
-fi
-
-fi
-
-{ echo "$as_me:$LINENO: checking for connect" >&5
-echo $ECHO_N "checking for connect... $ECHO_C" >&6; }
-if test "${ac_cv_func_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define connect to an innocuous variant, in case <limits.h> declares connect.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define connect innocuous_connect
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char connect (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef connect
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_connect || defined __stub___connect
-choke me
-#endif
-
-int
-main ()
-{
-return connect ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_connect=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_connect=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
-echo "${ECHO_T}$ac_cv_func_connect" >&6; }
-if test $ac_cv_func_connect = yes; then
- :
-else
-
-{ echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
-echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_socket_connect=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_socket_connect=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; }
-if test $ac_cv_lib_socket_connect = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
- LIBS="-lsocket $LIBS"
-
-fi
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
-if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_time=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_time=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
-
-fi
-
-
-
-
-
-for ac_header in sys/types.h sys/time.h time.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- { echo "$as_me:$LINENO: checking for monotonic clock_gettime" >&5
-echo $ECHO_N "checking for monotonic clock_gettime... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- struct timespec ts;
- (void)clock_gettime(CLOCK_MONOTONIC, &ts);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ac_cv_func_clock_gettime="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ac_cv_func_clock_gettime="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
- #
- if test "$ac_cv_func_clock_gettime" = "yes"; then
- #
- { echo "$as_me:$LINENO: checking for clock_gettime in libraries" >&5
-echo $ECHO_N "checking for clock_gettime in libraries... $ECHO_C" >&6; }
- #
- curl_cv_save_LIBS="$LIBS"
- curl_cv_gclk_LIBS="unknown"
- #
- for x_xlibs in '' '-lrt' '-lposix4' ; do
- if test "$curl_cv_gclk_LIBS" = "unknown"; then
- if test -z "$x_xlibs"; then
- LIBS="$curl_cv_save_LIBS"
- else
- LIBS="$x_xlibs $curl_cv_save_LIBS"
- fi
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- struct timespec ts;
- (void)clock_gettime(CLOCK_MONOTONIC, &ts);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- curl_cv_gclk_LIBS="$x_xlibs"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- done
- #
- LIBS="$curl_cv_save_LIBS"
- #
- case X-"$curl_cv_gclk_LIBS" in
- X-unknown)
- { echo "$as_me:$LINENO: result: cannot find clock_gettime" >&5
-echo "${ECHO_T}cannot find clock_gettime" >&6; }
- { echo "$as_me:$LINENO: WARNING: HAVE_CLOCK_GETTIME_MONOTONIC will not be defined" >&5
-echo "$as_me: WARNING: HAVE_CLOCK_GETTIME_MONOTONIC will not be defined" >&2;}
- ac_cv_func_clock_gettime="no"
- ;;
- X-)
- { echo "$as_me:$LINENO: result: no additional lib required" >&5
-echo "${ECHO_T}no additional lib required" >&6; }
- ac_cv_func_clock_gettime="yes"
- ;;
- *)
- if test -z "$curl_cv_save_LIBS"; then
- LIBS="$curl_cv_gclk_LIBS"
- else
- LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS"
- fi
- { echo "$as_me:$LINENO: result: $curl_cv_gclk_LIBS" >&5
-echo "${ECHO_T}$curl_cv_gclk_LIBS" >&6; }
- ac_cv_func_clock_gettime="yes"
- ;;
- esac
- #
- if test "x$cross_compiling" != "xyes" &&
- test "$ac_cv_func_clock_gettime" = "yes"; then
- { echo "$as_me:$LINENO: checking if monotonic clock_gettime works" >&5
-echo $ECHO_N "checking if monotonic clock_gettime works... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- struct timespec ts;
- if (0 == clock_gettime(CLOCK_MONOTONIC, &ts))
- exit(0);
- else
- exit(1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING: HAVE_CLOCK_GETTIME_MONOTONIC will not be defined" >&5
-echo "$as_me: WARNING: HAVE_CLOCK_GETTIME_MONOTONIC will not be defined" >&2;}
- ac_cv_func_clock_gettime="no"
- LIBS="$curl_cv_save_LIBS"
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
- fi
- #
- case "$ac_cv_func_clock_gettime" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_CLOCK_GETTIME_MONOTONIC 1
-_ACEOF
-
- ;;
- esac
- #
- fi
- #
-
-
-TEST_SERVER_LIBS=$LIBS
-
-{ echo "$as_me:$LINENO: checking whether to use libgcc" >&5
-echo $ECHO_N "checking whether to use libgcc... $ECHO_C" >&6; }
-# Check whether --enable-libgcc was given.
-if test "${enable_libgcc+set}" = set; then
- enableval=$enable_libgcc; case "$enableval" in
- yes)
- ALL_LIBS="$ALL_LIBS -lgcc"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- *) { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-
-
-LDAPLIBNAME=""
-
-# Check whether --with-ldap-lib was given.
-if test "${with_ldap_lib+set}" = set; then
- withval=$with_ldap_lib; LDAPLIBNAME="$withval"
-fi
-
-
-LBERLIBNAME=""
-
-# Check whether --with-lber-lib was given.
-if test "${with_lber_lib+set}" = set; then
- withval=$with_lber_lib; LBERLIBNAME="$withval"
-fi
-
-
-if test x$CURL_DISABLE_LDAP != x1 ; then
-
-
- { echo "$as_me:$LINENO: checking for lber.h" >&5
-echo $ECHO_N "checking for lber.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_lber_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#include <lber.h>
-
-int
-main ()
-{
-
- BerValue *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- ber_free(bep, 1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_lber_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_lber_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_lber_h" >&5
-echo "${ECHO_T}$ac_cv_header_lber_h" >&6; }
- if test "$ac_cv_header_lber_h" = "yes"; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LBER_H 1
-_ACEOF
-
- #
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#include <ldap.h>
-
-int
-main ()
-{
-
- BerValue *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- ber_free(bep, 1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_need_header_lber_h="no"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- curl_cv_need_header_lber_h="yes"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- #
- case "$curl_cv_need_header_lber_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define NEED_LBER_H 1
-_ACEOF
-
- ;;
- esac
- fi
-
-
- { echo "$as_me:$LINENO: checking for ldap.h" >&5
-echo $ECHO_N "checking for ldap.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_ldap_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#include <ldap.h>
-
-int
-main ()
-{
-
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- int res = ldap_unbind(ldp);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_ldap_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_ldap_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_ldap_h" >&5
-echo "${ECHO_T}$ac_cv_header_ldap_h" >&6; }
- case "$ac_cv_header_ldap_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LDAP_H 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking for ldapssl.h" >&5
-echo $ECHO_N "checking for ldapssl.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_ldapssl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#ifdef HAVE_LDAP_H
-#include <ldap.h>
-#endif
-#include <ldapssl.h>
-
-int
-main ()
-{
-
- char *cert_label = NULL;
- LDAP *ldp = ldap_ssl_init("dummy", LDAPS_PORT, cert_label);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_ldapssl_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_ldapssl_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_ldapssl_h" >&5
-echo "${ECHO_T}$ac_cv_header_ldapssl_h" >&6; }
- case "$ac_cv_header_ldapssl_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LDAPSSL_H 1
-_ACEOF
-
- ;;
- esac
-
-
- { echo "$as_me:$LINENO: checking for ldap_ssl.h" >&5
-echo $ECHO_N "checking for ldap_ssl.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_ldap_ssl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#ifdef HAVE_LDAP_H
-#include <ldap.h>
-#endif
-#include <ldap_ssl.h>
-
-int
-main ()
-{
-
- LDAP *ldp = ldapssl_init("dummy", LDAPS_PORT, 1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_ldap_ssl_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_ldap_ssl_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_ldap_ssl_h" >&5
-echo "${ECHO_T}$ac_cv_header_ldap_ssl_h" >&6; }
- case "$ac_cv_header_ldap_ssl_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LDAP_SSL_H 1
-_ACEOF
-
- ;;
- esac
-
-
- if test -z "$LDAPLIBNAME" ; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32*)
- LDAPLIBNAME="wldap32"
- LBERLIBNAME="no"
- ;;
- esac
- fi
-
- if test "$LDAPLIBNAME" ; then
-
-as_ac_Lib=`echo "ac_cv_lib_"$LDAPLIBNAME"''_ldap_init" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for ldap_init in -l\"$LDAPLIBNAME\"" >&5
-echo $ECHO_N "checking for ldap_init in -l\"$LDAPLIBNAME\"... $ECHO_C" >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-l"$LDAPLIBNAME" $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ldap_init ();
-int
-main ()
-{
-return ldap_init ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_Lib=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Lib=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-ac_res=`eval echo '${'$as_ac_Lib'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_LIB"$LDAPLIBNAME"" | $as_tr_cpp` 1
-_ACEOF
-
- LIBS="-l"$LDAPLIBNAME" $LIBS"
-
-else
-
- { echo "$as_me:$LINENO: WARNING: \"$LDAPLIBNAME\" is not an LDAP library: LDAP disabled" >&5
-echo "$as_me: WARNING: \"$LDAPLIBNAME\" is not an LDAP library: LDAP disabled" >&2;}
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAP 1
-_ACEOF
-
- CURL_DISABLE_LDAP=1
-
-fi
-
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAPS 1
-_ACEOF
-
- CURL_DISABLE_LDAPS=1
-
- else
-
- #
- { echo "$as_me:$LINENO: checking for LDAP libraries" >&5
-echo $ECHO_N "checking for LDAP libraries... $ECHO_C" >&6; }
- #
- u_libs=""
- #
-
- #
- curl_cv_save_LIBS="$LIBS"
- curl_cv_ldap_LIBS="unknown"
- #
- for x_nlibs in '' "$u_libs" \
- '-lldap' \
- '-llber -lldap' \
- '-lldap -llber' \
- '-lldapssl -lldapx -lldapsdk' \
- '-lldapsdk -lldapx -lldapssl' ; do
- if test "$curl_cv_ldap_LIBS" = "unknown"; then
- if test -z "$x_nlibs"; then
- LIBS="$curl_cv_save_LIBS"
- else
- LIBS="$x_nlibs $curl_cv_save_LIBS"
- fi
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#endif
-#ifndef NULL
-#define NULL (void *)0
-#endif
-#ifndef LDAP_DEPRECATED
-#define LDAP_DEPRECATED 1
-#endif
-#ifdef NEED_LBER_H
-#include <lber.h>
-#endif
-#ifdef HAVE_LDAP_H
-#include <ldap.h>
-#endif
-
-int
-main ()
-{
-
- BerValue *bvp = NULL;
- BerElement *bep = ber_init(bvp);
- LDAP *ldp = ldap_init("dummy", LDAP_PORT);
- int res = ldap_unbind(ldp);
- ber_free(bep, 1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- curl_cv_ldap_LIBS="$x_nlibs"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- done
- #
- LIBS="$curl_cv_save_LIBS"
- #
- case X-"$curl_cv_ldap_LIBS" in
- X-unknown)
- { echo "$as_me:$LINENO: result: cannot find LDAP libraries" >&5
-echo "${ECHO_T}cannot find LDAP libraries" >&6; }
- ;;
- X-)
- { echo "$as_me:$LINENO: result: no additional lib required" >&5
-echo "${ECHO_T}no additional lib required" >&6; }
- ;;
- *)
- if test -z "$curl_cv_save_LIBS"; then
- LIBS="$curl_cv_ldap_LIBS"
- else
- LIBS="$curl_cv_ldap_LIBS $curl_cv_save_LIBS"
- fi
- { echo "$as_me:$LINENO: result: $curl_cv_ldap_LIBS" >&5
-echo "${ECHO_T}$curl_cv_ldap_LIBS" >&6; }
- ;;
- esac
- #
-
- case X-"$curl_cv_ldap_LIBS" in
- X-unknown)
- { echo "$as_me:$LINENO: WARNING: Cannot find libraries for LDAP support: LDAP disabled" >&5
-echo "$as_me: WARNING: Cannot find libraries for LDAP support: LDAP disabled" >&2;}
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAP 1
-_ACEOF
-
- CURL_DISABLE_LDAP=1
-
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAPS 1
-_ACEOF
-
- CURL_DISABLE_LDAPS=1
-
- ;;
- esac
- fi
-fi
-
-if test x$CURL_DISABLE_LDAP != x1 ; then
-
- if test "$LBERLIBNAME" ; then
- if test "$LBERLIBNAME" != "no" ; then
-
-as_ac_Lib=`echo "ac_cv_lib_"$LBERLIBNAME"''_ber_free" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for ber_free in -l\"$LBERLIBNAME\"" >&5
-echo $ECHO_N "checking for ber_free in -l\"$LBERLIBNAME\"... $ECHO_C" >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-l"$LBERLIBNAME" $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ber_free ();
-int
-main ()
-{
-return ber_free ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_Lib=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Lib=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-ac_res=`eval echo '${'$as_ac_Lib'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_LIB"$LBERLIBNAME"" | $as_tr_cpp` 1
-_ACEOF
-
- LIBS="-l"$LBERLIBNAME" $LIBS"
-
-else
-
- { echo "$as_me:$LINENO: WARNING: \"$LBERLIBNAME\" is not an LBER library: LDAP disabled" >&5
-echo "$as_me: WARNING: \"$LBERLIBNAME\" is not an LBER library: LDAP disabled" >&2;}
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAP 1
-_ACEOF
-
- CURL_DISABLE_LDAP=1
-
-fi
-
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_LDAPS 1
-_ACEOF
-
- CURL_DISABLE_LDAPS=1
-
- fi
- fi
-fi
-
-if test x$CURL_DISABLE_LDAP != x1 ; then
-
-for ac_func in ldap_url_parse
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
- if test "$LDAPLIBNAME" = "wldap32"; then
- curl_ldap_msg="enabled (winldap)"
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_LDAP_WIN 1
-_ACEOF
-
- case $host in
- *-*-cygwin* | *-*-pw32*)
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_LDAP_HYBRID 1
-_ACEOF
-
- ;;
- esac
- else
- curl_ldap_msg="enabled (OpenLDAP)"
- fi
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable ipv6" >&5
-echo $ECHO_N "checking whether to enable ipv6... $ECHO_C" >&6; }
-# Check whether --enable-ipv6 was given.
-if test "${enable_ipv6+set}" = set; then
- enableval=$enable_ipv6; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ipv6=no
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ipv6=yes
- ;;
- esac
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ipv6=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- /* is AF_INET6 available? */
-#include <sys/types.h>
-#include <sys/socket.h>
-main()
-{
- if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
- exit(1);
- else
- exit(0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ipv6=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ipv6=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-
-
-if test "$ipv6" = "yes"; then
- curl_ipv6_msg="enabled"
-fi
-
-# Check whether --enable-nonblocking was given.
-if test "${enable_nonblocking+set}" = set; then
- enableval=$enable_nonblocking;
- if test "$enableval" = "no" ; then
- { echo "$as_me:$LINENO: WARNING: non-blocking sockets disabled" >&5
-echo "$as_me: WARNING: non-blocking sockets disabled" >&2;}
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DISABLED_NONBLOCKING 1
-_ACEOF
-
- else
-
- { echo "$as_me:$LINENO: checking non-blocking sockets style" >&5
-echo $ECHO_N "checking non-blocking sockets style... $ECHO_C" >&6; }
- nonblock="unknown"
- #
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for O_NONBLOCK test */
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-/* */
-#if defined(sun) || defined(__sun__) || \
- defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-# if defined(__SVR4) || defined(__srv4__)
-# define PLATFORM_SOLARIS
-# else
-# define PLATFORM_SUNOS4
-# endif
-#endif
-#if (defined(_AIX) || defined(__xlC__)) && !defined(_AIX41)
-# define PLATFORM_AIX_V3
-#endif
-/* */
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
-#error "O_NONBLOCK does not work on this platform"
-#endif
-
-int
-main ()
-{
-
- /* O_NONBLOCK source test */
- int socket;
- int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="O_NONBLOCK"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_O_NONBLOCK 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for FIONBIO test */
-#include <unistd.h>
-#include <stropts.h>
-
-int
-main ()
-{
-
- /* FIONBIO source test (old-style unix) */
- int socket;
- int flags = ioctl(socket, FIONBIO, &flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="FIONBIO"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FIONBIO 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for ioctlsocket test (Windows) */
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-
-int
-main ()
-{
-
- /* ioctlsocket source code (Windows) */
- SOCKET sd;
- unsigned long flags = 0;
- sd = socket(0, 0, 0);
- ioctlsocket(sd, FIONBIO, &flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="ioctlsocket"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IOCTLSOCKET 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for IoctlSocket test (Amiga?) */
-#include <sys/ioctl.h>
-
-int
-main ()
-{
-
- /* IoctlSocket source code (Amiga?) */
- int socket;
- int flags = IoctlSocket(socket, FIONBIO, (long)1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- nonblock="IoctlSocket"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IOCTLSOCKET_CASE 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for SO_NONBLOCK test (BeOS) */
-#include <socket.h>
-
-int
-main ()
-{
-
- /* SO_NONBLOCK source code (BeOS) */
- long b = 1;
- int socket;
- int flags = setsockopt(socket, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="SO_NONBLOCK"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SO_NONBLOCK 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- #
- { echo "$as_me:$LINENO: result: $nonblock" >&5
-echo "${ECHO_T}$nonblock" >&6; }
- #
- if test "$nonblock" = "unknown"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DISABLED_NONBLOCKING 1
-_ACEOF
-
- { echo "$as_me:$LINENO: WARNING: non-block sockets disabled" >&5
-echo "$as_me: WARNING: non-block sockets disabled" >&2;}
- fi
-
- fi
-
-else
-
-
- { echo "$as_me:$LINENO: checking non-blocking sockets style" >&5
-echo $ECHO_N "checking non-blocking sockets style... $ECHO_C" >&6; }
- nonblock="unknown"
- #
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for O_NONBLOCK test */
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-/* */
-#if defined(sun) || defined(__sun__) || \
- defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-# if defined(__SVR4) || defined(__srv4__)
-# define PLATFORM_SOLARIS
-# else
-# define PLATFORM_SUNOS4
-# endif
-#endif
-#if (defined(_AIX) || defined(__xlC__)) && !defined(_AIX41)
-# define PLATFORM_AIX_V3
-#endif
-/* */
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
-#error "O_NONBLOCK does not work on this platform"
-#endif
-
-int
-main ()
-{
-
- /* O_NONBLOCK source test */
- int socket;
- int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="O_NONBLOCK"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_O_NONBLOCK 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for FIONBIO test */
-#include <unistd.h>
-#include <stropts.h>
-
-int
-main ()
-{
-
- /* FIONBIO source test (old-style unix) */
- int socket;
- int flags = ioctl(socket, FIONBIO, &flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="FIONBIO"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FIONBIO 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for ioctlsocket test (Windows) */
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-
-int
-main ()
-{
-
- /* ioctlsocket source code (Windows) */
- SOCKET sd;
- unsigned long flags = 0;
- sd = socket(0, 0, 0);
- ioctlsocket(sd, FIONBIO, &flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="ioctlsocket"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IOCTLSOCKET 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for IoctlSocket test (Amiga?) */
-#include <sys/ioctl.h>
-
-int
-main ()
-{
-
- /* IoctlSocket source code (Amiga?) */
- int socket;
- int flags = IoctlSocket(socket, FIONBIO, (long)1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- nonblock="IoctlSocket"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IOCTLSOCKET_CASE 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$nonblock" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* headers for SO_NONBLOCK test (BeOS) */
-#include <socket.h>
-
-int
-main ()
-{
-
- /* SO_NONBLOCK source code (BeOS) */
- long b = 1;
- int socket;
- int flags = setsockopt(socket, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- nonblock="SO_NONBLOCK"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SO_NONBLOCK 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- #
- { echo "$as_me:$LINENO: result: $nonblock" >&5
-echo "${ECHO_T}$nonblock" >&6; }
- #
- if test "$nonblock" = "unknown"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DISABLED_NONBLOCKING 1
-_ACEOF
-
- { echo "$as_me:$LINENO: WARNING: non-block sockets disabled" >&5
-echo "$as_me: WARNING: non-block sockets disabled" >&2;}
- fi
-
-
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking if argv can be written to" >&5
-echo $ECHO_N "checking if argv can be written to... $ECHO_C" >&6; }
-if test "${curl_cv_writable_argv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-if test "$cross_compiling" = yes; then
- curl_cv_writable_argv=cross
-else
- cat >conftest.$ac_ext <<_ACEOF
-
-int main(int argc, char ** argv) {
- argv[0][0] = ' ';
- return (argv[0][0] == ' ')?0:1;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- curl_cv_writable_argv=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-curl_cv_writable_argv=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-fi
-
-case $curl_cv_writable_argv in
-yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WRITABLE_ARGV 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
-no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
-*)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING: the previous check could not be made default was used" >&5
-echo "$as_me: WARNING: the previous check could not be made default was used" >&2;}
- ;;
-esac
-
-
-
-# Check whether --with-krb4-includes was given.
-if test "${with_krb4_includes+set}" = set; then
- withval=$with_krb4_includes;
- CPPFLAGS="$CPPFLAGS -I$withval"
- KRB4INC="$withval"
- want_krb4=yes
-
-fi
-
-
-
-# Check whether --with-krb4-libs was given.
-if test "${with_krb4_libs+set}" = set; then
- withval=$with_krb4_libs;
- LDFLAGS="$LDFLAGS -L$withval"
- KRB4LIB="$withval"
- want_krb4=yes
-
-fi
-
-
-
-OPT_KRB4=off
-
-# Check whether --with-krb4 was given.
-if test "${with_krb4+set}" = set; then
- withval=$with_krb4;
- OPT_KRB4="$withval"
- if test X"$OPT_KRB4" != Xno; then
- want_krb4="yes"
- if test X"$OPT_KRB4" != Xyes; then
- LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib$libsuff"
- KRB4LIB="$OPT_KRB4/lib$libsuff"
- CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
- KRB4INC="$OPT_KRB4/include"
- fi
- fi
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking if Kerberos4 support is requested" >&5
-echo $ECHO_N "checking if Kerberos4 support is requested... $ECHO_C" >&6; }
-
-if test "$want_krb4" = yes
-then
- if test "$ipv6" = "yes"; then
- echo krb4 is not compatible with IPv6
- exit 1
- fi
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
- { echo "$as_me:$LINENO: checking where to look for Kerberos4" >&5
-echo $ECHO_N "checking where to look for Kerberos4... $ECHO_C" >&6; }
- if test X"$OPT_KRB4" = Xyes
- then
- { echo "$as_me:$LINENO: result: defaults" >&5
-echo "${ECHO_T}defaults" >&6; }
- else
- { echo "$as_me:$LINENO: result: libs in $KRB4LIB, headers in $KRB4INC" >&5
-echo "${ECHO_T}libs in $KRB4LIB, headers in $KRB4INC" >&6; }
- fi
-
- { echo "$as_me:$LINENO: checking for des_pcbc_encrypt in -ldes" >&5
-echo $ECHO_N "checking for des_pcbc_encrypt in -ldes... $ECHO_C" >&6; }
-if test "${ac_cv_lib_des_des_pcbc_encrypt+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldes $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char des_pcbc_encrypt ();
-int
-main ()
-{
-return des_pcbc_encrypt ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_des_des_pcbc_encrypt=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_des_des_pcbc_encrypt=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_des_des_pcbc_encrypt" >&5
-echo "${ECHO_T}$ac_cv_lib_des_des_pcbc_encrypt" >&6; }
-if test $ac_cv_lib_des_des_pcbc_encrypt = yes; then
-
-
-for ac_header in des.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- { echo "$as_me:$LINENO: checking for res_search" >&5
-echo $ECHO_N "checking for res_search... $ECHO_C" >&6; }
-if test "${ac_cv_func_res_search+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define res_search to an innocuous variant, in case <limits.h> declares res_search.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define res_search innocuous_res_search
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char res_search (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef res_search
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char res_search ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_res_search || defined __stub___res_search
-choke me
-#endif
-
-int
-main ()
-{
-return res_search ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_res_search=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_res_search=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_res_search" >&5
-echo "${ECHO_T}$ac_cv_func_res_search" >&6; }
-if test $ac_cv_func_res_search = yes; then
- :
-else
-
-{ echo "$as_me:$LINENO: checking for res_search in -lresolv" >&5
-echo $ECHO_N "checking for res_search in -lresolv... $ECHO_C" >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lresolv $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char res_search ();
-int
-main ()
-{
-return res_search ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_resolv_res_search=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_resolv_res_search=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_res_search" >&5
-echo "${ECHO_T}$ac_cv_lib_resolv_res_search" >&6; }
-if test $ac_cv_lib_resolv_res_search = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRESOLV 1
-_ACEOF
-
- LIBS="-lresolv $LIBS"
-
-fi
-
-fi
-
-
- { echo "$as_me:$LINENO: checking for krb_net_read in -lkrb" >&5
-echo $ECHO_N "checking for krb_net_read in -lkrb... $ECHO_C" >&6; }
-if test "${ac_cv_lib_krb_krb_net_read+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkrb $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char krb_net_read ();
-int
-main ()
-{
-return krb_net_read ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_krb_krb_net_read=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_krb_krb_net_read=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_krb_krb_net_read" >&5
-echo "${ECHO_T}$ac_cv_lib_krb_krb_net_read" >&6; }
-if test $ac_cv_lib_krb_krb_net_read = yes; then
-
-
-for ac_header in krb.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- LIBS="-lkrb -lcom_err -ldes $LIBS"
-
-
-for ac_func in krb_get_our_ip_for_realm
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KRB4 1
-_ACEOF
-
-
- KRB4_ENABLED=1
-
-
- curl_krb4_msg="enabled"
-
-
-for ac_func in strlcpy
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-fi
-
-
-fi
-
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-
-# Check whether --with-spnego was given.
-if test "${with_spnego+set}" = set; then
- withval=$with_spnego;
- SPNEGO_ROOT="$withval"
- if test x"$SPNEGO_ROOT" != xno; then
- want_spnego="yes"
- fi
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking if SPNEGO support is requested" >&5
-echo $ECHO_N "checking if SPNEGO support is requested... $ECHO_C" >&6; }
-if test x"$want_spnego" = xyes; then
-
- if test X"$SPNEGO_ROOT" = Xyes; then
- { { echo "$as_me:$LINENO: error: FBOpenSSL libs and/or directories were not found where specified!" >&5
-echo "$as_me: error: FBOpenSSL libs and/or directories were not found where specified!" >&2;}
- { (exit 1); exit 1; }; }
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- else
- if test -z "$SPNEGO_LIB_DIR"; then
- LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
- else
- LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
- fi
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SPNEGO 1
-_ACEOF
-
- curl_spnego_msg="enabled"
- fi
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-
-GSSAPI_ROOT="/usr"
-
-# Check whether --with-gssapi-includes was given.
-if test "${with_gssapi_includes+set}" = set; then
- withval=$with_gssapi_includes; GSSAPI_INCS="-I$withval"
- want_gss="yes"
-
-fi
-
-
-
-# Check whether --with-gssapi-libs was given.
-if test "${with_gssapi_libs+set}" = set; then
- withval=$with_gssapi_libs; GSSAPI_LIB_DIR="-L$withval"
- want_gss="yes"
-
-fi
-
-
-
-# Check whether --with-gssapi was given.
-if test "${with_gssapi+set}" = set; then
- withval=$with_gssapi;
- GSSAPI_ROOT="$withval"
- if test x"$GSSAPI_ROOT" != xno; then
- want_gss="yes"
- if test x"$GSSAPI_ROOT" = xyes; then
- GSSAPI_ROOT="/usr"
- fi
- fi
-
-fi
-
-
-save_CPPFLAGS="$CPPFLAGS"
-{ echo "$as_me:$LINENO: checking if GSSAPI support is requested" >&5
-echo $ECHO_N "checking if GSSAPI support is requested... $ECHO_C" >&6; }
-if test x"$want_gss" = xyes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
- if test -z "$GSSAPI_INCS"; then
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
- GSSAPI_LIBS=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- elif test "$GSSAPI_ROOT" != "yes"; then
- GSSAPI_INCS="-I$GSSAPI_ROOT/include"
- GSSAPI_LIBS="-lgssapi"
- fi
- fi
-
- CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
- LIBS="$LIBS $GSSAPI_LIBS"
-
- if test "${ac_cv_header_gss_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for gss.h" >&5
-echo $ECHO_N "checking for gss.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_gss_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_gss_h" >&5
-echo "${ECHO_T}$ac_cv_header_gss_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking gss.h usability" >&5
-echo $ECHO_N "checking gss.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <gss.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking gss.h presence" >&5
-echo $ECHO_N "checking gss.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <gss.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: gss.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: gss.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: gss.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: gss.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: gss.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: gss.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: gss.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: gss.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: gss.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: gss.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: gss.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: gss.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: gss.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: gss.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: gss.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: gss.h: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for gss.h" >&5
-echo $ECHO_N "checking for gss.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_gss_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_gss_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_gss_h" >&5
-echo "${ECHO_T}$ac_cv_header_gss_h" >&6; }
-
-fi
-if test $ac_cv_header_gss_h = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GSSGNU 1
-_ACEOF
-
- gnu_gss=yes
-
-else
-
-
-
-
-for ac_header in gssapi/gssapi.h gssapi/gssapi_generic.h gssapi/gssapi_krb5.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-else
- not_mit=1
-fi
-
-done
-
- if test "x$not_mit" = "x1"; then
- if test "${ac_cv_header_gssapi_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for gssapi.h" >&5
-echo $ECHO_N "checking for gssapi.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_gssapi_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_gssapi_h" >&5
-echo "${ECHO_T}$ac_cv_header_gssapi_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking gssapi.h usability" >&5
-echo $ECHO_N "checking gssapi.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <gssapi.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking gssapi.h presence" >&5
-echo $ECHO_N "checking gssapi.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <gssapi.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: gssapi.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: gssapi.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: gssapi.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: gssapi.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: gssapi.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: gssapi.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: gssapi.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: gssapi.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: gssapi.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: gssapi.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: gssapi.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: gssapi.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: gssapi.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: gssapi.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: gssapi.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: gssapi.h: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for gssapi.h" >&5
-echo $ECHO_N "checking for gssapi.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_gssapi_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_gssapi_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_gssapi_h" >&5
-echo "${ECHO_T}$ac_cv_header_gssapi_h" >&6; }
-
-fi
-if test $ac_cv_header_gssapi_h = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GSSHEIMDAL 1
-_ACEOF
-
-
-else
-
- want_gss=no
- { echo "$as_me:$LINENO: WARNING: disabling GSSAPI since no header files was found" >&5
-echo "$as_me: WARNING: disabling GSSAPI since no header files was found" >&2;}
-
-
-fi
-
-
- else
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GSSMIT 1
-_ACEOF
-
- { echo "$as_me:$LINENO: checking if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE" >&5
-echo $ECHO_N "checking if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
-#include <gssapi/gssapi_krb5.h>
-
-int
-main ()
-{
-
- gss_import_name(
- (OM_uint32 *)0,
- (gss_buffer_t)0,
- GSS_C_NT_HOSTBASED_SERVICE,
- (gss_name_t *)0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_OLD_GSSMIT 1
-_ACEOF
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
-
-fi
-
-
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-if test x"$want_gss" = xyes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GSSAPI 1
-_ACEOF
-
-
- curl_gss_msg="enabled (MIT/Heimdal)"
-
- if test -n "$gnu_gss"; then
- curl_gss_msg="enabled (GNU GSS)"
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="$LIBS -lgss"
- elif test -z "$GSSAPI_LIB_DIR"; then
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- LIBS="$LIBS $gss_libs"
- elif test "$GSSAPI_ROOT" != "yes"; then
- LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
- LIBS="$LIBS -lgssapi"
- else
- LIBS="$LIBS -lgssapi"
- fi
- else
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="$LIBS -lgssapi"
- fi
-else
- CPPFLAGS="$save_CPPFLAGS"
-fi
-
-
-OPT_SSL=off
-ca="no"
-
-# Check whether --with-ssl was given.
-if test "${with_ssl+set}" = set; then
- withval=$with_ssl; OPT_SSL=$withval
-fi
-
-
-if test X"$OPT_SSL" != Xno; then
- CLEANLDFLAGS="$LDFLAGS"
- CLEANCPPFLAGS="$CPPFLAGS"
- CLEANLIBS="$LIBS"
-
- case "$OPT_SSL" in
- yes)
- if test x$cross_compiling != xyes; then
- PKGTEST="yes"
- fi
- PREFIX_OPENSSL=/usr/local/ssl
- LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
- ;;
- off)
- if test x$cross_compiling != xyes; then
- PKGTEST="yes"
- fi
- PREFIX_OPENSSL=
- ;;
- *)
- PKGTEST="no"
- PREFIX_OPENSSL=$OPT_SSL
- LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
- LDFLAGS="$LDFLAGS -L$LIB_OPENSSL"
- CPPFLAGS="$CPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
- ;;
- esac
-
- if test "$PKGTEST" = "yes"; then
-
-
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PKGCONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $PKGCONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_PKGCONFIG" && ac_cv_path_PKGCONFIG="no"
- ;;
-esac
-fi
-PKGCONFIG=$ac_cv_path_PKGCONFIG
-if test -n "$PKGCONFIG"; then
- { echo "$as_me:$LINENO: result: $PKGCONFIG" >&5
-echo "${ECHO_T}$PKGCONFIG" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- if test "$PKGCONFIG" != "no" ; then
- { echo "$as_me:$LINENO: checking OpenSSL options with pkg-config" >&5
-echo $ECHO_N "checking OpenSSL options with pkg-config... $ECHO_C" >&6; }
-
- $PKGCONFIG --exists openssl
- SSL_EXISTS=$?
-
- if test "$SSL_EXISTS" -eq "0"; then
- SSL_LIBS=`$PKGCONFIG --libs-only-l openssl 2>/dev/null`
- SSL_LDFLAGS=`$PKGCONFIG --libs-only-L openssl 2>/dev/null`
- SSL_CPPFLAGS=`$PKGCONFIG --cflags-only-I openssl 2>/dev/null`
-
- LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
-
- LIBS="$LIBS $SSL_LIBS"
- CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
- LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
- { echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
- fi
- fi
-
- { echo "$as_me:$LINENO: checking for CRYPTO_lock in -lcrypto" >&5
-echo $ECHO_N "checking for CRYPTO_lock in -lcrypto... $ECHO_C" >&6; }
-if test "${ac_cv_lib_crypto_CRYPTO_lock+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcrypto $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char CRYPTO_lock ();
-int
-main ()
-{
-return CRYPTO_lock ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_crypto_CRYPTO_lock=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_crypto_CRYPTO_lock=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_CRYPTO_lock" >&5
-echo "${ECHO_T}$ac_cv_lib_crypto_CRYPTO_lock" >&6; }
-if test $ac_cv_lib_crypto_CRYPTO_lock = yes; then
-
- HAVECRYPTO="yes"
- LIBS="-lcrypto $LIBS"
-
-else
-
- LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
- CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
- { echo "$as_me:$LINENO: checking for CRYPTO_add_lock in -lcrypto" >&5
-echo $ECHO_N "checking for CRYPTO_add_lock in -lcrypto... $ECHO_C" >&6; }
-if test "${ac_cv_lib_crypto_CRYPTO_add_lock+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcrypto $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char CRYPTO_add_lock ();
-int
-main ()
-{
-return CRYPTO_add_lock ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_crypto_CRYPTO_add_lock=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_crypto_CRYPTO_add_lock=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_CRYPTO_add_lock" >&5
-echo "${ECHO_T}$ac_cv_lib_crypto_CRYPTO_add_lock" >&6; }
-if test $ac_cv_lib_crypto_CRYPTO_add_lock = yes; then
-
- HAVECRYPTO="yes"
- LIBS="-lcrypto $LIBS"
-else
-
- LDFLAGS="$CLEANLDFLAGS"
- CPPFLAGS="$CLEANCPPFLAGS"
- LIBS="$CLEANLIBS"
-
-fi
-
-
-fi
-
-
-
- if test X"$HAVECRYPTO" = X"yes"; then
-
-
-{ echo "$as_me:$LINENO: checking for SSL_connect in -lssl" >&5
-echo $ECHO_N "checking for SSL_connect in -lssl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_ssl_SSL_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char SSL_connect ();
-int
-main ()
-{
-return SSL_connect ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_ssl_SSL_connect=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_ssl_SSL_connect=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_connect" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_connect" >&6; }
-if test $ac_cv_lib_ssl_SSL_connect = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSSL 1
-_ACEOF
-
- LIBS="-lssl $LIBS"
-
-fi
-
-
- if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
- { echo "$as_me:$LINENO: checking for ssl with RSAglue/rsaref libs in use" >&5
-echo $ECHO_N "checking for ssl with RSAglue/rsaref libs in use... $ECHO_C" >&6; };
- OLIBS=$LIBS
- LIBS="$LIBS -lRSAglue -lrsaref"
-
-{ echo "$as_me:$LINENO: checking for SSL_connect in -lssl" >&5
-echo $ECHO_N "checking for SSL_connect in -lssl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_ssl_SSL_connect+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char SSL_connect ();
-int
-main ()
-{
-return SSL_connect ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_ssl_SSL_connect=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_ssl_SSL_connect=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_connect" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_connect" >&6; }
-if test $ac_cv_lib_ssl_SSL_connect = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSSL 1
-_ACEOF
-
- LIBS="-lssl $LIBS"
-
-fi
-
- if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- LIBS=$OLIBS
- else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- fi
-
- else
-
-
-
-
-
-
-
-for ac_header in openssl/x509.h openssl/rsa.h openssl/crypto.h \
- openssl/pem.h openssl/ssl.h openssl/err.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- curl_ssl_msg="enabled (OpenSSL)"
- OPENSSL_ENABLED=1
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_OPENSSL 1
-_ACEOF
-
-fi
-
-done
-
-
- if test $ac_cv_header_openssl_x509_h = no; then
-
-
-
-
-
-
-for ac_header in x509.h rsa.h crypto.h pem.h ssl.h err.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- if test $ac_cv_header_x509_h = yes &&
- test $ac_cv_header_crypto_h = yes &&
- test $ac_cv_header_ssl_h = yes; then
- curl_ssl_msg="enabled (OpenSSL)"
- OPENSSL_ENABLED=1
- fi
- fi
- fi
-
- if test X"$OPENSSL_ENABLED" = X"1"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_SSLEAY 1
-_ACEOF
-
-
-
-for ac_header in openssl/pkcs12.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- else
- LIBS="$CLEANLIBS"
- fi
- USE_SSLEAY="$OPENSSL_ENABLED"
-
-
- if test X"$OPT_SSL" != Xoff &&
- test "$OPENSSL_ENABLED" != "1"; then
- { { echo "$as_me:$LINENO: error: OpenSSL libs and/or directories were not found where specified!" >&5
-echo "$as_me: error: OpenSSL libs and/or directories were not found where specified!" >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-
- if test X"$OPENSSL_ENABLED" = X"1"; then
- { echo "$as_me:$LINENO: checking for ENGINE_init" >&5
-echo $ECHO_N "checking for ENGINE_init... $ECHO_C" >&6; }
-if test "${ac_cv_func_ENGINE_init+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define ENGINE_init to an innocuous variant, in case <limits.h> declares ENGINE_init.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define ENGINE_init innocuous_ENGINE_init
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char ENGINE_init (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef ENGINE_init
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ENGINE_init ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_ENGINE_init || defined __stub___ENGINE_init
-choke me
-#endif
-
-int
-main ()
-{
-return ENGINE_init ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_ENGINE_init=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_ENGINE_init=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_ENGINE_init" >&5
-echo "${ECHO_T}$ac_cv_func_ENGINE_init" >&6; }
-if test $ac_cv_func_ENGINE_init = yes; then
-
-
-for ac_header in openssl/engine.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in ENGINE_load_builtin_engines
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-fi
-
-
-
-
-
-
-
-
-for ac_func in RAND_status \
- RAND_screen \
- RAND_egd \
- CRYPTO_cleanup_all_ex_data \
- SSL_get_shutdown
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
- { echo "$as_me:$LINENO: checking for yaSSL using OpenSSL compatibility mode" >&5
-echo $ECHO_N "checking for yaSSL using OpenSSL compatibility mode... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <openssl/ssl.h>
-
-int
-main ()
-{
-
-#if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
- int dummy = SSL_ERROR_NONE;
-#else
- Not the yaSSL OpenSSL compatibility header.
-#endif
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define USE_YASSLEMUL 1
-_ACEOF
-
- curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "$OPENSSL_ENABLED" = "1"; then
- if test -n "$LIB_OPENSSL"; then
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
- export LD_LIBRARY_PATH
- { echo "$as_me:$LINENO: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&5
-echo "$as_me: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&6;}
- fi
- fi
-
-fi
-
-
-
-_cppflags=$CPPFLAGS
-_ldflags=$LDFLAGS
-
-# Check whether --with-zlib was given.
-if test "${with_zlib+set}" = set; then
- withval=$with_zlib; OPT_ZLIB="$withval"
-fi
-
-
-if test "$OPT_ZLIB" = "no" ; then
- { echo "$as_me:$LINENO: WARNING: zlib disabled" >&5
-echo "$as_me: WARNING: zlib disabled" >&2;}
-else
- if test "$OPT_ZLIB" = "yes" ; then
- OPT_ZLIB=""
- fi
-
- if test -z "$OPT_ZLIB" ; then
-
- { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5
-echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; }
-if test "${ac_cv_lib_z_inflateEnd+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inflateEnd ();
-int
-main ()
-{
-return inflateEnd ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_z_inflateEnd=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_z_inflateEnd=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5
-echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; }
-if test $ac_cv_lib_z_inflateEnd = yes; then
- HAVE_LIBZ="1"
-else
- OPT_ZLIB="/usr/local"
-fi
-
-
- fi
-
- if test -n "$OPT_ZLIB"; then
- CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
- LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
- fi
-
- if test "${ac_cv_header_zlib_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for zlib.h" >&5
-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_zlib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking zlib.h usability" >&5
-echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <zlib.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking zlib.h presence" >&5
-echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <zlib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for zlib.h" >&5
-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_zlib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_zlib_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
-
-fi
-if test $ac_cv_header_zlib_h = yes; then
-
- HAVE_ZLIB_H="1"
- if test "$HAVE_LIBZ" != "1"; then
- { echo "$as_me:$LINENO: checking for gzread in -lz" >&5
-echo $ECHO_N "checking for gzread in -lz... $ECHO_C" >&6; }
-if test "${ac_cv_lib_z_gzread+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gzread ();
-int
-main ()
-{
-return gzread ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_z_gzread=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_z_gzread=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzread" >&5
-echo "${ECHO_T}$ac_cv_lib_z_gzread" >&6; }
-if test $ac_cv_lib_z_gzread = yes; then
-
- HAVE_LIBZ="1"
-
-else
- CPPFLAGS=$_cppflags
- LDFLAGS=$_ldflags
-fi
-
- fi
-
-else
-
- CPPFLAGS=$_cppflags
- LDFLAGS=$_ldflags
-
-fi
-
-
-
- if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
- then
- { echo "$as_me:$LINENO: WARNING: configure found only the libz lib, not the header file!" >&5
-echo "$as_me: WARNING: configure found only the libz lib, not the header file!" >&2;}
- HAVE_LIBZ=""
- elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
- then
- { echo "$as_me:$LINENO: WARNING: configure found only the libz header file, not the lib!" >&5
-echo "$as_me: WARNING: configure found only the libz header file, not the lib!" >&2;}
- elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
- then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZLIB_H 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBZ 1
-_ACEOF
-
-
- CURL_LIBS="$CURL_LIBS -lz"
- LIBS="$LIBS -lz"
-
- AMFIXLIB="1"
- { echo "$as_me:$LINENO: found both libz and libz.h header" >&5
-echo "$as_me: found both libz and libz.h header" >&6;}
- curl_zlib_msg="enabled"
- fi
-fi
-
-
-
-if test x"$AMFIXLIB" = x1; then
- HAVE_LIBZ_TRUE=
- HAVE_LIBZ_FALSE='#'
-else
- HAVE_LIBZ_TRUE='#'
- HAVE_LIBZ_FALSE=
-fi
-
-
-
-OPT_LIBSSH2=off
-
-# Check whether --with-libssh2 was given.
-if test "${with_libssh2+set}" = set; then
- withval=$with_libssh2; OPT_LIBSSH2=$withval
-fi
-
-
-if test X"$OPT_LIBSSH2" != Xno; then
- CLEANLDFLAGS="$LDFLAGS"
- CLEANCPPFLAGS="$CPPFLAGS"
- CLEANLIBS="$LIBS"
-
- case "$OPT_LIBSSH2" in
- yes)
- PREFIX_LIBSSH2=/usr/local/lib
- LIB_LIBSSH2="$PREFIX_LIBSSH2$libsuff"
- ;;
- off)
- PREFIX_LIBSSH2=
- ;;
- *)
- PREFIX_LIBSSH2=$OPT_LIBSSH2
- LIB_LIBSSH2="$PREFIX_LIBSSH2/lib$libsuff"
- LDFLAGS="$LDFLAGS -L$LIB_LIBSSH2"
- CPPFLAGS="$CPPFLAGS -I$PREFIX_LIBSSH2/include"
- ;;
- esac
-
-
-{ echo "$as_me:$LINENO: checking for libssh2_channel_open_ex in -lssh2" >&5
-echo $ECHO_N "checking for libssh2_channel_open_ex in -lssh2... $ECHO_C" >&6; }
-if test "${ac_cv_lib_ssh2_libssh2_channel_open_ex+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssh2 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char libssh2_channel_open_ex ();
-int
-main ()
-{
-return libssh2_channel_open_ex ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_ssh2_libssh2_channel_open_ex=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_ssh2_libssh2_channel_open_ex=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssh2_libssh2_channel_open_ex" >&5
-echo "${ECHO_T}$ac_cv_lib_ssh2_libssh2_channel_open_ex" >&6; }
-if test $ac_cv_lib_ssh2_libssh2_channel_open_ex = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSSH2 1
-_ACEOF
-
- LIBS="-lssh2 $LIBS"
-
-fi
-
-
-
-for ac_header in libssh2.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- curl_ssh_msg="enabled (libSSH2)"
- LIBSSH2_ENABLED=1
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_LIBSSH2 1
-_ACEOF
-
- USE_LIBSSH2=1
-
-
-fi
-
-done
-
-
- if test X"$OPT_LIBSSH2" != Xoff &&
- test "$LIBSSH2_ENABLED" != "1"; then
- { { echo "$as_me:$LINENO: error: libSSH2 libs and/or directories were not found where specified!" >&5
-echo "$as_me: error: libSSH2 libs and/or directories were not found where specified!" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- if test "$LIBSSH2_ENABLED" = "1"; then
- if test -n "$LIB_LIBSSH2"; then
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_LIBSSH2"
- export LD_LIBRARY_PATH
- { echo "$as_me:$LINENO: Added $LIB_LIBSSH2 to LD_LIBRARY_PATH" >&5
-echo "$as_me: Added $LIB_LIBSSH2 to LD_LIBRARY_PATH" >&6;}
- fi
- fi
-fi
-
-
-if test X"$OPENSSL_ENABLED" = X"1"; then
-
-# Check whether --with-egd-socket was given.
-if test "${with_egd_socket+set}" = set; then
- withval=$with_egd_socket; EGD_SOCKET="$withval"
-
-fi
-
- if test -n "$EGD_SOCKET" ; then
-
-cat >>confdefs.h <<_ACEOF
-#define EGD_SOCKET "$EGD_SOCKET"
-_ACEOF
-
- fi
-
-
-# Check whether --with-random was given.
-if test "${with_random+set}" = set; then
- withval=$with_random; RANDOM_FILE="$withval"
-else
-
- { echo "$as_me:$LINENO: checking for \"/dev/urandom\"" >&5
-echo $ECHO_N "checking for \"/dev/urandom\"... $ECHO_C" >&6; }
-if test "${ac_cv_file___dev_urandom_+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- test "$cross_compiling" = yes &&
- { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
- { (exit 1); exit 1; }; }
-if test -r ""/dev/urandom""; then
- ac_cv_file___dev_urandom_=yes
-else
- ac_cv_file___dev_urandom_=no
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_file___dev_urandom_" >&5
-echo "${ECHO_T}$ac_cv_file___dev_urandom_" >&6; }
-if test $ac_cv_file___dev_urandom_ = yes; then
- RANDOM_FILE="/dev/urandom"
-fi
-
-
-
-fi
-
- if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
-
-
-cat >>confdefs.h <<_ACEOF
-#define RANDOM_FILE "$RANDOM_FILE"
-_ACEOF
-
- fi
-fi
-
-
-OPT_GNUTLS=no
-
-
-# Check whether --with-gnutls was given.
-if test "${with_gnutls+set}" = set; then
- withval=$with_gnutls; OPT_GNUTLS=$withval
-fi
-
-
-if test "$OPENSSL_ENABLED" != "1"; then
-
- if test X"$OPT_GNUTLS" != Xno; then
- if test "x$OPT_GNUTLS" = "xyes"; then
- check=`libgnutls-config --version 2>/dev/null`
- if test -n "$check"; then
- addlib=`libgnutls-config --libs`
- addcflags=`libgnutls-config --cflags`
- version=`libgnutls-config --version`
- gtlsprefix=`libgnutls-config --prefix`
- fi
- else
- addlib=`$OPT_GNUTLS/bin/libgnutls-config --libs`
- addcflags=`$OPT_GNUTLS/bin/libgnutls-config --cflags`
- version=`$OPT_GNUTLS/bin/libgnutls-config --version 2>/dev/null`
- gtlsprefix=$OPT_GNUTLS
- if test -z "$version"; then
- version="unknown"
- fi
- fi
- if test -n "$addlib"; then
-
- CLEANLIBS="$LIBS"
- CLEANCPPFLAGS="$CPPFLAGS"
-
- LIBS="$LIBS $addlib"
- if test "$addcflags" != "-I/usr/include"; then
- CPPFLAGS="$CPPFLAGS $addcflags"
- fi
-
- { echo "$as_me:$LINENO: checking for gnutls_check_version in -lgnutls" >&5
-echo $ECHO_N "checking for gnutls_check_version in -lgnutls... $ECHO_C" >&6; }
-if test "${ac_cv_lib_gnutls_gnutls_check_version+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgnutls $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gnutls_check_version ();
-int
-main ()
-{
-return gnutls_check_version ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_gnutls_gnutls_check_version=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_gnutls_gnutls_check_version=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_gnutls_gnutls_check_version" >&5
-echo "${ECHO_T}$ac_cv_lib_gnutls_gnutls_check_version" >&6; }
-if test $ac_cv_lib_gnutls_gnutls_check_version = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_GNUTLS 1
-_ACEOF
-
- USE_GNUTLS=1
-
- GNUTLS_ENABLED=1
- USE_GNUTLS="yes"
- curl_ssl_msg="enabled (GnuTLS)"
-
-else
-
- LIBS="$CLEANLIBS"
- CPPFLAGS="$CLEANCPPFLAGS"
-
-fi
-
-
- if test "x$USE_GNUTLS" = "xyes"; then
- { echo "$as_me:$LINENO: detected GnuTLS version $version" >&5
-echo "$as_me: detected GnuTLS version $version" >&6;}
-
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlsprefix/lib$libsuff"
- export LD_LIBRARY_PATH
- { echo "$as_me:$LINENO: Added $gtlsprefix/lib$libsuff to LD_LIBRARY_PATH" >&5
-echo "$as_me: Added $gtlsprefix/lib$libsuff to LD_LIBRARY_PATH" >&6;}
- fi
-
- fi
-
- fi
-fi
-
-OPT_NSS=no
-
-
-# Check whether --with-nss was given.
-if test "${with_nss+set}" = set; then
- withval=$with_nss; OPT_NSS=$withval
-fi
-
-
-if test "$OPENSSL_ENABLED" != "1" -a "$GNUTLS_ENABLED" != "1"; then
-
- if test X"$OPT_NSS" != Xno; then
- if test "x$OPT_NSS" = "xyes"; then
- check=`pkg-config --version 2>/dev/null`
- if test -n "$check"; then
- addlib=`pkg-config --libs nss`
- addcflags=`pkg-config --cflags nss`
- version=`pkg-config --modversion nss`
- nssprefix=`pkg-config --variable=prefix nss`
- fi
- else
- # Without pkg-config, we'll kludge in some defaults
- addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
- addcflags="-I$OPT_NSS/include"
- version="unknown"
- gtlsprefix=$OPT_GNUTLS
- fi
-
- { echo "$as_me:$LINENO: checking for PK11_CreateGenericObject in -lnss3" >&5
-echo $ECHO_N "checking for PK11_CreateGenericObject in -lnss3... $ECHO_C" >&6; }
-if test "${ac_cv_lib_nss3_PK11_CreateGenericObject+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnss3 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char PK11_CreateGenericObject ();
-int
-main ()
-{
-return PK11_CreateGenericObject ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_nss3_PK11_CreateGenericObject=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_nss3_PK11_CreateGenericObject=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_PK11_CreateGenericObject" >&5
-echo "${ECHO_T}$ac_cv_lib_nss3_PK11_CreateGenericObject" >&6; }
-if test $ac_cv_lib_nss3_PK11_CreateGenericObject = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PK11_CREATEGENERICOBJECT 1
-_ACEOF
-
- HAVE_PK11_CREATEGENERICOBJECT=1
-
-
-fi
-
- if test -n "$addlib"; then
-
- CLEANLIBS="$LIBS"
- CLEANCPPFLAGS="$CPPFLAGS"
-
- LIBS="$LIBS $addlib"
- if test "$addcflags" != "-I/usr/include"; then
- CPPFLAGS="$CPPFLAGS $addcflags"
- fi
-
- { echo "$as_me:$LINENO: checking for NSS_Initialize in -lnss3" >&5
-echo $ECHO_N "checking for NSS_Initialize in -lnss3... $ECHO_C" >&6; }
-if test "${ac_cv_lib_nss3_NSS_Initialize+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnss3 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char NSS_Initialize ();
-int
-main ()
-{
-return NSS_Initialize ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_nss3_NSS_Initialize=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_nss3_NSS_Initialize=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_NSS_Initialize" >&5
-echo "${ECHO_T}$ac_cv_lib_nss3_NSS_Initialize" >&6; }
-if test $ac_cv_lib_nss3_NSS_Initialize = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_NSS 1
-_ACEOF
-
- USE_NSS=1
-
- USE_NSS="yes"
- NSS_ENABLED=1
- curl_ssl_msg="enabled (NSS)"
-
-else
-
- LIBS="$CLEANLIBS"
- CPPFLAGS="$CLEANCPPFLAGS"
-
-fi
-
-
- if test "x$USE_NSS" = "xyes"; then
- { echo "$as_me:$LINENO: detected NSS version $version" >&5
-echo "$as_me: detected NSS version $version" >&6;}
-
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
- export LD_LIBRARY_PATH
- { echo "$as_me:$LINENO: Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH" >&5
-echo "$as_me: Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH" >&6;}
- fi
-
- fi
-
- fi
-fi
-if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED" = "x"; then
- { echo "$as_me:$LINENO: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more." >&5
-echo "$as_me: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more." >&2;}
- { echo "$as_me:$LINENO: WARNING: Use --with-ssl, --with-gnutls or --with-nss to address this." >&5
-echo "$as_me: WARNING: Use --with-ssl, --with-gnutls or --with-nss to address this." >&2;}
-else
- # SSL is enabled, genericly
-
- SSL_ENABLED="1"
-fi
-
-
-
-
- { echo "$as_me:$LINENO: checking default CA cert bundle/path" >&5
-echo $ECHO_N "checking default CA cert bundle/path... $ECHO_C" >&6; }
-
-
-# Check whether --with-ca-bundle was given.
-if test "${with_ca_bundle+set}" = set; then
- withval=$with_ca_bundle;
- want_ca="$withval"
- if test "x$want_ca" = "xyes"; then
- { { echo "$as_me:$LINENO: error: --with-ca-bundle=FILE requires a path to the CA bundle" >&5
-echo "$as_me: error: --with-ca-bundle=FILE requires a path to the CA bundle" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-else
- want_ca="unset"
-fi
-
-
-# Check whether --with-ca-path was given.
-if test "${with_ca_path+set}" = set; then
- withval=$with_ca_path;
- want_capath="$withval"
- if test "x$want_capath" = "xyes"; then
- { { echo "$as_me:$LINENO: error: --with-ca-path=DIRECTORY requires a path to the CA path directory" >&5
-echo "$as_me: error: --with-ca-path=DIRECTORY requires a path to the CA path directory" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-else
- want_capath="unset"
-fi
-
-
- if test "x$want_ca" != "xno" -a "x$want_ca" != "xunset" -a \
- "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
- { { echo "$as_me:$LINENO: error: Can't specify both --with-ca-bundle and --with-ca-path." >&5
-echo "$as_me: error: Can't specify both --with-ca-bundle and --with-ca-path." >&2;}
- { (exit 1); exit 1; }; }
- elif test "x$want_ca" != "xno" -a "x$want_ca" != "xunset"; then
- ca="$want_ca"
- capath="no"
- elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
- if test "x$OPENSSL_ENABLED" != "x1"; then
- { { echo "$as_me:$LINENO: error: --with-ca-path only works with openSSL" >&5
-echo "$as_me: error: --with-ca-path only works with openSSL" >&2;}
- { (exit 1); exit 1; }; }
- fi
- capath="$want_capath"
- ca="no"
- else
- ca="no"
- capath="no"
- if test "x$want_ca" = "xunset"; then
- if test "x$prefix" != xNONE; then
- cac="${prefix}/share/curl/curl-ca-bundle.crt"
- else
- cac="$ac_default_prefix/share/curl/curl-ca-bundle.crt"
- fi
-
- for a in /etc/ssl/certs/ca-certificates.crt \
- /etc/pki/tls/certs/ca-bundle.crt \
- /usr/share/ssl/certs/ca-bundle.crt \
- "$cac"; do
- if test -f "$a"; then
- ca="$a"
- break
- fi
- done
- fi
- if test "x$want_capath" = "xunset" -a "x$ca" = "xno" -a \
- "x$OPENSSL_ENABLED" = "x1"; then
- for a in /etc/ssl/certs/; do
- if test -d "$a" && ls "$a"/[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].0 >/dev/null 2>/dev/null; then
- capath="$a"
- break
- fi
- done
- fi
- fi
-
-
-
- if test "x$ca" != "xno"; then
- CURL_CA_BUNDLE='"'$ca'"'
-
-cat >>confdefs.h <<_ACEOF
-#define CURL_CA_BUNDLE "$ca"
-_ACEOF
-
-
- { echo "$as_me:$LINENO: result: $ca" >&5
-echo "${ECHO_T}$ca" >&6; }
- elif test "x$capath" != "xno"; then
- CURL_CA_PATH="\"$capath\""
-
-cat >>confdefs.h <<_ACEOF
-#define CURL_CA_PATH "$capath"
-_ACEOF
-
- { echo "$as_me:$LINENO: result: $capath (capath)" >&5
-echo "${ECHO_T}$capath (capath)" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
-
-
-
-{ echo "$as_me:$LINENO: checking whether to build with libidn" >&5
-echo $ECHO_N "checking whether to build with libidn... $ECHO_C" >&6; }
-
-# Check whether --with-libidn was given.
-if test "${with_libidn+set}" = set; then
- withval=$with_libidn; LIBIDN="$withval"
-fi
-
-
-case "$LIBIDN" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
- idn=""
- if test -n "$LIBIDN"; then
- if test "x$LIBIDN" != "xyes"; then
- oldLDFLAGS=$LDFLAGS
- oldCPPFLAGS=$CPPFLAGS
- LDFLAGS="$LDFLAGS -L$LIBIDN/lib"
- CPPFLAGS="$CPPFLAGS -I$LIBIDN/include"
- idn="yes"
-
-{ echo "$as_me:$LINENO: checking for idna_to_ascii_4i in -lidn" >&5
-echo $ECHO_N "checking for idna_to_ascii_4i in -lidn... $ECHO_C" >&6; }
-if test "${ac_cv_lib_idn_idna_to_ascii_4i+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lidn $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char idna_to_ascii_4i ();
-int
-main ()
-{
-return idna_to_ascii_4i ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_idn_idna_to_ascii_4i=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_idn_idna_to_ascii_4i=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_idn_idna_to_ascii_4i" >&5
-echo "${ECHO_T}$ac_cv_lib_idn_idna_to_ascii_4i" >&6; }
-if test $ac_cv_lib_idn_idna_to_ascii_4i = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBIDN 1
-_ACEOF
-
- LIBS="-lidn $LIBS"
-
-else
- idn=""
- LDFLAGS=$oldLDFLAGS
- CPPFLAGS=$oldCPPFLAGS
-fi
-
- fi
- fi
-
- if test "x$idn" != "xyes"; then
- idn="yes"
-
-{ echo "$as_me:$LINENO: checking for idna_to_ascii_lz in -lidn" >&5
-echo $ECHO_N "checking for idna_to_ascii_lz in -lidn... $ECHO_C" >&6; }
-if test "${ac_cv_lib_idn_idna_to_ascii_lz+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lidn $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char idna_to_ascii_lz ();
-int
-main ()
-{
-return idna_to_ascii_lz ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_idn_idna_to_ascii_lz=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_idn_idna_to_ascii_lz=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_idn_idna_to_ascii_lz" >&5
-echo "${ECHO_T}$ac_cv_lib_idn_idna_to_ascii_lz" >&6; }
-if test $ac_cv_lib_idn_idna_to_ascii_lz = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBIDN 1
-_ACEOF
-
- LIBS="-lidn $LIBS"
-
-else
- idn=""
-fi
-
- fi
-
- if test "x$idn" = "xyes"; then
- curl_idn_msg="enabled"
- IDN_ENABLED=1
-
-
-
-
-for ac_func in idn_free idna_strerror tld_strerror
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-for ac_header in idn-free.h tld.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- fi
-
- ;;
-esac
-
-OPT_THREAD=on
-
-{ echo "$as_me:$LINENO: checking AIX 4.3 or later" >&5
-echo $ECHO_N "checking AIX 4.3 or later... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-
-#if defined(_AIX) && defined(_AIX43)
-printf("just fine");
-#else
-#error "this is not AIX 4.3 or later"
-#endif
-
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- RECENTAIX=yes
- OPT_THREAD=off
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-# Check whether --enable-thread was given.
-if test "${enable_thread+set}" = set; then
- enableval=$enable_thread; case "$enableval" in
- no)
- OPT_THREAD=off
- { echo "$as_me:$LINENO: WARNING: libcurl will not get built using thread-safe functions" >&5
-echo "$as_me: WARNING: libcurl will not get built using thread-safe functions" >&2;}
- ;;
- *)
- ;;
- esac
-
-
-fi
-
-
-if test X"$OPT_THREAD" = Xoff
-then
-
-cat >>confdefs.h <<\_ACEOF
-#define DISABLED_THREADSAFE 1
-_ACEOF
-
-else
- if test "$ipv6" != "yes"; then
-
- #
- { echo "$as_me:$LINENO: checking for gethostbyname_r" >&5
-echo $ECHO_N "checking for gethostbyname_r... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define gethostbyname_r to an innocuous variant, in case <limits.h> declares gethostbyname_r.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define gethostbyname_r innocuous_gethostbyname_r
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyname_r (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gethostbyname_r
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname_r ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_gethostbyname_r || defined __stub___gethostbyname_r
-choke me
-#endif
-
-int
-main ()
-{
-return gethostbyname_r ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- tmp_cv_gethostbyname_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- tmp_cv_gethostbyname_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$tmp_cv_gethostbyname_r" != "yes"; then
- { echo "$as_me:$LINENO: checking deeper for gethostbyname_r" >&5
-echo $ECHO_N "checking deeper for gethostbyname_r... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
- gethostbyname_r();
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- tmp_cv_gethostbyname_r="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: but still no" >&5
-echo "${ECHO_T}but still no" >&6; }
- tmp_cv_gethostbyname_r="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$tmp_cv_gethostbyname_r" = "yes"; then
-
- ac_cv_gethostbyname_r_args="unknown"
-
- { echo "$as_me:$LINENO: checking if gethostbyname_r takes 3 arguments" >&5
-echo $ECHO_N "checking if gethostbyname_r takes 3 arguments... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- struct hostent_data *);
-
-int
-main ()
-{
-
- struct hostent_data data;
- gethostbyname_r(NULL, NULL, NULL);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME_R_3 1
-_ACEOF
-
- ac_cv_gethostbyname_r_args="3"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- { echo "$as_me:$LINENO: checking if gethostbyname_r with -D_REENTRANT takes 3 arguments" >&5
-echo $ECHO_N "checking if gethostbyname_r with -D_REENTRANT takes 3 arguments... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <string.h>
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- struct hostent_data *);
-
-int
-main ()
-{
-
- struct hostent_data data;
- gethostbyname_r(NULL, NULL, NULL);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME_R_3 1
-_ACEOF
-
- ac_cv_gethostbyname_r_args="3"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- { echo "$as_me:$LINENO: checking if gethostbyname_r takes 5 arguments" >&5
-echo $ECHO_N "checking if gethostbyname_r takes 5 arguments... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- struct hostent *
- gethostbyname_r(const char *, struct hostent *,
- char *, int, int *);
-
-int
-main ()
-{
-
- gethostbyname_r(NULL, NULL, NULL, 0, NULL);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME_R_5 1
-_ACEOF
-
- ac_cv_gethostbyname_r_args="5"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- { echo "$as_me:$LINENO: checking if gethostbyname_r with -D_REENTRANT takes 5 arguments" >&5
-echo $ECHO_N "checking if gethostbyname_r with -D_REENTRANT takes 5 arguments... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- struct hostent *
- gethostbyname_r(const char *, struct hostent *,
- char *, int, int *);
-
-int
-main ()
-{
-
- gethostbyname_r(NULL, NULL, NULL, 0, NULL);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME_R_5 1
-_ACEOF
-
- ac_cv_gethostbyname_r_args="5"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- { echo "$as_me:$LINENO: checking if gethostbyname_r takes 6 arguments" >&5
-echo $ECHO_N "checking if gethostbyname_r takes 6 arguments... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- char *, size_t, struct hostent **, int *);
-
-int
-main ()
-{
-
- gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME_R_6 1
-_ACEOF
-
- ac_cv_gethostbyname_r_args="6"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- { echo "$as_me:$LINENO: checking if gethostbyname_r with -D_REENTRANT takes 6 arguments" >&5
-echo $ECHO_N "checking if gethostbyname_r with -D_REENTRANT takes 6 arguments... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
-#undef NULL
-#define NULL (void *)0
- int
- gethostbyname_r(const char *, struct hostent *,
- char *, size_t, struct hostent **, int *);
-
-int
-main ()
-{
-
- gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME_R_6 1
-_ACEOF
-
- ac_cv_gethostbyname_r_args="6"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "$ac_cv_gethostbyname_r_args" = "unknown"; then
- { echo "$as_me:$LINENO: WARNING: Cannot find out how to use gethostbyname_r" >&5
-echo "$as_me: WARNING: Cannot find out how to use gethostbyname_r" >&2;}
- { echo "$as_me:$LINENO: WARNING: HAVE_GETHOSTBYNAME_R will not be defined" >&5
-echo "$as_me: WARNING: HAVE_GETHOSTBYNAME_R will not be defined" >&2;}
- ac_cv_func_gethostbyname_r="no"
- else
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_GETHOSTBYNAME_R 1
-_ACEOF
-
- ac_cv_func_gethostbyname_r="yes"
- fi
-
- else
- ac_cv_func_gethostbyname_r="no"
- fi
-
-
- fi
-
-
-
-for ac_func in inet_ntoa_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
- { echo "$as_me:$LINENO: checking whether inet_ntoa_r is declared" >&5
-echo $ECHO_N "checking whether inet_ntoa_r is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <arpa/inet.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "inet_ntoa_r" >/dev/null 2>&1; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INET_NTOA_R_DECL 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: checking whether inet_ntoa_r with -D_REENTRANT is declared" >&5
-echo $ECHO_N "checking whether inet_ntoa_r with -D_REENTRANT is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <arpa/inet.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "inet_ntoa_r" >/dev/null 2>&1; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INET_NTOA_R_DECL 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
-fi
-done
-
-
-
-
-
-for ac_func in localtime_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
- { echo "$as_me:$LINENO: checking whether localtime_r is declared" >&5
-echo $ECHO_N "checking whether localtime_r is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <time.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: checking whether localtime_r with -D_REENTRANT is declared" >&5
-echo $ECHO_N "checking whether localtime_r with -D_REENTRANT is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <time.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
-fi
-done
-
-
-
-
-
-for ac_func in strerror_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
- if test "x$ac_cv_func_strerror_r" = "xyes"; then
-
- { echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5
-echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <string.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: checking whether strerror_r with -D_REENTRANT is declared" >&5
-echo $ECHO_N "checking whether strerror_r with -D_REENTRANT is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <string.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NO_STRERROR_R_DECL 1
-_ACEOF
-
-
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
- { echo "$as_me:$LINENO: checking for a glibc strerror_r API" >&5
-echo $ECHO_N "checking for a glibc strerror_r API... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <features.h>
-#ifdef __GLIBC__
-yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- GLIBC_STRERROR_R="1"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLIBC_STRERROR_R 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: cannot determine strerror_r() style: edit lib/config.h manually!" >&5
-echo "$as_me: cannot determine strerror_r() style: edit lib/config.h manually!" >&6;}
-
-fi
-rm -f conftest*
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- char *string =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* this should've returned a string */
- if(!string || !string[0])
- return 99;
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- GLIBC_STRERROR_R="1"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLIBC_STRERROR_R 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
- if test -z "$GLIBC_STRERROR_R"; then
-
- { echo "$as_me:$LINENO: checking for a POSIX strerror_r API" >&5
-echo $ECHO_N "checking for a POSIX strerror_r API... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: cannot determine strerror_r() style: edit lib/config.h manually!" >&5
-echo "$as_me: cannot determine strerror_r() style: edit lib/config.h manually!" >&6;}
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- int error =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* This should've returned zero, and written an error string in the
- buffer.*/
- if(!buffer[0] || error)
- return 99;
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POSIX_STRERROR_R 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
- fi
- fi
-
-
- checkfor_gmtime_r="yes"
-fi
-
-
-
-if test "x$RECENTAIX" = "xyes"; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define _THREAD_SAFE 1
-_ACEOF
-
-
-
-
-for ac_func in localtime_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
- { echo "$as_me:$LINENO: checking whether localtime_r is declared" >&5
-echo $ECHO_N "checking whether localtime_r is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <time.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: checking whether localtime_r with -D_REENTRANT is declared" >&5
-echo $ECHO_N "checking whether localtime_r with -D_REENTRANT is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <time.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "localtime_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
-fi
-done
-
-
-
-
-
-for ac_func in strerror_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
- if test "x$ac_cv_func_strerror_r" = "xyes"; then
-
- { echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5
-echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#include <string.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: checking whether strerror_r with -D_REENTRANT is declared" >&5
-echo $ECHO_N "checking whether strerror_r with -D_REENTRANT is declared... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef _REENTRANT
-#define _REENTRANT
-#include <string.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strerror_r" >/dev/null 2>&1; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NO_STRERROR_R_DECL 1
-_ACEOF
-
-
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
- { echo "$as_me:$LINENO: checking for a glibc strerror_r API" >&5
-echo $ECHO_N "checking for a glibc strerror_r API... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <features.h>
-#ifdef __GLIBC__
-yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- GLIBC_STRERROR_R="1"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLIBC_STRERROR_R 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: cannot determine strerror_r() style: edit lib/config.h manually!" >&5
-echo "$as_me: cannot determine strerror_r() style: edit lib/config.h manually!" >&6;}
-
-fi
-rm -f conftest*
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- char *string =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* this should've returned a string */
- if(!string || !string[0])
- return 99;
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- GLIBC_STRERROR_R="1"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLIBC_STRERROR_R 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
- if test -z "$GLIBC_STRERROR_R"; then
-
- { echo "$as_me:$LINENO: checking for a POSIX strerror_r API" >&5
-echo $ECHO_N "checking for a POSIX strerror_r API... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: cannot determine strerror_r() style: edit lib/config.h manually!" >&5
-echo "$as_me: cannot determine strerror_r() style: edit lib/config.h manually!" >&6;}
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <string.h>
-#include <errno.h>
-int
-main () {
- char buffer[1024]; /* big enough to play with */
- int error =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* This should've returned zero, and written an error string in the
- buffer.*/
- if(!buffer[0] || error)
- return 99;
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POSIX_STRERROR_R 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
- fi
- fi
-
-
- checkfor_gmtime_r="yes"
-fi
-
-if test x$cross_compiling != xyes; then
-
- if test x$checkfor_gmtime_r = xyes; then
-
-
- { echo "$as_me:$LINENO: checking if gmtime_r exists and works" >&5
-echo $ECHO_N "checking if gmtime_r exists and works... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- echo "hej"
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-
- #include <time.h>
- int main(void)
- {
- time_t local = 1170352587;
- struct tm *gmt;
- struct tm keeper;
- putenv("TZ=CST6CDT");
- tzset();
- gmt = gmtime_r(&local, &keeper);
- if(gmt) {
- return 0;
- }
- return 1; /* failure */
- }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GMTIME_R 1
-_ACEOF
-
-
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
- fi
-else
-
-for ac_func in gmtime_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-
-
- { echo "$as_me:$LINENO: checking for malloc.h" >&5
-echo $ECHO_N "checking for malloc.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_malloc_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <malloc.h>
-
-int
-main ()
-{
-
- void *p = malloc(10);
- void *q = calloc(10,10);
- free(p);
- free(q);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_header_malloc_h="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_header_malloc_h="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_malloc_h" >&5
-echo "${ECHO_T}$ac_cv_header_malloc_h" >&6; }
- if test "$ac_cv_header_malloc_h" = "yes"; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_H 1
-_ACEOF
-
- #
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdlib.h>
-
-int
-main ()
-{
-
- void *p = malloc(10);
- void *q = calloc(10,10);
- free(p);
- free(q);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_need_header_malloc_h="no"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- curl_cv_need_header_malloc_h="yes"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- #
- case "$curl_cv_need_header_malloc_h" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define NEED_MALLOC_H 1
-_ACEOF
-
- ;;
- esac
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h \
- sys/time.h \
- sys/select.h \
- sys/socket.h \
- sys/ioctl.h \
- assert.h \
- unistd.h \
- stdlib.h \
- limits.h \
- arpa/inet.h \
- net/if.h \
- netinet/in.h \
- sys/un.h \
- netinet/tcp.h \
- netdb.h \
- sys/sockio.h \
- sys/stat.h \
- sys/param.h \
- termios.h \
- termio.h \
- sgtty.h \
- fcntl.h \
- alloca.h \
- time.h \
- io.h \
- pwd.h \
- utime.h \
- sys/utime.h \
- sys/poll.h \
- poll.h \
- sys/resource.h \
- libgen.h \
- locale.h \
- errno.h \
- stdbool.h \
- arpa/tftp.h \
- sys/filio.h \
- setjmp.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_UN_H
-#include <sys/un.h>
-#endif
-
-
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
-if test "${ac_cv_c_const+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_c_const=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_c_const=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
-
-fi
-
-
- { echo "$as_me:$LINENO: checking for compiler support of C99 variadic macro style" >&5
-echo $ECHO_N "checking for compiler support of C99 variadic macro style... $ECHO_C" >&6; }
-if test "${curl_cv_variadic_macros_c99+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define c99_vmacro3(first, ...) fun3(first, __VA_ARGS__)
-#define c99_vmacro2(first, ...) fun2(first, __VA_ARGS__)
- int fun3(int arg1, int arg2, int arg3);
- int fun2(int arg1, int arg2);
- int fun3(int arg1, int arg2, int arg3)
- { return arg1 + arg2 + arg3; }
- int fun2(int arg1, int arg2)
- { return arg1 + arg2; }
-
-int
-main ()
-{
-
- int res3 = c99_vmacro3(1, 2, 3);
- int res2 = c99_vmacro2(1, 2);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_variadic_macros_c99="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- curl_cv_variadic_macros_c99="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_variadic_macros_c99" >&5
-echo "${ECHO_T}$curl_cv_variadic_macros_c99" >&6; }
- case "$curl_cv_variadic_macros_c99" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_VARIADIC_MACROS_C99 1
-_ACEOF
-
- ;;
- esac
- { echo "$as_me:$LINENO: checking for compiler support of old gcc variadic macro style" >&5
-echo $ECHO_N "checking for compiler support of old gcc variadic macro style... $ECHO_C" >&6; }
-if test "${curl_cv_variadic_macros_gcc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#define gcc_vmacro3(first, args...) fun3(first, args)
-#define gcc_vmacro2(first, args...) fun2(first, args)
- int fun3(int arg1, int arg2, int arg3);
- int fun2(int arg1, int arg2);
- int fun3(int arg1, int arg2, int arg3)
- { return arg1 + arg2 + arg3; }
- int fun2(int arg1, int arg2)
- { return arg1 + arg2; }
-
-int
-main ()
-{
-
- int res3 = gcc_vmacro3(1, 2, 3);
- int res2 = gcc_vmacro2(1, 2);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_variadic_macros_gcc="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- curl_cv_variadic_macros_gcc="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_variadic_macros_gcc" >&5
-echo "${ECHO_T}$curl_cv_variadic_macros_gcc" >&6; }
- case "$curl_cv_variadic_macros_gcc" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_VARIADIC_MACROS_GCC 1
-_ACEOF
-
- ;;
- esac
-
-{ echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef size_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_size_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_size_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
-if test $ac_cv_type_size_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
-if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_time=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_time=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
-
-fi
-
-
-
-
-
-for ac_header in sys/types.h sys/time.h time.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- { echo "$as_me:$LINENO: checking for struct timeval" >&5
-echo $ECHO_N "checking for struct timeval... $ECHO_C" >&6; }
-if test "${ac_cv_struct_timeval+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- struct timeval ts;
- ts.tv_sec = 0;
- ts.tv_usec = 0;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_struct_timeval="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_struct_timeval="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_struct_timeval" >&5
-echo "${ECHO_T}$ac_cv_struct_timeval" >&6; }
- case "$ac_cv_struct_timeval" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_TIMEVAL 1
-_ACEOF
-
- ;;
- esac
-
-
-
- if test "x$cross_compiling" != xyes; then
-
- { echo "$as_me:$LINENO: checking run-time libs availability" >&5
-echo $ECHO_N "checking run-time libs availability... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-main()
-{
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- { echo "$as_me:$LINENO: result: fine" >&5
-echo "${ECHO_T}fine" >&6; }
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
- { { echo "$as_me:$LINENO: error: one or more libs available at link-time are not available run-time. Libs used at link-time: $LIBS" >&5
-echo "$as_me: error: one or more libs available at link-time are not available run-time. Libs used at link-time: $LIBS" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
- fi
-
-
-{ echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef size_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_size_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_size_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of size_t" >&5
-echo $ECHO_N "checking size of size_t... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef size_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef size_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef size_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef size_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef size_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_size_t=$ac_lo;;
-'') if test "$ac_cv_type_size_t" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_size_t=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef size_t ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_size_t=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_size_t" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (size_t)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_size_t=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
-_ACEOF
-
-
-{ echo "$as_me:$LINENO: checking for int" >&5
-echo $ECHO_N "checking for int... $ECHO_C" >&6; }
-if test "${ac_cv_type_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef int ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_int=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_int=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-echo "${ECHO_T}$ac_cv_type_int" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_int=$ac_lo;;
-'') if test "$ac_cv_type_int" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_int=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_int=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_int" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_int=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
-{ echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6; }
-if test "${ac_cv_type_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef long ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_long=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
-
- if test -z "$ac_cv_sizeof_long" ||
- test "$ac_cv_sizeof_long" -eq "0"; then
- { { echo "$as_me:$LINENO: error: cannot find out size of long." >&5
-echo "$as_me: error: cannot find out size of long." >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-cat >>confdefs.h <<_EOF
-#define CURL_SIZEOF_LONG $ac_cv_sizeof_long
-_EOF
-
-
-{ echo "$as_me:$LINENO: checking for time_t" >&5
-echo $ECHO_N "checking for time_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_time_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef time_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_time_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_time_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5
-echo "${ECHO_T}$ac_cv_type_time_t" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of time_t" >&5
-echo $ECHO_N "checking size of time_t... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_time_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef time_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef time_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef time_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef time_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef time_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_time_t=$ac_lo;;
-'') if test "$ac_cv_type_time_t" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (time_t)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (time_t)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_time_t=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef time_t ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_time_t=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_time_t" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (time_t)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (time_t)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_time_t=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
-_ACEOF
-
-
-{ echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_off_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef off_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_off_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_off_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of off_t" >&5
-echo $ECHO_N "checking size of off_t... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_off_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef off_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef off_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef off_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef off_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef off_t ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_off_t=$ac_lo;;
-'') if test "$ac_cv_type_off_t" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (off_t)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (off_t)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_off_t=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef off_t ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_off_t=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_off_t" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (off_t)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (off_t)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_off_t=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_off_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_off_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
-_ACEOF
-
-
-
-soname_bump=no
-if test x"$ac_cv_native_windows" != "xyes" &&
- test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
- { echo "$as_me:$LINENO: WARNING: This libcurl built is probably not ABI compatible with previous" >&5
-echo "$as_me: WARNING: This libcurl built is probably not ABI compatible with previous" >&2;}
- { echo "$as_me:$LINENO: WARNING: builds! You MUST read lib/README.curl_off_t to figure it out." >&5
-echo "$as_me: WARNING: builds! You MUST read lib/README.curl_off_t to figure it out." >&2;}
- soname_bump=yes
-fi
-
-
-{ echo "$as_me:$LINENO: checking for long long" >&5
-echo $ECHO_N "checking for long long... $ECHO_C" >&6; }
-if test "${ac_cv_type_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef long long ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_long_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_long_long=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
-echo "${ECHO_T}$ac_cv_type_long_long" >&6; }
-if test $ac_cv_type_long_long = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LONGLONG 1
-_ACEOF
-
- longlong="yes"
-
-fi
-
-
-if test "xyes" = "x$longlong"; then
- { echo "$as_me:$LINENO: checking if numberLL works" >&5
-echo $ECHO_N "checking if numberLL works... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-long long val = 1000LL;
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LL 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-# check for ssize_t
-{ echo "$as_me:$LINENO: checking for ssize_t" >&5
-echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_ssize_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef ssize_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_ssize_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_ssize_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
-if test $ac_cv_type_ssize_t = yes; then
- :
-else
-
-cat >>confdefs.h <<\_ACEOF
-#define ssize_t int
-_ACEOF
-
-fi
-
-
-# check for bool type
-{ echo "$as_me:$LINENO: checking for bool" >&5
-echo $ECHO_N "checking for bool... $ECHO_C" >&6; }
-if test "${ac_cv_type_bool+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-
-
-typedef bool ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_bool=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_bool=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_bool" >&5
-echo "${ECHO_T}$ac_cv_type_bool" >&6; }
-if test $ac_cv_type_bool = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_BOOL_T 1
-_ACEOF
-
-
-fi
-
-
-# Check for socklen_t or equivalent
-
- { echo "$as_me:$LINENO: checking for socklen_t" >&5
-echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_socklen_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-
-
-typedef socklen_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_socklen_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_socklen_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
-echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; }
-if test $ac_cv_type_socklen_t = yes; then
- :
-else
-
- { echo "$as_me:$LINENO: checking for socklen_t equivalent" >&5
-echo $ECHO_N "checking for socklen_t equivalent... $ECHO_C" >&6; }
-if test "${curl_cv_socklen_t_equiv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_socklen_t_equiv="unknown"
- for arg1 in 'int' 'SOCKET'; do
- for arg2 in "struct sockaddr" void; do
- for t in int size_t unsigned long "unsigned long"; do
- if test "$curl_cv_socklen_t_equiv" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define GETPEERNCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define GETPEERNCALLCONV
-#endif
- extern int GETPEERNCALLCONV getpeername($arg1, $arg2 *, $t *);
-
-int
-main ()
-{
-
- $t len=0;
- getpeername(0,0,&len);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_socklen_t_equiv="$t"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_socklen_t_equiv" >&5
-echo "${ECHO_T}$curl_cv_socklen_t_equiv" >&6; }
- case "$curl_cv_socklen_t_equiv" in
- unknown)
- { { echo "$as_me:$LINENO: error: Cannot find a type to use in place of socklen_t" >&5
-echo "$as_me: error: Cannot find a type to use in place of socklen_t" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- *)
-
-cat >>confdefs.h <<_ACEOF
-#define socklen_t $curl_cv_socklen_t_equiv
-_ACEOF
-
- ;;
- esac
-
-fi
-
-
-
-
- { echo "$as_me:$LINENO: checking for in_addr_t" >&5
-echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_in_addr_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
-
-
-typedef in_addr_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_in_addr_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_in_addr_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_in_addr_t" >&5
-echo "${ECHO_T}$ac_cv_type_in_addr_t" >&6; }
-if test $ac_cv_type_in_addr_t = yes; then
- :
-else
-
- { echo "$as_me:$LINENO: checking for in_addr_t equivalent" >&5
-echo $ECHO_N "checking for in_addr_t equivalent... $ECHO_C" >&6; }
-if test "${curl_cv_in_addr_t_equiv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_in_addr_t_equiv="unknown"
- for t in "unsigned long" int size_t unsigned long; do
- if test "$curl_cv_in_addr_t_equiv" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- $t data = inet_addr ("1.2.3.4");
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- curl_cv_in_addr_t_equiv="$t"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_in_addr_t_equiv" >&5
-echo "${ECHO_T}$curl_cv_in_addr_t_equiv" >&6; }
- case "$curl_cv_in_addr_t_equiv" in
- unknown)
- { { echo "$as_me:$LINENO: error: Cannot find a type to use in place of in_addr_t" >&5
-echo "$as_me: error: Cannot find a type to use in place of in_addr_t" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- *)
-
-cat >>confdefs.h <<_ACEOF
-#define in_addr_t $curl_cv_in_addr_t_equiv
-_ACEOF
-
- ;;
- esac
-
-fi
-
-
-
-
- { echo "$as_me:$LINENO: checking for struct sockaddr_storage" >&5
-echo $ECHO_N "checking for struct sockaddr_storage... $ECHO_C" >&6; }
-if test "${ac_cv_type_struct_sockaddr_storage+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#endif
-
-
-typedef struct sockaddr_storage ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_struct_sockaddr_storage=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_struct_sockaddr_storage=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_struct_sockaddr_storage" >&5
-echo "${ECHO_T}$ac_cv_type_struct_sockaddr_storage" >&6; }
-if test $ac_cv_type_struct_sockaddr_storage = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRUCT_SOCKADDR_STORAGE 1
-_ACEOF
-
-fi
-
-
-
-
-
-for ac_header in signal.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- { echo "$as_me:$LINENO: checking for sig_atomic_t" >&5
-echo $ECHO_N "checking for sig_atomic_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_sig_atomic_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-
-
-typedef sig_atomic_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_sig_atomic_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_sig_atomic_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5
-echo "${ECHO_T}$ac_cv_type_sig_atomic_t" >&6; }
-if test $ac_cv_type_sig_atomic_t = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIG_ATOMIC_T 1
-_ACEOF
-
-
-fi
-
- case "$ac_cv_type_sig_atomic_t" in
- yes)
- #
- { echo "$as_me:$LINENO: checking if sig_atomic_t is already defined as volatile" >&5
-echo $ECHO_N "checking if sig_atomic_t is already defined as volatile... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-
-int
-main ()
-{
-
- static volatile sig_atomic_t dummy = 0;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ac_cv_sig_atomic_t_volatile="no"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ac_cv_sig_atomic_t_volatile="yes"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$ac_cv_sig_atomic_t_volatile" = "yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIG_ATOMIC_T_VOLATILE 1
-_ACEOF
-
- fi
- ;;
- esac
-
-
-{ echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
-if test "${ac_cv_type_signal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_signal=int
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_signal=void
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-
-
-
-
-for ac_header in sys/select.h sys/socket.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { echo "$as_me:$LINENO: checking for select" >&5
-echo $ECHO_N "checking for select... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-#ifndef HAVE_WINDOWS_H
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- select(0, 0, 0, 0, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_select="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- curl_cv_select="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$curl_cv_select" = "yes"; then
- { echo "$as_me:$LINENO: checking types of args and return type for select" >&5
-echo $ECHO_N "checking types of args and return type for select... $ECHO_C" >&6; }
-if test "${curl_cv_func_select_args+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_func_select_args="unknown"
- for sel_retv in 'int' 'ssize_t'; do
- for sel_arg1 in 'int' 'ssize_t' 'size_t' 'unsigned long int' 'unsigned int'; do
- for sel_arg234 in 'fd_set *' 'int *' 'void *'; do
- for sel_arg5 in 'struct timeval *' 'const struct timeval *'; do
- if test "$curl_cv_func_select_args" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define SELECTCALLCONV PASCAL
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-#ifndef HAVE_WINDOWS_H
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define SELECTCALLCONV
-#endif
-#ifndef HAVE_STRUCT_TIMEVAL
- struct timeval {
- long tv_sec;
- long tv_usec;
- };
-#endif
- extern $sel_retv SELECTCALLCONV select($sel_arg1,
- $sel_arg234,
- $sel_arg234,
- $sel_arg234,
- $sel_arg5);
-
-int
-main ()
-{
-
- $sel_arg1 nfds=0;
- $sel_arg234 rfds=0;
- $sel_arg234 wfds=0;
- $sel_arg234 efds=0;
- $sel_retv res = select(nfds, rfds, wfds, efds, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_func_select_args="$sel_arg1,$sel_arg234,$sel_arg5,$sel_retv"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_func_select_args" >&5
-echo "${ECHO_T}$curl_cv_func_select_args" >&6; } # AC-CACHE-CHECK
- if test "$curl_cv_func_select_args" = "unknown"; then
- { echo "$as_me:$LINENO: WARNING: Cannot find proper types to use for select args" >&5
-echo "$as_me: WARNING: Cannot find proper types to use for select args" >&2;}
- { echo "$as_me:$LINENO: WARNING: HAVE_SELECT will not be defined" >&5
-echo "$as_me: WARNING: HAVE_SELECT will not be defined" >&2;}
- else
- select_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_select_args" | sed 's/\*/\*/g'`
- IFS=$select_prev_IFS
- shift
- #
- sel_qual_type_arg5=$3
- #
-
-cat >>confdefs.h <<_ACEOF
-#define SELECT_TYPE_ARG1 $1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SELECT_TYPE_ARG234 $2
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SELECT_TYPE_RETV $4
-_ACEOF
-
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$sel_qual_type_arg5" in
- const*)
- sel_qual_arg5=const
- sel_type_arg5=`echo $sel_qual_type_arg5 | sed 's/^const //'`
- ;;
- *)
- sel_qual_arg5=
- sel_type_arg5=$sel_qual_type_arg5
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define SELECT_QUAL_ARG5 $sel_qual_arg5
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SELECT_TYPE_ARG5 $sel_type_arg5
-_ACEOF
-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SELECT 1
-_ACEOF
-
- ac_cv_func_select="yes"
- fi
- fi
-
-
-
-
-
-for ac_header in sys/types.h sys/socket.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { echo "$as_me:$LINENO: checking for recv" >&5
-echo $ECHO_N "checking for recv... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- recv(0, 0, 0, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_recv="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- curl_cv_recv="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$curl_cv_recv" = "yes"; then
- { echo "$as_me:$LINENO: checking types of args and return type for recv" >&5
-echo $ECHO_N "checking types of args and return type for recv... $ECHO_C" >&6; }
-if test "${curl_cv_func_recv_args+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_func_recv_args="unknown"
- for recv_retv in 'int' 'ssize_t'; do
- for recv_arg1 in 'int' 'ssize_t' 'SOCKET'; do
- for recv_arg2 in 'char *' 'void *'; do
- for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
- for recv_arg4 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_recv_args" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define RECVCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define RECVCALLCONV
-#endif
- extern $recv_retv RECVCALLCONV
- recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4);
-
-int
-main ()
-{
-
- $recv_arg1 s=0;
- $recv_arg2 buf=0;
- $recv_arg3 len=0;
- $recv_arg4 flags=0;
- $recv_retv res = recv(s, buf, len, flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
- done
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_func_recv_args" >&5
-echo "${ECHO_T}$curl_cv_func_recv_args" >&6; } # AC-CACHE-CHECK
- if test "$curl_cv_func_recv_args" = "unknown"; then
- { { echo "$as_me:$LINENO: error: Cannot find proper types to use for recv args" >&5
-echo "$as_me: error: Cannot find proper types to use for recv args" >&2;}
- { (exit 1); exit 1; }; }
- else
- recv_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_recv_args" | sed 's/\*/\*/g'`
- IFS=$recv_prev_IFS
- shift
- #
-
-cat >>confdefs.h <<_ACEOF
-#define RECV_TYPE_ARG1 $1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECV_TYPE_ARG2 $2
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECV_TYPE_ARG3 $3
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECV_TYPE_ARG4 $4
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECV_TYPE_RETV $5
-_ACEOF
-
- #
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_RECV 1
-_ACEOF
-
- ac_cv_func_recv="yes"
- fi
- else
- { { echo "$as_me:$LINENO: error: Unable to link function recv" >&5
-echo "$as_me: error: Unable to link function recv" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-
-
-
-for ac_header in sys/types.h sys/socket.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { echo "$as_me:$LINENO: checking for recvfrom" >&5
-echo $ECHO_N "checking for recvfrom... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- recvfrom(0, 0, 0, 0, 0, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_recvfrom="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- curl_cv_recvfrom="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$curl_cv_recvfrom" = "yes"; then
- { echo "$as_me:$LINENO: checking types of args and return type for recvfrom" >&5
-echo $ECHO_N "checking types of args and return type for recvfrom... $ECHO_C" >&6; }
-if test "${curl_cv_func_recvfrom_args+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_func_recvfrom_args="unknown"
- for recvfrom_retv in 'int' 'ssize_t'; do
- for recvfrom_arg1 in 'int' 'ssize_t' 'SOCKET'; do
- for recvfrom_arg2 in 'char *' 'void *'; do
- for recvfrom_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
- for recvfrom_arg4 in 'int' 'unsigned int'; do
- for recvfrom_arg5 in 'struct sockaddr *' 'void *'; do
- for recvfrom_arg6 in 'socklen_t *' 'int *' 'unsigned int *' 'size_t *' 'void *'; do
- if test "$curl_cv_func_recvfrom_args" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define RECVFROMCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define RECVFROMCALLCONV
-#endif
- extern $recvfrom_retv RECVFROMCALLCONV
- recvfrom($recvfrom_arg1, $recvfrom_arg2,
- $recvfrom_arg3, $recvfrom_arg4,
- $recvfrom_arg5, $recvfrom_arg6);
-
-int
-main ()
-{
-
- $recvfrom_arg1 s=0;
- $recvfrom_arg2 buf=0;
- $recvfrom_arg3 len=0;
- $recvfrom_arg4 flags=0;
- $recvfrom_arg5 addr=0;
- $recvfrom_arg6 addrlen=0;
- $recvfrom_retv res=0;
- res = recvfrom(s, buf, len, flags, addr, addrlen);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_func_recvfrom_args="$recvfrom_arg1,$recvfrom_arg2,$recvfrom_arg3,$recvfrom_arg4,$recvfrom_arg5,$recvfrom_arg6,$recvfrom_retv"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
- done
- done
- done
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_func_recvfrom_args" >&5
-echo "${ECHO_T}$curl_cv_func_recvfrom_args" >&6; } # AC-CACHE-CHECK
- # Nearly last minute change for this release starts here
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_RECVFROM 1
-_ACEOF
-
- ac_cv_func_recvfrom="yes"
- # Nearly last minute change for this release ends here
- if test "$curl_cv_func_recvfrom_args" = "unknown"; then
- { echo "$as_me:$LINENO: WARNING: Cannot find proper types to use for recvfrom args" >&5
-echo "$as_me: WARNING: Cannot find proper types to use for recvfrom args" >&2;}
- else
- recvfrom_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
- IFS=$recvfrom_prev_IFS
- shift
- #
- recvfrom_ptrt_arg2=$2
- recvfrom_ptrt_arg5=$5
- recvfrom_ptrt_arg6=$6
- #
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG1 $1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG3 $3
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG4 $4
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_RETV $7
-_ACEOF
-
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
- recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
- recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
- #
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG2 $recvfrom_type_arg2
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG5 $recvfrom_type_arg5
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG6 $recvfrom_type_arg6
-_ACEOF
-
- #
- if test "$recvfrom_type_arg2" = "void"; then
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-_ACEOF
-
- fi
- if test "$recvfrom_type_arg5" = "void"; then
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG5_IS_VOID 1
-_ACEOF
-
- fi
- if test "$recvfrom_type_arg6" = "void"; then
-
-cat >>confdefs.h <<_ACEOF
-#define RECVFROM_TYPE_ARG6_IS_VOID 1
-_ACEOF
-
- fi
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_RECVFROM 1
-_ACEOF
-
- ac_cv_func_recvfrom="yes"
- fi
- else
- { echo "$as_me:$LINENO: WARNING: Unable to link function recvfrom" >&5
-echo "$as_me: WARNING: Unable to link function recvfrom" >&2;}
- fi
-
-
-
-
-for ac_header in sys/types.h sys/socket.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { echo "$as_me:$LINENO: checking for send" >&5
-echo $ECHO_N "checking for send... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- send(0, 0, 0, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_send="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- curl_cv_send="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$curl_cv_send" = "yes"; then
- { echo "$as_me:$LINENO: checking types of args and return type for send" >&5
-echo $ECHO_N "checking types of args and return type for send... $ECHO_C" >&6; }
-if test "${curl_cv_func_send_args+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_func_send_args="unknown"
- for send_retv in 'int' 'ssize_t'; do
- for send_arg1 in 'int' 'ssize_t' 'SOCKET'; do
- for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do
- for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
- for send_arg4 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_send_args" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#define SENDCALLCONV PASCAL
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#define SENDCALLCONV
-#endif
- extern $send_retv SENDCALLCONV
- send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
-
-int
-main ()
-{
-
- $send_arg1 s=0;
- $send_arg3 len=0;
- $send_arg4 flags=0;
- $send_retv res = send(s, 0, len, flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
- done
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_func_send_args" >&5
-echo "${ECHO_T}$curl_cv_func_send_args" >&6; } # AC-CACHE-CHECK
- if test "$curl_cv_func_send_args" = "unknown"; then
- { { echo "$as_me:$LINENO: error: Cannot find proper types to use for send args" >&5
-echo "$as_me: error: Cannot find proper types to use for send args" >&2;}
- { (exit 1); exit 1; }; }
- else
- send_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_send_args" | sed 's/\*/\*/g'`
- IFS=$send_prev_IFS
- shift
- #
- send_qual_type_arg2=$2
- #
-
-cat >>confdefs.h <<_ACEOF
-#define SEND_TYPE_ARG1 $1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SEND_TYPE_ARG3 $3
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SEND_TYPE_ARG4 $4
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SEND_TYPE_RETV $5
-_ACEOF
-
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$send_qual_type_arg2" in
- const*)
- send_qual_arg2=const
- send_type_arg2=`echo $send_qual_type_arg2 | sed 's/^const //'`
- ;;
- *)
- send_qual_arg2=
- send_type_arg2=$send_qual_type_arg2
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define SEND_QUAL_ARG2 $send_qual_arg2
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SEND_TYPE_ARG2 $send_type_arg2
-_ACEOF
-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SEND 1
-_ACEOF
-
- ac_cv_func_send="yes"
- fi
- else
- { { echo "$as_me:$LINENO: error: Unable to link function send" >&5
-echo "$as_me: error: Unable to link function send" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-
-
-
-for ac_header in sys/types.h sys/socket.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- { echo "$as_me:$LINENO: checking for MSG_NOSIGNAL" >&5
-echo $ECHO_N "checking for MSG_NOSIGNAL... $ECHO_C" >&6; }
-if test "${ac_cv_msg_nosignal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- int flag=MSG_NOSIGNAL;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_msg_nosignal="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_msg_nosignal="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_msg_nosignal" >&5
-echo "${ECHO_T}$ac_cv_msg_nosignal" >&6; }
- case "$ac_cv_msg_nosignal" in
- yes)
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_MSG_NOSIGNAL 1
-_ACEOF
-
- ;;
- esac
-
-
-
-case $host in
- *msdosdjgpp)
- ac_cv_func_pipe=no
- skipcheck_pipe=yes
- { echo "$as_me:$LINENO: skip check for pipe on msdosdjgpp" >&5
-echo "$as_me: skip check for pipe on msdosdjgpp" >&6;}
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in basename \
- closesocket \
- fork \
- ftruncate \
- geteuid \
- gethostbyaddr \
- getpass_r \
- getppid \
- getprotobyname \
- getpwuid \
- getrlimit \
- gettimeofday \
- inet_addr \
- inet_ntoa \
- inet_pton \
- perror \
- pipe \
- poll \
- setlocale \
- setmode \
- setrlimit \
- sigaction \
- siginterrupt \
- signal \
- sigsetjmp \
- socket \
- strcasecmp \
- strcasestr \
- strcmpi \
- strdup \
- stricmp \
- strlcat \
- strstr \
- strtok_r \
- strtoll \
- uname \
- utime
-
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-
-else
-
- func="$ac_func"
- eval skipcheck=\$skipcheck_$func
- if test "x$skipcheck" != "xyes"; then
- { echo "$as_me:$LINENO: checking deeper for $func" >&5
-echo $ECHO_N "checking deeper for $func... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
- $func ();
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- eval "ac_cv_func_$func=yes"
-
-cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$func" | $as_tr_cpp` 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: but still no" >&5
-echo "${ECHO_T}but still no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
-
-fi
-done
-
-
-
-if test "$ac_cv_func_sigsetjmp" != "yes"; then
- { echo "$as_me:$LINENO: checking for sigsetjmp defined as macro" >&5
-echo $ECHO_N "checking for sigsetjmp defined as macro... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <setjmp.h>
-
-int
-main ()
-{
-
- sigjmp_buf jmpenv;
- sigsetjmp(jmpenv, 1);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGSETJMP 1
-_ACEOF
-
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-{ echo "$as_me:$LINENO: checking whether basename is declared" >&5
-echo $ECHO_N "checking whether basename is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_basename+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-
-int
-main ()
-{
-#ifndef basename
- (void) basename;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_basename=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_basename=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_basename" >&5
-echo "${ECHO_T}$ac_cv_have_decl_basename" >&6; }
-if test $ac_cv_have_decl_basename = yes; then
- :
-else
-
-cat >>confdefs.h <<\_ACEOF
-#define NEED_BASENAME_PROTO 1
-_ACEOF
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether inet_pton is declared" >&5
-echo $ECHO_N "checking whether inet_pton is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_inet_pton+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-
-
-int
-main ()
-{
-#ifndef inet_pton
- (void) inet_pton;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_inet_pton=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_inet_pton=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_inet_pton" >&5
-echo "${ECHO_T}$ac_cv_have_decl_inet_pton" >&6; }
-if test $ac_cv_have_decl_inet_pton = yes; then
- :
-else
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NO_INET_PTON_PROTO 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-for ac_header in sys/types.h sys/socket.h netdb.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { echo "$as_me:$LINENO: checking for getnameinfo" >&5
-echo $ECHO_N "checking for getnameinfo... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define getnameinfo to an innocuous variant, in case <limits.h> declares getnameinfo.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define getnameinfo innocuous_getnameinfo
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char getnameinfo (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef getnameinfo
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getnameinfo ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_getnameinfo || defined __stub___getnameinfo
-choke me
-#endif
-
-int
-main ()
-{
-return getnameinfo ();
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_getnameinfo="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- curl_cv_getnameinfo="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- { echo "$as_me:$LINENO: checking deeper for getnameinfo" >&5
-echo $ECHO_N "checking deeper for getnameinfo... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-
- getnameinfo();
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_getnameinfo="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: but still no" >&5
-echo "${ECHO_T}but still no" >&6; }
- curl_cv_getnameinfo="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- { echo "$as_me:$LINENO: checking deeper and deeper for getnameinfo" >&5
-echo $ECHO_N "checking deeper and deeper for getnameinfo... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#endif
-
-int
-main ()
-{
-
- getnameinfo(0, 0, 0, 0, 0, 0, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- curl_cv_getnameinfo="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: but still no" >&5
-echo "${ECHO_T}but still no" >&6; }
- curl_cv_getnameinfo="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$curl_cv_getnameinfo" = "yes"; then
- { echo "$as_me:$LINENO: checking types of arguments for getnameinfo" >&5
-echo $ECHO_N "checking types of arguments for getnameinfo... $ECHO_C" >&6; }
-if test "${curl_cv_func_getnameinfo_args+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- curl_cv_func_getnameinfo_args="unknown"
- for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
- for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
- for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
- for gni_arg7 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#define GNICALLCONV WSAAPI
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#define GNICALLCONV
-#endif
- extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2,
- char *, $gni_arg46,
- char *, $gni_arg46,
- $gni_arg7);
-
-int
-main ()
-{
-
- $gni_arg2 salen=0;
- $gni_arg46 hostlen=0;
- $gni_arg46 servlen=0;
- $gni_arg7 flags=0;
- int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
- done
-
-fi
-{ echo "$as_me:$LINENO: result: $curl_cv_func_getnameinfo_args" >&5
-echo "${ECHO_T}$curl_cv_func_getnameinfo_args" >&6; } # AC-CACHE-CHECK
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- { echo "$as_me:$LINENO: WARNING: Cannot find proper types to use for getnameinfo args" >&5
-echo "$as_me: WARNING: Cannot find proper types to use for getnameinfo args" >&2;}
- { echo "$as_me:$LINENO: WARNING: HAVE_GETNAMEINFO will not be defined" >&5
-echo "$as_me: WARNING: HAVE_GETNAMEINFO will not be defined" >&2;}
- else
- gni_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
- IFS=$gni_prev_IFS
- shift
- #
- gni_qual_type_arg1=$1
- #
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG2 $2
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG46 $3
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG7 $4
-_ACEOF
-
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$gni_qual_type_arg1" in
- const*)
- gni_qual_arg1=const
- gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
- ;;
- *)
- gni_qual_arg1=
- gni_type_arg1=$gni_qual_type_arg1
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_QUAL_ARG1 $gni_qual_arg1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG1 $gni_type_arg1
-_ACEOF
-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_GETNAMEINFO 1
-_ACEOF
-
- ac_cv_func_getnameinfo="yes"
- fi
- fi
-
-
-if test "$ipv6" = "yes"; then
-
- { echo "$as_me:$LINENO: checking for working getaddrinfo" >&5
-echo $ECHO_N "checking for working getaddrinfo... $ECHO_C" >&6; }
-if test "${ac_cv_working_getaddrinfo+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$cross_compiling" = yes; then
-
- ac_cv_working_getaddrinfo="yes"
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <netdb.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
-int main(void)
-{
- struct addrinfo hints, *ai;
- int error;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_NUMERICHOST;
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- error = getaddrinfo("127.0.0.1", "8080", &hints, &ai);
- if (error) {
- return 1;
- }
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
- ac_cv_working_getaddrinfo="yes"
-
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-
- ac_cv_working_getaddrinfo="no"
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_working_getaddrinfo" >&5
-echo "${ECHO_T}$ac_cv_working_getaddrinfo" >&6; }
-if test "$ac_cv_working_getaddrinfo" = "yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETADDRINFO 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define ENABLE_IPV6 1
-_ACEOF
-
-
- IPV6_ENABLED=1
-
-fi
-
-
-
-
-
-
-
-
-for ac_header in stdio.h sys/types.h sys/socket.h \
- netdb.h netinet/in.h arpa/inet.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------------------------------------------------ ##
-## Report this to a suitable curl mailing list => http://curl.haxx.se/mail/ ##
-## ------------------------------------------------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { echo "$as_me:$LINENO: checking for working NI_WITHSCOPEID" >&5
-echo $ECHO_N "checking for working NI_WITHSCOPEID... $ECHO_C" >&6; }
-if test "${ac_cv_working_ni_withscopeid+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$cross_compiling" = yes; then
-
- # Program is not run when cross-compiling. So we assume
- # NI_WITHSCOPEID will work if we are able to compile it.
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-
-int
-main ()
-{
-
- unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- ac_cv_working_ni_withscopeid="yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- ac_cv_working_ni_withscopeid="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # AC-COMPILE-IFELSE
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-int
-main ()
-{
-
-#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
- struct sockaddr_storage sa;
-#else
- unsigned char sa[256];
-#endif
- char hostbuf[NI_MAXHOST];
- int rc;
- GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
- GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
- GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
- int fd = socket(AF_INET6, SOCK_STREAM, 0);
- if(fd < 0) {
- perror("socket()");
- return 1; /* Error creating socket */
- }
- rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
- if(rc) {
- perror("getsockname()");
- return 2; /* Error retrieving socket name */
- }
- rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
- if(rc) {
- printf("rc = %s\n", gai_strerror(rc));
- return 3; /* Error translating socket address */
- }
- return 0; /* Ok, NI_WITHSCOPEID works */
-#else
- return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
-#endif
-
- ;
- return 0;
-} # AC-LANG-PROGRAM
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
- # Exit code == 0. Program worked.
- ac_cv_working_ni_withscopeid="yes"
-
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-
- # Exit code != 0. Program failed.
- ac_cv_working_ni_withscopeid="no"
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
- # AC-RUN-IFELSE
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_working_ni_withscopeid" >&5
-echo "${ECHO_T}$ac_cv_working_ni_withscopeid" >&6; } # AC-CACHE-CHECK
- case "$ac_cv_working_ni_withscopeid" in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NI_WITHSCOPEID 1
-_ACEOF
-
- ;;
- esac
-
-fi
-
-{ echo "$as_me:$LINENO: checking if we are Mac OS X (to disable poll)" >&5
-echo $ECHO_N "checking if we are Mac OS X (to disable poll)... $ECHO_C" >&6; }
-disable_poll=no
-case $host in
- *-*-darwin*)
- disable_poll="yes";
- ;;
- *)
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $disable_poll" >&5
-echo "${ECHO_T}$disable_poll" >&6; }
-
-if test "$disable_poll" = "no"; then
-
- if test "$ac_cv_func_poll" = "yes"; then
- { echo "$as_me:$LINENO: checking if poll works with NULL inputs" >&5
-echo $ECHO_N "checking if poll works with NULL inputs... $ECHO_C" >&6; }
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: result: cross-compiling assumes yes" >&5
-echo "${ECHO_T}cross-compiling assumes yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL_FINE 1
-_ACEOF
-
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-
-#ifdef HAVE_SYS_POLL_H
-#include <sys/poll.h>
-#elif defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-
- int main(void)
- {
- /* make this return 0 == timeout since there's nothing to read from */
- return poll((void *)0, 0, 10 /*ms*/);
- }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL_FINE 1
-_ACEOF
-
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
- fi fi
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $PERL in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin "
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PERL=$ac_cv_path_PERL
-if test -n "$PERL"; then
- { echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-
-
-for ac_prog in gnroff nroff
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_NROFF+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $NROFF in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin/:/usr/local/bin "
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-NROFF=$ac_cv_path_NROFF
-if test -n "$NROFF"; then
- { echo "$as_me:$LINENO: result: $NROFF" >&5
-echo "${ECHO_T}$NROFF" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$NROFF" && break
-done
-
-
-
-if test -n "$NROFF"; then
-
- { echo "$as_me:$LINENO: checking how to use *nroff to get plain text from man pages" >&5
-echo $ECHO_N "checking how to use *nroff to get plain text from man pages... $ECHO_C" >&6; }
- MANOPT="-man"
- mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
- if test -z "$mancheck"; then
- MANOPT="-mandoc"
- mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
- if test -z "$mancheck"; then
- MANOPT=""
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
- { echo "$as_me:$LINENO: WARNING: found no *nroff option to get plaintext from man pages" >&5
-echo "$as_me: WARNING: found no *nroff option to get plaintext from man pages" >&2;}
- else
- { echo "$as_me:$LINENO: result: $MANOPT" >&5
-echo "${ECHO_T}$MANOPT" >&6; }
- fi
- else
- { echo "$as_me:$LINENO: result: $MANOPT" >&5
-echo "${ECHO_T}$MANOPT" >&6; }
- fi
-
-fi
-
-if test -z "$MANOPT"
-then
- { echo "$as_me:$LINENO: WARNING: disabling built-in manual" >&5
-echo "$as_me: WARNING: disabling built-in manual" >&2;}
- USE_MANUAL="no";
-fi
-
-
-if test "$USE_MANUAL" = "1"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_MANUAL 1
-_ACEOF
-
- curl_manual_msg="enabled"
-fi
-
-
-
-if test x"$USE_MANUAL" = x1; then
- USE_MANUAL_TRUE=
- USE_MANUAL_FALSE='#'
-else
- USE_MANUAL_TRUE='#'
- USE_MANUAL_FALSE=
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable c-ares" >&5
-echo $ECHO_N "checking whether to enable c-ares... $ECHO_C" >&6; }
-# Check whether --enable-ares was given.
-if test "${enable_ares+set}" = set; then
- enableval=$enable_ares; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
- if test "x$IPV6_ENABLED" = "x1"; then
- { echo "$as_me:$LINENO: c-ares may not work properly with ipv6" >&5
-echo "$as_me: c-ares may not work properly with ipv6" >&6;}
- fi
-
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_ARES 1
-_ACEOF
-
- HAVE_ARES="1"
-
- curl_ares_msg="enabled"
-
- LIBS="-lcares $LIBS"
-
- if test "x$enableval" = "xyes" ; then
- if test -d "$srcdir/ares"; then
- aresembedded="yes"
- subdirs="$subdirs ares"
-
- aresinc=`cd $srcdir/ares && pwd`
- CPPFLAGS="$CPPFLAGS -I$aresinc"
-
- pwd=`pwd`
- LDFLAGS="$LDFLAGS -L$pwd/ares"
- fi
- else
- CPPFLAGS="$CPPFLAGS -I$enableval/include"
- LDFLAGS="$LDFLAGS -L$enableval/lib"
- fi
-
- if test -z "$aresembedded"; then
- { echo "$as_me:$LINENO: checking that c-ares is good and recent enough" >&5
-echo $ECHO_N "checking that c-ares is good and recent enough... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-
- /* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <ares.h>
- /* set of dummy functions in case c-ares was built with debug */
- void curl_dofree() { }
- void curl_sclose() { }
- void curl_domalloc() { }
- void curl_docalloc() { }
- void curl_socket() { }
-
-int
-main ()
-{
-
- ares_channel channel;
- ares_cancel(channel); /* added in 1.2.0 */
- ares_process_fd(channel, 0, 0); /* added in 1.4.0 */
-
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { { echo "$as_me:$LINENO: error: c-ares library defective or too old" >&5
-echo "$as_me: error: c-ares library defective or too old" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- fi
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable verbose strings" >&5
-echo $ECHO_N "checking whether to enable verbose strings... $ECHO_C" >&6; }
-# Check whether --enable-verbose was given.
-if test "${enable_verbose+set}" = set; then
- enableval=$enable_verbose; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_VERBOSE_STRINGS 1
-_ACEOF
-
- curl_verbose_msg="no"
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable SSPI support (Windows native builds only)" >&5
-echo $ECHO_N "checking whether to enable SSPI support (Windows native builds only)... $ECHO_C" >&6; }
-# Check whether --enable-sspi was given.
-if test "${enable_sspi+set}" = set; then
- enableval=$enable_sspi; case "$enableval" in
- yes)
- if test "$ac_cv_native_windows" = "yes"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_WINDOWS_SSPI 1
-_ACEOF
-
- USE_WINDOWS_SSPI=1
-
- curl_sspi_msg="yes"
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING: --enable-sspi Ignored. Only supported on native Windows builds." >&5
-echo "$as_me: WARNING: --enable-sspi Ignored. Only supported on native Windows builds." >&2;}
- fi
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable debug options" >&5
-echo $ECHO_N "checking whether to enable debug options... $ECHO_C" >&6; }
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
- enableval=$enable_debug; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
- CPPFLAGS="$CPPFLAGS -DCURLDEBUG"
- CFLAGS="$CFLAGS -g"
-
-
- if test "z$ICC" = "z"; then
-
- ICC="no"
- { echo "$as_me:$LINENO: checking for icc in use" >&5
-echo $ECHO_N "checking for icc in use... $ECHO_C" >&6; }
- if test "$GCC" = "yes"; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-__INTEL_COMPILER
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "^__INTEL_COMPILER" >/dev/null 2>&1; then
- ICC="no"
-else
- ICC="yes"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-fi
-rm -f conftest*
-
- fi
- if test "$ICC" = "no"; then
- # this is not ICC
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
-
- fi
-
- if test "$GCC" = "yes"; then
-
- { echo "$as_me:$LINENO: checking gcc version" >&5
-echo $ECHO_N "checking gcc version... $ECHO_C" >&6; }
- gccver=`$CC -dumpversion`
- num1=`echo $gccver | cut -d . -f1`
- num2=`echo $gccver | cut -d . -f2`
- gccnum=`(expr $num1 "*" 100 + $num2) 2>/dev/null`
- { echo "$as_me:$LINENO: result: $gccver" >&5
-echo "${ECHO_T}$gccver" >&6; }
-
- if test "$ICC" = "yes"; then
-
-
- WARN="-wd279,269,981,1418,1419"
-
- if test "$gccnum" -gt "600"; then
- WARN="-Wall $WARN"
- fi
- else WARN="-W -Wall -Wwrite-strings -pedantic -Wpointer-arith -Wnested-externs -Winline -Wmissing-prototypes"
-
-
- if test "$gccnum" -ge "207"; then
- WARN="$WARN -Wmissing-declarations"
- fi
-
- if test "$gccnum" -gt "295"; then
- WARN="$WARN -Wundef -Wno-long-long -Wsign-compare -Wshadow -Wno-multichar"
- fi
-
- if test "$gccnum" -ge "296"; then
- WARN="$WARN -Wfloat-equal"
- fi
-
- if test "$gccnum" -gt "296"; then
- WARN="$WARN -Wno-format-nonliteral"
- fi
-
-
- if test "$gccnum" -ge "303"; then
- WARN="$WARN -Wendif-labels -Wstrict-prototypes"
- fi
-
- if test "$gccnum" -ge "304"; then
- # try these on gcc 3.4
- WARN="$WARN -Wdeclaration-after-statement"
- fi
-
- for flag in $CPPFLAGS; do
- case "$flag" in
- -I*)
- add=`echo $flag | sed 's/^-I/-isystem /g'`
- WARN="$WARN $add"
- ;;
- esac
- done
-
- fi
- CFLAGS="$CFLAGS $WARN"
-
- { echo "$as_me:$LINENO: Added this set of compiler options: $WARN" >&5
-echo "$as_me: Added this set of compiler options: $WARN" >&6;}
-
- else
- { echo "$as_me:$LINENO: Added no extra compiler options" >&5
-echo "$as_me: Added no extra compiler options" >&6;}
-
- fi
- NEWFLAGS=""
- for flag in $CFLAGS; do
- case "$flag" in
- -O*)
- ;;
- *)
- NEWFLAGS="$NEWFLAGS $flag"
- ;;
- esac
- done
- CFLAGS=$NEWFLAGS
-
-
- ;;
- esac
-
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable cryptographic authentication methods" >&5
-echo $ECHO_N "checking whether to enable cryptographic authentication methods... $ECHO_C" >&6; }
-# Check whether --enable-crypto-auth was given.
-if test "${enable_crypto_auth+set}" = set; then
- enableval=$enable_crypto_auth; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_CRYPTO_AUTH 1
-_ACEOF
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable support for cookies" >&5
-echo $ECHO_N "checking whether to enable support for cookies... $ECHO_C" >&6; }
-# Check whether --enable-cookies was given.
-if test "${enable_cookies+set}" = set; then
- enableval=$enable_cookies; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_DISABLE_COOKIES 1
-_ACEOF
-
- ;;
- *) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to enable hidden symbols in the library" >&5
-echo $ECHO_N "checking whether to enable hidden symbols in the library... $ECHO_C" >&6; }
-# Check whether --enable-hidden-symbols was given.
-if test "${enable_hidden_symbols+set}" = set; then
- enableval=$enable_hidden_symbols; case "$enableval" in
- no)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- *)
- { echo "$as_me:$LINENO: checking whether $CC supports it" >&5
-echo $ECHO_N "checking whether $CC supports it... $ECHO_C" >&6; }
- if test "$GCC" = yes ; then
- if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_HIDDEN_SYMBOLS 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_EXTERN_SYMBOL __attribute__ ((visibility ("default")))
-_ACEOF
-
- CFLAGS="$CFLAGS -fvisibility=hidden"
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
-
- else
- if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_HIDDEN_SYMBOLS 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define CURL_EXTERN_SYMBOL __global
-_ACEOF
-
- CFLAGS="$CFLAGS -xldscope=hidden"
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- fi
- fi
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking whether to enforce SONAME bump" >&5
-echo $ECHO_N "checking whether to enforce SONAME bump... $ECHO_C" >&6; }
-# Check whether --enable-soname-bump was given.
-if test "${enable_soname_bump+set}" = set; then
- enableval=$enable_soname_bump; case "$enableval" in
- yes) { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- soname_bump=yes
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-else
- { echo "$as_me:$LINENO: result: $soname_bump" >&5
-echo "${ECHO_T}$soname_bump" >&6; }
-
-fi
-
-
-
-if test x$soname_bump = xyes; then
- SONAME_BUMP_TRUE=
- SONAME_BUMP_FALSE='#'
-else
- SONAME_BUMP_TRUE='#'
- SONAME_BUMP_FALSE=
-fi
-
-
-
-if test ! -z "$winsock_LIB"; then
-
-
- LIBS="$LIBS $winsock_LIB"
- TEST_SERVER_LIBS="$TEST_SERVER_LIBS $winsock_LIB"
-
-fi
-
-LIBCURL_LIBS=$LIBS
-
-
-
-
-LIBS=$ALL_LIBS
-
-
-if test x$cross_compiling = xyes; then
- CROSSCOMPILING_TRUE=
- CROSSCOMPILING_FALSE='#'
-else
- CROSSCOMPILING_TRUE='#'
- CROSSCOMPILING_FALSE=
-fi
-
-
-ac_config_files="$ac_config_files Makefile docs/Makefile docs/examples/Makefile docs/libcurl/Makefile include/Makefile include/curl/Makefile src/Makefile lib/Makefile tests/Makefile tests/data/Makefile tests/server/Makefile tests/libtest/Makefile packages/Makefile packages/Win32/Makefile packages/Win32/cygwin/Makefile packages/Linux/Makefile packages/Linux/RPM/Makefile packages/Linux/RPM/curl.spec packages/Linux/RPM/curl-ssl.spec packages/Solaris/Makefile packages/DOS/Makefile packages/EPM/curl.list packages/EPM/Makefile packages/vms/Makefile packages/AIX/Makefile packages/AIX/RPM/Makefile packages/AIX/RPM/curl.spec curl-config libcurl.pc"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${NO_UNDEFINED_TRUE}" && test -z "${NO_UNDEFINED_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${MIMPURE_TRUE}" && test -z "${MIMPURE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MIMPURE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MIMPURE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${STATICLIB_TRUE}" && test -z "${STATICLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"STATICLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"STATICLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${STATICLIB_TRUE}" && test -z "${STATICLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"STATICLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"STATICLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_LIBZ_TRUE}" && test -z "${HAVE_LIBZ_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBZ\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_LIBZ\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${USE_MANUAL_TRUE}" && test -z "${USE_MANUAL_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"USE_MANUAL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_MANUAL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${SONAME_BUMP_TRUE}" && test -z "${SONAME_BUMP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"SONAME_BUMP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"SONAME_BUMP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${CROSSCOMPILING_TRUE}" && test -z "${CROSSCOMPILING_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"CROSSCOMPILING\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"CROSSCOMPILING\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by curl $as_me -, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-curl config.status -
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- { echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
- export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "lib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/config.h" ;;
- "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;;
- "include/curl/curlbuild.h") CONFIG_HEADERS="$CONFIG_HEADERS include/curl/curlbuild.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
- "docs/examples/Makefile") CONFIG_FILES="$CONFIG_FILES docs/examples/Makefile" ;;
- "docs/libcurl/Makefile") CONFIG_FILES="$CONFIG_FILES docs/libcurl/Makefile" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/curl/Makefile") CONFIG_FILES="$CONFIG_FILES include/curl/Makefile" ;;
- "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
- "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- "tests/data/Makefile") CONFIG_FILES="$CONFIG_FILES tests/data/Makefile" ;;
- "tests/server/Makefile") CONFIG_FILES="$CONFIG_FILES tests/server/Makefile" ;;
- "tests/libtest/Makefile") CONFIG_FILES="$CONFIG_FILES tests/libtest/Makefile" ;;
- "packages/Makefile") CONFIG_FILES="$CONFIG_FILES packages/Makefile" ;;
- "packages/Win32/Makefile") CONFIG_FILES="$CONFIG_FILES packages/Win32/Makefile" ;;
- "packages/Win32/cygwin/Makefile") CONFIG_FILES="$CONFIG_FILES packages/Win32/cygwin/Makefile" ;;
- "packages/Linux/Makefile") CONFIG_FILES="$CONFIG_FILES packages/Linux/Makefile" ;;
- "packages/Linux/RPM/Makefile") CONFIG_FILES="$CONFIG_FILES packages/Linux/RPM/Makefile" ;;
- "packages/Linux/RPM/curl.spec") CONFIG_FILES="$CONFIG_FILES packages/Linux/RPM/curl.spec" ;;
- "packages/Linux/RPM/curl-ssl.spec") CONFIG_FILES="$CONFIG_FILES packages/Linux/RPM/curl-ssl.spec" ;;
- "packages/Solaris/Makefile") CONFIG_FILES="$CONFIG_FILES packages/Solaris/Makefile" ;;
- "packages/DOS/Makefile") CONFIG_FILES="$CONFIG_FILES packages/DOS/Makefile" ;;
- "packages/EPM/curl.list") CONFIG_FILES="$CONFIG_FILES packages/EPM/curl.list" ;;
- "packages/EPM/Makefile") CONFIG_FILES="$CONFIG_FILES packages/EPM/Makefile" ;;
- "packages/vms/Makefile") CONFIG_FILES="$CONFIG_FILES packages/vms/Makefile" ;;
- "packages/AIX/Makefile") CONFIG_FILES="$CONFIG_FILES packages/AIX/Makefile" ;;
- "packages/AIX/RPM/Makefile") CONFIG_FILES="$CONFIG_FILES packages/AIX/RPM/Makefile" ;;
- "packages/AIX/RPM/curl.spec") CONFIG_FILES="$CONFIG_FILES packages/AIX/RPM/curl.spec" ;;
- "curl-config") CONFIG_FILES="$CONFIG_FILES curl-config" ;;
- "libcurl.pc") CONFIG_FILES="$CONFIG_FILES libcurl.pc" ;;
-
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp=
- trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-AR!$AR$ac_delim
-libext!$libext$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-VERSIONNUM!$VERSIONNUM$ac_delim
-PKGADD_PKG!$PKGADD_PKG$ac_delim
-PKGADD_NAME!$PKGADD_NAME$ac_delim
-PKGADD_VENDOR!$PKGADD_VENDOR$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CPP!$CPP$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-RANLIB!$RANLIB$ac_delim
-DSYMUTIL!$DSYMUTIL$ac_delim
-NMEDIT!$NMEDIT$ac_delim
-DLLTOOL!$DLLTOOL$ac_delim
-AS!$AS$ac_delim
-OBJDUMP!$OBJDUMP$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-NO_UNDEFINED_TRUE!$NO_UNDEFINED_TRUE$ac_delim
-NO_UNDEFINED_FALSE!$NO_UNDEFINED_FALSE$ac_delim
-MIMPURE_TRUE!$MIMPURE_TRUE$ac_delim
-MIMPURE_FALSE!$MIMPURE_FALSE$ac_delim
-STATICLIB_TRUE!$STATICLIB_TRUE$ac_delim
-STATICLIB_FALSE!$STATICLIB_FALSE$ac_delim
-REQUIRE_LIB_DEPS!$REQUIRE_LIB_DEPS$ac_delim
-CURL_DISABLE_HTTP!$CURL_DISABLE_HTTP$ac_delim
-CURL_DISABLE_FTP!$CURL_DISABLE_FTP$ac_delim
-CURL_DISABLE_FILE!$CURL_DISABLE_FILE$ac_delim
-CURL_DISABLE_LDAP!$CURL_DISABLE_LDAP$ac_delim
-CURL_DISABLE_LDAPS!$CURL_DISABLE_LDAPS$ac_delim
-CURL_DISABLE_DICT!$CURL_DISABLE_DICT$ac_delim
-CURL_DISABLE_TELNET!$CURL_DISABLE_TELNET$ac_delim
-CURL_DISABLE_TFTP!$CURL_DISABLE_TFTP$ac_delim
-KRB4_ENABLED!$KRB4_ENABLED$ac_delim
-PKGCONFIG!$PKGCONFIG$ac_delim
-USE_SSLEAY!$USE_SSLEAY$ac_delim
-HAVE_LIBZ!$HAVE_LIBZ$ac_delim
-HAVE_LIBZ_TRUE!$HAVE_LIBZ_TRUE$ac_delim
-HAVE_LIBZ_FALSE!$HAVE_LIBZ_FALSE$ac_delim
-USE_LIBSSH2!$USE_LIBSSH2$ac_delim
-RANDOM_FILE!$RANDOM_FILE$ac_delim
-USE_GNUTLS!$USE_GNUTLS$ac_delim
-HAVE_PK11_CREATEGENERICOBJECT!$HAVE_PK11_CREATEGENERICOBJECT$ac_delim
-USE_NSS!$USE_NSS$ac_delim
-SSL_ENABLED!$SSL_ENABLED$ac_delim
-CURL_CA_BUNDLE!$CURL_CA_BUNDLE$ac_delim
-IDN_ENABLED!$IDN_ENABLED$ac_delim
-IPV6_ENABLED!$IPV6_ENABLED$ac_delim
-PERL!$PERL$ac_delim
-NROFF!$NROFF$ac_delim
-MANOPT!$MANOPT$ac_delim
-USE_MANUAL_TRUE!$USE_MANUAL_TRUE$ac_delim
-USE_MANUAL_FALSE!$USE_MANUAL_FALSE$ac_delim
-HAVE_ARES!$HAVE_ARES$ac_delim
-subdirs!$subdirs$ac_delim
-USE_WINDOWS_SSPI!$USE_WINDOWS_SSPI$ac_delim
-SONAME_BUMP_TRUE!$SONAME_BUMP_TRUE$ac_delim
-SONAME_BUMP_FALSE!$SONAME_BUMP_FALSE$ac_delim
-LIBCURL_LIBS!$LIBCURL_LIBS$ac_delim
-CURL_LIBS!$CURL_LIBS$ac_delim
-TEST_SERVER_LIBS!$TEST_SERVER_LIBS$ac_delim
-CROSSCOMPILING_TRUE!$CROSSCOMPILING_TRUE$ac_delim
-CROSSCOMPILING_FALSE!$CROSSCOMPILING_FALSE$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 54; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
-_ACEOF
-
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
- { (exit 1); exit 1; }; };;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- ac_file_inputs="$ac_file_inputs $ac_f"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- fi
-
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
- if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
- fi
- else
- echo "/* $configure_input */"
- cat "$ac_result"
- fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $ac_file | $ac_file:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir=$dirpart/$fdir
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
-
- esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
-#
-# CONFIG_SUBDIRS section.
-#
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- eval "set x $ac_configure_args"
- shift
- for ac_arg
- do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case $ac_arg in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
- | --c=*)
- ;;
- --config-cache | -C)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- ;;
- *)
- case $ac_arg in
- *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
- esac
- done
-
- # Always prepend --prefix to ensure using the same prefix
- # in subdir configurations.
- ac_arg="--prefix=$prefix"
- case $ac_arg in
- *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
-
- # Pass --silent
- if test "$silent" = yes; then
- ac_sub_configure_args="--silent $ac_sub_configure_args"
- fi
-
- ac_popdir=`pwd`
- for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- test -d "$srcdir/$ac_dir" || continue
-
- ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
- echo "$as_me:$LINENO: $ac_msg" >&5
- echo "$ac_msg" >&6
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- cd "$ac_dir"
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- ac_sub_configure=$ac_srcdir/configure.gnu
- elif test -f "$ac_srcdir/configure"; then
- ac_sub_configure=$ac_srcdir/configure
- elif test -f "$ac_srcdir/configure.in"; then
- # This should be Cygnus configure.
- ac_sub_configure=$ac_aux_dir/configure
- else
- { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
-echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
- # Make the cache file name correct relative to the subdirectory.
- case $cache_file in
- [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
- *) # Relative name.
- ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
- esac
-
- { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
- # The eval makes quoting arguments work.
- eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
- --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
- { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
-echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- cd "$ac_popdir"
- done
-fi
-
-
-{ echo "$as_me:$LINENO: Configured to build curl/libcurl:
-
- curl version: ${VERSION}
- Host setup: ${host}
- Install prefix: ${prefix}
- Compiler: ${CC}
- SSL support: ${curl_ssl_msg}
- SSH support: ${curl_ssh_msg}
- zlib support: ${curl_zlib_msg}
- krb4 support: ${curl_krb4_msg}
- GSSAPI support: ${curl_gss_msg}
- SPNEGO support: ${curl_spnego_msg}
- c-ares support: ${curl_ares_msg}
- ipv6 support: ${curl_ipv6_msg}
- IDN support: ${curl_idn_msg}
- Build libcurl: Shared=${enable_shared}, Static=${enable_static}
- Built-in manual: ${curl_manual_msg}
- Verbose errors: ${curl_verbose_msg}
- SSPI support: ${curl_sspi_msg}
- ca cert bundle: ${ca}
- ca cert path: ${capath}
- LDAP support: ${curl_ldap_msg}
- LDAPS support: ${curl_ldaps_msg}
-" >&5
-echo "$as_me: Configured to build curl/libcurl:
-
- curl version: ${VERSION}
- Host setup: ${host}
- Install prefix: ${prefix}
- Compiler: ${CC}
- SSL support: ${curl_ssl_msg}
- SSH support: ${curl_ssh_msg}
- zlib support: ${curl_zlib_msg}
- krb4 support: ${curl_krb4_msg}
- GSSAPI support: ${curl_gss_msg}
- SPNEGO support: ${curl_spnego_msg}
- c-ares support: ${curl_ares_msg}
- ipv6 support: ${curl_ipv6_msg}
- IDN support: ${curl_idn_msg}
- Build libcurl: Shared=${enable_shared}, Static=${enable_static}
- Built-in manual: ${curl_manual_msg}
- Verbose errors: ${curl_verbose_msg}
- SSPI support: ${curl_sspi_msg}
- ca cert bundle: ${ca}
- ca cert path: ${capath}
- LDAP support: ${curl_ldap_msg}
- LDAPS support: ${curl_ldaps_msg}
-" >&6;}
-
-if test "x$soname_bump" = "xyes"; then
-
-cat <<EOM
- SONAME bump: yes - WARNING: this library will be built with the SONAME
- number bumped due to (a detected) ABI breakage.
- See lib/README.curl_off_t for details on this.
-EOM
-
-fi
-
diff --git a/Utilities/cmcurl-7.19.0/configure.ac b/Utilities/cmcurl-7.19.0/configure.ac
deleted file mode 100644
index 18ab1f6..0000000
--- a/Utilities/cmcurl-7.19.0/configure.ac
+++ /dev/null
@@ -1,2615 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-#***************************************************************************
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.57)
-
-dnl We don't know the version number "statically" so we use a dash here
-AC_INIT([curl], [-], [a suitable curl mailing list => http://curl.haxx.se/mail/])
-
-dnl configure script copyright
-AC_COPYRIGHT([Copyright (c) 1998 - 2008 Daniel Stenberg, <daniel@haxx.se>
-This configure script may be copied, distributed and modified under the
-terms of the curl license; see COPYING for more details])
-
-AC_CONFIG_SRCDIR([lib/urldata.h])
-AM_CONFIG_HEADER(lib/config.h src/config.h include/curl/curlbuild.h)
-AM_MAINTAINER_MODE
-
-dnl SED is mandatory for configure process and libtool.
-dnl Set it now, allowing it to be changed later.
-AC_PATH_PROG([SED], [sed], [not_found],
- [$PATH:/usr/bin:/usr/local/bin])
-if test -z "$SED" || test "$SED" = "not_found"; then
- AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.])
-fi
-AC_SUBST([SED])
-
-dnl GREP is mandatory for configure process and libtool.
-dnl Set it now, allowing it to be changed later.
-AC_PATH_PROG([GREP], [grep], [not_found],
- [$PATH:/usr/bin:/usr/local/bin])
-if test -z "$GREP" || test "$GREP" = "not_found"; then
- AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.])
-fi
-AC_SUBST([GREP])
-
-dnl EGREP is mandatory for configure process and libtool.
-dnl Set it now, allowing it to be changed later.
-if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then
- AC_MSG_CHECKING([for egrep])
- EGREP="$GREP -E"
- AC_MSG_RESULT([$EGREP])
-else
- AC_PATH_PROG([EGREP], [egrep], [not_found],
- [$PATH:/usr/bin:/usr/local/bin])
-fi
-if test -z "$EGREP" || test "$EGREP" = "not_found"; then
- AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.])
-fi
-AC_SUBST([EGREP])
-
-dnl AR is mandatory for configure process and libtool.
-dnl This is target dependant, so check it as a tool.
-AC_PATH_TOOL([AR], [ar], [not_found],
- [$PATH:/usr/bin:/usr/local/bin])
-if test -z "$AR" || test "$AR" = "not_found"; then
- AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.])
-fi
-AC_SUBST([AR])
-
-AC_SUBST(libext)
-
-dnl figure out the libcurl version
-VERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curlver.h`
-AM_INIT_AUTOMAKE(curl,$VERSION)
-AC_MSG_CHECKING([curl version])
-AC_MSG_RESULT($VERSION)
-
-dnl
-dnl we extract the numerical version for curl-config only
-VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curlver.h`
-AC_SUBST(VERSIONNUM)
-
-dnl Solaris pkgadd support definitions
-PKGADD_PKG="HAXXcurl"
-PKGADD_NAME="cURL - a client that groks URLs"
-PKGADD_VENDOR="curl.haxx.se"
-AC_SUBST(PKGADD_PKG)
-AC_SUBST(PKGADD_NAME)
-AC_SUBST(PKGADD_VENDOR)
-
-dnl
-dnl initialize all the info variables
- curl_ssl_msg="no (--with-ssl / --with-gnutls)"
- curl_ssh_msg="no (--with-libssh2)"
- curl_zlib_msg="no (--with-zlib)"
- curl_krb4_msg="no (--with-krb4*)"
- curl_gss_msg="no (--with-gssapi)"
- curl_spnego_msg="no (--with-spnego)"
- curl_ares_msg="no (--enable-ares)"
- curl_ipv6_msg="no (--enable-ipv6)"
- curl_idn_msg="no (--with-libidn)"
- curl_manual_msg="no (--enable-manual)"
-curl_verbose_msg="enabled (--disable-verbose)"
- curl_sspi_msg="no (--enable-sspi)"
- curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)"
- curl_ldaps_msg="no (--enable-ldaps)"
-
-dnl
-dnl Save anything in $LIBS for later
-dnl
-ALL_LIBS=$LIBS
-
-dnl
-dnl Detect the canonical host and target build environment
-dnl
-
-AC_CANONICAL_HOST
-dnl Get system canonical name
-AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
-
-dnl Checks for programs.
-AC_PROG_CC
-
-dnl Our curl_off_t internal and external configure settings
-CURL_CONFIGURE_CURL_OFF_T
-
-dnl This defines _ALL_SOURCE for AIX
-CURL_CHECK_AIX_ALL_SOURCE
-
-dnl Our configure and build reentrant settings
-CURL_CONFIGURE_REENTRANT
-
-dnl check for how to do large files
-AC_SYS_LARGEFILE
-
-dnl support building of Windows DLLs
-AC_LIBTOOL_WIN32_DLL
-
-dnl skip libtool C++ and Fortran compiler checks
-m4_ifdef([AC_PROG_CXX], [m4_undefine([AC_PROG_CXX])])
-m4_defun([AC_PROG_CXX],[])
-m4_ifdef([AC_PROG_CXXCPP], [m4_undefine([AC_PROG_CXXCPP])])
-m4_defun([AC_PROG_CXXCPP],[true])
-m4_ifdef([AC_PROG_F77], [m4_undefine([AC_PROG_F77])])
-m4_defun([AC_PROG_F77],[])
-
-dnl skip libtool C++ and Fortran linker checks
-m4_ifdef([AC_LIBTOOL_CXX], [m4_undefine([AC_LIBTOOL_CXX])])
-m4_defun([AC_LIBTOOL_CXX],[])
-m4_ifdef([AC_LIBTOOL_CXXCPP], [m4_undefine([AC_LIBTOOL_CXXCPP])])
-m4_defun([AC_LIBTOOL_CXXCPP],[true])
-m4_ifdef([AC_LIBTOOL_F77], [m4_undefine([AC_LIBTOOL_F77])])
-m4_defun([AC_LIBTOOL_F77],[])
-
-dnl force libtool to build static libraries with PIC on AMD64-linux
-AC_MSG_CHECKING([if arch-OS host is AMD64-linux (to build static libraries with PIC)])
-case $host in
- x86_64*linux*)
- AC_MSG_RESULT([yes])
- with_pic=yes
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
-esac
-
-dnl libtool setup
-AC_PROG_LIBTOOL
-
-AC_MSG_CHECKING([if we need -no-undefined])
-case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- need_no_undefined=yes
- ;;
- *)
- need_no_undefined=no
- ;;
-esac
-AC_MSG_RESULT($need_no_undefined)
-AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
-
-AC_MSG_CHECKING([if we need -mimpure-text])
-mimpure=no
-case $host in
- *-*-solaris2*)
- if test "$GCC" = "yes"; then
- mimpure="yes"
- fi
- ;;
- *)
- ;;
-esac
-AC_MSG_RESULT($mimpure)
-AM_CONDITIONAL(MIMPURE, test x$mimpure = xyes)
-AM_CONDITIONAL(STATICLIB, false)
-
-AC_MSG_CHECKING([if we need BUILDING_LIBCURL])
-case $host in
- *-*-mingw*)
- AC_DEFINE(BUILDING_LIBCURL, 1, [when building libcurl itself])
- AC_MSG_RESULT(yes)
- AC_MSG_CHECKING([if we need CURL_STATICLIB])
- if test "X$enable_shared" = "Xno"
- then
- AC_DEFINE(CURL_STATICLIB, 1, [when not building a shared library])
- AC_MSG_RESULT(yes)
- AM_CONDITIONAL(STATICLIB, true)
- else
- AC_MSG_RESULT(no)
- fi
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
-esac
-
-# Determine whether all dependent libraries must be specified when linking
-if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
-then
- REQUIRE_LIB_DEPS=no
-else
- REQUIRE_LIB_DEPS=yes
-fi
-AC_SUBST(REQUIRE_LIB_DEPS)
-
-dnl The install stuff has already been taken care of by the automake stuff
-dnl AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-
-dnl check if there's a way to force code inline
-AC_C_INLINE
-
-dnl **********************************************************************
-dnl platform/compiler/architecture specific checks/flags
-dnl **********************************************************************
-
-case $host in
- #
- x86_64*linux*)
- #
- dnl find out if icc is being used
- if test "z$ICC" = "z"; then
- CURL_DETECT_ICC
- fi
- #
- if test "$ICC" = "yes"; then
- dnl figure out icc version
- AC_MSG_CHECKING([icc version])
- iccver=`$CC -dumpversion`
- iccnhi=`echo $iccver | cut -d . -f1`
- iccnlo=`echo $iccver | cut -d . -f2`
- iccnum=`(expr $iccnhi "*" 100 + $iccnlo) 2>/dev/null`
- AC_MSG_RESULT($iccver)
- #
- if test "$iccnum" -ge "900" && test "$iccnum" -lt "1000"; then
- dnl icc 9.X specific
- CFLAGS="$CFLAGS -i-dynamic"
- fi
- #
- if test "$iccnum" -ge "1000"; then
- dnl icc 10.X or later
- CFLAGS="$CFLAGS -shared-intel"
- fi
- #
- fi
- ;;
- #
-esac
-
-AC_MSG_CHECKING([whether we are using the IBM C compiler])
-CURL_CHECK_DEF([__IBMC__], [], [silent])
-if test "$curl_cv_have_def___IBMC__" = "yes"; then
- AC_MSG_RESULT([yes])
- dnl Ensure that compiler optimizations are always thread-safe.
- CFLAGS="$CFLAGS -qthreaded"
- dnl Disable type based strict aliasing optimizations, using worst
- dnl case aliasing assumptions when compiling. Type based aliasing
- dnl would restrict the lvalues that could be safely used to access
- dnl a data object.
- CFLAGS="$CFLAGS -qnoansialias"
- dnl Force compiler to stop after the compilation phase, without
- dnl generating an object code file when compilation has errors.
- CFLAGS="$CFLAGS -qhalt=e"
-else
- AC_MSG_RESULT([no])
-fi
-
-AC_MSG_CHECKING([whether we are using the DEC/Compaq C compiler])
-CURL_CHECK_DEF([__DECC], [], [silent])
-CURL_CHECK_DEF([__DECC_VER], [], [silent])
-if test "$curl_cv_have_def___DECC" = "yes" &&
- test "$curl_cv_have_def___DECC_VER" = "yes"; then
- AC_MSG_RESULT([yes])
- dnl Select strict ANSI C compiler mode
- CFLAGS="$CFLAGS -std1"
- dnl Turn off optimizer ANSI C aliasing rules
- CFLAGS="$CFLAGS -noansi_alias"
- dnl Select a higher warning level than default level2
- CFLAGS="$CFLAGS -msg_enable level3"
- dnl Generate warnings for missing function prototypes
- CFLAGS="$CFLAGS -warnprotos"
- dnl Change some warnings into fatal errors
- CFLAGS="$CFLAGS -msg_fatal toofewargs,toomanyargs"
-else
- AC_MSG_RESULT([no])
-fi
-
-CURL_CHECK_COMPILER_HALT_ON_ERROR
-CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE
-
-dnl **********************************************************************
-dnl Compilation based checks should not be done before this point.
-dnl **********************************************************************
-
-dnl **********************************************************************
-dnl Make sure that our checks for headers windows.h winsock.h winsock2.h
-dnl and ws2tcpip.h take precedence over any other further checks which
-dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
-dnl this specific header files. And do them before its results are used.
-dnl **********************************************************************
-
-CURL_CHECK_HEADER_WINDOWS
-CURL_CHECK_NATIVE_WINDOWS
-case X-"$ac_cv_native_windows" in
- X-yes)
- CURL_CHECK_HEADER_WINSOCK
- CURL_CHECK_HEADER_WINSOCK2
- CURL_CHECK_HEADER_WS2TCPIP
- CURL_CHECK_HEADER_WINLDAP
- CURL_CHECK_HEADER_WINBER
- ;;
- *)
- ac_cv_header_winsock_h="no"
- ac_cv_header_winsock2_h="no"
- ac_cv_header_ws2tcpip_h="no"
- ac_cv_header_winldap_h="no"
- ac_cv_header_winber_h="no"
- ;;
-esac
-CURL_CHECK_WIN32_LARGEFILE
-
-dnl ************************************************************
-dnl switch off particular protocols
-dnl
-AC_MSG_CHECKING([whether to support http])
-AC_ARG_ENABLE(http,
-AC_HELP_STRING([--enable-http],[Enable HTTP support])
-AC_HELP_STRING([--disable-http],[Disable HTTP support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
- AC_MSG_WARN([disable HTTP disables FTP over proxy])
- AC_SUBST(CURL_DISABLE_HTTP, [1])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-AC_MSG_CHECKING([whether to support ftp])
-AC_ARG_ENABLE(ftp,
-AC_HELP_STRING([--enable-ftp],[Enable FTP support])
-AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP])
- AC_SUBST(CURL_DISABLE_FTP, [1])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-AC_MSG_CHECKING([whether to support file])
-AC_ARG_ENABLE(file,
-AC_HELP_STRING([--enable-file],[Enable FILE support])
-AC_HELP_STRING([--disable-file],[Disable FILE support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE])
- AC_SUBST(CURL_DISABLE_FILE, [1])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-AC_MSG_CHECKING([whether to support ldap])
-AC_ARG_ENABLE(ldap,
-AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
-AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
- AC_SUBST(CURL_DISABLE_LDAP, [1])
- ;;
- *)
- case $host in
- *-*-cygwin*)
- # Force no ldap. config/build process is broken for cygwin
- AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
- AC_SUBST(CURL_DISABLE_LDAP, [1])
- AC_MSG_RESULT(no)
- ;;
- *)
- AC_MSG_RESULT(yes)
- esac
- ;;
- esac ],[
- case $host in
- *-*-cygwin*)
- # Force no ldap. config/build process is broken for cygwin
- AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
- AC_SUBST(CURL_DISABLE_LDAP, [1])
- AC_MSG_RESULT(no)
- ;;
- *)
- AC_MSG_RESULT(yes)
- esac ]
-)
-AC_MSG_CHECKING([whether to support ldaps])
-AC_ARG_ENABLE(ldaps,
-AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support])
-AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
- AC_SUBST(CURL_DISABLE_LDAPS, [1])
- ;;
- *) if test x$CURL_DISABLE_LDAP = x1 ; then
- AC_MSG_RESULT(LDAP support needs to be enabled in order to enable LDAPS support!)
- AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
- AC_SUBST(CURL_DISABLE_LDAPS, [1])
- else
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation])
- curl_ldaps_msg="enabled"
- fi
- ;;
- esac ],
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
- AC_SUBST(CURL_DISABLE_LDAPS, [1])
-)
-
-AC_MSG_CHECKING([whether to support dict])
-AC_ARG_ENABLE(dict,
-AC_HELP_STRING([--enable-dict],[Enable DICT support])
-AC_HELP_STRING([--disable-dict],[Disable DICT support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT])
- AC_SUBST(CURL_DISABLE_DICT, [1])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-AC_MSG_CHECKING([whether to support telnet])
-AC_ARG_ENABLE(telnet,
-AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
-AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET])
- AC_SUBST(CURL_DISABLE_TELNET, [1])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-AC_MSG_CHECKING([whether to support tftp])
-AC_ARG_ENABLE(tftp,
-AC_HELP_STRING([--enable-tftp],[Enable TFTP support])
-AC_HELP_STRING([--disable-tftp],[Disable TFTP support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_TFTP, 1, [to disable TFTP])
- AC_SUBST(CURL_DISABLE_TFTP, [1])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-
-dnl **********************************************************************
-dnl Check for built-in manual
-dnl **********************************************************************
-
-AC_MSG_CHECKING([whether to provide built-in manual])
-AC_ARG_ENABLE(manual,
-AC_HELP_STRING([--enable-manual],[Enable built-in manual])
-AC_HELP_STRING([--disable-manual],[Disable built-in manual]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *) AC_MSG_RESULT(yes)
- USE_MANUAL="1"
- ;;
- esac ],
- AC_MSG_RESULT(yes)
- USE_MANUAL="1"
-)
-dnl The actual use of the USE_MANUAL variable is done much later in this
-dnl script to allow other actions to disable it as well.
-
-dnl **********************************************************************
-dnl check if this is the Intel ICC compiler, and if so make it stricter
-dnl (convert warning 147 into an error) so that it properly can detect the
-dnl gethostbyname_r() version
-dnl **********************************************************************
-CURL_DETECT_ICC([CFLAGS="$CFLAGS -we 147"])
-
-dnl **********************************************************************
-dnl Checks for libraries.
-dnl **********************************************************************
-
-dnl gethostbyname without lib or in the nsl lib?
-AC_CHECK_FUNC(gethostbyname,
- [HAVE_GETHOSTBYNAME="1"
- ],
- [ AC_CHECK_LIB(nsl, gethostbyname,
- [HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lnsl"
- ])
- ])
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- dnl gethostbyname in the socket lib?
- AC_CHECK_LIB(socket, gethostbyname,
- [HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lsocket"
- ])
-fi
-
-dnl At least one system has been identified to require BOTH nsl and socket
-dnl libs at the same time to link properly.
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs])
- my_ac_save_LIBS=$LIBS
- LIBS="-lnsl -lsocket $LIBS"
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- gethostbyname();
- ]])
- ],[
- AC_MSG_RESULT([yes])
- HAVE_GETHOSTBYNAME="1"
- ],[
- AC_MSG_RESULT([no])
- LIBS=$my_ac_save_LIBS
- ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- dnl This is for winsock systems
- if test "$ac_cv_header_windows_h" = "yes"; then
- if test "$ac_cv_header_winsock_h" = "yes"; then
- case $host in
- *-*-mingw32ce*)
- winsock_LIB="-lwinsock"
- ;;
- *)
- winsock_LIB="-lwsock32"
- ;;
- esac
- fi
- if test "$ac_cv_header_winsock2_h" = "yes"; then
- winsock_LIB="-lws2_32"
- fi
- if test ! -z "$winsock_LIB"; then
- my_ac_save_LIBS=$LIBS
- LIBS="$winsock_LIB $LIBS"
- AC_MSG_CHECKING([for gethostbyname in $winsock_LIB])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
-#endif
-#endif
- ]],[[
- gethostbyname("www.dummysite.com");
- ]])
- ],[
- AC_MSG_RESULT([yes])
- HAVE_GETHOSTBYNAME="1"
- ],[
- AC_MSG_RESULT([no])
- winsock_LIB=""
- LIBS=$my_ac_save_LIBS
- ])
- fi
- fi
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- dnl This is for Minix 3.1
- AC_MSG_CHECKING([for gethostbyname for Minix 3])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-/* Older Minix versions may need <net/gen/netdb.h> here instead */
-#include <netdb.h>
- ]],[[
- gethostbyname("www.dummysite.com");
- ]])
- ],[
- AC_MSG_RESULT([yes])
- HAVE_GETHOSTBYNAME="1"
- ],[
- AC_MSG_RESULT([no])
- ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- dnl This is for eCos with a stubbed DNS implementation
- AC_MSG_CHECKING([for gethostbyname for eCos])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <netdb.h>
- ]],[[
- gethostbyname("www.dummysite.com");
- ]])
- ],[
- AC_MSG_RESULT([yes])
- HAVE_GETHOSTBYNAME="1"
- ],[
- AC_MSG_RESULT([no])
- ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- dnl gethostbyname in the network lib - for Haiku OS
- AC_CHECK_LIB(network, gethostbyname,
- [HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lnetwork"
- ])
-fi
-
-if test "$HAVE_GETHOSTBYNAME" != "1"
-then
- dnl gethostbyname in the net lib - for BeOS
- AC_CHECK_LIB(net, gethostbyname,
- [HAVE_GETHOSTBYNAME="1"
- LIBS="$LIBS -lnet"
- ])
-fi
-
-
-if test "$HAVE_GETHOSTBYNAME" = "1"; then
- AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [If you have gethostbyname])
-else
- AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
-fi
-
-dnl resolve lib?
-AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
-
-if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
- AC_CHECK_LIB(resolve, strcasecmp,
- [LIBS="-lresolve $LIBS"],
- ,
- -lnsl)
-fi
-
-dnl socket lib?
-AC_CHECK_FUNC(connect, , [ AC_CHECK_LIB(socket, connect) ])
-
-dnl **********************************************************************
-dnl In case that function clock_gettime with monotonic timer is available,
-dnl check for additional required libraries.
-dnl **********************************************************************
-CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
-
-dnl **********************************************************************
-dnl The preceding library checks are all potentially useful for test
-dnl servers (for providing networking support). Save the list of required
-dnl libraries at this point for use while linking those test servers.
-dnl **********************************************************************
-TEST_SERVER_LIBS=$LIBS
-
-dnl **********************************************************************
-AC_MSG_CHECKING([whether to use libgcc])
-AC_ARG_ENABLE(libgcc,
-AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
-[ case "$enableval" in
- yes)
- ALL_LIBS="$ALL_LIBS -lgcc"
- AC_MSG_RESULT(yes)
- ;;
- *) AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-dnl **********************************************************************
-dnl Check for LDAP
-dnl **********************************************************************
-
-LDAPLIBNAME=""
-AC_ARG_WITH(ldap-lib,
-AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]),
- [LDAPLIBNAME="$withval"])
-
-LBERLIBNAME=""
-AC_ARG_WITH(lber-lib,
-AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]),
- [LBERLIBNAME="$withval"])
-
-if test x$CURL_DISABLE_LDAP != x1 ; then
-
- CURL_CHECK_HEADER_LBER
- CURL_CHECK_HEADER_LDAP
- CURL_CHECK_HEADER_LDAPSSL
- CURL_CHECK_HEADER_LDAP_SSL
-
- if test -z "$LDAPLIBNAME" ; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32*)
- dnl Windows uses a single and unique OpenLDAP DLL name
- LDAPLIBNAME="wldap32"
- LBERLIBNAME="no"
- ;;
- esac
- fi
-
- if test "$LDAPLIBNAME" ; then
- AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [
- AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled])
- AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
- AC_SUBST(CURL_DISABLE_LDAP, [1])])
- AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
- AC_SUBST(CURL_DISABLE_LDAPS, [1])
- else
- dnl Try to find the right ldap libraries for this system
- CURL_CHECK_LIBS_LDAP
- case X-"$curl_cv_ldap_LIBS" in
- X-unknown)
- AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled])
- AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
- AC_SUBST(CURL_DISABLE_LDAP, [1])
- AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
- AC_SUBST(CURL_DISABLE_LDAPS, [1])
- ;;
- esac
- fi
-fi
-
-if test x$CURL_DISABLE_LDAP != x1 ; then
-
- if test "$LBERLIBNAME" ; then
- dnl If name is "no" then don't define this library at all
- dnl (it's only needed if libldap.so's dependencies are broken).
- if test "$LBERLIBNAME" != "no" ; then
- AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [
- AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled])
- AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
- AC_SUBST(CURL_DISABLE_LDAP, [1])])
- AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS])
- AC_SUBST(CURL_DISABLE_LDAPS, [1])
- fi
- fi
-fi
-
-if test x$CURL_DISABLE_LDAP != x1 ; then
- AC_CHECK_FUNCS([ldap_url_parse])
-
- if test "$LDAPLIBNAME" = "wldap32"; then
- curl_ldap_msg="enabled (winldap)"
- AC_DEFINE(CURL_LDAP_WIN, 1, [Use W$ LDAP implementation])
- case $host in
- *-*-cygwin* | *-*-pw32*)
- AC_DEFINE(CURL_LDAP_HYBRID, 1, [W$ LDAP with non-W$ compiler])
- ;;
- esac
- else
- curl_ldap_msg="enabled (OpenLDAP)"
- fi
-fi
-
-dnl **********************************************************************
-dnl Checks for IPv6
-dnl **********************************************************************
-
-AC_MSG_CHECKING([whether to enable ipv6])
-AC_ARG_ENABLE(ipv6,
-AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
-AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- ipv6=no
- ;;
- *) AC_MSG_RESULT(yes)
- ipv6=yes
- ;;
- esac ],
-
- AC_TRY_RUN([ /* is AF_INET6 available? */
-#include <sys/types.h>
-#include <sys/socket.h>
-main()
-{
- if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
- exit(1);
- else
- exit(0);
-}
-],
- AC_MSG_RESULT(yes)
- ipv6=yes,
- AC_MSG_RESULT(no)
- ipv6=no,
- AC_MSG_RESULT(no)
- ipv6=no
-))
-
-if test "$ipv6" = "yes"; then
- curl_ipv6_msg="enabled"
-fi
-
-dnl **********************************************************************
-dnl Check how non-blocking sockets are set
-dnl **********************************************************************
-AC_ARG_ENABLE(nonblocking,
-AC_HELP_STRING([--enable-nonblocking],[Enable detecting how to do it])
-AC_HELP_STRING([--disable-nonblocking],[Disable non-blocking socket detection]),
-[
- if test "$enableval" = "no" ; then
- AC_MSG_WARN([non-blocking sockets disabled])
- AC_DEFINE(HAVE_DISABLED_NONBLOCKING, 1,
- [to disable NON-BLOCKING connections])
- else
- CURL_CHECK_NONBLOCKING_SOCKET
- fi
-],
-[
- CURL_CHECK_NONBLOCKING_SOCKET
-])
-
-dnl **********************************************************************
-dnl Check if the operating system allows programs to write to their own argv[]
-dnl **********************************************************************
-
-AC_MSG_CHECKING([if argv can be written to])
-AC_CACHE_VAL(curl_cv_writable_argv, [
-AC_RUN_IFELSE([[
-int main(int argc, char ** argv) {
- argv[0][0] = ' ';
- return (argv[0][0] == ' ')?0:1;
-}
- ]],
- curl_cv_writable_argv=yes,
- curl_cv_writable_argv=no,
- curl_cv_writable_argv=cross)
-])
-case $curl_cv_writable_argv in
-yes)
- AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
- AC_MSG_RESULT(yes)
- ;;
-no)
- AC_MSG_RESULT(no)
- ;;
-*)
- AC_MSG_RESULT(no)
- AC_MSG_WARN([the previous check could not be made default was used])
- ;;
-esac
-
-dnl **********************************************************************
-dnl Check for the presence of Kerberos4 libraries and headers
-dnl **********************************************************************
-
-AC_ARG_WITH(krb4-includes,
-AC_HELP_STRING([--with-krb4-includes=DIR],
- [Specify location of kerberos4 headers]),[
- CPPFLAGS="$CPPFLAGS -I$withval"
- KRB4INC="$withval"
- want_krb4=yes
- ])
-
-AC_ARG_WITH(krb4-libs,
-AC_HELP_STRING([--with-krb4-libs=DIR],[Specify location of kerberos4 libs]),[
- LDFLAGS="$LDFLAGS -L$withval"
- KRB4LIB="$withval"
- want_krb4=yes
- ])
-
-
-OPT_KRB4=off
-AC_ARG_WITH(krb4,dnl
-AC_HELP_STRING([--with-krb4=DIR],[where to look for Kerberos4]),[
- OPT_KRB4="$withval"
- if test X"$OPT_KRB4" != Xno; then
- want_krb4="yes"
- if test X"$OPT_KRB4" != Xyes; then
- LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib$libsuff"
- KRB4LIB="$OPT_KRB4/lib$libsuff"
- CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
- KRB4INC="$OPT_KRB4/include"
- fi
- fi
- ])
-
-AC_MSG_CHECKING([if Kerberos4 support is requested])
-
-if test "$want_krb4" = yes
-then
- if test "$ipv6" = "yes"; then
- echo krb4 is not compatible with IPv6
- exit 1
- fi
- AC_MSG_RESULT(yes)
-
- dnl Check for & handle argument to --with-krb4
-
- AC_MSG_CHECKING(where to look for Kerberos4)
- if test X"$OPT_KRB4" = Xyes
- then
- AC_MSG_RESULT([defaults])
- else
- AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC])
- fi
-
- dnl Check for DES library
- AC_CHECK_LIB(des, des_pcbc_encrypt,
- [
- AC_CHECK_HEADERS(des.h)
-
- dnl resolv lib?
- AC_CHECK_FUNC(res_search, , [AC_CHECK_LIB(resolv, res_search)])
-
- dnl Check for the Kerberos4 library
- AC_CHECK_LIB(krb, krb_net_read,
- [
- dnl Check for header files
- AC_CHECK_HEADERS(krb.h)
-
- dnl we found the required libraries, add to LIBS
- LIBS="-lkrb -lcom_err -ldes $LIBS"
-
- dnl Check for function krb_get_our_ip_for_realm
- dnl this is needed for NAT networks
- AC_CHECK_FUNCS(krb_get_our_ip_for_realm)
-
- dnl add define KRB4
- AC_DEFINE(HAVE_KRB4, 1,
- [if you have the Kerberos4 libraries (including -ldes)])
-
- dnl substitute it too!
- KRB4_ENABLED=1
- AC_SUBST(KRB4_ENABLED)
-
- curl_krb4_msg="enabled"
-
- dnl the krb4 stuff needs a strlcpy()
- AC_CHECK_FUNCS(strlcpy)
-
- ])
- ])
-else
- AC_MSG_RESULT(no)
-fi
-
-dnl **********************************************************************
-dnl Check for FBopenssl(SPNEGO) libraries
-dnl **********************************************************************
-
-AC_ARG_WITH(spnego,
- AC_HELP_STRING([--with-spnego=DIR],
- [Specify location of SPNEGO library fbopenssl]), [
- SPNEGO_ROOT="$withval"
- if test x"$SPNEGO_ROOT" != xno; then
- want_spnego="yes"
- fi
-])
-
-AC_MSG_CHECKING([if SPNEGO support is requested])
-if test x"$want_spnego" = xyes; then
-
- if test X"$SPNEGO_ROOT" = Xyes; then
- AC_MSG_ERROR([FBOpenSSL libs and/or directories were not found where specified!])
- AC_MSG_RESULT(no)
- else
- if test -z "$SPNEGO_LIB_DIR"; then
- LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
- else
- LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
- fi
-
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_SPNEGO, 1,
- [Define this if you have the SPNEGO library fbopenssl])
- curl_spnego_msg="enabled"
- fi
-else
- AC_MSG_RESULT(no)
-fi
-
-dnl **********************************************************************
-dnl Check for GSS-API libraries
-dnl **********************************************************************
-
-dnl check for gss stuff in the /usr as default
-
-GSSAPI_ROOT="/usr"
-AC_ARG_WITH(gssapi-includes,
- AC_HELP_STRING([--with-gssapi-includes=DIR],
- [Specify location of GSSAPI header]),
- [ GSSAPI_INCS="-I$withval"
- want_gss="yes" ]
-)
-
-AC_ARG_WITH(gssapi-libs,
- AC_HELP_STRING([--with-gssapi-libs=DIR],
- [Specify location of GSSAPI libs]),
- [ GSSAPI_LIB_DIR="-L$withval"
- want_gss="yes" ]
-)
-
-AC_ARG_WITH(gssapi,
- AC_HELP_STRING([--with-gssapi=DIR],
- [Where to look for GSSAPI]), [
- GSSAPI_ROOT="$withval"
- if test x"$GSSAPI_ROOT" != xno; then
- want_gss="yes"
- if test x"$GSSAPI_ROOT" = xyes; then
- dnl if yes, then use default root
- GSSAPI_ROOT="/usr"
- fi
- fi
-])
-
-save_CPPFLAGS="$CPPFLAGS"
-AC_MSG_CHECKING([if GSSAPI support is requested])
-if test x"$want_gss" = xyes; then
- AC_MSG_RESULT(yes)
-
- if test -z "$GSSAPI_INCS"; then
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
- GSSAPI_LIBS=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- elif test "$GSSAPI_ROOT" != "yes"; then
- GSSAPI_INCS="-I$GSSAPI_ROOT/include"
- GSSAPI_LIBS="-lgssapi"
- fi
- fi
-
- CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
- LIBS="$LIBS $GSSAPI_LIBS"
-
- AC_CHECK_HEADER(gss.h,
- [
- dnl found in the given dirs
- AC_DEFINE(HAVE_GSSGNU, 1, [if you have the GNU gssapi libraries])
- gnu_gss=yes
- ],
- [
- dnl not found, check Heimdal or MIT
- AC_CHECK_HEADERS(
- [gssapi/gssapi.h gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
- [],
- [not_mit=1])
- if test "x$not_mit" = "x1"; then
- dnl MIT not found, check for Heimdal
- AC_CHECK_HEADER(gssapi.h,
- [
- dnl found
- AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have the Heimdal gssapi libraries])
- ],
- [
- dnl no header found, disabling GSS
- want_gss=no
- AC_MSG_WARN(disabling GSSAPI since no header files was found)
- ]
- )
- else
- dnl MIT found
- AC_DEFINE(HAVE_GSSMIT, 1, [if you have the MIT gssapi libraries])
- dnl check if we have a really old MIT kerberos (<= 1.2)
- AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
-#include <gssapi/gssapi_krb5.h>
- ]],[[
- gss_import_name(
- (OM_uint32 *)0,
- (gss_buffer_t)0,
- GSS_C_NT_HOSTBASED_SERVICE,
- (gss_name_t *)0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- ],[
- AC_MSG_RESULT([no])
- AC_DEFINE(HAVE_OLD_GSSMIT, 1,
- [if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
- ])
- fi
- ]
- )
-else
- AC_MSG_RESULT(no)
-fi
-if test x"$want_gss" = xyes; then
- AC_DEFINE(HAVE_GSSAPI, 1, [if you have the gssapi libraries])
-
- curl_gss_msg="enabled (MIT/Heimdal)"
-
- if test -n "$gnu_gss"; then
- curl_gss_msg="enabled (GNU GSS)"
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="$LIBS -lgss"
- elif test -z "$GSSAPI_LIB_DIR"; then
- if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
- dnl krb5-config doesn't have --libs-only-L or similar, put everything
- dnl into LIBS
- gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
- LIBS="$LIBS $gss_libs"
- elif test "$GSSAPI_ROOT" != "yes"; then
- LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
- LIBS="$LIBS -lgssapi"
- else
- LIBS="$LIBS -lgssapi"
- fi
- else
- LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
- LIBS="$LIBS -lgssapi"
- fi
-else
- CPPFLAGS="$save_CPPFLAGS"
-fi
-
-dnl **********************************************************************
-dnl Check for the presence of SSL libraries and headers
-dnl **********************************************************************
-
-dnl Default to compiler & linker defaults for SSL files & libraries.
-OPT_SSL=off
-dnl Default to no CA bundle
-ca="no"
-AC_ARG_WITH(ssl,dnl
-AC_HELP_STRING([--with-ssl=PATH],[Where to look for OpenSSL, PATH points to the SSL installation (default: /usr/local/ssl); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
-AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
- OPT_SSL=$withval)
-
-if test X"$OPT_SSL" != Xno; then
- dnl backup the pre-ssl variables
- CLEANLDFLAGS="$LDFLAGS"
- CLEANCPPFLAGS="$CPPFLAGS"
- CLEANLIBS="$LIBS"
-
- case "$OPT_SSL" in
- yes)
- dnl --with-ssl (without path) used
- if test x$cross_compiling != xyes; then
- dnl only do pkg-config magic when not cross-compiling
- PKGTEST="yes"
- fi
- PREFIX_OPENSSL=/usr/local/ssl
- LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
- ;;
- off)
- dnl no --with-ssl option given, just check default places
- if test x$cross_compiling != xyes; then
- dnl only do pkg-config magic when not cross-compiling
- PKGTEST="yes"
- fi
- PREFIX_OPENSSL=
- ;;
- *)
- dnl check the given --with-ssl spot
- PKGTEST="no"
- PREFIX_OPENSSL=$OPT_SSL
- LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
- LDFLAGS="$LDFLAGS -L$LIB_OPENSSL"
- CPPFLAGS="$CPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
- ;;
- esac
-
- if test "$PKGTEST" = "yes"; then
-
- dnl Detect the pkg-config tool, as it may have extra info about the
- dnl openssl installation we can use. I *believe* this is what we are
- dnl expected to do on really recent Redhat Linux hosts.
-
- AC_PATH_PROG( PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin)
- if test "$PKGCONFIG" != "no" ; then
- AC_MSG_CHECKING([OpenSSL options with pkg-config])
-
- $PKGCONFIG --exists openssl
- SSL_EXISTS=$?
-
- if test "$SSL_EXISTS" -eq "0"; then
- SSL_LIBS=`$PKGCONFIG --libs-only-l openssl 2>/dev/null`
- SSL_LDFLAGS=`$PKGCONFIG --libs-only-L openssl 2>/dev/null`
- SSL_CPPFLAGS=`$PKGCONFIG --cflags-only-I openssl 2>/dev/null`
-
- LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
-
- dnl use the values pkg-config reported
- LIBS="$LIBS $SSL_LIBS"
- CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
- LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
- AC_MSG_RESULT([found])
- else
- AC_MSG_RESULT([no])
- fi
- fi
- fi
-
- AC_CHECK_LIB(crypto, CRYPTO_lock,[
- HAVECRYPTO="yes"
- LIBS="-lcrypto $LIBS"
- ],[
- LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
- CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include"
- AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
- HAVECRYPTO="yes"
- LIBS="-lcrypto $LIBS"], [
- LDFLAGS="$CLEANLDFLAGS"
- CPPFLAGS="$CLEANCPPFLAGS"
- LIBS="$CLEANLIBS"
- ])
- ])
-
-
- if test X"$HAVECRYPTO" = X"yes"; then
- dnl This is only reasonable to do if crypto actually is there: check for
- dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
-
- AC_CHECK_LIB(ssl, SSL_connect)
-
- if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
- dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
- AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
- OLIBS=$LIBS
- LIBS="$LIBS -lRSAglue -lrsaref"
- AC_CHECK_LIB(ssl, SSL_connect)
- if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
- dnl still no SSL_connect
- AC_MSG_RESULT(no)
- LIBS=$OLIBS
- else
- AC_MSG_RESULT(yes)
- fi
-
- else
-
- dnl Have the libraries--check for SSLeay/OpenSSL headers
- AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
- openssl/pem.h openssl/ssl.h openssl/err.h,
- curl_ssl_msg="enabled (OpenSSL)"
- OPENSSL_ENABLED=1
- AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
-
- if test $ac_cv_header_openssl_x509_h = no; then
- dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
- dnl since 'err.h' might in fact find a krb4 header with the same
- dnl name
- AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
-
- if test $ac_cv_header_x509_h = yes &&
- test $ac_cv_header_crypto_h = yes &&
- test $ac_cv_header_ssl_h = yes; then
- dnl three matches
- curl_ssl_msg="enabled (OpenSSL)"
- OPENSSL_ENABLED=1
- fi
- fi
- fi
-
- if test X"$OPENSSL_ENABLED" = X"1"; then
- AC_DEFINE(USE_SSLEAY, 1, [if SSL is enabled])
-
- dnl is there a pkcs12.h header present?
- AC_CHECK_HEADERS(openssl/pkcs12.h)
- else
- LIBS="$CLEANLIBS"
- fi
- dnl USE_SSLEAY is the historical name for what configure calls
- dnl OPENSSL_ENABLED; the names should really be unified
- USE_SSLEAY="$OPENSSL_ENABLED"
- AC_SUBST(USE_SSLEAY)
-
- if test X"$OPT_SSL" != Xoff &&
- test "$OPENSSL_ENABLED" != "1"; then
- AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
- fi
- fi
-
- if test X"$OPENSSL_ENABLED" = X"1"; then
- dnl If the ENGINE library seems to be around, check for the OpenSSL engine
- dnl stuff, it is kind of "separated" from the main SSL check
- AC_CHECK_FUNC(ENGINE_init,
- [
- AC_CHECK_HEADERS(openssl/engine.h)
- AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
- ])
-
- dnl these can only exist if openssl exists
- dnl yassl doesn't have SSL_get_shutdown
-
- AC_CHECK_FUNCS( RAND_status \
- RAND_screen \
- RAND_egd \
- CRYPTO_cleanup_all_ex_data \
- SSL_get_shutdown )
-
- dnl Make an attempt to detect if this is actually yassl's headers and
- dnl OpenSSL emulation layer. We still leave everything else believing
- dnl and acting like OpenSSL.
-
- AC_MSG_CHECKING([for yaSSL using OpenSSL compatibility mode])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#include <openssl/ssl.h>
- ]],[[
-#if defined(YASSL_VERSION) && defined(OPENSSL_VERSION_NUMBER)
- int dummy = SSL_ERROR_NONE;
-#else
- Not the yaSSL OpenSSL compatibility header.
-#endif
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(USE_YASSLEMUL, 1,
- [Define to 1 if using yaSSL in OpenSSL compatibility mode.])
- curl_ssl_msg="enabled (OpenSSL emulation by yaSSL)"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test "$OPENSSL_ENABLED" = "1"; then
- if test -n "$LIB_OPENSSL"; then
- dnl when the ssl shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
- dnl to prevent further configure tests to fail due to this
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
- fi
- fi
-
-fi
-
-dnl **********************************************************************
-dnl Check for the presence of ZLIB libraries and headers
-dnl **********************************************************************
-
-dnl Check for & handle argument to --with-zlib.
-
-_cppflags=$CPPFLAGS
-_ldflags=$LDFLAGS
-AC_ARG_WITH(zlib,
-AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
-AC_HELP_STRING([--without-zlib],[disable use of zlib]),
- [OPT_ZLIB="$withval"])
-
-if test "$OPT_ZLIB" = "no" ; then
- AC_MSG_WARN([zlib disabled])
-else
- if test "$OPT_ZLIB" = "yes" ; then
- OPT_ZLIB=""
- fi
-
- if test -z "$OPT_ZLIB" ; then
- dnl check for the lib first without setting any new path, since many
- dnl people have it in the default path
-
- AC_CHECK_LIB(z, inflateEnd,
- dnl libz found, set the variable
- [HAVE_LIBZ="1"],
- dnl if no lib found, try /usr/local
- [OPT_ZLIB="/usr/local"])
-
- fi
-
- dnl Add a nonempty path to the compiler flags
- if test -n "$OPT_ZLIB"; then
- CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
- LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff"
- fi
-
- AC_CHECK_HEADER(zlib.h,
- [
- dnl zlib.h was found
- HAVE_ZLIB_H="1"
- dnl if the lib wasn't found already, try again with the new paths
- if test "$HAVE_LIBZ" != "1"; then
- AC_CHECK_LIB(z, gzread,
- [
- dnl the lib was found!
- HAVE_LIBZ="1"
- ],
- [ CPPFLAGS=$_cppflags
- LDFLAGS=$_ldflags])
- fi
- ],
- [
- dnl zlib.h was not found, restore the flags
- CPPFLAGS=$_cppflags
- LDFLAGS=$_ldflags]
- )
-
- if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1"
- then
- AC_MSG_WARN([configure found only the libz lib, not the header file!])
- HAVE_LIBZ=""
- elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1"
- then
- AC_MSG_WARN([configure found only the libz header file, not the lib!])
- elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1"
- then
- dnl both header and lib were found!
- AC_SUBST(HAVE_LIBZ)
- AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
- AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available])
-
- CURL_LIBS="$CURL_LIBS -lz"
- LIBS="$LIBS -lz"
-
- dnl replace 'HAVE_LIBZ' in the automake makefile.ams
- AMFIXLIB="1"
- AC_MSG_NOTICE([found both libz and libz.h header])
- curl_zlib_msg="enabled"
- fi
-fi
-
-dnl set variable for use in automakefile(s)
-AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1)
-
-dnl **********************************************************************
-dnl Check for the presence of LIBSSH2 libraries and headers
-dnl **********************************************************************
-
-dnl Default to compiler & linker defaults for LIBSSH2 files & libraries.
-OPT_LIBSSH2=off
-AC_ARG_WITH(libssh2,dnl
-AC_HELP_STRING([--with-libssh2=PATH],[Where to look for libssh2, PATH points to the LIBSSH2 installation (default: /usr/local/lib); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option])
-AC_HELP_STRING([--without-libssh2], [disable LIBSSH2]),
- OPT_LIBSSH2=$withval)
-
-if test X"$OPT_LIBSSH2" != Xno; then
- dnl backup the pre-libssh2 variables
- CLEANLDFLAGS="$LDFLAGS"
- CLEANCPPFLAGS="$CPPFLAGS"
- CLEANLIBS="$LIBS"
-
- case "$OPT_LIBSSH2" in
- yes)
- dnl --with-libssh2 (without path) used
- PREFIX_LIBSSH2=/usr/local/lib
- LIB_LIBSSH2="$PREFIX_LIBSSH2$libsuff"
- ;;
- off)
- dnl no --with-libssh2 option given, just check default places
- PREFIX_LIBSSH2=
- ;;
- *)
- dnl use the given --with-libssh2 spot
- PREFIX_LIBSSH2=$OPT_LIBSSH2
- LIB_LIBSSH2="$PREFIX_LIBSSH2/lib$libsuff"
- LDFLAGS="$LDFLAGS -L$LIB_LIBSSH2"
- CPPFLAGS="$CPPFLAGS -I$PREFIX_LIBSSH2/include"
- ;;
- esac
-
- AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
-
- AC_CHECK_HEADERS(libssh2.h,
- curl_ssh_msg="enabled (libSSH2)"
- LIBSSH2_ENABLED=1
- AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
- AC_SUBST(USE_LIBSSH2, [1])
- )
-
- if test X"$OPT_LIBSSH2" != Xoff &&
- test "$LIBSSH2_ENABLED" != "1"; then
- AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!])
- fi
-
- if test "$LIBSSH2_ENABLED" = "1"; then
- if test -n "$LIB_LIBSSH2"; then
- dnl when the libssh2 shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
- dnl to prevent further configure tests to fail due to this
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_LIBSSH2"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $LIB_LIBSSH2 to LD_LIBRARY_PATH])
- fi
- fi
-fi
-
-dnl **********************************************************************
-dnl Check for the random seed preferences
-dnl **********************************************************************
-
-if test X"$OPENSSL_ENABLED" = X"1"; then
- AC_ARG_WITH(egd-socket,
- AC_HELP_STRING([--with-egd-socket=FILE],
- [Entropy Gathering Daemon socket pathname]),
- [ EGD_SOCKET="$withval" ]
- )
- if test -n "$EGD_SOCKET" ; then
- AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
- [your Entropy Gathering Daemon socket pathname] )
- fi
-
- dnl Check for user-specified random device
- AC_ARG_WITH(random,
- AC_HELP_STRING([--with-random=FILE],
- [read randomness from FILE (default=/dev/urandom)]),
- [ RANDOM_FILE="$withval" ],
- [
- dnl Check for random device
- AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
- ]
- )
- if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then
- AC_SUBST(RANDOM_FILE)
- AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
- [a suitable file to read random data from])
- fi
-fi
-
-dnl ----------------------------------------------------
-dnl FIX: only check for GnuTLS if OpenSSL is not enabled
-dnl ----------------------------------------------------
-
-dnl Default to compiler & linker defaults for GnuTLS files & libraries.
-OPT_GNUTLS=no
-
-AC_ARG_WITH(gnutls,dnl
-AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root (default: /usr/local/)])
-AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]),
- OPT_GNUTLS=$withval)
-
-if test "$OPENSSL_ENABLED" != "1"; then
-
- if test X"$OPT_GNUTLS" != Xno; then
- if test "x$OPT_GNUTLS" = "xyes"; then
- check=`libgnutls-config --version 2>/dev/null`
- if test -n "$check"; then
- addlib=`libgnutls-config --libs`
- addcflags=`libgnutls-config --cflags`
- version=`libgnutls-config --version`
- gtlsprefix=`libgnutls-config --prefix`
- fi
- else
- addlib=`$OPT_GNUTLS/bin/libgnutls-config --libs`
- addcflags=`$OPT_GNUTLS/bin/libgnutls-config --cflags`
- version=`$OPT_GNUTLS/bin/libgnutls-config --version 2>/dev/null`
- gtlsprefix=$OPT_GNUTLS
- if test -z "$version"; then
- version="unknown"
- fi
- fi
- if test -n "$addlib"; then
-
- CLEANLIBS="$LIBS"
- CLEANCPPFLAGS="$CPPFLAGS"
-
- LIBS="$LIBS $addlib"
- if test "$addcflags" != "-I/usr/include"; then
- CPPFLAGS="$CPPFLAGS $addcflags"
- fi
-
- AC_CHECK_LIB(gnutls, gnutls_check_version,
- [
- AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
- AC_SUBST(USE_GNUTLS, [1])
- GNUTLS_ENABLED=1
- USE_GNUTLS="yes"
- curl_ssl_msg="enabled (GnuTLS)"
- ],
- [
- LIBS="$CLEANLIBS"
- CPPFLAGS="$CLEANCPPFLAGS"
- ])
-
- if test "x$USE_GNUTLS" = "xyes"; then
- AC_MSG_NOTICE([detected GnuTLS version $version])
-
- dnl when shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to
- dnl LD_LIBRARY_PATH to prevent further configure tests to fail
- dnl due to this
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlsprefix/lib$libsuff"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $gtlsprefix/lib$libsuff to LD_LIBRARY_PATH])
- fi
-
- fi
-
- fi dnl GNUTLS not disabled
-
-fi dnl OPENSSL != 1
-
-dnl ----------------------------------------------------
-dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
-dnl ----------------------------------------------------
-
-dnl Default to compiler & linker defaults for NSS files & libraries.
-OPT_NSS=no
-
-AC_ARG_WITH(nss,dnl
-AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root (default: /usr/local/)])
-AC_HELP_STRING([--without-nss], [disable NSS detection]),
- OPT_NSS=$withval)
-
-if test "$OPENSSL_ENABLED" != "1" -a "$GNUTLS_ENABLED" != "1"; then
-
- if test X"$OPT_NSS" != Xno; then
- if test "x$OPT_NSS" = "xyes"; then
- check=`pkg-config --version 2>/dev/null`
- if test -n "$check"; then
- addlib=`pkg-config --libs nss`
- addcflags=`pkg-config --cflags nss`
- version=`pkg-config --modversion nss`
- nssprefix=`pkg-config --variable=prefix nss`
- fi
- else
- # Without pkg-config, we'll kludge in some defaults
- addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
- addcflags="-I$OPT_NSS/include"
- version="unknown"
- gtlsprefix=$OPT_GNUTLS
- fi
-
- dnl Check for functionPK11_CreateGenericObject
- dnl this is needed for using the PEM PKCS#11 module
- AC_CHECK_LIB(nss3, PK11_CreateGenericObject,
- [
- AC_DEFINE(HAVE_PK11_CREATEGENERICOBJECT, 1, [if you have the function PK11_CreateGenericObject])
- AC_SUBST(HAVE_PK11_CREATEGENERICOBJECT, [1])
- ])
- if test -n "$addlib"; then
-
- CLEANLIBS="$LIBS"
- CLEANCPPFLAGS="$CPPFLAGS"
-
- LIBS="$LIBS $addlib"
- if test "$addcflags" != "-I/usr/include"; then
- CPPFLAGS="$CPPFLAGS $addcflags"
- fi
-
- AC_CHECK_LIB(nss3, NSS_Initialize,
- [
- AC_DEFINE(USE_NSS, 1, [if NSS is enabled])
- AC_SUBST(USE_NSS, [1])
- USE_NSS="yes"
- NSS_ENABLED=1
- curl_ssl_msg="enabled (NSS)"
- ],
- [
- LIBS="$CLEANLIBS"
- CPPFLAGS="$CLEANCPPFLAGS"
- ])
-
- if test "x$USE_NSS" = "xyes"; then
- AC_MSG_NOTICE([detected NSS version $version])
-
- dnl when shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to
- dnl LD_LIBRARY_PATH to prevent further configure tests to fail
- dnl due to this
-
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
- fi
-
- fi
-
- fi dnl NSS not disabled
-
-fi dnl OPENSSL != 1 -a GNUTLS_ENABLED != 1
-
-if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED" = "x"; then
- AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
- AC_MSG_WARN([Use --with-ssl, --with-gnutls or --with-nss to address this.])
-else
- # SSL is enabled, genericly
- AC_SUBST(SSL_ENABLED)
- SSL_ENABLED="1"
-fi
-
-dnl **********************************************************************
-dnl Check for the CA bundle
-dnl **********************************************************************
-
-CURL_CHECK_CA_BUNDLE
-
-dnl **********************************************************************
-dnl Check for the presence of IDN libraries and headers
-dnl **********************************************************************
-
-AC_MSG_CHECKING([whether to build with libidn])
-AC_ARG_WITH(libidn,
-AC_HELP_STRING([--with-libidn=PATH],[Enable libidn usage])
-AC_HELP_STRING([--without-libidn],[Disable libidn usage]),
- [LIBIDN="$withval"])
-
-case "$LIBIDN" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *) AC_MSG_RESULT(yes)
-
- idn=""
- dnl if there is a given path, check that FIRST
- if test -n "$LIBIDN"; then
- if test "x$LIBIDN" != "xyes"; then
- oldLDFLAGS=$LDFLAGS
- oldCPPFLAGS=$CPPFLAGS
- LDFLAGS="$LDFLAGS -L$LIBIDN/lib"
- CPPFLAGS="$CPPFLAGS -I$LIBIDN/include"
- idn="yes"
- AC_CHECK_LIB(idn, idna_to_ascii_4i, ,
- idn=""
- LDFLAGS=$oldLDFLAGS
- CPPFLAGS=$oldCPPFLAGS)
- fi
- fi
-
- if test "x$idn" != "xyes"; then
- dnl check with default paths
- idn="yes"
- AC_CHECK_LIB(idn, idna_to_ascii_lz, ,
- idn="")
- fi
-
- if test "x$idn" = "xyes"; then
- curl_idn_msg="enabled"
- AC_SUBST(IDN_ENABLED, [1])
- dnl different versions of libidn have different setups of these:
- AC_CHECK_FUNCS( idn_free idna_strerror tld_strerror)
- AC_CHECK_HEADERS( idn-free.h tld.h )
- fi
-
- ;;
-esac
-
-dnl Default is to try the thread-safe versions of a few functions
-OPT_THREAD=on
-
-dnl detect AIX 4.3 or later
-dnl see full docs on this reasoning in the lib/hostip.c source file
-AC_MSG_CHECKING([AIX 4.3 or later])
-AC_PREPROC_IFELSE([
-#if defined(_AIX) && defined(_AIX43)
-printf("just fine");
-#else
-#error "this is not AIX 4.3 or later"
-#endif
-],
- [ AC_MSG_RESULT([yes])
- RECENTAIX=yes
- OPT_THREAD=off ],
- [ AC_MSG_RESULT([no]) ]
-)
-
-AC_ARG_ENABLE(thread,dnl
-AC_HELP_STRING([--disable-thread],[don't look for thread-safe functions])
-AC_HELP_STRING([--enable-thread],[look for thread-safe functions]),
-[ case "$enableval" in
- no)
- OPT_THREAD=off
- AC_MSG_WARN(libcurl will not get built using thread-safe functions)
- ;;
- *)
- ;;
- esac
-]
-)
-
-if test X"$OPT_THREAD" = Xoff
-then
- AC_DEFINE(DISABLED_THREADSAFE, 1,
- [Set to explicitly specify we don't want to use thread-safe functions])
-else
- if test "$ipv6" != "yes"; then
- dnl dig around for gethostbyname_r()
- CURL_CHECK_GETHOSTBYNAME_R()
-
- dnl dig around for gethostbyaddr_r()
- dnl CURL_CHECK_GETHOSTBYADDR_R()
- fi
-
- dnl poke around for inet_ntoa_r()
- CURL_CHECK_INET_NTOA_R()
-
- dnl is there a localtime_r()
- CURL_CHECK_LOCALTIME_R()
-
- dnl is there a strerror_r()
- CURL_CHECK_STRERROR_R()
-
- checkfor_gmtime_r="yes"
-fi
-
-dnl for recent AIX versions, we skip all the thread-safe checks above since
-dnl they claim a thread-safe libc using the standard API. But there are
-dnl some functions still not thread-safe. Check for these!
-
-dnl Let's hope this split URL remains working:
-dnl http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
-dnl genprogc/thread_quick_ref.htm
-
-if test "x$RECENTAIX" = "xyes"; then
-
- AC_DEFINE(_THREAD_SAFE, 1, [define this if you need it to compile thread-safe code])
-
- dnl is there a localtime_r()
- CURL_CHECK_LOCALTIME_R()
-
- dnl is there a strerror_r()
- CURL_CHECK_STRERROR_R()
-
- checkfor_gmtime_r="yes"
-fi
-
-if test x$cross_compiling != xyes; then
-
- if test x$checkfor_gmtime_r = xyes; then
-
- dnl if gmtime_r was found, verify that it actually works, as (at least) HPUX
- dnl 10.20 is known to have a buggy one. If it doesn't work, disable use of
- dnl it.
-
- AC_MSG_CHECKING([if gmtime_r exists and works])
- AC_RUN_IFELSE([[
- #include <time.h>
- int main(void)
- {
- time_t local = 1170352587;
- struct tm *gmt;
- struct tm keeper;
- putenv("TZ=CST6CDT");
- tzset();
- gmt = gmtime_r(&local, &keeper);
- if(gmt) {
- return 0;
- }
- return 1; /* failure */
- }
- ]],
- dnl success, do nothing
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_GMTIME_R, 1, [if you have (a working) gmtime_r])
- ,
- dnl failure, now disable the function
- AC_MSG_RESULT(no)
- ,
- dnl not invoked when crosscompiling)
- echo "hej"
- )
- fi
-else
- dnl and for crosscompiling
- AC_CHECK_FUNCS(gmtime_r)
-fi
-
-
-dnl **********************************************************************
-dnl Back to "normal" configuring
-dnl **********************************************************************
-
-dnl Checks for header files.
-AC_HEADER_STDC
-
-CURL_CHECK_HEADER_MALLOC
-
-dnl Now check for the very most basic headers. Then we can use these
-dnl ones as default-headers when checking for the rest!
-AC_CHECK_HEADERS(
- sys/types.h \
- sys/time.h \
- sys/select.h \
- sys/socket.h \
- sys/ioctl.h \
- assert.h \
- unistd.h \
- stdlib.h \
- limits.h \
- arpa/inet.h \
- net/if.h \
- netinet/in.h \
- sys/un.h \
- netinet/tcp.h \
- netdb.h \
- sys/sockio.h \
- sys/stat.h \
- sys/param.h \
- termios.h \
- termio.h \
- sgtty.h \
- fcntl.h \
- alloca.h \
- time.h \
- io.h \
- pwd.h \
- utime.h \
- sys/utime.h \
- sys/poll.h \
- poll.h \
- sys/resource.h \
- libgen.h \
- locale.h \
- errno.h \
- stdbool.h \
- arpa/tftp.h \
- sys/filio.h \
- setjmp.h,
-dnl to do if not found
-[],
-dnl to do if found
-[],
-dnl default includes
-[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_UN_H
-#include <sys/un.h>
-#endif
-]
-)
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-CURL_CHECK_VARIADIC_MACROS
-AC_TYPE_SIZE_T
-AC_HEADER_TIME
-CURL_CHECK_STRUCT_TIMEVAL
-CURL_VERIFY_RUNTIMELIBS
-
-AC_CHECK_SIZEOF(size_t)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-CURL_CONFIGURE_LONG
-AC_CHECK_SIZEOF(time_t)
-AC_CHECK_SIZEOF(off_t)
-
-soname_bump=no
-if test x"$ac_cv_native_windows" != "xyes" &&
- test $ac_cv_sizeof_off_t -ne $curl_sizeof_curl_off_t; then
- AC_MSG_WARN([This libcurl built is probably not ABI compatible with previous])
- AC_MSG_WARN([builds! You MUST read lib/README.curl_off_t to figure it out.])
- soname_bump=yes
-fi
-
-
-AC_CHECK_TYPE(long long,
- [AC_DEFINE(HAVE_LONGLONG, 1,
- [Define to 1 if the compiler supports the 'long long' data type.])]
- longlong="yes"
-)
-
-if test "xyes" = "x$longlong"; then
- AC_MSG_CHECKING([if numberLL works])
- AC_COMPILE_IFELSE([long long val = 1000LL;],
- [AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL])]
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no)
- )
-fi
-
-
-# check for ssize_t
-AC_CHECK_TYPE(ssize_t, ,
- AC_DEFINE(ssize_t, int, [the signed version of size_t]))
-
-# check for bool type
-AC_CHECK_TYPE([bool],[
- AC_DEFINE(HAVE_BOOL_T, 1,
- [Define to 1 if bool is an available type.])
-], ,[
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-])
-
-# Check for socklen_t or equivalent
-CURL_CHECK_TYPE_SOCKLEN_T
-
-TYPE_IN_ADDR_T
-
-TYPE_SOCKADDR_STORAGE
-
-TYPE_SIG_ATOMIC_T
-
-AC_TYPE_SIGNAL
-
-CURL_CHECK_FUNC_SELECT
-
-CURL_CHECK_FUNC_RECV
-CURL_CHECK_FUNC_RECVFROM
-CURL_CHECK_FUNC_SEND
-CURL_CHECK_MSG_NOSIGNAL
-
-dnl Checks for library functions.
-dnl AC_PROG_GCC_TRADITIONAL
-
-dnl AC_FUNC_VPRINTF
-case $host in
- *msdosdjgpp)
- ac_cv_func_pipe=no
- skipcheck_pipe=yes
- AC_MSG_NOTICE([skip check for pipe on msdosdjgpp])
- ;;
-esac
-
-AC_CHECK_FUNCS([basename \
- closesocket \
- fork \
- ftruncate \
- geteuid \
- gethostbyaddr \
- getpass_r \
- getppid \
- getprotobyname \
- getpwuid \
- getrlimit \
- gettimeofday \
- inet_addr \
- inet_ntoa \
- inet_pton \
- perror \
- pipe \
- poll \
- setlocale \
- setmode \
- setrlimit \
- sigaction \
- siginterrupt \
- signal \
- sigsetjmp \
- socket \
- strcasecmp \
- strcasestr \
- strcmpi \
- strdup \
- stricmp \
- strlcat \
- strstr \
- strtok_r \
- strtoll \
- uname \
- utime
-],[
-],[
- func="$ac_func"
- eval skipcheck=\$skipcheck_$func
- if test "x$skipcheck" != "xyes"; then
- AC_MSG_CHECKING([deeper for $func])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- $func ();
- ]])
- ],[
- AC_MSG_RESULT([yes])
- eval "ac_cv_func_$func=yes"
- AC_DEFINE_UNQUOTED([AS_TR_CPP([HAVE_$func])], [1],
- [Define to 1 if you have the $func function.])
- ],[
- AC_MSG_RESULT([but still no])
- ])
- fi
-])
-
-
-dnl sigsetjmp() might be a macro and no function so if it isn't found already
-dnl we make an extra check here!
-if test "$ac_cv_func_sigsetjmp" != "yes"; then
- AC_MSG_CHECKING([for sigsetjmp defined as macro])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#include <setjmp.h>
- ]],[[
- sigjmp_buf jmpenv;
- sigsetjmp(jmpenv, 1);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE(HAVE_SIGSETJMP, 1, [If you have sigsetjmp])
- ],[
- AC_MSG_RESULT([no])
- ])
-fi
-
-AC_CHECK_DECL(basename, ,
- AC_DEFINE(NEED_BASENAME_PROTO, 1, [If you lack a fine basename() prototype]),
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-)
-
-AC_CHECK_DECL(inet_pton, ,
- AC_DEFINE(HAVE_NO_INET_PTON_PROTO, 1,
- [Defined if no inet_pton() prototype available]),
-[
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-]
-)
-
-dnl Check if the getnameinfo function is available
-dnl and get the types of five of its arguments.
-CURL_CHECK_FUNC_GETNAMEINFO
-
-if test "$ipv6" = "yes"; then
- CURL_CHECK_WORKING_GETADDRINFO
- CURL_CHECK_NI_WITHSCOPEID
-fi
-
-AC_MSG_CHECKING([if we are Mac OS X (to disable poll)])
-disable_poll=no
-case $host in
- *-*-darwin*)
- disable_poll="yes";
- ;;
- *)
- ;;
-esac
-AC_MSG_RESULT($disable_poll)
-
-if test "$disable_poll" = "no"; then
-
- dnl poll() might be badly emulated, as in Mac OS X 10.3 (and other BSDs?) and
- dnl to find out we make an extra check here!
- if test "$ac_cv_func_poll" = "yes"; then
- AC_MSG_CHECKING([if poll works with NULL inputs])
- AC_RUN_IFELSE([
-#ifdef HAVE_SYS_POLL_H
-#include <sys/poll.h>
-#elif defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-
- int main(void)
- {
- /* make this return 0 == timeout since there's nothing to read from */
- return poll((void *)0, 0, 10 /*ms*/);
- }
-],
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_POLL_FINE, 1, [If you have a fine poll]),
- AC_MSG_RESULT(no),
- AC_MSG_RESULT(cross-compiling assumes yes)
- AC_DEFINE(HAVE_POLL_FINE, 1, [If you have a fine poll])
- ) dnl end of AC_RUN_IFELSE
- fi dnl poll() was found
-fi dnl poll()-check is not disabled
-
-
-AC_PATH_PROG( PERL, perl, ,
- $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
-AC_SUBST(PERL)
-
-AC_PATH_PROGS( NROFF, gnroff nroff, ,
- $PATH:/usr/bin/:/usr/local/bin )
-AC_SUBST(NROFF)
-
-if test -n "$NROFF"; then
- dnl only check for nroff options if an nroff command was found
-
- AC_MSG_CHECKING([how to use *nroff to get plain text from man pages])
- MANOPT="-man"
- mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
- if test -z "$mancheck"; then
- MANOPT="-mandoc"
- mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null`
- if test -z "$mancheck"; then
- MANOPT=""
- AC_MSG_RESULT([failed])
- AC_MSG_WARN([found no *nroff option to get plaintext from man pages])
- else
- AC_MSG_RESULT([$MANOPT])
- fi
- else
- AC_MSG_RESULT([$MANOPT])
- fi
- AC_SUBST(MANOPT)
-fi
-
-if test -z "$MANOPT"
-then
- dnl if no nroff tool was found, or no option that could convert man pages
- dnl was found, then disable the built-in manual stuff
- AC_MSG_WARN([disabling built-in manual])
- USE_MANUAL="no";
-fi
-
-dnl *************************************************************************
-dnl If the manual variable still is set, then we go with providing a built-in
-dnl manual
-
-if test "$USE_MANUAL" = "1"; then
- AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual])
- curl_manual_msg="enabled"
-fi
-
-dnl set variable for use in automakefile(s)
-AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1)
-
-AC_MSG_CHECKING([whether to enable c-ares])
-AC_ARG_ENABLE(ares,
-AC_HELP_STRING([--enable-ares=PATH],[Enable c-ares for name lookups])
-AC_HELP_STRING([--disable-ares],[Disable c-ares for name lookups]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *) AC_MSG_RESULT(yes)
-
- if test "x$IPV6_ENABLED" = "x1"; then
- AC_MSG_NOTICE([c-ares may not work properly with ipv6])
- fi
-
- AC_DEFINE(USE_ARES, 1, [Define if you want to enable c-ares support])
- dnl substitute HAVE_ARES for curl-config and similar
- HAVE_ARES="1"
- AC_SUBST(HAVE_ARES)
- curl_ares_msg="enabled"
-
- LIBS="-lcares $LIBS"
-
- dnl For backwards compatibility default to includes/lib in srcdir/ares
- dnl If a value is specified it is assumed that the libs are in $val/lib
- dnl and the includes are in $val/include. This is the default setup for
- dnl ares so it should not be a problem.
- if test "x$enableval" = "xyes" ; then
- if test -d "$srcdir/ares"; then
- aresembedded="yes"
- AC_CONFIG_SUBDIRS(ares)
- aresinc=`cd $srcdir/ares && pwd`
- CPPFLAGS="$CPPFLAGS -I$aresinc"
-
- dnl the pwd= below cannot 'cd' into the ares dir to get the full
- dnl path to it, since it may not exist yet if we build outside of
- dnl the source tree
- pwd=`pwd`
- LDFLAGS="$LDFLAGS -L$pwd/ares"
- fi
- else
- CPPFLAGS="$CPPFLAGS -I$enableval/include"
- LDFLAGS="$LDFLAGS -L$enableval/lib"
- fi
-
- if test -z "$aresembedded"; then
- dnl verify that a sufficient c-ares is here if we have pointed one
- dnl out and don't use the "embedded" ares dir (in which case we don't
- dnl check it because it might not have been built yet)
- AC_MSG_CHECKING([that c-ares is good and recent enough])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#include <ares.h>
- /* set of dummy functions in case c-ares was built with debug */
- void curl_dofree() { }
- void curl_sclose() { }
- void curl_domalloc() { }
- void curl_docalloc() { }
- void curl_socket() { }
- ]],[[
- ares_channel channel;
- ares_cancel(channel); /* added in 1.2.0 */
- ares_process_fd(channel, 0, 0); /* added in 1.4.0 */
- ]])
- ],[
- AC_MSG_RESULT([yes])
- ],[
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([c-ares library defective or too old])
- ])
- fi
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-dnl ************************************************************
-dnl disable verbose text strings
-dnl
-AC_MSG_CHECKING([whether to enable verbose strings])
-AC_ARG_ENABLE(verbose,
-AC_HELP_STRING([--enable-verbose],[Enable verbose strings])
-AC_HELP_STRING([--disable-verbose],[Disable verbose strings]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings])
- curl_verbose_msg="no"
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-
-dnl ************************************************************
-dnl enable SSPI support
-dnl
-AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)])
-AC_ARG_ENABLE(sspi,
-AC_HELP_STRING([--enable-sspi],[Enable SSPI])
-AC_HELP_STRING([--disable-sspi],[Disable SSPI]),
-[ case "$enableval" in
- yes)
- if test "$ac_cv_native_windows" = "yes"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support])
- AC_SUBST(USE_WINDOWS_SSPI, [1])
- curl_sspi_msg="yes"
- else
- AC_MSG_RESULT(no)
- AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.])
- fi
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-dnl ************************************************************
-dnl lame option to switch on debug options
-dnl
-AC_MSG_CHECKING([whether to enable debug options])
-AC_ARG_ENABLE(debug,
-AC_HELP_STRING([--enable-debug],[Enable pedantic debug options])
-AC_HELP_STRING([--disable-debug],[Disable debug options]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *) AC_MSG_RESULT(yes)
-
- CPPFLAGS="$CPPFLAGS -DCURLDEBUG"
- CFLAGS="$CFLAGS -g"
-
- dnl set compiler "debug" options to become more picky, and remove
- dnl optimize options from CFLAGS
- CURL_CC_DEBUG_OPTS
- ;;
- esac
- ],
- AC_MSG_RESULT(no)
-)
-
-dnl ************************************************************
-dnl disable cryptographic authentication
-dnl
-AC_MSG_CHECKING([whether to enable cryptographic authentication methods])
-AC_ARG_ENABLE(crypto-auth,
-AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication])
-AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-
-dnl ************************************************************
-dnl disable cookies support
-dnl
-AC_MSG_CHECKING([whether to enable support for cookies])
-AC_ARG_ENABLE(cookies,
-AC_HELP_STRING([--enable-cookies],[Enable cookies support])
-AC_HELP_STRING([--disable-cookies],[Disable cookies support]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support])
- ;;
- *) AC_MSG_RESULT(yes)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
-
-dnl ************************************************************
-dnl Enable hiding of internal symbols in library to reduce its size and
-dnl speed dynamic linking of applications. This currently is only supported
-dnl on gcc >= 4.0 and SunPro C.
-dnl
-AC_MSG_CHECKING([whether to enable hidden symbols in the library])
-AC_ARG_ENABLE(hidden-symbols,
-AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library])
-AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]),
-[ case "$enableval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *)
- AC_MSG_CHECKING([whether $CC supports it])
- if test "$GCC" = yes ; then
- if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
- AC_DEFINE(CURL_EXTERN_SYMBOL, [__attribute__ ((visibility ("default")))], [to make a symbol visible])
- CFLAGS="$CFLAGS -fvisibility=hidden"
- else
- AC_MSG_RESULT(no)
- fi
-
- else
- dnl Test for SunPro cc
- if $CC 2>&1 | grep flags >/dev/null && $CC -flags | grep xldscope= >/dev/null ; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(CURL_HIDDEN_SYMBOLS, 1, [to enable hidden symbols])
- AC_DEFINE(CURL_EXTERN_SYMBOL, [__global], [to make a symbol visible])
- CFLAGS="$CFLAGS -xldscope=hidden"
- else
- AC_MSG_RESULT(no)
- fi
- fi
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-dnl ************************************************************
-dnl enforce SONAME bump
-dnl
-
-AC_MSG_CHECKING([whether to enforce SONAME bump])
-AC_ARG_ENABLE(soname-bump,
-AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
-AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
-[ case "$enableval" in
- yes) AC_MSG_RESULT(yes)
- soname_bump=yes
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT($soname_bump)
-)
-AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
-
-
-dnl ************************************************************
-if test ! -z "$winsock_LIB"; then
-
- dnl If ws2_32 is wanted, make sure it is the _last_ lib in LIBS (makes
- dnl things work when built with c-ares). But we can't just move it last
- dnl since then other stuff (SSL) won't build. So we simply append it to the
- dnl end.
-
- LIBS="$LIBS $winsock_LIB"
- TEST_SERVER_LIBS="$TEST_SERVER_LIBS $winsock_LIB"
-
-fi
-
-dnl
-dnl All the library dependencies put into $LIB apply to libcurl only.
-dnl Those in $CURL_LIBS apply to the curl command-line client only.
-dnl Those in $TEST_SERVER_LIBS apply to test servers only.
-dnl Those in $ALL_LIBS apply to all targets, including test targets.
-dnl
-LIBCURL_LIBS=$LIBS
-
-AC_SUBST(LIBCURL_LIBS)
-AC_SUBST(CURL_LIBS)
-AC_SUBST(TEST_SERVER_LIBS)
-LIBS=$ALL_LIBS dnl LIBS is a magic variable that's used for every link
-
-AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes)
-
-AC_CONFIG_FILES([Makefile \
- docs/Makefile \
- docs/examples/Makefile \
- docs/libcurl/Makefile \
- include/Makefile \
- include/curl/Makefile \
- src/Makefile \
- lib/Makefile \
- tests/Makefile \
- tests/data/Makefile \
- tests/server/Makefile \
- tests/libtest/Makefile \
- packages/Makefile \
- packages/Win32/Makefile \
- packages/Win32/cygwin/Makefile \
- packages/Linux/Makefile \
- packages/Linux/RPM/Makefile \
- packages/Linux/RPM/curl.spec \
- packages/Linux/RPM/curl-ssl.spec \
- packages/Solaris/Makefile \
- packages/DOS/Makefile \
- packages/EPM/curl.list \
- packages/EPM/Makefile \
- packages/vms/Makefile \
- packages/AIX/Makefile \
- packages/AIX/RPM/Makefile \
- packages/AIX/RPM/curl.spec \
- curl-config \
- libcurl.pc
-])
-AC_OUTPUT
-
-AC_MSG_NOTICE([Configured to build curl/libcurl:
-
- curl version: ${VERSION}
- Host setup: ${host}
- Install prefix: ${prefix}
- Compiler: ${CC}
- SSL support: ${curl_ssl_msg}
- SSH support: ${curl_ssh_msg}
- zlib support: ${curl_zlib_msg}
- krb4 support: ${curl_krb4_msg}
- GSSAPI support: ${curl_gss_msg}
- SPNEGO support: ${curl_spnego_msg}
- c-ares support: ${curl_ares_msg}
- ipv6 support: ${curl_ipv6_msg}
- IDN support: ${curl_idn_msg}
- Build libcurl: Shared=${enable_shared}, Static=${enable_static}
- Built-in manual: ${curl_manual_msg}
- Verbose errors: ${curl_verbose_msg}
- SSPI support: ${curl_sspi_msg}
- ca cert bundle: ${ca}
- ca cert path: ${capath}
- LDAP support: ${curl_ldap_msg}
- LDAPS support: ${curl_ldaps_msg}
-])
-
-if test "x$soname_bump" = "xyes"; then
-
-cat <<EOM
- SONAME bump: yes - WARNING: this library will be built with the SONAME
- number bumped due to (a detected) ABI breakage.
- See lib/README.curl_off_t for details on this.
-EOM
-
-fi
-
diff --git a/Utilities/cmcurl-7.19.0/curl-config.in b/Utilities/cmcurl-7.19.0/curl-config.in
deleted file mode 100644
index 107fa2c..0000000
--- a/Utilities/cmcurl-7.19.0/curl-config.in
+++ /dev/null
@@ -1,216 +0,0 @@
-#! /bin/sh
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 2001 - 2008, 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.
-#
-# $Id$
-###########################################################################
-#
-# The idea to this kind of setup info script was stolen from numerous
-# other packages, such as neon, libxml and gnome.
-#
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-includedir=@includedir@
-
-usage()
-{
- cat <<EOF
-Usage: curl-config [OPTION]
-
-Available values for OPTION include:
-
- --ca ca bundle install path
- --cc compiler
- --cflags pre-processor and compiler flags
- --checkfor [version] check for (lib)curl of the specified version
- --features newline separated list of enabled features
- --help display this help and exit
- --libs library linking information
- --prefix curl install prefix
- --protocols newline separated list of enabled protocols
- --static-libs static libcurl library linking information
- --version output version information
- --vernum output the version information as a number (hexadecimal)
-EOF
-
- exit $1
-}
-
-if test $# -eq 0; then
- usage 1
-fi
-
-while test $# -gt 0; do
- case "$1" in
- # this deals with options in the style
- # --option=value and extracts the value part
- # [not currently used]
- -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) value= ;;
- esac
-
- case "$1" in
- --ca)
- echo "@CURL_CA_BUNDLE@"
- ;;
-
- --cc)
- echo "@CC@"
- ;;
-
- --prefix)
- echo "$prefix"
- ;;
-
- --feature|--features)
- if test "@USE_SSLEAY@" = "1"; then
- echo "SSL"
- NTLM=1 # OpenSSL implies NTLM
- elif test -n "@SSL_ENABLED@"; then
- echo "SSL"
- fi
- if test "@KRB4_ENABLED@" = "1"; then
- echo "KRB4"
- fi
- if test "@IPV6_ENABLED@" = "1"; then
- echo "IPv6"
- fi
- if test "@HAVE_LIBZ@" = "1"; then
- echo "libz"
- fi
- if test "@HAVE_ARES@" = "1"; then
- echo "AsynchDNS"
- fi
- if test "@IDN_ENABLED@" = "1"; then
- echo "IDN"
- fi
- if test "@USE_WINDOWS_SSPI@" = "1"; then
- echo "SSPI"
- NTLM=1
- fi
- if test "$NTLM" = "1"; then
- echo "NTLM"
- fi
- ;;
-
- --protocols)
- if test "@CURL_DISABLE_HTTP@" != "1"; then
- echo "HTTP"
- if test "@SSL_ENABLED@" = "1"; then
- echo "HTTPS"
- fi
- fi
- if test "@CURL_DISABLE_FTP@" != "1"; then
- echo "FTP"
- if test "@SSL_ENABLED@" = "1"; then
- echo "FTPS"
- fi
- fi
- if test "@CURL_DISABLE_FILE@" != "1"; then
- echo "FILE"
- fi
- if test "@CURL_DISABLE_TELNET@" != "1"; then
- echo "TELNET"
- fi
- if test "@CURL_DISABLE_LDAP@" != "1"; then
- echo "LDAP"
- fi
- if test "@CURL_DISABLE_LDAPS@" != "1"; then
- echo "LDAPS"
- fi
- if test "@CURL_DISABLE_DICT@" != "1"; then
- echo "DICT"
- fi
- if test "@CURL_DISABLE_TFTP@" != "1"; then
- echo "TFTP"
- fi
- if test "@USE_LIBSSH2@" = "1"; then
- echo "SCP"
- echo "SFTP"
- fi
- ;;
- --version)
- echo libcurl @VERSION@
- exit 0
- ;;
-
- --checkfor)
- checkfor=$2
- cmajor=`echo $checkfor | cut -d. -f1`
- cminor=`echo $checkfor | cut -d. -f2`
- # when extracting the patch part we strip off everything after a
- # dash as that's used for things like version 1.2.3-CVS
- cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
- checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc`
- numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'`
- nownum=`echo "obase=10; ibase=16; $numuppercase" | bc`
-
- if test "$nownum" -ge "$checknum"; then
- # silent success
- exit 0
- else
- echo "requested version $checkfor is newer than existing @VERSION@"
- exit 1
- fi
- ;;
-
- --vernum)
- echo @VERSIONNUM@
- exit 0
- ;;
-
- --help)
- usage 0
- ;;
-
- --cflags)
- if test "X@includedir@" = "X/usr/include"; then
- echo ""
- else
- echo "-I@includedir@"
- fi
- ;;
-
- --libs)
- if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
- CURLLIBDIR="-L@libdir@ "
- else
- CURLLIBDIR=""
- fi
- if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then
- echo ${CURLLIBDIR}-lcurl @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
- else
- echo ${CURLLIBDIR}-lcurl @LDFLAGS@ @LIBS@
- fi
- ;;
-
- --static-libs)
- echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
- ;;
-
- *)
- echo "unknown option: $1"
- usage 1
- ;;
- esac
- shift
-done
-
-exit 0
diff --git a/Utilities/cmcurl-7.19.0/curl-style.el b/Utilities/cmcurl-7.19.0/curl-style.el
deleted file mode 100644
index 25bcd1a..0000000
--- a/Utilities/cmcurl-7.19.0/curl-style.el
+++ /dev/null
@@ -1,51 +0,0 @@
-;;;; Emacs Lisp help for writing curl code. ;;;;
-;;;; $Id$
-
-;;; The curl hacker's C conventions.
-;;; See the sample.emacs file on how this file can be made to take
-;;; effect automatically when editing curl source files.
-
-(defconst curl-c-style
- '((c-basic-offset . 2)
- (c-comment-only-line-offset . 0)
- (c-hanging-braces-alist . ((substatement-open before after)))
- (c-offsets-alist . ((topmost-intro . 0)
- (topmost-intro-cont . 0)
- (substatement . +)
- (substatement-open . 0)
- (statement-case-intro . +)
- (statement-case-open . 0)
- (case-label . 0)
- ))
- )
- "Curl C Programming Style")
-
-(defun curl-code-cleanup ()
- "no docs"
- (interactive)
- (untabify (point-min) (point-max))
- (delete-trailing-whitespace)
-)
-
-;; Customizations for all of c-mode, c++-mode, and objc-mode
-(defun curl-c-mode-common-hook ()
- "Curl C mode hook"
- ;; add curl style and set it for the current buffer
- (c-add-style "curl" curl-c-style t)
- (setq tab-width 8
- indent-tabs-mode nil ; Use spaces. Not tabs.
- comment-column 40
- c-font-lock-extra-types (append '("bool" "CURL" "CURLcode" "ssize_t" "size_t" "socklen_t" "fd_set" "time_t" "curl_off_t" "curl_socket_t" "in_addr_t" "CURLSHcode" "CURLMcode" "Curl_addrinfo"))
- )
- ;; keybindings for C, C++, and Objective-C. We can put these in
- ;; c-mode-base-map because of inheritance ...
- (define-key c-mode-base-map "\M-q" 'c-fill-paragraph)
- (define-key c-mode-base-map "\M-m" 'curl-code-cleanup)
- (setq c-recognize-knr-p nil)
- ;;; (add-hook 'write-file-hooks 'delete-trailing-whitespace t)
- (setq show-trailing-whitespace t)
- )
-
-;; Set this is in your .emacs if you want to use the c-mode-hook as
-;; defined here right out of the box.
-; (add-hook 'c-mode-common-hook 'curl-c-mode-common-hook)
diff --git a/Utilities/cmcurl-7.19.0/depcomp b/Utilities/cmcurl-7.19.0/depcomp
deleted file mode 100755
index 04701da..0000000
--- a/Utilities/cmcurl-7.19.0/depcomp
+++ /dev/null
@@ -1,530 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2005-07-09.11
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- DEPDIR directory where to store dependencies.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
- if test "$libtool" = yes; then
- "$@" -Wc,-M
- else
- "$@" -M
- fi
- stat=$?
-
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
-
- if test -f "$tmpdepfile"; then
- outname="$stripped.o"
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mecanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/Utilities/cmcurl-7.19.0/docs/BINDINGS b/Utilities/cmcurl-7.19.0/docs/BINDINGS
deleted file mode 100644
index ea954bb..0000000
--- a/Utilities/cmcurl-7.19.0/docs/BINDINGS
+++ /dev/null
@@ -1,214 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- libcurl bindings
-
-Creative people have written bindings or interfaces for various environments
-and programming languages. Using one of these allows you to take advantage of
-curl powers from within your favourite language or system.
-
-This is a list of all known interfaces as of this writing.
-
-The bindings listed below are not part of the curl/libcurl distribution
-archives, but must be downloaded and installed separately.
-
-Ada95
-
- Writtten by Andreas Almroth
- http://www.almroth.com/adacurl/index.html
-
-Basic
-
- ScriptBasic bindings to libcurl. Writtten by Peter Verhas
- http://scriptbasic.com/
-
-C
- libcurl is a C library in itself!
- http://curl.haxx.se/libcurl/
-
-C++
-
- Written by Jean-Philippe Barrette-LaPierre
- http://rrette.com/textpattern/index.php?s=cURLpp
-
-Ch
-
- Written by Stephen Nestinger and Jonathan Rogado
- http://chcurl.sourceforge.net/
-
-Cocoa
-
- Written by Dan Wood
- http://curlhandle.sourceforge.net/
-
-D
-
- Written by Kenneth Bogert
- http://curl.haxx.se/libcurl/d/
-
-Dylan
-
- Written by Chris Double
- http://dylanlibs.sourceforge.net/
-
-Euphoria
-
- Written by Ray Smith
- http://rays-web.com/eulibcurl.htm
-
-Ferite
-
- Written by Paul Querna
- http://www.ferite.org/
-
-Gambas
-
- http://gambas.sourceforge.net
-
-glib/GTK+
-
- Written by Richard Atterer
- http://atterer.net/glibcurl/
-
-Haskell
-
- Written by Galois, Inc
- http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl
-
-Java
-
- Maintained by [blank]
- http://curl.haxx.se/libcurl/java/
-
-Lisp
-
- Written by Liam Healy
- http://common-lisp.net/project/cl-curl/
-
-Lua
-
- luacurl by Alexander Marinov
- http://luacurl.luaforge.net/
-
- Lua-cURL by Jürgen Hötzel
- http://luaforge.net/projects/lua-curl/
-
-Mono
-
- Written by Jeffrey Phillips
- http://forge.novell.com/modules/xfmod/project/?libcurl-mono
-
-.NET
-
- libcurl-net by Jeffrey Phillips
- http://sourceforge.net/projects/libcurl-net/
-
-Object-Pascal
-
- Free Pascal, Delphi and Kylix binding written by Christophe Espern.
- http://www.tekool.com/opcurl
-
-O'Caml
-
- Written by Lars Nilsson
- http://sourceforge.net/projects/ocurl/
-
-Pascal
-
- Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer.
- http://houston.quik.com/jkp/curlpas/
-
-Perl
-
- Maintained by Cris Bailiff
- http://curl.haxx.se/libcurl/perl/
-
-PHP
-
- Written by Sterling Hughes
- http://curl.haxx.se/libcurl/php/
-
-PostgreSQL
-
- Written by Gian Paolo Ciceri
- http://gborg.postgresql.org/project/pgcurl/projdisplay.php
-
-Python
-
- PycURL by Kjetil Jacobsen
- http://pycurl.sourceforge.net/
-
-R
-
- RCurl by Duncan Temple Lang
- http://www.omegahat.org/RCurl/
-
-Rexx
-
- Written Mark Hessling
- http://rexxcurl.sourceforge.net/
-
-RPG
-
- Support for ILE/RPG on OS/400 is included in source distribution
- http://curl.haxx.se/libcurl/
- See packages/OS400/README.OS400 and packages/OS400/curl.inc.in
-
-Ruby
-
- curb - written by Ross Bamford
- http://curb.rubyforge.org/
-
- ruby-curl-multi - written by Kristjan Petursson and Keith Rarick
- http://curl-multi.rubyforge.org/
-
-Scheme
-
- Bigloo binding by Kirill Lisovsky
- http://curl.haxx.se/libcurl/scheme/
-
-S-Lang
-
- S-Lang binding by John E Davis
- http://www.jedsoft.org/slang/modules/curl.html
-
-Smalltalk
-
- Smalltalk binding by Danil Osipchuk
- http://www.squeaksource.com/CurlPlugin/
-
-SP-Forth
- SP-Forth binding by ygrek
- http://www.forth.org.ru/~ac/lib/lin/curl/
-
-SPL
-
- SPL binding by Clifford Wolf
- http://www.clifford.at/spl/
-
-Tcl
-
- Tclcurl by Andrés García
- http://personal1.iddeo.es/andresgarci/tclcurl/english/docs.html
-
-Visual Basic
-
- libcurl-vb by Jeffrey Phillips
- http://sourceforge.net/projects/libcurl-vb/
-
-Q
- The libcurl module is part of the default install
- http://q-lang.sourceforge.net/
-
-wxWidgets
-
- Written by Casey O'Donnell
- http://wxcode.sourceforge.net/components/wxcurl/
-
-XBLite
-
- Written by David Szafranski
- http://perso.wanadoo.fr/xblite/libraries.html
diff --git a/Utilities/cmcurl-7.19.0/docs/BUGS b/Utilities/cmcurl-7.19.0/docs/BUGS
deleted file mode 100644
index bb44e68..0000000
--- a/Utilities/cmcurl-7.19.0/docs/BUGS
+++ /dev/null
@@ -1,82 +0,0 @@
-$Id$
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-BUGS
-
- Curl and libcurl have grown substantially since the beginning. At the time
- of writing (July 2007), there are about 47000 lines of source code, and by
- the time you read this it has probably grown even more.
-
- Of course there are lots of bugs left. And lots of misfeatures.
-
- To help us make curl the stable and solid product we want it to be, we need
- bug reports and bug fixes.
-
-WHERE TO REPORT
-
- If you can't fix a bug yourself and submit a fix for it, try to report an as
- detailed report as possible to a curl mailing list to allow one of us to
- have a go at a solution. You should also post your bug/problem at curl's bug
- tracking system over at
-
- http://sourceforge.net/bugs/?group_id=976
-
- (but please read the sections below first before doing that)
-
- If you feel you need to ask around first, find a suitable mailing list and
- post there. The lists are available on http://curl.haxx.se/mail/
-
-WHAT TO REPORT
-
- When reporting a bug, you should include all information that will help us
- understand what's wrong, what you expected to happen and how to repeat the
- bad behavior. You therefore need to tell us:
-
- - your operating system's name and version number (uname -a under a unix
- is fine)
- - what version of curl you're using (curl -V is fine)
- - versions of the used libraries that libcurl is built to use
- - what URL you were working with (if possible), at least which protocol
-
- and anything and everything else you think matters. Tell us what you
- expected to happen, tell use what did happen, tell us how you could make it
- work another way. Dig around, try out, test. Then include all the tiny bits
- and pieces in your report. You will benefit from this yourself, as it will
- enable us to help you quicker and more accurately.
-
- Since curl deals with networks, it often helps us if you include a protocol
- debug dump with your bug report. The output you get by using the -v or
- --trace options.
-
- If curl crashed, causing a core dump (in unix), there is hardly any use to
- send that huge file to anyone of us. Unless we have an exact same system
- setup as you, we can't do much with it. Instead we ask you to get a stack
- trace and send that (much smaller) output to us instead!
-
- The address and how to subscribe to the mailing lists are detailed in the
- MANUAL file.
-
-HOW TO GET A STACK TRACE
-
- First, you must make sure that you compile all sources with -g and that you
- don't 'strip' the final executable. Try to avoid optimizing the code as
- well, remove -O, -O2 etc from the compiler options.
-
- Run the program until it cores.
-
- Run your debugger on the core file, like '<debugger> curl core'. <debugger>
- should be replaced with the name of your debugger, in most cases that will
- be 'gdb', but 'dbx' and others also occur.
-
- When the debugger has finished loading the core file and presents you a
- prompt, enter 'where' (without the quotes) and press return.
-
- The list that is presented is the stack trace. If everything worked, it is
- supposed to contain the chain of functions that were called when curl
- crashed. Include the stack trace with your detailed bug report. It'll help a
- lot.
-
diff --git a/Utilities/cmcurl-7.19.0/docs/CMakeLists.txt b/Utilities/cmcurl-7.19.0/docs/CMakeLists.txt
deleted file mode 100644
index 5b7c064..0000000
--- a/Utilities/cmcurl-7.19.0/docs/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-if(NOT CURL_SKIP_EXAMPLES)
- add_subdirectory(examples)
-endif(NOT CURL_SKIP_EXAMPLES)
-
diff --git a/Utilities/cmcurl-7.19.0/docs/CONTRIBUTE b/Utilities/cmcurl-7.19.0/docs/CONTRIBUTE
deleted file mode 100644
index 94e9a6c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/CONTRIBUTE
+++ /dev/null
@@ -1,233 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- When Contributing Source Code
-
- This document is intended to offer guidelines that can be useful to keep in
- mind when you decide to contribute to the project. This concerns new features
- as well as corrections to existing flaws or bugs.
-
- 1. Learning cURL
- 1.1 Join the Community
- 1.2 License
- 1.3 What To Read
-
- 2. cURL Coding Standards
- 2.1 Naming
- 2.2 Indenting
- 2.3 Commenting
- 2.4 Line Lengths
- 2.5 General Style
- 2.6 Non-clobbering All Over
- 2.7 Platform Dependent Code
- 2.8 Write Separate Patches
- 2.9 Patch Against Recent Sources
- 2.10 Document
- 2.11 Test Cases
-
- 3. Pushing Out Your Changes
- 3.1 Write Access to CVS Repository
- 3.2 How To Make a Patch
- 3.3 How to get your changes into the main sources
-
-==============================================================================
-
-1. Learning cURL
-
-1.1 Join the Community
-
- Skip over to http://curl.haxx.se/mail/ and join the appropriate mailing
- list(s). Read up on details before you post questions. Read this file before
- you start sending patches! We prefer patches and discussions being held on
- the mailing list(s), not sent to individuals.
-
- Before posting to one of the curl mailing lists, please read up on the mailing
- list etiquette: http://curl.haxx.se/mail/etiquette.html
-
- We also hang out on IRC in #curl on irc.freenode.net
-
-1.2. License
-
- When contributing with code, you agree to put your changes and new code under
- the same license curl and libcurl is already using unless stated and agreed
- otherwise.
-
- If you add a larger piece of code, you can opt to make that file or set of
- files to use a different license as long as they don't enforce any changes to
- the rest of the package and they make sense. Such "separate parts" can not be
- GPL licensed (as we don't want copyleft to affect users of libcurl) but they
- must use "GPL compatible" licenses (as we want to allow users to use libcurl
- properly in GPL licensed environments).
-
- When changing existing source code, you do not alter the copyright of the
- original file(s). The copyright will still be owned by the original
- creator(s) or those who have been assigned copyright by the original
- author(s).
-
- By submitting a patch to the curl project, you are assumed to have the right
- to the code and to be allowed by your employer or whatever to hand over that
- patch/code to us. We will credit you for your changes as far as possible, to
- give credit but also to keep a trace back to who made what changes. Please
- always provide us with your full real name when contributing!
-
-1.3 What To Read
-
- Source code, the man pages, the INTERNALS document, TODO, KNOWN_BUGS, the
- most recent CHANGES. Just lurking on the libcurl mailing list is gonna give
- you a lot of insights on what's going on right now. Asking there is a good
- idea too.
-
-2. cURL Coding Standards
-
-2.1 Naming
-
- Try using a non-confusing naming scheme for your new functions and variable
- names. It doesn't necessarily have to mean that you should use the same as in
- other places of the code, just that the names should be logical,
- understandable and be named according to what they're used for. File-local
- functions should be made static. We like lower case names.
-
- See the INTERNALS document on how we name non-exported library-global
- symbols.
-
-2.2 Indenting
-
- Please try using the same indenting levels and bracing method as all the
- other code already does. It makes the source code a lot easier to follow if
- all of it is written using the same style. We don't ask you to like it, we
- just ask you to follow the tradition! ;-) This mainly means: 2-level indents,
- using spaces only (no tabs) and having the opening brace ({) on the same line
- as the if() or while().
-
- Also note that we use if() and while() with no space before the parenthesis.
-
-2.3 Commenting
-
- Comment your source code extensively using C comments (/* comment */), DO NOT
- use C++ comments (// this style). Commented code is quality code and enables
- future modifications much more. Uncommented code risk having to be completely
- replaced when someone wants to extend things, since other persons' source
- code can get quite hard to read.
-
-2.4 Line Lengths
-
- We try to keep source lines shorter than 80 columns.
-
-2.5 General Style
-
- Keep your functions small. If they're small you avoid a lot of mistakes and
- you don't accidentally mix up variables etc.
-
-2.6 Non-clobbering All Over
-
- When you write new functionality or fix bugs, it is important that you don't
- fiddle all over the source files and functions. Remember that it is likely
- that other people have done changes in the same source files as you have and
- possibly even in the same functions. If you bring completely new
- functionality, try writing it in a new source file. If you fix bugs, try to
- fix one bug at a time and send them as separate patches.
-
-2.7 Platform Dependent Code
-
- Use #ifdef HAVE_FEATURE to do conditional code. We avoid checking for
- particular operating systems or hardware in the #ifdef lines. The
- HAVE_FEATURE shall be generated by the configure script for unix-like systems
- and they are hard-coded in the config-[system].h files for the others.
-
-2.8 Write Separate Patches
-
- It is annoying when you get a huge patch from someone that is said to fix 511
- odd problems, but discussions and opinions don't agree with 510 of them - or
- 509 of them were already fixed in a different way. Then the patcher needs to
- extract the single interesting patch from somewhere within the huge pile of
- source, and that gives a lot of extra work. Preferably, all fixes that
- correct different problems should be in their own patch with an attached
- description exactly what they correct so that all patches can be selectively
- applied by the maintainer or other interested parties.
-
-2.9 Patch Against Recent Sources
-
- Please try to get the latest available sources to make your patches
- against. It makes the life of the developers so much easier. The very best is
- if you get the most up-to-date sources from the CVS repository, but the
- latest release archive is quite OK as well!
-
-2.10 Document
-
- Writing docs is dead boring and one of the big problems with many open source
- projects. Someone's gotta do it. It makes it a lot easier if you submit a
- small description of your fix or your new features with every contribution so
- that it can be swiftly added to the package documentation.
-
- The documentation is always made in man pages (nroff formatted) or plain
- ASCII files. All HTML files on the web site and in the release archives are
- generated from the nroff/ASCII versions.
-
-2.11 Test Cases
-
- Since the introduction of the test suite, we can quickly verify that the main
- features are working as they're supposed to. To maintain this situation and
- improve it, all new features and functions that are added need to be tested
- in the test suite. Every feature that is added should get at least one valid
- test case that verifies that it works as documented. If every submitter also
- posts a few test cases, it won't end up as a heavy burden on a single person!
-
-3. Pushing Out Your Changes
-
-3.1 Write Access to CVS Repository
-
- If you are a frequent contributor, or have another good reason, you can of
- course get write access to the CVS repository and then you'll be able to
- check-in all your changes straight into the CVS tree instead of sending all
- changes by mail as patches. Just ask if this is what you'd want. You will be
- required to have posted a few quality patches first, before you can be
- granted write access.
-
-3.2 How To Make a Patch
-
- Keep a copy of the unmodified curl sources. Make your changes in a separate
- source tree. When you think you have something that you want to offer the
- curl community, use GNU diff to generate patches.
-
- If you have modified a single file, try something like:
-
- diff -u unmodified-file.c my-changed-one.c > my-fixes.diff
-
- If you have modified several files, possibly in different directories, you
- can use diff recursively:
-
- diff -ur curl-original-dir curl-modified-sources-dir > my-fixes.diff
-
- The GNU diff and GNU patch tools exist for virtually all platforms, including
- all kinds of Unixes and Windows:
-
- For unix-like operating systems:
-
- http://www.gnu.org/software/patch/patch.html
- http://www.gnu.org/directory/diffutils.html
-
- For Windows:
-
- http://gnuwin32.sourceforge.net/packages/patch.htm
- http://gnuwin32.sourceforge.net/packages/diffutils.htm
-
-3.3 How to get your changes into the main sources
-
- 1. Submit your patch to the curl-library mailing list
-
- 2. Make the patch against as recent sources as possible.
-
- 3. Make sure your patch adheres to the source indent and coding style of
- already existing source code. Failing to do so just adds more work for me.
-
- 4. Respond to replies on the list about the patch and answer questions and/or
- fix nits/flaws. This is very important. I will take lack of replies as a
- sign that you're not very anxious to get your patch accepted and I tend to
- simply drop such patches from my TODO list.
-
- 5. If you've followed the above mentioned paragraphs and your patch still
- hasn't been incorporated after some weeks, consider resubmitting it to the
- list.
diff --git a/Utilities/cmcurl-7.19.0/docs/DISTRO-DILEMMA b/Utilities/cmcurl-7.19.0/docs/DISTRO-DILEMMA
deleted file mode 100644
index 0be5993..0000000
--- a/Utilities/cmcurl-7.19.0/docs/DISTRO-DILEMMA
+++ /dev/null
@@ -1,176 +0,0 @@
- Date: February 11, 2007
- Author: Daniel Stenberg <daniel@haxx.se>
- URL: http://curl.haxx.se/legal/distro-dilemma.html
-
-Condition
-
- This document is written to describe the situation as it is right now.
- libcurl 7.16.1 is currently the latest version available. Things may of
- course change in the future.
-
- This document reflects my view and understanding of these things. Please tell
- me where and how you think I'm wrong, and I'll try to correct my mistakes.
-
-Background
-
- The Free Software Foundation has deemed the Original BSD license[1] to be
- "incompatible"[2] with GPL[3]. I'd rather say it is the other way around, but
- the point is the same: if you distribute a binary version of a GPL program,
- it MUST NOT be linked with any Original BSD-licensed parts or libraries.
- Doing so will violate the GPL license. For a long time, very many GPL
- licensed programs have avoided this license mess by adding an exception[8] to
- their license. And many others have just closed their eyes for this problem.
-
- libcurl is MIT-style[4] licensed - how on earth did this dilemma fall onto
- our plates?
-
- libcurl is only a little library. libcurl can be built to use OpenSSL for its
- SSL/TLS capabilities. OpenSSL is basically Original BSD licensed[5].
-
- If libcurl built to use OpenSSL is used by a GPL-licensed application and you
- decide to distribute a binary version of it (Linux distros - for example -
- tend to), you have a clash. GPL vs Original BSD.
-
- This dilemma is not libcurl-specific nor is it specific to any particular
- Linux distro. (This article mentions and refers to Debian several times, but
- only because Debian seems to be the only Linux distro to have faced this
- issue yet since no other distro is shipping libcurl built with two SSL
- libraries.)
-
-Part of the Operating System
-
- This would not be a problem if the used lib would be considered part of the
- underlying operating system, as then the GPL license has an exception
- clause[6] that allows applications to use such libs without having to be
- allowed to distribute it or its sources. Possibly some distros will claim
- that OpenSSL is part of their operating system.
-
- Debian does however not take this stance and has officially(?) claimed that
- OpenSSL is not a required part of the Debian operating system
-
- Some people claim that this paragraph cannot be exploited this way by a Linux
- distro, but I am not a lawyer and that is a discussion left outside of this
- document.
-
-GnuTLS
-
- Since May 2005 libcurl can get built to use GnuTLS instead of OpenSSL. GnuTLS
- is an LGPL[7] licensed library that offers a matching set of features as
- OpenSSL does. Now, you can build and distribute an TLS/SSL capable libcurl
- without including any Original BSD licensed code.
-
- I believe Debian is the first (only?) distro that provides libcurl/GnutTLS
- packages.
-
-yassl
-
- libcurl can get also get built to use yassl for the TLS/SSL layer. yassl is a
- GPL[3] licensed library.
-
-
-GnuTLS vs OpenSSL vs yassl
-
- While these three libraries offer similar features, they are not equal.
- libcurl does not (yet) offer a standardized stable ABI if you decide to
- switch from using libcurl-openssl to libcurl-gnutls or vice versa. The GnuTLS
- and yassl support is very recent in libcurl and it has not been tested nor
- used very extensively, while the OpenSSL equivalent code has been used and
- thus matured since 1999.
-
- GnuTLS
- - LGPL licensened
- - supports SRP
- - lacks SSLv2 support
- - lacks MD2 support (used by at least some CA certs)
- - lacks the crypto functions libcurl uses for NTLM
-
- OpenSSL
- - Original BSD licensened
- - lacks SRP
- - supports SSLv2
- - older and more widely used
- - provides crypto functions libcurl uses for NTLM
- - libcurl can do non-blocking connects with it in 7.15.4 and later
-
- yassl
- - GPL licensed
- - much untested and unproven in the real work by (lib)curl users so we don't
- know a lot about restrictions or benefits from using this
-
-The Better License, Original BSD, GPL or LGPL?
-
- It isn't obvious or without debate to any objective interested party that
- either of these licenses are the "better" or even the "preferred" one in a
- generic situation.
-
- Instead, I think we should accept the fact that the SSL/TLS libraries and
- their different licenses will fit different applications and their authors
- differently depending on the applications' licenses and their general usage
- pattern (considering how GPL and LGPL libraries for example can be burdensome
- for embedded systems usage).
-
- In Debian land, there seems to be a common opinion that LGPL is "maximally
- compatible" with apps while Original BSD is not. Like this:
-
- http://lists.debian.org/debian-devel/2005/09/msg01417.html
-
-More SSL Libraries
-
- In libcurl, there's no stopping us here. There are more Open Source/Free
- SSL/TLS libraries out there and we would very much like to support them as
- well, to offer application authors an even wider scope of choice.
-
-Application Angle of this Problem
-
- libcurl is built to use one SSL/TLS library. It uses a single fixed name (by
- default) on the built/created lib file, and applications are built/linked to
- use that single lib. Replacing one libcurl instance with another one that
- uses the other SSL/TLS library might break one or more applications (due to
- ABI differences and/or different feature set). You want your application to
- use the libcurl it was built for.
-
-Project cURL Angle of this Problem
-
- We distribute libcurl and everyone may build libcurl with either library at
- their choice. This problem is not directly a problem of ours. It merely
- affects users - GPL application authors only - of our lib as it comes
- included and delivered on some distros.
-
- libcurl has different ABI when built with different SSL/TLS libraries due to
- these reasons:
-
- 1. No one has worked on fixing this. The mutex/lock callbacks should be set
- with a generic libcurl function that should use the proper underlying
- functions.
-
- 2. The CURLOPT_SSL_CTX_FUNCTION option is not possible to "emulate" on GnuTLS
- but simply requires OpenSSL.
-
- 3. There might be some other subtle differences just because nobody has yet
- tried to make a fixed ABI like this.
-
-Distro Angle of this Problem
-
- To my knowledge there is only one distro that ships libcurl built with either
- OpenSSL or GnuTLS.
-
- Debian Linux is now (since mid September 2005) providing two different
- libcurl packages, one for libcurl built with OpenSSL and one built with
- GnuTLS. They use different .so names and can this both be installed in a
- single system simultaneously. This has been said to be a transitional system
- not desired to keep in the long run.
-
-Footnotes
-
- [1] = http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6
- [2] = http://www.fsf.org/licensing/essays/bsd.html
- [3] = http://www.fsf.org/licensing/licenses/gpl.html
- [4] = http://curl.haxx.se/docs/copyright.html
- [5] = http://www.openssl.org/source/license.html
- [6] = http://www.fsf.org/licensing/licenses/gpl.html end of section 3
- [7] = http://www.fsf.org/licensing/licenses/lgpl.html
- [8] = http://en.wikipedia.org/wiki/OpenSSL_exception
-
-Feedback/Updates provided by
-
- Eric Cooper
diff --git a/Utilities/cmcurl-7.19.0/docs/FAQ b/Utilities/cmcurl-7.19.0/docs/FAQ
deleted file mode 100644
index da4a6c7..0000000
--- a/Utilities/cmcurl-7.19.0/docs/FAQ
+++ /dev/null
@@ -1,1173 +0,0 @@
-Updated: Feb 18, 2008 (http://curl.haxx.se/docs/faq.html)
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-FAQ
-
- 1. Philosophy
- 1.1 What is cURL?
- 1.2 What is libcurl?
- 1.3 What is curl not?
- 1.4 When will you make curl do XXXX ?
- 1.5 Who makes curl?
- 1.6 What do you get for making curl?
- 1.7 What about CURL from curl.com?
- 1.8 I have a problem who do I mail?
- 1.9 Where do I buy commercial support for curl?
- 1.10 How many are using curl?
- 1.11 Why don't you update ca-bundle.crt
-
- 2. Install Related Problems
- 2.1 configure doesn't find OpenSSL even when it is installed
- 2.1.1 native linker doesn't find OpenSSL
- 2.1.2 only the libssl lib is missing
- 2.2 Does curl work/build with other SSL libraries?
- 2.3 Where can I find a copy of LIBEAY32.DLL?
- 2.4 Does curl support Socks (RFC 1928) ?
-
- 3. Usage Problems
- 3.1 curl: (1) SSL is disabled, https: not supported
- 3.2 How do I tell curl to resume a transfer?
- 3.3 Why doesn't my posting using -F work?
- 3.4 How do I tell curl to run custom FTP commands?
- 3.5 How can I disable the Pragma: nocache header?
- 3.6 Does curl support ASP, XML, XHTML or HTML version Y?
- 3.7 Can I use curl to delete/rename a file through FTP?
- 3.8 How do I tell curl to follow HTTP redirects?
- 3.9 How do I use curl in my favorite programming language?
- 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
- 3.11 How do I POST with a different Content-Type?
- 3.12 Why do FTP specific features over HTTP proxy fail?
- 3.13 Why does my single/double quotes fail?
- 3.14 Does curl support javascript or pac (automated proxy config)?
- 3.15 Can I do recursive fetches with curl?
- 3.16 What certificates do I need when I use SSL?
- 3.17 How do I list the root dir of an FTP server?
- 3.18 Can I use curl to send a POST/PUT and not wait for a response?
-
- 4. Running Problems
- 4.1 Problems connecting to SSL servers.
- 4.2 Why do I get problems when I use & or % in the URL?
- 4.3 How can I use {, }, [ or ] to specify multiple URLs?
- 4.4 Why do I get downloaded data even though the web page doesn't exist?
- 4.5 Why do I get return code XXX from a HTTP server?
- 4.5.1 "400 Bad Request"
- 4.5.2 "401 Unauthorized"
- 4.5.3 "403 Forbidden"
- 4.5.4 "404 Not Found"
- 4.5.5 "405 Method Not Allowed"
- 4.5.6 "301 Moved Permanently"
- 4.6 Can you tell me what error code 142 means?
- 4.7 How do I keep user names and passwords secret in Curl command lines?
- 4.8 I found a bug!
- 4.9 Curl can't authenticate to the server that requires NTLM?
- 4.10 My HTTP request using HEAD, PUT or DELETE doesn't work!
- 4.11 Why does my HTTP range requests return the full document?
- 4.12 Why do I get "certificate verify failed" ?
- 4.13 Why is curl -R on Windows one hour off?
- 4.14 Redirects work in browser but not with curl!
- 4.15 FTPS doesn't work
-
- 5. libcurl Issues
- 5.1 Is libcurl thread-safe?
- 5.2 How can I receive all data into a large memory chunk?
- 5.3 How do I fetch multiple files with libcurl?
- 5.4 Does libcurl do Winsock initing on win32 systems?
- 5.5 Does CURLOPT_WRITEDATA and CURLOPT_READDATA work on win32 ?
- 5.6 What about Keep-Alive or persistent connections?
- 5.7 Link errors when building libcurl on Windows!
- 5.8 libcurl.so.3: open failed: No such file or directory
- 5.9 How does libcurl resolve host names?
- 5.10 How do I prevent libcurl from writing the response to stdout?
- 5.11 How do I make libcurl not receive the whole HTTP response?
- 5.12 Can I make libcurl fake or hide my real IP address?
- 5.13 How do I stop an ongoing transfer?
-
- 6. License Issues
- 6.1 I have a GPL program, can I use the libcurl library?
- 6.2 I have a closed-source program, can I use the libcurl library?
- 6.3 I have a BSD licensed program, can I use the libcurl library?
- 6.4 I have a program that uses LGPL libraries, can I use libcurl?
- 6.5 Can I modify curl/libcurl for my program and keep the changes secret?
- 6.6 Can you please change the curl/libcurl license to XXXX?
- 6.7 What are my obligations when using libcurl in my commerical apps?
-
- 7. PHP/CURL Issues
- 7.1 What is PHP/CURL?
- 7.2 Who write PHP/CURL?
- 7.3 Can I perform multiple requests using the same handle?
-
-==============================================================================
-
-1. Philosophy
-
- 1.1 What is cURL?
-
- cURL is the name of the project. The name is a play on 'Client for URLs',
- originally with URL spelled in uppercase to make it obvious it deals with
- URLs. The fact it can also be pronounced 'see URL' also helped, it works as
- an abbreviation for "Client URL Request Library" or why not the recursive
- version: "Curl URL Request Library".
-
- The cURL project produces two products:
-
- libcurl
-
- A free and easy-to-use client-side URL transfer library, supporting FTP,
- FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE and LDAP. libcurl
- supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos,
- HTTP form based upload, proxies, cookies, user+password authentication,
- file transfer resume, http proxy tunneling and more!
-
- libcurl is highly portable, it builds and works identically on numerous
- platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX,
- IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac
- OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...
-
- libcurl is free, thread-safe, IPv6 compatible, feature rich, well
- supported and fast.
-
- curl
-
- A command line tool for getting or sending files using URL syntax.
-
- Since curl uses libcurl, it supports a range of common Internet protocols,
- currently including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DICT,
- TELNET and FILE.
-
- We pronounce curl and cURL with an initial k sound: [kurl].
-
- There are numerous sub-projects and related projects that also use the word
- curl in the project names in various combinations, but you should take
- notice that this FAQ is directed at the command-line tool named curl (and
- libcurl the library), and may therefore not be valid for other curl-related
- projects. (There is however a small section for the PHP/CURL in this FAQ.)
-
- 1.2 What is libcurl?
-
- libcurl is a reliable and portable library which provides you with an easy
- interface to a range of common Internet protocols.
-
- You can use libcurl for free in your application, be it open source,
- commercial or closed-source.
-
- libcurl is most probably the most portable, most powerful and most often
- used C-based multi-platform file transfer library on this planet - be it
- open source or commercial.
-
- 1.3 What is curl not?
-
- Curl is not a wget clone. That is a common misconception. Never, during
- curl's development, have we intended curl to replace wget or compete on its
- market. Curl is targeted at single-shot file transfers.
-
- Curl is not a web site mirroring program. If you want to use curl to mirror
- something: fine, go ahead and write a script that wraps around curl to make
- it reality (like curlmirror.pl does).
-
- Curl is not an FTP site mirroring program. Sure, get and send FTP with curl
- but if you want systematic and sequential behavior you should write a
- script (or write a new program that interfaces libcurl) and do it.
-
- Curl is not a PHP tool, even though it works perfectly well when used from
- or with PHP (when using the PHP/CURL module).
-
- Curl is not a program for a single operating system. Curl exists, compiles,
- builds and runs under a wide range of operating systems, including all
- modern Unixes (and a bunch of older ones too), Windows, Amiga, BeOS, OS/2,
- OS X, QNX etc.
-
- 1.4 When will you make curl do XXXX ?
-
- We love suggestions of what to change in order to make curl and libcurl
- better. We do however believe in a few rules when it comes to the future of
- curl:
-
- * Curl -- the command line tool -- is to remain a non-graphical command line
- tool. If you want GUIs or fancy scripting capabilities, you should look
- for another tool that uses libcurl.
-
- * We do not add things to curl that other small and available tools already
- do very fine at the side. Curl's output is fine to pipe into another
- program or redirect to another file for the next program to interpret.
-
- * We focus on protocol related issues and improvements. If you wanna do more
- magic with the supported protocols than curl currently does, chances are
- big we will agree. If you wanna add more protocols, we may very well
- agree.
-
- * If you want someone else to make all the work while you wait for us to
- implement it for you, that is not a very friendly attitude. We spend a
- considerable time already on maintaining and developing curl. In order to
- get more out of us, you should consider trading in some of your time and
- efforts in return.
-
- * If you write the code, chances are bigger that it will get into curl
- faster.
-
- 1.5 Who makes curl?
-
- curl and libcurl are not made by any single individual. Daniel Stenberg is
- project leader and main developer, but other persons' submissions are
- important and crucial. Anyone can contribute and post their changes and
- improvements and have them inserted in the main sources (of course on the
- condition that developers agree on that the fixes are good).
-
- The full list of all contributors is found in the docs/THANKS file.
-
- curl is developed by a community, with Daniel at the wheel.
-
- 1.6 What do you get for making curl?
-
- Project cURL is entirely free and open. No person gets paid for developing
- (lib)curl. We do this voluntarily on our spare time.
-
- We get some help from companies. Contactor Data hosts the curl web site,
- Haxx owns the curl web site's domain and sourceforge.net hosts project
- services we take advantage from, like the bug tracker. Also, some companies
- have sponsored certain parts of the development in the past and I hope some
- will continue to do so in the future.
-
- If you want to support our project, consider a donation or a banner-program
- or even better: by helping us coding, documenting, testing etc.
-
- 1.7 What about CURL from curl.com?
-
- During the summer 2001, curl.com was busy advertising their client-side
- programming language for the web, named CURL.
-
- We are in no way associated with curl.com or their CURL programming
- language.
-
- Our project name curl has been in effective use since 1998. We were not the
- first computer related project to use the name "curl" and do not claim any
- first-hand rights to the name.
-
- We recognize that we will be living in parallel with curl.com and wish them
- every success.
-
- 1.8 I have a problem who do I mail?
-
- Please do not mail any single individual unless you really need to. Keep
- curl-related questions on a suitable mailing list. All available mailing
- lists are listed in the MANUAL document and online at
- http://curl.haxx.se/mail/
-
- Keeping curl-related questions and discussions on mailing lists allows
- others to join in and help, to share their ideas, contribute their
- suggestions and spread their wisdom. Keeping discussions on public mailing
- lists also allows for others to learn from this (both current and future
- users thanks to the web based archives of the mailing lists), thus saving us
- from having to repeat ourselves even more. Thanks for respecting this.
-
- If you have found or simply suspect a security problem in curl or libcurl,
- mail curl-security at haxx.se (closed list of receivers, mails are not
- disclosed) and tell. Then we can produce a fix in a timely manner before the
- flaw is announced to the world, thus lessen the impact the problem will have
- on existing users.
-
- 1.9 Where do I buy commercial support for curl?
-
- curl is fully open source. It means you can hire any skilled engineer to fix
- your curl-related problems.
-
- We list available alternatives on the curl web site:
- http://curl.haxx.se/support.html
-
- 1.10 How many are using curl?
-
- It is impossible to tell.
-
- We don't know how many users that knowingly have installed and use curl.
-
- We don't know how many users that use curl without knowing that they are in
- fact using it.
-
- We don't know how many users that downloaded or installed curl and then
- never use it.
-
- Some facts to use as input to the math:
-
- curl packages are downloaded from the curl.haxx.se and mirrors over a
- million times per year. curl is installed by default with most Linux
- distributions. curl is installed by default with Mac OS X. curl and libcurl
- as used by numerous applications that include libcurl binaries in their
- distribution packages (like Adobe Acrobat Reader and Google Earth).
-
- More than 80 known named companies use curl in commercial environments and
- products. More than 100 known named open source projects depend on
- (lib)curl.
-
- In a poll on the curl web site mid-2005, more than 50% of the 300+ answers
- estimated a user base of one million users or more.
-
- In March 2005, the "Linux Counter project" estimated a total Linux user base
- of some 29 millions, while Netcraft detected some 4 million "active" Linux
- based web servers. A guess is that a fair amount of these Linux
- installations have curl installed.
-
- All this taken together, there is no doubt that there are millions of
- (lib)curl users.
-
- http://curl.haxx.se/docs/companies.html
- http://curl.haxx.se/docs/programs.html
- http://curl.haxx.se/libcurl/using/apps.html
- http://counter.li.org/estimates.php
- http://news.netcraft.com/archives/2005/03/14/fedora_makes_rapid_progress.html
-
- 1.11 Why don't you update ca-bundle.crt
-
- The ca-bundle.crt file that used to be bundled with curl was very outdated
- (it being last modified year 2000 should tell) and must be replaced with a
- much more modern and up-to-date version by anyone who wants to verify peers
- anyway. It is no longer provided, the last curl release that shipped it was
- curl 7.18.0.
-
- In the cURL project we've decided not to attempt to keep this file updated
- (or even present anymore) since deciding what to add to a ca cert bundle is
- an undertaking we've not been ready to accept, and the one we can get from
- Mozilla is perfectly fine so there's no need to duplicate that work.
-
- Today, with many services performed over HTTPS, every operating system
- should come with a default ca cert bundle that can be deemed somewhat
- trustworthy and that collection (if reasonably updated) should be deemed to
- be a lot better than a private curl version.
-
- If you want the most recent collection of ca certs that Mozilla Firefox
- uses, we recommend that you extract the collection yourself from Mozilla
- Firefox (by running 'make ca-bundle), or by using our online service setup
- for this purpose: http://curl.haxx.se/docs/caextract.html
-
-
-2. Install Related Problems
-
- 2.1 configure doesn't find OpenSSL even when it is installed
-
- This may be because of several reasons.
-
- 2.1.1 native linker doesn't find openssl
-
- Affected platforms:
- Solaris (native cc compiler)
- HPUX (native cc compiler)
- SGI IRIX (native cc compiler)
- SCO UNIX (native cc compiler)
-
- When configuring curl, I specify --with-ssl. OpenSSL is installed in
- /usr/local/ssl Configure reports SSL in /usr/local/ssl, but fails to find
- CRYPTO_lock in -lcrypto
-
- Cause: The cc for this test places the -L/usr/local/ssl/lib AFTER
- -lcrypto, so ld can't find the library. This is due to a bug in the GNU
- autoconf tool.
-
- Workaround: Specifying "LDFLAGS=-L/usr/local/ssl/lib" in front of
- ./configure places the -L/usr/local/ssl/lib early enough in the command
- line to make things work
-
- 2.1.2 only the libssl lib is missing
-
- If all include files and the libcrypto lib is present, with only the
- libssl being missing according to configure, this is mostly likely because
- a few functions are left out from the libssl.
-
- If the function names missing include RSA or RSAREF you can be certain
- that this is because libssl requires the RSA and RSAREF libs to build.
-
- See the INSTALL file section that explains how to add those libs to
- configure. Make sure that you remove the config.cache file before you
- rerun configure with the new flags.
-
- 2.2 Does curl work/build with other SSL libraries?
-
- Curl has been written to use OpenSSL, GnuTLS, yassl or NSS, although there
- should not be many problems using a different library. If anyone does "port"
- curl to use a different SSL library, we are of course very interested in
- getting the patch!
-
- 2.3 Where can I find a copy of LIBEAY32.DLL?
-
- That is an OpenSSL binary built for Windows.
-
- Curl uses OpenSSL to do the SSL stuff. The LIBEAY32.DLL is what curl needs
- on a windows machine to do https://. Check out the curl web site to find
- accurate and up-to-date pointers to recent OpenSSL DLLs and other binary
- packages.
-
- 2.4 Does curl support Socks (RFC 1928) ?
-
- Yes, SOCKS 4 and 5 are supported.
-
-
-3. Usage problems
-
- 3.1 curl: (1) SSL is disabled, https: not supported
-
- If you get this output when trying to get anything from a https:// server,
- it means that the configure script couldn't find all libs and include files
- it requires for SSL to work. If the configure script fails to find them,
- curl is simply built without SSL support.
-
- To get the https:// support into a curl that was previously built but that
- reports that https:// is not supported, you should dig through the document
- and logs and check out why the configure script doesn't find the SSL libs
- and/or include files.
-
- Also, check out the other paragraph in this FAQ labeled "configure doesn't
- find OpenSSL even when it is installed".
-
- 3.2 How do I tell curl to resume a transfer?
-
- Curl supports resumed transfers both ways on both FTP and HTTP.
-
- Try the -C option.
-
- 3.3 Why doesn't my posting using -F work?
-
- You can't simply use -F or -d at your choice. The web server that will
- receive your post assumes one of the formats. If the form you're trying to
- "fake" sets the type to 'multipart/form-data', then and only then you must
- use the -F type. In all the most common cases, you should use -d which then
- causes a posting with the type 'application/x-www-form-urlencoded'.
-
- This is described in some detail in the MANUAL and TheArtOfHttpScripting
- documents, and if you don't understand it the first time, read it again
- before you post questions about this to the mailing list. Also, try reading
- through the mailing list archives for old postings and questions regarding
- this.
-
- 3.4 How do I tell curl to run custom FTP commands?
-
- You can tell curl to perform optional commands both before and/or after a
- file transfer. Study the -Q/--quote option.
-
- Since curl is used for file transfers, you don't use curl to just perform
- FTP commands without transferring anything. Therefore you must always specify
- a URL to transfer to/from even when doing custom FTP commands.
-
- 3.5 How can I disable the Pragma: nocache header?
-
- You can change all internally generated headers by adding a replacement with
- the -H/--header option. By adding a header with empty contents you safely
- disable that one. Use -H "Pragma:" to disable that specific header.
-
- 3.6 Does curl support ASP, XML, XHTML or HTML version Y?
-
- To curl, all contents are alike. It doesn't matter how the page was
- generated. It may be ASP, PHP, Perl, shell-script, SSI or plain
- HTML-files. There's no difference to curl and it doesn't even know what kind
- of language that generated the page.
-
- See also item 3.14 regarding javascript.
-
- 3.7 Can I use curl to delete/rename a file through FTP?
-
- Yes. You specify custom FTP commands with -Q/--quote.
-
- One example would be to delete a file after you have downloaded it:
-
- curl -O ftp://download.com/coolfile -Q '-DELE coolfile'
-
- or rename a file after upload:
-
- curl -T infile ftp://upload.com/dir/ -Q "-RNFR infile" -Q "-RNTO newname"
-
- 3.8 How do I tell curl to follow HTTP redirects?
-
- Curl does not follow so-called redirects by default. The Location: header
- that informs the client about this is only interpreted if you're using the
- -L/--location option. As in:
-
- curl -L http://redirector.com
-
- Not all redirects are HTTP ones, see 4.14
-
- 3.9 How do I use curl in my favorite programming language?
-
- There exist many language interfaces/bindings for curl that integrates it
- better with various languages. If you are fluid in a script language, you
- may very well opt to use such an interface instead of using the command line
- tool.
-
- Find out more about which languages that support curl directly, and how to
- install and use them, in the libcurl section of the curl web site:
- http://curl.haxx.se/libcurl/
-
- In February 2007, there are interfaces available for the following
- languages: Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Euphoria, Ferite,
- Gambas, glib/GTK+, Java, Lisp, Lua, Mono, .NET, Object-Pascal, O'Caml,
- Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx, Ruby, Scheme, S-Lang,
- Smalltalk, SPL, Tcl, Visual Basic, Q, wxwidgets and XBLite. By the time you
- read this, additional ones may have appeared!
-
- 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
-
- Curl adheres to the HTTP spec, which basically means you can play with *any*
- protocol that is built on top of HTTP. Protocols such as SOAP, WEBDAV and
- XML-RPC are all such ones. You can use -X to set custom requests and -H to
- set custom headers (or replace internally generated ones).
-
- Using libcurl is of course just as fine and you'd just use the proper
- library options to do the same.
-
- 3.11 How do I POST with a different Content-Type?
-
- You can always replace the internally generated headers with -H/--header.
- To make a simple HTTP POST with text/xml as content-type, do something like:
-
- curl -d "datatopost" -H "Content-Type: text/xml" [URL]
-
- 3.12 Why do FTP specific features over HTTP proxy fail?
-
- Because when you use a HTTP proxy, the protocol spoken on the network will
- be HTTP, even if you specify a FTP URL. This effectively means that you
- normally can't use FTP specific features such as FTP upload and FTP quote
- etc.
-
- There is one exception to this rule, and that is if you can "tunnel through"
- the given HTTP proxy. Proxy tunneling is enabled with a special option (-p)
- and is generally not available as proxy admins usually disable tunneling to
- other ports than 443 (which is used for HTTPS access through proxies).
-
- 3.13 Why does my single/double quotes fail?
-
- To specify a command line option that includes spaces, you might need to
- put the entire option within quotes. Like in:
-
- curl -d " with spaces " url.com
-
- or perhaps
-
- curl -d ' with spaces ' url.com
-
- Exactly what kind of quotes and how to do this is entirely up to the shell
- or command line interpreter that you are using. For most unix shells, you
- can more or less pick either single (') or double (") quotes. For
- Windows/DOS prompts I believe you're forced to use double (") quotes.
-
- Please study the documentation for your particular environment. Examples in
- the curl docs will use a mix of both these ones as shown above. You must
- adjust them to work in your environment.
-
- Remember that curl works and runs on more operating systems than most single
- individuals have ever tried.
-
- 3.14 Does curl support javascript or pac (automated proxy config)?
-
- Many web pages do magic stuff using embedded javascript. Curl and libcurl
- have no built-in support for that, so it will be treated just like any other
- contents.
-
- .pac files are a netscape invention and are sometimes used by organizations
- to allow them to differentiate which proxies to use. The .pac contents is
- just a javascript program that gets invoked by the browser and that returns
- the name of the proxy to connect to. Since curl doesn't support javascript,
- it can't support .pac proxy configuration either.
-
- Some work-arounds usually suggested to overcome this javascript dependency:
-
- - Depending on the javascript complexity, write up a script that
- translates it to another language and execute that.
-
- - Read the javascript code and rewrite the same logic in another language.
-
- - Implement a javascript interpreter, people have successfully used the
- Mozilla javascript engine in the past.
-
- - Ask your admins to stop this, for a static proxy setup or similar.
-
- 3.15 Can I do recursive fetches with curl?
-
- No. curl itself has no code that performs recursive operations, such as
- those performed by wget and similar tools.
-
- There exist wrapper scripts with that functionality (for example the
- curlmirror perl script), and you can write programs based on libcurl to do
- it, but the command line tool curl itself cannot.
-
- 3.16 What certificates do I need when I use SSL?
-
- There are three different kinds of "certificates" to keep track of when we
- talk about using SSL-based protocols (HTTPS or FTPS) using curl or libcurl.
-
- - Client certificate. The server you communicate may require that you can
- provide this in order to prove that you actually are who you claim to be.
- If the server doesn't require this, you don't need a client certificate.
-
- - Server certificate. The server you communicate with has a server
- certificate. You can and should verify this certificate to make sure that
- you are truly talking to the real server and not a server impersonating
- it.
-
- - Certificate Authority certificate ("CA cert"). You often have several CA
- certs in a CA cert bundle that can be used to verify a server certificate
- that was signed by one of the authorities in the bundle. curl comes with a
- default CA cert bundle. You can override the default.
-
- The server certificate verification process is made by using a Certificate
- Authority certificate ("CA cert") that was used to sign the server
- certificate. Server certificate verification is enabled by default in curl
- and libcurl and is often the reason for problems as explained in FAQ entry
- 4.12 and the SSLCERTS document
- (http://curl.haxx.se/docs/sslcerts.html). Server certificates that are
- "self-signed" or otherwise signed by a CA that you do not have a CA cert
- for, cannot be verified. If the verification during a connect fails, you
- are refused access. You then need to explicitly disable the verification
- to connect to the server.
-
- 3.17 How do I list the root dir of an FTP server?
-
- There are two ways. The way defined in the RFC is to use an encoded slash
- in the first path part. List the "/tmp" dir like this:
-
- curl ftp://ftp.sunet.se/%2ftmp/
-
- or the not-quite-kosher-but-more-readable way, by simply starting the path
- section of the URL with a slash:
-
- curl ftp://ftp.sunet.se//tmp/
-
- 3.18 Can I use curl to send a POST/PUT and not wait for a response?
-
- No.
-
- But you could easily write your own program using libcurl to do such stunts.
-
-
-4. Running Problems
-
- 4.1 Problems connecting to SSL servers.
-
- It took a very long time before we could sort out why curl had problems to
- connect to certain SSL servers when using SSLeay or OpenSSL v0.9+. The
- error sometimes showed up similar to:
-
- 16570:error:1407D071:SSL routines:SSL2_READ:bad mac decode:s2_pkt.c:233:
-
- It turned out to be because many older SSL servers don't deal with SSLv3
- requests properly. To correct this problem, tell curl to select SSLv2 from
- the command line (-2/--sslv2).
-
- There have also been examples where the remote server didn't like the SSLv2
- request and instead you had to force curl to use SSLv3 with -3/--sslv3.
-
- 4.2 Why do I get problems when I use & or % in the URL?
-
- In general unix shells, the & letter is treated special and when used, it
- runs the specified command in the background. To safely send the & as a part
- of a URL, you should quote the entire URL by using single (') or double (")
- quotes around it.
-
- An example that would invoke a remote CGI that uses &-letters could be:
-
- curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl'
-
- In Windows, the standard DOS shell treats the %-letter specially and you
- need to use TWO %-letters for each single one you want to use in the URL.
-
- Also note that if you want the literal %-letter to be part of the data you
- pass in a POST using -d/--data you must encode it as '%25' (which then also
- needs the %-letter doubled on Windows machines).
-
- 4.3 How can I use {, }, [ or ] to specify multiple URLs?
-
- Because those letters have a special meaning to the shell, and to be used in
- a URL specified to curl you must quote them.
-
- An example that downloads two URLs (sequentially) would do:
-
- curl '{curl,www}.haxx.se'
-
- To be able to use those letters as actual parts of the URL (without using
- them for the curl URL "globbing" system), use the -g/--globoff option:
-
- curl -g 'www.site.com/weirdname[].html'
-
- 4.4 Why do I get downloaded data even though the web page doesn't exist?
-
- Curl asks remote servers for the page you specify. If the page doesn't exist
- at the server, the HTTP protocol defines how the server should respond and
- that means that headers and a "page" will be returned. That's simply how
- HTTP works.
-
- By using the --fail option you can tell curl explicitly to not get any data
- if the HTTP return code doesn't say success.
-
- 4.5 Why do I get return code XXX from a HTTP server?
-
- RFC2616 clearly explains the return codes. This is a short transcript. Go
- read the RFC for exact details:
-
- 4.5.1 "400 Bad Request"
-
- The request could not be understood by the server due to malformed
- syntax. The client SHOULD NOT repeat the request without modifications.
-
- 4.5.2 "401 Unauthorized"
-
- The request requires user authentication.
-
- 4.5.3 "403 Forbidden"
-
- The server understood the request, but is refusing to fulfill it.
- Authorization will not help and the request SHOULD NOT be repeated.
-
- 4.5.4 "404 Not Found"
-
- The server has not found anything matching the Request-URI. No indication
- is given of whether the condition is temporary or permanent.
-
- 4.5.5 "405 Method Not Allowed"
-
- The method specified in the Request-Line is not allowed for the resource
- identified by the Request-URI. The response MUST include an Allow header
- containing a list of valid methods for the requested resource.
-
- 4.5.6 "301 Moved Permanently"
-
- If you get this return code and an HTML output similar to this:
-
- <H1>Moved Permanently</H1> The document has moved <A
- HREF="http://same_url_now_with_a_trailing_slash/">here</A>.
-
- it might be because you request a directory URL but without the trailing
- slash. Try the same operation again _with_ the trailing URL, or use the
- -L/--location option to follow the redirection.
-
- 4.6 Can you tell me what error code 142 means?
-
- All curl error codes are described at the end of the man page, in the
- section called "EXIT CODES".
-
- Error codes that are larger than the highest documented error code means
- that curl has exited due to a crash. This is a serious error, and we
- appreciate a detailed bug report from you that describes how we could go
- ahead and repeat this!
-
- 4.7 How do I keep user names and passwords secret in Curl command lines?
-
- This problem has two sides:
-
- The first part is to avoid having clear-text passwords in the command line
- so that they don't appear in 'ps' outputs and similar. That is easily
- avoided by using the "-K" option to tell curl to read parameters from a file
- or stdin to which you can pass the secret info. curl itself will also
- attempt to "hide" the given password by blanking out the option - this
- doesn't work on all platforms.
-
- To keep the passwords in your account secret from the rest of the world is
- not a task that curl addresses. You could of course encrypt them somehow to
- at least hide them from being read by human eyes, but that is not what
- anyone would call security.
-
- Also note that regular HTTP (using Basic authentication) and FTP passwords
- are sent in clear across the network. All it takes for anyone to fetch them
- is to listen on the network. Eavesdropping is very easy. Use more secure
- authentication methods (like Digest, Negotiate or even NTLM) or consider the
- SSL-based alternatives HTTPS and FTPS.
-
- 4.8 I found a bug!
-
- It is not a bug if the behavior is documented. Read the docs first.
- Especially check out the KNOWN_BUGS file, it may be a documented bug!
-
- If it is a problem with a binary you've downloaded or a package for your
- particular platform, try contacting the person who built the package/archive
- you have.
-
- If there is a bug, read the BUGS document first. Then report it as described
- in there.
-
- 4.9 Curl can't authenticate to the server that requires NTLM?
-
- This is supported in curl 7.10.6 or later. No earlier curl version knows
- of this magic. Later versions require the OpenSSL or Microsoft Windows
- libraries to provide this functionality. Using GnuTLS or NSS libraries will
- not provide NTLM authentication functionality in curl.
-
- NTLM is a Microsoft proprietary protocol. Proprietary formats are evil. You
- should not use such ones.
-
- 4.10 My HTTP request using HEAD, PUT or DELETE doesn't work!
-
- Many web servers allow or demand that the administrator configures the
- server properly for these requests to work on the web server.
-
- Some servers seem to support HEAD only on certain kinds of URLs.
-
- To fully grasp this, try the documentation for the particular server
- software you're trying to interact with. This is not anything curl can do
- anything about.
-
- 4.11 Why does my HTTP range requests return the full document?
-
- Because the range may not be supported by the server, or the server may
- choose to ignore it and return the full document anyway.
-
- 4.12 Why do I get "certificate verify failed" ?
-
- You invoke curl 7.10 or later to communicate on a https:// URL and get an
- error back looking something similar to this:
-
- curl: (35) SSL: error:14090086:SSL routines:
- SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
-
- Then it means that curl couldn't verify that the server's certificate was
- good. Curl verifies the certificate using the CA cert bundle that comes with
- the curl installation.
-
- To disable the verification (which makes it act like curl did before 7.10),
- use -k. This does however enable man-in-the-middle attacks.
-
- If you get this failure but are having a CA cert bundle installed and used,
- the server's certificate is not signed by one of the CA's in the bundle. It
- might for example be self-signed. You then correct this problem by obtaining
- a valid CA cert for the server. Or again, decrease the security by disabling
- this check.
-
- Details are also in the SSLCERTS file in the release archives, found online
- here: http://curl.haxx.se/docs/sslcerts.html
-
- 4.13 Why is curl -R on Windows one hour off?
-
- During daylight savings time, when -R is used, curl will set a time that
- appears one hour off. This happens due to a flaw in how Windows stores and
- uses file modification times and it is not easily worked around. For details
- on this problem, read this: http://www.codeproject.com/datetime/dstbugs.asp
-
- 4.14 Redirects work in browser but not with curl!
-
- curl supports HTTP redirects fine (see item 3.8). Browsers generally support
- at least two other ways to perform directs that curl does not:
-
- - Meta tags. You can write a HTML tag that will cause the browser to
- redirect to another given URL after a certain time.
-
- - Javascript. You can write a javascript program embeded in a HTML page
- that redirects the browser to another given URL.
-
- There is no way to make curl follow these redirects. You must either
- manually figure out what the page is set to do, or you write a script that
- parses the results and fetches the new URL.
-
- 4.15 FTPS doesn't work
-
- curl supports FTPS (sometimes known as FTP-SSL) both implicit and explicit
- mode.
-
- When a URL is used that starts with FTPS://, curl assumes implicit SSL on
- the control connection and will therefore immediately connect and try to
- speak SSL. FTPS:// connections default to port 990.
-
- To use explicit FTPS, you use a FTP:// URL and the --ftp-ssl option (or one
- of its related flavours). This is the most common method, and the one
- mandated by RFC4217. This kind of connection then of course uses the
- standard FTP port 21 by default.
-
-
-5. libcurl Issues
-
- 5.1 Is libcurl thread-safe?
-
- Yes.
-
- We have written the libcurl code specifically adjusted for multi-threaded
- programs. libcurl will use thread-safe functions instead of non-safe ones if
- your system has such.
-
- If you use a OpenSSL-powered libcurl in a multi-threaded environment, you
- need to provide one or two locking functions:
-
- http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
-
- If you use a GnuTLS-powered libcurl in a multi-threaded environment, you
- need to provide locking function(s) for libgcrypt (which is used by GnuTLS
- for the crypto functions).
-
- http://www.gnu.org/software/gnutls/manual/html_node/Multi_002dthreaded-applications.html
-
- No special locking is needed with a NSS-powered libcurl. NSS is thread-safe.
-
- 5.2 How can I receive all data into a large memory chunk?
-
- [ See also the examples/getinmemory.c source ]
-
- You are in full control of the callback function that gets called every time
- there is data received from the remote server. You can make that callback do
- whatever you want. You do not have to write the received data to a file.
-
- One solution to this problem could be to have a pointer to a struct that you
- pass to the callback function. You set the pointer using the
- CURLOPT_WRITEDATA option. Then that pointer will be passed to the callback
- instead of a FILE * to a file:
-
- /* imaginary struct */
- struct MemoryStruct {
- char *memory;
- size_t size;
- };
-
- /* imaginary callback function */
- size_t
- WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
- {
- size_t realsize = size * nmemb;
- struct MemoryStruct *mem = (struct MemoryStruct *)data;
-
- mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1);
- if (mem->memory) {
- memcpy(&(mem->memory[mem->size]), ptr, realsize);
- mem->size += realsize;
- mem->memory[mem->size] = 0;
- }
- return realsize;
- }
-
- 5.3 How do I fetch multiple files with libcurl?
-
- libcurl has excellent support for transferring multiple files. You should
- just repeatedly set new URLs with curl_easy_setopt() and then transfer it
- with curl_easy_perform(). The handle you get from curl_easy_init() is not
- only reusable, but you're even encouraged to reuse it if you can, as that
- will enable libcurl to use persistent connections.
-
- 5.4 Does libcurl do Winsock initialization on win32 systems?
-
- Yes, if told to in the curl_global_init() call.
-
- 5.5 Does CURLOPT_WRITEDATA and CURLOPT_READDATA work on win32 ?
-
- Yes, but you cannot open a FILE * and pass the pointer to a DLL and have
- that DLL use the FILE * (as the DLL and the client application cannot access
- each others' variable memory areas). If you set CURLOPT_WRITEDATA you must
- also use CURLOPT_WRITEFUNCTION as well to set a function that writes the
- file, even if that simply writes the data to the specified FILE *.
- Similarly, if you use CURLOPT_READDATA you must also specify
- CURLOPT_READFUNCTION.
-
- 5.6 What about Keep-Alive or persistent connections?
-
- curl and libcurl have excellent support for persistent connections when
- transferring several files from the same server. Curl will attempt to reuse
- connections for all URLs specified on the same command line/config file, and
- libcurl will reuse connections for all transfers that are made using the
- same libcurl handle.
-
- 5.7 Link errors when building libcurl on Windows!
-
- You need to make sure that your project, and all the libraries (both static
- and dynamic) that it links against, are compiled/linked against the same run
- time library.
-
- This is determined by the /MD, /ML, /MT (and their corresponding /M?d)
- options to the command line compiler. /MD (linking against MSVCRT dll) seems
- to be the most commonly used option.
-
- When building an application that uses the static libcurl library, you must
- add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for
- dynamic import symbols. If you get linker error like "unknown symbol
- __imp__curl_easy_init ..." you have linked against the wrong (static)
- library. If you want to use the libcurl.dll and import lib, you don't need
- any extra CFLAGS, but use one of the import libraries below. These are the
- libraries produced by the various lib/Makefile.* files:
-
- Target: static lib. import lib for libcurl*.dll.
- -----------------------------------------------------------
- MingW: libcurl.a libcurldll.a
- MSVC (release): libcurl.lib libcurl_imp.lib
- MSVC (debug): libcurld.lib libcurld_imp.lib
- Borland: libcurl.lib libcurl_imp.lib
-
-
- 5.8 libcurl.so.3: open failed: No such file or directory
-
- This is an error message you might get when you try to run a program linked
- with a shared version of libcurl and your run-time linker (ld.so) couldn't
- find the shared library named libcurl.so.3.
-
- You need to make sure that ld.so finds libcurl.so.3. You can do that
- multiple ways, and it differs somewhat between different operating systems,
- but they are usually:
-
- * Add an option to the linker command line that specify the hard-coded path
- the run-time linker should check for the lib (usually -R)
-
- * Set an environment variable (LD_LIBRARY_PATH for example) where ld.so
- should check for libs
-
- * Adjust the system's config to check for libs in the directory where you've
- put the dir (like Linux's /etc/ld.so.conf)
-
- 'man ld.so' and 'man ld' will tell you more details
-
- 5.9 How does libcurl resolve host names?
-
- libcurl supports a large a number of different name resolve functions. One
- of them is picked at build-time and will be used unconditionally. Thus, if
- you want to change name resolver function you must rebuild libcurl and tell
- it to use a different function.
-
- - The non-ipv6 resolver that can use one out of four host name resolve calls
- (depending on what your system supports):
-
- A - gethostbyname()
- B - gethostbyname_r() with 3 arguments
- C - gethostbyname_r() with 5 arguments
- D - gethostbyname_r() with 6 arguments
-
- - The ipv6-resolver that uses getaddrinfo()
-
- - The c-ares based name resolver that uses the c-ares library for resolves.
- Using this offers asynchronous name resolves but it currently has no IPv6
- support.
-
- - The Windows threaded resolver. It use:
-
- A - gethostbyname() on plain ipv4 windows hosts
- B - getaddrinfo() on ipv6-enabled windows hosts
-
- Also note that libcurl never resolves or reverse-lookups addresses given as
- pure numbers, such as 127.0.0.1 or ::1.
-
- 5.10 How do I prevent libcurl from writing the response to stdout?
-
- libcurl provides a default built-in write function that writes received data
- to stdout. Set the CURLOPT_WRITEFUNCTION to receive the data, or possibly
- set CURLOPT_WRITEDATA to a different FILE * handle.
-
- 5.11 How do I make libcurl not receive the whole HTTP response?
-
- You make the write callback (or progress callback) return an error and
- libcurl will then abort the transfer.
-
- 5.12 Can I make libcurl fake or hide my real IP address?
-
- No. libcurl operates on a higher level than so. Besides, faking IP address
- would imply sending IP packages with a made-up source address, and then you
- normally get a problem with intercepting the packages sent back as they
- would then not be routed to you!
-
- If you use a proxy to access remote sites, the sites will not see your local
- IP address but instead the address of the proxy.
-
- Also note that on many networks NATs or other IP-munging techniques are used
- that makes you see and use a different IP address locally than what the
- remote server will see you coming from.
-
- 5.13 How do I stop an ongoing transfer?
-
- There are several ways, but none of them are instant. There is no function
- you can call from another thread or similar that will stop it immediately.
- Instead you need to make sure that one of the callbacks you use return an
- appropriate value that will stop the transfer.
-
- Suitable callbacks that you can do this with include the progress callback,
- the read callback and the write callback.
-
- If you're using the multi interface, you also stop a transfer by removing
- the particular easy handle from the multi stack.
-
-6. License Issues
-
- Curl and libcurl are released under a MIT/X derivate license. The license is
- very liberal and should not impose a problem for your project. This section
- is just a brief summary for the cases we get the most questions. (Parts of
- this section was much enhanced by Bjorn Reese.)
-
- We are not lawyers and this is not legal advice. You should probably consult
- one if you want true and accurate legal insights without our prejudice.
-
- 6.1 I have a GPL program, can I use the libcurl library?
-
- Yes!
-
- Since libcurl may be distributed under the MIT/X derivate license, it can be
- used together with GPL in any software.
-
- 6.2 I have a closed-source program, can I use the libcurl library?
-
- Yes!
-
- libcurl does not put any restrictions on the program that uses the library.
-
- 6.3 I have a BSD licensed program, can I use the libcurl library?
-
- Yes!
-
- libcurl does not put any restrictions on the program that uses the library.
-
- 6.4 I have a program that uses LGPL libraries, can I use libcurl?
-
- Yes!
-
- The LGPL license doesn't clash with other licenses.
-
- 6.5 Can I modify curl/libcurl for my program and keep the changes secret?
-
- Yes!
-
- The MIT/X derivate license practically allows you to do almost anything with
- the sources, on the condition that the copyright texts in the sources are
- left intact.
-
- 6.6 Can you please change the curl/libcurl license to XXXX?
-
- No.
-
- We have carefully picked this license after years of development and
- discussions and a large amount of people have contributed with source code
- knowing that this is the license we use. This license puts the restrictions
- we want on curl/libcurl and it does not spread to other programs or
- libraries that use it. It should be possible for everyone to use libcurl or
- curl in their projects, no matter what license they already have in use.
-
- 6.7 What are my obligations when using libcurl in my commerical apps?
-
- Next to none. All you need to adhere to is the MIT-style license (stated in
- the COPYING file) which basically says you have to include the copyright
- notice in "all copies" and that you may not use the copyright holder's name
- when promoting your software.
-
- You do not have to release any of your source code.
-
- You do not have to reveal or make public any changes to the libcurl source
- code.
-
- You do not have to reveal or make public that you are using libcurl within
- your app.
-
- As can be seen here: http://curl.haxx.se/docs/companies.html and
- elsewhere, more and more companies are dicovering the power
- of libcurl and take advantage of it even in commercial environments.
-
-
-7. PHP/CURL Issues
-
- 7.1 What is PHP/CURL?
-
- The module for PHP that makes it possible for PHP programs to access curl-
- functions from within PHP.
-
- In the cURL project we call this module PHP/CURL to differentiate it from
- curl the command line tool and libcurl the library. The PHP team however
- does not refer to it like this (for unknown reasons). They call it plain
- CURL (often using all caps) or sometimes ext/curl, but both cause much
- confusion to users which in turn gives us a higher question load.
-
- 7.2 Who write PHP/CURL?
-
- PHP/CURL is a module that comes with the regular PHP package. It depends and
- uses libcurl, so you need to have libcurl installed properly first before
- PHP/CURL can be used. PHP/CURL was initially written by Sterling Hughes.
-
- 7.3 Can I perform multiple requests using the same handle?
-
- Yes - at least in PHP version 4.3.8 and later (this has been known to not
- work in earlier versions, but the exact version when it started to work is
- unknown to me).
-
- After a transfer, you just set new options in the handle and make another
- transfer. This will make libcurl to re-use the same connection if it can.
diff --git a/Utilities/cmcurl-7.19.0/docs/FEATURES b/Utilities/cmcurl-7.19.0/docs/FEATURES
deleted file mode 100644
index 08f342c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/FEATURES
+++ /dev/null
@@ -1,135 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-FEATURES
-
-curl tool
- - config file support
- - multiple URLs in a single command line
- - range "globbing" support: [0-13], {one,two,three}
- - multiple file upload on a single command line
- - custom maximum transfer rate
- - redirectable stderr
-
-libcurl supports
- - full URL syntax with no length limit
- - custom maximum download time
- - custom least download speed acceptable
- - custom output result after completion
- - guesses protocol from host name unless specified
- - uses .netrc
- - progress bar/time specs while downloading
- - "standard" proxy environment variables support
- - compiles on win32 (reported builds on 40+ operating systems)
- - selectable network interface for outgoing traffic
- - IPv6 support on unix and Windows
- - persistant connections
- - socks5 support
- - supports user name + password in proxy environment variables
- - operations through proxy "tunnel" (using CONNECT)
- - supports large files (>2GB and >4GB) both upload/download
- - replacable memory functions (malloc, free, realloc, etc)
- - asynchronous name resolving (*6)
- - both a push and a pull style interface
-
-HTTP
- - HTTP/1.1 compliant (optionally uses 1.0)
- - GET
- - PUT
- - HEAD
- - POST
- - Pipelining
- - multipart formpost (RFC1867-style)
- - authentication: Basic, Digest, NTLM(*1), GSS-Negotiate/Negotiate(*3) and
- SPNEGO (*4) to server and proxy
- - resume (both GET and PUT)
- - follow redirects
- - maximum amount of redirects to follow
- - custom HTTP request
- - cookie get/send fully parsed
- - reads/writes the netscape cookie file format
- - custom headers (replace/remove internally generated headers)
- - custom user-agent string
- - custom referer string
- - range
- - proxy authentication
- - time conditions
- - via http-proxy
- - retrieve file modification date
- - Content-Encoding support for deflate and gzip
- - "Transfer-Encoding: chunked" support for "uploads"
-
-HTTPS (*1)
- - (all the HTTP features)
- - using client certificates
- - verify server certificate
- - via http-proxy
- - select desired encryption
- - force usage of a specific SSL version (SSLv2(*7), SSLv3 or TLSv1)
-
-FTP
- - download
- - authentication
- - kerberos4 (*5), kerberos5 (*3)
- - active/passive using PORT, EPRT, PASV or EPSV
- - single file size information (compare to HTTP HEAD)
- - 'type=' URL support
- - dir listing
- - dir listing names-only
- - upload
- - upload append
- - upload via http-proxy as HTTP PUT
- - download resume
- - upload resume
- - custom ftp commands (before and/or after the transfer)
- - simple "range" support
- - via http-proxy
- - all operations can be tunneled through a http-proxy
- - customizable to retrieve file modification date
- - no dir depth limit
-
-FTPS (*1)
- - implicit ftps:// support that use SSL on both connections
- - explicit "AUTH TSL" and "AUTH SSL" usage to "upgrade" plain ftp://
- connection to use SSL for both or one of the connections
-
-SCP (*8)
- - both password and public key auth
-
-SFTP (*8)
- - both password and public key auth
- - with custom commands sent before/after the transfer
-
-TFTP
- - download / upload
-
-TELNET
- - connection negotiation
- - custom telnet options
- - stdin/stdout I/O
-
-LDAP (*2)
- - full LDAP URL support
-
-DICT
- - extended DICT URL support
-
-FILE
- - URL support
- - "uploads"
- - resume
-
-FOOTNOTES
-=========
-
- *1 = requires OpenSSL, GnuTLS, NSS or yassl
- *2 = requires OpenLDAP
- *3 = requires a GSSAPI-compliant library, such as Heimdal or similar.
- *4 = requires FBopenssl
- *5 = requires a krb4 library, such as the MIT one or similar.
- *6 = requires c-ares
- *7 = requires OpenSSL or NSS, as GnuTLS only supports SSLv3 and TLSv1
- *8 = requires libssh2
diff --git a/Utilities/cmcurl-7.19.0/docs/HISTORY b/Utilities/cmcurl-7.19.0/docs/HISTORY
deleted file mode 100644
index 00d5d6b..0000000
--- a/Utilities/cmcurl-7.19.0/docs/HISTORY
+++ /dev/null
@@ -1,153 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- How cURL Became Like This
-
-
-In the second half of 1997, Daniel Stenberg came up with the idea to make
-currency-exchange calculations available to Internet Relay Chat (IRC)
-users. All the necessary data are published on the Web; he just needed to
-automate their retrieval.
-
-Daniel simply adopted an existing command-line open-source tool, httpget, that
-Brazilian Rafael Sagula had written. After a few minor adjustments, it did
-just what he needed.
-
-Soon, he found currencies on a GOPHER site, so support for that had to go in,
-and not before long FTP download support was added as well. The name of the
-project was changed to urlget to better fit what it actually did now, since
-the http-only days were already passed.
-
-The project slowly grew bigger. When upload capabilities were added and the
-name once again was misleading, a second name change was made and on March 20,
-1998 curl 4 was released. (The version numbering from the previous names was
-kept.)
-
-(Unrelated to this project a company called Curl Corporation registered a US
-trademark on the name "CURL" on May 18 1998. That company had then already
-registered the curl.com domain back in November of the previous year. All this
-was revealed to us much later.)
-
-SSL support was added, powered by the SSLeay library.
-
-August 1998, first announcement of curl on freshmeat.net.
-
-October 1998, with the curl 4.9 release and the introduction of cookie
-support, curl was no longer released under the GPL license. Now we're at 4000
-lines of code, we switched over to the MPL license to restrict the effects of
-"copyleft".
-
-November 1998, configure script and reported successful compiles on several
-major operating systems. The never-quite-understood -F option was added and
-curl could now simulate quite a lot of a browser. TELNET support was added.
-
-Curl 5 was released in December 1998 and introduced the first ever curl man
-page. People started making Linux RPM packages out of it.
-
-January 1999, DICT support added.
-
-OpenSSL took over where SSLeay was abandoned.
-
-May 1999, first Debian package.
-
-August 1999, LDAP:// and FILE:// support added. The curl web site gets 1300
-visits weekly.
-
-Released curl 6.0 in September. 15000 lines of code.
-
-December 28 1999, added the project on Sourceforge and started using its
-services for managing the project.
-
-Spring 2000, major internal overhaul to provide a suitable library interface.
-The first non-beta release was named 7.1 and arrived in August. This offered
-the easy interface and turned out to be the beginning of actually getting
-other software and programs to get based on and powered by libcurl. Almost
-20000 lines of code.
-
-August 2000, the curl web site gets 4000 visits weekly.
-
-The PHP guys adopted libcurl already the same month, when the first ever third
-party libcurl binding showed up. CURL has been a supported module in PHP since
-the release of PHP 4.0.2. This would soon get followers. More than 16
-different bindings exist at the time of this writing.
-
-September 2000, kerberos4 support was added.
-
-In November 2000 started the work on a test suite for curl. It was later
-re-written from scratch again.
-
-January 2001, Daniel released curl 7.5.2 under a new license again: MIT (or
-MPL). The MIT license is extremely liberal and can be used combined with GPL
-in other projects. This would finally put an end to the "complaints" from
-people involved in GPLed projects that previously were prohibited from using
-libcurl while it was released under MPL only. (Due to the fact that MPL is
-deemed "GPL incompatible".)
-
-curl supports HTTP 1.1 starting with the release of 7.7, March 22 2001. This
-also introduced libcurl's ability to do persistent connections. 24000 lines of
-code.
-
-The first experimental ftps:// support was added in March 2001.
-
-August 2001. curl is bundled in Mac OS X, 10.1. It was already becoming more
-and more of a standard utility of Linux distributions and a regular in the BSD
-ports collections. The curl web site gets 8000 visits weekly. Curl Corporation
-contacted Daniel to discuss "the name issue". After Daniel's reply, they have
-never since got in touch again.
-
-September 2001, libcurl 7.9 introduces cookie jar and curl_formadd(). During
-the forthcoming 7.9.x releases, we introduced the multi interface slowly and
-without much whistles.
-
-June 2002, the curl web site gets 13000 visits weekly. curl and libcurl is
-35000 lines of code. Reported successful compiles on more than 40 combinations
-of CPUs and operating systems.
-
-To estimate number of users of the curl tool or libcurl library is next to
-impossible. Around 5000 downloaded packages each week from the main site gives
-a hint, but the packages are mirrored extensively, bundled with numerous OS
-distributions and otherwise retrieved as part of other software.
-
-September 2002, with the release of curl 7.10 it is released under the MIT
-license only.
-
-January 2003. Started working on the distributed curl tests. The autobuilds.
-
-February 2003, the curl site averages at 20000 visits weekly. At any given
-moment, there's an average of 3 people browsing the curl.haxx.se site.
-
-Multiple new authentication schemes are supported: Digest (May), NTLM (June)
-and Negotiate (June).
-
-November 2003: curl 7.10.8 is released. 45000 lines of code. ~55000 unique
-visitors to the curl.haxx.se site. Five official web mirrors.
-
-December 2003, full-fledged SSL for FTP is supported.
-
-January 2004: curl 7.11.0 introduced large file support.
-
-June 2004: curl 7.12.0 introduced IDN support. 10 official web mirrors.
-
-August 2004:
- Curl and libcurl 7.12.1
-
- Public curl release number: 82
- Releases counted from the very beginning: 109
- Available command line options: 96
- Available curl_easy_setopt() options: 120
- Number of public functions in libcurl: 36
- Amount of public web site mirrors: 12
- Number of known libcurl bindings: 26
-
-April 2005:
-
-GnuTLS can now optionally be used for the secure layer when curl is built.
-
-September 2005:
-
-TFTP support was added.
-
-More than 100,000 unique visitors of the curl web site. 25 mirrors.
diff --git a/Utilities/cmcurl-7.19.0/docs/INSTALL b/Utilities/cmcurl-7.19.0/docs/INSTALL
deleted file mode 100644
index 92484ad..0000000
--- a/Utilities/cmcurl-7.19.0/docs/INSTALL
+++ /dev/null
@@ -1,878 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- How To Compile
-
-Installing Binary Packages
-==========================
-
- Lots of people download binary distributions of curl and libcurl. This
- document does not describe how to install curl or libcurl using such a
- binary package. This document describes how to compile, build and install
- curl and libcurl from source code.
-
-UNIX
-====
- A normal unix installation is made in three or four steps (after you've
- unpacked the source archive):
-
- ./configure
- make
- make test (optional)
- make install
-
- You probably need to be root when doing the last command.
-
- If you have checked out the sources from the CVS repository, read the
- CVS-INFO on how to proceed.
-
- Get a full listing of all available configure options by invoking it like:
-
- ./configure --help
-
- If you want to install curl in a different file hierarchy than /usr/local,
- you need to specify that already when running configure:
-
- ./configure --prefix=/path/to/curl/tree
-
- If you happen to have write permission in that directory, you can do 'make
- install' without being root. An example of this would be to make a local
- install in your own home directory:
-
- ./configure --prefix=$HOME
- make
- make install
-
- The configure script always tries to find a working SSL library unless
- explicitly told not to. If you have OpenSSL installed in the default search
- path for your compiler/linker, you don't need to do anything special. If
- you have OpenSSL installed in /usr/local/ssl, you can run configure like:
-
- ./configure --with-ssl
-
- If you have OpenSSL installed somewhere else (for example, /opt/OpenSSL)
- and you have pkg-config installed, set the pkg-config path first, like this:
-
- env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-ssl
-
- Without pkg-config installed, use this:
-
- ./configure --with-ssl=/opt/OpenSSL
-
- If you insist on forcing a build without SSL support, even though you may
- have OpenSSL installed in your system, you can run configure like this:
-
- ./configure --without-ssl
-
- If you have OpenSSL installed, but with the libraries in one place and the
- header files somewhere else, you have to set the LDFLAGS and CPPFLAGS
- environment variables prior to running configure. Something like this
- should work:
-
- (with the Bourne shell and its clones):
-
- CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" \
- ./configure
-
- (with csh, tcsh and their clones):
-
- env CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" \
- ./configure
-
- If you have shared SSL libs installed in a directory where your run-time
- linker doesn't find them (which usually causes configure failures), you can
- provide the -R option to ld on some operating systems to set a hard-coded
- path to the run-time linker:
-
- env LDFLAGS=-R/usr/local/ssl/lib ./configure --with-ssl
-
- MORE OPTIONS
- ------------
-
- To force configure to use the standard cc compiler if both cc and gcc are
- present, run configure like
-
- CC=cc ./configure
- or
- env CC=cc ./configure
-
- To force a static library compile, disable the shared library creation
- by running configure like:
-
- ./configure --disable-shared
-
- To tell the configure script to skip searching for thread-safe functions,
- add an option like:
-
- ./configure --disable-thread
-
- To build curl with kerberos4 support enabled, curl requires the krb4 libs
- and headers installed. You can then use a set of options to tell
- configure where those are:
-
- --with-krb4-includes[=DIR] Specify location of kerberos4 headers
- --with-krb4-libs[=DIR] Specify location of kerberos4 libs
- --with-krb4[=DIR] where to look for Kerberos4
-
- In most cases, /usr/athena is the install prefix and then it works with
-
- ./configure --with-krb4=/usr/athena
-
- If you're a curl developer and use gcc, you might want to enable more
- debug options with the --enable-debug option.
-
- curl can be built to use a whole range of libraries to provide various
- useful services, and configure will try to auto-detect a decent
- default. But if you want to alter it, you can select how to deal with
- each individual library.
-
- To build with GnuTLS support instead of OpenSSL for SSL/TLS, note that
- you need to use both --without-ssl and --with-gnutls.
-
- To build with yassl support instead of OpenSSL or GnuTLS, you must build
- yassl with its OpenSSL emulation enabled and point to that directory root
- with configure --with-ssl.
-
- To build with NSS support instead of OpenSSL for SSL/TLS, note that
- you need to use both --without-ssl and --with-nss.
-
- To get GSSAPI support, build with --with-gssapi and have the MIT or
- Heimdal Kerberos 5 packages installed.
-
- To get support for SCP and SFTP, build with --with-libssh2 and have
- libssh2 0.16 or later installed.
-
- SPECIAL CASES
- -------------
- Some versions of uClibc require configuring with CPPFLAGS=-D_GNU_SOURCE=1
- to get correct large file support.
-
- The Open Watcom C compiler on Linux requires configuring with the variables:
-
- ./configure CC=owcc AR="$WATCOM/binl/wlib" AR_FLAGS=-q \
- RANLIB=/bin/true STRIP="$WATCOM/binl/wstrip" CFLAGS=-Wextra
-
-
-Win32
-=====
-
- Building Windows DLLs and C run-time (CRT) linkage issues
- ---------------------------------------------------------
-
- As a general rule, building a DLL with static CRT linkage is highly
- discouraged, and intermixing CRTs in the same app is something to
- avoid at any cost.
-
- Reading and comprehension of Microsoft Knowledge Base articles
- KB94248 and KB140584 is a must for any Windows developer. Especially
- important is full understanding if you are not going to follow the
- advice given above.
-
- KB94248 - How To Use the C Run-Time
- http://support.microsoft.com/kb/94248/en-us
-
- KB140584 - How to link with the correct C Run-Time (CRT) library
- http://support.microsoft.com/kb/140584/en-us
-
- If your app is misbehaving in some strange way, or it is suffering
- from memory corruption, before asking for further help, please try
- first to rebuild every single library your app uses as well as your
- app using the debug multithreaded dynamic C runtime.
-
- MingW32
- -------
-
- Make sure that MinGW32's bin dir is in the search path, for example:
-
- set PATH=c:\mingw32\bin;%PATH%
-
- then run 'mingw32-make mingw32' in the root dir. There are other
- make targets available to build libcurl with more features, use:
- 'mingw32-make mingw32-zlib' to build with Zlib support;
- 'mingw32-make mingw32-ssl-zlib' to build with SSL and Zlib enabled;
- 'mingw32-make mingw32-ssh2-ssl-zlib' to build with SSH2, SSL, Zlib;
- 'mingw32-make mingw32-ssh2-ssl-sspi-zlib' to build with SSH2, SSL, Zlib
- and SSPI support.
-
- If you have any problems linking libraries or finding header files, be sure
- to verify that the provided "Makefile.m32" files use the proper paths, and
- adjust as necessary. It is also possible to override these paths with
- environment variables, for example:
-
- set ZLIB_PATH=c:\zlib-1.2.3
- set OPENSSL_PATH=c:\openssl-0.9.8g
- set LIBSSH2_PATH=c:\libssh2-0.17
-
- ATTENTION: if you want to build with libssh2 support you have to use latest
- version 0.17 - previous versions will NOT work with 7.17.0 and later!
- Use 'mingw32-make mingw32-ssh2-ssl-zlib' to build with SSH2 and SSL enabled.
-
- It is now also possible to build with other LDAP SDKs than MS LDAP;
- currently it is possible to build with native Win32 OpenLDAP, or with the
- Novell CLDAP SDK. If you want to use these you need to set these vars:
-
- set LDAP_SDK=c:\openldap
- set USE_LDAP_OPENLDAP=1
-
- or for using the Novell SDK:
-
- set USE_LDAP_NOVELL=1
-
- If you want to enable LDAPS support then set LDAPS=1.
-
- - optional MingW32-built OpenlDAP SDK available from:
- http://www.gknw.net/mirror/openldap/
- - optional recent Novell CLDAP SDK available from:
- http://developer.novell.com/ndk/cldap.htm
-
-
- Cygwin
- ------
-
- Almost identical to the unix installation. Run the configure script in the
- curl root with 'sh configure'. Make sure you have the sh executable in
- /bin/ or you'll see the configure fail toward the end.
-
- Run 'make'
-
- Dev-Cpp
- -------
-
- See the separate INSTALL.devcpp file for details.
-
- MSVC from command line
- ----------------------
-
- Run the 'vcvars32.bat' file to get a proper environment. The
- vcvars32.bat file is part of the Microsoft development environment and
- you may find it in 'C:\Program Files\Microsoft Visual Studio\vc98\bin'
- provided that you installed Visual C/C++ 6 in the default directory.
-
- Then run 'nmake vc' in curl's root directory.
-
- If you want to compile with zlib support, you will need to build
- zlib (http://www.gzip.org/zlib/) as well. Please read the zlib
- documentation on how to compile zlib. Define the ZLIB_PATH environment
- variable to the location of zlib.h and zlib.lib, for example:
-
- set ZLIB_PATH=c:\zlib-1.2.3
-
- Then run 'nmake vc-zlib' in curl's root directory.
-
- If you want to compile with SSL support you need the OpenSSL package.
- Please read the OpenSSL documentation on how to compile and install
- the OpenSSL libraries. The build process of OpenSSL generates the
- libeay32.dll and ssleay32.dll files in the out32dll subdirectory in
- the OpenSSL home directory. OpenSSL static libraries (libeay32.lib,
- ssleay32.lib, RSAglue.lib) are created in the out32 subdirectory.
-
- Before running nmake define the OPENSSL_PATH environment variable with
- the root/base directory of OpenSSL, for example:
-
- set OPENSSL_PATH=c:\openssl-0.9.8g
-
- Then run 'nmake vc-ssl' or 'nmake vc-ssl-dll' in curl's root
- directory. 'nmake vc-ssl' will create a libcurl static and dynamic
- libraries in the lib subdirectory, as well as a statically linked
- version of curl.exe in the src subdirectory. This statically linked
- version is a standalone executable not requiring any DLL at
- runtime. This make method requires that you have the static OpenSSL
- libraries available in OpenSSL's out32 subdirectory.
- 'nmake vc-ssl-dll' creates the libcurl dynamic library and
- links curl.exe against libcurl and OpenSSL dynamically.
- This executable requires libcurl.dll and the OpenSSL DLLs
- at runtime.
- Run 'nmake vc-ssl-zlib' to build with both ssl and zlib support.
-
- MSVC 6 IDE
- ----------
-
- A minimal VC++ 6.0 reference workspace (vc6curl.dsw) is available with the
- source distribution archive to allow proper building of the two included
- projects, the libcurl library and the curl tool.
-
- 1) Open the vc6curl.dsw workspace with MSVC6's IDE.
- 2) Select 'Build' from top menu.
- 3) Select 'Batch Build' from dropdown menu.
- 4) Make sure that the eight project configurations are 'checked'.
- 5) Click on the 'Build' button.
- 6) Once the eight project configurations are built you are done.
-
- Dynamic and static libcurl libraries are built in debug and release flavours,
- and can be located each one in its own subdirectory, DLL-Debug, DLL-Release,
- LIB-Debug and LIB-Release, all of them below the 'lib' subdirectory.
-
- In the same way four curl executables are created, each using its respective
- library. The resulting curl executables are located in its own subdirectory,
- DLL-Debug, DLL-Release, LIB-Debug and LIB-Release, below the 'src' subdir.
-
- These reference VC++ 6.0 configurations are generated using the dynamic CRT.
-
- Intentionally, these reference VC++ 6.0 projects and configurations don't use
- third party libraries, such as OpenSSL or Zlib, to allow proper compilation
- and configuration for all new users without further requirements.
-
- If you need something more 'involved' you might adjust them for your own use,
- or explore the world of makefiles described above 'MSVC from command line'.
-
- Borland C++ compiler
- ---------------------
-
- compile openssl
-
- Make sure you include the paths to curl/include and openssl/inc32 in
- your bcc32.cnf file
-
- eg : -I"c:\Bcc55\include;c:\path_curl\include;c:\path_openssl\inc32"
-
- Check to make sure that all of the sources listed in lib/Makefile.b32
- are present in the /path_to_curl/lib directory. (Check the src
- directory for missing ones.)
-
- Make sure the environment variable "BCCDIR" is set to the install
- location for the compiler eg : c:\Borland\BCC55
-
- command line:
- make -f /path_to_curl/lib/Makefile-ssl.b32
-
- compile simplessl.c with appropriate links
-
- c:\curl\docs\examples\> bcc32 -L c:\path_to_curl\lib\libcurl.lib
- -L c:\borland\bcc55\lib\psdk\ws2_32.lib
- -L c:\openssl\out32\libeay32.lib
- -L c:\openssl\out32\ssleay32.lib
- simplessl.c
-
- OTHER MSVC IDEs
- ---------------
-
- If you use VC++, Borland or similar compilers. Include all lib source
- files in a static lib "project" (all .c and .h files that is).
- (you should name it libcurl or similar)
-
- Make the sources in the src/ drawer be a "win32 console application"
- project. Name it curl.
-
-
- Disabling Specific Protocols in Win32 builds
- --------------------------------------------
-
- The configure utility, unfortunately, is not available for the Windows
- environment, therefore, you cannot use the various disable-protocol
- options of the configure utility on this platform.
-
- However, you can use the following defines to disable specific
- protocols:
-
- HTTP_ONLY disables all protocols except HTTP
- CURL_DISABLE_FTP disables FTP
- CURL_DISABLE_LDAP disables LDAP
- CURL_DISABLE_TELNET disables TELNET
- CURL_DISABLE_DICT disables DICT
- CURL_DISABLE_FILE disables FILE
- CURL_DISABLE_TFTP disables TFTP
- CURL_DISABLE_HTTP disables HTTP
-
- If you want to set any of these defines you have the following
- possibilities:
-
- - Modify lib/config-win32.h
- - Modify lib/setup.h
- - Modify lib/Makefile.vc6
- - Add defines to Project/Settings/C/C++/General/Preprocessor Definitions
- in the curllib.dsw/curllib.dsp Visual C++ 6 IDE project.
-
-
- Important static libcurl usage note
- -----------------------------------
-
- When building an application that uses the static libcurl library, you must
- add '-DCURL_STATICLIB' to your CFLAGS. Otherwise the linker will look for
- dynamic import symbols.
-
-
-IBM OS/2
-========
- Building under OS/2 is not much different from building under unix.
- You need:
-
- - emx 0.9d
- - GNU make
- - GNU patch
- - ksh
- - GNU bison
- - GNU file utilities
- - GNU sed
- - autoconf 2.13
-
- If you want to build with OpenSSL or OpenLDAP support, you'll need to
- download those libraries, too. Dirk Ohme has done some work to port SSL
- libraries under OS/2, but it looks like he doesn't care about emx. You'll
- find his patches on: http://come.to/Dirk_Ohme
-
- If during the linking you get an error about _errno being an undefined
- symbol referenced from the text segment, you need to add -D__ST_MT_ERRNO__
- in your definitions.
-
- If everything seems to work fine but there's no curl.exe, you need to add
- -Zexe to your linker flags.
-
- If you're getting huge binaries, probably your makefiles have the -g in
- CFLAGS.
-
-
-VMS
-===
- (The VMS section is in whole contributed by the friendly Nico Baggus)
-
- Curl seems to work with FTP & HTTP other protocols are not tested. (the
- perl http/ftp testing server supplied as testing too cannot work on VMS
- because vms has no concept of fork(). [ I tried to give it a whack, but
- thats of no use.
-
- SSL stuff has not been ported.
-
- Telnet has about the same issues as for Win32. When the changes for Win32
- are clear maybe they'll work for VMS too. The basic problem is that select
- ONLY works for sockets.
-
- Marked instances of fopen/[f]stat that might become a problem, especially
- for non stream files. In this regard, the files opened for writing will be
- created stream/lf and will thus be safe. Just keep in mind that non-binary
- read/wring from/to files will have a records size limit of 32767 bytes
- imposed.
-
- Stat to get the size of the files is again only safe for stream files &
- fixed record files without implied CC.
-
- -- My guess is that only allowing access to stream files is the quickest
- way to get around the most issues. Therefore all files need to to be
- checked to be sure they will be stream/lf before processing them. This is
- the easiest way out, I know. The reason for this is that code that needs to
- report the filesize will become a pain in the ass otherwise.
-
- Exit status.... Well we needed something done here,
-
- VMS has a structured exist status:
- | 3 | 2 | 1 | 0|
- |1098|765432109876|5432109876543|210|
- +----+------------+-------------+---+
- |Ctrl| Facility | Error code |sev|
- +----+------------+-------------+---+
-
- With the Ctrl-bits an application can tell if part or the whole message has
- already been printed from the program, DCL doesn't need to print it again.
-
- Facility - basically the program ID. A code assigned to the program
- the name can be fetched from external or internal message libraries
- Error code - the err codes assigned by the application
- Sev. - severity: Even = error, off = non error
- 0 = Warning
- 1 = Success
- 2 = Error
- 3 = Information
- 4 = Fatal
- <5-7> reserved.
-
- This all presents itself with:
- %<FACILITY>-<Sev>-<Errorname>, <Error message>
-
- See also the src/curlmsg.msg file, it has the source for the messages In
- src/main.c a section is devoted to message status values, the globalvalues
- create symbols with certain values, referenced from a compiled message
- file. Have all exit function use a exit status derived from a translation
- table with the compiled message codes.
-
- This was all compiled with:
-
- Compaq C V6.2-003 on OpenVMS Alpha V7.1-1H2
-
- So far for porting notes as of:
- 13-jul-2001
- N. Baggus
-
-
-QNX
-===
- (This section was graciously brought to us by David Bentham)
-
- As QNX is targeted for resource constrained environments, the QNX headers
- set conservative limits. This includes the FD_SETSIZE macro, set by default
- to 32. Socket descriptors returned within the CURL library may exceed this,
- resulting in memory faults/SIGSEGV crashes when passed into select(..)
- calls using fd_set macros.
-
- A good all-round solution to this is to override the default when building
- libcurl, by overriding CFLAGS during configure, example
- # configure CFLAGS='-DFD_SETSIZE=64 -g -O2'
-
-
-RISC OS
-=======
- The library can be cross-compiled using gccsdk as follows:
-
- CC=riscos-gcc AR=riscos-ar RANLIB='riscos-ar -s' ./configure \
- --host=arm-riscos-aof --without-random --disable-shared
- make
-
- where riscos-gcc and riscos-ar are links to the gccsdk tools.
- You can then link your program with curl/lib/.libs/libcurl.a
-
-
-AmigaOS
-=======
- (This section was graciously brought to us by Diego Casorran)
-
- To build cURL/libcurl on AmigaOS just type 'make amiga' ...
-
- What you need is: (not tested with others versions)
-
- GeekGadgets / gcc 2.95.3 (http://www.geekgadgets.org/)
-
- AmiTCP SDK v4.3 (http://www.aminet.net/comm/tcp/AmiTCP-SDK-4.3.lha)
-
- Native Developer Kit (http://www.amiga.com/3.9/download/NDK3.9.lha)
-
- As no ixemul.library is required you will be able to build it for
- WarpOS/PowerPC (not tested by me), as well a MorphOS version should be
- possible with no problems.
-
- To enable SSL support, you need a OpenSSL native version (without ixemul),
- you can find a precompiled package at http://amiga.sourceforge.net/OpenSSL/
-
-
-NetWare
-=======
- To compile curl.nlm / libcurl.nlm you need:
- - either any gcc / nlmconv, or CodeWarrior 7 PDK 4 or later.
- - gnu make and awk running on the platform you compile on;
- native Win32 versions can be downloaded from:
- http://www.gknw.net/development/prgtools/
- - recent Novell LibC SDK available from:
- http://developer.novell.com/ndk/libc.htm
- - or recent Novell CLib SDK available from:
- http://developer.novell.com/ndk/clib.htm
- - optional recent Novell CLDAP SDK available from:
- http://developer.novell.com/ndk/cldap.htm
- - optional zlib sources (static or dynamic linking with zlib.imp);
- sources with NetWare Makefile can be obtained from:
- http://www.gknw.net/mirror/zlib/
- - optional OpenSSL sources (version 0.9.8 or later build with BSD sockets);
- you can find precompiled packages at:
- http://www.gknw.net/development/ossl/netware/
- for CLIB-based builds OpenSSL needs to be patched to build with BSD
- sockets (currently only a winsock-based CLIB build is supported):
- http://www.gknw.net/development/ossl/netware/patches/v_0.9.8g/openssl-0.9.8g.diff
- - optional SSH2 sources (version 0.17 or later);
-
- Set a search path to your compiler, linker and tools; on Linux make
- sure that the var OSTYPE contains the string 'linux'; set the var
- NDKBASE to point to the base of your Novell NDK; and then type
- 'make netware' from the top source directory; other targets available
- are 'netware-ssl', 'netware-ssl-zlib', 'netware-zlib' and 'netware-ares';
- if you need other combinations you can control the build with the
- environment variables WITH_SSL, WITH_ZLIB, WITH_ARES, WITH_SSH2, and
- ENABLE_IPV6; you can set LINK_STATIC=1 to link curl.nlm statically.
- By default LDAP support is enabled, however currently you will need a patch
- in order to use the CLDAP NDK with BSD sockets (Novell Bug 300237):
- http://www.gknw.net/test/curl/cldap_ndk/ldap_ndk.diff
- I found on some Linux systems (RH9) that OS detection didn't work although
- a 'set | grep OSTYPE' shows the var present and set; I simply overwrote it
- with 'OSTYPE=linux-rh9-gnu' and the detection in the Makefile worked...
- Any help in testing appreciated!
- Builds automatically created 8 times a day from current CVS are here:
- http://www.gknw.net/mirror/curl/autobuilds/
- the status of these builds can be viewed at the autobuild table:
- http://curl.haxx.se/auto/
-
-
-eCos
-====
- curl does not use the eCos build system, so you must first build eCos
- separately, then link curl to the resulting eCos library. Here's a sample
- configure line to do so on an x86 Linux box targeting x86:
-
- GCCLIB=`gcc -print-libgcc-file-name` && \
- CFLAGS="-D__ECOS=1 -nostdinc -I$ECOS_INSTALL/include \
- -I`dirname $GCCLIB`/include" \
- LDFLAGS="-nostdlib -Wl,--gc-sections -Wl,-static \
- -L$ECOS_INSTALL/lib -Ttarget.ld -ltarget" \
- ./configure --host=i386 --disable-shared \
- --without-ssl --without-zlib --disable-manual --disable-ldap
-
- In most cases, eCos users will be using libcurl from within a custom
- embedded application. Using the standard 'curl' executable from
- within eCos means facing the limitation of the standard eCos C
- startup code which does not allow passing arguments in main(). To
- run 'curl' from eCos and have it do something useful, you will need
- to either modify the eCos startup code to pass in some arguments, or
- modify the curl application itself to retrieve its arguments from
- some location set by the bootloader or hard-code them.
-
- Something like the following patch could be used to hard-code some
- arguments. The MTAB_ENTRY line mounts a RAM disk as the root filesystem
- (without mounting some kind of filesystem, eCos errors out all file
- operations which curl does not take to well). The next section synthesizes
- some command-line arguments for curl to use, in this case to direct curl
- to read further arguments from a file. It then creates that file on the
- RAM disk and places within it a URL to download: a file: URL that
- just happens to point to the configuration file itself. The results
- of running curl in this way is the contents of the configuration file
- printed to the console.
-
---- src/main.c 19 Jul 2006 19:09:56 -0000 1.363
-+++ src/main.c 24 Jul 2006 21:37:23 -0000
-@@ -4286,11 +4286,31 @@
- }
-
-
-+#ifdef __ECOS
-+#include <cyg/fileio/fileio.h>
-+MTAB_ENTRY( testfs_mte1,
-+ "/",
-+ "ramfs",
-+ "",
-+ 0);
-+#endif
-
- int main(int argc, char *argv[])
- {
- int res;
- struct Configurable config;
-+#ifdef __ECOS
-+ char *args[] = {"ecos-curl", "-K", "curlconf.txt"};
-+ FILE *f;
-+ argc = sizeof(args)/sizeof(args[0]);
-+ argv = args;
-+
-+ f = fopen("curlconf.txt", "w");
-+ if (f) {
-+ fprintf(f, "--url file:curlconf.txt");
-+ fclose(f);
-+ }
-+#endif
- memset(&config, 0, sizeof(struct Configurable));
-
- config.errors = stderr; /* default errors to stderr */
-
-
-Minix
-=====
- curl can be compiled on Minix 3 using gcc or ACK (starting with
- ver. 3.1.3).
-
- ACK
- ---
- Increase the heap sizes of the compiler with the command:
-
- binsizes xxl
-
- Configure and compile with:
-
- ./configure CONFIG_SHELL=/bin/bigsh CC=cc LD=cc AR=/usr/bin/aal \
- GREP=grep CPPFLAGS=-D_POSIX_SOURCE=1
- make
-
- GCC
- ---
- Make sure gcc is in your PATH with the command:
-
- export PATH=/usr/gnu/bin:$PATH
-
- then configure and compile curl with:
-
- ./configure CONFIG_SHELL=/bin/bigsh CC=gcc AR=/usr/gnu/bin/gar GREP=grep
- make
-
-
-Symbian OS
-==========
- The Symbian OS port uses the Symbian build system to compile. From the
- packages/Symbian/group/ directory, run:
-
- bldmake bldfiles
- abld build
-
- to compile and install curl and libcurl. If your Symbian SDK doesn't
- include support for P.I.P.S., you will need to contact your SDK vendor
- to obtain that first.
-
-
-CROSS COMPILE
-=============
- (This section was graciously brought to us by Jim Duey, with additions by
- Dan Fandrich)
-
- Download and unpack the cURL package.
-
- 'cd' to the new directory. (e.g. cd curl-7.12.3)
-
- Set environment variables to point to the cross-compile toolchain and call
- configure with any options you need. Be sure and specify the '--host' and
- '--build' parameters at configuration time. The following script is an
- example of cross-compiling for the IBM 405GP PowerPC processor using the
- toolchain from MonteVista for Hardhat Linux.
-
- (begin script)
-
- #! /bin/sh
-
- export PATH=$PATH:/opt/hardhat/devkit/ppc/405/bin
- export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include"
- export AR=ppc_405-ar
- export AS=ppc_405-as
- export LD=ppc_405-ld
- export RANLIB=ppc_405-ranlib
- export CC=ppc_405-gcc
- export NM=ppc_405-nm
-
- ./configure --target=powerpc-hardhat-linux \
- --host=powerpc-hardhat-linux \
- --build=i586-pc-linux-gnu \
- --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local \
- --exec-prefix=/usr/local
-
- (end script)
-
- You may also need to provide a parameter like '--with-random=/dev/urandom'
- to configure as it cannot detect the presence of a random number
- generating device for a target system. The '--prefix' parameter
- specifies where cURL will be installed. If 'configure' completes
- successfully, do 'make' and 'make install' as usual.
-
- In some cases, you may be able to simplify the above commands to as
- little as:
-
- ./configure --host=ARCH-OS
-
-
-REDUCING SIZE
-=============
- There are a number of configure options that can be used to reduce the
- size of libcurl for embedded applications where binary size is an
- important factor. First, be sure to set the CFLAGS variable when
- configuring with any relevant compiler optimization flags to reduce the
- size of the binary. For gcc, this would mean at minimum the -Os option,
- and potentially the -march=X and -mdynamic-no-pic options as well, e.g.
-
- ./configure CFLAGS='-Os' ...
-
- Note that newer compilers often produce smaller code than older versions
- due to improved optimization.
-
- Be sure to specify as many --disable- and --without- flags on the configure
- command-line as you can to disable all the libcurl features that you
- know your application is not going to need. Besides specifying the
- --disable-PROTOCOL flags for all the types of URLs your application
- will not use, here are some other flags that can reduce the size of the
- library:
-
- --disable-ares (disables support for the ARES DNS library)
- --disable-cookies (disables support for HTTP cookies)
- --disable-crypto-auth (disables HTTP cryptographic authentication)
- --disable-ipv6 (disables support for IPv6)
- --disable-verbose (eliminates debugging strings and error code strings)
- --enable-hidden-symbols (eliminates unneeded symbols in the shared library)
- --without-libidn (disables support for the libidn DNS library)
- --without-ssl (disables support for SSL/TLS)
- --without-zlib (disables support for on-the-fly decompression)
-
- The GNU linker has a number of options to reduce the size of the libcurl
- dynamic libraries on some platforms even further. Specify them by giving
- the options -Wl,-Bsymbolic and -Wl,-s on the gcc command-line.
- Be sure also to strip debugging symbols from your binaries after
- compiling using 'strip' (or the appropriate variant if cross-compiling).
- If space is really tight, you may be able to remove some unneeded
- sections of the shared library using the -R option to objcopy (e.g. the
- .comment section).
-
- Using these techniques it is possible to create an HTTP-only shared libcurl
- library for i386 Linux platforms that is only 96 KiB in size (as of libcurl
- version 7.17.1, using gcc 4.2.2).
-
- You may find that statically linking libcurl to your application will
- result in a lower total size.
-
-
-PORTS
-=====
- This is a probably incomplete list of known hardware and operating systems
- that curl has been compiled for. If you know a system curl compiles and
- runs on, that isn't listed, please let us know!
-
- - Alpha DEC OSF 4
- - Alpha Digital UNIX v3.2
- - Alpha FreeBSD 4.1, 4.5
- - Alpha Linux 2.2, 2.4
- - Alpha NetBSD 1.5.2
- - Alpha OpenBSD 3.0
- - Alpha OpenVMS V7.1-1H2
- - Alpha Tru64 v5.0 5.1
- - HP-PA HP-UX 9.X 10.X 11.X
- - HP-PA Linux
- - HP3000 MPE/iX
- - MIPS IRIX 6.2, 6.5
- - MIPS Linux
- - OS/400
- - Pocket PC/Win CE 3.0
- - Power AIX 3.2.5, 4.2, 4.3.1, 4.3.2, 5.1, 5.2
- - PowerPC Darwin 1.0
- - PowerPC INTEGRITY
- - PowerPC Linux
- - PowerPC Mac OS 9
- - PowerPC Mac OS X
- - SH4 Linux 2.6.X
- - SH4 OS21
- - SINIX-Z v5
- - Sparc Linux
- - Sparc Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8, 9, 10
- - Sparc SunOS 4.1.X
- - StrongARM (and other ARM) RISC OS 3.1, 4.02
- - StrongARM/ARM7/ARM9 Linux 2.4, 2.6
- - StrongARM NetBSD 1.4.1
- - ARM INTEGRITY
- - Symbian OS (P.I.P.S.) 9.x
- - TPF
- - Ultrix 4.3a
- - UNICOS 9.0
- - i386 BeOS
- - i386 DOS
- - i386 eCos 1.3.1
- - i386 Esix 4.1
- - i386 FreeBSD
- - i386 HURD
- - i386 Haiku OS
- - i386 Linux 1.3, 2.0, 2.2, 2.3, 2.4, 2.6
- - i386 MINIX 3.1
- - i386 NetBSD
- - i386 Novell NetWare
- - i386 OS/2
- - i386 OpenBSD
- - i386 QNX 6
- - i386 SCO unix
- - i386 Solaris 2.7
- - i386 Windows 95, 98, ME, NT, 2000, XP, 2003
- - i486 ncr-sysv4.3.03 (NCR MP-RAS)
- - ia64 Linux 2.3.99
- - m68k AmigaOS 3
- - m68k Linux
- - m68k uClinux
- - m68k OpenBSD
- - m88k dg-dgux5.4R3.00
- - s390 Linux
- - XScale/PXA250 Linux 2.4
- - Nios II uClinux
-
-Useful URLs
-===========
-
-OpenSSL http://www.openssl.org
-MingW http://www.mingw.org
-OpenLDAP http://www.openldap.org
-Zlib http://www.gzip.org/zlib/
-libssh2 http://www.libssh2.org
-
-
diff --git a/Utilities/cmcurl-7.19.0/docs/INSTALL.devcpp b/Utilities/cmcurl-7.19.0/docs/INSTALL.devcpp
deleted file mode 100644
index ed5ed91..0000000
--- a/Utilities/cmcurl-7.19.0/docs/INSTALL.devcpp
+++ /dev/null
@@ -1,302 +0,0 @@
-DevCpp-Mingw Install & Compilation Sept 2005
-==================================
-
-Reference Emails available at curl@haxx.se:
-
- Libcurl Install and Use Issues
- Awaiting an Answer for Win 32 Install
- res = curl_easy_perform(curl); Error
- Makefile Issues
-
-
-Having previously done a thorough review of what was available that met my
-requirements under GPL, I settled for Libcurl as the software of choice for
-many reasons not the least of which was the support.
-
-Background
-----------
-
-This quest started when I innocently tried to incorporate the libcurl library
-into my simple source code. I figured that a few easy steps would accomplish
-this without major headaches. I had no idea that I would be facing an almost
-insurmountable challenge.
-
-The main problem lies in two areas. First the bulk of support for libcurl
-exists for a Unix/linux command line environments. This is of little help when
-it comes to Windows O/S.
-
-Secondly the help that does exist for the Windows O/S focused around mingw
-thru a command line argument environment.
-
-You may ask "Why is this a problem?"
-
-I'm using a Windows O/S with DevCpp. For those of you who are unfamiliar with
-DevCpp, it is a window shell GUI that replaces the command line environment
-for gcc. A definite improvement that I am unwilling to give up. However using
-DevCpp presented its own set of issues. Inadvertently I also made some
-careless errors such as compiling the 7.14 version of Makefile with an older
-version of source code. Thanks to Dan Fandrich for picking this up.
-
-I did eventually with the help of Daniel, Phillipe and others manage to
-implement successfully (the only mingw available version)
-curl-7.13.0-win32-ssl-devel-mingw32 into the DevCpp environment. Only the
-dynamic libcurl.dll libcurldll.a libraries worked. The static library which I
-was interested in did not. Furthermore when I tried to implement one of the
-examples included with the curl package (get info.c) it caused the executable
-to crash. Tracing the bug I found it in the code and function res =
-curl_easy_perform(curl);.
-
-At this point I had to make a choice as to whether invest my limited
-time-energy resource to fixing the bug or to compile the new version
-available. After searching the archives I found a very similar or the same bug
-reported from version 7.12x on. Daniel did inform me that he thought that this
-bug had been fixed with the latest version. So I proceeded to compile the
-latest SSL version where I faced other challenges.
-
-In order to make this process unremarkable for others using the same
-environment I decided to document the process so that others will find it
-routine. It would be a shame if newbies could not implement this excellent
-package for their use.
-
-I would like to thank the many others in this forum and in the DevCpp forum
-for their help. Without your help I may either have given up or it would have
-taken me many times longer to achieve success.
-
-The Cookbook Approach
----------------------
-
-This discussion will be confined to a SSL static library compilation and
-installation. Limited mention and comments will be inserted where appropriate
-to help with non-SSL, dynamic libraries and executables.
-
-
- Using Makefile from DevCpp to compile Libcurl libraries
-
-Preamble
---------
-
-Using the latest version release - curl-7.14.0.tar.gz. Curl source code is
-platform independent. This simply means that the source code can be compiled
-for any Operating System (Linux/Unix Windows etc. and variations of thereof).
-
-The first thing to note is that inside curl-7.14.0 you will find two folders
-lib and src. Both contain Makefile.m32 (required for win mingw library or exe
-compilation) files which are different. The main difference between these two
-folders and the makefiles is that the src folder contents are used to compile
-an executable file(curl.exe) while the lib folder contents are used to compile
-a static (libcurl.a) and dynamic (libcurl.dll & libcurldll.a) file that can be
-used to compile libcurl with your own source code so that one can use and
-access all libcurl functions.
-
-Before we start please make sure that DevCpp is installed properly. In
-particular make sure you have no spaces in the name of any of the directories
-and subdirectories where DevCpp is installed. Failure to comply with the
-install instructions may produce erratic behaviour in DevCpp. For further info
-check the following sites
-
-http://aditsu.freeunixhost.com/dev-cpp-faq.html
-http://sourceforge.net/forum/message.php?msg_id=3252213
-
-As I have mentioned before I will confine this to the SSL Library compilations
-but the process is very similar for compilation of the executable - curl.exe;
-just substitute the src folder makefile in its stead.
-
-First use a text processor Notepad, or your own favourite text processor. To
-engage your favourite text processor, select Makefile.m32 click once with your
-mouse on file icon; icon turns blue, press the shift key and right-click on
-mouse, menu appears select "Open with", select your favourite text processor.
-
-Next read the contents of Makefile.m32. It includes instructions on its use.
-
-Method I - DOS Command Line
----------------------------
-
-Note - The only reason I have included this method is that Method II which is
-the preferred method for compiling does not allow for the setting of option
-switches (e.g. SSL = 1 or SSL =0). At least that's what they tell me at the
-Dev-Cpp forum.
-
-1 - Make a copy of (D:\Dev-Cpp\bin) bin folder and name it "bin Original"
-place it in the Dev-Cpp installed directory (D:\Dev-Cpp\ for this example)
-
-2 - Copy the entire contents of the LIB folder of curl-7.14.0.tar.gz or zip
-version into the bin folder above (D:\Dev-Cpp\bin). The reason being is that
-the make.exe file resides in this folder. Make.exe will use - Makefile.m32,
-Makefile.inc, and the source code included in the lib folder to compile the
-source code. There is a PATH issue with make.exe that remains unresolved at
-least for me. Unless the entire source code to be compiled is placed entirely
-within the directory of make.exe an error message will be generated - "file
-xxxx.yyy not available".
-
-3- Go to Dev-Cpp\bin and double click on make .exe. You will see a DOS window
-quickly pop up and close very quickly. Not to worry! Please do not skip this
-step.
-
-4- Click on the start button\Programs\MS-DOS Prompt.Once the DOS Window is up
-Type the disk drive letter (e.g. E: ) engage the enter button. The path should
-automatically take you to the directory of the make.exe file.
-
-5- To compile the source code simply type at the DOS prompt make -f
-Makefile.m32 as per instructions contained in the Makefile.m32 file (use any
-text processor to read instructions). I don't believe that this makefile
-allows for the option of non SSL. Ignore any warnings.
-
-6- Collect and make copies of libcurl.a, libcurl.dll, libcurldll.a and any *.o
-compilations you might need in another directory outside of the bin directory
-as you will need this files shortly to set up libcurl for use with
-Dev-cpp. For most apps *.o is not required. Later on we will show what to do
-with these files.
-
-7- You are finished but before closing we need to do cleanup - erase the bin
-folder and rename the "bin Original" folder created in step 1 to bin.
-
-Note to compile a curl executable the process is probably similar but instead
-of using the LIB folder contents use the SRC folder contents and Makefiles in
-curl-7.14.0.tar.gz. File directories relative placements must be respected for
-compiling to take place successfully. This may not be possible with the PATH
-problem that make.exe experiences. If anyone has solved this PATH issue and
-please make sure it actually works on Win 9x/2000/XP before letting me
-know. Then please let me or Daniel in on the solution so that it can be
-included with these instructions. Thanks.
-
-or
-
-Method II - Dev-Cpp GUI
------------------------
-
-1- Copy the entire contents of the LIB folder of curl-7.14.0.tar.gz or zip
-version into any folder outside of (Dev-Cpp\bin).
-
-2- Drop the File/New/click on Project.
-
-3- New Project Dialogue box appears. Double click on the Static Library.
-
-4- Create Project Dialogue box appears. Select the LIB folder location to
-place and locate your Project File Name. Placing the Project File Name
-elsewhere may cause problems (PATH issue problem again).
-
-5- Drop down the Project/Project Options. Project Options Dialogue box
-appears.
-
-6- Select the Makefile tab in the Project Options Dialogue Box. Check Box -
-Use Custom Makefile. Click on the Folder icon at the extreme right of the
-Check Box. Select Makefile.m32 in the folder wherever you have placed the
-contents of the LIB Folder. Press OK and close the Dialogue Box.
-
-7- Drop the Menu Project/Click on Add to Project. Open File Dialogue Box
-appears. The Dialogue Box should open in the folder wherever you have placed
-the contents of the LIB Folder. If not go there.
-
-8- Select Crtl-A to select all files in the LIB folder. Click on open to add
-files and close box. Wait till all files are added. This may take 30 seconds
-or longer.
-
-9- Drop the Menu Execute/Click on Compile.
-
-10- That's it.
-
-
- The following steps must be completed if Curl is to work properly
- =================================================================
-
-LIB folder inclusions (*.a placement)
--------------------------------------
-
-1- Refer to Method I - DOS Command Line point # 6 Take libcurl.a, libcurldll.a
-and install it in the directory C( or whichever drive Dev is installed)
-:\Dev-Cpp\lib.
-
-
-Include Folder
---------------
-
-1- Create a new folder by the name of curl (do not change the name curl to
-some other name as it will cause major issues) in the directory
-C:\Dev-Cpp\include.
-
-2- Copy the entire contents of the curl folder of curl-7.14.0.tar.gz or zip
- version into the newly created curl directory - C:\Dev-Cpp\include\curl.
-
-Links To Include And Lib Folder
--------------------------------
-
-1- Drop the Menu - Tools\Compiler Options\Directories\Libraries. Make sure
-that C( or whichever drive Dev is installed):\DEV-CPP\lib is included.
-
-2- Next select the Menu - Tools\Compiler Options\Directories\C Includes. Make
-sure that C:\DEV-CPP\include and C:\Dev-Cpp\include\curl are included.
-
-3- Next select the Menu - Tools\Compiler Options\Directories\C++
-Includes. Make sure that C:\DEV-CPP\include and C:\Dev-Cpp\include\curl are
-included.
-
-Linker Links
-------------
-
-1- Drop the Menu - Tools\Compiler Options\Directories\Compiler.
-
-2- Make sure that the box "Add these commands to the linker command line" is
-checked.
-
-3- Include in the white space immediately below the box referred in 2 -lcurl
--lws2_32.
-
-SSL Files
----------
-
-1- Get the latest openSSL (as of time of this writing)
-openssl-0.9.7e-win32-bin.zip for the minimalist package of the openssl-0.9.7e
-binaries ported to MS Windows 95/98/NT/XP using the MingW32/GCC-3.1
-development environment. The file may be downloaded at
-http://curl.haxx.se/download/.
-
-2- Open the above zip file. You will find two files - SDL.dll,
-SDL_mixer.dll. Install them in the directory C:\WINDOWS\SYSTEM32 for Win 9x
-users and c:\winnt\system32 for NT-family users.
-
-Multithreading Files
---------------------
-
-To be completed
-
-#define
--------
-
-1- Make sure that your program includes the following - #define CURL_STATICLIB
-must be declared FIRST before any other define functions may be
-added. Otherwise you may experience link errors.
-
-2- Don't forget to include #include "curl/curl.h".
-
-e.g.
- #define CURL_STATICLIB
-#include <windows.h>
- #include "curl/curl.h"
-#include <fstream>
-#include <iostream>
-#include <vector>
-etc...
-
-
-Static or Dynamic Library
--------------------------
-
-The above steps apply for the use by a static library. Should you choose to
-use a dynamic library you will be required to perform these additional steps.
-
-1- Refer to Method I - DOS Command Line point # 6. Install libcurl.dll in the
-directory C:\WINDOWS\SYSTEM32 for Win 9x users and c:\winnt\system32 for
-NT-family users.
-
-2- Refer to Linker Links point 3 - Replace -lcurl with -lcurldll.
-
-Voila you're done.
-
-The non-SSL static Library build may not be possible to use at least as of the
-time of this writing - v7.14. Check reference emails - Phillipe and I found it
-impossible to fully compile as certain files were missing for linking. No big
-loss as SSL is a major plus.
-
-Hope this Helps
-
-Tom
diff --git a/Utilities/cmcurl-7.19.0/docs/INTERNALS b/Utilities/cmcurl-7.19.0/docs/INTERNALS
deleted file mode 100644
index 411e664..0000000
--- a/Utilities/cmcurl-7.19.0/docs/INTERNALS
+++ /dev/null
@@ -1,474 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-INTERNALS
-
- The project is split in two. The library and the client. The client part uses
- the library, but the library is designed to allow other applications to use
- it.
-
- The largest amount of code and complexity is in the library part.
-
-CVS
-===
- All changes to the sources are committed to the CVS repository as soon as
- they're somewhat verified to work. Changes shall be commited as independently
- as possible so that individual changes can be easier spotted and tracked
- afterwards.
-
- Tagging shall be used extensively, and by the time we release new archives we
- should tag the sources with a name similar to the released version number.
-
-Portability
-===========
-
- We write curl and libcurl to compile with C89 compilers. On 32bit and up
- machines. Most of libcurl assumes more or less POSIX compliance but that's
- not a requirement.
-
- We write libcurl to build and work with lots of third party tools, and we
- want it to remain functional and buildable with these and later versions
- (older versions may still work but is not what we work hard to maintain):
-
- OpenSSL 0.9.6
- GnuTLS 1.2
- zlib 1.1.4
- libssh2 0.16
- c-ares 1.5.0
- libidn 0.4.1
- *yassl 1.4.0 (http://curl.haxx.se/mail/lib-2008-02/0093.html)
- openldap 2.0
- MIT krb5 lib 1.2.4
- qsossl V5R2M0
- NSS 3.11.x
- Heimdal ?
-
- * = only partly functional, but that's due to bugs in the third party lib, not
- because of libcurl code
-
- On systems where configure runs, we aim at working on them all - if they have
- a suitable C compiler. On systems that don't run configure, we strive to keep
- curl running fine on:
-
- Windows 98
- AS/400 V5R2M0
- Symbian 9.1
- Windows CE ?
- TPF ?
-
- When writing code (mostly for generating stuff included in release tarballs)
- we use a few "build tools" and we make sure that we remain functional with
- these versions:
-
- GNU Libtool 1.4.2
- GNU Autoconf 2.57
- GNU Automake 1.7 (we currently avoid 1.10 due to Solaris-related bugs)
- GNU M4 1.4
- perl 4
- roffit 0.5
- groff ? (any version that supports "groff -Tps -man [in] [out]")
- ps2pdf (gs) ?
-
-Windows vs Unix
-===============
-
- There are a few differences in how to program curl the unix way compared to
- the Windows way. The four perhaps most notable details are:
-
- 1. Different function names for socket operations.
-
- In curl, this is solved with defines and macros, so that the source looks
- the same at all places except for the header file that defines them. The
- macros in use are sclose(), sread() and swrite().
-
- 2. Windows requires a couple of init calls for the socket stuff.
-
- That's taken care of by the curl_global_init() call, but if other libs also
- do it etc there might be reasons for applications to alter that behaviour.
-
- 3. The file descriptors for network communication and file operations are
- not easily interchangable as in unix.
-
- We avoid this by not trying any funny tricks on file descriptors.
-
- 4. When writing data to stdout, Windows makes end-of-lines the DOS way, thus
- destroying binary data, although you do want that conversion if it is
- text coming through... (sigh)
-
- We set stdout to binary under windows
-
- Inside the source code, We make an effort to avoid '#ifdef [Your OS]'. All
- conditionals that deal with features *should* instead be in the format
- '#ifdef HAVE_THAT_WEIRD_FUNCTION'. Since Windows can't run configure scripts,
- we maintain two config-win32.h files (one in lib/ and one in src/) that are
- supposed to look exactly as a config.h file would have looked like on a
- Windows machine!
-
- Generally speaking: always remember that this will be compiled on dozens of
- operating systems. Don't walk on the edge.
-
-Library
-=======
-
- There are plenty of entry points to the library, namely each publicly defined
- function that libcurl offers to applications. All of those functions are
- rather small and easy-to-follow. All the ones prefixed with 'curl_easy' are
- put in the lib/easy.c file.
-
- curl_global_init_() and curl_global_cleanup() should be called by the
- application to initialize and clean up global stuff in the library. As of
- today, it can handle the global SSL initing if SSL is enabled and it can init
- the socket layer on windows machines. libcurl itself has no "global" scope.
-
- All printf()-style functions use the supplied clones in lib/mprintf.c. This
- makes sure we stay absolutely platform independent.
-
- curl_easy_init() allocates an internal struct and makes some initializations.
- The returned handle does not reveal internals. This is the 'SessionHandle'
- struct which works as an "anchor" struct for all curl_easy functions. All
- connections performed will get connect-specific data allocated that should be
- used for things related to particular connections/requests.
-
- curl_easy_setopt() takes three arguments, where the option stuff must be
- passed in pairs: the parameter-ID and the parameter-value. The list of
- options is documented in the man page. This function mainly sets things in
- the 'SessionHandle' struct.
-
- curl_easy_perform() does a whole lot of things:
-
- It starts off in the lib/easy.c file by calling Curl_perform() and the main
- work then continues in lib/url.c. The flow continues with a call to
- Curl_connect() to connect to the remote site.
-
- o Curl_connect()
-
- ... analyzes the URL, it separates the different components and connects to
- the remote host. This may involve using a proxy and/or using SSL. The
- Curl_resolv() function in lib/hostip.c is used for looking up host names
- (it does then use the proper underlying method, which may vary between
- platforms and builds).
-
- When Curl_connect is done, we are connected to the remote site. Then it is
- time to tell the server to get a document/file. Curl_do() arranges this.
-
- This function makes sure there's an allocated and initiated 'connectdata'
- struct that is used for this particular connection only (although there may
- be several requests performed on the same connect). A bunch of things are
- inited/inherited from the SessionHandle struct.
-
- o Curl_do()
-
- Curl_do() makes sure the proper protocol-specific function is called. The
- functions are named after the protocols they handle. Curl_ftp(),
- Curl_http(), Curl_dict(), etc. They all reside in their respective files
- (ftp.c, http.c and dict.c). HTTPS is handled by Curl_http() and FTPS by
- Curl_ftp().
-
- The protocol-specific functions of course deal with protocol-specific
- negotiations and setup. They have access to the Curl_sendf() (from
- lib/sendf.c) function to send printf-style formatted data to the remote
- host and when they're ready to make the actual file transfer they call the
- Curl_Transfer() function (in lib/transfer.c) to setup the transfer and
- returns.
-
- If this DO function fails and the connection is being re-used, libcurl will
- then close this connection, setup a new connection and re-issue the DO
- request on that. This is because there is no way to be perfectly sure that
- we have discovered a dead connection before the DO function and thus we
- might wrongly be re-using a connection that was closed by the remote peer.
-
- Some time during the DO function, the Curl_setup_transfer() function must
- be called with some basic info about the upcoming transfer: what socket(s)
- to read/write and the expected file tranfer sizes (if known).
-
- o Transfer()
-
- Curl_perform() then calls Transfer() in lib/transfer.c that performs the
- entire file transfer.
-
- During transfer, the progress functions in lib/progress.c are called at a
- frequent interval (or at the user's choice, a specified callback might get
- called). The speedcheck functions in lib/speedcheck.c are also used to
- verify that the transfer is as fast as required.
-
- o Curl_done()
-
- Called after a transfer is done. This function takes care of everything
- that has to be done after a transfer. This function attempts to leave
- matters in a state so that Curl_do() should be possible to call again on
- the same connection (in a persistent connection case). It might also soon
- be closed with Curl_disconnect().
-
- o Curl_disconnect()
-
- When doing normal connections and transfers, no one ever tries to close any
- connections so this is not normally called when curl_easy_perform() is
- used. This function is only used when we are certain that no more transfers
- is going to be made on the connection. It can be also closed by force, or
- it can be called to make sure that libcurl doesn't keep too many
- connections alive at the same time (there's a default amount of 5 but that
- can be changed with the CURLOPT_MAXCONNECTS option).
-
- This function cleans up all resources that are associated with a single
- connection.
-
- Curl_perform() is the function that does the main "connect - do - transfer -
- done" loop. It loops if there's a Location: to follow.
-
- When completed, the curl_easy_cleanup() should be called to free up used
- resources. It runs Curl_disconnect() on all open connectons.
-
- A quick roundup on internal function sequences (many of these call
- protocol-specific function-pointers):
-
- curl_connect - connects to a remote site and does initial connect fluff
- This also checks for an existing connection to the requested site and uses
- that one if it is possible.
-
- curl_do - starts a transfer
- curl_transfer() - transfers data
- curl_done - ends a transfer
-
- curl_disconnect - disconnects from a remote site. This is called when the
- disconnect is really requested, which doesn't necessarily have to be
- exactly after curl_done in case we want to keep the connection open for
- a while.
-
- HTTP(S)
-
- HTTP offers a lot and is the protocol in curl that uses the most lines of
- code. There is a special file (lib/formdata.c) that offers all the multipart
- post functions.
-
- base64-functions for user+password stuff (and more) is in (lib/base64.c) and
- all functions for parsing and sending cookies are found in (lib/cookie.c).
-
- HTTPS uses in almost every means the same procedure as HTTP, with only two
- exceptions: the connect procedure is different and the function used to read
- or write from the socket is different, although the latter fact is hidden in
- the source by the use of curl_read() for reading and curl_write() for writing
- data to the remote server.
-
- http_chunks.c contains functions that understands HTTP 1.1 chunked transfer
- encoding.
-
- An interesting detail with the HTTP(S) request, is the add_buffer() series of
- functions we use. They append data to one single buffer, and when the
- building is done the entire request is sent off in one single write. This is
- done this way to overcome problems with flawed firewalls and lame servers.
-
- FTP
-
- The Curl_if2ip() function can be used for getting the IP number of a
- specified network interface, and it resides in lib/if2ip.c.
-
- Curl_ftpsendf() is used for sending FTP commands to the remote server. It was
- made a separate function to prevent us programmers from forgetting that they
- must be CRLF terminated. They must also be sent in one single write() to make
- firewalls and similar happy.
-
- Kerberos
-
- The kerberos support is mainly in lib/krb4.c and lib/security.c.
-
- TELNET
-
- Telnet is implemented in lib/telnet.c.
-
- FILE
-
- The file:// protocol is dealt with in lib/file.c.
-
- LDAP
-
- Everything LDAP is in lib/ldap.c.
-
- GENERAL
-
- URL encoding and decoding, called escaping and unescaping in the source code,
- is found in lib/escape.c.
-
- While transfering data in Transfer() a few functions might get used.
- curl_getdate() in lib/parsedate.c is for HTTP date comparisons (and more).
-
- lib/getenv.c offers curl_getenv() which is for reading environment variables
- in a neat platform independent way. That's used in the client, but also in
- lib/url.c when checking the proxy environment variables. Note that contrary
- to the normal unix getenv(), this returns an allocated buffer that must be
- free()ed after use.
-
- lib/netrc.c holds the .netrc parser
-
- lib/timeval.c features replacement functions for systems that don't have
- gettimeofday() and a few support functions for timeval convertions.
-
- A function named curl_version() that returns the full curl version string is
- found in lib/version.c.
-
-Persistent Connections
-======================
-
- The persistent connection support in libcurl requires some considerations on
- how to do things inside of the library.
-
- o The 'SessionHandle' struct returned in the curl_easy_init() call must never
- hold connection-oriented data. It is meant to hold the root data as well as
- all the options etc that the library-user may choose.
- o The 'SessionHandle' struct holds the "connection cache" (an array of
- pointers to 'connectdata' structs). There's one connectdata struct
- allocated for each connection that libcurl knows about. Note that when you
- use the multi interface, the multi handle will hold the connection cache
- and not the particular easy handle. This of course to allow all easy handles
- in a multi stack to be able to share and re-use connections.
- o This enables the 'curl handle' to be reused on subsequent transfers.
- o When we are about to perform a transfer with curl_easy_perform(), we first
- check for an already existing connection in the cache that we can use,
- otherwise we create a new one and add to the cache. If the cache is full
- already when we add a new connection, we close one of the present ones. We
- select which one to close dependent on the close policy that may have been
- previously set.
- o When the transfer operation is complete, we try to leave the connection
- open. Particular options may tell us not to, and protocols may signal
- closure on connections and then we don't keep it open of course.
- o When curl_easy_cleanup() is called, we close all still opened connections,
- unless of course the multi interface "owns" the connections.
-
- You do realize that the curl handle must be re-used in order for the
- persistent connections to work.
-
-multi interface/non-blocking
-============================
-
- We make an effort to provide a non-blocking interface to the library, the
- multi interface. To make that interface work as good as possible, no
- low-level functions within libcurl must be written to work in a blocking
- manner.
-
- One of the primary reasons we introduced c-ares support was to allow the name
- resolve phase to be perfectly non-blocking as well.
-
- The ultimate goal is to provide the easy interface simply by wrapping the
- multi interface functions and thus treat everything internally as the multi
- interface is the single interface we have.
-
- The FTP and the SFTP/SCP protocols are thus perfect examples of how we adapt
- and adjust the code to allow non-blocking operations even on multi-stage
- protocols. The DICT, TELNET and TFTP are crappy examples and they are subject
- for rewrite in the future to better fit the libcurl protocol family.
-
-SSL libraries
-=============
-
- Originally libcurl supported SSLeay for SSL/TLS transports, but that was then
- extended to its successor OpenSSL but has since also been extended to several
- other SSL/TLS libraries and we expect and hope to further extend the support
- in future libcurl versions.
-
- To deal with this internally in the best way possible, we have a generic SSL
- function API as provided by the sslgen.[ch] system, and they are the only SSL
- functions we must use from within libcurl. sslgen is then crafted to use the
- appropriate lower-level function calls to whatever SSL library that is in
- use.
-
-Library Symbols
-===============
-
- All symbols used internally in libcurl must use a 'Curl_' prefix if they're
- used in more than a single file. Single-file symbols must be made static.
- Public ("exported") symbols must use a 'curl_' prefix. (There are exceptions,
- but they are to be changed to follow this pattern in future versions.)
-
-Return Codes and Informationals
-===============================
-
- I've made things simple. Almost every function in libcurl returns a CURLcode,
- that must be CURLE_OK if everything is OK or otherwise a suitable error code
- as the curl/curl.h include file defines. The very spot that detects an error
- must use the Curl_failf() function to set the human-readable error
- description.
-
- In aiding the user to understand what's happening and to debug curl usage, we
- must supply a fair amount of informational messages by using the Curl_infof()
- function. Those messages are only displayed when the user explicitly asks for
- them. They are best used when revealing information that isn't otherwise
- obvious.
-
-API/ABI
-=======
-
- We make an effort to not export or show internals or how internals work, as
- that makes it easier to keep a solid API/ABI over time. See docs/libcurl/ABI
- for our promise to users.
-
-Client
-======
-
- main() resides in src/main.c together with most of the client code.
-
- src/hugehelp.c is automatically generated by the mkhelp.pl perl script to
- display the complete "manual" and the src/urlglob.c file holds the functions
- used for the URL-"globbing" support. Globbing in the sense that the {} and []
- expansion stuff is there.
-
- The client mostly messes around to setup its 'config' struct properly, then
- it calls the curl_easy_*() functions of the library and when it gets back
- control after the curl_easy_perform() it cleans up the library, checks status
- and exits.
-
- When the operation is done, the ourWriteOut() function in src/writeout.c may
- be called to report about the operation. That function is using the
- curl_easy_getinfo() function to extract useful information from the curl
- session.
-
- Recent versions may loop and do all this several times if many URLs were
- specified on the command line or config file.
-
-Memory Debugging
-================
-
- The file lib/memdebug.c contains debug-versions of a few functions. Functions
- such as malloc, free, fopen, fclose, etc that somehow deal with resources
- that might give us problems if we "leak" them. The functions in the memdebug
- system do nothing fancy, they do their normal function and then log
- information about what they just did. The logged data can then be analyzed
- after a complete session,
-
- memanalyze.pl is the perl script present only present in CVS (not part of the
- release archives) that analyzes a log file generated by the memdebug
- system. It detects if resources are allocated but never freed and other kinds
- of errors related to resource management.
-
- Use -DMALLOCDEBUG when compiling to enable memory debugging, this is also
- switched on by running configure with --enable-debug.
-
-Test Suite
-==========
-
- Since November 2000, a test suite has evolved. It is placed in its own
- subdirectory directly off the root in the curl archive tree, and it contains
- a bunch of scripts and a lot of test case data.
-
- The main test script is runtests.pl that will invoke the two servers
- httpserver.pl and ftpserver.pl before all the test cases are performed. The
- test suite currently only runs on unix-like platforms.
-
- You'll find a complete description of the test case data files in the
- tests/README file.
-
- The test suite automatically detects if curl was built with the memory
- debugging enabled, and if it was it will detect memory leaks too.
-
-Building Releases
-=================
-
- There's no magic to this. When you consider everything stable enough to be
- released, run the 'maketgz' script (using 'make distcheck' will give you a
- pretty good view on the status of the current sources). maketgz prompts for
- version number of the client and the library before it creates a release
- archive. maketgz uses 'make dist' for the actual archive building, why you
- need to fill in the Makefile.am files properly for which files that should
- be included in the release archives.
-
diff --git a/Utilities/cmcurl-7.19.0/docs/KNOWN_BUGS b/Utilities/cmcurl-7.19.0/docs/KNOWN_BUGS
deleted file mode 100644
index 2c263e7..0000000
--- a/Utilities/cmcurl-7.19.0/docs/KNOWN_BUGS
+++ /dev/null
@@ -1,188 +0,0 @@
-These are problems known to exist at the time of this release. Feel free to
-join in and help us correct one or more of these! Also be sure to check the
-changelog of the current development status, as one or more of these problems
-may have been fixed since this was written!
-
-58. It seems sensible to be able to use CURLOPT_NOBODY and
- CURLOPT_FAILONERROR with FTP to detect if a file exists or not, but it is
- not working: http://curl.haxx.se/mail/lib-2008-07/0295.html
-
-57. On VMS-Alpha: When using an http-file-upload the file is not sent to the
- Server with the correct content-length. Sending a file with 511 or less
- bytes, content-length 512 is used. Sending a file with 513 - 1023 bytes,
- content-length 1024 is used. Files with a length of a multiple of 512 Bytes
- show the correct content-length. Only these files work for upload.
- http://curl.haxx.se/bug/view.cgi?id=2057858
-
-56. When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP
- server using the multi interface, the commands are not being sent correctly
- and instead the connection is "cancelled" (the operation is considered done)
- prematurely. There is a half-baked (busy-looping) patch provided in the bug
- report but it cannot be accepted as-is. See
- http://curl.haxx.se/bug/view.cgi?id=2006544
-
-55. libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's
- library header files exporting symbols/macros that should be kept private
- to the KfW library. See ticket #5601 at http://krbdev.mit.edu/rt/
-
-53. SFTP busy-loop problem. When doing SFTP uploads, we can see that libcurl
- occasionally will busy-loop while waiting for certain network conditions.
- Reported by Pavel Shalagin, explained somewhat by Daniel Stenberg here:
- http://curl.haxx.se/mail/lib-2008-04/0439.html
-
-52. Gautam Kachroo's issue that identifies a problem with the multi interface
- where a connection can be re-used without actually being properly
- SSL-negoatiated:
- http://curl.haxx.se/mail/lib-2008-01/0277.html
-
-49. If using --retry and the transfer timeouts (possibly due to using -m or
- -y/-Y) the next attempt doesn't resume the transfer properly from what was
- downloaded in the previous attempt but will truncate and restart at the
- original position where it was at before the previous failed attempt. See
- http://curl.haxx.se/mail/lib-2008-01/0080.html and Mandriva bug report
- https://qa.mandriva.com/show_bug.cgi?id=22565
-
-48. If a CONNECT response-headers are larger than BUFSIZE (16KB) when the
- connection is meant to be kept alive (like for NTLM proxy auth), the
- function will return prematurely and will confuse the rest of the HTTP
- protocol code. This should be very rare.
-
-45. libcurl built to support ipv6 uses getaddrinfo() to resolve host names.
- getaddrinfo() sorts the response list which effectively kills how libcurl
- deals with round-robin DNS entries. All details:
- http://curl.haxx.se/mail/lib-2007-07/0168.html
- initial suggested function to use for randomizing the response:
- http://curl.haxx.se/mail/lib-2007-07/0178.html
-
-43. There seems to be a problem when connecting to the Microsoft telnet server.
- http://curl.haxx.se/bug/view.cgi?id=1720605
-
-41. When doing an operation over FTP that requires the ACCT command (but not
- when logging in), the operation will fail since libcurl doesn't detect this
- and thus fails to issue the correct command:
- http://curl.haxx.se/bug/view.cgi?id=1693337
-
-39. Steffen Rumler's Race Condition in Curl_proxyCONNECT:
- http://curl.haxx.se/mail/lib-2007-01/0045.html
-
-38. Kumar Swamy Bhatt's problem in ftp/ssl "LIST" operation:
- http://curl.haxx.se/mail/lib-2007-01/0103.html
-
-37. Having more than one connection to the same host when doing NTLM
- authentication (with performs multiple "passes" and authenticates a
- connection rather than a HTTP request), and particularly when using the
- multi interface, there's a risk that libcurl will re-use a wrong connection
- when doing the different passes in the NTLM negotiation and thus fail to
- negotiate (in seemingly mysterious ways).
-
-35. Both SOCKS5 and SOCKS4 proxy connections are done blocking, which is very
- bad when used with the multi interface.
-
-34. The SOCKS4 connection codes don't properly acknowledge (connect) timeouts.
- Also see #12. According to bug #1556528, even the SOCKS5 connect code does
- not do it right: http://curl.haxx.se/bug/view.cgi?id=1556528,
-
-31. "curl-config --libs" will include details set in LDFLAGS when configure is
- run that might be needed only for building libcurl. Further, curl-config
- --cflags suffers from the same effects with CFLAGS/CPPFLAGS.
-
-30. You need to use -g to the command line tool in order to use RFC2732-style
- IPv6 numerical addresses in URLs.
-
-29. IPv6 URLs with zone ID is not supported.
- http://www.ietf.org/internet-drafts/draft-fenner-literal-zone-02.txt (expired)
- specifies the use of a plus sign instead of a percent when specifying zone
- IDs in URLs to get around the problem of percent signs being
- special. According to the reporter, Firefox deals with the URL _with_ a
- percent letter (which seems like a blatant URL spec violation).
-
- See http://curl.haxx.se/bug/view.cgi?id=1371118
-
-26. NTLM authentication using SSPI (on Windows) when (lib)curl is running in
- "system context" will make it use wrong(?) user name - at least when compared
- to what winhttp does. See http://curl.haxx.se/bug/view.cgi?id=1281867
-
-23. SOCKS-related problems:
- A) libcurl doesn't support SOCKS for IPv6.
- B) libcurl doesn't support FTPS over a SOCKS proxy.
- E) libcurl doesn't support active FTP over a SOCKS proxy
-
- We probably have even more bugs and lack of features when a SOCKS proxy is
- used.
-
-22. Sending files to a FTP server using curl on VMS, might lead to curl
- complaining on "unaligned file size" on completion. The problem is related
- to VMS file structures and the perceived file sizes stat() returns. A
- possible fix would involve sending a "STRU VMS" command.
- http://curl.haxx.se/bug/view.cgi?id=1156287
-
-21. FTP ASCII transfers do not follow RFC959. They don't convert the data
- accordingly (not for sending nor for receiving). RFC 959 section 3.1.1.1
- clearly describes how this should be done:
-
- The sender converts the data from an internal character representation to
- the standard 8-bit NVT-ASCII representation (see the Telnet
- specification). The receiver will convert the data from the standard
- form to his own internal form.
-
- Since 7.15.4 at least line endings are converted.
-
-16. FTP URLs passed to curl may contain NUL (0x00) in the RFC 1738 <user>,
- <password>, and <fpath> components, encoded as "%00". The problem is that
- curl_unescape does not detect this, but instead returns a shortened C
- string. From a strict FTP protocol standpoint, NUL is a valid character
- within RFC 959 <string>, so the way to handle this correctly in curl would
- be to use a data structure other than a plain C string, one that can handle
- embedded NUL characters. From a practical standpoint, most FTP servers
- would not meaningfully support NUL characters within RFC 959 <string>,
- anyway (e.g., UNIX pathnames may not contain NUL).
-
-14. Test case 165 might fail on system which has libidn present, but with an
- old iconv version (2.1.3 is a known bad version), since it doesn't recognize
- the charset when named ISO8859-1. Changing the name to ISO-8859-1 makes the
- test pass, but instead makes it fail on Solaris hosts that use its native
- iconv.
-
-13. curl version 7.12.2 fails on AIX if compiled with --enable-ares.
- The workaround is to combine --enable-ares with --disable-shared
-
-12. When connecting to a SOCKS proxy, the (connect) timeout is not properly
- acknowledged after the actual TCP connect (during the SOCKS "negotiate"
- phase).
-
-10. To get HTTP Negotiate authentication to work fine, you need to provide a
- (fake) user name (this concerns both curl and the lib) because the code
- wrongly only considers authentication if there's a user name provided.
- http://curl.haxx.se/bug/view.cgi?id=1004841. How?
- http://curl.haxx.se/mail/lib-2004-08/0182.html
-
-8. Doing resumed upload over HTTP does not work with '-C -', because curl
- doesn't do a HEAD first to get the initial size. This needs to be done
- manually for HTTP PUT resume to work, and then '-C [index]'.
-
-7. CURLOPT_USERPWD and CURLOPT_PROXYUSERPWD have no way of providing user names
- that contain a colon. This can't be fixed easily in a backwards compatible
- way without adding new options (and then, they should most probably allow
- setting user name and password separately).
-
-6. libcurl ignores empty path parts in FTP URLs, whereas RFC1738 states that
- such parts should be sent to the server as 'CWD ' (without an argument).
- The only exception to this rule, is that we knowingly break this if the
- empty part is first in the path, as then we use the double slashes to
- indicate that the user wants to reach the root dir (this exception SHALL
- remain even when this bug is fixed).
-
-5. libcurl doesn't treat the content-length of compressed data properly, as
- it seems HTTP servers send the *uncompressed* length in that header and
- libcurl thinks of it as the *compressed* length. Some explanations are here:
- http://curl.haxx.se/mail/lib-2003-06/0146.html
-
-2. If a HTTP server responds to a HEAD request and includes a body (thus
- violating the RFC2616), curl won't wait to read the response but just stop
- reading and return back. If a second request (let's assume a GET) is then
- immediately made to the same server again, the connection will be re-used
- fine of course, and the second request will be sent off but when the
- response is to get read, the previous response-body is what curl will read
- and havoc is what happens.
- More details on this is found in this libcurl mailing list thread:
- http://curl.haxx.se/mail/lib-2002-08/0000.html
diff --git a/Utilities/cmcurl-7.19.0/docs/LICENSE-MIXING b/Utilities/cmcurl-7.19.0/docs/LICENSE-MIXING
deleted file mode 100644
index 3db1a3d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/LICENSE-MIXING
+++ /dev/null
@@ -1,126 +0,0 @@
- License Mixing with apps, libcurl and Third Party Libraries
- ===========================================================
-
-libcurl can be built to use a fair amount of various third party libraries,
-libraries that are written and provided by other parties that are distributed
-using their own licenses. Even libcurl itself contains code that may cause
-problems to some. This document attempts to describe what licenses libcurl and
-the other libraries use and what possible dilemmas linking and mixing them all
-can lead to for end users.
-
-I am not a lawyer and this is not legal advice!
-
-One common dilemma is that GPL[1]-licensed code is not allowed to be linked
-with code licensed under the Original BSD license (with the announcement
-clause). You may still build your own copies that use them all, but
-distributing them as binaries would be to violate the GPL license - unless you
-accompany your license with an exception[2]. This particular problem was
-addressed when the Modified BSD license was created, which does not have the
-announcement clause that collides with GPL.
-
-libcurl http://curl.haxx.se/docs/copyright.html
-
- Uses an MIT (or Modified BSD)-style license that is as liberal as
- possible. Some of the source files that deal with KRB4 have Original
- BSD-style announce-clause licenses. You may not distribute binaries
- with krb4-enabled libcurl that also link with GPL-licensed code!
-
-OpenSSL http://www.openssl.org/source/license.html
-
- (May be used for SSL/TLS support) Uses an Original BSD-style license
- with an announcement clause that makes it "incompatible" with GPL. You
- are not allowed to ship binaries that link with OpenSSL that includes
- GPL code (unless that specific GPL code includes an exception for
- OpenSSL - a habit that is growing more and more common). If OpenSSL's
- licensing is a problem for you, consider using GnuTLS or yassl
- instead.
-
-GnuTLS http://www.gnutls.org/
-
- (May be used for SSL/TLS support) Uses the LGPL[3] license. If this is
- a problem for you, consider using OpenSSL instead. Also note that
- GnuTLS itself depends on and uses other libs (libgcrypt and
- libgpg-error) and they too are LGPL- or GPL-licensed.
-
-yassl http://www.yassl.com/
-
- (May be used for SSL/TLS support) Uses the GPL[1] license. If this is
- a problem for you, consider using OpenSSL or GnuTLS instead.
-
-NSS http://www.mozilla.org/projects/security/pki/nss/
-
- (May be used for SSL/TLS support) Is covered by the MPL[4] license,
- the GPL[1] license and the LGPL[3] license. You may choose to license
- the code under MPL terms, GPL terms, or LGPL terms. These licenses
- grant you different permissions and impose different obligations. You
- should select the license that best meets your needs.
-
-c-ares http://daniel.haxx.se/projects/c-ares/license.html
-
- (Used for asynchronous name resolves) Uses an MIT license that is very
- liberal and imposes no restrictions on any other library or part you
- may link with.
-
-zlib http://www.gzip.org/zlib/zlib_license.html
-
- (Used for compressed Transfer-Encoding support) Uses an MIT-style
- license that shouldn't collide with any other library.
-
-krb4
-
- While nothing in particular says that a Kerberos4 library must use any
- particular license, the one I've tried and used successfully so far
- (kth-krb4) is partly Original BSD-licensed with the announcement
- clause. Some of the code in libcurl that is written to deal with
- Kerberos4 is Modified BSD-licensed.
-
-MIT Kerberos http://web.mit.edu/kerberos/www/dist/
-
- (May be used for GSS support) MIT licensed, that shouldn't collide
- with any other parts.
-
-Heimdal http://www.pdc.kth.se/heimdal/
-
- (May be used for GSS support) Heimdal is Original BSD licensed with
- the announcement clause.
-
-GNU GSS http://www.gnu.org/software/gss/
-
- (May be used for GSS support) GNU GSS is GPL licensed. Note that you
- may not distribute binary curl packages that uses this if you build
- curl to also link and use any Original BSD licensed libraries!
-
-fbopenssl
-
- (Used for SPNEGO support) Unclear license. Based on its name, I assume
- that it uses the OpenSSL license and thus shares the same issues as
- described for OpenSSL above.
-
-libidn http://josefsson.org/libidn/
-
- (Used for IDNA support) Uses the GNU Lesser General Public
- License [3]. LGPL is a variation of GPL with slightly less aggressive
- "copyleft". This license requires more requirements to be met when
- distributing binaries, see the license for details. Also note that if
- you distribute a binary that includes this library, you must also
- include the full LGPL license text. Please properly point out what
- parts of the distributed package that the license addresses.
-
-OpenLDAP http://www.openldap.org/software/release/license.html
-
- (Used for LDAP support) Uses a Modified BSD-style license. Since
- libcurl uses OpenLDAP as a shared library only, I have not heard of
- anyone that ships OpenLDAP linked with libcurl in an app.
-
-libssh2 http://www.libssh2.org/
-
- (Used for scp and sftp support) libssh2 uses a Modified BSD-style
- license.
-
-[1] = GPL - GNU General Public License: http://www.gnu.org/licenses/gpl.html
-[2] = http://www.fsf.org/licenses/gpl-faq.html#GPLIncompatibleLibs details on
- how to write such an exception to the GPL
-[3] = LGPL - GNU Lesser General Public License:
- http://www.gnu.org/licenses/lgpl.html
-[4] = MPL - Mozilla Public License:
- http://www.mozilla.org/MPL/
diff --git a/Utilities/cmcurl-7.19.0/docs/MANUAL b/Utilities/cmcurl-7.19.0/docs/MANUAL
deleted file mode 100644
index 3aea5d4..0000000
--- a/Utilities/cmcurl-7.19.0/docs/MANUAL
+++ /dev/null
@@ -1,962 +0,0 @@
-LATEST VERSION
-
- You always find news about what's going on as well as the latest versions
- from the curl web pages, located at:
-
- http://curl.haxx.se
-
-SIMPLE USAGE
-
- Get the main page from Netscape's web-server:
-
- curl http://www.netscape.com/
-
- Get the README file the user's home directory at funet's ftp-server:
-
- curl ftp://ftp.funet.fi/README
-
- Get a web page from a server using port 8000:
-
- curl http://www.weirdserver.com:8000/
-
- Get a list of a directory of an FTP site:
-
- curl ftp://cool.haxx.se/
-
- Get the definition of curl from a dictionary:
-
- curl dict://dict.org/m:curl
-
- Fetch two documents at once:
-
- curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/
-
- Get a file off an FTPS server:
-
- curl ftps://files.are.secure.com/secrets.txt
-
- or use the more appropriate FTPS way to get the same file:
-
- curl --ftp-ssl ftp://files.are.secure.com/secrets.txt
-
- Get a file from an SSH server using SFTP:
-
- curl -u username sftp://shell.example.com/etc/issue
-
- Get a file from an SSH server using SCP using a private key to authenticate:
-
- curl -u username: --key ~/.ssh/id_dsa --pubkey ~/.ssh/id_dsa.pub \
- scp://shell.example.com/~/personal.txt
-
- Get the main page from an IPv6 web server:
-
- curl -g "http://[2001:1890:1112:1::20]/"
-
-DOWNLOAD TO A FILE
-
- Get a web page and store in a local file:
-
- curl -o thatpage.html http://www.netscape.com/
-
- Get a web page and store in a local file, make the local file get the name
- of the remote document (if no file name part is specified in the URL, this
- will fail):
-
- curl -O http://www.netscape.com/index.html
-
- Fetch two files and store them with their remote names:
-
- curl -O www.haxx.se/index.html -O curl.haxx.se/download.html
-
-USING PASSWORDS
-
- FTP
-
- To ftp files using name+passwd, include them in the URL like:
-
- curl ftp://name:passwd@machine.domain:port/full/path/to/file
-
- or specify them with the -u flag like
-
- curl -u name:passwd ftp://machine.domain:port/full/path/to/file
-
- FTPS
-
- It is just like for FTP, but you may also want to specify and use
- SSL-specific options for certificates etc.
-
- Note that using FTPS:// as prefix is the "implicit" way as described in the
- standards while the recommended "explicit" way is done by using FTP:// and
- the --ftp-ssl option.
-
- SFTP / SCP
-
- This is similar to FTP, but you can specify a private key to use instead of
- a password. Note that the private key may itself be protected by a password
- that is unrelated to the login password of the remote system. If you
- provide a private key file you must also provide a public key file.
-
- HTTP
-
- Curl also supports user and password in HTTP URLs, thus you can pick a file
- like:
-
- curl http://name:passwd@machine.domain/full/path/to/file
-
- or specify user and password separately like in
-
- curl -u name:passwd http://machine.domain/full/path/to/file
-
- HTTP offers many different methods of authentication and curl supports
- several: Basic, Digest, NTLM and Negotiate. Without telling which method to
- use, curl defaults to Basic. You can also ask curl to pick the most secure
- ones out of the ones that the server accepts for the given URL, by using
- --anyauth.
-
- NOTE! Since HTTP URLs don't support user and password, you can't use that
- style when using Curl via a proxy. You _must_ use the -u style fetch
- during such circumstances.
-
- HTTPS
-
- Probably most commonly used with private certificates, as explained below.
-
-PROXY
-
- Get an ftp file using a proxy named my-proxy that uses port 888:
-
- curl -x my-proxy:888 ftp://ftp.leachsite.com/README
-
- Get a file from a HTTP server that requires user and password, using the
- same proxy as above:
-
- curl -u user:passwd -x my-proxy:888 http://www.get.this/
-
- Some proxies require special authentication. Specify by using -U as above:
-
- curl -U user:passwd -x my-proxy:888 http://www.get.this/
-
- curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.
-
- See also the environment variables Curl support that offer further proxy
- control.
-
-RANGES
-
- With HTTP 1.1 byte-ranges were introduced. Using this, a client can request
- to get only one or more subparts of a specified document. Curl supports
- this with the -r flag.
-
- Get the first 100 bytes of a document:
-
- curl -r 0-99 http://www.get.this/
-
- Get the last 500 bytes of a document:
-
- curl -r -500 http://www.get.this/
-
- Curl also supports simple ranges for FTP files as well. Then you can only
- specify start and stop position.
-
- Get the first 100 bytes of a document using FTP:
-
- curl -r 0-99 ftp://www.get.this/README
-
-UPLOADING
-
- FTP / FTPS / SFTP / SCP
-
- Upload all data on stdin to a specified server:
-
- curl -T - ftp://ftp.upload.com/myfile
-
- Upload data from a specified file, login with user and password:
-
- curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
-
- Upload a local file to the remote site, and use the local file name remote
- too:
-
- curl -T uploadfile -u user:passwd ftp://ftp.upload.com/
-
- Upload a local file to get appended to the remote file:
-
- curl -T localfile -a ftp://ftp.upload.com/remotefile
-
- Curl also supports ftp upload through a proxy, but only if the proxy is
- configured to allow that kind of tunneling. If it does, you can run curl in
- a fashion similar to:
-
- curl --proxytunnel -x proxy:port -T localfile ftp.upload.com
-
- HTTP
-
- Upload all data on stdin to a specified http site:
-
- curl -T - http://www.upload.com/myfile
-
- Note that the http server must have been configured to accept PUT before
- this can be done successfully.
-
- For other ways to do http data upload, see the POST section below.
-
-VERBOSE / DEBUG
-
- If curl fails where it isn't supposed to, if the servers don't let you in,
- if you can't understand the responses: use the -v flag to get verbose
- fetching. Curl will output lots of info and what it sends and receives in
- order to let the user see all client-server interaction (but it won't show
- you the actual data).
-
- curl -v ftp://ftp.upload.com/
-
- To get even more details and information on what curl does, try using the
- --trace or --trace-ascii options with a given file name to log to, like
- this:
-
- curl --trace trace.txt www.haxx.se
-
-
-DETAILED INFORMATION
-
- Different protocols provide different ways of getting detailed information
- about specific files/documents. To get curl to show detailed information
- about a single file, you should use -I/--head option. It displays all
- available info on a single file for HTTP and FTP. The HTTP information is a
- lot more extensive.
-
- For HTTP, you can get the header information (the same as -I would show)
- shown before the data by using -i/--include. Curl understands the
- -D/--dump-header option when getting files from both FTP and HTTP, and it
- will then store the headers in the specified file.
-
- Store the HTTP headers in a separate file (headers.txt in the example):
-
- curl --dump-header headers.txt curl.haxx.se
-
- Note that headers stored in a separate file can be very useful at a later
- time if you want curl to use cookies sent by the server. More about that in
- the cookies section.
-
-POST (HTTP)
-
- It's easy to post data using curl. This is done using the -d <data>
- option. The post data must be urlencoded.
-
- Post a simple "name" and "phone" guestbook.
-
- curl -d "name=Rafael%20Sagula&phone=3320780" \
- http://www.where.com/guest.cgi
-
- How to post a form with curl, lesson #1:
-
- Dig out all the <input> tags in the form that you want to fill in. (There's
- a perl program called formfind.pl on the curl site that helps with this).
-
- If there's a "normal" post, you use -d to post. -d takes a full "post
- string", which is in the format
-
- <variable1>=<data1>&<variable2>=<data2>&...
-
- The 'variable' names are the names set with "name=" in the <input> tags, and
- the data is the contents you want to fill in for the inputs. The data *must*
- be properly URL encoded. That means you replace space with + and that you
- write weird letters with %XX where XX is the hexadecimal representation of
- the letter's ASCII code.
-
- Example:
-
- (page located at http://www.formpost.com/getthis/
-
- <form action="post.cgi" method="post">
- <input name=user size=10>
- <input name=pass type=password size=10>
- <input name=id type=hidden value="blablabla">
- <input name=ding value="submit">
- </form>
-
- We want to enter user 'foobar' with password '12345'.
-
- To post to this, you enter a curl command line like:
-
- curl -d "user=foobar&pass=12345&id=blablabla&ding=submit" (continues)
- http://www.formpost.com/getthis/post.cgi
-
-
- While -d uses the application/x-www-form-urlencoded mime-type, generally
- understood by CGI's and similar, curl also supports the more capable
- multipart/form-data type. This latter type supports things like file upload.
-
- -F accepts parameters like -F "name=contents". If you want the contents to
- be read from a file, use <@filename> as contents. When specifying a file,
- you can also specify the file content type by appending ';type=<mime type>'
- to the file name. You can also post the contents of several files in one
- field. For example, the field name 'coolfiles' is used to send three files,
- with different content types using the following syntax:
-
- curl -F "coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html" \
- http://www.post.com/postit.cgi
-
- If the content-type is not specified, curl will try to guess from the file
- extension (it only knows a few), or use the previously specified type (from
- an earlier file if several files are specified in a list) or else it will
- using the default type 'text/plain'.
-
- Emulate a fill-in form with -F. Let's say you fill in three fields in a
- form. One field is a file name which to post, one field is your name and one
- field is a file description. We want to post the file we have written named
- "cooltext.txt". To let curl do the posting of this data instead of your
- favourite browser, you have to read the HTML source of the form page and
- find the names of the input fields. In our example, the input field names
- are 'file', 'yourname' and 'filedescription'.
-
- curl -F "file=@cooltext.txt" -F "yourname=Daniel" \
- -F "filedescription=Cool text file with cool text inside" \
- http://www.post.com/postit.cgi
-
- To send two files in one post you can do it in two ways:
-
- 1. Send multiple files in a single "field" with a single field name:
-
- curl -F "pictures=@dog.gif,cat.gif"
-
- 2. Send two fields with two field names:
-
- curl -F "docpicture=@dog.gif" -F "catpicture=@cat.gif"
-
- To send a field value literally without interpreting a leading '@'
- or '<', or an embedded ';type=', use --form-string instead of
- -F. This is recommended when the value is obtained from a user or
- some other unpredictable source. Under these circumstances, using
- -F instead of --form-string would allow a user to trick curl into
- uploading a file.
-
-REFERRER
-
- A HTTP request has the option to include information about which address
- that referred to actual page. Curl allows you to specify the
- referrer to be used on the command line. It is especially useful to
- fool or trick stupid servers or CGI scripts that rely on that information
- being available or contain certain data.
-
- curl -e www.coolsite.com http://www.showme.com/
-
- NOTE: The Referer: [sic] field is defined in the HTTP spec to be a full URL.
-
-USER AGENT
-
- A HTTP request has the option to include information about the browser
- that generated the request. Curl allows it to be specified on the command
- line. It is especially useful to fool or trick stupid servers or CGI
- scripts that only accept certain browsers.
-
- Example:
-
- curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/
-
- Other common strings:
- 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95
- 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95
- 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2
- 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX
- 'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)' NS for Linux
-
- Note that Internet Explorer tries hard to be compatible in every way:
- 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95
-
- Mozilla is not the only possible User-Agent name:
- 'Konqueror/1.0' KDE File Manager desktop client
- 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser
-
-COOKIES
-
- Cookies are generally used by web servers to keep state information at the
- client's side. The server sets cookies by sending a response line in the
- headers that looks like 'Set-Cookie: <data>' where the data part then
- typically contains a set of NAME=VALUE pairs (separated by semicolons ';'
- like "NAME1=VALUE1; NAME2=VALUE2;"). The server can also specify for what
- path the "cookie" should be used for (by specifying "path=value"), when the
- cookie should expire ("expire=DATE"), for what domain to use it
- ("domain=NAME") and if it should be used on secure connections only
- ("secure").
-
- If you've received a page from a server that contains a header like:
- Set-Cookie: sessionid=boo123; path="/foo";
-
- it means the server wants that first pair passed on when we get anything in
- a path beginning with "/foo".
-
- Example, get a page that wants my name passed in a cookie:
-
- curl -b "name=Daniel" www.sillypage.com
-
- Curl also has the ability to use previously received cookies in following
- sessions. If you get cookies from a server and store them in a file in a
- manner similar to:
-
- curl --dump-header headers www.example.com
-
- ... you can then in a second connect to that (or another) site, use the
- cookies from the 'headers' file like:
-
- curl -b headers www.example.com
-
- While saving headers to a file is a working way to store cookies, it is
- however error-prone and not the preferred way to do this. Instead, make curl
- save the incoming cookies using the well-known netscape cookie format like
- this:
-
- curl -c cookies.txt www.example.com
-
- Note that by specifying -b you enable the "cookie awareness" and with -L
- you can make curl follow a location: (which often is used in combination
- with cookies). So that if a site sends cookies and a location, you can
- use a non-existing file to trigger the cookie awareness like:
-
- curl -L -b empty.txt www.example.com
-
- The file to read cookies from must be formatted using plain HTTP headers OR
- as netscape's cookie file. Curl will determine what kind it is based on the
- file contents. In the above command, curl will parse the header and store
- the cookies received from www.example.com. curl will send to the server the
- stored cookies which match the request as it follows the location. The
- file "empty.txt" may be a nonexistent file.
-
- Alas, to both read and write cookies from a netscape cookie file, you can
- set both -b and -c to use the same file:
-
- curl -b cookies.txt -c cookies.txt www.example.com
-
-PROGRESS METER
-
- The progress meter exists to show a user that something actually is
- happening. The different fields in the output have the following meaning:
-
- % Total % Received % Xferd Average Speed Time Curr.
- Dload Upload Total Current Left Speed
- 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287
-
- From left-to-right:
- % - percentage completed of the whole transfer
- Total - total size of the whole expected transfer
- % - percentage completed of the download
- Received - currently downloaded amount of bytes
- % - percentage completed of the upload
- Xferd - currently uploaded amount of bytes
- Average Speed
- Dload - the average transfer speed of the download
- Average Speed
- Upload - the average transfer speed of the upload
- Time Total - expected time to complete the operation
- Time Current - time passed since the invoke
- Time Left - expected time left to completion
- Curr.Speed - the average transfer speed the last 5 seconds (the first
- 5 seconds of a transfer is based on less time of course.)
-
- The -# option will display a totally different progress bar that doesn't
- need much explanation!
-
-SPEED LIMIT
-
- Curl allows the user to set the transfer speed conditions that must be met
- to let the transfer keep going. By using the switch -y and -Y you
- can make curl abort transfers if the transfer speed is below the specified
- lowest limit for a specified time.
-
- To have curl abort the download if the speed is slower than 3000 bytes per
- second for 1 minute, run:
-
- curl -Y 3000 -y 60 www.far-away-site.com
-
- This can very well be used in combination with the overall time limit, so
- that the above operation must be completed in whole within 30 minutes:
-
- curl -m 1800 -Y 3000 -y 60 www.far-away-site.com
-
- Forcing curl not to transfer data faster than a given rate is also possible,
- which might be useful if you're using a limited bandwidth connection and you
- don't want your transfer to use all of it (sometimes referred to as
- "bandwidth throttle").
-
- Make curl transfer data no faster than 10 kilobytes per second:
-
- curl --limit-rate 10K www.far-away-site.com
-
- or
-
- curl --limit-rate 10240 www.far-away-site.com
-
- Or prevent curl from uploading data faster than 1 megabyte per second:
-
- curl -T upload --limit-rate 1M ftp://uploadshereplease.com
-
- When using the --limit-rate option, the transfer rate is regulated on a
- per-second basis, which will cause the total transfer speed to become lower
- than the given number. Sometimes of course substantially lower, if your
- transfer stalls during periods.
-
-CONFIG FILE
-
- Curl automatically tries to read the .curlrc file (or _curlrc file on win32
- systems) from the user's home dir on startup.
-
- The config file could be made up with normal command line switches, but you
- can also specify the long options without the dashes to make it more
- readable. You can separate the options and the parameter with spaces, or
- with = or :. Comments can be used within the file. If the first letter on a
- line is a '#'-letter the rest of the line is treated as a comment.
-
- If you want the parameter to contain spaces, you must enclose the entire
- parameter within double quotes ("). Within those quotes, you specify a
- quote as \".
-
- NOTE: You must specify options and their arguments on the same line.
-
- Example, set default time out and proxy in a config file:
-
- # We want a 30 minute timeout:
- -m 1800
- # ... and we use a proxy for all accesses:
- proxy = proxy.our.domain.com:8080
-
- White spaces ARE significant at the end of lines, but all white spaces
- leading up to the first characters of each line are ignored.
-
- Prevent curl from reading the default file by using -q as the first command
- line parameter, like:
-
- curl -q www.thatsite.com
-
- Force curl to get and display a local help page in case it is invoked
- without URL by making a config file similar to:
-
- # default url to get
- url = "http://help.with.curl.com/curlhelp.html"
-
- You can specify another config file to be read by using the -K/--config
- flag. If you set config file name to "-" it'll read the config from stdin,
- which can be handy if you want to hide options from being visible in process
- tables etc:
-
- echo "user = user:passwd" | curl -K - http://that.secret.site.com
-
-EXTRA HEADERS
-
- When using curl in your own very special programs, you may end up needing
- to pass on your own custom headers when getting a web page. You can do
- this by using the -H flag.
-
- Example, send the header "X-you-and-me: yes" to the server when getting a
- page:
-
- curl -H "X-you-and-me: yes" www.love.com
-
- This can also be useful in case you want curl to send a different text in a
- header than it normally does. The -H header you specify then replaces the
- header curl would normally send. If you replace an internal header with an
- empty one, you prevent that header from being sent. To prevent the Host:
- header from being used:
-
- curl -H "Host:" www.server.com
-
-FTP and PATH NAMES
-
- Do note that when getting files with the ftp:// URL, the given path is
- relative the directory you enter. To get the file 'README' from your home
- directory at your ftp site, do:
-
- curl ftp://user:passwd@my.site.com/README
-
- But if you want the README file from the root directory of that very same
- site, you need to specify the absolute file name:
-
- curl ftp://user:passwd@my.site.com//README
-
- (I.e with an extra slash in front of the file name.)
-
-SFTP and SCP and PATH NAMES
-
- With sftp: and scp: URLs, the path name given is the absolute name on the
- server. To access a file relative to the remote user's home directory,
- prefix the file with /~/ , such as:
-
- curl -u $USER sftp://home.example.com/~/.bashrc
-
-FTP and firewalls
-
- The FTP protocol requires one of the involved parties to open a second
- connection as soon as data is about to get transfered. There are two ways to
- do this.
-
- The default way for curl is to issue the PASV command which causes the
- server to open another port and await another connection performed by the
- client. This is good if the client is behind a firewall that don't allow
- incoming connections.
-
- curl ftp.download.com
-
- If the server for example, is behind a firewall that don't allow connections
- on other ports than 21 (or if it just doesn't support the PASV command), the
- other way to do it is to use the PORT command and instruct the server to
- connect to the client on the given (as parameters to the PORT command) IP
- number and port.
-
- The -P flag to curl supports a few different options. Your machine may have
- several IP-addresses and/or network interfaces and curl allows you to select
- which of them to use. Default address can also be used:
-
- curl -P - ftp.download.com
-
- Download with PORT but use the IP address of our 'le0' interface (this does
- not work on windows):
-
- curl -P le0 ftp.download.com
-
- Download with PORT but use 192.168.0.10 as our IP address to use:
-
- curl -P 192.168.0.10 ftp.download.com
-
-NETWORK INTERFACE
-
- Get a web page from a server using a specified port for the interface:
-
- curl --interface eth0:1 http://www.netscape.com/
-
- or
-
- curl --interface 192.168.1.10 http://www.netscape.com/
-
-HTTPS
-
- Secure HTTP requires SSL libraries to be installed and used when curl is
- built. If that is done, curl is capable of retrieving and posting documents
- using the HTTPS protocol.
-
- Example:
-
- curl https://www.secure-site.com
-
- Curl is also capable of using your personal certificates to get/post files
- from sites that require valid certificates. The only drawback is that the
- certificate needs to be in PEM-format. PEM is a standard and open format to
- store certificates with, but it is not used by the most commonly used
- browsers (Netscape and MSIE both use the so called PKCS#12 format). If you
- want curl to use the certificates you use with your (favourite) browser, you
- may need to download/compile a converter that can convert your browser's
- formatted certificates to PEM formatted ones. This kind of converter is
- included in recent versions of OpenSSL, and for older versions Dr Stephen
- N. Henson has written a patch for SSLeay that adds this functionality. You
- can get his patch (that requires an SSLeay installation) from his site at:
- http://www.drh-consultancy.demon.co.uk/
-
- Example on how to automatically retrieve a document using a certificate with
- a personal password:
-
- curl -E /path/to/cert.pem:password https://secure.site.com/
-
- If you neglect to specify the password on the command line, you will be
- prompted for the correct password before any data can be received.
-
- Many older SSL-servers have problems with SSLv3 or TLS, that newer versions
- of OpenSSL etc is using, therefore it is sometimes useful to specify what
- SSL-version curl should use. Use -3, -2 or -1 to specify that exact SSL
- version to use (for SSLv3, SSLv2 or TLSv1 respectively):
-
- curl -2 https://secure.site.com/
-
- Otherwise, curl will first attempt to use v3 and then v2.
-
- To use OpenSSL to convert your favourite browser's certificate into a PEM
- formatted one that curl can use, do something like this (assuming netscape,
- but IE is likely to work similarly):
-
- You start with hitting the 'security' menu button in netscape.
-
- Select 'certificates->yours' and then pick a certificate in the list
-
- Press the 'export' button
-
- enter your PIN code for the certs
-
- select a proper place to save it
-
- Run the 'openssl' application to convert the certificate. If you cd to the
- openssl installation, you can do it like:
-
- # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile]
-
-
-RESUMING FILE TRANSFERS
-
- To continue a file transfer where it was previously aborted, curl supports
- resume on http(s) downloads as well as ftp uploads and downloads.
-
- Continue downloading a document:
-
- curl -C - -o file ftp://ftp.server.com/path/file
-
- Continue uploading a document(*1):
-
- curl -C - -T file ftp://ftp.server.com/path/file
-
- Continue downloading a document from a web server(*2):
-
- curl -C - -o file http://www.server.com/
-
- (*1) = This requires that the ftp server supports the non-standard command
- SIZE. If it doesn't, curl will say so.
-
- (*2) = This requires that the web server supports at least HTTP/1.1. If it
- doesn't, curl will say so.
-
-TIME CONDITIONS
-
- HTTP allows a client to specify a time condition for the document it
- requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to
- specify them with the -z/--time-cond flag.
-
- For example, you can easily make a download that only gets performed if the
- remote file is newer than a local copy. It would be made like:
-
- curl -z local.html http://remote.server.com/remote.html
-
- Or you can download a file only if the local file is newer than the remote
- one. Do this by prepending the date string with a '-', as in:
-
- curl -z -local.html http://remote.server.com/remote.html
-
- You can specify a "free text" date as condition. Tell curl to only download
- the file if it was updated since January 12, 2012:
-
- curl -z "Jan 12 2012" http://remote.server.com/remote.html
-
- Curl will then accept a wide range of date formats. You always make the date
- check the other way around by prepending it with a dash '-'.
-
-DICT
-
- For fun try
-
- curl dict://dict.org/m:curl
- curl dict://dict.org/d:heisenbug:jargon
- curl dict://dict.org/d:daniel:web1913
-
- Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'
- and 'lookup'. For example,
-
- curl dict://dict.org/find:curl
-
- Commands that break the URL description of the RFC (but not the DICT
- protocol) are
-
- curl dict://dict.org/show:db
- curl dict://dict.org/show:strat
-
- Authentication is still missing (but this is not required by the RFC)
-
-LDAP
-
- If you have installed the OpenLDAP library, curl can take advantage of it
- and offer ldap:// support.
-
- LDAP is a complex thing and writing an LDAP query is not an easy task. I do
- advice you to dig up the syntax description for that elsewhere. Two places
- that might suit you are:
-
- Netscape's "Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10:
- Working with LDAP URLs":
- http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm
-
- RFC 2255, "The LDAP URL Format" http://curl.haxx.se/rfc/rfc2255.txt
-
- To show you an example, this is now I can get all people from my local LDAP
- server that has a certain sub-domain in their email address:
-
- curl -B "ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se"
-
- If I want the same info in HTML format, I can get it by not using the -B
- (enforce ASCII) flag.
-
-ENVIRONMENT VARIABLES
-
- Curl reads and understands the following environment variables:
-
- http_proxy, HTTPS_PROXY, FTP_PROXY
-
- They should be set for protocol-specific proxies. General proxy should be
- set with
-
- ALL_PROXY
-
- A comma-separated list of host names that shouldn't go through any proxy is
- set in (only an asterisk, '*' matches all hosts)
-
- NO_PROXY
-
- If a tail substring of the domain-path for a host matches one of these
- strings, transactions with that node will not be proxied.
-
-
- The usage of the -x/--proxy flag overrides the environment variables.
-
-NETRC
-
- Unix introduced the .netrc concept a long time ago. It is a way for a user
- to specify name and password for commonly visited ftp sites in a file so
- that you don't have to type them in each time you visit those sites. You
- realize this is a big security risk if someone else gets hold of your
- passwords, so therefore most unix programs won't read this file unless it is
- only readable by yourself (curl doesn't care though).
-
- Curl supports .netrc files if told so (using the -n/--netrc and
- --netrc-optional options). This is not restricted to only ftp,
- but curl can use it for all protocols where authentication is used.
-
- A very simple .netrc file could look something like:
-
- machine curl.haxx.se login iamdaniel password mysecret
-
-CUSTOM OUTPUT
-
- To better allow script programmers to get to know about the progress of
- curl, the -w/--write-out option was introduced. Using this, you can specify
- what information from the previous transfer you want to extract.
-
- To display the amount of bytes downloaded together with some text and an
- ending newline:
-
- curl -w 'We downloaded %{size_download} bytes\n' www.download.com
-
-KERBEROS FTP TRANSFER
-
- Curl supports kerberos4 and kerberos5/GSSAPI for FTP transfers. You need
- the kerberos package installed and used at curl build time for it to be
- used.
-
- First, get the krb-ticket the normal way, like with the kinit/kauth tool.
- Then use curl in way similar to:
-
- curl --krb private ftp://krb4site.com -u username:fakepwd
-
- There's no use for a password on the -u switch, but a blank one will make
- curl ask for one and you already entered the real password to kinit/kauth.
-
-TELNET
-
- The curl telnet support is basic and very easy to use. Curl passes all data
- passed to it on stdin to the remote server. Connect to a remote telnet
- server using a command line similar to:
-
- curl telnet://remote.server.com
-
- And enter the data to pass to the server on stdin. The result will be sent
- to stdout or to the file you specify with -o.
-
- You might want the -N/--no-buffer option to switch off the buffered output
- for slow connections or similar.
-
- Pass options to the telnet protocol negotiation, by using the -t option. To
- tell the server we use a vt100 terminal, try something like:
-
- curl -tTTYPE=vt100 telnet://remote.server.com
-
- Other interesting options for it -t include:
-
- - XDISPLOC=<X display> Sets the X display location.
-
- - NEW_ENV=<var,val> Sets an environment variable.
-
- NOTE: the telnet protocol does not specify any way to login with a specified
- user and password so curl can't do that automatically. To do that, you need
- to track when the login prompt is received and send the username and
- password accordingly.
-
-PERSISTENT CONNECTIONS
-
- Specifying multiple files on a single command line will make curl transfer
- all of them, one after the other in the specified order.
-
- libcurl will attempt to use persistent connections for the transfers so that
- the second transfer to the same host can use the same connection that was
- already initiated and was left open in the previous transfer. This greatly
- decreases connection time for all but the first transfer and it makes a far
- better use of the network.
-
- Note that curl cannot use persistent connections for transfers that are used
- in subsequence curl invokes. Try to stuff as many URLs as possible on the
- same command line if they are using the same host, as that'll make the
- transfers faster. If you use a http proxy for file transfers, practically
- all transfers will be persistent.
-
-MULTIPLE TRANSFERS WITH A SINGLE COMMAND LINE
-
- As is mentioned above, you can download multiple files with one command line
- by simply adding more URLs. If you want those to get saved to a local file
- instead of just printed to stdout, you need to add one save option for each
- URL you specify. Note that this also goes for the -O option (but not
- --remote-name-all).
-
- For example: get two files and use -O for the first and a custom file
- name for the second:
-
- curl -O http://url.com/file.txt ftp://ftp.com/moo.exe -o moo.jpg
-
- You can also upload multiple files in a similar fashion:
-
- curl -T local1 ftp://ftp.com/moo.exe -T local2 ftp://ftp.com/moo2.txt
-
-IPv6
-
- curl will connect to a server with IPv6 when a host lookup returns an IPv6
- address and fall back to IPv4 if the connection fails. The --ipv4 and --ipv6
- options can specify which address to use when both are available. IPv6
- addresses can also be specified directly in URLs using the syntax:
-
- http://[2001:1890:1112:1::20]/overview.html
-
- When this style is used, the -g option must be given to stop curl from
- interpreting the square brackets as special globbing characters. Link local
- and site local addresses including a scope identifier, such as fe80::1234%1,
- may also be used, but the scope portion must be numeric and the percent
- character must be URL escaped. The previous example in an SFTP URL might
- look like:
-
- sftp://[fe80::1234%251]/
-
- IPv6 addresses provided other than in URLs (e.g. to the --proxy, --interface
- or --ftp-port options) should not be URL encoded.
-
-
-MAILING LISTS
-
- For your convenience, we have several open mailing lists to discuss curl,
- its development and things relevant to this. Get all info at
- http://curl.haxx.se/mail/. Some of the lists available are:
-
- curl-users
-
- Users of the command line tool. How to use it, what doesn't work, new
- features, related tools, questions, news, installations, compilations,
- running, porting etc.
-
- curl-library
-
- Developers using or developing libcurl. Bugs, extensions, improvements.
-
- curl-announce
-
- Low-traffic. Only receives announcements of new public versions. At worst,
- that makes something like one or two mails per month, but usually only one
- mail every second month.
-
- curl-and-php
-
- Using the curl functions in PHP. Everything curl with a PHP angle. Or PHP
- with a curl angle.
-
- curl-and-python
-
- Python hackers using curl with or without the python binding pycurl.
-
- Please direct curl questions, feature requests and trouble reports to one of
- these mailing lists instead of mailing any individual.
diff --git a/Utilities/cmcurl-7.19.0/docs/Makefile.am b/Utilities/cmcurl-7.19.0/docs/Makefile.am
deleted file mode 100644
index 387218e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/Makefile.am
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# $Id$
-#
-
-AUTOMAKE_OPTIONS = foreign no-dependencies
-
-man_MANS = curl.1 curl-config.1
-GENHTMLPAGES = curl.html curl-config.html
-PDFPAGES = curl.pdf curl-config.pdf
-
-HTMLPAGES = $(GENHTMLPAGES) index.html
-
-SUBDIRS = examples libcurl
-
-CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES)
-
-EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS SSLCERTS \
- README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS \
- KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY INSTALL \
- $(PDFPAGES) LICENSE-MIXING README.netware DISTRO-DILEMMA INSTALL.devcpp
-
-MAN2HTML= roffit < $< >$@
-
-SUFFIXES = .1 .html .pdf
-
-html: $(HTMLPAGES)
- cd libcurl; make html
-
-pdf: $(PDFPAGES)
- cd libcurl; make pdf
-
-.1.html:
- $(MAN2HTML)
-
-.1.pdf:
- @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
- groff -Tps -man $< >$$foo.ps; \
- ps2pdf $$foo.ps $@; \
- rm $$foo.ps; \
- echo "converted $< to $@")
-
diff --git a/Utilities/cmcurl-7.19.0/docs/Makefile.in b/Utilities/cmcurl-7.19.0/docs/Makefile.in
deleted file mode 100644
index 3bc8f18..0000000
--- a/Utilities/cmcurl-7.19.0/docs/Makefile.in
+++ /dev/null
@@ -1,611 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-#
-# $Id$
-#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = docs
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in INSTALL \
- THANKS TODO
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-depcomp =
-am__depfiles_maybe =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-man1dir = $(mandir)/man1
-am__installdirs = "$(DESTDIR)$(man1dir)"
-MANS = $(man_MANS)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-AUTOMAKE_OPTIONS = foreign no-dependencies
-man_MANS = curl.1 curl-config.1
-GENHTMLPAGES = curl.html curl-config.html
-PDFPAGES = curl.pdf curl-config.pdf
-HTMLPAGES = $(GENHTMLPAGES) index.html
-SUBDIRS = examples libcurl
-CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES)
-EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS SSLCERTS \
- README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS \
- KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY INSTALL \
- $(PDFPAGES) LICENSE-MIXING README.netware DISTRO-DILEMMA INSTALL.devcpp
-
-MAN2HTML = roffit < $< >$@
-SUFFIXES = .1 .html .pdf
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .1 .html .pdf
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign docs/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-man1: $(man1_MANS) $(man_MANS)
- @$(NORMAL_INSTALL)
- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-uninstall-man1:
- @$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(MANS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(man1dir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-man
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man: install-man1
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-man
-
-uninstall-info: uninstall-info-recursive
-
-uninstall-man: uninstall-man1
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-man1 install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am \
- uninstall-man uninstall-man1
-
-
-html: $(HTMLPAGES)
- cd libcurl; make html
-
-pdf: $(PDFPAGES)
- cd libcurl; make pdf
-
-.1.html:
- $(MAN2HTML)
-
-.1.pdf:
- @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
- groff -Tps -man $< >$$foo.ps; \
- ps2pdf $$foo.ps $@; \
- rm $$foo.ps; \
- echo "converted $< to $@")
-# 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/Utilities/cmcurl-7.19.0/docs/README.netware b/Utilities/cmcurl-7.19.0/docs/README.netware
deleted file mode 100644
index 00a241e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/README.netware
+++ /dev/null
@@ -1,27 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-README.netware
-
- Read the README file first.
-
- Curl has been successfully compiled with gcc / nlmconv on different flavours
- of Linux as well as with the official Metrowerks CodeWarrior compiler.
- While not being the main development target, a continously growing share of
- curl users are NetWare-based, specially also consuming the lib from PHP.
-
- The unix-style man pages are tricky to read on windows, so therefore are all
- those pages converted to HTML as well as pdf, and included in the release
- archives.
-
- The main curl.1 man page is also "built-in" in the command line tool. Use a
- command line similar to this in order to extract a separate text file:
-
- curl -M >manual.txt
-
- Read the INSTALL file for instructions how to compile curl self.
-
-
diff --git a/Utilities/cmcurl-7.19.0/docs/README.win32 b/Utilities/cmcurl-7.19.0/docs/README.win32
deleted file mode 100644
index ec7a268..0000000
--- a/Utilities/cmcurl-7.19.0/docs/README.win32
+++ /dev/null
@@ -1,26 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-README.win32
-
- Read the README file first.
-
- Curl has been compiled, built and run on all sorts of Windows and win32
- systems. While not being the main develop target, a fair share of curl users
- are win32-based.
-
- The unix-style man pages are tricky to read on windows, so therefore are all
- those pages converted to HTML as well as pdf, and included in the release
- archives.
-
- The main curl.1 man page is also "built-in" in the command line tool. Use a
- command line similar to this in order to extract a separate text file:
-
- curl -M >manual.txt
-
- Read the INSTALL file for instructions how to compile curl self.
-
-
diff --git a/Utilities/cmcurl-7.19.0/docs/RESOURCES b/Utilities/cmcurl-7.19.0/docs/RESOURCES
deleted file mode 100644
index 408efe1..0000000
--- a/Utilities/cmcurl-7.19.0/docs/RESOURCES
+++ /dev/null
@@ -1,72 +0,0 @@
- _ _ ____ _
- Project ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-
-This document lists documents and standards used by curl.
-
- RFC 959 - The FTP protocol
-
- RFC 1635 - How to Use Anonymous FTP
-
- RFC 1738 - Uniform Resource Locators
-
- RFC 1777 - defines the LDAP protocol
-
- RFC 1808 - Relative Uniform Resource Locators
-
- RFC 1867 - Form-based File Upload in HTML
-
- RFC 1950 - ZLIB Compressed Data Format Specification
-
- RFC 1951 - DEFLATE Compressed Data Format Specification
-
- RFC 1952 - gzip compression format
-
- RFC 1959 - LDAP URL syntax
-
- RFC 2045-2049 - Everything you need to know about MIME! (needed for form
- based upload)
-
- RFC 2068 - HTTP 1.1 (obsoleted by RFC 2616)
-
- RFC 2109 - HTTP State Management Mechanism (cookie stuff)
- - Also, read Netscape's specification at
- http://curl.haxx.se/rfc/cookie_spec.html
-
- RFC 2183 - The Content-Disposition Header Field
-
- RFC 2229 - A Dictionary Server Protocol
-
- RFC 2255 - Newer LDAP URL syntax document.
-
- RFC 2231 - MIME Parameter Value and Encoded Word Extensions:
- Character Sets, Languages, and Continuations
-
- RFC 2388 - "Returning Values from Forms: multipart/form-data"
- Use this as an addition to the RFC1867
-
- RFC 2396 - "Uniform Resource Identifiers: Generic Syntax and Semantics" This
- one obsoletes RFC 1738, but since RFC 1738 is often mentioned
- I've left it in this list.
-
- RFC 2428 - FTP Extensions for IPv6 and NATs
-
- RFC 2577 - FTP Security Considerations
-
- RFC 2616 - HTTP 1.1, the latest
-
- RFC 2617 - HTTP Authentication
-
- RFC 2718 - Guidelines for new URL Schemes
-
- RFC 2732 - Format for Literal IPv6 Addresses in URL's
-
- RFC 2818 - HTTP Over TLS (TLS is the successor to SSL)
-
- RFC 2964 - Use of HTTP State Management
-
- RFC 2965 - HTTP State Management Mechanism. Cookies. Obsoletes RFC2109
-
diff --git a/Utilities/cmcurl-7.19.0/docs/SSLCERTS b/Utilities/cmcurl-7.19.0/docs/SSLCERTS
deleted file mode 100644
index 0596440..0000000
--- a/Utilities/cmcurl-7.19.0/docs/SSLCERTS
+++ /dev/null
@@ -1,91 +0,0 @@
- Peer SSL Certificate Verification
- =================================
-
-libcurl performs peer SSL certificate verification by default. This is done
-by using CA cert bundle that the SSL library can use to make sure the peer's
-server certificate is valid.
-
-If you communicate with HTTPS or FTPS servers using certificates that are
-signed by CAs present in the bundle, you can be sure that the remote server
-really is the one it claims to be.
-
-Until 7.18.0, curl bundled a severely outdated ca bundle file that was
-installed by default. These days, the curl archives include no ca certs at
-all. You need to get them elsewhere. See below for example.
-
-If the remote server uses a self-signed certificate, if you don't install a CA
-cert bundle, if the server uses a certificate signed by a CA that isn't
-included in the bundle you use or if the remote host is an impostor
-impersonating your favorite site, and you want to transfer files from this
-server, do one of the following:
-
- 1. Tell libcurl to *not* verify the peer. With libcurl you disable this with
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
-
- With the curl command line tool, you disable this with -k/--insecure.
-
- 2. Get a CA certificate that can verify the remote server and use the proper
- option to point out this CA cert for verification when connecting. For
- libcurl hackers: curl_easy_setopt(curl, CURLOPT_CAPATH, capath);
-
- With the curl command line tool: --cacert [file]
-
- 3. Add the CA cert for your server to the existing default CA cert bundle.
- The default path of the CA bundle used can be changed by running configure
- with the --with-ca-bundle option pointing out the path of your choice.
-
- To do this, you need to get the CA cert for your server in PEM format and
- then append that to your CA cert bundle.
-
- If you use Internet Explorer, this is one way to get extract the CA cert
- for a particular server:
-
- o View the certificate by double-clicking the padlock
- o Find out where the CA certificate is kept (Certificate>
- Authority Information Access>URL)
- o Get a copy of the crt file using curl
- o Convert it from crt to PEM using the openssl tool:
- openssl x509 -inform DES -in yourdownloaded.crt \
- -out outcert.pem -text
- o Append the 'outcert.pem' to the CA cert bundle or use it stand-alone
- as described below.
-
- If you use the 'openssl' tool, this is one way to get extract the CA cert
- for a particular server:
-
- o openssl s_client -connect xxxxx.com:443 |tee logfile
- o type "QUIT", followed by the "ENTER" key
- o The certificate will have "BEGIN CERTIFICATE" and "END CERTIFICATE"
- markers.
- o If you want to see the data in the certificate, you can do: "openssl
- x509 -inform PEM -in certfile -text -out certdata" where certfile is
- the cert you extracted from logfile. Look in certdata.
- o If you want to trust the certificate, you can append it to your
- cert_bundle or use it stand-alone as described. Just remember that the
- security is no better than the way you obtained the certificate.
-
- 4. If you're using the curl command line tool, you can specify your own CA
- cert path by setting the environment variable CURL_CA_BUNDLE to the path
- of your choice.
-
- If you're using the curl command line tool on Windows, curl will search
- for a CA cert file named "curl-ca-bundle.crt" in these directories and in
- this order:
- 1. application's directory
- 2. current working directory
- 3. Windows System directory (e.g. C:\windows\system32)
- 4. Windows Directory (e.g. C:\windows)
- 5. all directories along %PATH%
-
- 5. Get a better/different/newer CA cert bundle! One option is to extract the
- one a recent Mozilla browser uses by running 'make ca-bundle' in the curl
- build tree root, or possibly download a version that was generated this
- way for you:
-
- http://curl.haxx.se/docs/caextract.html
-
-Neglecting to use one of the above methods when dealing with a server using a
-certificate that isn't signed by one of the certificates in the installed CA
-cert bundle, will cause SSL to report an error ("certificate verify failed")
-during the handshake and SSL will then refuse further communication with that
-server.
diff --git a/Utilities/cmcurl-7.19.0/docs/THANKS b/Utilities/cmcurl-7.19.0/docs/THANKS
deleted file mode 100644
index d5e156c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/THANKS
+++ /dev/null
@@ -1,660 +0,0 @@
- This project has been alive for many years. Countless people have provided
- feedback that have improved curl. Here follows a list of people that have
- contributed (a-z order).
-
- If you have contributed but are missing here, please let us know!
-
-Adam D. Moss
-Adam Piggott
-Adrian Schuur
-Alan Pinstein
-Albert Chin-A-Young
-Albert Choy
-Ale Vesely
-Aleksandar Milivojevic
-Alessandro Vesely
-Alex Fishman
-Alex Neblett
-Alex Suykov
-Alex aka WindEagle
-Alexander Kourakos
-Alexander Krasnostavsky
-Alexander Lazic
-Alexander Zhuravlev
-Alexey Pesternikov
-Alexey Simak
-Alexis Carvalho
-Allen Pulsifer
-Amol Pattekar
-Anatoli Tubman
-Anders Gustafsson
-Andi Jahja
-Andre Guibert de Bruet
-Andreas Damm
-Andreas Faerber
-Andreas Ntaflos
-Andreas Olsson
-Andreas Rieke
-Andres Garcia
-Andrew Benham
-Andrew Biggs
-Andrew Bushnell
-Andrew Francis
-Andrew Fuller
-Andrew Moise
-Andrew Wansink
-Andrés García
-Andy Cedilnik
-Andy Serpa
-Angus Mackay
-Antoine Calando
-Anton Kalmykov
-Arkadiusz Miskiewicz
-Armel Asselin
-Arve Knudsen
-Ates Goral
-Augustus Saunders
-Avery Fay
-Bart Whiteley
-Ben Greear
-Ben Madsen
-Ben Van Hof
-Benjamin Gerard
-Bernard Leak
-Bertrand Demiddelaer
-Bjorn Reese
-Björn Stenberg
-Bob Schader
-Bogdan Nicula
-Brad Burdick
-Bradford Bruce
-Brendan Jurd
-Brent Beardsley
-Brian Akins
-Brian Dessent
-Brian R Duffy
-Brian Ulm
-Brock Noland
-Bruce Mitchener
-Bryan Henderson
-Bryan Kemp
-Caolan McNamara
-Casey O'Donnell
-Chih-Chung Chang
-Chris "Bob Bob"
-Chris Combes
-Chris Flerackers
-Chris Gaukroger
-Chris Maltby
-Christian Kurz
-Christian Robottom Reis
-Christian Vogt
-Christophe Demory
-Christophe Legry
-Christopher Palow
-Christopher R. Palmer
-Ciprian Badescu
-Clarence Gardner
-Clifford Wolf
-Cody Jones
-Colin Hogben
-Colin Watson
-Colm Buckley
-Cory Nelson
-Craig Davison
-Craig Markwardt
-Cris Bailiff
-Cyrill Osterwalder
-Damien Adant
-Dan Becker
-Dan C
-Dan Fandrich
-Dan Nelson
-Dan Petitt
-Dan Torop
-Dan Zitter
-Daniel Black
-Daniel Cater
-Daniel Egger
-Daniel Fandrich
-Daniel Johnson
-Daniel Stenberg
-Daniel at touchtunes
-Darryl House
-Dave Dribin
-Dave Halbakken
-Dave Hamilton
-Dave May
-Dave Vasilevsky
-David Byron
-David Cohen
-David Eriksson
-David Houlder
-David Hull
-David J Meyer
-David James
-David Kimdon
-David Lang
-David LeBlanc
-David McCreedy
-David Odin
-David Phillips
-David Rosenstrauch
-David Shaw
-David Tarendash
-David Thiel
-David Wright
-David Yan
-Detlef Schmier
-Diego Casorran
-Dima Barsky
-Dimitris Sarris
-Dinar
-Dirk Eddelbuettel
-Dirk Manske
-Dmitriy Sergeyev
-Dmitry Bartsevich
-Dmitry Kurochkin
-Dmitry Popov
-Dmitry Rechkin
-Dolbneff A.V
-Domenico Andreoli
-Dominick Meglio
-Doug Kaufman
-Doug Porter
-Douglas E. Wegscheid
-Douglas R. Horner
-Dov Murik
-Duane Cathey
-Duncan Mac-Vicar Prett
-Dustin Boswell
-Dylan Ellicott
-Dylan Salisbury
-Early Ehlinger
-Edin Kadribasic
-Eetu Ojanen
-Ellis Pritchard
-Emil Romanus
-Emiliano Ida
-Enrico Scholz
-Enrik Berkhan
-Eric Cooper
-Eric Landes
-Eric Lavigne
-Eric Melville
-Eric Rautman
-Eric Thelin
-Eric Vergnaud
-Eric Young
-Erick Nuwendam
-Erwan Legrand
-Erwin Authried
-Eugene Kotlyarov
-Evan Jordan
-Eygene Ryabinkin
-Fabrizio Ammollo
-Fedor Karpelevitch
-Felix von Leitner
-Feng Tu
-Florian Schoppmann
-Forrest Cahoon
-Frank Hempel
-Frank Keeney
-Frank Ticheler
-Fred New
-Fred Noz
-Frederic Lepied
-Gary Maxwell
-Gautam Kachroo
-Gautam Mani
-Gavrie Philipson
-Gaz Iqbal
-Georg Horn
-Georg Huettenegger
-Georg Lippitsch
-Georg Wicherski
-Gerd v. Egidy
-Gerhard Herre
-Gerrit Bruchhäuser
-Giancarlo Formicuccia
-Giaslas Georgios
-Gilad
-Gilbert Ramirez Jr.
-Gilles Blanc
-Gisle Vanem
-Giuseppe Attardi
-Giuseppe D'Ambrosio
-Glen Nakamura
-Glen Scott
-Greg Hewgill
-Greg Morse
-Greg Onufer
-Greg Zavertnik
-Grigory Entin
-Guenole Bescon
-Guillaume Arluison
-Gustaf Hui
-Gwenole Beauchesne
-Götz Babin-Ebell
-Günter Knauf
-Hamish Mackenzie
-Hang Kin Lau
-Hanno Kranzhoff
-Hans Steegers
-Hardeep Singh
-Harshal Pradhan
-Heikki Korpela
-Henrik Storner
-Hzhijun
-Ian Ford
-Ian Gulliver
-Ian Turner
-Ian Wilkes
-Ignacio Vazquez-Abrams
-Igor Franchuk
-Igor Polyakov
-Ilguiz Latypov
-Ilja van Sprundel
-Immanuel Gregoire
-Ingmar Runge
-Ingo Ralf Blum
-Ingo Wilken
-Jacky Lam
-Jacob Meuser
-James Bursa
-James Clancy
-James Cone
-James Gallagher
-James Griffiths
-James Housley
-James MacMillan
-Jamie Lokier
-Jamie Newton
-Jamie Wilkinson
-Jan Kunder
-Jared Lundell
-Jari Sundell
-Jason S. Priebe
-Jay Austin
-Jayesh A Shah
-Jaz Fresh
-Jean Jacques Drouin
-Jean-Claude Chauve
-Jean-Francois Bertrand
-Jean-Louis Lemaire
-Jean-Marc Ranger
-Jean-Philippe Barrette-LaPierre
-Jeff Johnson
-Jeff Lawson
-Jeff Phillips
-Jeff Pohlmeyer
-Jeff Weber
-Jeffrey Pohlmeyer
-Jeremy Friesner
-Jerome Muffat-Meridol
-Jes Badwal
-Jesper Jensen
-Jesse Noller
-Jim Drash
-Joe Halpin
-Joe Malicki
-Joel Chen
-Jofell Gallardo
-Johan Anderson
-Johan Nilsson
-John Crow
-John Janssen
-John Kelly
-John Lask
-John McGowan
-Johnny Luong
-Jon Grubbs
-Jon Travis
-Jon Turner
-Jonas Forsman
-Jonatan Lander
-Jonathan Hseu
-Jongki Suwandi
-Jose Kahan
-Josh Kapell
-Juan F. Codagnone
-Juan Ignacio Hervás
-Judson Bishop
-Juergen Wilke
-Jukka Pihl
-Julian Noble
-Jun-ichiro itojun Hagino
-Jurij Smakov
-Justin Fletcher
-Jörg Mueller-Tolk
-Jörn Hartroth
-Kai Sommerfeld
-Kai-Uwe Rommel
-Kang-Jin Lee
-Karl Moerder
-Karol Pietrzak
-Kaspar Brand
-Katie Wang
-Kees Cook
-Keith MacDonald
-Keith McGuigan
-Ken Hirsch
-Ken Rastatter
-Kent Boortz
-Kevin Fisk
-Kevin Lussier
-Kevin Reed
-Kevin Roth
-Kim Rinnewitz
-Kimmo Kinnunen
-Kjell Ericson
-Kjetil Jacobsen
-Klevtsov Vadim
-Kris Kennaway
-Krishnendu Majumdar
-Kristian Gunstone
-Kristian Köhntopp
-Kyle Sallee
-Lachlan O'Dea
-Larry Campbell
-Larry Fahnoe
-Lars Gustafsson
-Lars J. Aas
-Lars Nilsson
-Lars Torben Wilson
-Lau Hang Kin
-Legoff Vincent
-Lehel Bernadt
-Len Krause
-Liam Healy
-Linas Vepstas
-Ling Thio
-Linus Nielsen Feltzing
-Loic Dachary
-Loren Kirkby
-Luca Altea
-Luca Alteas
-Lucas Adamski
-Lukasz Czekierda
-Luke Call
-Luong Dinh Dung
-Maciej Karpiuk
-Maciej W. Rozycki
-Manfred Schwarb
-Marc Boucher
-Marcelo Juchem
-Marcin Konicki
-Marco G. Salvagno
-Marcus Webster
-Mario Schroeder
-Mark Butler
-Mark Davies
-Mark Eichin
-Mark Lentczner
-Markus Koetter
-Markus Moeller
-Markus Oberhumer
-Martijn Koster
-Martin C. Martin
-Martin Hedenfalk
-Martin Skinner
-Marty Kuhrt
-Maruko
-Massimiliano Ziccardi
-Mateusz Loskot
-Mathias Axelsson
-Mats Lidell
-Matt Kraai
-Matt Veenstra
-Matt Witherspoon
-Matthew Blain
-Matthew Clarke
-Maurice Barnum
-Max Katsev
-Maxim Perenesenko
-Mekonikum
-Mettgut Jamalla
-Michael Benedict
-Michael Calmer
-Michael Curtis
-Michael Jahn
-Michael Jerris
-Michael Mealling
-Michael Wallner
-Michal Bonino
-Michal Marek
-Michele Bini
-Mihai Ionescu
-Mikael Sennerholm
-Mike Bytnar
-Mike Dobbs
-Mike Hommey
-Mike Protts
-Miklos Nemeth
-Mitz Wark
-Mohamed Lrhazi
-Mohun Biswas
-Moonesamy
-Nathan Coulter
-Nathan O'Sullivan
-Nathanael Nerode
-Naveen Noel
-Neil Dunbar
-Neil Spring
-Nic Roets
-Nick Gimbrone
-Nick Humfrey
-Nick Zitzmann
-Nico Baggus
-Nicolas Berloquin
-Nicolas Croiset
-Nicolas François
-Niels van Tongeren
-Nikita Schmidt
-Nikitinskit Dmitriy
-Niklas Angebrand
-Nikolai Kondrashov
-Nir Soffer
-Nis Jorgensen
-Nodak Sodak
-Norbert Frese
-Norbert Novotny
-Ofer
-Olaf Stueben
-Olaf Stüben
-Oren Tirosh
-P R Schaffner
-Patrick Bihan-Faou
-Patrick Monnerat
-Patrick Smith
-Paul Harrington
-Paul Marquis
-Paul Moore
-Paul Nolan
-Paul Querna
-Pavel Cenek
-Pavel Orehov
-Pawel A. Gajda
-Pedro Neves
-Pete Su
-Peter Bray
-Peter Forret
-Peter Heuchert
-Peter O'Gorman
-Peter Pentchev
-Peter Silva
-Peter Su
-Peter Sylvester
-Peter Todd
-Peter Verhas
-Peter Wullinger
-Peteris Krumins
-Phil Karn
-Philip Gladstone
-Philip Langdale
-Philippe Hameau
-Philippe Raoult
-Philippe Vaucher
-Pierre
-Pooyan McSporran
-Puneet Pawaia
-Quagmire
-Rafa Muyo
-Rafael Sagula
-Ralf S. Engelschall
-Ralph Beckmann
-Ralph Mitchell
-Ramana Mokkapati
-Randy McMurchy
-Ravi Pratap
-Ray Pekowski
-Reinout van Schouwen
-Renaud Chaillat
-Renaud Duhaut
-Rene Bernhardt
-Rene Rebe
-Ricardo Cadime
-Rich Gray
-Rich Rauenzahn
-Richard Archer
-Richard Atterer
-Richard Bramante
-Richard Clayton
-Richard Cooper
-Richard Gorton
-Richard Prescott
-Rick Jones
-Rick Richardson
-Rob Crittenden
-Rob Jones
-Rob Stanzel
-Robert A. Monat
-Robert D. Young
-Robert Foreman
-Robert Iakobashvili
-Robert Olson
-Robert Weaver
-Robin Johnson
-Robin Kay
-Robson Braga Araujo
-Rodney Simmons
-Roland Blom
-Roland Krikava
-Roland Zimmermann
-Roman Koifman
-Ron Zapp
-Rosimildo da Silva
-Roy Shan
-Rune Kleveland
-Ryan Nelson
-S. Moonesamy
-Salvador Dávila
-Salvatore Sorrentino
-Sam Listopad
-Sampo Kellomaki
-Samuel Díaz García
-Samuel Listopad
-Sander Gates
-Sandor Feldi
-Saul good
-Scott Barrett
-Scott Cantor
-Scott Davis
-Scott McCreary
-Sebastien Willemijns
-Sergio Ballestrero
-Seshubabu Pasam
-Sh Diao
-Shard
-Shawn Poulson
-Shmulik Regev
-Siddhartha Prakash Jain
-Simon Dick
-Simon Josefsson
-Simon Liu
-Song Ma
-Sonia Subramanian
-Spacen Jasset
-Spiridonoff A.V
-Stadler Stephan
-Stefan Esser
-Stefan Krause
-Stefan Ulrich
-Stephan Bergmann
-Stephen Collyer
-Stephen Kick
-Stephen More
-Sterling Hughes
-Steve Green
-Steve Lhomme
-Steve Little
-Steve Marx
-Steve Oliphant
-Steven Bazyl
-Steven G. Johnson
-Stoned Elipot
-Sven Neuhaus
-Sébastien Willemijns
-T. Bharath
-T. Yamada
-Temprimus
-Thomas J. Moore
-Thomas Klausner
-Thomas Schwinge
-Thomas Tonino
-Tim Baker
-Tim Bartley
-Tim Costello
-Tim Sneddon
-Tobias Rundström
-Toby Peterson
-Todd Kulesza
-Todd Vierling
-Tom Benoist
-Tom Lee
-Tom Mattison
-Tom Moers
-Tom Regner
-Tom Zerucha
-Tomas Pospisek
-Tomas Szepe
-Tomasz Lacki
-Tommy Tam
-Ton Voon
-Toon Verwaest
-Tor Arntsen
-Torsten Foertsch
-Toshiyuki Maezawa
-Traian Nicolescu
-Troels Walsted Hansen
-Troy Engel
-Tupone Alfredo
-Ulf Härnhammar
-Ulrich Zadow
-Venkat Akella
-Victor Snezhko
-Vikram Saxena
-Vilmos Nebehaj
-Vincent Bronner
-Vincent Penquerc'h
-Vincent Sanders
-Vladimir Lazarenko
-Vojtech Janota
-Vojtech Minarik
-Walter J. Mack
-Wayne Haigh
-Werner Koch
-Wesley Laxton
-Wez Furlong
-Wilfredo Sanchez
-Wojciech Zwiefka
-Xavier Bouchoux
-Yang Tse
-Yarram Sunil
-Yuriy Sosov
-Yves Lejeune
-Zmey Petroff
-Zvi Har'El
-nk
-swalkaus at yahoo.com
-tommink[at]post.pl
diff --git a/Utilities/cmcurl-7.19.0/docs/TODO b/Utilities/cmcurl-7.19.0/docs/TODO
deleted file mode 100644
index cb6d307..0000000
--- a/Utilities/cmcurl-7.19.0/docs/TODO
+++ /dev/null
@@ -1,601 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- Things that could be nice to do in the future
-
- Things to do in project cURL. Please tell us what you think, contribute and
- send us patches that improve things!
-
- All bugs documented in the KNOWN_BUGS document are subject for fixing!
-
- 1. libcurl
- 1.1 Zero-copy interface
- 1.2 More data sharing
- 1.3 struct lifreq
- 1.4 Get IP address
- 1.5 c-ares ipv6
- 1.6 configure-based info in public headers
-
- 2. libcurl - multi interface
- 2.1 More non-blocking
- 2.2 Pause transfers
- 2.3 Remove easy interface internally
- 2.4 Avoid having to remove/readd handles
-
- 3. Documentation
- 3.1 More and better
-
- 4. FTP
- 4.1 PRET
- 4.2 Alter passive/active on failure and retry
- 4.3 Earlier bad letter detection
- 4.4 REST for large files
- 4.5 FTP proxy support
- 4.6 PORT port range
- 4.7 ASCII support
-
- 5. HTTP
- 5.1 Other HTTP versions with CONNECT
- 5.2 Better persistency for HTTP 1.0
- 5.3 support FF3 sqlite cookie files
-
- 6. TELNET
- 6.1 ditch stdin
- 6.2 ditch telnet-specific select
- 6.3 feature negotiation debug data
- 6.4 send data in chunks
-
- 7. SSL
- 7.1 Disable specific versions
- 7.2 Provide mytex locking API
- 7.3 dumpcert
- 7.4 Evaluate SSL patches
- 7.5 Cache OpenSSL contexts
- 7.6 Export session ids
- 7.7 Provide callback for cert verification
- 7.8 Support other SSL libraries
- 7.9 Support SRP on the TLS layer
- 7.10 improve configure --with-ssl
-
- 8. GnuTLS
- 8.1 Make NTLM work without OpenSSL functions
- 8.2 SSL engine stuff
- 8.3 SRP
- 8.4 non-blocking
- 8.5 check connection
-
- 9. Other protocols
- 9.1 ditch ldap-specific select
-
- 10. New protocols
- 10.1 RTSP
- 10.2 RSYNC
- 10.3 RTMP
-
- 11. Client
- 11.1 Content-Disposition
- 11.2 sync
- 11.3 glob posts
- 11.4 prevent file overwriting
- 11.5 ftp wildcard download
- 11.6 simultaneous parallel transfers
- 11.7 provide formpost headers
- 11.8 url-specific options
- 11.9 metalink support
- 11.10 warning when setting an option
-
- 12. Build
- 12.1 roffit
-
- 13. Test suite
- 13.1 SSL tunnel
- 13.2 nicer lacking perl message
- 13.3 more protocols supported
- 13.4 more platforms supported
-
- 14. Next SONAME bump
- 14.1 http-style HEAD output for ftp
- 14.2 combine error codes
- 14.3 extend CURLOPT_SOCKOPTFUNCTION prototype
-
- 15. Next major release
- 15.1 cleanup return codes
- 15.2 remove obsolete defines
- 15.3 size_t
- 15.4 remove several functions
- 15.5 remove CURLOPT_FAILONERROR
- 15.6 remove CURLOPT_DNS_USE_GLOBAL_CACHE
-
-==============================================================================
-
-1. libcurl
-
-1.1 Zero-copy interface
-
- Introduce another callback interface for upload/download that makes one less
- copy of data and thus a faster operation.
- [http://curl.haxx.se/dev/no_copy_callbacks.txt]
-
-1.2 More data sharing
-
- curl_share_* functions already exist and work, and they can be extended to
- share more. For example, enable sharing of the ares channel and the
- connection cache.
-
-1.3 struct lifreq
-
- Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and
- SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete.
- To support ipv6 interface addresses for network interfaces properly.
-
-1.4 Get IP address
-
- Add the following to curl_easy_getinfo(): GET_HTTP_IP, GET_FTP_IP and
- GET_FTP_DATA_IP. Return a string with the used IP.
-
-1.5 c-ares ipv6
-
- Make libcurl built with c-ares use c-ares' IPv6 abilities. They weren't
- present when we first added c-ares support but they have been added since!
- When this is done and works, we can actually start considering making c-ares
- powered libcurl the default build (which of course would require that we'd
- bundle the c-ares source code in the libcurl source code releases).
-
-1.6 configure-based info in public headers
-
- Make the public headers include the proper system includes based on what was
- present at the time when configure was run. Currently, the sys/select.h
- header is for example included by curl/multi.h only on specific platforms we
- know MUST have it. This is error-prone. We therefore want the header files to
- adapt to configure results. Those results must be stored in a new header and
- they must use a curl name space, i.e not be HAVE_* prefix (as that would risk
- collide with other apps that use libcurl and that runs configure).
-
- Work on this has been started but hasn't been finished, and the initial patch
- and some details are found here:
- http://curl.haxx.se/mail/lib-2006-12/0084.html
-
- The remaining problems to solve involve the platforms that can't run
- configure.
-
-2. libcurl - multi interface
-
-2.1 More non-blocking
-
- Make sure we don't ever loop because of non-blocking sockets return
- EWOULDBLOCK or similar. The GnuTLS connection etc.
-
-2.2 Pause transfers
-
- Make transfers treated more carefully. We need a way to tell libcurl we have
- data to write, as the current system expects us to upload data each time the
- socket is writable and there is no way to say that we want to upload data
- soon just not right now, without that aborting the upload. The opposite
- situation should be possible as well, that we tell libcurl we're ready to
- accept read data. Today libcurl feeds the data as soon as it is available for
- reading, no matter what.
-
-2.3 Remove easy interface internally
-
- Make curl_easy_perform() a wrapper-function that simply creates a multi
- handle, adds the easy handle to it, runs curl_multi_perform() until the
- transfer is done, then detach the easy handle, destroy the multi handle and
- return the easy handle's return code. This will thus make everything
- internally use and assume the multi interface. The select()-loop should use
- curl_multi_socket().
-
-2.4 Avoid having to remove/readd handles
-
- curl_multi_handle_control() - this can control the easy handle (while) added
- to a multi handle in various ways:
-
- o RESTART, unconditionally restart this easy handle's transfer from the
- start, re-init the state
-
- o RESTART_COMPLETED, restart this easy handle's transfer but only if the
- existing transfer has already completed and it is in a "finished state".
-
- o STOP, just stop this transfer and consider it completed
-
- o PAUSE?
-
- o RESUME?
-
-3. Documentation
-
-3.1 More and better
-
- Exactly
-
-4. FTP
-
-4.1 PRET
-
- PRET is a command that primarily "drftpd" supports, which could be useful
- when using libcurl against such a server. It is a non-standard and a rather
- oddly designed command, but...
- http://curl.haxx.se/bug/feature.cgi?id=1729967
-
-4.2 Alter passive/active on failure and retry
-
- When trying to connect passively to a server which only supports active
- connections, libcurl returns CURLE_FTP_WEIRD_PASV_REPLY and closes the
- connection. There could be a way to fallback to an active connection (and
- vice versa). http://curl.haxx.se/bug/feature.cgi?id=1754793
-
-4.3 Earlier bad letter detection
-
- Make the detection of (bad) %0d and %0a codes in FTP url parts earlier in the
- process to avoid doing a resolve and connect in vain.
-
-4.4 REST for large files
-
- REST fix for servers not behaving well on >2GB requests. This should fail if
- the server doesn't set the pointer to the requested index. The tricky
- (impossible?) part is to figure out if the server did the right thing or not.
-
-4.5 FTP proxy support
-
- Support the most common FTP proxies, Philip Newton provided a list allegedly
- from ncftp. This is not a subject without debate, and is probably not really
- suitable for libcurl. http://curl.haxx.se/mail/archive-2003-04/0126.html
-
-4.6 PORT port range
-
- Make CURLOPT_FTPPORT support an additional port number on the IP/if/name,
- like "blabla:[port]" or possibly even "blabla:[portfirst]-[portsecond]".
- http://curl.haxx.se/bug/feature.cgi?id=1505166
-
-4.7 ASCII support
-
- FTP ASCII transfers do not follow RFC959. They don't convert the data
- accordingly.
-
-5. HTTP
-
-5.1 Other HTTP versions with CONNECT
-
- When doing CONNECT to a HTTP proxy, libcurl always uses HTTP/1.0. This has
- never been reported as causing trouble to anyone, but should be considered to
- use the HTTP version the user has chosen.
-
-5.2 Better persistency for HTTP 1.0
-
- "Better" support for persistent connections over HTTP 1.0
- http://curl.haxx.se/bug/feature.cgi?id=1089001
-
-5.3 support FF3 sqlite cookie files
-
- Firefox 3 is changing from its former format to a a sqlite database instead.
- We should consider how (lib)curl can/should support this.
- http://curl.haxx.se/bug/feature.cgi?id=1871388
-
-6. TELNET
-
-6.1 ditch stdin
-
-Reading input (to send to the remote server) on stdin is a crappy solution for
-library purposes. We need to invent a good way for the application to be able
-to provide the data to send.
-
-6.2 ditch telnet-specific select
-
- Move the telnet support's network select() loop go away and merge the code
- into the main transfer loop. Until this is done, the multi interface won't
- work for telnet.
-
-6.3 feature negotiation debug data
-
- Add telnet feature negotiation data to the debug callback as header data.
-
-6.4 send data in chunks
-
- Currently, telnet sends data one byte at a time. This is fine for interactive
- use, but inefficient for any other. Sent data should be sent in larger
- chunks.
-
-7. SSL
-
-7.1 Disable specific versions
-
- Provide an option that allows for disabling specific SSL versions, such as
- SSLv2 http://curl.haxx.se/bug/feature.cgi?id=1767276
-
-7.2 Provide mytex locking API
-
- Provide a libcurl API for setting mutex callbacks in the underlying SSL
- library, so that the same application code can use mutex-locking
- independently of OpenSSL or GnutTLS being used.
-
-7.3 dumpcert
-
- Anton Fedorov's "dumpcert" patch:
- http://curl.haxx.se/mail/lib-2004-03/0088.html
-
-7.4 Evaluate SSL patches
-
- Evaluate/apply Gertjan van Wingerde's SSL patches:
- http://curl.haxx.se/mail/lib-2004-03/0087.html
-
-7.5 Cache OpenSSL contexts
-
- "Look at SSL cafile - quick traces look to me like these are done on every
- request as well, when they should only be necessary once per ssl context (or
- once per handle)". The major improvement we can rather easily do is to make
- sure we don't create and kill a new SSL "context" for every request, but
- instead make one for every connection and re-use that SSL context in the same
- style connections are re-used. It will make us use slightly more memory but
- it will libcurl do less creations and deletions of SSL contexts.
-
-7.6 Export session ids
-
- Add an interface to libcurl that enables "session IDs" to get
- exported/imported. Cris Bailiff said: "OpenSSL has functions which can
- serialise the current SSL state to a buffer of your choice, and recover/reset
- the state from such a buffer at a later date - this is used by mod_ssl for
- apache to implement and SSL session ID cache".
-
-7.7 Provide callback for cert verification
-
- OpenSSL supports a callback for customised verification of the peer
- certificate, but this doesn't seem to be exposed in the libcurl APIs. Could
- it be? There's so much that could be done if it were!
-
-7.8 Support other SSL libraries
-
- Make curl's SSL layer capable of using other free SSL libraries. Such as
- MatrixSSL (http://www.matrixssl.org/).
-
-7.9 Support SRP on the TLS layer
-
- Peter Sylvester's patch for SRP on the TLS layer. Awaits OpenSSL support for
- this, no need to support this in libcurl before there's an OpenSSL release
- that does it.
-
-7.10 improve configure --with-ssl
-
- make the configure --with-ssl option first check for OpenSSL, then GnuTLS,
- then NSS...
-
-8. GnuTLS
-
-8.1 Make NTLM work without OpenSSL functions
-
- Get NTLM working using the functions provided by libgcrypt, since GnuTLS
- already depends on that to function. Not strictly SSL/TLS related, but
- hey... Another option is to get available DES and MD4 source code from the
- cryptopp library. They are fine license-wise, but are C++.
-
-8.2 SSL engine stuff
-
- Is this even possible?
-
-8.3 SRP
-
- Work out a common method with Peter Sylvester's OpenSSL-patch for SRP on the
- TLS to provide name and password. GnuTLS already supports it...
-
-8.4 non-blocking
-
- Fix the connection phase to be non-blocking when multi interface is used
-
-8.5 check connection
-
- Add a way to check if the connection seems to be alive, to correspond to the
- SSL_peak() way we use with OpenSSL.
-
-9. Other protocols
-
-9.1 ditch ldap-specific select
-
- * Look over the implementation. The looping will have to "go away" from the
- lib/ldap.c source file and get moved to the main network code so that the
- multi interface and friends will work for LDAP as well.
-
-9.2 stop TFTP blocking
-
- Stop TFTP from being blocking and doing its own read loop in tftp_do.
-
-10. New protocols
-
-10.1 RTSP
-
- RFC2326 (protocol - very HTTP-like, also contains URL description)
-
-10.2 RSYNC
-
- There's no RFC for protocol nor URI/URL format. An implementation should
- most probably use an existing rsync library, such as librsync.
-
-10.3 RTMP
-
- There exists a patch that claims to introduce this protocol:
- http://osdir.com/ml/gnu.gnash.devel2/2006-11/msg00278.html, further details
- in the feature-request: http://curl.haxx.se/bug/feature.cgi?id=1843469
-
-11. Client
-
-11.1 Content-Disposition
-
- Add option that is similar to -O but that takes the output file name from the
- Content-Disposition: header, and/or uses the local file name used in
- redirections for the cases the server bounces the request further to a
- different file (name): http://curl.haxx.se/bug/feature.cgi?id=1364676
-
-11.2 sync
-
- "curl --sync http://example.com/feed[1-100].rss" or
- "curl --sync http://example.net/{index,calendar,history}.html"
-
- Downloads a range or set of URLs using the remote name, but only if the
- remote file is newer than the local file. A Last-Modified HTTP date header
- should also be used to set the mod date on the downloaded file.
-
-11.3 glob posts
-
- Globbing support for -d and -F, as in 'curl -d "name=foo[0-9]" URL'.
- This is easily scripted though.
-
-11.4 prevent file overwriting
-
- Add an option that prevents cURL from overwriting existing local files. When
- used, and there already is an existing file with the target file name
- (either -O or -o), a number should be appended (and increased if already
- existing). So that index.html becomes first index.html.1 and then
- index.html.2 etc.
-
-11.5 ftp wildcard download
-
- "curl ftp://site.com/*.txt"
-
-11.6 simultaneous parallel transfers
-
- The client could be told to use maximum N simultaneous parallel transfers and
- then just make sure that happens. It should of course not make more than one
- connection to the same remote host. This would require the client to use the
- multi interface. http://curl.haxx.se/bug/feature.cgi?id=1558595
-
-11.7 provide formpost headers
-
- Extending the capabilities of the multipart formposting. How about leaving
- the ';type=foo' syntax as it is and adding an extra tag (headers) which
- works like this: curl -F "coolfiles=@fil1.txt;headers=@fil1.hdr" where
- fil1.hdr contains extra headers like
-
- Content-Type: text/plain; charset=KOI8-R"
- Content-Transfer-Encoding: base64
- X-User-Comment: Please don't use browser specific HTML code
-
- which should overwrite the program reasonable defaults (plain/text,
- 8bit...)
-
-11.8 url-specific options
-
- Provide a way to make options bound to a specific URL among several on the
- command line. Possibly by letting ':' separate options between URLs,
- similar to this:
-
- curl --data foo --url url.com : \
- --url url2.com : \
- --url url3.com --data foo3
-
- (More details: http://curl.haxx.se/mail/archive-2004-07/0133.html)
-
- The example would do a POST-GET-POST combination on a single command line.
-
-11.9 metalink support
-
- Add metalink support to curl (http://www.metalinker.org/). This is most useful
- with simultaneous parallel transfers (11.6) but not necessary.
-
-11.10 warning when setting an option
-
- Display a warning when libcurl returns an error when setting an option.
- This can be useful to tell when support for a particular feature hasn't been
- compiled into the library.
-
-12. Build
-
-12.1 roffit
-
- Consider extending 'roffit' to produce decent ASCII output, and use that
- instead of (g)nroff when building src/hugehelp.c
-
-13. Test suite
-
-13.1 SSL tunnel
-
- Make our own version of stunnel for simple port forwarding to enable HTTPS
- and FTP-SSL tests without the stunnel dependency, and it could allow us to
- provide test tools built with either OpenSSL or GnuTLS
-
-13.2 nicer lacking perl message
-
- If perl wasn't found by the configure script, don't attempt to run the tests
- but explain something nice why it doesn't.
-
-13.3 more protocols supported
-
- Extend the test suite to include more protocols. The telnet could just do ftp
- or http operations (for which we have test servers).
-
-13.4 more platforms supported
-
- Make the test suite work on more platforms. OpenBSD and Mac OS. Remove
- fork()s and it should become even more portable.
-
-14. Next SONAME bump
-
-14.1 http-style HEAD output for ftp
-
- #undef CURL_FTP_HTTPSTYLE_HEAD in lib/ftp.c to remove the HTTP-style headers
- from being output in NOBODY requests over ftp
-
-14.2 combine error codes
-
- Combine some of the error codes to remove duplicates. The original
- numbering should not be changed, and the old identifiers would be
- macroed to the new ones in an CURL_NO_OLDIES section to help with
- backward compatibility.
-
- Candidates for removal and their replacements:
-
- CURLE_FILE_COULDNT_READ_FILE => CURLE_REMOTE_FILE_NOT_FOUND
- CURLE_FTP_COULDNT_RETR_FILE => CURLE_REMOTE_FILE_NOT_FOUND
- CURLE_FTP_COULDNT_USE_REST => CURLE_RANGE_ERROR
- CURLE_FUNCTION_NOT_FOUND => CURLE_FAILED_INIT
- CURLE_LDAP_INVALID_URL => CURLE_URL_MALFORMAT
- CURLE_TFTP_NOSUCHUSER => CURLE_TFTP_ILLEGAL
- CURLE_TFTP_NOTFOUND => CURLE_REMOTE_FILE_NOT_FOUND
- CURLE_TFTP_PERM => CURLE_REMOTE_ACCESS_DENIED
-
-14.3 extend CURLOPT_SOCKOPTFUNCTION prototype
-
- The current prototype only provides 'purpose' that tells what the
- connection/socket is for, but not any protocol or similar. It makes it hard
- for applications to differentiate on TCP vs UDP and even HTTP vs FTP and
- similar.
-
-15. Next major release
-
-15.1 cleanup return codes
-
- curl_easy_cleanup() returns void, but curl_multi_cleanup() returns a
- CURLMcode. These should be changed to be the same.
-
-15.2 remove obsolete defines
-
- remove obsolete defines from curl/curl.h
-
-15.3 size_t
-
- make several functions use size_t instead of int in their APIs
-
-15.4 remove several functions
-
- remove the following functions from the public API:
-
- curl_getenv
-
- curl_mprintf (and variations)
-
- curl_strequal
-
- curl_strnequal
-
- They will instead become curlx_ - alternatives. That makes the curl app
- still capable of building with them from source.
-
-15.5 remove CURLOPT_FAILONERROR
-
- Remove support for CURLOPT_FAILONERROR, it has gotten too kludgy and weird
- internally. Let the app judge success or not for itself.
-
-15.6 remove CURLOPT_DNS_USE_GLOBAL_CACHE
-
- Remove support for a global DNS cache. Anything global is silly, and we
- already offer the share interface for the same functionality but done
- "right".
diff --git a/Utilities/cmcurl-7.19.0/docs/TheArtOfHttpScripting b/Utilities/cmcurl-7.19.0/docs/TheArtOfHttpScripting
deleted file mode 100644
index e4212db..0000000
--- a/Utilities/cmcurl-7.19.0/docs/TheArtOfHttpScripting
+++ /dev/null
@@ -1,490 +0,0 @@
-Online: http://curl.haxx.se/docs/httpscripting.html
-Date: May 28, 2008
-
- The Art Of Scripting HTTP Requests Using Curl
- =============================================
-
- This document will assume that you're familiar with HTML and general
- networking.
-
- The possibility to write scripts is essential to make a good computer
- system. Unix' capability to be extended by shell scripts and various tools to
- run various automated commands and scripts is one reason why it has succeeded
- so well.
-
- The increasing amount of applications moving to the web has made "HTTP
- Scripting" more frequently requested and wanted. To be able to automatically
- extract information from the web, to fake users, to post or upload data to
- web servers are all important tasks today.
-
- Curl is a command line tool for doing all sorts of URL manipulations and
- transfers, but this particular document will focus on how to use it when
- doing HTTP requests for fun and profit. I'll assume that you know how to
- invoke 'curl --help' or 'curl --manual' to get basic information about it.
-
- Curl is not written to do everything for you. It makes the requests, it gets
- the data, it sends data and it retrieves the information. You probably need
- to glue everything together using some kind of script language or repeated
- manual invokes.
-
-1. The HTTP Protocol
-
- HTTP is the protocol used to fetch data from web servers. It is a very simple
- protocol that is built upon TCP/IP. The protocol also allows information to
- get sent to the server from the client using a few different methods, as will
- be shown here.
-
- HTTP is plain ASCII text lines being sent by the client to a server to
- request a particular action, and then the server replies a few text lines
- before the actual requested content is sent to the client.
-
- Using curl's option -v will display what kind of commands curl sends to the
- server, as well as a few other informational texts. -v is the single most
- useful option when it comes to debug or even understand the curl<->server
- interaction.
-
-2. URL
-
- The Uniform Resource Locator format is how you specify the address of a
- particular resource on the Internet. You know these, you've seen URLs like
- http://curl.haxx.se or https://yourbank.com a million times.
-
-3. GET a page
-
- The simplest and most common request/operation made using HTTP is to get a
- URL. The URL could itself refer to a web page, an image or a file. The client
- issues a GET request to the server and receives the document it asked for.
- If you issue the command line
-
- curl http://curl.haxx.se
-
- you get a web page returned in your terminal window. The entire HTML document
- that that URL holds.
-
- All HTTP replies contain a set of headers that are normally hidden, use
- curl's -i option to display them as well as the rest of the document. You can
- also ask the remote server for ONLY the headers by using the -I option (which
- will make curl issue a HEAD request).
-
-4. Forms
-
- Forms are the general way a web site can present a HTML page with fields for
- the user to enter data in, and then press some kind of 'OK' or 'submit'
- button to get that data sent to the server. The server then typically uses
- the posted data to decide how to act. Like using the entered words to search
- in a database, or to add the info in a bug track system, display the entered
- address on a map or using the info as a login-prompt verifying that the user
- is allowed to see what it is about to see.
-
- Of course there has to be some kind of program in the server end to receive
- the data you send. You cannot just invent something out of the air.
-
- 4.1 GET
-
- A GET-form uses the method GET, as specified in HTML like:
-
- <form method="GET" action="junk.cgi">
- <input type=text name="birthyear">
- <input type=submit name=press value="OK">
- </form>
-
- In your favorite browser, this form will appear with a text box to fill in
- and a press-button labeled "OK". If you fill in '1905' and press the OK
- button, your browser will then create a new URL to get for you. The URL will
- get "junk.cgi?birthyear=1905&press=OK" appended to the path part of the
- previous URL.
-
- If the original form was seen on the page "www.hotmail.com/when/birth.html",
- the second page you'll get will become
- "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK".
-
- Most search engines work this way.
-
- To make curl do the GET form post for you, just enter the expected created
- URL:
-
- curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK"
-
- 4.2 POST
-
- The GET method makes all input field names get displayed in the URL field of
- your browser. That's generally a good thing when you want to be able to
- bookmark that page with your given data, but it is an obvious disadvantage
- if you entered secret information in one of the fields or if there are a
- large amount of fields creating a very long and unreadable URL.
-
- The HTTP protocol then offers the POST method. This way the client sends the
- data separated from the URL and thus you won't see any of it in the URL
- address field.
-
- The form would look very similar to the previous one:
-
- <form method="POST" action="junk.cgi">
- <input type=text name="birthyear">
- <input type=submit name=press value=" OK ">
- </form>
-
- And to use curl to post this form with the same data filled in as before, we
- could do it like:
-
- curl -d "birthyear=1905&press=%20OK%20" www.hotmail.com/when/junk.cgi
-
- This kind of POST will use the Content-Type
- application/x-www-form-urlencoded and is the most widely used POST kind.
-
- The data you send to the server MUST already be properly encoded, curl will
- not do that for you. For example, if you want the data to contain a space,
- you need to replace that space with %20 etc. Failing to comply with this
- will most likely cause your data to be received wrongly and messed up.
-
- Recent curl versions can in fact url-encode POST data for you, like this:
-
- curl --data-urlencode "name=I am Daniel" www.example.com
-
- 4.3 File Upload POST
-
- Back in late 1995 they defined an additional way to post data over HTTP. It
- is documented in the RFC 1867, why this method sometimes is referred to as
- RFC1867-posting.
-
- This method is mainly designed to better support file uploads. A form that
- allows a user to upload a file could be written like this in HTML:
-
- <form method="POST" enctype='multipart/form-data' action="upload.cgi">
- <input type=file name=upload>
- <input type=submit name=press value="OK">
- </form>
-
- This clearly shows that the Content-Type about to be sent is
- multipart/form-data.
-
- To post to a form like this with curl, you enter a command line like:
-
- curl -F upload=@localfilename -F press=OK [URL]
-
- 4.4 Hidden Fields
-
- A very common way for HTML based application to pass state information
- between pages is to add hidden fields to the forms. Hidden fields are
- already filled in, they aren't displayed to the user and they get passed
- along just as all the other fields.
-
- A similar example form with one visible field, one hidden field and one
- submit button could look like:
-
- <form method="POST" action="foobar.cgi">
- <input type=text name="birthyear">
- <input type=hidden name="person" value="daniel">
- <input type=submit name="press" value="OK">
- </form>
-
- To post this with curl, you won't have to think about if the fields are
- hidden or not. To curl they're all the same:
-
- curl -d "birthyear=1905&press=OK&person=daniel" [URL]
-
- 4.5 Figure Out What A POST Looks Like
-
- When you're about fill in a form and send to a server by using curl instead
- of a browser, you're of course very interested in sending a POST exactly the
- way your browser does.
-
- An easy way to get to see this, is to save the HTML page with the form on
- your local disk, modify the 'method' to a GET, and press the submit button
- (you could also change the action URL if you want to).
-
- You will then clearly see the data get appended to the URL, separated with a
- '?'-letter as GET forms are supposed to.
-
-5. PUT
-
- The perhaps best way to upload data to a HTTP server is to use PUT. Then
- again, this of course requires that someone put a program or script on the
- server end that knows how to receive a HTTP PUT stream.
-
- Put a file to a HTTP server with curl:
-
- curl -T uploadfile www.uploadhttp.com/receive.cgi
-
-6. HTTP Authentication
-
- HTTP Authentication is the ability to tell the server your username and
- password so that it can verify that you're allowed to do the request you're
- doing. The Basic authentication used in HTTP (which is the type curl uses by
- default) is *plain* *text* based, which means it sends username and password
- only slightly obfuscated, but still fully readable by anyone that sniffs on
- the network between you and the remote server.
-
- To tell curl to use a user and password for authentication:
-
- curl -u name:password www.secrets.com
-
- The site might require a different authentication method (check the headers
- returned by the server), and then --ntlm, --digest, --negotiate or even
- --anyauth might be options that suit you.
-
- Sometimes your HTTP access is only available through the use of a HTTP
- proxy. This seems to be especially common at various companies. A HTTP proxy
- may require its own user and password to allow the client to get through to
- the Internet. To specify those with curl, run something like:
-
- curl -U proxyuser:proxypassword curl.haxx.se
-
- If your proxy requires the authentication to be done using the NTLM method,
- use --proxy-ntlm, if it requires Digest use --proxy-digest.
-
- If you use any one these user+password options but leave out the password
- part, curl will prompt for the password interactively.
-
- Do note that when a program is run, its parameters might be possible to see
- when listing the running processes of the system. Thus, other users may be
- able to watch your passwords if you pass them as plain command line
- options. There are ways to circumvent this.
-
- It is worth noting that while this is how HTTP Authentication works, very
- many web sites will not use this concept when they provide logins etc. See
- the Web Login chapter further below for more details on that.
-
-7. Referer
-
- A HTTP request may include a 'referer' field (yes it is misspelled), which
- can be used to tell from which URL the client got to this particular
- resource. Some programs/scripts check the referer field of requests to verify
- that this wasn't arriving from an external site or an unknown page. While
- this is a stupid way to check something so easily forged, many scripts still
- do it. Using curl, you can put anything you want in the referer-field and
- thus more easily be able to fool the server into serving your request.
-
- Use curl to set the referer field with:
-
- curl -e http://curl.haxx.se daniel.haxx.se
-
-8. User Agent
-
- Very similar to the referer field, all HTTP requests may set the User-Agent
- field. It names what user agent (client) that is being used. Many
- applications use this information to decide how to display pages. Silly web
- programmers try to make different pages for users of different browsers to
- make them look the best possible for their particular browsers. They usually
- also do different kinds of javascript, vbscript etc.
-
- At times, you will see that getting a page with curl will not return the same
- page that you see when getting the page with your browser. Then you know it
- is time to set the User Agent field to fool the server into thinking you're
- one of those browsers.
-
- To make curl look like Internet Explorer on a Windows 2000 box:
-
- curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" [URL]
-
- Or why not look like you're using Netscape 4.73 on a Linux (PIII) box:
-
- curl -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" [URL]
-
-9. Redirects
-
- When a resource is requested from a server, the reply from the server may
- include a hint about where the browser should go next to find this page, or a
- new page keeping newly generated output. The header that tells the browser
- to redirect is Location:.
-
- Curl does not follow Location: headers by default, but will simply display
- such pages in the same manner it display all HTTP replies. It does however
- feature an option that will make it attempt to follow the Location: pointers.
-
- To tell curl to follow a Location:
-
- curl -L www.sitethatredirects.com
-
- If you use curl to POST to a site that immediately redirects you to another
- page, you can safely use -L and -d/-F together. Curl will only use POST in
- the first request, and then revert to GET in the following operations.
-
-10. Cookies
-
- The way the web browsers do "client side state control" is by using
- cookies. Cookies are just names with associated contents. The cookies are
- sent to the client by the server. The server tells the client for what path
- and host name it wants the cookie sent back, and it also sends an expiration
- date and a few more properties.
-
- When a client communicates with a server with a name and path as previously
- specified in a received cookie, the client sends back the cookies and their
- contents to the server, unless of course they are expired.
-
- Many applications and servers use this method to connect a series of requests
- into a single logical session. To be able to use curl in such occasions, we
- must be able to record and send back cookies the way the web application
- expects them. The same way browsers deal with them.
-
- The simplest way to send a few cookies to the server when getting a page with
- curl is to add them on the command line like:
-
- curl -b "name=Daniel" www.cookiesite.com
-
- Cookies are sent as common HTTP headers. This is practical as it allows curl
- to record cookies simply by recording headers. Record cookies with curl by
- using the -D option like:
-
- curl -D headers_and_cookies www.cookiesite.com
-
- (Take note that the -c option described below is a better way to store
- cookies.)
-
- Curl has a full blown cookie parsing engine built-in that comes to use if you
- want to reconnect to a server and use cookies that were stored from a
- previous connection (or handicrafted manually to fool the server into
- believing you had a previous connection). To use previously stored cookies,
- you run curl like:
-
- curl -b stored_cookies_in_file www.cookiesite.com
-
- Curl's "cookie engine" gets enabled when you use the -b option. If you only
- want curl to understand received cookies, use -b with a file that doesn't
- exist. Example, if you want to let curl understand cookies from a page and
- follow a location (and thus possibly send back cookies it received), you can
- invoke it like:
-
- curl -b nada -L www.cookiesite.com
-
- Curl has the ability to read and write cookie files that use the same file
- format that Netscape and Mozilla do. It is a convenient way to share cookies
- between browsers and automatic scripts. The -b switch automatically detects
- if a given file is such a cookie file and parses it, and by using the
- -c/--cookie-jar option you'll make curl write a new cookie file at the end of
- an operation:
-
- curl -b cookies.txt -c newcookies.txt www.cookiesite.com
-
-11. HTTPS
-
- There are a few ways to do secure HTTP transfers. The by far most common
- protocol for doing this is what is generally known as HTTPS, HTTP over
- SSL. SSL encrypts all the data that is sent and received over the network and
- thus makes it harder for attackers to spy on sensitive information.
-
- SSL (or TLS as the latest version of the standard is called) offers a
- truckload of advanced features to allow all those encryptions and key
- infrastructure mechanisms encrypted HTTP requires.
-
- Curl supports encrypted fetches thanks to the freely available OpenSSL
- libraries. To get a page from a HTTPS server, simply run curl like:
-
- curl https://that.secure.server.com
-
- 11.1 Certificates
-
- In the HTTPS world, you use certificates to validate that you are the one
- you claim to be, as an addition to normal passwords. Curl supports client-
- side certificates. All certificates are locked with a pass phrase, which you
- need to enter before the certificate can be used by curl. The pass phrase
- can be specified on the command line or if not, entered interactively when
- curl queries for it. Use a certificate with curl on a HTTPS server like:
-
- curl -E mycert.pem https://that.secure.server.com
-
- curl also tries to verify that the server is who it claims to be, by
- verifying the server's certificate against a locally stored CA cert
- bundle. Failing the verification will cause curl to deny the connection. You
- must then use -k in case you want to tell curl to ignore that the server
- can't be verified.
-
- More about server certificate verification and ca cert bundles can be read
- in the SSLCERTS document, available online here:
-
- http://curl.haxx.se/docs/sslcerts.html
-
-12. Custom Request Elements
-
- Doing fancy stuff, you may need to add or change elements of a single curl
- request.
-
- For example, you can change the POST request to a PROPFIND and send the data
- as "Content-Type: text/xml" (instead of the default Content-Type) like this:
-
- curl -d "<xml>" -H "Content-Type: text/xml" -X PROPFIND url.com
-
- You can delete a default header by providing one without content. Like you
- can ruin the request by chopping off the Host: header:
-
- curl -H "Host:" http://mysite.com
-
- You can add headers the same way. Your server may want a "Destination:"
- header, and you can add it:
-
- curl -H "Destination: http://moo.com/nowhere" http://url.com
-
-13. Web Login
-
- While not strictly just HTTP related, it still cause a lot of people problems
- so here's the executive run-down of how the vast majority of all login forms
- work and how to login to them using curl.
-
- It can also be noted that to do this properly in an automated fashion, you
- will most certainly need to script things and do multiple curl invokes etc.
-
- First, servers mostly use cookies to track the logged-in status of the
- client, so you will need to capture the cookies you receive in the
- responses. Then, many sites also set a special cookie on the login page (to
- make sure you got there through their login page) so you should make a habit
- of first getting the login-form page to capture the cookies set there.
-
- Some web-based login systems features various amounts of javascript, and
- sometimes they use such code to set or modify cookie contents. Possibly they
- do that to prevent programmed logins, like this manual describes how to...
- Anyway, if reading the code isn't enough to let you repeat the behavior
- manually, capturing the HTTP requests done by your browers and analyzing the
- sent cookies is usually a working method to work out how to shortcut the
- javascript need.
-
- In the actual <form> tag for the login, lots of sites fill-in random/session
- or otherwise secretly generated hidden tags and you may need to first capture
- the HTML code for the login form and extract all the hidden fields to be able
- to do a proper login POST. Remember that the contents need to be URL encoded
- when sent in a normal POST.
-
-
-14. Debug
-
- Many times when you run curl on a site, you'll notice that the site doesn't
- seem to respond the same way to your curl requests as it does to your
- browser's.
-
- Then you need to start making your curl requests more similar to your
- browser's requests:
-
- * Use the --trace-ascii option to store fully detailed logs of the requests
- for easier analyzing and better understanding
-
- * Make sure you check for and use cookies when needed (both reading with -b
- and writing with -c)
-
- * Set user-agent to one like a recent popular browser does
-
- * Set referer like it is set by the browser
-
- * If you use POST, make sure you send all the fields and in the same order as
- the browser does it. (See chapter 4.5 above)
-
- A very good helper to make sure you do this right, is the LiveHTTPHeader tool
- that lets you view all headers you send and receive with Mozilla/Firefox
- (even when using HTTPS).
-
- A more raw approach is to capture the HTTP traffic on the network with tools
- such as ethereal or tcpdump and check what headers that were sent and
- received by the browser. (HTTPS makes this technique inefficient.)
-
-15. References
-
- RFC 2616 is a must to read if you want in-depth understanding of the HTTP
- protocol.
-
- RFC 2396 explains the URL syntax.
-
- RFC 2109 defines how cookies are supposed to work.
-
- RFC 1867 defines the HTTP post upload format.
-
- http://www.openssl.org is the home of the OpenSSL project
-
- http://curl.haxx.se is the home of the cURL project
diff --git a/Utilities/cmcurl-7.19.0/docs/VERSIONS b/Utilities/cmcurl-7.19.0/docs/VERSIONS
deleted file mode 100644
index cc11c1b..0000000
--- a/Utilities/cmcurl-7.19.0/docs/VERSIONS
+++ /dev/null
@@ -1,67 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-Version Numbers and Releases
-
- Curl is not only curl. Curl is also libcurl. They're actually individually
- versioned, but they mostly follow each other rather closely.
-
- The version numbering is always built up using the same system:
-
- X.Y[.Z][-preN]
-
- Where
- X is main version number
- Y is release number
- Z is patch number
- N is pre-release number
-
- One of these numbers will get bumped in each new release. The numbers to the
- right of a bumped number will be reset to zero. If Z is zero, it may not be
- included in the version number. The pre release number is only included in
- pre releases (they're never used in public, official, releases).
-
- The main version number will get bumped when *really* big, world colliding
- changes are made. The release number is bumped when big changes are
- performed. The patch number is bumped when the changes are mere bugfixes and
- only minor feature changes. The pre-release is a counter, to identify which
- pre-release a certain release is.
-
- When reaching the end of a pre-release period, the version without the
- pre-release part will be released as a public release.
-
- It means that after release 1.2.3, we can release 2.0 if something really big
- has been made, 1.3 if not that big changes were made or 1.2.4 if mostly bugs
- were fixed. Before 1.2.4 is released, we might release a 1.2.4-pre1 release
- for the brave people to try before the actual release.
-
- Bumping, as in increasing the number with 1, is unconditionally only
- affecting one of the numbers (except the ones to the right of it, that may be
- set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99
- becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100 might come.
-
- All original curl source release archives are named according to the libcurl
- version (not according to the curl client version that, as said before, might
- differ).
-
- As a service to any application that might want to support new libcurl
- features while still being able to build with older versions, all releases
- have the libcurl version stored in the curl/curlver.h file using a static
- numbering scheme that can be used for comparison. The version number is
- defined as:
-
- #define LIBCURL_VERSION_NUM 0xXXYYZZ
-
- Where XX, YY and ZZ are the main version, release and patch numbers in
- hexadecimal. All three numbers are always represented using two digits. 1.2
- would appear as "0x010200" while version 9.11.7 appears as "0x090b07".
-
- This 6-digit hexadecimal number does not show pre-release number, and it is
- always a greater number in a more recent release. It makes comparisons with
- greater than and less than work.
-
- This number is also available as three separate defines:
- LIBCURL_VERSION_MAJOR, LIBCURL_VERSION_MINOR and LIBCURL_VERSION_PATCH.
diff --git a/Utilities/cmcurl-7.19.0/docs/curl-config.1 b/Utilities/cmcurl-7.19.0/docs/curl-config.1
deleted file mode 100644
index a8acf90..0000000
--- a/Utilities/cmcurl-7.19.0/docs/curl-config.1
+++ /dev/null
@@ -1,98 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2007, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl-config 1 "25 Oct 2007" "Curl 7.17.1" "curl-config manual"
-.SH NAME
-curl-config \- Get information about a libcurl installation
-.SH SYNOPSIS
-.B curl-config [options]
-.SH DESCRIPTION
-.B curl-config
-displays information about a previous curl and libcurl installation.
-.SH OPTIONS
-.IP "--ca"
-Displays the built-in path to the CA cert bundle this libcurl uses.
-.IP "--cc"
-Displays the compiler used to build libcurl.
-.IP "--cflags"
-Set of compiler options (CFLAGS) to use when compiling files that use
-libcurl. Currently that is only thw include path to the curl include files.
-.IP "--checkfor [version]"
-Specify the oldest possible libcurl version string you want, and this
-script will return 0 if the current installation is new enough or it
-returns 1 and outputs a text saying that the current version is not new
-enough. (Added in 7.15.4)
-.IP "--feature"
-Lists what particular main features the installed libcurl was built with. At
-the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume
-any particular order. The keywords will be separated by newlines. There may be
-none, one or several keywords in the list.
-.IP "--help"
-Displays the available options.
-.IP "--libs"
-Shows the complete set of libs and other linker options you will need in order
-to link your application with libcurl.
-.IP "--prefix"
-This is the prefix used when libcurl was installed. Libcurl is then installed
-in $prefix/lib and its header files are installed in $prefix/include and so
-on. The prefix is set with "configure --prefix".
-.IP "--protocols"
-Lists what particular protocols the installed libcurl was built to support. At
-the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE,
-TELNET, LDAP, DICT. Do not assume any particular order. The protocols will
-be listed using uppercase and are separated by newlines. There may be none,
-one or several protocols in the list. (Added in 7.13.0)
-.IP "--static-libs"
-Shows the complete set of libs and other linker options you will need in order
-to link your application with libcurl statically. (Added in 7.17.1)
-.IP "--version"
-Outputs version information about the installed libcurl.
-.IP "--vernum"
-Outputs version information about the installed libcurl, in numerical mode.
-This outputs the version number, in hexadecimal, with 8 bits for each part;
-major, minor, patch. So that libcurl 7.7.4 would appear as 070704 and libcurl
-12.13.14 would appear as 0c0d0e... Note that the initial zero might be
-omitted. (This option was broken in the 7.15.0 release.)
-.SH "EXAMPLES"
-What linker options do I need when I link with libcurl?
-
- $ curl-config --libs
-
-What compiler options do I need when I compile using libcurl functions?
-
- $ curl-config --cflags
-
-How do I know if libcurl was built with SSL support?
-
- $ curl-config --feature | grep SSL
-
-What's the installed libcurl version?
-
- $ curl-config --version
-
-How do I build a single file with a one-line command?
-
- $ `curl-config --cc --cflags --libs` -o example example.c
-
-.SH "SEE ALSO"
-.BR curl (1)
diff --git a/Utilities/cmcurl-7.19.0/docs/curl-config.html b/Utilities/cmcurl-7.19.0/docs/curl-config.html
deleted file mode 100644
index a1e3f34..0000000
--- a/Utilities/cmcurl-7.19.0/docs/curl-config.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<html><head>
-<title>curl-config man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl-config - Get information about a libcurl installation <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">curl-config [options]</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="bold">curl-config</span> displays information about a previous curl and libcurl installation. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="--ca"></a><span class="nroffip">--ca</span>
-<p class="level1">Displays the built-in path to the CA cert bundle this libcurl uses.
-<p class="level0"><a name="--cc"></a><span class="nroffip">--cc</span>
-<p class="level1">Displays the compiler used to build libcurl.
-<p class="level0"><a name="--cflags"></a><span class="nroffip">--cflags</span>
-<p class="level1">Set of compiler options (CFLAGS) to use when compiling files that use libcurl. Currently that is only thw include path to the curl include files.
-<p class="level0"><a name="--checkfor"></a><span class="nroffip">--checkfor [version]</span>
-<p class="level1">Specify the oldest possible libcurl version string you want, and this script will return 0 if the current installation is new enough or it returns 1 and outputs a text saying that the current version is not new enough. (Added in 7.15.4)
-<p class="level0"><a name="--feature"></a><span class="nroffip">--feature</span>
-<p class="level1">Lists what particular main features the installed libcurl was built with. At the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume any particular order. The keywords will be separated by newlines. There may be none, one or several keywords in the list.
-<p class="level0"><a name="--help"></a><span class="nroffip">--help</span>
-<p class="level1">Displays the available options.
-<p class="level0"><a name="--libs"></a><span class="nroffip">--libs</span>
-<p class="level1">Shows the complete set of libs and other linker options you will need in order to link your application with libcurl.
-<p class="level0"><a name="--prefix"></a><span class="nroffip">--prefix</span>
-<p class="level1">This is the prefix used when libcurl was installed. Libcurl is then installed in $prefix/lib and its header files are installed in $prefix/include and so on. The prefix is set with "configure --prefix".
-<p class="level0"><a name="--protocols"></a><span class="nroffip">--protocols</span>
-<p class="level1">Lists what particular protocols the installed libcurl was built to support. At the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE, TELNET, LDAP, DICT. Do not assume any particular order. The protocols will be listed using uppercase and are separated by newlines. There may be none, one or several protocols in the list. (Added in 7.13.0)
-<p class="level0"><a name="--static-libs"></a><span class="nroffip">--static-libs</span>
-<p class="level1">Shows the complete set of libs and other linker options you will need in order to link your application with libcurl statically. (Added in 7.17.1)
-<p class="level0"><a name="--version"></a><span class="nroffip">--version</span>
-<p class="level1">Outputs version information about the installed libcurl.
-<p class="level0"><a name="--vernum"></a><span class="nroffip">--vernum</span>
-<p class="level1">Outputs version information about the installed libcurl, in numerical mode. This outputs the version number, in hexadecimal, with 8 bits for each part; major, minor, patch. So that libcurl 7.7.4 would appear as 070704 and libcurl 12.13.14 would appear as 0c0d0e... Note that the initial zero might be omitted. (This option was broken in the 7.15.0 release.) <a name="EXAMPLES"></a><h2 class="nroffsh">EXAMPLES</h2>
-<p class="level0">What linker options do I need when I link with libcurl?
-<p class="level0">&nbsp; $ curl-config --libs
-<p class="level0">What compiler options do I need when I compile using libcurl functions?
-<p class="level0">&nbsp; $ curl-config --cflags
-<p class="level0">How do I know if libcurl was built with SSL support?
-<p class="level0">&nbsp; $ curl-config --feature | grep SSL
-<p class="level0">What's the installed libcurl version?
-<p class="level0">&nbsp; $ curl-config --version
-<p class="level0">How do I build a single file with a one-line command?
-<p class="level0">&nbsp; $ `curl-config --cc --cflags --libs` -o example example.c
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl (1)</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/curl-config.pdf b/Utilities/cmcurl-7.19.0/docs/curl-config.pdf
deleted file mode 100644
index 7d378c4..0000000
--- a/Utilities/cmcurl-7.19.0/docs/curl-config.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/curl.1 b/Utilities/cmcurl-7.19.0/docs/curl.1
deleted file mode 100644
index 57cb79d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/curl.1
+++ /dev/null
@@ -1,1612 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl 1 "10 July 2008" "Curl 7.19.0" "Curl Manual"
-.SH NAME
-curl \- transfer a URL
-.SH SYNOPSIS
-.B curl [options]
-.I [URL...]
-.SH DESCRIPTION
-.B curl
-is a tool to transfer data from or to a server, using one of the supported
-protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or
-FILE). The command is designed to work without user interaction.
-
-curl offers a busload of useful tricks like proxy support, user
-authentication, ftp upload, HTTP post, SSL connections, cookies, file transfer
-resume and more. As you will see below, the number of features will make your
-head spin!
-
-curl is powered by libcurl for all transfer-related features. See
-.BR libcurl (3)
-for details.
-.SH URL
-The URL syntax is protocol dependent. You'll find a detailed description in
-RFC 3986.
-
-You can specify multiple URLs or parts of URLs by writing part sets within
-braces as in:
-
- http://site.{one,two,three}.com
-
-or you can get sequences of alphanumeric series by using [] as in:
-
- ftp://ftp.numericals.com/file[1-100].txt
- ftp://ftp.numericals.com/file[001-100].txt (with leading zeros)
- ftp://ftp.letters.com/file[a-z].txt
-
-No nesting of the sequences is supported at the moment, but you can use
-several ones next to each other:
-
- http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
-
-You can specify any amount of URLs on the command line. They will be fetched
-in a sequential manner in the specified order.
-
-Since curl 7.15.1 you can also specify step counter for the ranges, so that
-you can get every Nth number or letter:
-
- http://www.numericals.com/file[1-100:10].txt
- http://www.letters.com/file[a-z:2].txt
-
-If you specify URL without protocol:// prefix, curl will attempt to guess what
-protocol you might want. It will then default to HTTP but try other protocols
-based on often-used host name prefixes. For example, for host names starting
-with "ftp." curl will assume you want to speak FTP.
-
-Curl will attempt to re-use connections for multiple file transfers, so that
-getting many files from the same server will not do multiple connects /
-handshakes. This improves speed. Of course this is only done on files
-specified on a single command line and cannot be used between separate curl
-invokes.
-.SH "PROGRESS METER"
-curl normally displays a progress meter during operations, indicating amount
-of transferred data, transfer speeds and estimated time left etc.
-
-However, since curl displays data to the terminal by default, if you invoke
-curl to do an operation and it is about to write data to the terminal, it
-\fIdisables\fP the progress meter as otherwise it would mess up the output
-mixing progress meter and response data.
-
-If you want a progress meter for HTTP POST or PUT requests, you need to
-redirect the response output to a file, using shell redirect (>), -o [file] or
-similar.
-
-It is not the same case for FTP upload as that operation is not spitting out
-any response data to the terminal.
-
-If you prefer a progress "bar" instead of the regular meter, \fI-#\fP is your
-friend.
-.SH OPTIONS
-In general, all boolean options are enabled with --option and yet again
-disabled with --\fBno-\fPoption. That is, you use the exact same option name
-but prefix it with "no-". However, in this list we mostly only list and show
-the --option version of them. (This concept with --no options was added in
-7.19.0. Previously most options were toggled on/off on repeated use of the
-same command line option.)
-.IP "-a/--append"
-(FTP/SFTP) When used in an upload, this will tell curl to append to the target
-file instead of overwriting it. If the file doesn't exist, it will be created.
-Note that this flag is ignored by some SSH servers (including OpenSSH).
-.IP "-A/--user-agent <agent string>"
-(HTTP) Specify the User-Agent string to send to the HTTP server. Some badly
-done CGIs fail if this field isn't set to "Mozilla/4.0". To encode blanks in
-the string, surround the string with single quote marks. This can also be set
-with the \fI-H/--header\fP option of course.
-
-If this option is set more than once, the last one will be the one that's
-used.
-.IP "--anyauth"
-(HTTP) Tells curl to figure out authentication method by itself, and use the
-most secure one the remote site claims it supports. This is done by first
-doing a request and checking the response-headers, thus possibly inducing an
-extra network round-trip. This is used instead of setting a specific
-authentication method, which you can do with \fI--basic\fP, \fI--digest\fP,
-\fI--ntlm\fP, and \fI--negotiate\fP.
-
-Note that using --anyauth is not recommended if you do uploads from stdin,
-since it may require data to be sent twice and then the client must be able to
-rewind. If the need should arise when uploading from stdin, the upload
-operation will fail.
-.IP "-b/--cookie <name=data>"
-(HTTP)
-Pass the data to the HTTP server as a cookie. It is supposedly the
-data previously received from the server in a "Set-Cookie:" line.
-The data should be in the format "NAME1=VALUE1; NAME2=VALUE2".
-
-If no '=' letter is used in the line, it is treated as a filename to use to
-read previously stored cookie lines from, which should be used in this session
-if they match. Using this method also activates the "cookie parser" which will
-make curl record incoming cookies too, which may be handy if you're using this
-in combination with the \fI-L/--location\fP option. The file format of the
-file to read cookies from should be plain HTTP headers or the Netscape/Mozilla
-cookie file format.
-
-\fBNOTE\fP that the file specified with \fI-b/--cookie\fP is only used as
-input. No cookies will be stored in the file. To store cookies, use the
-\fI-c/--cookie-jar\fP option or you could even save the HTTP headers to a file
-using \fI-D/--dump-header\fP!
-
-If this option is set more than once, the last one will be the one that's
-used.
-.IP "-B/--use-ascii"
-Enable ASCII transfer when using FTP or LDAP. For FTP, this can also be
-enforced by using an URL that ends with ";type=A". This option causes data
-sent to stdout to be in text mode for win32 systems.
-.IP "--basic"
-(HTTP) Tells curl to use HTTP Basic authentication. This is the default and
-this option is usually pointless, unless you use it to override a previously
-set option that sets a different authentication method (such as \fI--ntlm\fP,
-\fI--digest\fP and \fI--negotiate\fP).
-.IP "--ciphers <list of ciphers>"
-(SSL) Specifies which ciphers to use in the connection. The list of ciphers
-must be using valid ciphers. Read up on SSL cipher list details on this URL:
-\fIhttp://www.openssl.org/docs/apps/ciphers.html\fP
-
-NSS ciphers are done differently than OpenSSL and GnuTLS. The full list of
-NSS ciphers is in the NSSCipherSuite entry at this URL:
-\fIhttp://directory.fedora.redhat.com/docs/mod_nss.html#Directives\fP
-
-If this option is used several times, the last one will override the others.
-.IP "--compressed"
-(HTTP) Request a compressed response using one of the algorithms libcurl
-supports, and return the uncompressed document. If this option is used and
-the server sends an unsupported encoding, curl will report an error.
-.IP "--connect-timeout <seconds>"
-Maximum time in seconds that you allow the connection to the server to take.
-This only limits the connection phase, once curl has connected this option is
-of no more use. See also the \fI-m/--max-time\fP option.
-
-If this option is used several times, the last one will be used.
-.IP "-c/--cookie-jar <file name>"
-Specify to which file you want curl to write all cookies after a completed
-operation. Curl writes all cookies previously read from a specified file as
-well as all cookies received from remote server(s). If no cookies are known,
-no file will be written. The file will be written using the Netscape cookie
-file format. If you set the file name to a single dash, "-", the cookies will
-be written to stdout.
-
-.B NOTE
-If the cookie jar can't be created or written to, the whole curl operation
-won't fail or even report an error clearly. Using -v will get a warning
-displayed, but that is the only visible feedback you get about this possibly
-lethal situation.
-
-If this option is used several times, the last specified file name will be
-used.
-.IP "-C/--continue-at <offset>"
-Continue/Resume a previous file transfer at the given offset. The given offset
-is the exact number of bytes that will be skipped counted from the beginning
-of the source file before it is transferred to the destination. If used with
-uploads, the ftp server command SIZE will not be used by curl.
-
-Use "-C -" to tell curl to automatically find out where/how to resume the
-transfer. It then uses the given output/input files to figure that out.
-
-If this option is used several times, the last one will be used.
-.IP "--create-dirs"
-When used in conjunction with the -o option, curl will create the necessary
-local directory hierarchy as needed. This option creates the dirs mentioned
-with the -o option, nothing else. If the -o file name uses no dir or if the
-dirs it mentions already exist, no dir will be created.
-
-To create remote directories when using FTP or SFTP, try
-\fI--ftp-create-dirs\fP.
-.IP "--crlf"
-(FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).
-.IP "-d/--data <data>"
-(HTTP) Sends the specified data in a POST request to the HTTP server, in the
-same way that a browser does when a user has filled in an HTML form and
-presses the submit button. This will cause curl to pass the data to the server
-using the content-type application/x-www-form-urlencoded. Compare to
-\fI-F/--form\fP.
-
-\fI-d/--data\fP is the same as \fI--data-ascii\fP. To post data purely binary,
-you should instead use the \fI--data-binary\fP option. To URL encode the value
-of a form field you may use \fI--data-urlencode\fP.
-
-If any of these options is used more than once on the same command line, the
-data pieces specified will be merged together with a separating
-&-letter. Thus, using '-d name=daniel -d skill=lousy' would generate a post
-chunk that looks like \&'name=daniel&skill=lousy'.
-
-If you start the data with the letter @, the rest should be a file name to
-read the data from, or - if you want curl to read the data from stdin. The
-contents of the file must already be url-encoded. Multiple files can also be
-specified. Posting data from a file named 'foobar' would thus be done with
-\fI--data @foobar\fP.
-.IP "--data-binary <data>"
-(HTTP) This posts data exactly as specified with no extra processing
-whatsoever.
-
-If you start the data with the letter @, the rest should be a filename. Data
-is posted in a similar manner as \fI--data-ascii\fP does, except that newlines
-are preserved and conversions are never done.
-
-If this option is used several times, the ones following the first will append
-data. As described in \fI-d/--data\fP.
-.IP "--data-urlencode <data>"
-(HTTP) This posts data, similar to the other --data options with the exception
-that this performs URL encoding. (Added in 7.18.0)
-
-To be CGI compliant, the <data> part should begin with a \fIname\fP followed
-by a separator and a content specification. The <data> part can be passed to
-curl using one of the following syntaxes:
-.RS
-.IP "content"
-This will make curl URL encode the content and pass that on. Just be careful
-so that the content doesn't contain any = or @ letters, as that will then make
-the syntax match one of the other cases below!
-.IP "=content"
-This will make curl URL encode the content and pass that on. The preceding =
-letter is not included in the data.
-.IP "name=content"
-This will make curl URL encode the content part and pass that on. Note that
-the name part is expected to be URL encoded already.
-.IP "@filename"
-This will make curl load data from the given file (including any newlines),
-URL encode that data and pass it on in the POST.
-.IP "name@filename"
-This will make curl load data from the given file (including any newlines),
-URL encode that data and pass it on in the POST. The name part gets an equal
-sign appended, resulting in \fIname=urlencoded-file-content\fP. Note that the
-name is expected to be URL encoded already.
-.RE
-.IP "--digest"
-(HTTP) Enables HTTP Digest authentication. This is a authentication that
-prevents the password from being sent over the wire in clear text. Use this in
-combination with the normal \fI-u/--user\fP option to set user name and
-password. See also \fI--ntlm\fP, \fI--negotiate\fP and \fI--anyauth\fP for
-related options.
-
-If this option is used several times, the following occurrences make no
-difference.
-.IP "--disable-eprt"
-(FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing
-active FTP transfers. Curl will normally always first attempt to use EPRT,
-then LPRT before using PORT, but with this option, it will use PORT right
-away. EPRT and LPRT are extensions to the original FTP protocol, may not work
-on all servers but enable more functionality in a better way than the
-traditional PORT command.
-
-Since curl 7.19.0, \fB--eprt\fP can be used to explicitly enable EPRT again
-and \fB--no-eprt\fP is an alias for \fB--disable-eprt\fP.
-.IP "--disable-epsv"
-(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
-transfers. Curl will normally always first attempt to use EPSV before PASV,
-but with this option, it will not try using EPSV.
-
-Since curl 7.19.0, \fB--epsv\fP can be used to explicitly enable EPRT again
-and \fB--no-epsv\fP is an alias for \fB--disable-epsv\fP.
-.IP "-D/--dump-header <file>"
-Write the protocol headers to the specified file.
-
-This option is handy to use when you want to store the headers that a HTTP
-site sends to you. Cookies from the headers could then be read in a second
-curl invoke by using the \fI-b/--cookie\fP option! The \fI-c/--cookie-jar\fP
-option is however a better way to store cookies.
-
-When used on FTP, the ftp server response lines are considered being "headers"
-and thus are saved there.
-
-If this option is used several times, the last one will be used.
-.IP "-e/--referer <URL>"
-(HTTP) Sends the "Referer Page" information to the HTTP server. This can also
-be set with the \fI-H/--header\fP flag of course. When used with
-\fI-L/--location\fP you can append ";auto" to the --referer URL to make curl
-automatically set the previous URL when it follows a Location: header. The
-\&";auto" string can be used alone, even if you don't set an initial --referer.
-
-If this option is used several times, the last one will be used.
-.IP "--engine <name>"
-Select the OpenSSL crypto engine to use for cipher
-operations. Use \fI--engine list\fP to print a list of build-time supported
-engines. Note that not all (or none) of the engines may be available at
-run-time.
-.IP "--environment"
-(RISC OS ONLY) Sets a range of environment variables, using the names the -w
-option supports, to easier allow extraction of useful information after having
-run curl.
-.IP "--egd-file <file>"
-(SSL) Specify the path name to the Entropy Gathering Daemon socket. The socket
-is used to seed the random engine for SSL connections. See also the
-\fI--random-file\fP option.
-.IP "-E/--cert <certificate[:password]>"
-(SSL) Tells curl to use the specified certificate file when getting a file
-with HTTPS or FTPS. The certificate must be in PEM format. If the optional
-password isn't specified, it will be queried for on the terminal. Note that
-this option assumes a \&"certificate" file that is the private key and the
-private certificate concatenated! See \fI--cert\fP and \fI--key\fP to specify
-them independently.
-
-If curl is built against the NSS SSL library then this option tells
-curl the nickname of the certificate to use within the NSS database defined
-by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the
-NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be
-loaded.
-
-If this option is used several times, the last one will be used.
-.IP "--cert-type <type>"
-(SSL) Tells curl what certificate type the provided certificate is in. PEM,
-DER and ENG are recognized types. If not specified, PEM is assumed.
-
-If this option is used several times, the last one will be used.
-.IP "--cacert <CA certificate>"
-(SSL) Tells curl to use the specified certificate file to verify the peer. The
-file may contain multiple CA certificates. The certificate(s) must be in PEM
-format. Normally curl is built to use a default file for this, so this option
-is typically used to alter that default file.
-
-curl recognizes the environment variable named 'CURL_CA_BUNDLE' if that is
-set, and uses the given path as a path to a CA cert bundle. This option
-overrides that variable.
-
-The windows version of curl will automatically look for a CA certs file named
-\'curl-ca-bundle.crt\', either in the same directory as curl.exe, or in the
-Current Working Directory, or in any folder along your PATH.
-
-If curl is built against the NSS SSL library then this option tells
-curl the nickname of the CA certificate to use within the NSS database
-defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb).
-If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files
-may be loaded.
-
-If this option is used several times, the last one will be used.
-.IP "--capath <CA certificate directory>"
-(SSL) Tells curl to use the specified certificate directory to verify the
-peer. The certificates must be in PEM format, and the directory must have been
-processed using the c_rehash utility supplied with openssl. Using
-\fI--capath\fP can allow curl to make SSL-connections much more efficiently
-than using \fI--cacert\fP if the \fI--cacert\fP file contains many CA
-certificates.
-
-If this option is used several times, the last one will be used.
-.IP "-f/--fail"
-(HTTP) Fail silently (no output at all) on server errors. This is mostly done
-like this to better enable scripts etc to better deal with failed attempts. In
-normal cases when a HTTP server fails to deliver a document, it returns an
-HTML document stating so (which often also describes why and more). This flag
-will prevent curl from outputting that and return error 22.
-
-This method is not fail-safe and there are occasions where non-successful
-response codes will slip through, especially when authentication is involved
-(response codes 401 and 407).
-.IP "--ftp-account [data]"
-(FTP) When an FTP server asks for "account data" after user name and password
-has been provided, this data is sent off using the ACCT command. (Added in
-7.13.0)
-
-If this option is used twice, the second will override the previous use.
-.IP "--ftp-create-dirs"
-(FTP/SFTP) When an FTP or SFTP URL/operation uses a path that doesn't
-currently exist on the server, the standard behavior of curl is to
-fail. Using this option, curl will instead attempt to create missing
-directories.
-.IP "--ftp-method [method]"
-(FTP) Control what method curl should use to reach a file on a FTP(S)
-server. The method argument should be one of the following alternatives:
-.RS
-.IP multicwd
-curl does a single CWD operation for each path part in the given URL. For deep
-hierarchies this means very many commands. This is how RFC1738 says it should
-be done. This is the default but the slowest behavior.
-.IP nocwd
-curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full
-path to the server for all these commands. This is the fastest behavior.
-.IP singlecwd
-curl does one CWD with the full target directory and then operates on the file
-\&"normally" (like in the multicwd case). This is somewhat more standards
-compliant than 'nocwd' but without the full penalty of 'multicwd'.
-.RE
-.IP "--ftp-pasv"
-(FTP) Use PASV when transferring. PASV is the internal default behavior, but
-using this option can be used to override a previous --ftp-port option. (Added
-in 7.11.0)
-
-If this option is used several times, the following occurrences make no
-difference. Undoing an enforced PASV really isn't doable but you must then
-instead enforce the correct EPRT again.
-.IP "--ftp-alternative-to-user <command>"
-(FTP) If authenticating with the USER and PASS commands fails, send this
-command. When connecting to Tumbleweed's Secure Transport server over FTPS
-using a client certificate, using "SITE AUTH" will tell the server to retrieve
-the username from the certificate. (Added in 7.15.5)
-.IP "--ftp-skip-pasv-ip"
-(FTP) Tell curl to not use the IP address the server suggests in its response
-to curl's PASV command when curl connects the data connection. Instead curl
-will re-use the same IP address it already uses for the control
-connection. (Added in 7.14.2)
-
-This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
-.IP "--ftp-ssl"
-(FTP) Try to use SSL/TLS for the FTP connection. Reverts to a non-secure
-connection if the server doesn't support SSL/TLS. See also
-\fI--ftp-ssl-control\fP and \fI--ftp-ssl-reqd\fP for different levels of
-encryption required. (Added in 7.11.0)
-.IP "--ftp-ssl-control"
-(FTP) Require SSL/TLS for the ftp login, clear for transfer. Allows secure
-authentication, but non-encrypted data transfers for efficiency. Fails the
-transfer if the server doesn't support SSL/TLS. (Added in 7.16.0)
-.IP "--ftp-ssl-reqd"
-(FTP) Require SSL/TLS for the FTP connection.
-Terminates the connection if the server doesn't support SSL/TLS.
-(Added in 7.15.5)
-.IP "--ftp-ssl-ccc"
-(FTP) Use CCC (Clear Command Channel)
-Shuts down the SSL/TLS layer after authenticating. The rest of the
-control channel communication will be unencrypted. This allows
-NAT routers to follow the FTP transaction. The default mode is
-passive. See --ftp-ssl-ccc-mode for other modes.
-(Added in 7.16.1)
-.IP "--ftp-ssl-ccc-mode [active/passive]"
-(FTP) Use CCC (Clear Command Channel)
-Sets the CCC mode. The passive mode will not initiate the shutdown, but
-instead wait for the server to do it, and will not reply to the
-shutdown from the server. The active mode initiates the shutdown and
-waits for a reply from the server.
-(Added in 7.16.2)
-.IP "-F/--form <name=content>"
-(HTTP) This lets curl emulate a filled in form in which a user has pressed the
-submit button. This causes curl to POST data using the Content-Type
-multipart/form-data according to RFC1867. This enables uploading of binary
-files etc. To force the 'content' part to be a file, prefix the file name
-with an @ sign. To just get the content part from a file, prefix the file name
-with the letter <. The difference between @ and < is then that @ makes a file
-get attached in the post as a file upload, while the < makes a text field and
-just get the contents for that text field from a file.
-
-Example, to send your password file to the server, where
-\&'password' is the name of the form-field to which /etc/passwd will be the
-input:
-
-\fBcurl\fP -F password=@/etc/passwd www.mypasswords.com
-
-To read the file's content from stdin instead of a file, use - where the file
-name should've been. This goes for both @ and < constructs.
-
-You can also tell curl what Content-Type to use by using 'type=', in a manner
-similar to:
-
-\fBcurl\fP -F "web=@index.html;type=text/html" url.com
-
-or
-
-\fBcurl\fP -F "name=daniel;type=text/foo" url.com
-
-You can also explicitly change the name field of an file upload part by
-setting filename=, like this:
-
-\fBcurl\fP -F "file=@localfile;filename=nameinpost" url.com
-
-See further examples and details in the MANUAL.
-
-This option can be used multiple times.
-.IP "--form-string <name=string>"
-(HTTP) Similar to \fI--form\fP except that the value string for the named
-parameter is used literally. Leading \&'@' and \&'<' characters, and the
-\&';type=' string in the value have no special meaning. Use this in preference
-to \fI--form\fP if there's any possibility that the string value may
-accidentally trigger the \&'@' or \&'<' features of \fI--form\fP.
-.IP "-g/--globoff"
-This option switches off the "URL globbing parser". When you set this option,
-you can specify URLs that contain the letters {}[] without having them being
-interpreted by curl itself. Note that these letters are not normal legal URL
-contents but they should be encoded according to the URI standard.
-.IP "-G/--get"
-When used, this option will make all data specified with \fI-d/--data\fP or
-\fI--data-binary\fP to be used in a HTTP GET request instead of the POST
-request that otherwise would be used. The data will be appended to the URL
-with a '?' separator.
-
-If used in combination with -I, the POST data will instead be appended to the
-URL with a HEAD request.
-
-If this option is used several times, the following occurrences make no
-difference. This is because undoing a GET doesn't make sense, but you should
-then instead enforce the alternative method you prefer.
-.IP "-h/--help"
-Usage help.
-.IP "-H/--header <header>"
-(HTTP) Extra header to use when getting a web page. You may specify any number
-of extra headers. Note that if you should add a custom header that has the
-same name as one of the internal ones curl would use, your externally set
-header will be used instead of the internal one. This allows you to make even
-trickier stuff than curl would normally do. You should not replace internally
-set headers without knowing perfectly well what you're doing. Remove an
-internal header by giving a replacement without content on the right side of
-the colon, as in: -H \&"Host:".
-
-curl will make sure that each header you add/replace get sent with the proper
-end of line marker, you should thus \fBnot\fP add that as a part of the header
-content: do not add newlines or carriage returns they will only mess things up
-for you.
-
-See also the \fI-A/--user-agent\fP and \fI-e/--referer\fP options.
-
-This option can be used multiple times to add/replace/remove multiple headers.
-.IP "--hostpubmd5 <md5>"
-Pass a string containing 32 hexadecimal digits. The string should be the 128
-bit MD5 checksum of the remote host's public key, curl will refuse the
-connection with the host unless the md5sums match. This option is only for SCP
-and SFTP transfers. (Added in 7.17.1)
-.IP "--ignore-content-length"
-(HTTP)
-Ignore the Content-Length header. This is particularly useful for servers
-running Apache 1.x, which will report incorrect Content-Length for files
-larger than 2 gigabytes.
-.IP "-i/--include"
-(HTTP) Include the HTTP-header in the output. The HTTP-header includes things
-like server-name, date of the document, HTTP-version and more...
-.IP "--interface <name>"
-Perform an operation using a specified interface. You can enter interface
-name, IP address or host name. An example could look like:
-
- curl --interface eth0:1 http://www.netscape.com/
-
-If this option is used several times, the last one will be used.
-.IP "-I/--head"
-(HTTP/FTP/FILE)
-Fetch the HTTP-header only! HTTP-servers feature the command HEAD
-which this uses to get nothing but the header of a document. When used
-on a FTP or FILE file, curl displays the file size and last modification
-time only.
-.IP "-j/--junk-session-cookies"
-(HTTP) When curl is told to read cookies from a given file, this option will
-make it discard all "session cookies". This will basically have the same effect
-as if a new session is started. Typical browsers always discard session
-cookies when they're closed down.
-.IP "-k/--insecure"
-(SSL) This option explicitly allows curl to perform "insecure" SSL connections
-and transfers. All SSL connections are attempted to be made secure by using
-the CA certificate bundle installed by default. This makes all connections
-considered "insecure" to fail unless \fI-k/--insecure\fP is used.
-
-See this online resource for further details:
-\fBhttp://curl.haxx.se/docs/sslcerts.html\fP
-.IP "--keepalive-time <seconds>"
-This option sets the time a connection needs to remain idle before sending
-keepalive probes and the time between individual keepalive probes. It is
-currently effective on operating systems offering the TCP_KEEPIDLE and
-TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This
-option has no effect if \fI--no-keepalive\fP is used. (Added in 7.18.0)
-
-If this option is used multiple times, the last occurrence sets the amount.
-.IP "--key <key>"
-(SSL/SSH) Private key file name. Allows you to provide your private key in this
-separate file.
-
-If this option is used several times, the last one will be used.
-.IP "--key-type <type>"
-(SSL) Private key file type. Specify which type your \fI--key\fP provided
-private key is. DER, PEM and ENG are supported. If not specified, PEM is
-assumed.
-
-If this option is used several times, the last one will be used.
-.IP "--krb <level>"
-(FTP) Enable Kerberos authentication and use. The level must be entered and
-should be one of 'clear', 'safe', 'confidential' or 'private'. Should you use
-a level that is not one of these, 'private' will instead be used.
-
-This option requires that the library was built with kerberos4 or GSSAPI
-(GSS-Negotiate) support. This is not very common. Use \fI-V/--version\fP to
-see if your curl supports it.
-
-If this option is used several times, the last one will be used.
-.IP "-K/--config <config file>"
-Specify which config file to read curl arguments from. The config file is a
-text file in which command line arguments can be written which then will be
-used as if they were written on the actual command line. Options and their
-parameters must be specified on the same config file line, separated by
-white space, colon, the equals sign or any combination thereof (however,
-the preferred separator is the equals sign). If the parameter is to contain
-white spaces, the parameter must be enclosed within quotes. Within double
-quotes, the following escape sequences are available: \\\\, \\", \\t, \\n,
-\\r and \\v. A backlash preceding any other letter is ignored. If the
-first column of a config line is a '#' character, the rest of the line will be
-treated as a comment. Only write one option per physical line in the config
-file.
-
-Specify the filename to -K/--config as '-' to make curl read the file from
-stdin.
-
-Note that to be able to specify a URL in the config file, you need to specify
-it using the \fI--url\fP option, and not by simply writing the URL on its own
-line. So, it could look similar to this:
-
-url = "http://curl.haxx.se/docs/"
-
-Long option names can optionally be given in the config file without the
-initial double dashes.
-
-When curl is invoked, it always (unless \fI-q\fP is used) checks for a default
-config file and uses it if found. The default config file is checked for in
-the following places in this order:
-
-1) curl tries to find the "home dir": It first checks for the CURL_HOME and
-then the HOME environment variables. Failing that, it uses getpwuid() on
-unix-like systems (which returns the home dir given the current user in your
-system). On Windows, it then checks for the APPDATA variable, or as a last
-resort the '%USERPROFILE%\Application Data'.
-
-2) On windows, if there is no _curlrc file in the home dir, it checks for one
-in the same dir the executable curl is placed. On unix-like systems, it will
-simply try to load .curlrc from the determined home dir.
-
-.nf
-# --- Example file ---
-# this is a comment
-url = "curl.haxx.se"
-output = "curlhere.html"
-user-agent = "superagent/1.0"
-
-# and fetch another URL too
-url = "curl.haxx.se/docs/manpage.html"
--O
-referer = "http://nowhereatall.com/"
-# --- End of example file ---
-.fi
-
-This option can be used multiple times to load multiple config files.
-.IP "--libcurl <file>"
-Append this option to any ordinary curl command line, and you will get a
-libcurl-using source code written to the file that does the equivalent
-operation of what your command line operation does!
-
-NOTE: this does not properly support -F and the sending of multipart
-formposts, so in those cases the output program will be missing necessary
-calls to \fIcurl_formadd(3)\fP, and possibly more.
-
-If this option is used several times, the last given file name will be
-used. (Added in 7.16.1)
-.IP "--limit-rate <speed>"
-Specify the maximum transfer rate you want curl to use. This feature is useful
-if you have a limited pipe and you'd like your transfer not use your entire
-bandwidth.
-
-The given speed is measured in bytes/second, unless a suffix is appended.
-Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it
-megabytes while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
-
-The given rate is the average speed, counted during the entire transfer. It
-means that curl might use higher transfer speeds in short bursts, but over
-time it uses no more than the given rate.
-
-If you are also using the \fI-Y/--speed-limit\fP option, that option will take
-precedence and might cripple the rate-limiting slightly, to help keeping the
-speed-limit logic working.
-
-If this option is used several times, the last one will be used.
-.IP "-l/--list-only"
-(FTP)
-When listing an FTP directory, this switch forces a name-only view.
-Especially useful if you want to machine-parse the contents of an FTP
-directory since the normal directory view doesn't use a standard look
-or format.
-
-This option causes an FTP NLST command to be sent. Some FTP servers
-list only files in their response to NLST; they do not include
-subdirectories and symbolic links.
-
-.IP "--local-port <num>[-num]"
-Set a preferred number or range of local port numbers to use for the
-connection(s). Note that port numbers by nature is a scarce resource that
-will be busy at times so setting this range to something too narrow might
-cause unnecessary connection setup failures. (Added in 7.15.2)
-.IP "-L/--location"
-(HTTP/HTTPS) If the server reports that the requested page has moved to a
-different location (indicated with a Location: header and a 3XX response code)
-this option will make curl redo the request on the new place. If used together
-with \fI-i/--include\fP or \fI-I/--head\fP, headers from all requested pages
-will be shown. When authentication is used, curl only sends its credentials to
-the initial host. If a redirect takes curl to a different host, it won't be
-able to intercept the user+password. See also \fI--location-trusted\fP on how
-to change this. You can limit the amount of redirects to follow by using the
-\fI--max-redirs\fP option.
-
-When curl follows a redirect and the request is not a plain GET (for example
-POST or PUT), it will do the following request with a GET if the HTTP response
-was 301, 302, or 303. If the response code was any other 3xx code, curl will
-re-send the following request using the same unmodified method.
-.IP "--location-trusted"
-(HTTP/HTTPS) Like \fI-L/--location\fP, but will allow sending the name +
-password to all hosts that the site may redirect to. This may or may not
-introduce a security breach if the site redirects you do a site to which
-you'll send your authentication info (which is plaintext in the case of HTTP
-Basic authentication).
-
-.IP "--max-filesize <bytes>"
-Specify the maximum size (in bytes) of a file to download. If the file
-requested is larger than this value, the transfer will not start and curl will
-return with exit code 63.
-
-NOTE: The file size is not always known prior to download, and for such files
-this option has no effect even if the file transfer ends up being larger than
-this given limit. This concerns both FTP and HTTP transfers.
-.IP "-m/--max-time <seconds>"
-Maximum time in seconds that you allow the whole operation to take. This is
-useful for preventing your batch jobs from hanging for hours due to slow
-networks or links going down. See also the \fI--connect-timeout\fP option.
-
-If this option is used several times, the last one will be used.
-.IP "-M/--manual"
-Manual. Display the huge help text.
-.IP "-n/--netrc"
-Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's
-home directory for login name and password. This is typically used for ftp on
-unix. If used with http, curl will enable user authentication. See
-.BR netrc(4)
-or
-.BR ftp(1)
-for details on the file format. Curl will not complain if that file
-hasn't the right permissions (it should not be world nor group
-readable). The environment variable "HOME" is used to find the home
-directory.
-
-A quick and very simple example of how to setup a \fI.netrc\fP to allow curl
-to ftp to the machine host.domain.com with user name \&'myself' and password
-\&'secret' should look similar to:
-
-.B "machine host.domain.com login myself password secret"
-.IP "--netrc-optional"
-Very similar to \fI--netrc\fP, but this option makes the .netrc usage
-\fBoptional\fP and not mandatory as the \fI--netrc\fP does.
-.IP "--negotiate"
-(HTTP) Enables GSS-Negotiate authentication. The GSS-Negotiate method was
-designed by Microsoft and is used in their web applications. It is primarily
-meant as a support for Kerberos5 authentication but may be also used along
-with another authentication methods. For more information see IETF draft
-draft-brezak-spnego-http-04.txt.
-
-If you want to enable Negotiate for your proxy authentication, then use
-\fI--proxy-negotiate\fP.
-
-This option requires that the library was built with GSSAPI support. This is
-not very common. Use \fI-V/--version\fP to see if your version supports
-GSS-Negotiate.
-
-When using this option, you must also provide a fake -u/--user option to
-activate the authentication code properly. Sending a '-u :' is enough as the
-user name and password from the -u option aren't actually used.
-
-If this option is used several times, the following occurrences make no
-difference.
-.IP "-N/--no-buffer"
-Disables the buffering of the output stream. In normal work situations, curl
-will use a standard buffered output stream that will have the effect that it
-will output the data in chunks, not necessarily exactly when the data arrives.
-Using this option will disable that buffering.
-
-Note that this is the negated option name documented. You can thus use
-\fI--buffer\fP to enforce the buffering.
-.IP "--no-keepalive"
-Disables the use of keepalive messages on the TCP connection, as by default
-curl enables them.
-
-Note that this is the negated option name documented. You can thus use
-\fI--keepalive\fP to enforce keepalive.
-.IP "--no-sessionid"
-(SSL) Disable curl's use of SSL session-ID caching. By default all transfers
-are done using the cache. Note that while nothing ever should get hurt by
-attempting to reuse SSL session-IDs, there seem to be broken SSL
-implementations in the wild that may require you to disable this in order for
-you to succeed. (Added in 7.16.0)
-
-Note that this is the negated option name documented. You can thus use
-\fI--sessionid\fP to enforce session-ID caching.
-.IP "--ntlm"
-(HTTP) Enables NTLM authentication. The NTLM authentication method was
-designed by Microsoft and is used by IIS web servers. It is a proprietary
-protocol, reversed engineered by clever people and implemented in curl based
-on their efforts. This kind of behavior should not be endorsed, you should
-encourage everyone who uses NTLM to switch to a public and documented
-authentication method instead. Such as Digest.
-
-If you want to enable NTLM for your proxy authentication, then use
-\fI--proxy-ntlm\fP.
-
-This option requires that the library was built with SSL support. Use
-\fI-V/--version\fP to see if your curl supports NTLM.
-
-If this option is used several times, the following occurrences make no
-difference.
-.IP "-o/--output <file>"
-Write output to <file> instead of stdout. If you are using {} or [] to fetch
-multiple documents, you can use '#' followed by a number in the <file>
-specifier. That variable will be replaced with the current string for the URL
-being fetched. Like in:
-
- curl http://{one,two}.site.com -o "file_#1.txt"
-
-or use several variables like:
-
- curl http://{site,host}.host[1-5].com -o "#1_#2"
-
-You may use this option as many times as you have number of URLs.
-
-See also the \fI--create-dirs\fP option to create the local directories
-dynamically.
-.IP "-O/--remote-name"
-Write output to a local file named like the remote file we get. (Only the file
-part of the remote file is used, the path is cut off.)
-
-The remote file name to use for saving is extracted from the given URL,
-nothing else.
-
-You may use this option as many times as you have number of URLs.
-.IP "--remote-name-all"
-This option changes the default action for all given URLs to be dealt with as
-if \fI-O/--remote-name\fP were used for each one. So if you want to disable
-that for a specific URL after \fI--remote-name-all\fP has been used, you must
-use "-o -" or \fI--no-remote-name\fP. (Added in 7.19.0)
-.IP "--pass <phrase>"
-(SSL/SSH) Pass phrase for the private key
-
-If this option is used several times, the last one will be used.
-.IP "--post301"
-Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET
-requests when following a 301 redirection. The non-RFC behaviour is ubiquitous
-in web browsers, so curl does the conversion by default to maintain
-consistency. However, a server may requires a POST to remain a POST after such
-a redirection. This option is meaningful only when using \fI-L/--location\fP
-(Added in 7.17.1)
-.IP "--proxy-anyauth"
-Tells curl to pick a suitable authentication method when communicating with
-the given proxy. This might cause an extra request/response round-trip. (Added
-in 7.13.2)
-.IP "--proxy-basic"
-Tells curl to use HTTP Basic authentication when communicating with the given
-proxy. Use \fI--basic\fP for enabling HTTP Basic with a remote host. Basic is
-the default authentication method curl uses with proxies.
-.IP "--proxy-digest"
-Tells curl to use HTTP Digest authentication when communicating with the given
-proxy. Use \fI--digest\fP for enabling HTTP Digest with a remote host.
-.IP "--proxy-negotiate"
-Tells curl to use HTTP Negotiate authentication when communicating
-with the given proxy. Use \fI--negotiate\fP for enabling HTTP Negotiate
-with a remote host. (Added in 7.17.1)
-.IP "--proxy-ntlm"
-Tells curl to use HTTP NTLM authentication when communicating with the given
-proxy. Use \fI--ntlm\fP for enabling NTLM with a remote host.
-.IP "-p/--proxytunnel"
-When an HTTP proxy is used (\fI-x/--proxy\fP), this option will cause non-HTTP
-protocols to attempt to tunnel through the proxy instead of merely using it to
-do HTTP-like operations. The tunnel approach is made with the HTTP proxy
-CONNECT request and requires that the proxy allows direct connect to the
-remote port number curl wants to tunnel through to.
-.IP "--pubkey <key>"
-(SSH) Public key file name. Allows you to provide your public key in this
-separate file.
-
-If this option is used several times, the last one will be used.
-.IP "-P/--ftp-port <address>"
-(FTP) Reverses the initiator/listener roles when connecting with ftp. This
-switch makes Curl use the PORT command instead of PASV. In practise, PORT
-tells the server to connect to the client's specified address and port, while
-PASV asks the server for an ip address and port to connect to. <address>
-should be one of:
-.RS
-.IP interface
-i.e "eth0" to specify which interface's IP address you want to use (Unix only)
-.IP "IP address"
-i.e "192.168.10.1" to specify exact IP number
-.IP "host name"
-i.e "my.host.domain" to specify machine
-.IP "-"
-make curl pick the same IP address that is already used for the control
-connection
-.RE
-
-If this option is used several times, the last one will be used. Disable the
-use of PORT with \fI--ftp-pasv\fP. Disable the attempt to use the EPRT command
-instead of PORT by using \fI--disable-eprt\fP. EPRT is really PORT++.
-.IP "-q"
-If used as the first parameter on the command line, the \fIcurlrc\fP config
-file will not be read and used. See the \fI-K/--config\fP for details on the
-default config file search path.
-.IP "-Q/--quote <command>"
-(FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote
-commands are sent BEFORE the transfer is taking place (just after the
-initial PWD command in an FTP transfer, to be exact). To make commands
-take place after a successful transfer, prefix them with a dash '-'.
-To make commands get sent after libcurl has changed working directory,
-just before the transfer command(s), prefix the command with '+' (this
-is only supported for FTP). You may specify any number of commands. If
-the server returns failure for one of the commands, the entire operation
-will be aborted. You must send syntactically correct FTP commands as
-RFC959 defines to FTP servers, or one of the commands listed below to
-SFTP servers. This option can be used multiple times.
-
-SFTP is a binary protocol. Unlike for FTP, libcurl interprets SFTP quote
-commands before sending them to the server. Following is the list of
-all supported SFTP quote commands:
-.RS
-.IP "chgrp group file"
-The chgrp command sets the group ID of the file named by the file operand to the
-group ID specified by the group operand. The group operand is a decimal
-integer group ID.
-.IP "chmod mode file"
-The chmod command modifies the file mode bits of the specified file. The
-mode operand is an octal integer mode number.
-.IP "chown user file"
-The chown command sets the owner of the file named by the file operand to the
-user ID specified by the user operand. The user operand is a decimal
-integer user ID.
-.IP "ln source_file target_file"
-The ln and symlink commands create a symbolic link at the target_file location
-pointing to the source_file location.
-.IP "mkdir directory_name"
-The mkdir command creates the directory named by the directory_name operand.
-.IP "pwd"
-The pwd command returns the absolute pathname of the current working directory.
-.IP "rename source target"
-The rename command renames the file or directory named by the source
-operand to the destination path named by the target operand.
-.IP "rm file"
-The rm command removes the file specified by the file operand.
-.IP "rmdir directory"
-The rmdir command removes the directory entry specified by the directory
-operand, provided it is empty.
-.IP "symlink source_file target_file"
-See ln.
-.RE
-.IP "--random-file <file>"
-(SSL) Specify the path name to file containing what will be considered as
-random data. The data is used to seed the random engine for SSL connections.
-See also the \fI--egd-file\fP option.
-.IP "-r/--range <range>"
-(HTTP/FTP/FILE) Retrieve a byte range (i.e a partial document) from a
-HTTP/1.1, FTP server or a local FILE. Ranges can be specified in a number of
-ways.
-.RS
-.TP 10
-.B 0-499
-specifies the first 500 bytes
-.TP
-.B 500-999
-specifies the second 500 bytes
-.TP
-.B -500
-specifies the last 500 bytes
-.TP
-.B 9500-
-specifies the bytes from offset 9500 and forward
-.TP
-.B 0-0,-1
-specifies the first and last byte only(*)(H)
-.TP
-.B 500-700,600-799
-specifies 300 bytes from offset 500(H)
-.TP
-.B 100-199,500-599
-specifies two separate 100 bytes ranges(*)(H)
-.RE
-
-(*) = NOTE that this will cause the server to reply with a multipart
-response!
-
-Only digit characters (0-9) are valid in 'start' and 'stop' of range syntax
-\&'start-stop'. If a non-digit character is given in the range, the server's
-response will be indeterminable, depending on different server's configuration.
-
-You should also be aware that many HTTP/1.1 servers do not have this feature
-enabled, so that when you attempt to get a range, you'll instead get the whole
-document.
-
-FTP range downloads only support the simple syntax 'start-stop' (optionally
-with one of the numbers omitted). It depends on the non-RFC command SIZE.
-
-If this option is used several times, the last one will be used.
-.IP "--raw"
-When used, it disables all internal HTTP decoding of content or transfer
-encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)
-.IP "-R/--remote-time"
-When used, this will make libcurl attempt to figure out the timestamp of the
-remote file, and if that is available make the local file get that same
-timestamp.
-.IP "--retry <num>"
-If a transient error is returned when curl tries to perform a transfer, it
-will retry this number of times before giving up. Setting the number to 0
-makes curl do no retries (which is the default). Transient error means either:
-a timeout, an FTP 5xx response code or an HTTP 5xx response code.
-
-When curl is about to retry a transfer, it will first wait one second and then
-for all forthcoming retries it will double the waiting time until it reaches
-10 minutes which then will be the delay between the rest of the retries. By
-using \fI--retry-delay\fP you disable this exponential backoff algorithm. See
-also \fI--retry-max-time\fP to limit the total time allowed for
-retries. (Added in 7.12.3)
-
-If this option is used multiple times, the last occurrence decide the amount.
-.IP "--retry-delay <seconds>"
-Make curl sleep this amount of time between each retry when a transfer has
-failed with a transient error (it changes the default backoff time algorithm
-between retries). This option is only interesting if \fI--retry\fP is also
-used. Setting this delay to zero will make curl use the default backoff time.
-(Added in 7.12.3)
-
-If this option is used multiple times, the last occurrence decide the amount.
-.IP "--retry-max-time <seconds>"
-The retry timer is reset before the first transfer attempt. Retries will be
-done as usual (see \fI--retry\fP) as long as the timer hasn't reached this
-given limit. Notice that if the timer hasn't reached the limit, the request
-will be made and while performing, it may take longer than this given time
-period. To limit a single request\'s maximum time, use \fI-m/--max-time\fP.
-Set this option to zero to not timeout retries. (Added in 7.12.3)
-
-If this option is used multiple times, the last occurrence decide the amount.
-.IP "-s/--silent"
-Silent mode. Don't show progress meter or error messages. Makes
-Curl mute.
-.IP "-S/--show-error"
-When used with -s it makes curl show error message if it fails.
-.IP "--socks4 <host[:port]>"
-Use the specified SOCKS4 proxy. If the port number is not specified, it is
-assumed at port 1080. (Added in 7.15.2)
-
-This option overrides any previous use of \fI-x/--proxy\fP, as they are
-mutually exclusive.
-
-If this option is used several times, the last one will be used.
-.IP "--socks4a <host[:port]>"
-Use the specified SOCKS4a proxy. If the port number is not specified, it is
-assumed at port 1080. (Added in 7.18.0)
-
-This option overrides any previous use of \fI-x/--proxy\fP, as they are
-mutually exclusive.
-
-If this option is used several times, the last one will be used.
-.IP "--socks5-hostname <host[:port]>"
-Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
-the port number is not specified, it is assumed at port 1080. (Added in
-7.18.0)
-
-This option overrides any previous use of \fI-x/--proxy\fP, as they are
-mutually exclusive.
-
-If this option is used several times, the last one will be used. (This option
-was previously wrongly documented and used as --socks without the number
-appended.)
-.IP "--socks5 <host[:port]>"
-Use the specified SOCKS5 proxy - but resolve the host name locally. If the
-port number is not specified, it is assumed at port 1080.
-
-This option overrides any previous use of \fI-x/--proxy\fP, as they are
-mutually exclusive.
-
-If this option is used several times, the last one will be used. (This option
-was previously wrongly documented and used as --socks without the number
-appended.)
-.IP "--stderr <file>"
-Redirect all writes to stderr to the specified file instead. If the file name
-is a plain '-', it is instead written to stdout. This option has no point when
-you're using a shell with decent redirecting capabilities.
-
-If this option is used several times, the last one will be used.
-.IP "--tcp-nodelay"
-Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
-details about this option. (Added in 7.11.2)
-.IP "-t/--telnet-option <OPT=val>"
-Pass options to the telnet protocol. Supported options are:
-
-TTYPE=<term> Sets the terminal type.
-
-XDISPLOC=<X display> Sets the X display location.
-
-NEW_ENV=<var,val> Sets an environment variable.
-.IP "-T/--upload-file <file>"
-This transfers the specified local file to the remote URL. If there is no file
-part in the specified URL, Curl will append the local file name. NOTE that you
-must use a trailing / on the last directory to really prove to Curl that there
-is no file name or curl will think that your last directory name is the remote
-file name to use. That will most likely cause the upload operation to fail. If
-this is used on a http(s) server, the PUT command will be used.
-
-Use the file name "-" (a single dash) to use stdin instead of a given file.
-
-You can specify one -T for each URL on the command line. Each -T + URL pair
-specifies what to upload and to where. curl also supports "globbing" of the -T
-argument, meaning that you can upload multiple files to a single URL by using
-the same URL globbing style supported in the URL, like this:
-
-curl -T "{file1,file2}" http://www.uploadtothissite.com
-
-or even
-
-curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
-.IP "--trace <file>"
-Enables a full trace dump of all incoming and outgoing data, including
-descriptive information, to the given output file. Use "-" as filename to have
-the output sent to stdout.
-
-This option overrides previous uses of \fI-v/--verbose\fP or
-\fI--trace-ascii\fP.
-
-If this option is used several times, the last one will be used.
-.IP "--trace-ascii <file>"
-Enables a full trace dump of all incoming and outgoing data, including
-descriptive information, to the given output file. Use "-" as filename to have
-the output sent to stdout.
-
-This is very similar to \fI--trace\fP, but leaves out the hex part and only
-shows the ASCII part of the dump. It makes smaller output that might be easier
-to read for untrained humans.
-
-This option overrides previous uses of \fI-v/--verbose\fP or \fI--trace\fP.
-
-If this option is used several times, the last one will be used.
-.IP "--trace-time"
-Prepends a time stamp to each trace or verbose line that curl displays.
-(Added in 7.14.0)
-.IP "-u/--user <user:password>"
-Specify user and password to use for server authentication. Overrides
-\fI-n/--netrc\fP and \fI--netrc-optional\fP.
-
-If you just give the user name (without entering a colon) curl will prompt for
-a password.
-
-If you use an SSPI-enabled curl binary and do NTLM authentication, you can
-force curl to pick up the user name and password from your environment by
-simply specifying a single colon with this option: "-u :".
-
-If this option is used several times, the last one will be used.
-.IP "-U/--proxy-user <user:password>"
-Specify user and password to use for proxy authentication.
-
-If you use an SSPI-enabled curl binary and do NTLM authentication, you can
-force curl to pick up the user name and password from your environment by
-simply specifying a single colon with this option: "-U :".
-
-If this option is used several times, the last one will be used.
-.IP "--url <URL>"
-Specify a URL to fetch. This option is mostly handy when you want to specify
-URL(s) in a config file.
-
-This option may be used any number of times. To control where this URL is
-written, use the \fI-o/--output\fP or the \fI-O/--remote-name\fP options.
-.IP "-v/--verbose"
-Makes the fetching more verbose/talkative. Mostly usable for debugging. Lines
-starting with '>' means "header data" sent by curl, '<' means "header data"
-received by curl that is hidden in normal cases and lines starting with '*'
-means additional info provided by curl.
-
-Note that if you only want HTTP headers in the output, \fI-i/--include\fP
-might be option you're looking for.
-
-If you think this option still doesn't give you enough details, consider using
-\fI--trace\fP or \fI--trace-ascii\fP instead.
-
-This option overrides previous uses of \fI--trace-ascii\fP or \fI--trace\fP.
-.IP "-V/--version"
-Displays information about curl and the libcurl version it uses.
-
-The first line includes the full version of curl, libcurl and other 3rd party
-libraries linked with the executable.
-
-The second line (starts with "Protocols:") shows all protocols that libcurl
-reports to support.
-
-The third line (starts with "Features:") shows specific features libcurl
-reports to offer. Available features include:
-.RS
-.IP "IPv6"
-You can use IPv6 with this.
-.IP "krb4"
-Krb4 for ftp is supported.
-.IP "SSL"
-HTTPS and FTPS are supported.
-.IP "libz"
-Automatic decompression of compressed files over HTTP is supported.
-.IP "NTLM"
-NTLM authentication is supported.
-.IP "GSS-Negotiate"
-Negotiate authentication and krb5 for ftp is supported.
-.IP "Debug"
-This curl uses a libcurl built with Debug. This enables more error-tracking
-and memory debugging etc. For curl-developers only!
-.IP "AsynchDNS"
-This curl uses asynchronous name resolves.
-.IP "SPNEGO"
-SPNEGO Negotiate authentication is supported.
-.IP "Largefile"
-This curl supports transfers of large files, files larger than 2GB.
-.IP "IDN"
-This curl supports IDN - international domain names.
-.IP "SSPI"
-SSPI is supported. If you use NTLM and set a blank user name, curl will
-authenticate with your current user and password.
-.RE
-.IP "-w/--write-out <format>"
-Defines what to display on stdout after a completed and successful
-operation. The format is a string that may contain plain text mixed with any
-number of variables. The string can be specified as "string", to get read from
-a particular file you specify it "@filename" and to tell curl to read the
-format from stdin you write "@-".
-
-The variables present in the output format will be substituted by the value or
-text that curl thinks fit, as described below. All variables are specified
-like %{variable_name} and to output a normal % you just write them like
-%%. You can output a newline by using \\n, a carriage return with \\r and a tab
-space with \\t.
-
-.B NOTE:
-The %-letter is a special letter in the win32-environment, where all
-occurrences of % must be doubled when using this option.
-
-Available variables are at this point:
-.RS
-.TP 15
-.B url_effective
-The URL that was fetched last. This is mostly meaningful if you've told curl
-to follow location: headers.
-.TP
-.B http_code
-The numerical response code that was found in the last retrieved HTTP(S) or
-FTP(s) transfer. In 7.18.2 the alias \fBresponse_code\fP was added to show the
-same info.
-.TP
-.B http_connect
-The numerical code that was found in the last response (from a proxy) to a
-curl CONNECT request. (Added in 7.12.4)
-.TP
-.B time_total
-The total time, in seconds, that the full operation lasted. The time will be
-displayed with millisecond resolution.
-.TP
-.B time_namelookup
-The time, in seconds, it took from the start until the name resolving was
-completed.
-.TP
-.B time_connect
-The time, in seconds, it took from the start until the TCP connect to the
-remote host (or proxy) was completed.
-.TP
-.B time_appconnect
-The time, in seconds, it took from the start until the SSL/SSH/etc
-connect/handshake to the remote host was completed. (Added in 7.19.0)
-.TP
-.B time_pretransfer
-The time, in seconds, it took from the start until the file transfer is just
-about to begin. This includes all pre-transfer commands and negotiations that
-are specific to the particular protocol(s) involved.
-.TP
-.B time_redirect
-The time, in seconds, it took for all redirection steps include name lookup,
-connect, pretransfer and transfer before final transaction was
-started. time_redirect shows the complete execution time for multiple
-redirections. (Added in 7.12.3)
-.TP
-.B time_starttransfer
-The time, in seconds, it took from the start until the first byte is just about
-to be transferred. This includes time_pretransfer and also the time the
-server needs to calculate the result.
-.TP
-.B size_download
-The total amount of bytes that were downloaded.
-.TP
-.B size_upload
-The total amount of bytes that were uploaded.
-.TP
-.B size_header
-The total amount of bytes of the downloaded headers.
-.TP
-.B size_request
-The total amount of bytes that were sent in the HTTP request.
-.TP
-.B speed_download
-The average download speed that curl measured for the complete download.
-.TP
-.B speed_upload
-The average upload speed that curl measured for the complete upload.
-.TP
-.B content_type
-The Content-Type of the requested document, if there was any.
-.TP
-.B num_connects
-Number of new connects made in the recent transfer. (Added in 7.12.3)
-.TP
-.B num_redirects
-Number of redirects that were followed in the request. (Added in 7.12.3)
-.TP
-.B redirect_url
-When a HTTP request was made without -L to follow redirects, this variable
-will show the actual URL a redirect \fIwould\fP take you to. (Added in 7.18.2)
-.TP
-.B ftp_entry_path
-The initial path libcurl ended up in when logging on to the remote FTP
-server. (Added in 7.15.4)
-.TP
-.B ssl_verify_result
-The result of the SSL peer certificate verification that was requested. 0
-means the verification was successful. (Added in 7.19.0)
-.RE
-
-If this option is used several times, the last one will be used.
-.IP "-x/--proxy <proxyhost[:port]>"
-Use specified HTTP proxy. If the port number is not specified, it is assumed
-at port 1080.
-
-This option overrides existing environment variables that sets proxy to
-use. If there's an environment variable setting a proxy, you can set proxy to
-\&"" to override it.
-
-\fBNote\fP that all operations that are performed over a HTTP proxy will
-transparently be converted to HTTP. It means that certain protocol specific
-operations might not be available. This is not the case if you can tunnel
-through the proxy, as done with the \fI-p/--proxytunnel\fP option.
-
-Starting with 7.14.1, the proxy host can be specified the exact same way as
-the proxy environment variables, include protocol prefix (http://) and
-embedded user + password.
-
-If this option is used several times, the last one will be used.
-.IP "-X/--request <command>"
-(HTTP) Specifies a custom request method to use when communicating with the
-HTTP server. The specified request will be used instead of the method
-otherwise used (which defaults to GET). Read the HTTP 1.1 specification for
-details and explanations.
-
-(FTP)
-Specifies a custom FTP command to use instead of LIST when doing file lists
-with ftp.
-
-If this option is used several times, the last one will be used.
-.IP "-y/--speed-time <time>"
-If a download is slower than speed-limit bytes per second during a speed-time
-period, the download gets aborted. If speed-time is used, the default
-speed-limit will be 1 unless set with -y.
-
-This option controls transfers and thus will not affect slow connects etc. If
-this is a concern for you, try the \fI--connect-timeout\fP option.
-
-If this option is used several times, the last one will be used.
-.IP "-Y/--speed-limit <speed>"
-If a download is slower than this given speed, in bytes per second, for
-speed-time seconds it gets aborted. speed-time is set with -Y and is 30 if
-not set.
-
-If this option is used several times, the last one will be used.
-.IP "-z/--time-cond <date expression>"
-(HTTP/FTP) Request a file that has been modified later than the given time and
-date, or one that has been modified before that time. The date expression can
-be all sorts of date strings or if it doesn't match any internal ones, it
-tries to get the time from a given file name instead! See the
-\fIcurl_getdate(3)\fP man pages for date expression details.
-
-Start the date expression with a dash (-) to make it request for a document
-that is older than the given date/time, default is a document that is newer
-than the specified date/time.
-
-If this option is used several times, the last one will be used.
-.IP "--max-redirs <num>"
-Set maximum number of redirection-followings allowed. If \fI-L/--location\fP
-is used, this option can be used to prevent curl from following redirections
-\&"in absurdum". By default, the limit is set to 50 redirections. Set this
-option to -1 to make it limitless.
-
-If this option is used several times, the last one will be used.
-.IP "-0/--http1.0"
-(HTTP) Forces curl to issue its requests using HTTP 1.0 instead of using its
-internally preferred: HTTP 1.1.
-.IP "-1/--tlsv1"
-(SSL)
-Forces curl to use TSL version 1 when negotiating with a remote TLS server.
-.IP "-2/--sslv2"
-(SSL)
-Forces curl to use SSL version 2 when negotiating with a remote SSL server.
-.IP "-3/--sslv3"
-(SSL)
-Forces curl to use SSL version 3 when negotiating with a remote SSL server.
-.IP "-4/--ipv4"
-If libcurl is capable of resolving an address to multiple IP versions (which
-it is if it is ipv6-capable), this option tells libcurl to resolve names to
-IPv4 addresses only.
-.IP "-6/--ipv6"
-If libcurl is capable of resolving an address to multiple IP versions (which
-it is if it is ipv6-capable), this option tells libcurl to resolve names to
-IPv6 addresses only.
-.IP "-#/--progress-bar"
-Make curl display progress information as a progress bar instead of the
-default statistics.
-.SH FILES
-.I ~/.curlrc
-.RS
-Default config file, see \fI-K/--config\fP for details.
-
-.SH ENVIRONMENT
-.IP "http_proxy [protocol://]<host>[:port]"
-Sets proxy server to use for HTTP.
-.IP "HTTPS_PROXY [protocol://]<host>[:port]"
-Sets proxy server to use for HTTPS.
-.IP "FTP_PROXY [protocol://]<host>[:port]"
-Sets proxy server to use for FTP.
-.IP "ALL_PROXY [protocol://]<host>[:port]"
-Sets proxy server to use if no protocol-specific proxy is set.
-.IP "NO_PROXY <comma-separated list of hosts>"
-list of host names that shouldn't go through any proxy. If set to a asterisk
-\&'*' only, it matches all hosts.
-.SH EXIT CODES
-There exists a bunch of different error codes and their corresponding error
-messages that may appear during bad conditions. At the time of this writing,
-the exit codes are:
-.IP 1
-Unsupported protocol. This build of curl has no support for this protocol.
-.IP 2
-Failed to initialize.
-.IP 3
-URL malformat. The syntax was not correct.
-.IP 5
-Couldn't resolve proxy. The given proxy host could not be resolved.
-.IP 6
-Couldn't resolve host. The given remote host was not resolved.
-.IP 7
-Failed to connect to host.
-.IP 8
-FTP weird server reply. The server sent data curl couldn't parse.
-.IP 9
-FTP access denied. The server denied login or denied access to the particular
-resource or directory you wanted to reach. Most often you tried to change to a
-directory that doesn't exist on the server.
-.IP 11
-FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
-.IP 13
-FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
-.IP 14
-FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
-.IP 15
-FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
-.IP 17
-FTP couldn't set binary. Couldn't change transfer method to binary.
-.IP 18
-Partial file. Only a part of the file was transferred.
-.IP 19
-FTP couldn't download/access the given file, the RETR (or similar) command
-failed.
-.IP 21
-FTP quote error. A quote command returned error from the server.
-.IP 22
-HTTP page not retrieved. The requested url was not found or returned another
-error with the HTTP error code being 400 or above. This return code only
-appears if \fI-f/--fail\fP is used.
-.IP 23
-Write error. Curl couldn't write data to a local filesystem or similar.
-.IP 25
-FTP couldn't STOR file. The server denied the STOR operation, used for FTP
-uploading.
-.IP 26
-Read error. Various reading problems.
-.IP 27
-Out of memory. A memory allocation request failed.
-.IP 28
-Operation timeout. The specified time-out period was reached according to the
-conditions.
-.IP 30
-FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT
-command, try doing a transfer using PASV instead!
-.IP 31
-FTP couldn't use REST. The REST command failed. This command is used for
-resumed FTP transfers.
-.IP 33
-HTTP range error. The range "command" didn't work.
-.IP 34
-HTTP post error. Internal post-request generation error.
-.IP 35
-SSL connect error. The SSL handshaking failed.
-.IP 36
-FTP bad download resume. Couldn't continue an earlier aborted download.
-.IP 37
-FILE couldn't read file. Failed to open the file. Permissions?
-.IP 38
-LDAP cannot bind. LDAP bind operation failed.
-.IP 39
-LDAP search failed.
-.IP 41
-Function not found. A required LDAP function was not found.
-.IP 42
-Aborted by callback. An application told curl to abort the operation.
-.IP 43
-Internal error. A function was called with a bad parameter.
-.IP 45
-Interface error. A specified outgoing interface could not be used.
-.IP 47
-Too many redirects. When following redirects, curl hit the maximum amount.
-.IP 48
-Unknown TELNET option specified.
-.IP 49
-Malformed telnet option.
-.IP 51
-The peer's SSL certificate or SSH MD5 fingerprint was not ok
-.IP 52
-The server didn't reply anything, which here is considered an error.
-.IP 53
-SSL crypto engine not found
-.IP 54
-Cannot set SSL crypto engine as default
-.IP 55
-Failed sending network data
-.IP 56
-Failure in receiving network data
-.IP 58
-Problem with the local certificate
-.IP 59
-Couldn't use specified SSL cipher
-.IP 60
-Peer certificate cannot be authenticated with known CA certificates
-.IP 61
-Unrecognized transfer encoding
-.IP 62
-Invalid LDAP URL
-.IP 63
-Maximum file size exceeded
-.IP 64
-Requested FTP SSL level failed
-.IP 65
-Sending the data requires a rewind that failed
-.IP 66
-Failed to initialise SSL Engine
-.IP 67
-User, password or similar was not accepted and curl failed to login
-.IP 68
-File not found on TFTP server
-.IP 69
-Permission problem on TFTP server
-.IP 70
-Out of disk space on TFTP server
-.IP 71
-Illegal TFTP operation
-.IP 72
-Unknown TFTP transfer ID
-.IP 73
-File already exists (TFTP)
-.IP 74
-No such user (TFTP)
-.IP 75
-Character conversion failed
-.IP 76
-Character conversion functions required
-.IP 77
-Problem with reading the SSL CA cert (path? access rights?)
-.IP 78
-The resource referenced in the URL does not exist
-.IP 79
-An unspecified error occurred during the SSH session
-.IP 80
-Failed to shut down the SSL connection
-.IP 82
-Could not load CRL file, missing or wrong format (added in 7.19.0)
-.IP 83
-Issuer check failed (added in 7.19.0)
-.IP XX
-There will appear more error codes here in future releases. The existing ones
-are meant to never change.
-.SH AUTHORS / CONTRIBUTORS
-Daniel Stenberg is the main author, but the whole list of contributors is
-found in the separate THANKS file.
-.SH WWW
-http://curl.haxx.se
-.SH FTP
-ftp://ftp.sunet.se/pub/www/utilities/curl/
-.SH "SEE ALSO"
-.BR ftp (1),
-.BR wget (1)
-
diff --git a/Utilities/cmcurl-7.19.0/docs/curl.html b/Utilities/cmcurl-7.19.0/docs/curl.html
deleted file mode 100644
index 99ac27a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/curl.html
+++ /dev/null
@@ -1,776 +0,0 @@
-<html><head>
-<title>curl man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl - transfer a URL <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">curl [options]</span> <a class="emphasis" href="#URL">[URL...]</a> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="bold">curl</span> is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction.
-<p class="level0">curl offers a busload of useful tricks like proxy support, user authentication, ftp upload, HTTP post, SSL connections, cookies, file transfer resume and more. As you will see below, the number of features will make your head spin!
-<p class="level0">curl is powered by libcurl for all transfer-related features. See <span Class="manpage">libcurl (3)</span> for details. <a name="URL"></a><h2 class="nroffsh">URL</h2>
-<p class="level0">The URL syntax is protocol dependent. You'll find a detailed description in RFC 3986.
-<p class="level0">You can specify multiple URLs or parts of URLs by writing part sets within braces as in:
-<p class="level0">&nbsp;<a href="http://site">http://site</a>.{one,two,three}.com
-<p class="level0">or you can get sequences of alphanumeric series by using [] as in:
-<p class="level0">&nbsp;<a href="ftp://ftp.numericals.com/file">ftp://ftp.numericals.com/file</a>[1-100].txt &nbsp;<a href="ftp://ftp.numericals.com/file">ftp://ftp.numericals.com/file</a>[001-100].txt (with leading zeros) &nbsp;<a href="ftp://ftp.letters.com/file">ftp://ftp.letters.com/file</a>[a-z].txt
-<p class="level0">No nesting of the sequences is supported at the moment, but you can use several ones next to each other:
-<p class="level0">&nbsp;<a href="http://any.org/archive">http://any.org/archive</a>[1996-1999]/vol[1-4]/part{a,b,c}.html
-<p class="level0">You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order.
-<p class="level0">Since curl 7.15.1 you can also specify step counter for the ranges, so that you can get every Nth number or letter:
-<p class="level0">&nbsp;<a href="http://www.numericals.com/file">http://www.numericals.com/file</a>[1-100:10].txt &nbsp;<a href="http://www.letters.com/file">http://www.letters.com/file</a>[a-z:2].txt
-<p class="level0">If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with "ftp." curl will assume you want to speak FTP.
-<p class="level0">Curl will attempt to re-use connections for multiple file transfers, so that getting many files from the same server will not do multiple connects / handshakes. This improves speed. Of course this is only done on files specified on a single command line and cannot be used between separate curl invokes. <a name="PROGRESS"></a><h2 class="nroffsh">PROGRESS METER</h2>
-<p class="level0">curl normally displays a progress meter during operations, indicating amount of transferred data, transfer speeds and estimated time left etc.
-<p class="level0">However, since curl displays data to the terminal by default, if you invoke curl to do an operation and it is about to write data to the terminal, it <span Class="emphasis">disables</span> the progress meter as otherwise it would mess up the output mixing progress meter and response data.
-<p class="level0">If you want a progress meter for HTTP POST or PUT requests, you need to redirect the response output to a file, using shell redirect (&gt;), -o [file] or similar.
-<p class="level0">It is not the same case for FTP upload as that operation is not spitting out any response data to the terminal.
-<p class="level0">If you prefer a progress "bar" instead of the regular meter, <a class="emphasis" href="#-">-#</a> is your friend. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">In general, all boolean options are enabled with --option and yet again disabled with --<span Class="bold">no-</span>option. That is, you use the exact same option name but prefix it with "no-". However, in this list we mostly only list and show the --option version of them. (This concept with --no options was added in 7.19.0. Previously most options were toggled on/off on repeated use of the same command line option.)
-<p class="level0"><a name="-a--append"></a><span class="nroffip">-a/--append</span>
-<p class="level1">(FTP/SFTP) When used in an upload, this will tell curl to append to the target file instead of overwriting it. If the file doesn't exist, it will be created. Note that this flag is ignored by some SSH servers (including OpenSSH).
-<p class="level0"><a name="-A--user-agent"></a><span class="nroffip">-A/--user-agent &lt;agent string&gt;</span>
-<p class="level1">(HTTP) Specify the User-Agent string to send to the HTTP server. Some badly done CGIs fail if this field isn't set to "Mozilla/4.0". To encode blanks in the string, surround the string with single quote marks. This can also be set with the <a class="emphasis" href="#-H--header">-H/--header</a> option of course.
-<p class="level1">If this option is set more than once, the last one will be the one that's used.
-<p class="level0"><a name="--anyauth"></a><span class="nroffip">--anyauth</span>
-<p class="level1">(HTTP) Tells curl to figure out authentication method by itself, and use the most secure one the remote site claims it supports. This is done by first doing a request and checking the response-headers, thus possibly inducing an extra network round-trip. This is used instead of setting a specific authentication method, which you can do with <a class="emphasis" href="#--basic">--basic</a>, <a class="emphasis" href="#--digest">--digest</a>, <a class="emphasis" href="#--ntlm">--ntlm</a>, and <a class="emphasis" href="#--negotiate">--negotiate</a>.
-<p class="level1">Note that using --anyauth is not recommended if you do uploads from stdin, since it may require data to be sent twice and then the client must be able to rewind. If the need should arise when uploading from stdin, the upload operation will fail.
-<p class="level0"><a name="-b--cookie"></a><span class="nroffip">-b/--cookie &lt;name=data&gt;</span>
-<p class="level1">(HTTP) Pass the data to the HTTP server as a cookie. It is supposedly the data previously received from the server in a "Set-Cookie:" line. The data should be in the format "NAME1=VALUE1; NAME2=VALUE2".
-<p class="level1">If no '=' letter is used in the line, it is treated as a filename to use to read previously stored cookie lines from, which should be used in this session if they match. Using this method also activates the "cookie parser" which will make curl record incoming cookies too, which may be handy if you're using this in combination with the <a class="emphasis" href="#-L--location">-L/--location</a> option. The file format of the file to read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie file format.
-<p class="level1"><span Class="bold">NOTE</span> that the file specified with <a class="emphasis" href="#-b--cookie">-b/--cookie</a> is only used as input. No cookies will be stored in the file. To store cookies, use the <a class="emphasis" href="#-c--cookie-jar">-c/--cookie-jar</a> option or you could even save the HTTP headers to a file using <a class="emphasis" href="#-D--dump-header">-D/--dump-header</a>!
-<p class="level1">If this option is set more than once, the last one will be the one that's used.
-<p class="level0"><a name="-B--use-ascii"></a><span class="nroffip">-B/--use-ascii</span>
-<p class="level1">Enable ASCII transfer when using FTP or LDAP. For FTP, this can also be enforced by using an URL that ends with ";type=A". This option causes data sent to stdout to be in text mode for win32 systems.
-<p class="level0"><a name="--basic"></a><span class="nroffip">--basic</span>
-<p class="level1">(HTTP) Tells curl to use HTTP Basic authentication. This is the default and this option is usually pointless, unless you use it to override a previously set option that sets a different authentication method (such as <a class="emphasis" href="#--ntlm">--ntlm</a>, <a class="emphasis" href="#--digest">--digest</a> and <a class="emphasis" href="#--negotiate">--negotiate</a>).
-<p class="level0"><a name="--ciphers"></a><span class="nroffip">--ciphers &lt;list of ciphers&gt;</span>
-<p class="level1">(SSL) Specifies which ciphers to use in the connection. The list of ciphers must be using valid ciphers. Read up on SSL cipher list details on this URL: <span Class="emphasis"><a href="http://www.openssl.org/docs/apps/ciphers.html">http://www.openssl.org/docs/apps/ciphers.html</a></span>
-<p class="level1">NSS ciphers are done differently than OpenSSL and GnuTLS. The full list of NSS ciphers is in the NSSCipherSuite entry at this URL: <span Class="emphasis"><a href="http://directory.fedora.redhat.com/docs/mod_nss.html">http://directory.fedora.redhat.com/docs/mod_nss.html</a>#Directives</span>
-<p class="level1">If this option is used several times, the last one will override the others.
-<p class="level0"><a name="--compressed"></a><span class="nroffip">--compressed</span>
-<p class="level1">(HTTP) Request a compressed response using one of the algorithms libcurl supports, and return the uncompressed document. If this option is used and the server sends an unsupported encoding, curl will report an error.
-<p class="level0"><a name="--connect-timeout"></a><span class="nroffip">--connect-timeout &lt;seconds&gt;</span>
-<p class="level1">Maximum time in seconds that you allow the connection to the server to take. This only limits the connection phase, once curl has connected this option is of no more use. See also the <a class="emphasis" href="#-m--max-time">-m/--max-time</a> option.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-c--cookie-jar"></a><span class="nroffip">-c/--cookie-jar &lt;file name&gt;</span>
-<p class="level1">Specify to which file you want curl to write all cookies after a completed operation. Curl writes all cookies previously read from a specified file as well as all cookies received from remote server(s). If no cookies are known, no file will be written. The file will be written using the Netscape cookie file format. If you set the file name to a single dash, "-", the cookies will be written to stdout.
-<p class="level1"><span Class="bold">NOTE</span> If the cookie jar can't be created or written to, the whole curl operation won't fail or even report an error clearly. Using -v will get a warning displayed, but that is the only visible feedback you get about this possibly lethal situation.
-<p class="level1">If this option is used several times, the last specified file name will be used.
-<p class="level0"><a name="-C--continue-at"></a><span class="nroffip">-C/--continue-at &lt;offset&gt;</span>
-<p class="level1">Continue/Resume a previous file transfer at the given offset. The given offset is the exact number of bytes that will be skipped counted from the beginning of the source file before it is transferred to the destination. If used with uploads, the ftp server command SIZE will not be used by curl.
-<p class="level1">Use "-C -" to tell curl to automatically find out where/how to resume the transfer. It then uses the given output/input files to figure that out.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--create-dirs"></a><span class="nroffip">--create-dirs</span>
-<p class="level1">When used in conjunction with the -o option, curl will create the necessary local directory hierarchy as needed. This option creates the dirs mentioned with the -o option, nothing else. If the -o file name uses no dir or if the dirs it mentions already exist, no dir will be created.
-<p class="level1">To create remote directories when using FTP or SFTP, try <a class="emphasis" href="#--ftp-create-dirs">--ftp-create-dirs</a>.
-<p class="level0"><a name="--crlf"></a><span class="nroffip">--crlf</span>
-<p class="level1">(FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).
-<p class="level0"><a name="-d--data"></a><span class="nroffip">-d/--data &lt;data&gt;</span>
-<p class="level1">(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to the server using the content-type application/x-www-form-urlencoded. Compare to <a class="emphasis" href="#-F--form">-F/--form</a>.
-<p class="level1"><a class="emphasis" href="#-d--data">-d/--data</a> is the same as <span Class="emphasis">--data-ascii</span>. To post data purely binary, you should instead use the <a class="emphasis" href="#--data-binary">--data-binary</a> option. To URL encode the value of a form field you may use <a class="emphasis" href="#--data-urlencode">--data-urlencode</a>.
-<p class="level1">If any of these options is used more than once on the same command line, the data pieces specified will be merged together with a separating &-letter. Thus, using '-d name=daniel -d skill=lousy' would generate a post chunk that looks like 'name=daniel&skill=lousy'.
-<p class="level1">If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. The contents of the file must already be url-encoded. Multiple files can also be specified. Posting data from a file named 'foobar' would thus be done with <span Class="emphasis">--data @foobar</span>.
-<p class="level0"><a name="--data-binary"></a><span class="nroffip">--data-binary &lt;data&gt;</span>
-<p class="level1">(HTTP) This posts data exactly as specified with no extra processing whatsoever.
-<p class="level1">If you start the data with the letter @, the rest should be a filename. Data is posted in a similar manner as <span Class="emphasis">--data-ascii</span> does, except that newlines are preserved and conversions are never done.
-<p class="level1">If this option is used several times, the ones following the first will append data. As described in <a class="emphasis" href="#-d--data">-d/--data</a>.
-<p class="level0"><a name="--data-urlencode"></a><span class="nroffip">--data-urlencode &lt;data&gt;</span>
-<p class="level1">(HTTP) This posts data, similar to the other --data options with the exception that this performs URL encoding. (Added in 7.18.0)
-<p class="level1">To be CGI compliant, the &lt;data&gt; part should begin with a <span Class="emphasis">name</span> followed by a separator and a content specification. The &lt;data&gt; part can be passed to curl using one of the following syntaxes:
-<p class="level2">
-<p class="level1"><a name="content"></a><span class="nroffip">content</span>
-<p class="level2">This will make curl URL encode the content and pass that on. Just be careful so that the content doesn't contain any = or @ letters, as that will then make the syntax match one of the other cases below!
-<p class="level1"><a name="content"></a><span class="nroffip">=content</span>
-<p class="level2">This will make curl URL encode the content and pass that on. The preceding = letter is not included in the data.
-<p class="level1"><a name="namecontent"></a><span class="nroffip">name=content</span>
-<p class="level2">This will make curl URL encode the content part and pass that on. Note that the name part is expected to be URL encoded already.
-<p class="level1"><a name="filename"></a><span class="nroffip">@filename</span>
-<p class="level2">This will make curl load data from the given file (including any newlines), URL encode that data and pass it on in the POST.
-<p class="level1"><a name="namefilename"></a><span class="nroffip">name@filename</span>
-<p class="level2">This will make curl load data from the given file (including any newlines), URL encode that data and pass it on in the POST. The name part gets an equal sign appended, resulting in <span Class="emphasis">name=urlencoded-file-content</span>. Note that the name is expected to be URL encoded already.
-<p class="level1">
-<p class="level0"><a name="--digest"></a><span class="nroffip">--digest</span>
-<p class="level1">(HTTP) Enables HTTP Digest authentication. This is a authentication that prevents the password from being sent over the wire in clear text. Use this in combination with the normal <a class="emphasis" href="#-u--user">-u/--user</a> option to set user name and password. See also <a class="emphasis" href="#--ntlm">--ntlm</a>, <a class="emphasis" href="#--negotiate">--negotiate</a> and <a class="emphasis" href="#--anyauth">--anyauth</a> for related options.
-<p class="level1">If this option is used several times, the following occurrences make no difference.
-<p class="level0"><a name="--disable-eprt"></a><span class="nroffip">--disable-eprt</span>
-<p class="level1">(FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing active FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT before using PORT, but with this option, it will use PORT right away. EPRT and LPRT are extensions to the original FTP protocol, may not work on all servers but enable more functionality in a better way than the traditional PORT command.
-<p class="level1">Since curl 7.19.0, <span Class="bold">--eprt</span> can be used to explicitly enable EPRT again and <span Class="bold">--no-eprt</span> is an alias for <a class="bold" href="#--disable-eprt">--disable-eprt</a>.
-<p class="level0"><a name="--disable-epsv"></a><span class="nroffip">--disable-epsv</span>
-<p class="level1">(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP transfers. Curl will normally always first attempt to use EPSV before PASV, but with this option, it will not try using EPSV.
-<p class="level1">Since curl 7.19.0, <span Class="bold">--epsv</span> can be used to explicitly enable EPRT again and <span Class="bold">--no-epsv</span> is an alias for <a class="bold" href="#--disable-epsv">--disable-epsv</a>.
-<p class="level0"><a name="-D--dump-header"></a><span class="nroffip">-D/--dump-header &lt;file&gt;</span>
-<p class="level1">Write the protocol headers to the specified file.
-<p class="level1">This option is handy to use when you want to store the headers that a HTTP site sends to you. Cookies from the headers could then be read in a second curl invoke by using the <a class="emphasis" href="#-b--cookie">-b/--cookie</a> option! The <a class="emphasis" href="#-c--cookie-jar">-c/--cookie-jar</a> option is however a better way to store cookies.
-<p class="level1">When used on FTP, the ftp server response lines are considered being "headers" and thus are saved there.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-e--referer"></a><span class="nroffip">-e/--referer &lt;URL&gt;</span>
-<p class="level1">(HTTP) Sends the "Referer Page" information to the HTTP server. This can also be set with the <a class="emphasis" href="#-H--header">-H/--header</a> flag of course. When used with <a class="emphasis" href="#-L--location">-L/--location</a> you can append ";auto" to the --referer URL to make curl automatically set the previous URL when it follows a Location: header. The ";auto" string can be used alone, even if you don't set an initial --referer.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--engine"></a><span class="nroffip">--engine &lt;name&gt;</span>
-<p class="level1">Select the OpenSSL crypto engine to use for cipher operations. Use <a class="emphasis" href="#--engine">--engine list</a> to print a list of build-time supported engines. Note that not all (or none) of the engines may be available at run-time.
-<p class="level0"><a name="--environment"></a><span class="nroffip">--environment</span>
-<p class="level1">(RISC OS ONLY) Sets a range of environment variables, using the names the -w option supports, to easier allow extraction of useful information after having run curl.
-<p class="level0"><a name="--egd-file"></a><span class="nroffip">--egd-file &lt;file&gt;</span>
-<p class="level1">(SSL) Specify the path name to the Entropy Gathering Daemon socket. The socket is used to seed the random engine for SSL connections. See also the <a class="emphasis" href="#--random-file">--random-file</a> option.
-<p class="level0"><a name="-E--cert"></a><span class="nroffip">-E/--cert &lt;certificate[:password]&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified certificate file when getting a file with HTTPS or FTPS. The certificate must be in PEM format. If the optional password isn't specified, it will be queried for on the terminal. Note that this option assumes a "certificate" file that is the private key and the private certificate concatenated! See <span Class="emphasis">--cert</span> and <a class="emphasis" href="#--key">--key</a> to specify them independently.
-<p class="level1">If curl is built against the NSS SSL library then this option tells curl the nickname of the certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be loaded.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--cert-type"></a><span class="nroffip">--cert-type &lt;type&gt;</span>
-<p class="level1">(SSL) Tells curl what certificate type the provided certificate is in. PEM, DER and ENG are recognized types. If not specified, PEM is assumed.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--cacert"></a><span class="nroffip">--cacert &lt;CA certificate&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to use a default file for this, so this option is typically used to alter that default file.
-<p class="level1">curl recognizes the environment variable named 'CURL_CA_BUNDLE' if that is set, and uses the given path as a path to a CA cert bundle. This option overrides that variable.
-<p class="level1">The windows version of curl will automatically look for a CA certs file named &acute;curl-ca-bundle.crt&acute;, either in the same directory as curl.exe, or in the Current Working Directory, or in any folder along your PATH.
-<p class="level1">If curl is built against the NSS SSL library then this option tells curl the nickname of the CA certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be loaded.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--capath"></a><span class="nroffip">--capath &lt;CA certificate directory&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified certificate directory to verify the peer. The certificates must be in PEM format, and the directory must have been processed using the c_rehash utility supplied with openssl. Using <a class="emphasis" href="#--capath">--capath</a> can allow curl to make SSL-connections much more efficiently than using <a class="emphasis" href="#--cacert">--cacert</a> if the <a class="emphasis" href="#--cacert">--cacert</a> file contains many CA certificates.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-f--fail"></a><span class="nroffip">-f/--fail</span>
-<p class="level1">(HTTP) Fail silently (no output at all) on server errors. This is mostly done like this to better enable scripts etc to better deal with failed attempts. In normal cases when a HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22.
-<p class="level1">This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407).
-<p class="level0"><a name="--ftp-account"></a><span class="nroffip">--ftp-account [data]</span>
-<p class="level1">(FTP) When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. (Added in 7.13.0)
-<p class="level1">If this option is used twice, the second will override the previous use.
-<p class="level0"><a name="--ftp-create-dirs"></a><span class="nroffip">--ftp-create-dirs</span>
-<p class="level1">(FTP/SFTP) When an FTP or SFTP URL/operation uses a path that doesn't currently exist on the server, the standard behavior of curl is to fail. Using this option, curl will instead attempt to create missing directories.
-<p class="level0"><a name="--ftp-method"></a><span class="nroffip">--ftp-method [method]</span>
-<p class="level1">(FTP) Control what method curl should use to reach a file on a FTP(S) server. The method argument should be one of the following alternatives:
-<p class="level2">
-<p class="level1"><a name="multicwd"></a><span class="nroffip">multicwd</span>
-<p class="level2">curl does a single CWD operation for each path part in the given URL. For deep hierarchies this means very many commands. This is how RFC1738 says it should be done. This is the default but the slowest behavior.
-<p class="level1"><a name="nocwd"></a><span class="nroffip">nocwd</span>
-<p class="level2">curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior.
-<p class="level1"><a name="singlecwd"></a><span class="nroffip">singlecwd</span>
-<p class="level2">curl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'.
-<p class="level1">
-<p class="level0"><a name="--ftp-pasv"></a><span class="nroffip">--ftp-pasv</span>
-<p class="level1">(FTP) Use PASV when transferring. PASV is the internal default behavior, but using this option can be used to override a previous --ftp-port option. (Added in 7.11.0)
-<p class="level1">If this option is used several times, the following occurrences make no difference. Undoing an enforced PASV really isn't doable but you must then instead enforce the correct EPRT again.
-<p class="level0"><a name="--ftp-alternative-to-user"></a><span class="nroffip">--ftp-alternative-to-user &lt;command&gt;</span>
-<p class="level1">(FTP) If authenticating with the USER and PASS commands fails, send this command. When connecting to Tumbleweed's Secure Transport server over FTPS using a client certificate, using "SITE AUTH" will tell the server to retrieve the username from the certificate. (Added in 7.15.5)
-<p class="level0"><a name="--ftp-skip-pasv-ip"></a><span class="nroffip">--ftp-skip-pasv-ip</span>
-<p class="level1">(FTP) Tell curl to not use the IP address the server suggests in its response to curl's PASV command when curl connects the data connection. Instead curl will re-use the same IP address it already uses for the control connection. (Added in 7.14.2)
-<p class="level1">This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
-<p class="level0"><a name="--ftp-ssl"></a><span class="nroffip">--ftp-ssl</span>
-<p class="level1">(FTP) Try to use SSL/TLS for the FTP connection. Reverts to a non-secure connection if the server doesn't support SSL/TLS. See also <a class="emphasis" href="#--ftp-ssl-control">--ftp-ssl-control</a> and <a class="emphasis" href="#--ftp-ssl-reqd">--ftp-ssl-reqd</a> for different levels of encryption required. (Added in 7.11.0)
-<p class="level0"><a name="--ftp-ssl-control"></a><span class="nroffip">--ftp-ssl-control</span>
-<p class="level1">(FTP) Require SSL/TLS for the ftp login, clear for transfer. Allows secure authentication, but non-encrypted data transfers for efficiency. Fails the transfer if the server doesn't support SSL/TLS. (Added in 7.16.0)
-<p class="level0"><a name="--ftp-ssl-reqd"></a><span class="nroffip">--ftp-ssl-reqd</span>
-<p class="level1">(FTP) Require SSL/TLS for the FTP connection. Terminates the connection if the server doesn't support SSL/TLS. (Added in 7.15.5)
-<p class="level0"><a name="--ftp-ssl-ccc"></a><span class="nroffip">--ftp-ssl-ccc</span>
-<p class="level1">(FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. The default mode is passive. See --ftp-ssl-ccc-mode for other modes. (Added in 7.16.1)
-<p class="level0"><a name="--ftp-ssl-ccc-mode"></a><span class="nroffip">--ftp-ssl-ccc-mode [active/passive]</span>
-<p class="level1">(FTP) Use CCC (Clear Command Channel) Sets the CCC mode. The passive mode will not initiate the shutdown, but instead wait for the server to do it, and will not reply to the shutdown from the server. The active mode initiates the shutdown and waits for a reply from the server. (Added in 7.16.2)
-<p class="level0"><a name="-F--form"></a><span class="nroffip">-F/--form &lt;name=content&gt;</span>
-<p class="level1">(HTTP) This lets curl emulate a filled in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC1867. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the letter &lt;. The difference between @ and &lt; is then that @ makes a file get attached in the post as a file upload, while the &lt; makes a text field and just get the contents for that text field from a file.
-<p class="level1">Example, to send your password file to the server, where 'password' is the name of the form-field to which /etc/passwd will be the input:
-<p class="level1"><span Class="bold">curl</span> -F password=@/etc/passwd www.mypasswords.com
-<p class="level1">To read the file's content from stdin instead of a file, use - where the file name should've been. This goes for both @ and &lt; constructs.
-<p class="level1">You can also tell curl what Content-Type to use by using 'type=', in a manner similar to:
-<p class="level1"><span Class="bold">curl</span> -F "web=@index.html;type=text/html" url.com
-<p class="level1">or
-<p class="level1"><span Class="bold">curl</span> -F "name=daniel;type=text/foo" url.com
-<p class="level1">You can also explicitly change the name field of an file upload part by setting filename=, like this:
-<p class="level1"><span Class="bold">curl</span> -F "file=@localfile;filename=nameinpost" url.com
-<p class="level1">See further examples and details in the MANUAL.
-<p class="level1">This option can be used multiple times.
-<p class="level0"><a name="--form-string"></a><span class="nroffip">--form-string &lt;name=string&gt;</span>
-<p class="level1">(HTTP) Similar to <span Class="emphasis">--form</span> except that the value string for the named parameter is used literally. Leading '@' and '&lt;' characters, and the ';type=' string in the value have no special meaning. Use this in preference to <span Class="emphasis">--form</span> if there's any possibility that the string value may accidentally trigger the '@' or '&lt;' features of <span Class="emphasis">--form</span>.
-<p class="level0"><a name="-g--globoff"></a><span class="nroffip">-g/--globoff</span>
-<p class="level1">This option switches off the "URL globbing parser". When you set this option, you can specify URLs that contain the letters {}[] without having them being interpreted by curl itself. Note that these letters are not normal legal URL contents but they should be encoded according to the URI standard.
-<p class="level0"><a name="-G--get"></a><span class="nroffip">-G/--get</span>
-<p class="level1">When used, this option will make all data specified with <a class="emphasis" href="#-d--data">-d/--data</a> or <a class="emphasis" href="#--data-binary">--data-binary</a> to be used in a HTTP GET request instead of the POST request that otherwise would be used. The data will be appended to the URL with a '?' separator.
-<p class="level1">If used in combination with -I, the POST data will instead be appended to the URL with a HEAD request.
-<p class="level1">If this option is used several times, the following occurrences make no difference. This is because undoing a GET doesn't make sense, but you should then instead enforce the alternative method you prefer.
-<p class="level0"><a name="-h--help"></a><span class="nroffip">-h/--help</span>
-<p class="level1">Usage help.
-<p class="level0"><a name="-H--header"></a><span class="nroffip">-H/--header &lt;header&gt;</span>
-<p class="level1">(HTTP) Extra header to use when getting a web page. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you're doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H "Host:".
-<p class="level1">curl will make sure that each header you add/replace get sent with the proper end of line marker, you should thus <span Class="bold">not</span> add that as a part of the header content: do not add newlines or carriage returns they will only mess things up for you.
-<p class="level1">See also the <a class="emphasis" href="#-A--user-agent">-A/--user-agent</a> and <a class="emphasis" href="#-e--referer">-e/--referer</a> options.
-<p class="level1">This option can be used multiple times to add/replace/remove multiple headers.
-<p class="level0"><a name="--hostpubmd5"></a><span class="nroffip">--hostpubmd5 &lt;md5&gt;</span>
-<p class="level1">Pass a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, curl will refuse the connection with the host unless the md5sums match. This option is only for SCP and SFTP transfers. (Added in 7.17.1)
-<p class="level0"><a name="--ignore-content-length"></a><span class="nroffip">--ignore-content-length</span>
-<p class="level1">(HTTP) Ignore the Content-Length header. This is particularly useful for servers running Apache 1.x, which will report incorrect Content-Length for files larger than 2 gigabytes.
-<p class="level0"><a name="-i--include"></a><span class="nroffip">-i/--include</span>
-<p class="level1">(HTTP) Include the HTTP-header in the output. The HTTP-header includes things like server-name, date of the document, HTTP-version and more...
-<p class="level0"><a name="--interface"></a><span class="nroffip">--interface &lt;name&gt;</span>
-<p class="level1">Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:
-<p class="level1">&nbsp;curl --interface eth0:1 <a href="http://www.netscape.com/">http://www.netscape.com/</a>
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-I--head"></a><span class="nroffip">-I/--head</span>
-<p class="level1">(HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature the command HEAD which this uses to get nothing but the header of a document. When used on a FTP or FILE file, curl displays the file size and last modification time only.
-<p class="level0"><a name="-j--junk-session-cookies"></a><span class="nroffip">-j/--junk-session-cookies</span>
-<p class="level1">(HTTP) When curl is told to read cookies from a given file, this option will make it discard all "session cookies". This will basically have the same effect as if a new session is started. Typical browsers always discard session cookies when they're closed down.
-<p class="level0"><a name="-k--insecure"></a><span class="nroffip">-k/--insecure</span>
-<p class="level1">(SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" to fail unless <a class="emphasis" href="#-k--insecure">-k/--insecure</a> is used.
-<p class="level1">See this online resource for further details: <span Class="bold"><a href="http://curl.haxx.se/docs/sslcerts.html">http://curl.haxx.se/docs/sslcerts.html</a></span>
-<p class="level0"><a name="--keepalive-time"></a><span class="nroffip">--keepalive-time &lt;seconds&gt;</span>
-<p class="level1">This option sets the time a connection needs to remain idle before sending keepalive probes and the time between individual keepalive probes. It is currently effective on operating systems offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This option has no effect if <a class="emphasis" href="#--no-keepalive">--no-keepalive</a> is used. (Added in 7.18.0)
-<p class="level1">If this option is used multiple times, the last occurrence sets the amount.
-<p class="level0"><a name="--key"></a><span class="nroffip">--key &lt;key&gt;</span>
-<p class="level1">(SSL/SSH) Private key file name. Allows you to provide your private key in this separate file.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--key-type"></a><span class="nroffip">--key-type &lt;type&gt;</span>
-<p class="level1">(SSL) Private key file type. Specify which type your <a class="emphasis" href="#--key">--key</a> provided private key is. DER, PEM and ENG are supported. If not specified, PEM is assumed.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--krb"></a><span class="nroffip">--krb &lt;level&gt;</span>
-<p class="level1">(FTP) Enable Kerberos authentication and use. The level must be entered and should be one of 'clear', 'safe', 'confidential' or 'private'. Should you use a level that is not one of these, 'private' will instead be used.
-<p class="level1">This option requires that the library was built with kerberos4 or GSSAPI (GSS-Negotiate) support. This is not very common. Use <a class="emphasis" href="#-V--version">-V/--version</a> to see if your curl supports it.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-K--config"></a><span class="nroffip">-K/--config &lt;config file&gt;</span>
-<p class="level1">Specify which config file to read curl arguments from. The config file is a text file in which command line arguments can be written which then will be used as if they were written on the actual command line. Options and their parameters must be specified on the same config file line, separated by white space, colon, the equals sign or any combination thereof (however, the preferred separator is the equals sign). If the parameter is to contain white spaces, the parameter must be enclosed within quotes. Within double quotes, the following escape sequences are available: \\, \", \t, \n, \r and \v. A backlash preceding any other letter is ignored. If the first column of a config line is a '#' character, the rest of the line will be treated as a comment. Only write one option per physical line in the config file.
-<p class="level1">Specify the filename to -K/--config as '-' to make curl read the file from stdin.
-<p class="level1">Note that to be able to specify a URL in the config file, you need to specify it using the <a class="emphasis" href="#--url">--url</a> option, and not by simply writing the URL on its own line. So, it could look similar to this:
-<p class="level1">url = "<a href="http://curl.haxx.se/docs/">http://curl.haxx.se/docs/</a>"
-<p class="level1">Long option names can optionally be given in the config file without the initial double dashes.
-<p class="level1">When curl is invoked, it always (unless <a class="emphasis" href="#-q">-q</a> is used) checks for a default config file and uses it if found. The default config file is checked for in the following places in this order:
-<p class="level1">1) curl tries to find the "home dir": It first checks for the CURL_HOME and then the HOME environment variables. Failing that, it uses getpwuid() on unix-like systems (which returns the home dir given the current user in your system). On Windows, it then checks for the APPDATA variable, or as a last resort the '%USERPROFILE%Application Data'.
-<p class="level1">2) On windows, if there is no _curlrc file in the home dir, it checks for one in the same dir the executable curl is placed. On unix-like systems, it will simply try to load .curlrc from the determined home dir.
-<p class="level1"><pre>
-<p class="level1"># --- Example file ---
- # this is a comment
- url = "curl.haxx.se"
- output = "curlhere.html"
- user-agent = "superagent/1.0"
- <p class="level1"># and fetch another URL too
- url = "curl.haxx.se/docs/manpage.html"
- -O
- referer = "<a href="http://nowhereatall.com/">http://nowhereatall.com/</a>"
- # --- End of example file ---
- </pre>
-
-<p class="level1">
-<p class="level1">This option can be used multiple times to load multiple config files.
-<p class="level0"><a name="--libcurl"></a><span class="nroffip">--libcurl &lt;file&gt;</span>
-<p class="level1">Append this option to any ordinary curl command line, and you will get a libcurl-using source code written to the file that does the equivalent operation of what your command line operation does!
-<p class="level1">NOTE: this does not properly support -F and the sending of multipart formposts, so in those cases the output program will be missing necessary calls to <span Class="emphasis">curl_formadd(3)</span>, and possibly more.
-<p class="level1">If this option is used several times, the last given file name will be used. (Added in 7.16.1)
-<p class="level0"><a name="--limit-rate"></a><span class="nroffip">--limit-rate &lt;speed&gt;</span>
-<p class="level1">Specify the maximum transfer rate you want curl to use. This feature is useful if you have a limited pipe and you'd like your transfer not use your entire bandwidth.
-<p class="level1">The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
-<p class="level1">The given rate is the average speed, counted during the entire transfer. It means that curl might use higher transfer speeds in short bursts, but over time it uses no more than the given rate.
-<p class="level1">If you are also using the <a class="emphasis" href="#-Y--speed-limit">-Y/--speed-limit</a> option, that option will take precedence and might cripple the rate-limiting slightly, to help keeping the speed-limit logic working.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-l--list-only"></a><span class="nroffip">-l/--list-only</span>
-<p class="level1">(FTP) When listing an FTP directory, this switch forces a name-only view. Especially useful if you want to machine-parse the contents of an FTP directory since the normal directory view doesn't use a standard look or format.
-<p class="level1">This option causes an FTP NLST command to be sent. Some FTP servers list only files in their response to NLST; they do not include subdirectories and symbolic links.
-<p class="level1">
-<p class="level0"><a name="--local-port"></a><span class="nroffip">--local-port &lt;num&gt;[-num]</span>
-<p class="level1">Set a preferred number or range of local port numbers to use for the connection(s). Note that port numbers by nature is a scarce resource that will be busy at times so setting this range to something too narrow might cause unnecessary connection setup failures. (Added in 7.15.2)
-<p class="level0"><a name="-L--location"></a><span class="nroffip">-L/--location</span>
-<p class="level1">(HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code) this option will make curl redo the request on the new place. If used together with <a class="emphasis" href="#-i--include">-i/--include</a> or <a class="emphasis" href="#-I--head">-I/--head</a>, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won't be able to intercept the user+password. See also <a class="emphasis" href="#--location-trusted">--location-trusted</a> on how to change this. You can limit the amount of redirects to follow by using the <a class="emphasis" href="#--max-redirs">--max-redirs</a> option.
-<p class="level1">When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified method.
-<p class="level0"><a name="--location-trusted"></a><span class="nroffip">--location-trusted</span>
-<p class="level1">(HTTP/HTTPS) Like <a class="emphasis" href="#-L--location">-L/--location</a>, but will allow sending the name + password to all hosts that the site may redirect to. This may or may not introduce a security breach if the site redirects you do a site to which you'll send your authentication info (which is plaintext in the case of HTTP Basic authentication).
-<p class="level1">
-<p class="level0"><a name="--max-filesize"></a><span class="nroffip">--max-filesize &lt;bytes&gt;</span>
-<p class="level1">Specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63.
-<p class="level1">NOTE: The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.
-<p class="level0"><a name="-m--max-time"></a><span class="nroffip">-m/--max-time &lt;seconds&gt;</span>
-<p class="level1">Maximum time in seconds that you allow the whole operation to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. See also the <a class="emphasis" href="#--connect-timeout">--connect-timeout</a> option.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-M--manual"></a><span class="nroffip">-M/--manual</span>
-<p class="level1">Manual. Display the huge help text.
-<p class="level0"><a name="-n--netrc"></a><span class="nroffip">-n/--netrc</span>
-<p class="level1">Makes curl scan the <span Class="emphasis">.netrc</span> (<span Class="emphasis">_netrc</span> on Windows) file in the user's home directory for login name and password. This is typically used for ftp on unix. If used with http, curl will enable user authentication. See <span Class="manpage">netrc(4)</span> or <span Class="manpage">ftp(1)</span> for details on the file format. Curl will not complain if that file hasn't the right permissions (it should not be world nor group readable). The environment variable "HOME" is used to find the home directory.
-<p class="level1">A quick and very simple example of how to setup a <span Class="emphasis">.netrc</span> to allow curl to ftp to the machine host.domain.com with user name 'myself' and password 'secret' should look similar to:
-<p class="level1"><span Class="bold">machine host.domain.com login myself password secret</span>
-<p class="level0"><a name="--netrc-optional"></a><span class="nroffip">--netrc-optional</span>
-<p class="level1">Very similar to <span Class="emphasis">--netrc</span>, but this option makes the .netrc usage <span Class="bold">optional</span> and not mandatory as the <span Class="emphasis">--netrc</span> does.
-<p class="level0"><a name="--negotiate"></a><span class="nroffip">--negotiate</span>
-<p class="level1">(HTTP) Enables GSS-Negotiate authentication. The GSS-Negotiate method was designed by Microsoft and is used in their web applications. It is primarily meant as a support for Kerberos5 authentication but may be also used along with another authentication methods. For more information see IETF draft draft-brezak-spnego-http-04.txt.
-<p class="level1">If you want to enable Negotiate for your proxy authentication, then use <a class="emphasis" href="#--proxy-negotiate">--proxy-negotiate</a>.
-<p class="level1">This option requires that the library was built with GSSAPI support. This is not very common. Use <a class="emphasis" href="#-V--version">-V/--version</a> to see if your version supports GSS-Negotiate.
-<p class="level1">When using this option, you must also provide a fake -u/--user option to activate the authentication code properly. Sending a '-u :' is enough as the user name and password from the -u option aren't actually used.
-<p class="level1">If this option is used several times, the following occurrences make no difference.
-<p class="level0"><a name="-N--no-buffer"></a><span class="nroffip">-N/--no-buffer</span>
-<p class="level1">Disables the buffering of the output stream. In normal work situations, curl will use a standard buffered output stream that will have the effect that it will output the data in chunks, not necessarily exactly when the data arrives. Using this option will disable that buffering.
-<p class="level1">Note that this is the negated option name documented. You can thus use <span Class="emphasis">--buffer</span> to enforce the buffering.
-<p class="level0"><a name="--no-keepalive"></a><span class="nroffip">--no-keepalive</span>
-<p class="level1">Disables the use of keepalive messages on the TCP connection, as by default curl enables them.
-<p class="level1">Note that this is the negated option name documented. You can thus use <span Class="emphasis">--keepalive</span> to enforce keepalive.
-<p class="level0"><a name="--no-sessionid"></a><span class="nroffip">--no-sessionid</span>
-<p class="level1">(SSL) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing ever should get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. (Added in 7.16.0)
-<p class="level1">Note that this is the negated option name documented. You can thus use <span Class="emphasis">--sessionid</span> to enforce session-ID caching.
-<p class="level0"><a name="--ntlm"></a><span class="nroffip">--ntlm</span>
-<p class="level1">(HTTP) Enables NTLM authentication. The NTLM authentication method was designed by Microsoft and is used by IIS web servers. It is a proprietary protocol, reversed engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead. Such as Digest.
-<p class="level1">If you want to enable NTLM for your proxy authentication, then use <a class="emphasis" href="#--proxy-ntlm">--proxy-ntlm</a>.
-<p class="level1">This option requires that the library was built with SSL support. Use <a class="emphasis" href="#-V--version">-V/--version</a> to see if your curl supports NTLM.
-<p class="level1">If this option is used several times, the following occurrences make no difference.
-<p class="level0"><a name="-o--output"></a><span class="nroffip">-o/--output &lt;file&gt;</span>
-<p class="level1">Write output to &lt;file&gt; instead of stdout. If you are using {} or [] to fetch multiple documents, you can use '#' followed by a number in the &lt;file&gt; specifier. That variable will be replaced with the current string for the URL being fetched. Like in:
-<p class="level1">&nbsp; curl http://{one,two}.site.com -o "file_#1.txt"
-<p class="level1">or use several variables like:
-<p class="level1">&nbsp; curl http://{site,host}.host[1-5].com -o "#1_#2"
-<p class="level1">You may use this option as many times as you have number of URLs.
-<p class="level1">See also the <a class="emphasis" href="#--create-dirs">--create-dirs</a> option to create the local directories dynamically.
-<p class="level0"><a name="-O--remote-name"></a><span class="nroffip">-O/--remote-name</span>
-<p class="level1">Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)
-<p class="level1">The remote file name to use for saving is extracted from the given URL, nothing else.
-<p class="level1">You may use this option as many times as you have number of URLs.
-<p class="level0"><a name="--remote-name-all"></a><span class="nroffip">--remote-name-all</span>
-<p class="level1">This option changes the default action for all given URLs to be dealt with as if <a class="emphasis" href="#-O--remote-name">-O/--remote-name</a> were used for each one. So if you want to disable that for a specific URL after <a class="emphasis" href="#--remote-name-all">--remote-name-all</a> has been used, you must use "-o -" or <span Class="emphasis">--no-remote-name</span>. (Added in 7.19.0)
-<p class="level0"><a name="--pass"></a><span class="nroffip">--pass &lt;phrase&gt;</span>
-<p class="level1">(SSL/SSH) Pass phrase for the private key
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--post301"></a><span class="nroffip">--post301</span>
-<p class="level1">Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may requires a POST to remain a POST after such a redirection. This option is meaningful only when using <a class="emphasis" href="#-L--location">-L/--location</a> (Added in 7.17.1)
-<p class="level0"><a name="--proxy-anyauth"></a><span class="nroffip">--proxy-anyauth</span>
-<p class="level1">Tells curl to pick a suitable authentication method when communicating with the given proxy. This might cause an extra request/response round-trip. (Added in 7.13.2)
-<p class="level0"><a name="--proxy-basic"></a><span class="nroffip">--proxy-basic</span>
-<p class="level1">Tells curl to use HTTP Basic authentication when communicating with the given proxy. Use <a class="emphasis" href="#--basic">--basic</a> for enabling HTTP Basic with a remote host. Basic is the default authentication method curl uses with proxies.
-<p class="level0"><a name="--proxy-digest"></a><span class="nroffip">--proxy-digest</span>
-<p class="level1">Tells curl to use HTTP Digest authentication when communicating with the given proxy. Use <a class="emphasis" href="#--digest">--digest</a> for enabling HTTP Digest with a remote host.
-<p class="level0"><a name="--proxy-negotiate"></a><span class="nroffip">--proxy-negotiate</span>
-<p class="level1">Tells curl to use HTTP Negotiate authentication when communicating with the given proxy. Use <a class="emphasis" href="#--negotiate">--negotiate</a> for enabling HTTP Negotiate with a remote host. (Added in 7.17.1)
-<p class="level0"><a name="--proxy-ntlm"></a><span class="nroffip">--proxy-ntlm</span>
-<p class="level1">Tells curl to use HTTP NTLM authentication when communicating with the given proxy. Use <a class="emphasis" href="#--ntlm">--ntlm</a> for enabling NTLM with a remote host.
-<p class="level0"><a name="-p--proxytunnel"></a><span class="nroffip">-p/--proxytunnel</span>
-<p class="level1">When an HTTP proxy is used (<a class="emphasis" href="#-x--proxy">-x/--proxy</a>), this option will cause non-HTTP protocols to attempt to tunnel through the proxy instead of merely using it to do HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to.
-<p class="level0"><a name="--pubkey"></a><span class="nroffip">--pubkey &lt;key&gt;</span>
-<p class="level1">(SSH) Public key file name. Allows you to provide your public key in this separate file.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-P--ftp-port"></a><span class="nroffip">-P/--ftp-port &lt;address&gt;</span>
-<p class="level1">(FTP) Reverses the initiator/listener roles when connecting with ftp. This switch makes Curl use the PORT command instead of PASV. In practise, PORT tells the server to connect to the client's specified address and port, while PASV asks the server for an ip address and port to connect to. &lt;address&gt; should be one of:
-<p class="level2">
-<p class="level1"><a name="interface"></a><span class="nroffip">interface</span>
-<p class="level2">i.e "eth0" to specify which interface's IP address you want to use (Unix only)
-<p class="level1"><a name="IP"></a><span class="nroffip">IP address</span>
-<p class="level2">i.e "192.168.10.1" to specify exact IP number
-<p class="level1"><a name="host"></a><span class="nroffip">host name</span>
-<p class="level2">i.e "my.host.domain" to specify machine
-<p class="level1"><a name="-"></a><span class="nroffip">-</span>
-<p class="level2">make curl pick the same IP address that is already used for the control connection
-<p class="level1">
-<p class="level1">If this option is used several times, the last one will be used. Disable the use of PORT with <a class="emphasis" href="#--ftp-pasv">--ftp-pasv</a>. Disable the attempt to use the EPRT command instead of PORT by using <a class="emphasis" href="#--disable-eprt">--disable-eprt</a>. EPRT is really PORT++.
-<p class="level0"><a name="-q"></a><span class="nroffip">-q</span>
-<p class="level1">If used as the first parameter on the command line, the <span Class="emphasis">curlrc</span> config file will not be read and used. See the <a class="emphasis" href="#-K--config">-K/--config</a> for details on the default config file search path.
-<p class="level0"><a name="-Q--quote"></a><span class="nroffip">-Q/--quote &lt;command&gt;</span>
-<p class="level1">(FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer is taking place (just after the initial PWD command in an FTP transfer, to be exact). To make commands take place after a successful transfer, prefix them with a dash '-'. To make commands get sent after libcurl has changed working directory, just before the transfer command(s), prefix the command with '+' (this is only supported for FTP). You may specify any number of commands. If the server returns failure for one of the commands, the entire operation will be aborted. You must send syntactically correct FTP commands as RFC959 defines to FTP servers, or one of the commands listed below to SFTP servers. This option can be used multiple times.
-<p class="level1">SFTP is a binary protocol. Unlike for FTP, libcurl interprets SFTP quote commands before sending them to the server. Following is the list of all supported SFTP quote commands:
-<p class="level2">
-<p class="level1"><a name="chgrp"></a><span class="nroffip">chgrp group file</span>
-<p class="level2">The chgrp command sets the group ID of the file named by the file operand to the group ID specified by the group operand. The group operand is a decimal integer group ID.
-<p class="level1"><a name="chmod"></a><span class="nroffip">chmod mode file</span>
-<p class="level2">The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number.
-<p class="level1"><a name="chown"></a><span class="nroffip">chown user file</span>
-<p class="level2">The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID.
-<p class="level1"><a name="ln"></a><span class="nroffip">ln source_file target_file</span>
-<p class="level2">The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location.
-<p class="level1"><a name="mkdir"></a><span class="nroffip">mkdir directory_name</span>
-<p class="level2">The mkdir command creates the directory named by the directory_name operand.
-<p class="level1"><a name="pwd"></a><span class="nroffip">pwd</span>
-<p class="level2">The pwd command returns the absolute pathname of the current working directory.
-<p class="level1"><a name="rename"></a><span class="nroffip">rename source target</span>
-<p class="level2">The rename command renames the file or directory named by the source operand to the destination path named by the target operand.
-<p class="level1"><a name="rm"></a><span class="nroffip">rm file</span>
-<p class="level2">The rm command removes the file specified by the file operand.
-<p class="level1"><a name="rmdir"></a><span class="nroffip">rmdir directory</span>
-<p class="level2">The rmdir command removes the directory entry specified by the directory operand, provided it is empty.
-<p class="level1"><a name="symlink"></a><span class="nroffip">symlink source_file target_file</span>
-<p class="level2">See ln.
-<p class="level1">
-<p class="level0"><a name="--random-file"></a><span class="nroffip">--random-file &lt;file&gt;</span>
-<p class="level1">(SSL) Specify the path name to file containing what will be considered as random data. The data is used to seed the random engine for SSL connections. See also the <a class="emphasis" href="#--egd-file">--egd-file</a> option.
-<p class="level0"><a name="-r--range"></a><span class="nroffip">-r/--range &lt;range&gt;</span>
-<p class="level1">(HTTP/FTP/FILE) Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP server or a local FILE. Ranges can be specified in a number of ways.
-<p class="level2">
-<p class="level2"><span Class="bold">0-499</span> specifies the first 500 bytes
-<p class="level2"><span Class="bold">500-999</span> specifies the second 500 bytes
-<p class="level2"><span Class="bold">-500</span> specifies the last 500 bytes
-<p class="level2"><span Class="bold">9500-</span> specifies the bytes from offset 9500 and forward
-<p class="level2"><span Class="bold">0-0,-1</span> specifies the first and last byte only(*)(H)
-<p class="level2"><span Class="bold">500-700,600-799</span> specifies 300 bytes from offset 500(H)
-<p class="level2"><span Class="bold">100-199,500-599</span> specifies two separate 100 bytes ranges(*)(H)
-<p class="level1">
-<p class="level1">(*) = NOTE that this will cause the server to reply with a multipart response!
-<p class="level1">Only digit characters (0-9) are valid in 'start' and 'stop' of range syntax 'start-stop'. If a non-digit character is given in the range, the server's response will be indeterminable, depending on different server's configuration.
-<p class="level1">You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you'll instead get the whole document.
-<p class="level1">FTP range downloads only support the simple syntax 'start-stop' (optionally with one of the numbers omitted). It depends on the non-RFC command SIZE.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--raw"></a><span class="nroffip">--raw</span>
-<p class="level1">When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)
-<p class="level0"><a name="-R--remote-time"></a><span class="nroffip">-R/--remote-time</span>
-<p class="level1">When used, this will make libcurl attempt to figure out the timestamp of the remote file, and if that is available make the local file get that same timestamp.
-<p class="level0"><a name="--retry"></a><span class="nroffip">--retry &lt;num&gt;</span>
-<p class="level1">If a transient error is returned when curl tries to perform a transfer, it will retry this number of times before giving up. Setting the number to 0 makes curl do no retries (which is the default). Transient error means either: a timeout, an FTP 5xx response code or an HTTP 5xx response code.
-<p class="level1">When curl is about to retry a transfer, it will first wait one second and then for all forthcoming retries it will double the waiting time until it reaches 10 minutes which then will be the delay between the rest of the retries. By using <a class="emphasis" href="#--retry-delay">--retry-delay</a> you disable this exponential backoff algorithm. See also <a class="emphasis" href="#--retry-max-time">--retry-max-time</a> to limit the total time allowed for retries. (Added in 7.12.3)
-<p class="level1">If this option is used multiple times, the last occurrence decide the amount.
-<p class="level0"><a name="--retry-delay"></a><span class="nroffip">--retry-delay &lt;seconds&gt;</span>
-<p class="level1">Make curl sleep this amount of time between each retry when a transfer has failed with a transient error (it changes the default backoff time algorithm between retries). This option is only interesting if <a class="emphasis" href="#--retry">--retry</a> is also used. Setting this delay to zero will make curl use the default backoff time. (Added in 7.12.3)
-<p class="level1">If this option is used multiple times, the last occurrence decide the amount.
-<p class="level0"><a name="--retry-max-time"></a><span class="nroffip">--retry-max-time &lt;seconds&gt;</span>
-<p class="level1">The retry timer is reset before the first transfer attempt. Retries will be done as usual (see <a class="emphasis" href="#--retry">--retry</a>) as long as the timer hasn't reached this given limit. Notice that if the timer hasn't reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request&acute;s maximum time, use <a class="emphasis" href="#-m--max-time">-m/--max-time</a>. Set this option to zero to not timeout retries. (Added in 7.12.3)
-<p class="level1">If this option is used multiple times, the last occurrence decide the amount.
-<p class="level0"><a name="-s--silent"></a><span class="nroffip">-s/--silent</span>
-<p class="level1">Silent mode. Don't show progress meter or error messages. Makes Curl mute.
-<p class="level0"><a name="-S--show-error"></a><span class="nroffip">-S/--show-error</span>
-<p class="level1">When used with -s it makes curl show error message if it fails.
-<p class="level0"><a name="--socks4"></a><span class="nroffip">--socks4 &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS4 proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.15.2)
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x--proxy">-x/--proxy</a>, as they are mutually exclusive.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--socks4a"></a><span class="nroffip">--socks4a &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS4a proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0)
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x--proxy">-x/--proxy</a>, as they are mutually exclusive.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--socks5-hostname"></a><span class="nroffip">--socks5-hostname &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0)
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x--proxy">-x/--proxy</a>, as they are mutually exclusive.
-<p class="level1">If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.)
-<p class="level0"><a name="--socks5"></a><span class="nroffip">--socks5 &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS5 proxy - but resolve the host name locally. If the port number is not specified, it is assumed at port 1080.
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x--proxy">-x/--proxy</a>, as they are mutually exclusive.
-<p class="level1">If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.)
-<p class="level0"><a name="--stderr"></a><span class="nroffip">--stderr &lt;file&gt;</span>
-<p class="level1">Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout. This option has no point when you're using a shell with decent redirecting capabilities.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--tcp-nodelay"></a><span class="nroffip">--tcp-nodelay</span>
-<p class="level1">Turn on the TCP_NODELAY option. See the <span Class="emphasis">curl_easy_setopt(3)</span> man page for details about this option. (Added in 7.11.2)
-<p class="level0"><a name="-t--telnet-option"></a><span class="nroffip">-t/--telnet-option &lt;OPT=val&gt;</span>
-<p class="level1">Pass options to the telnet protocol. Supported options are:
-<p class="level1">TTYPE=&lt;term&gt; Sets the terminal type.
-<p class="level1">XDISPLOC=&lt;X display&gt; Sets the X display location.
-<p class="level1">NEW_ENV=&lt;var,val&gt; Sets an environment variable.
-<p class="level0"><a name="-T--upload-file"></a><span class="nroffip">-T/--upload-file &lt;file&gt;</span>
-<p class="level1">This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local file name. NOTE that you must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on a http(s) server, the PUT command will be used.
-<p class="level1">Use the file name "-" (a single dash) to use stdin instead of a given file.
-<p class="level1">You can specify one -T for each URL on the command line. Each -T + URL pair specifies what to upload and to where. curl also supports "globbing" of the -T argument, meaning that you can upload multiple files to a single URL by using the same URL globbing style supported in the URL, like this:
-<p class="level1">curl -T "{file1,file2}" <a href="http://www.uploadtothissite.com">http://www.uploadtothissite.com</a>
-<p class="level1">or even
-<p class="level1">curl -T "img[1-1000].png" <a href="ftp://ftp.picturemania.com/upload/">ftp://ftp.picturemania.com/upload/</a>
-<p class="level0"><a name="--trace"></a><span class="nroffip">--trace &lt;file&gt;</span>
-<p class="level1">Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout.
-<p class="level1">This option overrides previous uses of <a class="emphasis" href="#-v--verbose">-v/--verbose</a> or <a class="emphasis" href="#--trace-ascii">--trace-ascii</a>.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--trace-ascii"></a><span class="nroffip">--trace-ascii &lt;file&gt;</span>
-<p class="level1">Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout.
-<p class="level1">This is very similar to <a class="emphasis" href="#--trace">--trace</a>, but leaves out the hex part and only shows the ASCII part of the dump. It makes smaller output that might be easier to read for untrained humans.
-<p class="level1">This option overrides previous uses of <a class="emphasis" href="#-v--verbose">-v/--verbose</a> or <a class="emphasis" href="#--trace">--trace</a>.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--trace-time"></a><span class="nroffip">--trace-time</span>
-<p class="level1">Prepends a time stamp to each trace or verbose line that curl displays. (Added in 7.14.0)
-<p class="level0"><a name="-u--user"></a><span class="nroffip">-u/--user &lt;user:password&gt;</span>
-<p class="level1">Specify user and password to use for server authentication. Overrides <a class="emphasis" href="#-n--netrc">-n/--netrc</a> and <a class="emphasis" href="#--netrc-optional">--netrc-optional</a>.
-<p class="level1">If you just give the user name (without entering a colon) curl will prompt for a password.
-<p class="level1">If you use an SSPI-enabled curl binary and do NTLM authentication, you can force curl to pick up the user name and password from your environment by simply specifying a single colon with this option: "-u :".
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-U--proxy-user"></a><span class="nroffip">-U/--proxy-user &lt;user:password&gt;</span>
-<p class="level1">Specify user and password to use for proxy authentication.
-<p class="level1">If you use an SSPI-enabled curl binary and do NTLM authentication, you can force curl to pick up the user name and password from your environment by simply specifying a single colon with this option: "-U :".
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--url"></a><span class="nroffip">--url &lt;URL&gt;</span>
-<p class="level1">Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file.
-<p class="level1">This option may be used any number of times. To control where this URL is written, use the <a class="emphasis" href="#-o--output">-o/--output</a> or the <a class="emphasis" href="#-O--remote-name">-O/--remote-name</a> options.
-<p class="level0"><a name="-v--verbose"></a><span class="nroffip">-v/--verbose</span>
-<p class="level1">Makes the fetching more verbose/talkative. Mostly usable for debugging. Lines starting with '&gt;' means "header data" sent by curl, '&lt;' means "header data" received by curl that is hidden in normal cases and lines starting with '*' means additional info provided by curl.
-<p class="level1">Note that if you only want HTTP headers in the output, <a class="emphasis" href="#-i--include">-i/--include</a> might be option you're looking for.
-<p class="level1">If you think this option still doesn't give you enough details, consider using <a class="emphasis" href="#--trace">--trace</a> or <a class="emphasis" href="#--trace-ascii">--trace-ascii</a> instead.
-<p class="level1">This option overrides previous uses of <a class="emphasis" href="#--trace-ascii">--trace-ascii</a> or <a class="emphasis" href="#--trace">--trace</a>.
-<p class="level0"><a name="-V--version"></a><span class="nroffip">-V/--version</span>
-<p class="level1">Displays information about curl and the libcurl version it uses.
-<p class="level1">The first line includes the full version of curl, libcurl and other 3rd party libraries linked with the executable.
-<p class="level1">The second line (starts with "Protocols:") shows all protocols that libcurl reports to support.
-<p class="level1">The third line (starts with "Features:") shows specific features libcurl reports to offer. Available features include:
-<p class="level2">
-<p class="level1"><a name="IPv6"></a><span class="nroffip">IPv6</span>
-<p class="level2">You can use IPv6 with this.
-<p class="level1"><a name="krb4"></a><span class="nroffip">krb4</span>
-<p class="level2">Krb4 for ftp is supported.
-<p class="level1"><a name="SSL"></a><span class="nroffip">SSL</span>
-<p class="level2">HTTPS and FTPS are supported.
-<p class="level1"><a name="libz"></a><span class="nroffip">libz</span>
-<p class="level2">Automatic decompression of compressed files over HTTP is supported.
-<p class="level1"><a name="NTLM"></a><span class="nroffip">NTLM</span>
-<p class="level2">NTLM authentication is supported.
-<p class="level1"><a name="GSS-Negotiate"></a><span class="nroffip">GSS-Negotiate</span>
-<p class="level2">Negotiate authentication and krb5 for ftp is supported.
-<p class="level1"><a name="Debug"></a><span class="nroffip">Debug</span>
-<p class="level2">This curl uses a libcurl built with Debug. This enables more error-tracking and memory debugging etc. For curl-developers only!
-<p class="level1"><a name="AsynchDNS"></a><span class="nroffip">AsynchDNS</span>
-<p class="level2">This curl uses asynchronous name resolves.
-<p class="level1"><a name="SPNEGO"></a><span class="nroffip">SPNEGO</span>
-<p class="level2">SPNEGO Negotiate authentication is supported.
-<p class="level1"><a name="Largefile"></a><span class="nroffip">Largefile</span>
-<p class="level2">This curl supports transfers of large files, files larger than 2GB.
-<p class="level1"><a name="IDN"></a><span class="nroffip">IDN</span>
-<p class="level2">This curl supports IDN - international domain names.
-<p class="level1"><a name="SSPI"></a><span class="nroffip">SSPI</span>
-<p class="level2">SSPI is supported. If you use NTLM and set a blank user name, curl will authenticate with your current user and password.
-<p class="level1">
-<p class="level0"><a name="-w--write-out"></a><span class="nroffip">-w/--write-out &lt;format&gt;</span>
-<p class="level1">Defines what to display on stdout after a completed and successful operation. The format is a string that may contain plain text mixed with any number of variables. The string can be specified as "string", to get read from a particular file you specify it "@filename" and to tell curl to read the format from stdin you write "@-".
-<p class="level1">The variables present in the output format will be substituted by the value or text that curl thinks fit, as described below. All variables are specified like %{variable_name} and to output a normal % you just write them like %%. You can output a newline by using \n, a carriage return with \r and a tab space with \t.
-<p class="level1"><span Class="bold">NOTE:</span> The %-letter is a special letter in the win32-environment, where all occurrences of % must be doubled when using this option.
-<p class="level1">Available variables are at this point:
-<p class="level2">
-<p class="level2"><span Class="bold">url_effective</span> The URL that was fetched last. This is mostly meaningful if you've told curl to follow location: headers.
-<p class="level2"><span Class="bold">http_code</span> The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias <span Class="bold">response_code</span> was added to show the same info.
-<p class="level2"><span Class="bold">http_connect</span> The numerical code that was found in the last response (from a proxy) to a curl CONNECT request. (Added in 7.12.4)
-<p class="level2"><span Class="bold">time_total</span> The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution.
-<p class="level2"><span Class="bold">time_namelookup</span> The time, in seconds, it took from the start until the name resolving was completed.
-<p class="level2"><span Class="bold">time_connect</span> The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.
-<p class="level2"><span Class="bold">time_appconnect</span> The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0)
-<p class="level2"><span Class="bold">time_pretransfer</span> The time, in seconds, it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
-<p class="level2"><span Class="bold">time_redirect</span> The time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. time_redirect shows the complete execution time for multiple redirections. (Added in 7.12.3)
-<p class="level2"><span Class="bold">time_starttransfer</span> The time, in seconds, it took from the start until the first byte is just about to be transferred. This includes time_pretransfer and also the time the server needs to calculate the result.
-<p class="level2"><span Class="bold">size_download</span> The total amount of bytes that were downloaded.
-<p class="level2"><span Class="bold">size_upload</span> The total amount of bytes that were uploaded.
-<p class="level2"><span Class="bold">size_header</span> The total amount of bytes of the downloaded headers.
-<p class="level2"><span Class="bold">size_request</span> The total amount of bytes that were sent in the HTTP request.
-<p class="level2"><span Class="bold">speed_download</span> The average download speed that curl measured for the complete download.
-<p class="level2"><span Class="bold">speed_upload</span> The average upload speed that curl measured for the complete upload.
-<p class="level2"><span Class="bold">content_type</span> The Content-Type of the requested document, if there was any.
-<p class="level2"><span Class="bold">num_connects</span> Number of new connects made in the recent transfer. (Added in 7.12.3)
-<p class="level2"><span Class="bold">num_redirects</span> Number of redirects that were followed in the request. (Added in 7.12.3)
-<p class="level2"><span Class="bold">redirect_url</span> When a HTTP request was made without -L to follow redirects, this variable will show the actual URL a redirect <span Class="emphasis">would</span> take you to. (Added in 7.18.2)
-<p class="level2"><span Class="bold">ftp_entry_path</span> The initial path libcurl ended up in when logging on to the remote FTP server. (Added in 7.15.4)
-<p class="level2"><span Class="bold">ssl_verify_result</span> The result of the SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0)
-<p class="level1">
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-x--proxy"></a><span class="nroffip">-x/--proxy &lt;proxyhost[:port]&gt;</span>
-<p class="level1">Use specified HTTP proxy. If the port number is not specified, it is assumed at port 1080.
-<p class="level1">This option overrides existing environment variables that sets proxy to use. If there's an environment variable setting a proxy, you can set proxy to "" to override it.
-<p class="level1"><span Class="bold">Note</span> that all operations that are performed over a HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as done with the <a class="emphasis" href="#-p--proxytunnel">-p/--proxytunnel</a> option.
-<p class="level1">Starting with 7.14.1, the proxy host can be specified the exact same way as the proxy environment variables, include protocol prefix (http://) and embedded user + password.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-X--request"></a><span class="nroffip">-X/--request &lt;command&gt;</span>
-<p class="level1">(HTTP) Specifies a custom request method to use when communicating with the HTTP server. The specified request will be used instead of the method otherwise used (which defaults to GET). Read the HTTP 1.1 specification for details and explanations.
-<p class="level1">(FTP) Specifies a custom FTP command to use instead of LIST when doing file lists with ftp.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-y--speed-time"></a><span class="nroffip">-y/--speed-time &lt;time&gt;</span>
-<p class="level1">If a download is slower than speed-limit bytes per second during a speed-time period, the download gets aborted. If speed-time is used, the default speed-limit will be 1 unless set with -y.
-<p class="level1">This option controls transfers and thus will not affect slow connects etc. If this is a concern for you, try the <a class="emphasis" href="#--connect-timeout">--connect-timeout</a> option.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-Y--speed-limit"></a><span class="nroffip">-Y/--speed-limit &lt;speed&gt;</span>
-<p class="level1">If a download is slower than this given speed, in bytes per second, for speed-time seconds it gets aborted. speed-time is set with -Y and is 30 if not set.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-z--time-cond"></a><span class="nroffip">-z/--time-cond &lt;date expression&gt;</span>
-<p class="level1">(HTTP/FTP) Request a file that has been modified later than the given time and date, or one that has been modified before that time. The date expression can be all sorts of date strings or if it doesn't match any internal ones, it tries to get the time from a given file name instead! See the <span Class="emphasis">curl_getdate(3)</span> man pages for date expression details.
-<p class="level1">Start the date expression with a dash (-) to make it request for a document that is older than the given date/time, default is a document that is newer than the specified date/time.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--max-redirs"></a><span class="nroffip">--max-redirs &lt;num&gt;</span>
-<p class="level1">Set maximum number of redirection-followings allowed. If <a class="emphasis" href="#-L--location">-L/--location</a> is used, this option can be used to prevent curl from following redirections "in absurdum". By default, the limit is set to 50 redirections. Set this option to -1 to make it limitless.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-0--http10"></a><span class="nroffip">-0/--http1.0</span>
-<p class="level1">(HTTP) Forces curl to issue its requests using HTTP 1.0 instead of using its internally preferred: HTTP 1.1.
-<p class="level0"><a name="-1--tlsv1"></a><span class="nroffip">-1/--tlsv1</span>
-<p class="level1">(SSL) Forces curl to use TSL version 1 when negotiating with a remote TLS server.
-<p class="level0"><a name="-2--sslv2"></a><span class="nroffip">-2/--sslv2</span>
-<p class="level1">(SSL) Forces curl to use SSL version 2 when negotiating with a remote SSL server.
-<p class="level0"><a name="-3--sslv3"></a><span class="nroffip">-3/--sslv3</span>
-<p class="level1">(SSL) Forces curl to use SSL version 3 when negotiating with a remote SSL server.
-<p class="level0"><a name="-4--ipv4"></a><span class="nroffip">-4/--ipv4</span>
-<p class="level1">If libcurl is capable of resolving an address to multiple IP versions (which it is if it is ipv6-capable), this option tells libcurl to resolve names to IPv4 addresses only.
-<p class="level0"><a name="-6--ipv6"></a><span class="nroffip">-6/--ipv6</span>
-<p class="level1">If libcurl is capable of resolving an address to multiple IP versions (which it is if it is ipv6-capable), this option tells libcurl to resolve names to IPv6 addresses only.
-<p class="level0"><a name="---progress-bar"></a><span class="nroffip">-#/--progress-bar</span>
-<p class="level1">Make curl display progress information as a progress bar instead of the default statistics. <a name="FILES"></a><h2 class="nroffsh">FILES</h2>
-<p class="level0"><span Class="emphasis">~/.curlrc</span>
-<p class="level1">Default config file, see <a class="emphasis" href="#-K--config">-K/--config</a> for details.
-<p class="level1"><a name="ENVIRONMENT"></a><h2 class="nroffsh">ENVIRONMENT</h2>
-<p class="level0">
-<p class="level0"><a name="httpproxy"></a><span class="nroffip">http_proxy [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets proxy server to use for HTTP.
-<p class="level0"><a name="HTTPSPROXY"></a><span class="nroffip">HTTPS_PROXY [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets proxy server to use for HTTPS.
-<p class="level0"><a name="FTPPROXY"></a><span class="nroffip">FTP_PROXY [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets proxy server to use for FTP.
-<p class="level0"><a name="ALLPROXY"></a><span class="nroffip">ALL_PROXY [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets proxy server to use if no protocol-specific proxy is set.
-<p class="level0"><a name="NOPROXY"></a><span class="nroffip">NO_PROXY &lt;comma-separated list of hosts&gt;</span>
-<p class="level1">list of host names that shouldn't go through any proxy. If set to a asterisk '*' only, it matches all hosts. <a name="EXIT"></a><h2 class="nroffsh">EXIT CODES</h2>
-<p class="level0">There exists a bunch of different error codes and their corresponding error messages that may appear during bad conditions. At the time of this writing, the exit codes are:
-<p class="level0"><a name="1"></a><span class="nroffip">1</span>
-<p class="level1">Unsupported protocol. This build of curl has no support for this protocol.
-<p class="level0"><a name="2"></a><span class="nroffip">2</span>
-<p class="level1">Failed to initialize.
-<p class="level0"><a name="3"></a><span class="nroffip">3</span>
-<p class="level1">URL malformat. The syntax was not correct.
-<p class="level0"><a name="5"></a><span class="nroffip">5</span>
-<p class="level1">Couldn't resolve proxy. The given proxy host could not be resolved.
-<p class="level0"><a name="6"></a><span class="nroffip">6</span>
-<p class="level1">Couldn't resolve host. The given remote host was not resolved.
-<p class="level0"><a name="7"></a><span class="nroffip">7</span>
-<p class="level1">Failed to connect to host.
-<p class="level0"><a name="8"></a><span class="nroffip">8</span>
-<p class="level1">FTP weird server reply. The server sent data curl couldn't parse.
-<p class="level0"><a name="9"></a><span class="nroffip">9</span>
-<p class="level1">FTP access denied. The server denied login or denied access to the particular resource or directory you wanted to reach. Most often you tried to change to a directory that doesn't exist on the server.
-<p class="level0"><a name="11"></a><span class="nroffip">11</span>
-<p class="level1">FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
-<p class="level0"><a name="13"></a><span class="nroffip">13</span>
-<p class="level1">FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
-<p class="level0"><a name="14"></a><span class="nroffip">14</span>
-<p class="level1">FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
-<p class="level0"><a name="15"></a><span class="nroffip">15</span>
-<p class="level1">FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
-<p class="level0"><a name="17"></a><span class="nroffip">17</span>
-<p class="level1">FTP couldn't set binary. Couldn't change transfer method to binary.
-<p class="level0"><a name="18"></a><span class="nroffip">18</span>
-<p class="level1">Partial file. Only a part of the file was transferred.
-<p class="level0"><a name="19"></a><span class="nroffip">19</span>
-<p class="level1">FTP couldn't download/access the given file, the RETR (or similar) command failed.
-<p class="level0"><a name="21"></a><span class="nroffip">21</span>
-<p class="level1">FTP quote error. A quote command returned error from the server.
-<p class="level0"><a name="22"></a><span class="nroffip">22</span>
-<p class="level1">HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if <a class="emphasis" href="#-f--fail">-f/--fail</a> is used.
-<p class="level0"><a name="23"></a><span class="nroffip">23</span>
-<p class="level1">Write error. Curl couldn't write data to a local filesystem or similar.
-<p class="level0"><a name="25"></a><span class="nroffip">25</span>
-<p class="level1">FTP couldn't STOR file. The server denied the STOR operation, used for FTP uploading.
-<p class="level0"><a name="26"></a><span class="nroffip">26</span>
-<p class="level1">Read error. Various reading problems.
-<p class="level0"><a name="27"></a><span class="nroffip">27</span>
-<p class="level1">Out of memory. A memory allocation request failed.
-<p class="level0"><a name="28"></a><span class="nroffip">28</span>
-<p class="level1">Operation timeout. The specified time-out period was reached according to the conditions.
-<p class="level0"><a name="30"></a><span class="nroffip">30</span>
-<p class="level1">FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT command, try doing a transfer using PASV instead!
-<p class="level0"><a name="31"></a><span class="nroffip">31</span>
-<p class="level1">FTP couldn't use REST. The REST command failed. This command is used for resumed FTP transfers.
-<p class="level0"><a name="33"></a><span class="nroffip">33</span>
-<p class="level1">HTTP range error. The range "command" didn't work.
-<p class="level0"><a name="34"></a><span class="nroffip">34</span>
-<p class="level1">HTTP post error. Internal post-request generation error.
-<p class="level0"><a name="35"></a><span class="nroffip">35</span>
-<p class="level1">SSL connect error. The SSL handshaking failed.
-<p class="level0"><a name="36"></a><span class="nroffip">36</span>
-<p class="level1">FTP bad download resume. Couldn't continue an earlier aborted download.
-<p class="level0"><a name="37"></a><span class="nroffip">37</span>
-<p class="level1">FILE couldn't read file. Failed to open the file. Permissions?
-<p class="level0"><a name="38"></a><span class="nroffip">38</span>
-<p class="level1">LDAP cannot bind. LDAP bind operation failed.
-<p class="level0"><a name="39"></a><span class="nroffip">39</span>
-<p class="level1">LDAP search failed.
-<p class="level0"><a name="41"></a><span class="nroffip">41</span>
-<p class="level1">Function not found. A required LDAP function was not found.
-<p class="level0"><a name="42"></a><span class="nroffip">42</span>
-<p class="level1">Aborted by callback. An application told curl to abort the operation.
-<p class="level0"><a name="43"></a><span class="nroffip">43</span>
-<p class="level1">Internal error. A function was called with a bad parameter.
-<p class="level0"><a name="45"></a><span class="nroffip">45</span>
-<p class="level1">Interface error. A specified outgoing interface could not be used.
-<p class="level0"><a name="47"></a><span class="nroffip">47</span>
-<p class="level1">Too many redirects. When following redirects, curl hit the maximum amount.
-<p class="level0"><a name="48"></a><span class="nroffip">48</span>
-<p class="level1">Unknown TELNET option specified.
-<p class="level0"><a name="49"></a><span class="nroffip">49</span>
-<p class="level1">Malformed telnet option.
-<p class="level0"><a name="51"></a><span class="nroffip">51</span>
-<p class="level1">The peer's SSL certificate or SSH MD5 fingerprint was not ok
-<p class="level0"><a name="52"></a><span class="nroffip">52</span>
-<p class="level1">The server didn't reply anything, which here is considered an error.
-<p class="level0"><a name="53"></a><span class="nroffip">53</span>
-<p class="level1">SSL crypto engine not found
-<p class="level0"><a name="54"></a><span class="nroffip">54</span>
-<p class="level1">Cannot set SSL crypto engine as default
-<p class="level0"><a name="55"></a><span class="nroffip">55</span>
-<p class="level1">Failed sending network data
-<p class="level0"><a name="56"></a><span class="nroffip">56</span>
-<p class="level1">Failure in receiving network data
-<p class="level0"><a name="58"></a><span class="nroffip">58</span>
-<p class="level1">Problem with the local certificate
-<p class="level0"><a name="59"></a><span class="nroffip">59</span>
-<p class="level1">Couldn't use specified SSL cipher
-<p class="level0"><a name="60"></a><span class="nroffip">60</span>
-<p class="level1">Peer certificate cannot be authenticated with known CA certificates
-<p class="level0"><a name="61"></a><span class="nroffip">61</span>
-<p class="level1">Unrecognized transfer encoding
-<p class="level0"><a name="62"></a><span class="nroffip">62</span>
-<p class="level1">Invalid LDAP URL
-<p class="level0"><a name="63"></a><span class="nroffip">63</span>
-<p class="level1">Maximum file size exceeded
-<p class="level0"><a name="64"></a><span class="nroffip">64</span>
-<p class="level1">Requested FTP SSL level failed
-<p class="level0"><a name="65"></a><span class="nroffip">65</span>
-<p class="level1">Sending the data requires a rewind that failed
-<p class="level0"><a name="66"></a><span class="nroffip">66</span>
-<p class="level1">Failed to initialise SSL Engine
-<p class="level0"><a name="67"></a><span class="nroffip">67</span>
-<p class="level1">User, password or similar was not accepted and curl failed to login
-<p class="level0"><a name="68"></a><span class="nroffip">68</span>
-<p class="level1">File not found on TFTP server
-<p class="level0"><a name="69"></a><span class="nroffip">69</span>
-<p class="level1">Permission problem on TFTP server
-<p class="level0"><a name="70"></a><span class="nroffip">70</span>
-<p class="level1">Out of disk space on TFTP server
-<p class="level0"><a name="71"></a><span class="nroffip">71</span>
-<p class="level1">Illegal TFTP operation
-<p class="level0"><a name="72"></a><span class="nroffip">72</span>
-<p class="level1">Unknown TFTP transfer ID
-<p class="level0"><a name="73"></a><span class="nroffip">73</span>
-<p class="level1">File already exists (TFTP)
-<p class="level0"><a name="74"></a><span class="nroffip">74</span>
-<p class="level1">No such user (TFTP)
-<p class="level0"><a name="75"></a><span class="nroffip">75</span>
-<p class="level1">Character conversion failed
-<p class="level0"><a name="76"></a><span class="nroffip">76</span>
-<p class="level1">Character conversion functions required
-<p class="level0"><a name="77"></a><span class="nroffip">77</span>
-<p class="level1">Problem with reading the SSL CA cert (path? access rights?)
-<p class="level0"><a name="78"></a><span class="nroffip">78</span>
-<p class="level1">The resource referenced in the URL does not exist
-<p class="level0"><a name="79"></a><span class="nroffip">79</span>
-<p class="level1">An unspecified error occurred during the SSH session
-<p class="level0"><a name="80"></a><span class="nroffip">80</span>
-<p class="level1">Failed to shut down the SSL connection
-<p class="level0"><a name="82"></a><span class="nroffip">82</span>
-<p class="level1">Could not load CRL file, missing or wrong format (added in 7.19.0)
-<p class="level0"><a name="83"></a><span class="nroffip">83</span>
-<p class="level1">Issuer check failed (added in 7.19.0)
-<p class="level0"><a name="XX"></a><span class="nroffip">XX</span>
-<p class="level1">There will appear more error codes here in future releases. The existing ones are meant to never change. <a name="AUTHORS"></a><h2 class="nroffsh">AUTHORS / CONTRIBUTORS</h2>
-<p class="level0">Daniel Stenberg is the main author, but the whole list of contributors is found in the separate THANKS file. <a name="WWW"></a><h2 class="nroffsh">WWW</h2>
-<p class="level0"><a href="http://curl.haxx.se">http://curl.haxx.se</a> <a name="FTP"></a><h2 class="nroffsh">FTP</h2>
-<p class="level0"><a href="ftp://ftp.sunet.se/pub/www/utilities/curl/">ftp://ftp.sunet.se/pub/www/utilities/curl/</a> <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">ftp (1)</span> <span Class="manpage">wget (1)</span>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/curl.pdf b/Utilities/cmcurl-7.19.0/docs/curl.pdf
deleted file mode 100644
index 8487c98..0000000
--- a/Utilities/cmcurl-7.19.0/docs/curl.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/10-at-a-time.c b/Utilities/cmcurl-7.19.0/docs/examples/10-at-a-time.c
deleted file mode 100644
index 13ff196..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/10-at-a-time.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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, MAX);
-
- for (C = 0; C < MAX; ++C) {
- init(cm, C);
- }
-
- while (U) {
- while (CURLM_CALL_MULTI_PERFORM == 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/Utilities/cmcurl-7.19.0/docs/examples/CMakeLists.txt b/Utilities/cmcurl-7.19.0/docs/examples/CMakeLists.txt
deleted file mode 100644
index 7229903..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/CMakeLists.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-set(CURL_EXAMPLES
- 10-at-a-time
- anyauthput
- cookie_interface
- debug
- fileupload
- fopen
- ftpget
- ftpgetresp
- ftpupload
- getinfo
- getinmemory
- http-post
- httpcustomheader
- https
- post-callback
- postit2
- sendrecv
- simple
- simplepost
- simplessl)
-
-if(NOT WIN32)
- set(CURL_EXAMPLES ${CURL_EXAMPLES}
- httpput
- multi-debugcallback
- multi-double
- multi-post
- multi-single
- persistant
- sepheaders
- multi-app )
-endif(NOT WIN32)
-
-foreach(EXAMPLE ${CURL_EXAMPLES})
- add_executable(${EXAMPLE} ${EXAMPLE}.c)
- target_link_libraries(${EXAMPLE} cmcurl)
-endforeach(EXAMPLE)
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.am b/Utilities/cmcurl-7.19.0/docs/examples/Makefile.am
deleted file mode 100644
index 886e8ad..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# $Id$
-#
-
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \
- 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include
-
-LIBDIR = $(top_builddir)/lib
-
-if STATICLIB
-# we need this define when building with a static lib on Windows
-STATICCPPFLAGS = -DCURL_STATICLIB
-endif
-
-CPPFLAGS = -DCURL_NO_OLDIES $(STATICCPPFLAGS)
-
-# Dependencies
-LDADD = $(LIBDIR)/libcurl.la
-
-# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
-include Makefile.inc
-
-
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.example b/Utilities/cmcurl-7.19.0/docs/examples/Makefile.example
deleted file mode 100644
index 7afe04c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.example
+++ /dev/null
@@ -1,41 +0,0 @@
-#############################################################################
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# $Id$
-#
-
-# 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/Utilities/cmcurl-7.19.0/docs/examples/Makefile.in b/Utilities/cmcurl-7.19.0/docs/examples/Makefile.in
deleted file mode 100644
index e96416d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.in
+++ /dev/null
@@ -1,748 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-#
-# $Id$
-#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-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)
-subdir = docs/examples
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_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)
-10_at_a_time_DEPENDENCIES = $(LIBDIR)/libcurl.la
-anyauthput_SOURCES = anyauthput.c
-anyauthput_OBJECTS = anyauthput.$(OBJEXT)
-anyauthput_LDADD = $(LDADD)
-anyauthput_DEPENDENCIES = $(LIBDIR)/libcurl.la
-cookie_interface_SOURCES = cookie_interface.c
-cookie_interface_OBJECTS = cookie_interface.$(OBJEXT)
-cookie_interface_LDADD = $(LDADD)
-cookie_interface_DEPENDENCIES = $(LIBDIR)/libcurl.la
-debug_SOURCES = debug.c
-debug_OBJECTS = debug.$(OBJEXT)
-debug_LDADD = $(LDADD)
-debug_DEPENDENCIES = $(LIBDIR)/libcurl.la
-fileupload_SOURCES = fileupload.c
-fileupload_OBJECTS = fileupload.$(OBJEXT)
-fileupload_LDADD = $(LDADD)
-fileupload_DEPENDENCIES = $(LIBDIR)/libcurl.la
-fopen_SOURCES = fopen.c
-fopen_OBJECTS = fopen.$(OBJEXT)
-fopen_LDADD = $(LDADD)
-fopen_DEPENDENCIES = $(LIBDIR)/libcurl.la
-ftpget_SOURCES = ftpget.c
-ftpget_OBJECTS = ftpget.$(OBJEXT)
-ftpget_LDADD = $(LDADD)
-ftpget_DEPENDENCIES = $(LIBDIR)/libcurl.la
-ftpgetresp_SOURCES = ftpgetresp.c
-ftpgetresp_OBJECTS = ftpgetresp.$(OBJEXT)
-ftpgetresp_LDADD = $(LDADD)
-ftpgetresp_DEPENDENCIES = $(LIBDIR)/libcurl.la
-ftpupload_SOURCES = ftpupload.c
-ftpupload_OBJECTS = ftpupload.$(OBJEXT)
-ftpupload_LDADD = $(LDADD)
-ftpupload_DEPENDENCIES = $(LIBDIR)/libcurl.la
-getinfo_SOURCES = getinfo.c
-getinfo_OBJECTS = getinfo.$(OBJEXT)
-getinfo_LDADD = $(LDADD)
-getinfo_DEPENDENCIES = $(LIBDIR)/libcurl.la
-getinmemory_SOURCES = getinmemory.c
-getinmemory_OBJECTS = getinmemory.$(OBJEXT)
-getinmemory_LDADD = $(LDADD)
-getinmemory_DEPENDENCIES = $(LIBDIR)/libcurl.la
-http_post_SOURCES = http-post.c
-http_post_OBJECTS = http-post.$(OBJEXT)
-http_post_LDADD = $(LDADD)
-http_post_DEPENDENCIES = $(LIBDIR)/libcurl.la
-httpcustomheader_SOURCES = httpcustomheader.c
-httpcustomheader_OBJECTS = httpcustomheader.$(OBJEXT)
-httpcustomheader_LDADD = $(LDADD)
-httpcustomheader_DEPENDENCIES = $(LIBDIR)/libcurl.la
-httpput_SOURCES = httpput.c
-httpput_OBJECTS = httpput.$(OBJEXT)
-httpput_LDADD = $(LDADD)
-httpput_DEPENDENCIES = $(LIBDIR)/libcurl.la
-https_SOURCES = https.c
-https_OBJECTS = https.$(OBJEXT)
-https_LDADD = $(LDADD)
-https_DEPENDENCIES = $(LIBDIR)/libcurl.la
-multi_app_SOURCES = multi-app.c
-multi_app_OBJECTS = multi-app.$(OBJEXT)
-multi_app_LDADD = $(LDADD)
-multi_app_DEPENDENCIES = $(LIBDIR)/libcurl.la
-multi_debugcallback_SOURCES = multi-debugcallback.c
-multi_debugcallback_OBJECTS = multi-debugcallback.$(OBJEXT)
-multi_debugcallback_LDADD = $(LDADD)
-multi_debugcallback_DEPENDENCIES = $(LIBDIR)/libcurl.la
-multi_double_SOURCES = multi-double.c
-multi_double_OBJECTS = multi-double.$(OBJEXT)
-multi_double_LDADD = $(LDADD)
-multi_double_DEPENDENCIES = $(LIBDIR)/libcurl.la
-multi_post_SOURCES = multi-post.c
-multi_post_OBJECTS = multi-post.$(OBJEXT)
-multi_post_LDADD = $(LDADD)
-multi_post_DEPENDENCIES = $(LIBDIR)/libcurl.la
-multi_single_SOURCES = multi-single.c
-multi_single_OBJECTS = multi-single.$(OBJEXT)
-multi_single_LDADD = $(LDADD)
-multi_single_DEPENDENCIES = $(LIBDIR)/libcurl.la
-persistant_SOURCES = persistant.c
-persistant_OBJECTS = persistant.$(OBJEXT)
-persistant_LDADD = $(LDADD)
-persistant_DEPENDENCIES = $(LIBDIR)/libcurl.la
-post_callback_SOURCES = post-callback.c
-post_callback_OBJECTS = post-callback.$(OBJEXT)
-post_callback_LDADD = $(LDADD)
-post_callback_DEPENDENCIES = $(LIBDIR)/libcurl.la
-postit2_SOURCES = postit2.c
-postit2_OBJECTS = postit2.$(OBJEXT)
-postit2_LDADD = $(LDADD)
-postit2_DEPENDENCIES = $(LIBDIR)/libcurl.la
-sendrecv_SOURCES = sendrecv.c
-sendrecv_OBJECTS = sendrecv.$(OBJEXT)
-sendrecv_LDADD = $(LDADD)
-sendrecv_DEPENDENCIES = $(LIBDIR)/libcurl.la
-sepheaders_SOURCES = sepheaders.c
-sepheaders_OBJECTS = sepheaders.$(OBJEXT)
-sepheaders_LDADD = $(LDADD)
-sepheaders_DEPENDENCIES = $(LIBDIR)/libcurl.la
-simple_SOURCES = simple.c
-simple_OBJECTS = simple.$(OBJEXT)
-simple_LDADD = $(LDADD)
-simple_DEPENDENCIES = $(LIBDIR)/libcurl.la
-simplepost_SOURCES = simplepost.c
-simplepost_OBJECTS = simplepost.$(OBJEXT)
-simplepost_LDADD = $(LDADD)
-simplepost_DEPENDENCIES = $(LIBDIR)/libcurl.la
-simplessl_SOURCES = simplessl.c
-simplessl_OBJECTS = simplessl.$(OBJEXT)
-simplessl_LDADD = $(LDADD)
-simplessl_DEPENDENCIES = $(LIBDIR)/libcurl.la
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = 10-at-a-time.c anyauthput.c cookie_interface.c debug.c \
- fileupload.c fopen.c ftpget.c ftpgetresp.c ftpupload.c \
- getinfo.c getinmemory.c http-post.c httpcustomheader.c \
- httpput.c https.c multi-app.c multi-debugcallback.c \
- multi-double.c multi-post.c multi-single.c persistant.c \
- post-callback.c postit2.c sendrecv.c sepheaders.c simple.c \
- simplepost.c simplessl.c
-DIST_SOURCES = 10-at-a-time.c anyauthput.c cookie_interface.c debug.c \
- fileupload.c fopen.c ftpget.c ftpgetresp.c ftpupload.c \
- getinfo.c getinmemory.c http-post.c httpcustomheader.c \
- httpput.c https.c multi-app.c multi-debugcallback.c \
- multi-double.c multi-post.c multi-single.c persistant.c \
- post-callback.c postit2.c sendrecv.c sepheaders.c simple.c \
- simplepost.c simplessl.c
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = -DCURL_NO_OLDIES $(STATICCPPFLAGS)
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-AUTOMAKE_OPTIONS = foreign nostdinc
-EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \
- 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include
-
-LIBDIR = $(top_builddir)/lib
-
-# we need this define when building with a static lib on Windows
-@STATICLIB_TRUE@STATICCPPFLAGS = -DCURL_STATICLIB
-
-# Dependencies
-LDADD = $(LIBDIR)/libcurl.la
-
-# 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.cc cacertinmem.c ftpuploadresume.c \
- ghiper.c hiperfifo.c htmltidy.c multithread.c \
- opensslthreadlock.c sampleconv.c synctime.c threaded-ssl.c
-
-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 \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/examples/Makefile'; \
- 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;
-
-$(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
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-10-at-a-time$(EXEEXT): $(10_at_a_time_OBJECTS) $(10_at_a_time_DEPENDENCIES)
- @rm -f 10-at-a-time$(EXEEXT)
- $(LINK) $(10_at_a_time_LDFLAGS) $(10_at_a_time_OBJECTS) $(10_at_a_time_LDADD) $(LIBS)
-anyauthput$(EXEEXT): $(anyauthput_OBJECTS) $(anyauthput_DEPENDENCIES)
- @rm -f anyauthput$(EXEEXT)
- $(LINK) $(anyauthput_LDFLAGS) $(anyauthput_OBJECTS) $(anyauthput_LDADD) $(LIBS)
-cookie_interface$(EXEEXT): $(cookie_interface_OBJECTS) $(cookie_interface_DEPENDENCIES)
- @rm -f cookie_interface$(EXEEXT)
- $(LINK) $(cookie_interface_LDFLAGS) $(cookie_interface_OBJECTS) $(cookie_interface_LDADD) $(LIBS)
-debug$(EXEEXT): $(debug_OBJECTS) $(debug_DEPENDENCIES)
- @rm -f debug$(EXEEXT)
- $(LINK) $(debug_LDFLAGS) $(debug_OBJECTS) $(debug_LDADD) $(LIBS)
-fileupload$(EXEEXT): $(fileupload_OBJECTS) $(fileupload_DEPENDENCIES)
- @rm -f fileupload$(EXEEXT)
- $(LINK) $(fileupload_LDFLAGS) $(fileupload_OBJECTS) $(fileupload_LDADD) $(LIBS)
-fopen$(EXEEXT): $(fopen_OBJECTS) $(fopen_DEPENDENCIES)
- @rm -f fopen$(EXEEXT)
- $(LINK) $(fopen_LDFLAGS) $(fopen_OBJECTS) $(fopen_LDADD) $(LIBS)
-ftpget$(EXEEXT): $(ftpget_OBJECTS) $(ftpget_DEPENDENCIES)
- @rm -f ftpget$(EXEEXT)
- $(LINK) $(ftpget_LDFLAGS) $(ftpget_OBJECTS) $(ftpget_LDADD) $(LIBS)
-ftpgetresp$(EXEEXT): $(ftpgetresp_OBJECTS) $(ftpgetresp_DEPENDENCIES)
- @rm -f ftpgetresp$(EXEEXT)
- $(LINK) $(ftpgetresp_LDFLAGS) $(ftpgetresp_OBJECTS) $(ftpgetresp_LDADD) $(LIBS)
-ftpupload$(EXEEXT): $(ftpupload_OBJECTS) $(ftpupload_DEPENDENCIES)
- @rm -f ftpupload$(EXEEXT)
- $(LINK) $(ftpupload_LDFLAGS) $(ftpupload_OBJECTS) $(ftpupload_LDADD) $(LIBS)
-getinfo$(EXEEXT): $(getinfo_OBJECTS) $(getinfo_DEPENDENCIES)
- @rm -f getinfo$(EXEEXT)
- $(LINK) $(getinfo_LDFLAGS) $(getinfo_OBJECTS) $(getinfo_LDADD) $(LIBS)
-getinmemory$(EXEEXT): $(getinmemory_OBJECTS) $(getinmemory_DEPENDENCIES)
- @rm -f getinmemory$(EXEEXT)
- $(LINK) $(getinmemory_LDFLAGS) $(getinmemory_OBJECTS) $(getinmemory_LDADD) $(LIBS)
-http-post$(EXEEXT): $(http_post_OBJECTS) $(http_post_DEPENDENCIES)
- @rm -f http-post$(EXEEXT)
- $(LINK) $(http_post_LDFLAGS) $(http_post_OBJECTS) $(http_post_LDADD) $(LIBS)
-httpcustomheader$(EXEEXT): $(httpcustomheader_OBJECTS) $(httpcustomheader_DEPENDENCIES)
- @rm -f httpcustomheader$(EXEEXT)
- $(LINK) $(httpcustomheader_LDFLAGS) $(httpcustomheader_OBJECTS) $(httpcustomheader_LDADD) $(LIBS)
-httpput$(EXEEXT): $(httpput_OBJECTS) $(httpput_DEPENDENCIES)
- @rm -f httpput$(EXEEXT)
- $(LINK) $(httpput_LDFLAGS) $(httpput_OBJECTS) $(httpput_LDADD) $(LIBS)
-https$(EXEEXT): $(https_OBJECTS) $(https_DEPENDENCIES)
- @rm -f https$(EXEEXT)
- $(LINK) $(https_LDFLAGS) $(https_OBJECTS) $(https_LDADD) $(LIBS)
-multi-app$(EXEEXT): $(multi_app_OBJECTS) $(multi_app_DEPENDENCIES)
- @rm -f multi-app$(EXEEXT)
- $(LINK) $(multi_app_LDFLAGS) $(multi_app_OBJECTS) $(multi_app_LDADD) $(LIBS)
-multi-debugcallback$(EXEEXT): $(multi_debugcallback_OBJECTS) $(multi_debugcallback_DEPENDENCIES)
- @rm -f multi-debugcallback$(EXEEXT)
- $(LINK) $(multi_debugcallback_LDFLAGS) $(multi_debugcallback_OBJECTS) $(multi_debugcallback_LDADD) $(LIBS)
-multi-double$(EXEEXT): $(multi_double_OBJECTS) $(multi_double_DEPENDENCIES)
- @rm -f multi-double$(EXEEXT)
- $(LINK) $(multi_double_LDFLAGS) $(multi_double_OBJECTS) $(multi_double_LDADD) $(LIBS)
-multi-post$(EXEEXT): $(multi_post_OBJECTS) $(multi_post_DEPENDENCIES)
- @rm -f multi-post$(EXEEXT)
- $(LINK) $(multi_post_LDFLAGS) $(multi_post_OBJECTS) $(multi_post_LDADD) $(LIBS)
-multi-single$(EXEEXT): $(multi_single_OBJECTS) $(multi_single_DEPENDENCIES)
- @rm -f multi-single$(EXEEXT)
- $(LINK) $(multi_single_LDFLAGS) $(multi_single_OBJECTS) $(multi_single_LDADD) $(LIBS)
-persistant$(EXEEXT): $(persistant_OBJECTS) $(persistant_DEPENDENCIES)
- @rm -f persistant$(EXEEXT)
- $(LINK) $(persistant_LDFLAGS) $(persistant_OBJECTS) $(persistant_LDADD) $(LIBS)
-post-callback$(EXEEXT): $(post_callback_OBJECTS) $(post_callback_DEPENDENCIES)
- @rm -f post-callback$(EXEEXT)
- $(LINK) $(post_callback_LDFLAGS) $(post_callback_OBJECTS) $(post_callback_LDADD) $(LIBS)
-postit2$(EXEEXT): $(postit2_OBJECTS) $(postit2_DEPENDENCIES)
- @rm -f postit2$(EXEEXT)
- $(LINK) $(postit2_LDFLAGS) $(postit2_OBJECTS) $(postit2_LDADD) $(LIBS)
-sendrecv$(EXEEXT): $(sendrecv_OBJECTS) $(sendrecv_DEPENDENCIES)
- @rm -f sendrecv$(EXEEXT)
- $(LINK) $(sendrecv_LDFLAGS) $(sendrecv_OBJECTS) $(sendrecv_LDADD) $(LIBS)
-sepheaders$(EXEEXT): $(sepheaders_OBJECTS) $(sepheaders_DEPENDENCIES)
- @rm -f sepheaders$(EXEEXT)
- $(LINK) $(sepheaders_LDFLAGS) $(sepheaders_OBJECTS) $(sepheaders_LDADD) $(LIBS)
-simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES)
- @rm -f simple$(EXEEXT)
- $(LINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
-simplepost$(EXEEXT): $(simplepost_OBJECTS) $(simplepost_DEPENDENCIES)
- @rm -f simplepost$(EXEEXT)
- $(LINK) $(simplepost_LDFLAGS) $(simplepost_OBJECTS) $(simplepost_LDADD) $(LIBS)
-simplessl$(EXEEXT): $(simplessl_OBJECTS) $(simplessl_DEPENDENCIES)
- @rm -f simplessl$(EXEEXT)
- $(LINK) $(simplessl_LDFLAGS) $(simplessl_OBJECTS) $(simplessl_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)/cookie_interface.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.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)/ftpget.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpgetresp.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)/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)/post-callback.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postit2.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)/simple.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplepost.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplessl.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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: uninstall-info-am
-
-.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-exec install-exec-am install-info \
- install-info-am install-man 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 uninstall-info-am
-
-
-# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
-# 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/Utilities/cmcurl-7.19.0/docs/examples/Makefile.inc b/Utilities/cmcurl-7.19.0/docs/examples/Makefile.inc
deleted file mode 100644
index 68b66c3..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.inc
+++ /dev/null
@@ -1,17 +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
-
-# 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.cc cacertinmem.c ftpuploadresume.c \
- ghiper.c hiperfifo.c htmltidy.c multithread.c \
- opensslthreadlock.c sampleconv.c synctime.c threaded-ssl.c
-
-
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.m32 b/Utilities/cmcurl-7.19.0/docs/examples/Makefile.m32
deleted file mode 100644
index 5107c04..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/Makefile.m32
+++ /dev/null
@@ -1,134 +0,0 @@
-#########################################################################
-# $Id$
-#
-## Makefile for building curl examples with MingW32
-## and optionally OpenSSL (0.9.8), libssh2 (0.18), zlib (1.2.3)
-##
-## Usage:
-## mingw32-make -f Makefile.m32 [SSL=1] [SSH2=1] [ZLIB=1] [SSPI=1] [IPV6=1] [DYN=1]
-##
-## Hint: you can also set environment vars to control the build, f.e.:
-## set ZLIB_PATH=c:/zlib-1.2.3
-## set ZLIB=1
-##
-#########################################################################
-
-# Edit the path below to point to the base of your Zlib sources.
-ifndef ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-endif
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-endif
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../libssh2-0.18
-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 = ../..
-ARES_LIB = $(PROOT)/ares
-
-SSL = 1
-ZLIB = 1
-
-CC = gcc
-CFLAGS = -g -O2 -Wall
-# comment LDFLAGS below to keep debug info
-LDFLAGS = -s
-RC = windres
-RCFLAGS = --include-dir=$(PROOT)/include -O COFF -i
-RM = del /q /f > NUL 2>&1
-CP = copy
-
-########################################################
-## Nothing more to do below this line!
-
-INCLUDES = -I. -I$(PROOT) -I$(PROOT)/include -I$(PROOT)/lib
-LINK = $(CC) $(LDFLAGS) -o $@
-
-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
-endif
-ifdef ARES
- ifndef DYN
- curl_DEPENDENCIES += $(ARES_LIB)/libcares.a
- endif
- CFLAGS += -DUSE_ARES
- curl_LDADD += -L$(ARES_LIB) -lcares
-endif
-ifdef SSH2
- CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H
- curl_LDADD += -L$(LIBSSH2_PATH)/win32 -lssh2
-endif
-ifdef SSL
- INCLUDES += -I"$(OPENSSL_PATH)/outinc"
- CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H
- ifdef DYN
- curl_LDADD += -L$(OPENSSL_PATH)/out -leay32 -lssl32
- else
- curl_LDADD += -L$(OPENSSL_PATH)/out -lssl -lcrypto -lgdi32
- endif
-endif
-ifdef ZLIB
- INCLUDES += -I"$(ZLIB_PATH)"
- CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H
- curl_LDADD += -L$(ZLIB_PATH) -lz
-endif
-ifdef SSPI
- CFLAGS += -DUSE_WINDOWS_SSPI
-endif
-ifdef IPV6
- CFLAGS += -DENABLE_IPV6
-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
-COMPILE = $(CC) $(INCLUDES) $(CFLAGS)
-
-# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
-include Makefile.inc
-
-example_PROGRAMS := $(patsubst %,%.exe,$(strip $(check_PROGRAMS)))
-
-.SUFFIXES: .rc .res .o .exe
-
-
-all: $(example_PROGRAMS)
-
-.o.exe: $(curl_DEPENDENCIES)
- $(LINK) $< $(curl_LDADD)
-
-.c.o:
- $(COMPILE) -c $<
-
-.rc.res:
- $(RC) $(RCFLAGS) $< -o $@
-
-clean:
- $(RM) $(example_PROGRAMS)
-
-
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/README b/Utilities/cmcurl-7.19.0/docs/examples/README
deleted file mode 100644
index d6c4785..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/README
+++ /dev/null
@@ -1,76 +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
-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
-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
-10-at-a-time.c - Download many files simultaneously, 10 at a time.
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/anyauthput.c b/Utilities/cmcurl-7.19.0/docs/examples/anyauthput.c
deleted file mode 100644
index 11c9d3c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/anyauthput.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-#include <fcntl.h>
-#ifdef WIN32
-# include <io.h>
-#else
-# include <stdint.h>
-# 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
-
-/*
- * 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;
-
- intptr_t fd = (intptr_t)stream;
-
- retcode = read(fd, ptr, size * nmemb);
-
- fprintf(stderr, "*** We read %d bytes from file\n", retcode);
-
- 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);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- close(hd); /* close the local file */
-
- curl_global_cleanup();
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/cacertinmem.c b/Utilities/cmcurl-7.19.0/docs/examples/cacertinmem.c
deleted file mode 100644
index 78809ae..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/cacertinmem.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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.cacert.org/");
-
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/cookie_interface.c b/Utilities/cmcurl-7.19.0/docs/examples/cookie_interface.c
deleted file mode 100644
index 51b3242..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/cookie_interface.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * 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.google.com/"); /* google.com sets "PREF" cookie */
- 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", time(NULL) + 31337, "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/Utilities/cmcurl-7.19.0/docs/examples/curlgtk.c b/Utilities/cmcurl-7.19.0/docs/examples/curlgtk.c
deleted file mode 100644
index 2327929..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/curlgtk.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-/* 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>
-#include <curl/types.h> /* new for v7 */
-#include <curl/easy.h> /* new for v7 */
-
-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/Utilities/cmcurl-7.19.0/docs/examples/curlx.c b/Utilities/cmcurl-7.19.0/docs/examples/curlx.c
deleted file mode 100644
index bd19286..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/curlx.c
+++ /dev/null
@@ -1,514 +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(ctx->cert_store,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=(char*)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=(char*) 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=(char*) 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_FILE,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=(char*)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/Utilities/cmcurl-7.19.0/docs/examples/debug.c b/Utilities/cmcurl-7.19.0/docs/examples/debug.c
deleted file mode 100644
index 543a565..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/debug.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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, %zd bytes (0x%zx)\n", text, size, size);
-
- for(i=0; i<size; i+= width) {
-
- fprintf(stream, "%04zx: ", 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);
-
- curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se");
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/fileupload.c b/Utilities/cmcurl-7.19.0/docs/examples/fileupload.c
deleted file mode 100644
index cb88ef6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/fileupload.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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 */
- }
-
- stat("debugit", &file_info); /* to get the file size */
-
- 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);
-
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/fopen.c b/Utilities/cmcurl-7.19.0/docs/examples/fopen.c
deleted file mode 100644
index 0a9e9e3..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/fopen.c
+++ /dev/null
@@ -1,566 +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.
- *
- * Coyright (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*/
- int buffer_len; /* currently allocated buffers length */
- int 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, int 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;
- int 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;
-
- /*printf("Callback buffer grown to %d bytes\n",url->buffer_len);*/
- }
- }
-
- memcpy(&url->buffer[url->buffer_pos], buffer, size);
- url->buffer_pos += size;
-
- /*fprintf(stderr, "callback %d size bytes\n", size);*/
-
- return size;
-}
-
-/* use to attempt to fill the read buffer up to requested number of bytes */
-static int
-fill_buffer(URL_FILE *file,int want,int waittime)
-{
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
- 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
- {
- 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;
-
- /* 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, *and* you make sure that maxfd is bigger than -1
- so that the call to select() below makes sense! */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
-
- case 0:
- break;
-
- default:
- /* timeout or readable/writable sockets */
- /* note we *could* be more efficient and not wait for
- * CURLM_CALL_MULTI_PERFORM to clear here and check it on re-entry
- * but that gets messy */
- while(curl_multi_perform(multi_handle, &file->still_running) ==
- CURLM_CALL_MULTI_PERFORM);
-
- 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 = (URL_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 */
- while(curl_multi_perform(multi_handle, &file->still_running) ==
- CURLM_CALL_MULTI_PERFORM );
-
- 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,1);
-
- /* 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 - nb correct op - checked
- * with glibc code*/
-
- /*printf("(fread) return %d bytes %d left\n", want,file->buffer_pos);*/
- break;
-
- default: /* unknown or supported type - oh dear */
- want=0;
- errno=EBADF;
- break;
-
- }
- return want;
-}
-
-char *
-url_fgets(char *ptr, int size, URL_FILE *file)
-{
- int want = size - 1;/* always need to leave room for zero termination */
- int loop;
-
- switch(file->type)
- {
- case CFTYPE_FILE:
- ptr = fgets(ptr,size,file->handle.file);
- break;
-
- case CFTYPE_CURL:
- fill_buffer(file,want,1);
-
- /* 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);
-
- /*printf("(fgets) return %d bytes %d left\n", want,file->buffer_pos);*/
- 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/Utilities/cmcurl-7.19.0/docs/examples/ftpget.c b/Utilities/cmcurl-7.19.0/docs/examples/ftpget.c
deleted file mode 100644
index 179fd61..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/ftpget.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-
-#include <curl/curl.h>
-#include <curl/types.h>
-#include <curl/easy.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) {
- /*
- * Get curl 7.9.2 from sunet.se's FTP site. curl 7.9.2 is most likely not
- * present there by the time you read this, so you'd better replace the
- * URL with one that works!
- */
- curl_easy_setopt(curl, CURLOPT_URL,
- "ftp://ftp.sunet.se/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/Utilities/cmcurl-7.19.0/docs/examples/ftpgetresp.c b/Utilities/cmcurl-7.19.0/docs/examples/ftpgetresp.c
deleted file mode 100644
index 31c1f42..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/ftpgetresp.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-
-#include <curl/curl.h>
-#include <curl/types.h>
-#include <curl/easy.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(int argc, char **argv)
-{
- 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.sunet.se/");
- 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);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- fclose(ftpfile); /* close the local file */
- fclose(respfile); /* close the response file */
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/ftpupload.c b/Utilities/cmcurl-7.19.0/docs/examples/ftpupload.c
deleted file mode 100644
index 76fc92e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/ftpupload.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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://localhost/" 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)
-{
- /* 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);
-
- fprintf(stderr, "*** We read %d bytes from file\n", retcode);
- return retcode;
-}
-
-int main(int argc, char **argv)
-{
- CURL *curl;
- CURLcode res;
- FILE *hd_src;
- struct stat file_info;
-
- 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;
- }
- printf("Local file size: %ld bytes.\n", file_info.st_size);
-
- /* 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)file_info.st_size);
-
- /* Now run off and do what you've been told! */
- res = curl_easy_perform(curl);
-
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/ftpuploadresume.c b/Utilities/cmcurl-7.19.0/docs/examples/ftpuploadresume.c
deleted file mode 100644
index 362711c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/ftpuploadresume.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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++ */
-#ifdef __MINGW32__
-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@host/path/file", "C:\\file", 0, 3);
-
- curl_easy_cleanup(curlhandle);
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/getinfo.c b/Utilities/cmcurl-7.19.0/docs/examples/getinfo.c
deleted file mode 100644
index eb0cae3..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/getinfo.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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, "curl.haxx.se");
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/getinmemory.c b/Utilities/cmcurl-7.19.0/docs/examples/getinmemory.c
deleted file mode 100644
index fc1f87a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/getinmemory.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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.
- *
- * This exact source code has not been verified to work.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <curl/curl.h>
-#include <curl/types.h>
-#include <curl/easy.h>
-
-struct MemoryStruct {
- char *memory;
- size_t size;
-};
-
-static void *myrealloc(void *ptr, size_t size)
-{
- /* There might be a realloc() out there that doesn't like reallocing
- NULL pointers, so we take care of it here */
- if(ptr)
- return realloc(ptr, size);
- else
- return malloc(size);
-}
-
-static size_t
-WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
-{
- size_t realsize = size * nmemb;
- struct MemoryStruct *mem = (struct MemoryStruct *)data;
-
- mem->memory = (char *)myrealloc(mem->memory, mem->size + realsize + 1);
- if (mem->memory) {
- memcpy(&(mem->memory[mem->size]), ptr, realsize);
- mem->size += realsize;
- mem->memory[mem->size] = 0;
- }
- return realsize;
-}
-
-int main(int argc, char **argv)
-{
- CURL *curl_handle;
-
- struct MemoryStruct chunk;
-
- chunk.memory=NULL; /* we expect realloc(NULL, size) to work */
- 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://cool.haxx.se/");
-
- /* 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.
- */
-
- if(chunk.memory)
- free(chunk.memory);
-
- /* we're done with libcurl, so clean it up */
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/ghiper.c b/Utilities/cmcurl-7.19.0/docs/examples/ghiper.c
deleted file mode 100644
index a9b695e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/ghiper.c
+++ /dev/null
@@ -1,461 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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 prev_running;
- int still_running;
- int requested; /* count: curl_easy_init() */
- int completed; /* count: curl_easy_cleanup() */
-} 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_OK: s="CURLM_OK"; 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_run_count(GlobalInfo *g)
-{
- if (g->prev_running > g->still_running) {
- char *eff_url=NULL;
- CURLMsg *msg;
- int msgs_left;
- ConnInfo *conn=NULL;
- CURL*easy;
- CURLcode res;
-
- MSG_OUT("REMAINING: %d\n", g->still_running);
- /*
- I am still uncertain whether it is safe to remove an easy handle
- from inside the curl_multi_info_read loop, so here I will search
- for completed transfers in the inner "while" loop, and then remove
- them in the outer "do-while" loop...
- */
- do {
- easy=NULL;
- while ((msg = curl_multi_info_read(g->multi, &msgs_left))) {
- if (msg->msg == CURLMSG_DONE) {
- easy=msg->easy_handle;
- res=msg->data.result;
- break;
- }
- }
- if (easy) {
- 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);
- g_free(conn->url);
- curl_easy_cleanup(easy);
- g_free(conn);
- g->completed++;
- }
- } while ( easy );
- MSG_OUT("Requested: %d Completed:%d\n", g->requested, g->completed);
- }
- g->prev_running = g->still_running;
-}
-
-
-
-
-/* Called by glib when our timeout expires */
-static gboolean timer_cb(gpointer data)
-{
- GlobalInfo *g = (GlobalInfo *)data;
- CURLMcode rc;
-
- do {
- rc = curl_multi_socket(g->multi, CURL_SOCKET_TIMEOUT, &g->still_running);
- } while (rc == CURLM_CALL_MULTI_PERFORM);
- mcode_or_die("timer_cb: curl_multi_socket", rc);
- check_run_count(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);
- do {
- rc = curl_multi_socket(g->multi, fd, &g->still_running);
- } while (rc == CURLM_CALL_MULTI_PERFORM);
- mcode_or_die("event_cb: curl_multi_socket", rc);
- check_run_count(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);
- g->requested++;
- do {
- rc = curl_multi_socket_all(g->multi, &g->still_running);
- } while (CURLM_CALL_MULTI_PERFORM == rc);
- mcode_or_die("new_conn: curl_multi_socket_all", rc);
- check_run_count(g);
-}
-
-
-/* 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);
- do {
- rc = curl_multi_socket_all(g->multi, &g->still_running);
- } while (CURLM_CALL_MULTI_PERFORM == rc);
- g_main_loop_run(gmain);
- curl_multi_cleanup(g->multi);
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/hiperfifo.c b/Utilities/cmcurl-7.19.0/docs/examples/hiperfifo.c
deleted file mode 100644
index 95ca8ad..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/hiperfifo.c
+++ /dev/null
@@ -1,422 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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 prev_running;
- 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_OK: s="CURLM_OK"; 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_run_count(GlobalInfo *g)
-{
- if (g->prev_running > g->still_running) {
- char *eff_url=NULL;
- CURLMsg *msg;
- int msgs_left;
- ConnInfo *conn=NULL;
- CURL*easy;
- CURLcode res;
-
- fprintf(MSG_OUT, "REMAINING: %d\n", g->still_running);
- /*
- I am still uncertain whether it is safe to remove an easy handle
- from inside the curl_multi_info_read loop, so here I will search
- for completed transfers in the inner "while" loop, and then remove
- them in the outer "do-while" loop...
- */
- do {
- easy=NULL;
- while ((msg = curl_multi_info_read(g->multi, &msgs_left))) {
- if (msg->msg == CURLMSG_DONE) {
- easy=msg->easy_handle;
- res=msg->data.result;
- break;
- }
- }
- if (easy) {
- 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);
- }
- } while ( easy );
- }
- g->prev_running = g->still_running;
-}
-
-
-
-/* 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;
- (void)kind; /* unused */
-
- do {
- rc = curl_multi_socket(g->multi, fd, &g->still_running);
- } while (rc == CURLM_CALL_MULTI_PERFORM);
- mcode_or_die("event_cb: curl_multi_socket", rc);
- check_run_count(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;
-
- do {
- rc = curl_multi_socket(g->multi, CURL_SOCKET_TIMEOUT, &g->still_running);
- } while (rc == CURLM_CALL_MULTI_PERFORM);
- mcode_or_die("timer_cb: curl_multi_socket", rc);
- check_run_count(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);
- do {
- rc = curl_multi_socket_all(g->multi, &g->still_running);
- } while (CURLM_CALL_MULTI_PERFORM == rc);
- mcode_or_die("new_conn: curl_multi_socket_all", rc);
- check_run_count(g);
-}
-
-/* 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";
- int 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;
- CURLMcode rc;
- (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);
- 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);
- do {
- rc = curl_multi_socket_all(g.multi, &g.still_running);
- } while (CURLM_CALL_MULTI_PERFORM == rc);
- event_dispatch();
- curl_multi_cleanup(g.multi);
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/htmltidy.c b/Utilities/cmcurl-7.19.0/docs/examples/htmltidy.c
deleted file mode 100644
index cd75401..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/htmltidy.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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/Utilities/cmcurl-7.19.0/docs/examples/htmltitle.cc b/Utilities/cmcurl-7.19.0/docs/examples/htmltitle.cc
deleted file mode 100644
index de7ff03..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/htmltitle.cc
+++ /dev/null
@@ -1,301 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-// 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;
- }
-}
-
-//
-// 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/Utilities/cmcurl-7.19.0/docs/examples/http-post.c b/Utilities/cmcurl-7.19.0/docs/examples/http-post.c
deleted file mode 100644
index 30ca353..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/http-post.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- 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);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/httpcustomheader.c b/Utilities/cmcurl-7.19.0/docs/examples/httpcustomheader.c
deleted file mode 100644
index 13e62e6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/httpcustomheader.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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");
-
- /* 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);
-
- /* redo request with our own custom Accept: */
- res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/httpput.c b/Utilities/cmcurl-7.19.0/docs/examples/httpput.c
deleted file mode 100644
index 585dfa2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/httpput.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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;
-
- /* 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);
-
- fprintf(stderr, "*** We read %d bytes from file\n", retcode);
-
- 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);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- fclose(hd_src); /* close the local file */
-
- curl_global_cleanup();
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/https.c b/Utilities/cmcurl-7.19.0/docs/examples/https.c
deleted file mode 100644
index e6b8e89..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/https.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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, "https://sourceforge.net/");
-
-#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
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/makefile.dj b/Utilities/cmcurl-7.19.0/docs/examples/makefile.dj
deleted file mode 100644
index 6bf99d8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/makefile.dj
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id$
-#
-# Adapted for djgpp / Watt-32 / DOS by
-# Gisle Vanem <giva@bgnett.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/Utilities/cmcurl-7.19.0/docs/examples/multi-app.c b/Utilities/cmcurl-7.19.0/docs/examples/multi-app.c
deleted file mode 100644
index a8a92ab..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/multi-app.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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(int argc, char **argv)
-{
- 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://website.com");
-
- curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_URL, "ftp://ftpsite.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 */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
-
- while(still_running) {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- 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;
-
- /* 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, *and* you make sure that maxfd is bigger than -1 so
- that the call to select() below makes sense! */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0:
- /* timeout, do something else */
- break;
- default:
- /* one or more of curl's file descriptors say there's data to read
- or write */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
- break;
- }
- }
-
- /* 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; (!found && (idx<HANDLECOUNT)); idx++) found = (msg->easy_handle == handles[idx]);
-
- 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/Utilities/cmcurl-7.19.0/docs/examples/multi-debugcallback.c b/Utilities/cmcurl-7.19.0/docs/examples/multi-debugcallback.c
deleted file mode 100644
index 6a7403a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/multi-debugcallback.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * This is a very simple example using 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, %zd bytes (0x%zx)\n", text, size, size);
-
- for(i=0; i<size; i+= width) {
-
- fprintf(stream, "%04zx: ", 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)
-{
- 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_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(int argc, char **argv)
-{
- 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.haxx.se/");
-
- 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 */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
-
- while(still_running) {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- 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;
-
- /* 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, *and* you make sure that maxfd is bigger than -1
- so that the call to select() below makes sense! */
-
- 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 */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
- break;
- }
- }
-
- curl_multi_cleanup(multi_handle);
-
- curl_easy_cleanup(http_handle);
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/multi-double.c b/Utilities/cmcurl-7.19.0/docs/examples/multi-double.c
deleted file mode 100644
index 0a4cde8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/multi-double.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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 two HTTP files!
- */
-int main(int argc, char **argv)
-{
- 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.haxx.se/");
-
- /* 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 */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
-
- while(still_running) {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- 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;
-
- /* 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, *and* you make sure that maxfd is bigger than -1 so
- that the call to select() below makes sense! */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0:
- default:
- /* timeout or readable/writable sockets */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
- break;
- }
- }
-
- curl_multi_cleanup(multi_handle);
-
- curl_easy_cleanup(http_handle);
- curl_easy_cleanup(http_handle2);
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/multi-post.c b/Utilities/cmcurl-7.19.0/docs/examples/multi-post.c
deleted file mode 100644
index 18973a9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/multi-post.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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(int argc, char *argv[])
-{
- 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.fillinyoururl.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);
-
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
-
- while(still_running) {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- 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;
-
- /* 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, *and* you make sure that maxfd is bigger than -1
- so that the call to select() below makes sense! */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0:
- printf("timeout!\n");
- default:
- /* timeout or readable/writable sockets */
- printf("perform!\n");
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
- printf("running: %d!\n", still_running);
- break;
- }
- }
-
- 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/Utilities/cmcurl-7.19.0/docs/examples/multi-single.c b/Utilities/cmcurl-7.19.0/docs/examples/multi-single.c
deleted file mode 100644
index b23f3c9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/multi-single.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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(int argc, char **argv)
-{
- 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.haxx.se/");
-
- /* 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 */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
-
- while(still_running) {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- 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;
-
- /* 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, *and* you make sure that maxfd is bigger than -1 so
- that the call to select() below makes sense! */
-
- 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 */
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi_handle, &still_running));
- break;
- }
- }
-
- curl_multi_cleanup(multi_handle);
-
- curl_easy_cleanup(http_handle);
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/multithread.c b/Utilities/cmcurl-7.19.0/docs/examples/multithread.c
deleted file mode 100644
index 939e9da..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/multithread.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-/* 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/Utilities/cmcurl-7.19.0/docs/examples/opensslthreadlock.c b/Utilities/cmcurl-7.19.0/docs/examples/opensslthreadlock.c
deleted file mode 100644
index 18a2f77..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/opensslthreadlock.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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 = (MUTEX_TYPE *)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/Utilities/cmcurl-7.19.0/docs/examples/persistant.c b/Utilities/cmcurl-7.19.0/docs/examples/persistant.c
deleted file mode 100644
index 3d75b9e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/persistant.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <curl/curl.h>
-
-int main(int argc, char **argv)
-{
- 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://curl.haxx.se/");
- res = curl_easy_perform(curl);
-
- /* get another document from the same server using the same
- connection */
- curl_easy_setopt(curl, CURLOPT_URL, "http://curl.haxx.se/docs/");
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/post-callback.c b/Utilities/cmcurl-7.19.0/docs/examples/post-callback.c
deleted file mode 100644
index ed89cac..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/post-callback.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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;
- int 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 = strlen(data);
-
- curl = curl_easy_init();
- if(curl) {
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL,
- "http://receivingsite.com.pooh/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, (curl_off_t)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);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/postit2.c b/Utilities/cmcurl-7.19.0/docs/examples/postit2.c
deleted file mode 100644
index 0660cc5..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/postit2.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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>
-#include <curl/types.h>
-#include <curl/easy.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://curl.haxx.se/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);
- res = curl_easy_perform(curl);
-
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/sampleconv.c b/Utilities/cmcurl-7.19.0/docs/examples/sampleconv.c
deleted file mode 100644
index 89cfb93..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/sampleconv.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-/*
- 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, "curl.haxx.se");
-
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/sendrecv.c b/Utilities/cmcurl-7.19.0/docs/examples/sendrecv.c
deleted file mode 100644
index 45bae65..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/sendrecv.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * An example of curl_easy_send() and curl_easy_recv() usage.
- *
- * $Id$
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <curl/curl.h>
-
-/* Auxiliary function that waits on the socket. */
-static int wait_on_socket(int 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: curl.haxx.se\r\n\r\n";
- int sockfd; /* socket */
- size_t iolen;
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se");
- /* 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 */
- res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &sockfd);
-
- if(CURLE_OK != res)
- {
- printf("Error: %s\n", strerror(res));
- return 1;
- }
-
- /* 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", 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;
-
- printf("Received %u bytes.\n", iolen);
- }
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/sepheaders.c b/Utilities/cmcurl-7.19.0/docs/examples/sepheaders.c
deleted file mode 100644
index 9d3dba1..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/sepheaders.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <curl/curl.h>
-#include <curl/types.h>
-#include <curl/easy.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(int argc, char **argv)
-{
- 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://curl.haxx.se");
-
- /* 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/Utilities/cmcurl-7.19.0/docs/examples/simple.c b/Utilities/cmcurl-7.19.0/docs/examples/simple.c
deleted file mode 100644
index baee2ce..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/simple.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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, "curl.haxx.se");
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/simplepost.c b/Utilities/cmcurl-7.19.0/docs/examples/simplepost.c
deleted file mode 100644
index 4aed4f9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/simplepost.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#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://posthere.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));
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/simplessl.c b/Utilities/cmcurl-7.19.0/docs/examples/simplessl.c
deleted file mode 100644
index ea9eb5e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/simplessl.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include <stdio.h>
-
-#include <curl/curl.h>
-#include <curl/types.h>
-#include <curl/easy.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(int argc, char **argv)
-{
- 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;
-
-#if 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);
-
- while(1) /* do some ugly short cut... */
- {
- 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);
-
- res = curl_easy_perform(curl);
- break; /* we are done... */
- }
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/docs/examples/synctime.c b/Utilities/cmcurl-7.19.0/docs/examples/synctime.c
deleted file mode 100644
index dd82467..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/synctime.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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 %d %s %d %d:%d:%d",
- 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/Utilities/cmcurl-7.19.0/docs/examples/threaded-ssl.c b/Utilities/cmcurl-7.19.0/docs/examples/threaded-ssl.c
deleted file mode 100644
index 6b979ba..0000000
--- a/Utilities/cmcurl-7.19.0/docs/examples/threaded-ssl.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * 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.sf.net/",
- "https://www.openssl.org/",
- "https://www.sf.net/",
- "https://www.openssl.org/",
-};
-
-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/Utilities/cmcurl-7.19.0/docs/index.html b/Utilities/cmcurl-7.19.0/docs/index.html
deleted file mode 100644
index 4390378..0000000
--- a/Utilities/cmcurl-7.19.0/docs/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Index to Curl documentation</title>
-</head>
-
-<body>
-<h1 align="center">Index to Curl documentation</h1>
-
-<h2>Programs</h2>
-<a href="curl-config.html">curl-config</A>
-<br><a href="curl.html">curl</A>
-
-<h2>Tutorial</h2>
-<a href="TheArtOfHttpScripting">The Art Of Scripting HTTP Requests Using Curl</a> (plain text)
-
-<h2>libcurl</h2>
-See the <a href="libcurl/index.html">libcurl section</a>
-
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/ABI b/Utilities/cmcurl-7.19.0/docs/libcurl/ABI
deleted file mode 100644
index f38c878..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/ABI
+++ /dev/null
@@ -1,54 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- libcurl's binary interface
-
-ABI - Application Binary Interface
-
- First, allow me to define the word for this context: ABI describes the
- low-level interface between an application program and a library. Calling
- conventions, function arguments, return values, struct sizes/defines and
- more.
-
- For a longer descricption, see
- http://en.wikipedia.org/wiki/Application_binary_interface
-
-Upgrades
-
- In the vast majority of all cases, a typical libcurl upgrade does not break
- the ABI at all. Your application can remain using libcurl just as before,
- only with less bugs and possibly with added new features. You need to read
- the release notes, and if they mention an ABI break/soname bump, you may
- have to verify that your application still builds fine and uses libcurl as
- it now is defined to work.
-
-Version Numbers
-
- In libcurl land, you really can't tell by the libcurl version number if that
- libcurl is binary compatible or not with another libcurl version.
-
-Soname Bumps
-
- Whenever there are changes done to the library that will cause an ABI
- breakage, that may require your application to get attention or possibly be
- changed to adhere to new things, we will bump the soname. Then the library
- will get a different output name and thus can in fact be installed in
- parallell with an older installed lib (on most systems). Thus, old
- applications built against the previous ABI version will remain working and
- using the older lib, while newer applications build and use the newer one.
-
- During the first seven years of libcurl releases, there have only been four
- ABI breakages.
-
-Downgrades
-
- Going to an older libcurl version from one you're currently using can be a
- tricky thing. Mostly we add features and options to newer libcurls as that
- won't break ABI or hamper existing applications. This has the implication
- that going backwards may get you in a situation where you pick a libcurl
- that doesn't support the options your application needs. Or possibly you
- even downgrade so far so you cross an ABI break border and thus a different
- soname, and then your application may need to adapt to the modified ABI.
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.am b/Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.am
deleted file mode 100644
index 9e562c2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.am
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# $Id$
-#
-
-AUTOMAKE_OPTIONS = foreign no-dependencies
-
-man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
- curl_easy_perform.3 curl_easy_setopt.3 curl_easy_duphandle.3 \
- curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
- curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \
- curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \
- curl_strequal.3 curl_mprintf.3 curl_global_init.3 curl_global_cleanup.3 \
- curl_multi_add_handle.3 curl_multi_cleanup.3 curl_multi_fdset.3 \
- curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 \
- curl_multi_remove_handle.3 curl_share_cleanup.3 curl_share_init.3 \
- curl_share_setopt.3 libcurl.3 libcurl-easy.3 libcurl-multi.3 \
- libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
- curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \
- libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \
- curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \
- curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \
- curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3
-
-HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
- curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \
- curl_easy_duphandle.html curl_formadd.html curl_formfree.html \
- curl_getdate.html curl_getenv.html curl_slist_append.html \
- curl_slist_free_all.html curl_version.html curl_version_info.html \
- curl_escape.html curl_unescape.html curl_free.html curl_strequal.html \
- curl_mprintf.html curl_global_init.html curl_global_cleanup.html \
- curl_multi_add_handle.html curl_multi_cleanup.html curl_multi_fdset.html \
- curl_multi_info_read.html curl_multi_init.html curl_multi_perform.html \
- curl_multi_remove_handle.html curl_share_cleanup.html \
- curl_share_init.html curl_share_setopt.html libcurl.html \
- libcurl-multi.html libcurl-easy.html libcurl-share.html \
- libcurl-errors.html curl_easy_strerror.html curl_multi_strerror.html \
- curl_share_strerror.html curl_global_init_mem.html libcurl-tutorial.html \
- curl_easy_reset.html curl_easy_escape.html curl_easy_unescape.html \
- curl_multi_setopt.html curl_multi_socket.html curl_multi_timeout.html \
- curl_formget.html curl_multi_assign.html curl_easy_pause.html \
- curl_easy_recv.html curl_easy_send.html
-
-PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf curl_easy_init.pdf \
- curl_easy_perform.pdf curl_easy_setopt.pdf curl_easy_duphandle.pdf \
- curl_formadd.pdf curl_formfree.pdf curl_getdate.pdf curl_getenv.pdf \
- curl_slist_append.pdf curl_slist_free_all.pdf curl_version.pdf \
- curl_version_info.pdf curl_escape.pdf curl_unescape.pdf curl_free.pdf \
- curl_strequal.pdf curl_mprintf.pdf curl_global_init.pdf \
- curl_global_cleanup.pdf curl_multi_add_handle.pdf curl_multi_cleanup.pdf \
- curl_multi_fdset.pdf curl_multi_info_read.pdf curl_multi_init.pdf \
- curl_multi_perform.pdf curl_multi_remove_handle.pdf \
- curl_share_cleanup.pdf curl_share_init.pdf curl_share_setopt.pdf \
- libcurl.pdf libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \
- libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \
- curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \
- curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \
- curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \
- curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \
- curl_easy_recv.pdf curl_easy_send.pdf
-
-CLEANFILES = $(HTMLPAGES) $(PDFPAGES)
-
-EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) libcurl.m4 ABI
-
-MAN2HTML= roffit --mandir=. < $< >$@
-
-SUFFIXES = .3 .html
-
-html: $(HTMLPAGES)
-
-.3.html:
- $(MAN2HTML)
-
-pdf: $(PDFPAGES)
-
-.3.pdf:
- @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
- groff -Tps -man $< >$$foo.ps; \
- ps2pdf $$foo.ps $@; \
- rm $$foo.ps; \
- echo "converted $< to $@")
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.in b/Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.in
deleted file mode 100644
index d30c94e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/Makefile.in
+++ /dev/null
@@ -1,496 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-#
-# $Id$
-#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = docs/libcurl
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-depcomp =
-am__depfiles_maybe =
-SOURCES =
-DIST_SOURCES =
-man3dir = $(mandir)/man3
-am__installdirs = "$(DESTDIR)$(man3dir)"
-MANS = $(man_MANS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-AUTOMAKE_OPTIONS = foreign no-dependencies
-man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
- curl_easy_perform.3 curl_easy_setopt.3 curl_easy_duphandle.3 \
- curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
- curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \
- curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \
- curl_strequal.3 curl_mprintf.3 curl_global_init.3 curl_global_cleanup.3 \
- curl_multi_add_handle.3 curl_multi_cleanup.3 curl_multi_fdset.3 \
- curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 \
- curl_multi_remove_handle.3 curl_share_cleanup.3 curl_share_init.3 \
- curl_share_setopt.3 libcurl.3 libcurl-easy.3 libcurl-multi.3 \
- libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
- curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \
- libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \
- curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \
- curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \
- curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3
-
-HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
- curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \
- curl_easy_duphandle.html curl_formadd.html curl_formfree.html \
- curl_getdate.html curl_getenv.html curl_slist_append.html \
- curl_slist_free_all.html curl_version.html curl_version_info.html \
- curl_escape.html curl_unescape.html curl_free.html curl_strequal.html \
- curl_mprintf.html curl_global_init.html curl_global_cleanup.html \
- curl_multi_add_handle.html curl_multi_cleanup.html curl_multi_fdset.html \
- curl_multi_info_read.html curl_multi_init.html curl_multi_perform.html \
- curl_multi_remove_handle.html curl_share_cleanup.html \
- curl_share_init.html curl_share_setopt.html libcurl.html \
- libcurl-multi.html libcurl-easy.html libcurl-share.html \
- libcurl-errors.html curl_easy_strerror.html curl_multi_strerror.html \
- curl_share_strerror.html curl_global_init_mem.html libcurl-tutorial.html \
- curl_easy_reset.html curl_easy_escape.html curl_easy_unescape.html \
- curl_multi_setopt.html curl_multi_socket.html curl_multi_timeout.html \
- curl_formget.html curl_multi_assign.html curl_easy_pause.html \
- curl_easy_recv.html curl_easy_send.html
-
-PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf curl_easy_init.pdf \
- curl_easy_perform.pdf curl_easy_setopt.pdf curl_easy_duphandle.pdf \
- curl_formadd.pdf curl_formfree.pdf curl_getdate.pdf curl_getenv.pdf \
- curl_slist_append.pdf curl_slist_free_all.pdf curl_version.pdf \
- curl_version_info.pdf curl_escape.pdf curl_unescape.pdf curl_free.pdf \
- curl_strequal.pdf curl_mprintf.pdf curl_global_init.pdf \
- curl_global_cleanup.pdf curl_multi_add_handle.pdf curl_multi_cleanup.pdf \
- curl_multi_fdset.pdf curl_multi_info_read.pdf curl_multi_init.pdf \
- curl_multi_perform.pdf curl_multi_remove_handle.pdf \
- curl_share_cleanup.pdf curl_share_init.pdf curl_share_setopt.pdf \
- libcurl.pdf libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \
- libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \
- curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \
- curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \
- curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \
- curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \
- curl_easy_recv.pdf curl_easy_send.pdf
-
-CLEANFILES = $(HTMLPAGES) $(PDFPAGES)
-EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) libcurl.m4 ABI
-MAN2HTML = roffit --mandir=. < $< >$@
-SUFFIXES = .3 .html
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .3 .html .pdf
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/libcurl/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign docs/libcurl/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-man3: $(man3_MANS) $(man_MANS)
- @$(NORMAL_INSTALL)
- test -z "$(man3dir)" || $(mkdir_p) "$(DESTDIR)$(man3dir)"
- @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.3*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 3*) ;; \
- *) ext='3' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst"; \
- done
-uninstall-man3:
- @$(NORMAL_UNINSTALL)
- @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.3*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 3*) ;; \
- *) ext='3' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man3dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man3dir)/$$inst"; \
- done
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: check-am
-all-am: Makefile $(MANS)
-installdirs:
- for dir in "$(DESTDIR)$(man3dir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-man
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man: install-man3
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-man
-
-uninstall-man: uninstall-man3
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-man3 \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-info-am uninstall-man \
- uninstall-man3
-
-
-html: $(HTMLPAGES)
-
-.3.html:
- $(MAN2HTML)
-
-pdf: $(PDFPAGES)
-
-.3.pdf:
- @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
- groff -Tps -man $< >$$foo.ps; \
- ps2pdf $$foo.ps $@; \
- rm $$foo.ps; \
- echo "converted $< to $@")
-# 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/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.3
deleted file mode 100644
index c19291a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.3
+++ /dev/null
@@ -1,51 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2007, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_cleanup 3 "22 aug 2007" "libcurl 7.17.0" "libcurl Manual"
-.SH NAME
-curl_easy_cleanup - End a libcurl easy session
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-
-.BI "void curl_easy_cleanup(CURL *" handle ");"
-
-.SH DESCRIPTION
-This function must be the last function to call for an easy session. It is the
-opposite of the \fIcurl_easy_init(3)\fP function and must be called with the
-same \fIhandle\fP as input that the curl_easy_init call returned.
-
-This will effectively close all connections this handle has used and possibly
-has kept open until now. Don't call this function if you intend to transfer
-more files.
-
-Any uses of the \fBhandle\fP after this function has been called are
-illegal. This kills the handle and all memory associated with it!
-
-With libcurl versions prior to 7.17.: when you've called this, you can safely
-remove all the strings you've previously told libcurl to use, as it won't use
-them anymore now.
-.SH RETURN VALUE
-None
-.SH "SEE ALSO"
-.BR curl_easy_init "(3), "
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.html
deleted file mode 100644
index bc113e6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_easy_cleanup man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_cleanup - End a libcurl easy session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_easy_cleanup(CURL * handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function must be the last function to call for an easy session. It is the opposite of the <a class="emphasis" href="./curl_easy_init.html">curl_easy_init(3)</a> function and must be called with the same <span Class="emphasis">handle</span> as input that the curl_easy_init call returned.
-<p class="level0">This will effectively close all connections this handle has used and possibly has kept open until now. Don't call this function if you intend to transfer more files.
-<p class="level0">Any uses of the <span Class="bold">handle</span> after this function has been called are illegal. This kills the handle and all memory associated with it!
-<p class="level0">With libcurl versions prior to 7.17.: when you've called this, you can safely remove all the strings you've previously told libcurl to use, as it won't use them anymore now. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">None <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_init.html">curl_easy_init (3)</a> <span Class="manpage"> </span>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.pdf
deleted file mode 100644
index ee07f33..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.3
deleted file mode 100644
index 4afb40e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.3
+++ /dev/null
@@ -1,34 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_easy_duphandle 3 "18 September 2001" "libcurl 7.9" "libcurl Manual"
-.SH NAME
-curl_easy_duphandle - Clone a libcurl session handle
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-
-.BI "CURL *curl_easy_duphandle(CURL *"handle ");"
-
-.SH DESCRIPTION
-This function will return a new curl handle, a duplicate, using all the
-options previously set in the input curl \fIhandle\fP. Both handles can
-subsequently be used independently and they must both be freed with
-\fIcurl_easy_cleanup(3)\fP.
-
-All strings that the input handle has been told to point to (as opposed to
-copy) with previous calls to \fIcurl_easy_setopt(3)\fP using char * inputs,
-will be pointed to by the new handle as well. You must therefore make sure to
-keep the data around until both handles have been cleaned up.
-
-The new handle will \fBnot\fP inherit any state information, no connections,
-no SSL sessions and no cookies.
-
-\fBNote\fP that even in multi-threaded programs, this function must be called
-in a synchronous way, the input handle may not be in use when cloned.
-.SH RETURN VALUE
-If this function returns NULL, something went wrong and no valid handle was
-returned.
-.SH "SEE ALSO"
-.BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_global_init "(3)
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.html
deleted file mode 100644
index d072ded..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_easy_duphandle man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_duphandle - Clone a libcurl session handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURL *curl_easy_duphandle(CURL *handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function will return a new curl handle, a duplicate, using all the options previously set in the input curl <span Class="emphasis">handle</span>. Both handles can subsequently be used independently and they must both be freed with <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>.
-<p class="level0">All strings that the input handle has been told to point to (as opposed to copy) with previous calls to <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> using char * inputs, will be pointed to by the new handle as well. You must therefore make sure to keep the data around until both handles have been cleaned up.
-<p class="level0">The new handle will <span Class="bold">not</span> inherit any state information, no connections, no SSL sessions and no cookies.
-<p class="level0"><span Class="bold">Note</span> that even in multi-threaded programs, this function must be called in a synchronous way, the input handle may not be in use when cloned. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong and no valid handle was returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_init.html">curl_easy_init (3)</a> <a class="manpage" href="./curl_easy_cleanup.html"> curl_easy_cleanup (3)</a> <a class="manpage" href="./curl_global_init.html"> curl_global_init (3)</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.pdf
deleted file mode 100644
index 531902b..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_duphandle.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.3
deleted file mode 100644
index de30593..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.3
+++ /dev/null
@@ -1,47 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_escape 3 "7 April 2006" "libcurl 7.15.4" "libcurl Manual"
-.SH NAME
-curl_easy_escape - URL encodes the given string
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "char *curl_easy_escape( CURL *" curl ", char *" url ", int "length " );"
-.ad
-.SH DESCRIPTION
-This function converts the given input string to an URL encoded string and
-returns that as a new allocated string. All input characters that are not a-z,
-A-Z or 0-9 are converted to their "URL escaped" version (%NN where NN is a
-two-digit hexadecimal number).
-
-If the \fBlength\fP argument is set to 0 (zero), \fIcurl_easy_escape(3)\fP
-uses strlen() on the input \fBurl\fP to find out the size.
-
-You must \fIcurl_free(3)\fP the returned string when you're done with it.
-.SH AVAILABILITY
-Added in 7.15.4 and replaces the old \fIcurl_escape(3)\fP function.
-.SH RETURN VALUE
-A pointer to a zero terminated string or NULL if it failed.
-.SH "SEE ALSO"
-.BR curl_easy_unescape "(3), " curl_free "(3), " RFC 2396
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.html
deleted file mode 100644
index 1ecf464..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_easy_escape man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_escape - URL encodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_easy_escape( CURL * curl , char * url , int length );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function converts the given input string to an URL encoded string and returns that as a new allocated string. All input characters that are not a-z, A-Z or 0-9 are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number).
-<p class="level0">If the <span Class="bold">length</span> argument is set to 0 (zero), <a class="emphasis" href="./curl_easy_escape.html">curl_easy_escape(3)</a> uses strlen() on the input <span Class="bold">url</span> to find out the size.
-<p class="level0">You must <a class="emphasis" href="./curl_free.html">curl_free(3)</a> the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4 and replaces the old <a class="emphasis" href="./curl_escape.html">curl_escape(3)</a> function. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_unescape.html">curl_easy_unescape (3)</a> <a class="manpage" href="./curl_free.html"> curl_free (3)</a> <span Class="manpage"> RFC 2396</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.pdf
deleted file mode 100644
index 8dac208..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_escape.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.3
deleted file mode 100644
index b8fdf46..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.3
+++ /dev/null
@@ -1,233 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_getinfo 3 "21 Mar 2006" "libcurl 7.15.4" "libcurl Manual"
-.SH NAME
-curl_easy_getinfo - extract information from a curl handle
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-
-.B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );"
-
-.SH DESCRIPTION
-Request internal information from the curl session with this function. The
-third argument \fBMUST\fP be a pointer to a long, a pointer to a char *, a
-pointer to a struct curl_slist * or a pointer to a double (as this
-documentation describes further down). The data pointed-to will be filled in
-accordingly and can be relied upon only if the function returns CURLE_OK. Use
-this function AFTER a performed transfer if you want to get transfer- oriented
-data.
-
-You should not free the memory returned by this function unless it is
-explicitly mentioned below.
-.SH AVAILABLE INFORMATION
-The following information can be extracted:
-.IP CURLINFO_EFFECTIVE_URL
-Pass a pointer to a 'char *' to receive the last used effective URL.
-.IP CURLINFO_RESPONSE_CODE
-Pass a pointer to a long to receive the last received HTTP or FTP code. This
-option was known as CURLINFO_HTTP_CODE in libcurl 7.10.7 and earlier. This
-will be zero if no server response code has been received. Note that a proxy's
-CONNECT response should be read with \fICURLINFO_HTTP_CONNECTCODE\fP and not
-this.
-.IP CURLINFO_HTTP_CONNECTCODE
-Pass a pointer to a long to receive the last received proxy response code to a
-CONNECT request.
-.IP CURLINFO_FILETIME
-Pass a pointer to a long to receive the remote time of the retrieved document
-(in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If you get
--1, it can be because of many reasons (unknown, the server hides it or the
-server doesn't support the command that tells document time etc) and the time
-of the document is unknown. Note that you must tell the server to collect this
-information before the transfer is made, by using the CURLOPT_FILETIME option
-to \fIcurl_easy_setopt(3)\fP or you will unconditionally get a -1 back. (Added
-in 7.5)
-.IP CURLINFO_TOTAL_TIME
-Pass a pointer to a double to receive the total time in seconds for the
-previous transfer, including name resolving, TCP connect etc.
-.IP CURLINFO_NAMELOOKUP_TIME
-Pass a pointer to a double to receive the time, in seconds, it took from the
-start until the name resolving was completed.
-.IP CURLINFO_CONNECT_TIME
-Pass a pointer to a double to receive the time, in seconds, it took from the
-start until the connect to the remote host (or proxy) was completed.
-.IP CURLINFO_APPCONNECT_TIME
-Pass a pointer to a double to receive the time, in seconds, it took from the
-start until the SSL/SSH connect/handshake to the remote host was completed.
-This time is most often very near to the PRETRANSFER time, except for cases
-such as HTTP pippelining where the pretransfer time can be delayed due to
-waits in line for the pipeline and more. (Added in 7.19.0)
-.IP CURLINFO_PRETRANSFER_TIME
-Pass a pointer to a double to receive the time, in seconds, it took from the
-start until the file transfer is just about to begin. This includes all
-pre-transfer commands and negotiations that are specific to the particular
-protocol(s) involved.
-.IP CURLINFO_STARTTRANSFER_TIME
-Pass a pointer to a double to receive the time, in seconds, it took from the
-start until the first byte is just about to be transferred. This includes
-CURLINFO_PRETRANSFER_TIME and also the time the server needs to calculate
-the result.
-.IP CURLINFO_REDIRECT_TIME
-Pass a pointer to a double to receive the total time, in seconds, it took for
-all redirection steps include name lookup, connect, pretransfer and transfer
-before final transaction was started. CURLINFO_REDIRECT_TIME contains the
-complete execution time for multiple redirections. (Added in 7.9.7)
-.IP CURLINFO_REDIRECT_COUNT
-Pass a pointer to a long to receive the total number of redirections that were
-actually followed. (Added in 7.9.7)
-.IP CURLINFO_REDIRECT_URL
-Pass a pointer to a char pointer to receive the URL a redirect \fIwould\fP
-take you to if you would enable CURLOPT_FOLLOWLOCATION. This can come very
-handy if you think using the built-in libcurl redirect logic isn't good enough
-for you but you would still prefer to avoid implementing all the magic of
-figuring out the new URL. (Added in 7.18.2)
-.IP CURLINFO_SIZE_UPLOAD
-Pass a pointer to a double to receive the total amount of bytes that were
-uploaded.
-.IP CURLINFO_SIZE_DOWNLOAD
-Pass a pointer to a double to receive the total amount of bytes that were
-downloaded. The amount is only for the latest transfer and will be reset again
-for each new transfer.
-.IP CURLINFO_SPEED_DOWNLOAD
-Pass a pointer to a double to receive the average download speed that curl
-measured for the complete download. Measured in bytes/second.
-.IP CURLINFO_SPEED_UPLOAD
-Pass a pointer to a double to receive the average upload speed that curl
-measured for the complete upload. Measured in bytes/second.
-.IP CURLINFO_HEADER_SIZE
-Pass a pointer to a long to receive the total size of all the headers
-received. Measured in number of bytes.
-.IP CURLINFO_REQUEST_SIZE
-Pass a pointer to a long to receive the total size of the issued
-requests. This is so far only for HTTP requests. Note that this may be more
-than one request if FOLLOWLOCATION is true.
-.IP CURLINFO_SSL_VERIFYRESULT
-Pass a pointer to a long to receive the result of the certification
-verification that was requested (using the CURLOPT_SSL_VERIFYPEER option to
-\fIcurl_easy_setopt(3)\fP).
-.IP CURLINFO_SSL_ENGINES
-Pass the address of a 'struct curl_slist *' to receive a linked-list of
-OpenSSL crypto-engines supported. Note that engines are normally implemented
-in separate dynamic libraries. Hence not all the returned engines may be
-available at run-time. \fBNOTE:\fP you must call \fIcurl_slist_free_all(3)\fP
-on the list pointer once you're done with it, as libcurl will not free the
-data for you. (Added in 7.12.3)
-.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD
-Pass a pointer to a double to receive the content-length of the download. This
-is the value read from the Content-Length: field.
-.IP CURLINFO_CONTENT_LENGTH_UPLOAD
-Pass a pointer to a double to receive the specified size of the upload.
-.IP CURLINFO_CONTENT_TYPE
-Pass a pointer to a 'char *' to receive the content-type of the downloaded
-object. This is the value read from the Content-Type: field. If you get NULL,
-it means that the server didn't send a valid Content-Type header or that the
-protocol used doesn't support this.
-.IP CURLINFO_PRIVATE
-Pass a pointer to a 'char *' to receive the pointer to the private data
-associated with the curl handle (set with the CURLOPT_PRIVATE option to
-\fIcurl_easy_setopt(3)\fP). Please note that for internal reasons, the
-value is returned as a 'char *', although effectively being a 'void *'.
-(Added in 7.10.3)
-.IP CURLINFO_HTTPAUTH_AVAIL
-Pass a pointer to a long to receive a bitmask indicating the authentication
-method(s) available. The meaning of the bits is explained in the
-CURLOPT_HTTPAUTH option for \fIcurl_easy_setopt(3)\fP. (Added in 7.10.8)
-.IP CURLINFO_PROXYAUTH_AVAIL
-Pass a pointer to a long to receive a bitmask indicating the authentication
-method(s) available for your proxy authentication. (Added in 7.10.8)
-.IP CURLINFO_OS_ERRNO
-Pass a pointer to a long to receive the errno variable from a connect failure.
-(Added in 7.12.2)
-.IP CURLINFO_NUM_CONNECTS
-Pass a pointer to a long to receive how many new connections libcurl had to
-create to achieve the previous transfer (only the successful connects are
-counted). Combined with \fICURLINFO_REDIRECT_COUNT\fP you are able to know
-how many times libcurl successfully reused existing connection(s) or not. See
-the Connection Options of \fIcurl_easy_setopt(3)\fP to see how libcurl tries
-to make persistent connections to save time. (Added in 7.12.3)
-.IP CURLINFO_PRIMARY_IP
-Pass a pointer to a char pointer to receive the pointer to a zero-terminated
-string holding the IP address of the most recent connection done with this
-\fBcurl\fP handle. This string may be IPv6 if that's enabled. Note that you
-get a pointer to a memory area that will be re-used at next request so you
-need to copy the string if you want to keep the information. (Added in 7.19.0)
-.IP CURLINFO_COOKIELIST
-Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all
-cookies cURL knows (expired ones, too). Don't forget to
-\fIcurl_slist_free_all(3)\fP the list after it has been used. If there are no
-cookies (cookies for the handle have not been enabled or simply none have been
-received) 'struct curl_slist *' will be set to point to NULL. (Added in
-7.14.1)
-.IP CURLINFO_LASTSOCKET
-Pass a pointer to a long to receive the last socket used by this curl
-session. If the socket is no longer valid, -1 is returned. When you finish
-working with the socket, you must call curl_easy_cleanup() as usual and let
-libcurl close the socket and cleanup other resources associated with the
-handle. This is typically used in combination with \fICURLOPT_CONNECT_ONLY\fP.
-(Added in 7.15.2)
-.IP CURLINFO_FTP_ENTRY_PATH
-Pass a pointer to a 'char *' to receive a pointer to a string holding the path
-of the entry path. That is the initial path libcurl ended up in when logging
-on to the remote FTP server. This stores a NULL as pointer if something is
-wrong. (Added in 7.15.4)
-.SH TIMES
-.NF
-An overview of the six time values available from curl_easy_getinfo()
-
-curl_easy_perform()
- |
- |--NAMELOOKUP
- |--|--CONNECT
- |--|--|--APPCONNECT
- |--|--|--|--PRETRANSFER
- |--|--|--|--|--STARTTRANSFER
- |--|--|--|--|--|--TOTAL
- |--|--|--|--|--|--REDIRECT
-.FI
-.IP NAMELOOKUP
-\fICURLINFO_NAMELOOKUP_TIME\fP. The time it took from the start until the name
-resolving was completed.
-.IP CONNECT
-\fICURLINFO_CONNECT_TIME\fP. The time it took from the start until the connect
-to the remote host (or proxy) was completed.
-.IP APPCONNECT
-\fICURLINFO_APPCONNECT_TIME\fP. The time it took from the start until the SSL
-connect/handshake with the remote host was completed. (Added in in 7.19.0)
-.IP PRETRANSFER
-\fICURLINFO_PRETRANSFER_TIME\fP. The time it took from the start until the
-file transfer is just about to begin. This includes all pre-transfer commands
-and negotiations that are specific to the particular protocol(s) involved.
-.IP STARTTRANSFER
-\fICURLINFO_STARTTRANSFER_TIME\fP. The time it took from the start until the
-first byte is just about to be transferred.
-.IP TOTAL
-\fICURLINFO_TOTAL_TIME\fP. Total time of the previous request.
-.IP REDIRECT
-\fICURLINFO_REDIRECT_TIME\fP. The time it took for all redirection steps
-include name lookup, connect, pretransfer and transfer before final
-transaction was started. So, this is zero if no redirection took place.
-.SH RETURN VALUE
-If the operation was successful, CURLE_OK is returned. Otherwise an
-appropriate error code will be returned.
-.SH "SEE ALSO"
-.BR curl_easy_setopt "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.html
deleted file mode 100644
index d0235d2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<html><head>
-<title>curl_easy_getinfo man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_getinfo - extract information from a curl handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Request internal information from the curl session with this function. The third argument <span Class="bold">MUST</span> be a pointer to a long, a pointer to a char *, a pointer to a struct curl_slist * or a pointer to a double (as this documentation describes further down). The data pointed-to will be filled in accordingly and can be relied upon only if the function returns CURLE_OK. Use this function AFTER a performed transfer if you want to get transfer- oriented data.
-<p class="level0">You should not free the memory returned by this function unless it is explicitly mentioned below. <a name="AVAILABLE"></a><h2 class="nroffsh">AVAILABLE INFORMATION</h2>
-<p class="level0">The following information can be extracted:
-<p class="level0"><a name="CURLINFOEFFECTIVEURL"></a><span class="nroffip">CURLINFO_EFFECTIVE_URL</span>
-<p class="level1">Pass a pointer to a 'char *' to receive the last used effective URL.
-<p class="level0"><a name="CURLINFORESPONSECODE"></a><span class="nroffip">CURLINFO_RESPONSE_CODE</span>
-<p class="level1">Pass a pointer to a long to receive the last received HTTP or FTP code. This option was known as CURLINFO_HTTP_CODE in libcurl 7.10.7 and earlier. This will be zero if no server response code has been received. Note that a proxy's CONNECT response should be read with <a class="emphasis" href="#CURLINFOHTTPCONNECTCODE">CURLINFO_HTTP_CONNECTCODE</a> and not this.
-<p class="level0"><a name="CURLINFOHTTPCONNECTCODE"></a><span class="nroffip">CURLINFO_HTTP_CONNECTCODE</span>
-<p class="level1">Pass a pointer to a long to receive the last received proxy response code to a CONNECT request.
-<p class="level0"><a name="CURLINFOFILETIME"></a><span class="nroffip">CURLINFO_FILETIME</span>
-<p class="level1">Pass a pointer to a long to receive the remote time of the retrieved document (in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If you get -1, it can be because of many reasons (unknown, the server hides it or the server doesn't support the command that tells document time etc) and the time of the document is unknown. Note that you must tell the server to collect this information before the transfer is made, by using the CURLOPT_FILETIME option to <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> or you will unconditionally get a -1 back. (Added in 7.5)
-<p class="level0"><a name="CURLINFOTOTALTIME"></a><span class="nroffip">CURLINFO_TOTAL_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the total time in seconds for the previous transfer, including name resolving, TCP connect etc.
-<p class="level0"><a name="CURLINFONAMELOOKUPTIME"></a><span class="nroffip">CURLINFO_NAMELOOKUP_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the time, in seconds, it took from the start until the name resolving was completed.
-<p class="level0"><a name="CURLINFOCONNECTTIME"></a><span class="nroffip">CURLINFO_CONNECT_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the time, in seconds, it took from the start until the connect to the remote host (or proxy) was completed.
-<p class="level0"><a name="CURLINFOAPPCONNECTTIME"></a><span class="nroffip">CURLINFO_APPCONNECT_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the time, in seconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed. This time is most often very near to the PRETRANSFER time, except for cases such as HTTP pippelining where the pretransfer time can be delayed due to waits in line for the pipeline and more. (Added in 7.19.0)
-<p class="level0"><a name="CURLINFOPRETRANSFERTIME"></a><span class="nroffip">CURLINFO_PRETRANSFER_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the time, in seconds, it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
-<p class="level0"><a name="CURLINFOSTARTTRANSFERTIME"></a><span class="nroffip">CURLINFO_STARTTRANSFER_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the time, in seconds, it took from the start until the first byte is just about to be transferred. This includes CURLINFO_PRETRANSFER_TIME and also the time the server needs to calculate the result.
-<p class="level0"><a name="CURLINFOREDIRECTTIME"></a><span class="nroffip">CURLINFO_REDIRECT_TIME</span>
-<p class="level1">Pass a pointer to a double to receive the total time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. CURLINFO_REDIRECT_TIME contains the complete execution time for multiple redirections. (Added in 7.9.7)
-<p class="level0"><a name="CURLINFOREDIRECTCOUNT"></a><span class="nroffip">CURLINFO_REDIRECT_COUNT</span>
-<p class="level1">Pass a pointer to a long to receive the total number of redirections that were actually followed. (Added in 7.9.7)
-<p class="level0"><a name="CURLINFOREDIRECTURL"></a><span class="nroffip">CURLINFO_REDIRECT_URL</span>
-<p class="level1">Pass a pointer to a char pointer to receive the URL a redirect <span Class="emphasis">would</span> take you to if you would enable CURLOPT_FOLLOWLOCATION. This can come very handy if you think using the built-in libcurl redirect logic isn't good enough for you but you would still prefer to avoid implementing all the magic of figuring out the new URL. (Added in 7.18.2)
-<p class="level0"><a name="CURLINFOSIZEUPLOAD"></a><span class="nroffip">CURLINFO_SIZE_UPLOAD</span>
-<p class="level1">Pass a pointer to a double to receive the total amount of bytes that were uploaded.
-<p class="level0"><a name="CURLINFOSIZEDOWNLOAD"></a><span class="nroffip">CURLINFO_SIZE_DOWNLOAD</span>
-<p class="level1">Pass a pointer to a double to receive the total amount of bytes that were downloaded. The amount is only for the latest transfer and will be reset again for each new transfer.
-<p class="level0"><a name="CURLINFOSPEEDDOWNLOAD"></a><span class="nroffip">CURLINFO_SPEED_DOWNLOAD</span>
-<p class="level1">Pass a pointer to a double to receive the average download speed that curl measured for the complete download. Measured in bytes/second.
-<p class="level0"><a name="CURLINFOSPEEDUPLOAD"></a><span class="nroffip">CURLINFO_SPEED_UPLOAD</span>
-<p class="level1">Pass a pointer to a double to receive the average upload speed that curl measured for the complete upload. Measured in bytes/second.
-<p class="level0"><a name="CURLINFOHEADERSIZE"></a><span class="nroffip">CURLINFO_HEADER_SIZE</span>
-<p class="level1">Pass a pointer to a long to receive the total size of all the headers received. Measured in number of bytes.
-<p class="level0"><a name="CURLINFOREQUESTSIZE"></a><span class="nroffip">CURLINFO_REQUEST_SIZE</span>
-<p class="level1">Pass a pointer to a long to receive the total size of the issued requests. This is so far only for HTTP requests. Note that this may be more than one request if FOLLOWLOCATION is true.
-<p class="level0"><a name="CURLINFOSSLVERIFYRESULT"></a><span class="nroffip">CURLINFO_SSL_VERIFYRESULT</span>
-<p class="level1">Pass a pointer to a long to receive the result of the certification verification that was requested (using the CURLOPT_SSL_VERIFYPEER option to <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>).
-<p class="level0"><a name="CURLINFOSSLENGINES"></a><span class="nroffip">CURLINFO_SSL_ENGINES</span>
-<p class="level1">Pass the address of a 'struct curl_slist *' to receive a linked-list of OpenSSL crypto-engines supported. Note that engines are normally implemented in separate dynamic libraries. Hence not all the returned engines may be available at run-time. <span Class="bold">NOTE:</span> you must call <a class="emphasis" href="./curl_slist_free_all.html">curl_slist_free_all(3)</a> on the list pointer once you're done with it, as libcurl will not free the data for you. (Added in 7.12.3)
-<p class="level0"><a name="CURLINFOCONTENTLENGTHDOWNLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_DOWNLOAD</span>
-<p class="level1">Pass a pointer to a double to receive the content-length of the download. This is the value read from the Content-Length: field.
-<p class="level0"><a name="CURLINFOCONTENTLENGTHUPLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_UPLOAD</span>
-<p class="level1">Pass a pointer to a double to receive the specified size of the upload.
-<p class="level0"><a name="CURLINFOCONTENTTYPE"></a><span class="nroffip">CURLINFO_CONTENT_TYPE</span>
-<p class="level1">Pass a pointer to a 'char *' to receive the content-type of the downloaded object. This is the value read from the Content-Type: field. If you get NULL, it means that the server didn't send a valid Content-Type header or that the protocol used doesn't support this.
-<p class="level0"><a name="CURLINFOPRIVATE"></a><span class="nroffip">CURLINFO_PRIVATE</span>
-<p class="level1">Pass a pointer to a 'char *' to receive the pointer to the private data associated with the curl handle (set with the CURLOPT_PRIVATE option to <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>). Please note that for internal reasons, the value is returned as a 'char *', although effectively being a 'void *'. (Added in 7.10.3)
-<p class="level0"><a name="CURLINFOHTTPAUTHAVAIL"></a><span class="nroffip">CURLINFO_HTTPAUTH_AVAIL</span>
-<p class="level1">Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available. The meaning of the bits is explained in the CURLOPT_HTTPAUTH option for <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>. (Added in 7.10.8)
-<p class="level0"><a name="CURLINFOPROXYAUTHAVAIL"></a><span class="nroffip">CURLINFO_PROXYAUTH_AVAIL</span>
-<p class="level1">Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available for your proxy authentication. (Added in 7.10.8)
-<p class="level0"><a name="CURLINFOOSERRNO"></a><span class="nroffip">CURLINFO_OS_ERRNO</span>
-<p class="level1">Pass a pointer to a long to receive the errno variable from a connect failure. (Added in 7.12.2)
-<p class="level0"><a name="CURLINFONUMCONNECTS"></a><span class="nroffip">CURLINFO_NUM_CONNECTS</span>
-<p class="level1">Pass a pointer to a long to receive how many new connections libcurl had to create to achieve the previous transfer (only the successful connects are counted). Combined with <a class="emphasis" href="#CURLINFOREDIRECTCOUNT">CURLINFO_REDIRECT_COUNT</a> you are able to know how many times libcurl successfully reused existing connection(s) or not. See the Connection Options of <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> to see how libcurl tries to make persistent connections to save time. (Added in 7.12.3)
-<p class="level0"><a name="CURLINFOPRIMARYIP"></a><span class="nroffip">CURLINFO_PRIMARY_IP</span>
-<p class="level1">Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the most recent connection done with this <span Class="bold">curl</span> handle. This string may be IPv6 if that's enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information. (Added in 7.19.0)
-<p class="level0"><a name="CURLINFOCOOKIELIST"></a><span class="nroffip">CURLINFO_COOKIELIST</span>
-<p class="level1">Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all cookies cURL knows (expired ones, too). Don't forget to <a class="emphasis" href="./curl_slist_free_all.html">curl_slist_free_all(3)</a> the list after it has been used. If there are no cookies (cookies for the handle have not been enabled or simply none have been received) 'struct curl_slist *' will be set to point to NULL. (Added in 7.14.1)
-<p class="level0"><a name="CURLINFOLASTSOCKET"></a><span class="nroffip">CURLINFO_LASTSOCKET</span>
-<p class="level1">Pass a pointer to a long to receive the last socket used by this curl session. If the socket is no longer valid, -1 is returned. When you finish working with the socket, you must call curl_easy_cleanup() as usual and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with <span Class="emphasis">CURLOPT_CONNECT_ONLY</span>. (Added in 7.15.2)
-<p class="level0"><a name="CURLINFOFTPENTRYPATH"></a><span class="nroffip">CURLINFO_FTP_ENTRY_PATH</span>
-<p class="level1">Pass a pointer to a 'char *' to receive a pointer to a string holding the path of the entry path. That is the initial path libcurl ended up in when logging on to the remote FTP server. This stores a NULL as pointer if something is wrong. (Added in 7.15.4) <a name="TIMES"></a><h2 class="nroffsh">TIMES</h2>
-<p class="level0"><pre>
-<p class="level0">An overview of the six time values available from curl_easy_getinfo()
- <p class="level0">curl_easy_perform()
- &nbsp; |
- &nbsp; |--NAMELOOKUP
- &nbsp; |--|--CONNECT
- &nbsp; |--|--|--APPCONNECT
- &nbsp; |--|--|--|--PRETRANSFER
- &nbsp; |--|--|--|--|--STARTTRANSFER
- &nbsp; |--|--|--|--|--|--TOTAL
- &nbsp; |--|--|--|--|--|--REDIRECT
- </pre>
-
-<p class="level0">
-<p class="level0"><a name="NAMELOOKUP"></a><span class="nroffip">NAMELOOKUP</span>
-<p class="level1"><a class="emphasis" href="#CURLINFONAMELOOKUPTIME">CURLINFO_NAMELOOKUP_TIME</a>. The time it took from the start until the name resolving was completed.
-<p class="level0"><a name="CONNECT"></a><span class="nroffip">CONNECT</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOCONNECTTIME">CURLINFO_CONNECT_TIME</a>. The time it took from the start until the connect to the remote host (or proxy) was completed.
-<p class="level0"><a name="APPCONNECT"></a><span class="nroffip">APPCONNECT</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOAPPCONNECTTIME">CURLINFO_APPCONNECT_TIME</a>. The time it took from the start until the SSL connect/handshake with the remote host was completed. (Added in in 7.19.0)
-<p class="level0"><a name="PRETRANSFER"></a><span class="nroffip">PRETRANSFER</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOPRETRANSFERTIME">CURLINFO_PRETRANSFER_TIME</a>. The time it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
-<p class="level0"><a name="STARTTRANSFER"></a><span class="nroffip">STARTTRANSFER</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOSTARTTRANSFERTIME">CURLINFO_STARTTRANSFER_TIME</a>. The time it took from the start until the first byte is just about to be transferred.
-<p class="level0"><a name="TOTAL"></a><span class="nroffip">TOTAL</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOTOTALTIME">CURLINFO_TOTAL_TIME</a>. Total time of the previous request.
-<p class="level0"><a name="REDIRECT"></a><span class="nroffip">REDIRECT</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOREDIRECTTIME">CURLINFO_REDIRECT_TIME</a>. The time it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. So, this is zero if no redirection took place. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If the operation was successful, CURLE_OK is returned. Otherwise an appropriate error code will be returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.pdf
deleted file mode 100644
index 54a1037..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_getinfo.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.3
deleted file mode 100644
index 0836336..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.3
+++ /dev/null
@@ -1,32 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_easy_init 3 "4 March 2002" "libcurl 7.8.1" "libcurl Manual"
-.SH NAME
-curl_easy_init - Start a libcurl easy session
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-
-.BI "CURL *curl_easy_init( );"
-
-.SH DESCRIPTION
-This function must be the first function to call, and it returns a CURL easy
-handle that you must use as input to other easy-functions. curl_easy_init
-initializes curl and this call \fBMUST\fP have a corresponding call to
-\fIcurl_easy_cleanup(3)\fP when the operation is complete.
-
-If you did not already call \fIcurl_global_init(3)\fP,
-\fIcurl_easy_init(3)\fP does it automatically.
-This may be lethal in multi-threaded cases, since \fIcurl_global_init(3)\fP is
-not thread-safe, and it may result in resource problems because there is
-no corresponding cleanup.
-
-You are strongly advised to not allow this automatic behaviour, by
-calling \fIcurl_global_init(3)\fP yourself properly.
-See the description in \fBlibcurl\fP(3) of global environment
-requirements for details of how to use this function.
-
-.SH RETURN VALUE
-If this function returns NULL, something went wrong and you cannot use the
-other curl functions.
-.SH "SEE ALSO"
-.BR curl_easy_cleanup "(3), " curl_global_init "(3), " curl_easy_reset "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.html
deleted file mode 100644
index 494f2ab..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_easy_init man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_init - Start a libcurl easy session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURL *curl_easy_init( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function must be the first function to call, and it returns a CURL easy handle that you must use as input to other easy-functions. curl_easy_init initializes curl and this call <span Class="bold">MUST</span> have a corresponding call to <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> when the operation is complete.
-<p class="level0">If you did not already call <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a>, <a class="emphasis" href="./curl_easy_init.html">curl_easy_init(3)</a> does it automatically. This may be lethal in multi-threaded cases, since <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> is not thread-safe, and it may result in resource problems because there is no corresponding cleanup.
-<p class="level0">You are strongly advised to not allow this automatic behaviour, by calling <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> yourself properly. See the description in <span Class="bold">libcurl</span>(3) of global environment requirements for details of how to use this function.
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong and you cannot use the other curl functions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup (3)</a> <a class="manpage" href="./curl_global_init.html"> curl_global_init (3)</a> <a class="manpage" href="./curl_easy_reset.html"> curl_easy_reset (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.pdf
deleted file mode 100644
index 15e05ef..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_init.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.3
deleted file mode 100644
index ae2ed90..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.3
+++ /dev/null
@@ -1,66 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_easy_pause 3 "17 Dec 2007" "libcurl 7.18.0" "libcurl Manual"
-.SH NAME
-curl_easy_pause - pause and unpause a connection
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-
-.BI "CURLcode curl_easy_pause(CURL *"handle ", int "bitmask " );"
-
-.SH DESCRIPTION
-Using this function, you can explicitly mark a running connection to get
-paused, and you can unpause a connection that was previously paused.
-
-A connection can made to pause by using this function or by letting the read
-or the write callbacks return the proper magic return code
-(\fICURL_READFUNC_PAUSE\fP and \fICURL_WRITEFUNC_PAUSE\fP). A write callback
-that returns pause signals to the library that it couldn't take care of any
-data at all, and that data will then be delivered again to the callback when
-the writing is later unpaused.
-
-NOTE: while it may feel tempting, take care and notice that you cannot call
-this function from another thread.
-
-When this function is called to unpause reading, the chance is high that you
-will get your write callback called before this function returns.
-
-The \fBhandle\fP argument is of course identifying the handle that operates on
-the connection you want to pause or unpause.
-
-The \fBbitmask\fP argument is a set of bits that sets the new state of the
-connection. The following bits can be used:
-.IP CURLPAUSE_RECV
-Pause receiving data. There will be no data received on this conneciton until
-this function is called again without this bit set. Thus, the write callback
-(\fICURLOPT_WRITEFUNCTION\fP) won't be called.
-.IP CURLPAUSE_SEND
-Pause sending data. There will be no data sent on this connection until this
-function is called again without this bit set. Thus, the read callback
-(\fICURLOPT_READFUNCTION\fP) won't be called.
-.IP CURLPAUSE_ALL
-Convenience define that pauses both directions.
-.IP CURLPAUSE_CONT
-Convenience define that unpauses both directions
-.SH RETURN VALUE
-CURLE_OK (zero) means that the option was set properly, and a non-zero return
-code means something wrong occurred after the new state was set. See the
-\fIlibcurl-errors(3)\fP man page for the full list with descriptions.
-.SH AVAILABILITY
-This function was added in libcurl 7.18.0. Before this version, there was no
-explicit support for pausing transfers.
-.SH "MEMORY USE"
-When pausing a read by returning the magic return code from a write callback,
-the read data is already in libcurl's internal buffers so it'll have to keep
-it in an allocated buffer until the reading is again unpaused using this
-function.
-
-If the downloaded data is compressed and is asked to get uncompressed
-automatially on download, libcurl will continue to uncompress the entire
-downloaded chunk and it will cache the data uncompressed. This has the side-
-effect that if you download something that is compressed a lot, it can result
-in a very large data amount needing to be allocated to save the data during
-the pause. This said, you should probably consider not using paused reading if
-you allow libcurl to uncompress data automatically.
-.SH "SEE ALSO"
-.BR curl_easy_cleanup "(3), " curl_easy_reset "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.html
deleted file mode 100644
index 75f3f03..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<html><head>
-<title>curl_easy_pause man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_pause - pause and unpause a connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_pause(CURL *handle , int bitmask );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Using this function, you can explicitly mark a running connection to get paused, and you can unpause a connection that was previously paused.
-<p class="level0">A connection can made to pause by using this function or by letting the read or the write callbacks return the proper magic return code (<span Class="emphasis">CURL_READFUNC_PAUSE</span> and <span Class="emphasis">CURL_WRITEFUNC_PAUSE</span>). A write callback that returns pause signals to the library that it couldn't take care of any data at all, and that data will then be delivered again to the callback when the writing is later unpaused.
-<p class="level0">NOTE: while it may feel tempting, take care and notice that you cannot call this function from another thread.
-<p class="level0">When this function is called to unpause reading, the chance is high that you will get your write callback called before this function returns.
-<p class="level0">The <span Class="bold">handle</span> argument is of course identifying the handle that operates on the connection you want to pause or unpause.
-<p class="level0">The <span Class="bold">bitmask</span> argument is a set of bits that sets the new state of the connection. The following bits can be used:
-<p class="level0"><a name="CURLPAUSERECV"></a><span class="nroffip">CURLPAUSE_RECV</span>
-<p class="level1">Pause receiving data. There will be no data received on this conneciton until this function is called again without this bit set. Thus, the write callback (<span Class="emphasis">CURLOPT_WRITEFUNCTION</span>) won't be called.
-<p class="level0"><a name="CURLPAUSESEND"></a><span class="nroffip">CURLPAUSE_SEND</span>
-<p class="level1">Pause sending data. There will be no data sent on this connection until this function is called again without this bit set. Thus, the read callback (<span Class="emphasis">CURLOPT_READFUNCTION</span>) won't be called.
-<p class="level0"><a name="CURLPAUSEALL"></a><span class="nroffip">CURLPAUSE_ALL</span>
-<p class="level1">Convenience define that pauses both directions.
-<p class="level0"><a name="CURLPAUSECONT"></a><span class="nroffip">CURLPAUSE_CONT</span>
-<p class="level1">Convenience define that unpauses both directions <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK (zero) means that the option was set properly, and a non-zero return code means something wrong occurred after the new state was set. See the <span Class="emphasis">libcurl-errors(3)</span> man page for the full list with descriptions. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.18.0. Before this version, there was no explicit support for pausing transfers. <a name="MEMORY"></a><h2 class="nroffsh">MEMORY USE</h2>
-<p class="level0">When pausing a read by returning the magic return code from a write callback, the read data is already in libcurl's internal buffers so it'll have to keep it in an allocated buffer until the reading is again unpaused using this function.
-<p class="level0">If the downloaded data is compressed and is asked to get uncompressed automatially on download, libcurl will continue to uncompress the entire downloaded chunk and it will cache the data uncompressed. This has the side- effect that if you download something that is compressed a lot, it can result in a very large data amount needing to be allocated to save the data during the pause. This said, you should probably consider not using paused reading if you allow libcurl to uncompress data automatically. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup (3)</a> <a class="manpage" href="./curl_easy_reset.html"> curl_easy_reset (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.pdf
deleted file mode 100644
index cff4468..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_pause.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.3
deleted file mode 100644
index ccc18c2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.3
+++ /dev/null
@@ -1,40 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_easy_perform 3 "5 Mar 2001" "libcurl 7.7" "libcurl Manual"
-.SH NAME
-curl_easy_perform - Perform a file transfer
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLcode curl_easy_perform(CURL *" handle ");"
-.ad
-.SH DESCRIPTION
-This function is called after the init and all the \fIcurl_easy_setopt(3)\fP
-calls are made, and will perform the transfer as described in the options. It
-must be called with the same
-.I handle
-as input as the curl_easy_init call returned.
-
-You can do any amount of calls to \fIcurl_easy_perform(3)\fP while using the
-same handle. If you intend to transfer more than one file, you are even
-encouraged to do so. libcurl will then attempt to re-use the same connection
-for the following transfers, thus making the operations faster, less CPU
-intense and using less network resources. Just note that you will have to use
-\fIcurl_easy_setopt(3)\fP between the invokes to set options for the following
-curl_easy_perform.
-
-You must never call this function simultaneously from two places using the
-same handle. Let the function return first before invoking it another time. If
-you want parallel transfers, you must use several curl handles.
-.SH RETURN VALUE
-0 means everything was ok, non-zero means an error occurred as
-.I <curl/curl.h>
-defines. If the CURLOPT_ERRORBUFFER was set with
-.I curl_easy_setopt
-there will be a readable error message in the error buffer when non-zero is
-returned.
-.SH "SEE ALSO"
-.BR curl_easy_init "(3), " curl_easy_setopt "(3), "
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.html
deleted file mode 100644
index 8654fea..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_easy_perform man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_perform - Perform a file transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_perform(CURL * handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function is called after the init and all the <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> calls are made, and will perform the transfer as described in the options. It must be called with the same <span Class="emphasis">handle</span> as input as the curl_easy_init call returned.
-<p class="level0">You can do any amount of calls to <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> while using the same handle. If you intend to transfer more than one file, you are even encouraged to do so. libcurl will then attempt to re-use the same connection for the following transfers, thus making the operations faster, less CPU intense and using less network resources. Just note that you will have to use <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> between the invokes to set options for the following curl_easy_perform.
-<p class="level0">You must never call this function simultaneously from two places using the same handle. Let the function return first before invoking it another time. If you want parallel transfers, you must use several curl handles. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">0 means everything was ok, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. If the CURLOPT_ERRORBUFFER was set with <span Class="emphasis">curl_easy_setopt</span> there will be a readable error message in the error buffer when non-zero is returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_init.html">curl_easy_init (3)</a> <a class="manpage" href="./curl_easy_setopt.html"> curl_easy_setopt (3)</a> <span Class="manpage"> </span>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.pdf
deleted file mode 100644
index 42d4cc8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_perform.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.3
deleted file mode 100644
index ea806ff..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.3
+++ /dev/null
@@ -1,70 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_recv 3 "29 April 2008" "libcurl 7.18.2" "libcurl Manual"
-.SH NAME
-curl_easy_recv - receives raw data on an "easy" connection
-.SH SYNOPSIS
-.B #include <curl/easy.h>
-.sp
-.BI "CURLcode curl_easy_recv( CURL *" curl ", void *" buffer ","
-.BI "size_t " buflen ", size_t *" n ");"
-.ad
-.SH DESCRIPTION
-This function receives raw data from the established connection. You may use
-it together with \fIcurl_easy_send(3)\fP to implement custom protocols using
-libcurl. This functionality can be particularly useful if you use proxies
-and/or SSL encryption: libcurl will take care of proxy negotiation and
-connection set-up.
-
-\fBbuffer\fP is a pointer to your buffer that will get the received
-data. \fBbuflen\fP is the maximum amount of data you can get in that
-buffer. The variable \fBn\fP points to will receive the number of received
-bytes.
-
-To establish the connection, set \fBCURLOPT_CONNECT_ONLY\fP option before
-calling \fIcurl_easy_perform(3)\fP. Note that \fIcurl_easy_recv(3)\fP does not
-work on connections that were created without this option.
-
-You must ensure that the socket has data to read before calling
-\fIcurl_easy_recv(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
-the socket is used in non-blocking mode internally. Use
-\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_LASTSOCKET\fP to obtain the
-socket; use your operating system facilities like \fIselect(2)\fP to check if
-it has any data you can read.
-.SH AVAILABILITY
-Added in 7.18.2.
-.SH RETURN VALUE
-On success, returns \fBCURLE_OK\fP, stores the received data into
-\fBbuffer\fP, and the number of bytes it actually read into \fB*n\fP.
-
-On failure, returns the appropriate error code.
-
-If there is no data to read, the function returns \fBCURLE_AGAIN\fP. Use
-your operating system facilities to wait until the data is ready, and retry.
-.SH EXAMPLE
-See \fBsendrecv.c\fP in \fBdocs/examples\fP directory for usage example.
-.SH "SEE ALSO"
-.BR curl_easy_setopt "(3), " curl_easy_perform "(3), "
-.BR curl_easy_getinfo "(3), "
-.BR curl_easy_send "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.html
deleted file mode 100644
index 51f77f9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<html><head>
-<title>curl_easy_recv man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_recv - receives raw data on an "easy" connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/easy.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_recv( CURL * curl , void * buffer ,</span> <span Class="bold">size_t buflen , size_t * n );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function receives raw data from the established connection. You may use it together with <a class="emphasis" href="./curl_easy_send.html">curl_easy_send(3)</a> to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up.
-<p class="level0"><span Class="bold">buffer</span> is a pointer to your buffer that will get the received data. <span Class="bold">buflen</span> is the maximum amount of data you can get in that buffer. The variable <span Class="bold">n</span> points to will receive the number of received bytes.
-<p class="level0">To establish the connection, set <span Class="bold">CURLOPT_CONNECT_ONLY</span> option before calling <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a>. Note that <a class="emphasis" href="./curl_easy_recv.html">curl_easy_recv(3)</a> does not work on connections that were created without this option.
-<p class="level0">You must ensure that the socket has data to read before calling <a class="emphasis" href="./curl_easy_recv.html">curl_easy_recv(3)</a>, otherwise the call will return <span Class="bold">CURLE_AGAIN</span> - the socket is used in non-blocking mode internally. Use <a class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo(3)</a> with <span Class="bold">CURLINFO_LASTSOCKET</span> to obtain the socket; use your operating system facilities like <span Class="emphasis">select(2)</span> to check if it has any data you can read. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.2. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">On success, returns <span Class="bold">CURLE_OK</span>, stores the received data into <span Class="bold">buffer</span>, and the number of bytes it actually read into <span Class="bold">*n</span>.
-<p class="level0">On failure, returns the appropriate error code.
-<p class="level0">If there is no data to read, the function returns <span Class="bold">CURLE_AGAIN</span>. Use your operating system facilities to wait until the data is ready, and retry. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">See <span Class="bold">sendrecv.c</span> in <span Class="bold">docs/examples</span> directory for usage example. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt (3)</a> <a class="manpage" href="./curl_easy_perform.html"> curl_easy_perform (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_easy_getinfo.html">curl_easy_getinfo (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_easy_send.html">curl_easy_send (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.pdf
deleted file mode 100644
index 9446eed..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_recv.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.3
deleted file mode 100644
index 30d0316..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.3
+++ /dev/null
@@ -1,24 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_easy_reset 3 "31 July 2004" "libcurl 7.12.1" "libcurl Manual"
-.SH NAME
-curl_easy_reset - reset all options of a libcurl session handle
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-
-.BI "void curl_easy_reset(CURL *"handle ");"
-
-.SH DESCRIPTION
-Re-initializes all options previously set on a specified CURL handle to the
-default values. This puts back the handle to the same state as it was in when
-it was just created with \fIcurl_easy_init(3)\fP.
-
-It does not change the following information kept in the handle: live
-connections, the Session ID cache, the DNS cache, the cookies and shares.
-.SH AVAILABILITY
-This function was added in libcurl 7.12.1
-.SH RETURN VALUE
-Nothing
-.SH "SEE ALSO"
-.BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_easy_setopt "(3)
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.html
deleted file mode 100644
index daed742..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_easy_reset man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_reset - reset all options of a libcurl session handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_easy_reset(CURL *handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Re-initializes all options previously set on a specified CURL handle to the default values. This puts back the handle to the same state as it was in when it was just created with <a class="emphasis" href="./curl_easy_init.html">curl_easy_init(3)</a>.
-<p class="level0">It does not change the following information kept in the handle: live connections, the Session ID cache, the DNS cache, the cookies and shares. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Nothing <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_init.html">curl_easy_init (3)</a> <a class="manpage" href="./curl_easy_cleanup.html"> curl_easy_cleanup (3)</a> <a class="manpage" href="./curl_easy_setopt.html"> curl_easy_setopt (3)</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.pdf
deleted file mode 100644
index fd9d031..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_reset.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.3
deleted file mode 100644
index 60a97b2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.3
+++ /dev/null
@@ -1,65 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_send 3 "29 April 2008" "libcurl 7.18.2" "libcurl Manual"
-.SH NAME
-curl_easy_send - sends raw data over an "easy" connection
-.SH SYNOPSIS
-.B #include <curl/easy.h>
-.sp
-.BI "CURLcode curl_easy_send( CURL *" curl ", const void *" buffer ","
-.BI " size_t " buflen ", size_t *" n ");"
-.ad
-.SH DESCRIPTION
-This function sends arbitrary data over the established connection. You may
-use it together with \fIcurl_easy_recv(3)\fP to implement custom protocols
-using libcurl. This functionality can be particularly useful if you use
-proxies and/or SSL encryption: libcurl will take care of proxy negotiation and
-connection set-up.
-
-\fBbuffer\fP is a pointer to the data of length \fBbuflen\fP that you want sent.
-The variable \fBn\fP points to will receive the number of sent bytes.
-
-To establish the connection, set \fBCURLOPT_CONNECT_ONLY\fP option before
-calling \fIcurl_easy_perform(3)\fP. Note that \fIcurl_easy_send(3)\fP will not
-work on connections that were created without this option.
-
-You must ensure that the socket is writable before calling
-\fIcurl_easy_send(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
-the socket is used in non-blocking mode internally. Use
-\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_LASTSOCKET\fP to obtain the
-socket; use your operating system facilities like \fIselect(2)\fP to check if
-it can be written to.
-.SH AVAILABILITY
-Added in 7.18.2.
-.SH RETURN VALUE
-On success, returns \fBCURLE_OK\fP and stores the number of bytes actually
-sent into \fB*n\fP. Note that this may very well be less than the amount you
-wanted to send.
-
-On failure, returns the appropriate error code.
-.SH EXAMPLE
-See \fBsendrecv.c\fP in \fBdocs/examples\fP directory for usage example.
-.SH "SEE ALSO"
-.BR curl_easy_setopt "(3), " curl_easy_perform "(3), " curl_easy_getinfo "(3), "
-.BR curl_easy_recv "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.html
deleted file mode 100644
index 4f5d279..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><head>
-<title>curl_easy_send man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_send - sends raw data over an "easy" connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/easy.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_send( CURL * curl , const void * buffer ,</span> <span Class="bold"> size_t buflen , size_t * n );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function sends arbitrary data over the established connection. You may use it together with <a class="emphasis" href="./curl_easy_recv.html">curl_easy_recv(3)</a> to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up.
-<p class="level0"><span Class="bold">buffer</span> is a pointer to the data of length <span Class="bold">buflen</span> that you want sent. The variable <span Class="bold">n</span> points to will receive the number of sent bytes.
-<p class="level0">To establish the connection, set <span Class="bold">CURLOPT_CONNECT_ONLY</span> option before calling <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a>. Note that <a class="emphasis" href="./curl_easy_send.html">curl_easy_send(3)</a> will not work on connections that were created without this option.
-<p class="level0">You must ensure that the socket is writable before calling <a class="emphasis" href="./curl_easy_send.html">curl_easy_send(3)</a>, otherwise the call will return <span Class="bold">CURLE_AGAIN</span> - the socket is used in non-blocking mode internally. Use <a class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo(3)</a> with <span Class="bold">CURLINFO_LASTSOCKET</span> to obtain the socket; use your operating system facilities like <span Class="emphasis">select(2)</span> to check if it can be written to. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.2. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">On success, returns <span Class="bold">CURLE_OK</span> and stores the number of bytes actually sent into <span Class="bold">*n</span>. Note that this may very well be less than the amount you wanted to send.
-<p class="level0">On failure, returns the appropriate error code. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">See <span Class="bold">sendrecv.c</span> in <span Class="bold">docs/examples</span> directory for usage example. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt (3)</a> <a class="manpage" href="./curl_easy_perform.html"> curl_easy_perform (3)</a> <a class="manpage" href="./curl_easy_getinfo.html"> curl_easy_getinfo (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_easy_recv.html">curl_easy_recv (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.pdf
deleted file mode 100644
index fe9ba73..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_send.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.3
deleted file mode 100644
index 6059e38..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.3
+++ /dev/null
@@ -1,1637 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_setopt 3 "30 Jul 2008" "libcurl 7.19.0" "libcurl Manual"
-.SH NAME
-curl_easy_setopt \- set options for a curl easy handle
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
-.SH DESCRIPTION
-curl_easy_setopt() is used to tell libcurl how to behave. By using the
-appropriate options to \fIcurl_easy_setopt\fP, you can change libcurl's
-behavior. All options are set with the \fIoption\fP followed by a
-\fIparameter\fP. That parameter can be a \fBlong\fP, a \fBfunction pointer\fP,
-an \fBobject pointer\fP or a \fBcurl_off_t\fP, depending on what the specific
-option expects. Read this manual carefully as bad input values may cause
-libcurl to behave badly! You can only set one option in each function call. A
-typical application uses many curl_easy_setopt() calls in the setup phase.
-
-Options set with this function call are valid for all forthcoming transfers
-performed using this \fIhandle\fP. The options are not in any way reset
-between transfers, so if you want subsequent transfers with different options,
-you must change them between the transfers. You can optionally reset all
-options back to internal default with \fIcurl_easy_reset(3)\fP.
-
-Strings passed to libcurl as 'char *' arguments, are copied by the library;
-thus the string storage associated to the pointer argument may be overwritten
-after curl_easy_setopt() returns. Exceptions to this rule are described in
-the option details below.
-
-NOTE: before 7.17.0 strings were not copied. Instead the user was forced keep
-them available until libcurl no longer needed them.
-
-The \fIhandle\fP is the return code from a \fIcurl_easy_init(3)\fP or
-\fIcurl_easy_duphandle(3)\fP call.
-.SH BEHAVIOR OPTIONS
-.IP CURLOPT_VERBOSE
-Set the parameter to 1 to get the library to display a lot of verbose
-information about its operations. Very useful for libcurl and/or protocol
-debugging and understanding. The verbose information will be sent to stderr,
-or the stream set with \fICURLOPT_STDERR\fP.
-
-You hardly ever want this set in production use, you will almost always want
-this when you debug/report problems. Another neat option for debugging is the
-\fICURLOPT_DEBUGFUNCTION\fP.
-.IP CURLOPT_HEADER
-A parameter set to 1 tells the library to include the header in the body
-output. This is only relevant for protocols that actually have headers
-preceding the data (like HTTP).
-.IP CURLOPT_NOPROGRESS
-A parameter set to 1 tells the library to shut off the built-in progress meter
-completely.
-
-Future versions of libcurl is likely to not have any built-in progress meter
-at all.
-.IP CURLOPT_NOSIGNAL
-Pass a long. If it is 1, libcurl will not use any functions that
-install signal handlers or any functions that cause signals to be sent to the
-process. This option is mainly here to allow multi-threaded unix applications
-to still set/use all timeout options etc, without risking getting signals.
-(Added in 7.10)
-
-Consider building libcurl with ares support to enable asynchronous DNS
-lookups. It enables nice timeouts for name resolves without signals.
-.PP
-.SH CALLBACK OPTIONS
-.IP CURLOPT_WRITEFUNCTION
-Function pointer that should match the following prototype: \fBsize_t
-function( void *ptr, size_t size, size_t nmemb, void *stream);\fP This
-function gets called by libcurl as soon as there is data received that needs
-to be saved. The size of the data pointed to by \fIptr\fP is \fIsize\fP
-multiplied with \fInmemb\fP, it will not be zero terminated. Return the number
-of bytes actually taken care of. If that amount differs from the amount passed
-to your function, it'll signal an error to the library and it will abort the
-transfer and return \fICURLE_WRITE_ERROR\fP.
-
-From 7.18.0, the function can return CURL_WRITEFUNC_PAUSE which then will
-cause writing to this connection to become paused. See
-\fIcurl_easy_pause(3)\fP for further details.
-
-This function may be called with zero bytes data if the transfered file is
-empty.
-
-Set this option to NULL to get the internal default function. The internal
-default function will write the data to the FILE * given with
-\fICURLOPT_WRITEDATA\fP.
-
-Set the \fIstream\fP argument with the \fICURLOPT_WRITEDATA\fP option.
-
-The callback function will be passed as much data as possible in all invokes,
-but you cannot possibly make any assumptions. It may be one byte, it may be
-thousands. The maximum amount of data that can be passed to the write callback
-is defined in the curl.h header file: CURL_MAX_WRITE_SIZE.
-.IP CURLOPT_WRITEDATA
-Data pointer to pass to the file write function. If you use the
-\fICURLOPT_WRITEFUNCTION\fP option, this is the pointer you'll get as
-input. If you don't use a callback, you must pass a 'FILE *' as libcurl will
-pass this to fwrite() when writing data.
-
-The internal \fICURLOPT_WRITEFUNCTION\fP will write the data to the FILE *
-given with this option, or to stdout if this option hasn't been set.
-
-If you're using libcurl as a win32 DLL, you \fBMUST\fP use the
-\fICURLOPT_WRITEFUNCTION\fP if you set this option or you will experience
-crashes.
-
-This option is also known with the older name \fICURLOPT_FILE\fP, the name
-\fICURLOPT_WRITEDATA\fP was introduced in 7.9.7.
-.IP CURLOPT_READFUNCTION
-Function pointer that should match the following prototype: \fBsize_t
-function( void *ptr, size_t size, size_t nmemb, void *stream);\fP This
-function gets called by libcurl as soon as it needs to read data in order to
-send it to the peer. The data area pointed at by the pointer \fIptr\fP may be
-filled with at most \fIsize\fP multiplied with \fInmemb\fP number of
-bytes. Your function must return the actual number of bytes that you stored in
-that memory area. Returning 0 will signal end-of-file to the library and cause
-it to stop the current transfer.
-
-If you stop the current transfer by returning 0 "pre-maturely" (i.e before the
-server expected it, like when you've told you will upload N bytes and you
-upload less than N bytes), you may experience that the server "hangs" waiting
-for the rest of the data that won't come.
-
-The read callback may return \fICURL_READFUNC_ABORT\fP to stop the current
-operation immediately, resulting in a \fICURLE_ABORTED_BY_CALLBACK\fP error
-code from the transfer (Added in 7.12.1)
-
-From 7.18.0, the function can return CURL_READFUNC_PAUSE which then will cause
-reading from this connection to become paused. See \fIcurl_easy_pause(3)\fP
-for further details.
-
-If you set the callback pointer to NULL, or doesn't set it at all, the default
-internal read function will be used. It is simply doing an fread() on the FILE
-* stream set with \fICURLOPT_READDATA\fP.
-.IP CURLOPT_READDATA
-Data pointer to pass to the file read function. If you use the
-\fICURLOPT_READFUNCTION\fP option, this is the pointer you'll get as input. If
-you don't specify a read callback but instead rely on the default internal
-read function, this data must be a valid readable FILE *.
-
-If you're using libcurl as a win32 DLL, you MUST use a
-\fICURLOPT_READFUNCTION\fP if you set this option.
-
-This option is also known with the older name \fICURLOPT_INFILE\fP, the name
-\fICURLOPT_READDATA\fP was introduced in 7.9.7.
-.IP CURLOPT_IOCTLFUNCTION
-Function pointer that should match the \fIcurl_ioctl_callback\fP prototype
-found in \fI<curl/curl.h>\fP. This function gets called by libcurl when
-something special I/O-related needs to be done that the library can't do by
-itself. For now, rewinding the read data stream is the only action it can
-request. The rewinding of the read data stream may be necessary when doing a
-HTTP PUT or POST with a multi-pass authentication method. (Option added in
-7.12.3).
-
-Use \fICURLOPT_SEEKFUNCTION\fP instead to provide seeking!
-.IP CURLOPT_IOCTLDATA
-Pass a pointer that will be untouched by libcurl and passed as the 3rd
-argument in the ioctl callback set with \fICURLOPT_IOCTLFUNCTION\fP. (Option
-added in 7.12.3)
-.IP CURLOPT_SEEKFUNCTION
-Function pointer that should match the following prototype: \fIint
-function(void *instream, curl_off_t offset, int origin);\fP This function gets
-called by libcurl to seek to a certain position in the input stream and can be
-used to fast forward a file in a resumed upload (instead of reading all
-uploaded bytes with the normal read function/callback). It is also called to
-rewind a stream when doing a HTTP PUT or POST with a multi-pass authentication
-method. The function shall work like "fseek" or "lseek" and accepted SEEK_SET,
-SEEK_CUR and SEEK_END as argument for origin, although (in 7.18.0) libcurl
-only passes SEEK_SET. The callback must return 0 on success as returning
-something else will cause the upload operation to fail.
-
-If you forward the input arguments directly to "fseek" or "lseek", note that
-the data type for \fIoffset\fP is not the same as defined for curl_off_t on
-many systems! (Option added in 7.18.0)
-.IP CURLOPT_SEEKDATA
-Data pointer to pass to the file read function. If you use the
-\fICURLOPT_SEEKFUNCTION\fP option, this is the pointer you'll get as input. If
-you don't specify a seek callback, NULL is passed. (Option added in 7.18.0)
-.IP CURLOPT_SOCKOPTFUNCTION
-Function pointer that should match the \fIcurl_sockopt_callback\fP prototype
-found in \fI<curl/curl.h>\fP. This function gets called by libcurl after the
-socket() call but before the connect() call. The callback's \fIpurpose\fP
-argument identifies the exact purpose for this particular socket, and
-currently only one value is supported: \fICURLSOCKTYPE_IPCXN\fP for the
-primary connection (meaning the control connection in the FTP case). Future
-versions of libcurl may support more purposes. It passes the newly created
-socket descriptor so additional setsockopt() calls can be done at the user's
-discretion. A non-zero return code from the callback function will signal an
-unrecoverable error to the library and it will close the socket and return
-\fICURLE_COULDNT_CONNECT\fP. (Option added in 7.15.6.)
-.IP CURLOPT_SOCKOPTDATA
-Pass a pointer that will be untouched by libcurl and passed as the first
-argument in the sockopt callback set with \fICURLOPT_SOCKOPTFUNCTION\fP.
-(Option added in 7.15.6.)
-.IP CURLOPT_OPENSOCKETFUNCTION
-Function pointer that should match the \fIcurl_opensocket_callback\fP
-prototype found in \fI<curl/curl.h>\fP. This function gets called by libcurl
-instead of the \fIsocket(2)\fP call. The callback's \fIpurpose\fP argument
-identifies the exact purpose for this particular socket, and currently only
-one value is supported: \fICURLSOCKTYPE_IPCXN\fP for the primary connection
-(meaning the control connection in the FTP case). Future versions of libcurl
-may support more purposes. It passes the resolved peer address as a
-\fIaddress\fP argument so the callback can modify the address or refuse to
-connect at all. The callback function should return the socket or
-\fICURL_SOCKET_BAD\fP in case no connection should be established or any error
-detected. Any additional \fIsetsockopt(2)\fP calls can be done on the socket
-at the user's discretion. \fICURL_SOCKET_BAD\fP return value from the
-callback function will signal an unrecoverable error to the library and it
-will return \fICURLE_COULDNT_CONNECT\fP. This return code can be used for IP
-address blacklisting. The default behavior is:
-.Bd -literal -offset indent
- return socket(addr->family, addr->socktype, addr->protocol);
-.Ed
-(Option added in 7.17.1.)
-.IP CURLOPT_OPENSOCKETDATA
-Pass a pointer that will be untouched by libcurl and passed as the first
-argument in the opensocket callback set with \fICURLOPT_OPENSOCKETFUNCTION\fP.
-(Option added in 7.17.1.)
-.IP CURLOPT_PROGRESSFUNCTION
-Function pointer that should match the \fIcurl_progress_callback\fP prototype
-found in \fI<curl/curl.h>\fP. This function gets called by libcurl instead of
-its internal equivalent with a frequent interval during operation (roughly
-once per second) no matter if data is being transfered or not. Unknown/unused
-argument values passed to the callback will be set to zero (like if you only
-download data, the upload size will remain 0). Returning a non-zero value from
-this callback will cause libcurl to abort the transfer and return
-\fICURLE_ABORTED_BY_CALLBACK\fP.
-
-If you transfer data with the multi interface, this function will not be
-called during periods of idleness unless you call the appropriate libcurl
-function that performs transfers.
-
-\fICURLOPT_NOPROGRESS\fP must be set to 0 to make this function actually
-get called.
-.IP CURLOPT_PROGRESSDATA
-Pass a pointer that will be untouched by libcurl and passed as the first
-argument in the progress callback set with \fICURLOPT_PROGRESSFUNCTION\fP.
-.IP CURLOPT_HEADERFUNCTION
-Function pointer that should match the following prototype: \fIsize_t
-function( void *ptr, size_t size, size_t nmemb, void *stream);\fP. This
-function gets called by libcurl as soon as it has received header data. The
-header callback will be called once for each header and only complete header
-lines are passed on to the callback. Parsing headers should be easy enough
-using this. The size of the data pointed to by \fIptr\fP is \fIsize\fP
-multiplied with \fInmemb\fP. Do not assume that the header line is zero
-terminated! The pointer named \fIstream\fP is the one you set with the
-\fICURLOPT_WRITEHEADER\fP option. The callback function must return the number
-of bytes actually taken care of, or return -1 to signal error to the library
-(it will cause it to abort the transfer with a \fICURLE_WRITE_ERROR\fP return
-code).
-
-If this option is not set, or if it is set to NULL, but
-\fICURLOPT_HEADERDATA\fP (\fICURLOPT_WRITEHEADER\fP) is set to anything but
-NULL, the function used to accept response data will be used instead. That is,
-it will be the function specified with \fICURLOPT_WRITEFUNCTION\fP, or if it
-is not specified or NULL - the default, stream-writing function.
-
-Since 7.14.1: When a server sends a chunked encoded transfer, it may contain a
-trailer. That trailer is identical to a HTTP header and if such a trailer is
-received it is passed to the application using this callback as well. There
-are several ways to detect it being a trailer and not an ordinary header: 1)
-it comes after the response-body. 2) it comes after the final header line (CR
-LF) 3) a Trailer: header among the response-headers mention what header to
-expect in the trailer.
-.IP CURLOPT_WRITEHEADER
-(This option is also known as \fBCURLOPT_HEADERDATA\fP) Pass a pointer to be
-used to write the header part of the received data to. If you don't use your
-own callback to take care of the writing, this must be a valid FILE *. See
-also the \fICURLOPT_HEADERFUNCTION\fP option above on how to set a custom
-get-all-headers callback.
-.IP CURLOPT_DEBUGFUNCTION
-Function pointer that should match the following prototype: \fIint
-curl_debug_callback (CURL *, curl_infotype, char *, size_t, void *);\fP
-\fICURLOPT_DEBUGFUNCTION\fP replaces the standard debug function used when
-\fICURLOPT_VERBOSE \fP is in effect. This callback receives debug information,
-as specified with the \fBcurl_infotype\fP argument. This function must return
-0. The data pointed to by the char * passed to this function WILL NOT be zero
-terminated, but will be exactly of the size as told by the size_t argument.
-
-Available curl_infotype values:
-.RS
-.IP CURLINFO_TEXT
-The data is informational text.
-.IP CURLINFO_HEADER_IN
-The data is header (or header-like) data received from the peer.
-.IP CURLINFO_HEADER_OUT
-The data is header (or header-like) data sent to the peer.
-.IP CURLINFO_DATA_IN
-The data is protocol data received from the peer.
-.IP CURLINFO_DATA_OUT
-The data is protocol data sent to the peer.
-.RE
-.IP CURLOPT_DEBUGDATA
-Pass a pointer to whatever you want passed in to your
-\fICURLOPT_DEBUGFUNCTION\fP in the last void * argument. This pointer is not
-used by libcurl, it is only passed to the callback.
-.IP CURLOPT_SSL_CTX_FUNCTION
-This option does only function for libcurl powered by OpenSSL. If libcurl was
-built against another SSL library, this functionality is absent.
-
-Function pointer that should match the following prototype: \fBCURLcode
-sslctxfun(CURL *curl, void *sslctx, void *parm);\fP This function gets called
-by libcurl just before the initialization of an SSL connection after having
-processed all other SSL related options to give a last chance to an
-application to modify the behaviour of openssl's ssl initialization. The
-\fIsslctx\fP parameter is actually a pointer to an openssl \fISSL_CTX\fP. If
-an error is returned no attempt to establish a connection is made and the
-perform operation will return the error code from this callback function. Set
-the \fIparm\fP argument with the \fICURLOPT_SSL_CTX_DATA\fP option. This
-option was introduced in 7.11.0.
-
-This function will get called on all new connections made to a server, during
-the SSL negotiation. The SSL_CTX pointer will be a new one every time.
-
-To use this properly, a non-trivial amount of knowledge of the openssl
-libraries is necessary. Using this function allows for example to use openssl
-callbacks to add additional validation code for certificates, and even to
-change the actual URI of an HTTPS request (example used in the lib509 test
-case). See also the example section for a replacement of the key, certificate
-and trust file settings.
-.IP CURLOPT_SSL_CTX_DATA
-Data pointer to pass to the ssl context callback set by the option
-\fICURLOPT_SSL_CTX_FUNCTION\fP, this is the pointer you'll get as third
-parameter, otherwise \fBNULL\fP. (Added in 7.11.0)
-.IP CURLOPT_CONV_TO_NETWORK_FUNCTION
-.IP CURLOPT_CONV_FROM_NETWORK_FUNCTION
-.IP CURLOPT_CONV_FROM_UTF8_FUNCTION
-Function pointers that should match the following prototype: CURLcode
-function(char *ptr, size_t length);
-
-These three options apply to non-ASCII platforms only. They are available
-only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built. When
-this is the case, \fIcurl_version_info(3)\fP will return the CURL_VERSION_CONV
-feature bit set.
-
-The data to be converted is in a buffer pointed to by the ptr parameter. The
-amount of data to convert is indicated by the length parameter. The converted
-data overlays the input data in the buffer pointed to by the ptr parameter.
-CURLE_OK should be returned upon successful conversion. A CURLcode return
-value defined by curl.h, such as CURLE_CONV_FAILED, should be returned if an
-error was encountered.
-
-\fBCURLOPT_CONV_TO_NETWORK_FUNCTION\fP and
-\fBCURLOPT_CONV_FROM_NETWORK_FUNCTION\fP convert between the host encoding and
-the network encoding. They are used when commands or ASCII data are
-sent/received over the network.
-
-\fBCURLOPT_CONV_FROM_UTF8_FUNCTION\fP is called to convert from UTF8 into the
-host encoding. It is required only for SSL processing.
-
-If you set a callback pointer to NULL, or don't set it at all, the built-in
-libcurl iconv functions will be used. If HAVE_ICONV was not defined when
-libcurl was built, and no callback has been established, conversion will
-return the CURLE_CONV_REQD error code.
-
-If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined.
-For example:
-
- \&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
-
-The iconv code in libcurl will default the network and UTF8 codeset names as
-follows:
-
- \&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-
- \&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
-
-You will need to override these definitions if they are different on your
-system.
-.SH ERROR OPTIONS
-.IP CURLOPT_ERRORBUFFER
-Pass a char * to a buffer that the libcurl may store human readable error
-messages in. This may be more helpful than just the return code from
-\fIcurl_easy_perform\fP. The buffer must be at least CURL_ERROR_SIZE big.
-Although this argument is a 'char *', it does not describe an input string.
-Therefore the (probably undefined) contents of the buffer is NOT copied
-by the library. You should keep the associated storage available until
-libcurl no longer needs it. Failing to do so will cause very odd behavior
-or even crashes. libcurl will need it until you call \fIcurl_easy_cleanup(3)\fP
-or you set the same option again to use a different pointer.
-
-Use \fICURLOPT_VERBOSE\fP and \fICURLOPT_DEBUGFUNCTION\fP to better
-debug/trace why errors happen.
-
-If the library does not return an error, the buffer may not have been
-touched. Do not rely on the contents in those cases.
-
-.IP CURLOPT_STDERR
-Pass a FILE * as parameter. Tell libcurl to use this stream instead of stderr
-when showing the progress meter and displaying \fICURLOPT_VERBOSE\fP data.
-.IP CURLOPT_FAILONERROR
-A parameter set to 1 tells the library to fail silently if the HTTP code
-returned is equal to or larger than 400. The default action would be to return
-the page normally, ignoring that code.
-
-This method is not fail-safe and there are occasions where non-successful
-response codes will slip through, especially when authentication is involved
-(response codes 401 and 407).
-
-You might get some amounts of headers transferred before this situation is
-detected, like for when a "100-continue" is received as a response to a
-POST/PUT and a 401 or 407 is received immediately afterwards.
-.SH NETWORK OPTIONS
-.IP CURLOPT_URL
-The actual URL to deal with. The parameter should be a char * to a zero
-terminated string.
-
-If the given URL lacks the protocol part ("http://" or "ftp://" etc), it will
-attempt to guess which protocol to use based on the given host name. If the
-given protocol of the set URL is not supported, libcurl will return on error
-(\fICURLE_UNSUPPORTED_PROTOCOL\fP) when you call \fIcurl_easy_perform(3)\fP or
-\fIcurl_multi_perform(3)\fP. Use \fIcurl_version_info(3)\fP for detailed info
-on which protocols that are supported.
-
-The string given to CURLOPT_URL must be url-encoded and following the RFC 2396
-(http://curl.haxx.se/rfc/rfc2396.txt).
-
-\fICURLOPT_URL\fP is the only option that \fBmust\fP be set before
-\fIcurl_easy_perform(3)\fP is called.
-.IP CURLOPT_PROXY
-Set HTTP proxy to use. The parameter should be a char * to a zero terminated
-string holding the host name or dotted IP address. To specify port number in
-this string, append :[port] to the end of the host name. The proxy string may
-be prefixed with [protocol]:// since any such prefix will be ignored. The
-proxy's port number may optionally be specified with the separate option
-\fICURLOPT_PROXYPORT\fP.
-
-When you tell the library to use an HTTP proxy, libcurl will transparently
-convert operations to HTTP even if you specify an FTP URL etc. This may have
-an impact on what other features of the library you can use, such as
-\fICURLOPT_QUOTE\fP and similar FTP specifics that don't work unless you
-tunnel through the HTTP proxy. Such tunneling is activated with
-\fICURLOPT_HTTPPROXYTUNNEL\fP.
-
-libcurl respects the environment variables \fBhttp_proxy\fP, \fBftp_proxy\fP,
-\fBall_proxy\fP etc, if any of those is set. The \fICURLOPT_PROXY\fP option
-does however override any possibly set environment variables.
-
-Setting the proxy string to "" (an empty string) will explicitly disable the
-use of a proxy, even if there is an environment variable set for it.
-
-Since 7.14.1, the proxy host string given in environment variables can be
-specified the exact same way as the proxy can be set with \fICURLOPT_PROXY\fP,
-include protocol prefix (http://) and embedded user + password.
-.IP CURLOPT_PROXYPORT
-Pass a long with this option to set the proxy port to connect to unless it is
-specified in the proxy string \fICURLOPT_PROXY\fP.
-.IP CURLOPT_PROXYTYPE
-Pass a long with this option to set type of the proxy. Available options for
-this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_SOCKS4\fP (added in 7.15.2),
-\fICURLPROXY_SOCKS5\fP, \fICURLPROXY_SOCKS4A\fP (added in 7.18.0) and
-\fICURLPROXY_SOCKS5_HOSTNAME\fP (added in 7.18.0). The HTTP type is
-default. (Added in 7.10)
-.IP CURLOPT_HTTPPROXYTUNNEL
-Set the parameter to 1 to make the library tunnel all operations through a
-given HTTP proxy. There is a big difference between using a proxy and to
-tunnel through it. If you don't know what this means, you probably don't want
-this tunneling option.
-.IP CURLOPT_SOCKS5_RESOLVE_LOCAL
-Set the parameter to 1 to make the library to resolve the host name locally
-instead of passing it to the proxy to resolve, when using a SOCKS5 proxy.
-
-Note that libcurl before 7.18.0 always resolved the host name locally even
-when SOCKS5 was used. (Added in 7.18.0)
-.IP CURLOPT_INTERFACE
-Pass a char * as parameter. This set the interface name to use as outgoing
-network interface. The name can be an interface name, an IP address or a host
-name.
-.IP CURLOPT_LOCALPORT
-Pass a long. This sets the local port number of the socket used for
-connection. This can be used in combination with \fICURLOPT_INTERFACE\fP and
-you are recommended to use \fICURLOPT_LOCALPORTRANGE\fP as well when this is
-set. Note that port numbers are only valid 1 - 65535. (Added in 7.15.2)
-.IP CURLOPT_LOCALPORTRANGE
-Pass a long. This is the number of attempts libcurl should do to find a
-working local port number. It starts with the given \fICURLOPT_LOCALPORT\fP
-and adds one to the number for each retry. Setting this to 1 or below will
-make libcurl do only one try for the exact port number. Note that port numbers
-by nature are scarce resources that will be busy at times so setting this
-value to something too low might cause unnecessary connection setup
-failures. (Added in 7.15.2)
-.IP CURLOPT_DNS_CACHE_TIMEOUT
-Pass a long, this sets the timeout in seconds. Name resolves will be kept in
-memory for this number of seconds. Set to zero to completely disable
-caching, or set to -1 to make the cached entries remain forever. By default,
-libcurl caches this info for 60 seconds.
-
-NOTE: the name resolve functions of various libc implementations don't re-read
-name server information unless explicitly told so (by for example calling
-\fIres_init(3)\fP. This may cause libcurl to keep using the older server even
-if DHCP has updated the server info, and this may look like a DNS cache issue
-to the casual libcurl-app user.
-.IP CURLOPT_DNS_USE_GLOBAL_CACHE
-Pass a long. If the value is 1, it tells curl to use a global DNS cache
-that will survive between easy handle creations and deletions. This is not
-thread-safe and this will use a global variable.
-
-\fBWARNING:\fP this option is considered obsolete. Stop using it. Switch over
-to using the share interface instead! See \fICURLOPT_SHARE\fP and
-\fIcurl_share_init(3)\fP.
-.IP CURLOPT_BUFFERSIZE
-Pass a long specifying your preferred size (in bytes) for the receive buffer
-in libcurl. The main point of this would be that the write callback gets
-called more often and with smaller chunks. This is just treated as a request,
-not an order. You cannot be guaranteed to actually get the given size. (Added
-in 7.10)
-
-This size is by default set as big as possible (CURL_MAX_WRITE_SIZE), so it
-only makes sense to use this option if you want it smaller.
-.IP CURLOPT_PORT
-Pass a long specifying what remote port number to connect to, instead of the
-one specified in the URL or the default port for the used protocol.
-.IP CURLOPT_TCP_NODELAY
-Pass a long specifying whether the TCP_NODELAY option should be set or
-cleared (1 = set, 0 = clear). The option is cleared by default. This
-will have no effect after the connection has been established.
-
-Setting this option will disable TCP's Nagle algorithm. The purpose of
-this algorithm is to try to minimize the number of small packets on
-the network (where "small packets" means TCP segments less than the
-Maximum Segment Size (MSS) for the network).
-
-Maximizing the amount of data sent per TCP segment is good because it
-amortizes the overhead of the send. However, in some cases (most
-notably telnet or rlogin) small segments may need to be sent
-without delay. This is less efficient than sending larger amounts of
-data at a time, and can contribute to congestion on the network if
-overdone.
-.IP CURLOPT_ADDRESS_SCOPE
-Pass a long specifying the scope_id value to use when connecting to IPv6
-link-local or site-local addresses.
-.SH NAMES and PASSWORDS OPTIONS (Authentication)
-.IP CURLOPT_NETRC
-This parameter controls the preference of libcurl between using user names and
-passwords from your \fI~/.netrc\fP file, relative to user names and passwords
-in the URL supplied with \fICURLOPT_URL\fP.
-
-libcurl uses a user name (and supplied or prompted password) supplied with
-\fICURLOPT_USERPWD\fP in preference to any of the options controlled by this
-parameter.
-
-Pass a long, set to one of the values described below.
-.RS
-.IP CURL_NETRC_OPTIONAL
-The use of your \fI~/.netrc\fP file is optional, and information in the URL is
-to be preferred. The file will be scanned with the host and user name (to
-find the password only) or with the host only, to find the first user name and
-password after that \fImachine\fP, which ever information is not specified in
-the URL.
-
-Undefined values of the option will have this effect.
-.IP CURL_NETRC_IGNORED
-The library will ignore the file and use only the information in the URL.
-
-This is the default.
-.IP CURL_NETRC_REQUIRED
-This value tells the library that use of the file is required, to ignore the
-information in the URL, and to search the file with the host only.
-.RE
-Only machine name, user name and password are taken into account
-(init macros and similar things aren't supported).
-
-libcurl does not verify that the file has the correct properties set (as the
-standard Unix ftp client does). It should only be readable by user.
-.IP CURLOPT_NETRC_FILE
-Pass a char * as parameter, pointing to a zero terminated string containing
-the full path name to the file you want libcurl to use as .netrc file. If this
-option is omitted, and \fICURLOPT_NETRC\fP is set, libcurl will attempt to
-find a .netrc file in the current user's home directory. (Added in 7.10.9)
-.IP CURLOPT_USERPWD
-Pass a char * as parameter, which should be [user name]:[password] to use for
-the connection. Use \fICURLOPT_HTTPAUTH\fP to decide authentication method.
-
-When using NTLM, you can set domain by prepending it to the user name and
-separating the domain and name with a forward (/) or backward slash (\\). Like
-this: "domain/user:password" or "domain\\user:password". Some HTTP servers (on
-Windows) support this style even for Basic authentication.
-
-When using HTTP and \fICURLOPT_FOLLOWLOCATION\fP, libcurl might perform
-several requests to possibly different hosts. libcurl will only send this user
-and password information to hosts using the initial host name (unless
-\fICURLOPT_UNRESTRICTED_AUTH\fP is set), so if libcurl follows locations to
-other hosts it will not send the user and password to those. This is enforced
-to prevent accidental information leakage.
-.IP CURLOPT_PROXYUSERPWD
-Pass a char * as parameter, which should be [user name]:[password] to use for
-the connection to the HTTP proxy. Use \fICURLOPT_PROXYAUTH\fP to decide
-authentication method.
-.IP CURLOPT_HTTPAUTH
-Pass a long as parameter, which is set to a bitmask, to tell libcurl what
-authentication method(s) you want it to use. The available bits are listed
-below. If more than one bit is set, libcurl will first query the site to see
-what authentication methods it supports and then pick the best one you allow
-it to use. For some methods, this will induce an extra network round-trip. Set
-the actual name and password with the \fICURLOPT_USERPWD\fP option. (Added in
-7.10.6)
-.RS
-.IP CURLAUTH_BASIC
-HTTP Basic authentication. This is the default choice, and the only method
-that is in wide-spread use and supported virtually everywhere. This is sending
-the user name and password over the network in plain text, easily captured by
-others.
-.IP CURLAUTH_DIGEST
-HTTP Digest authentication. Digest authentication is defined in RFC2617 and
-is a more secure way to do authentication over public networks than the
-regular old-fashioned Basic method.
-.IP CURLAUTH_GSSNEGOTIATE
-HTTP GSS-Negotiate authentication. The GSS-Negotiate (also known as plain
-\&"Negotiate") method was designed by Microsoft and is used in their web
-applications. It is primarily meant as a support for Kerberos5 authentication
-but may be also used along with another authentication methods. For more
-information see IETF draft draft-brezak-spnego-http-04.txt.
-
-You need to build libcurl with a suitable GSS-API library for this to work.
-.IP CURLAUTH_NTLM
-HTTP NTLM authentication. A proprietary protocol invented and used by
-Microsoft. It uses a challenge-response and hash concept similar to Digest, to
-prevent the password from being eavesdropped.
-
-You need to build libcurl with OpenSSL support for this option to work, or
-build libcurl on Windows.
-.IP CURLAUTH_ANY
-This is a convenience macro that sets all bits and thus makes libcurl pick any
-it finds suitable. libcurl will automatically select the one it finds most
-secure.
-.IP CURLAUTH_ANYSAFE
-This is a convenience macro that sets all bits except Basic and thus makes
-libcurl pick any it finds suitable. libcurl will automatically select the one it
-finds most secure.
-.RE
-.IP CURLOPT_PROXYAUTH
-Pass a long as parameter, which is set to a bitmask, to tell libcurl what
-authentication method(s) you want it to use for your proxy authentication. If
-more than one bit is set, libcurl will first query the site to see what
-authentication methods it supports and then pick the best one you allow it to
-use. For some methods, this will induce an extra network round-trip. Set the
-actual name and password with the \fICURLOPT_PROXYUSERPWD\fP option. The
-bitmask can be constructed by or'ing together the bits listed above for the
-\fICURLOPT_HTTPAUTH\fP option. As of this writing, only Basic, Digest and NTLM
-work. (Added in 7.10.7)
-.SH HTTP OPTIONS
-.IP CURLOPT_AUTOREFERER
-Pass a parameter set to 1 to enable this. When enabled, libcurl will
-automatically set the Referer: field in requests where it follows a Location:
-redirect.
-.IP CURLOPT_ENCODING
-Sets the contents of the Accept-Encoding: header sent in an HTTP request, and
-enables decoding of a response when a Content-Encoding: header is received.
-Three encodings are supported: \fIidentity\fP, which does nothing,
-\fIdeflate\fP which requests the server to compress its response using the
-zlib algorithm, and \fIgzip\fP which requests the gzip algorithm. If a
-zero-length string is set, then an Accept-Encoding: header containing all
-supported encodings is sent.
-
-This is a request, not an order; the server may or may not do it. This option
-must be set (to any non-NULL value) or else any unsolicited encoding done by
-the server is ignored. See the special file lib/README.encoding for details.
-.IP CURLOPT_FOLLOWLOCATION
-A parameter set to 1 tells the library to follow any Location: header that the
-server sends as part of an HTTP header.
-
-This means that the library will re-send the same request on the new location
-and follow new Location: headers all the way until no more such headers are
-returned. \fICURLOPT_MAXREDIRS\fP can be used to limit the number of redirects
-libcurl will follow.
-.IP CURLOPT_UNRESTRICTED_AUTH
-A parameter set to 1 tells the library it can continue to send authentication
-(user+password) when following locations, even when hostname changed. This
-option is meaningful only when setting \fICURLOPT_FOLLOWLOCATION\fP.
-.IP CURLOPT_MAXREDIRS
-Pass a long. The set number will be the redirection limit. If that many
-redirections have been followed, the next redirect will cause an error
-(\fICURLE_TOO_MANY_REDIRECTS\fP). This option only makes sense if the
-\fICURLOPT_FOLLOWLOCATION\fP is used at the same time. Added in 7.15.1:
-Setting the limit to 0 will make libcurl refuse any redirect. Set it to -1 for
-an infinite number of redirects (which is the default)
-.IP CURLOPT_POST301
-A parameter set to 1 tells the library to respect RFC 2616/10.3.2 and not
-convert POST requests into GET requests when following a 301 redirection. The
-non-RFC behaviour is ubiquitous in web browsers, so the library does the
-conversion by default to maintain consistency. However, a server may requires
-a POST to remain a POST after such a redirection. This option is meaningful
-only when setting \fICURLOPT_FOLLOWLOCATION\fP. (Added in 7.17.1)
-.IP CURLOPT_PUT
-A parameter set to 1 tells the library to use HTTP PUT to transfer data. The
-data should be set with \fICURLOPT_READDATA\fP and \fICURLOPT_INFILESIZE\fP.
-
-This option is deprecated and starting with version 7.12.1 you should instead
-use \fICURLOPT_UPLOAD\fP.
-.IP CURLOPT_POST
-A parameter set to 1 tells the library to do a regular HTTP post. This will
-also make the library use a "Content-Type:
-application/x-www-form-urlencoded" header. (This is by far the most commonly
-used POST method).
-
-Use one of \fICURLOPT_POSTFIELDS\fP or \fICURLOPT_COPYPOSTFIELDS\fP options to
-specify what data to post and \fICURLOPT_POSTFIELDSIZE\fP or
-\fICURLOPT_POSTFIELDSIZE_LARGE\fP to set the data size.
-
-Optionally, you can provide data to POST using the \fICURLOPT_READFUNCTION\fP
-and \fICURLOPT_READDATA\fP options but then you must make sure to not set
-\fICURLOPT_POSTFIELDS\fP to anything but NULL. When providing data with a
-callback, you must transmit it using chunked transfer-encoding or you must set
-the size of the data with the \fICURLOPT_POSTFIELDSIZE\fP or
-\fICURLOPT_POSTFIELDSIZE_LARGE\fP option. To enable chunked encoding, you
-simply pass in the appropriate Transfer-Encoding header, see the
-post-callback.c example.
-
-You can override the default POST Content-Type: header by setting your own
-with \fICURLOPT_HTTPHEADER\fP.
-
-Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
-You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
-
-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
-\fICURLOPT_HTTPHEADER\fP. With HTTP 1.0 or without chunked transfer, you must
-specify the size in the request.
-
-When setting \fICURLOPT_POST\fP to 1, it will automatically set
-\fICURLOPT_NOBODY\fP to 0 (since 7.14.1).
-
-If you issue a POST request and then want to make a HEAD or GET using the same
-re-used handle, you must explicitly set the new request type using
-\fICURLOPT_NOBODY\fP or \fICURLOPT_HTTPGET\fP or similar.
-.IP CURLOPT_POSTFIELDS
-Pass a void * as parameter, which should be the full data to post in an HTTP
-POST operation. You must make sure that the data is formatted the way you want
-the server to receive it. libcurl will not convert or encode it for you. Most
-web servers will assume this data to be url-encoded. Take note.
-
-The pointed data are NOT copied by the library: as a consequence, they must
-be preserved by the calling application until the transfer finishes.
-
-This POST is a normal application/x-www-form-urlencoded kind (and libcurl will
-set that Content-Type by default when this option is used), which is the most
-commonly used one by HTML forms. See also the \fICURLOPT_POST\fP. Using
-\fICURLOPT_POSTFIELDS\fP implies \fICURLOPT_POST\fP.
-
-If you want to do a zero-byte POST, you need to set
-\fICURLOPT_POSTFIELDSIZE\fP explicitly to zero, as simply setting
-\fICURLOPT_POSTFIELDS\fP to NULL or "" just effectively disables the sending
-of the specified string. libcurl will instead assume that you'll send the POST
-data using the read callback!
-
-Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
-You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
-
-To make multipart/formdata posts (aka rfc1867-posts), check out the
-\fICURLOPT_HTTPPOST\fP option.
-.IP CURLOPT_POSTFIELDSIZE
-If you want to post data to the server without letting libcurl do a strlen()
-to measure the data size, this option must be used. When this option is used
-you can post fully binary data, which otherwise is likely to fail. If this
-size is set to -1, the library will use strlen() to get the size.
-.IP CURLOPT_POSTFIELDSIZE_LARGE
-Pass a curl_off_t as parameter. Use this to set the size of the
-\fICURLOPT_POSTFIELDS\fP data to prevent libcurl from doing strlen() on the
-data to figure out the size. This is the large file version of the
-\fICURLOPT_POSTFIELDSIZE\fP option. (Added in 7.11.1)
-.IP CURLOPT_COPYPOSTFIELDS
-Pass a char * as parameter, which should be the full data to post in an HTTP
-POST operation. It behaves as the \fICURLOPT_POSTFIELDS\fP option, but the
-original data are copied by the library, allowing the application to overwrite
-the original data after setting this option.
-
-Because data are copied, care must be taken when using this option in
-conjunction with \fICURLOPT_POSTFIELDSIZE\fP or
-\fICURLOPT_POSTFIELDSIZE_LARGE\fP: If the size has not been set prior to
-\fICURLOPT_COPYPOSTFIELDS\fP, the data are assumed to be a NUL-terminated
-string; else the stored size informs the library about the data byte count to
-copy. In any case, the size must not be changed after
-\fICURLOPT_COPYPOSTFIELDS\fP, unless another \fICURLOPT_POSTFIELDS\fP or
-\fICURLOPT_COPYPOSTFIELDS\fP option is issued.
-(Added in 7.17.1)
-
-.IP CURLOPT_HTTPPOST
-Tells libcurl you want a multipart/formdata HTTP POST to be made and you
-instruct what data to pass on to the server. Pass a pointer to a linked list
-of curl_httppost structs as parameter. . The easiest way to create such a
-list, is to use \fIcurl_formadd(3)\fP as documented. The data in this list
-must remain intact until you close this curl handle again with
-\fIcurl_easy_cleanup(3)\fP.
-
-Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
-You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
-
-When setting \fICURLOPT_HTTPPOST\fP, it will automatically set
-\fICURLOPT_NOBODY\fP to 0 (since 7.14.1).
-.IP CURLOPT_REFERER
-Pass a pointer to a zero terminated string as parameter. It will be used to
-set the Referer: header in the http request sent to the remote server. This
-can be used to fool servers or scripts. You can also set any custom header
-with \fICURLOPT_HTTPHEADER\fP.
-.IP CURLOPT_USERAGENT
-Pass a pointer to a zero terminated string as parameter. It will be used to
-set the User-Agent: header in the http request sent to the remote server. This
-can be used to fool servers or scripts. You can also set any custom header
-with \fICURLOPT_HTTPHEADER\fP.
-.IP CURLOPT_HTTPHEADER
-Pass a pointer to a linked list of HTTP headers to pass to the server in your
-HTTP request. The linked list should be a fully valid list of \fBstruct
-curl_slist\fP structs properly filled in. Use \fIcurl_slist_append(3)\fP to
-create the list and \fIcurl_slist_free_all(3)\fP to clean up an entire
-list. If you add a header that is otherwise generated and used by libcurl
-internally, your added one will be used instead. If you add a header with no
-contents as in 'Accept:' (no data on the right side of the colon), the
-internally used header will get disabled. Thus, using this option you can add
-new headers, replace internal headers and remove internal headers. To add a
-header with no contents, make the contents be two quotes: \&"". The headers
-included in the linked list must not be CRLF-terminated, because curl adds
-CRLF after each header item. Failure to comply with this will result in
-strange bugs because the server will most likely ignore part of the headers
-you specified.
-
-The first line in a request (containing the method, usually a GET or POST) is
-not a header and cannot be replaced using this option. Only the lines
-following the request-line are headers. Adding this method line in this list
-of headers will only cause your request to send an invalid header.
-
-Pass a NULL to this to reset back to no custom headers.
-
-The most commonly replaced headers have "shortcuts" in the options
-\fICURLOPT_COOKIE\fP, \fICURLOPT_USERAGENT\fP and \fICURLOPT_REFERER\fP.
-.IP CURLOPT_HTTP200ALIASES
-Pass a pointer to a linked list of aliases to be treated as valid HTTP 200
-responses. Some servers respond with a custom header response line. For
-example, IceCast servers respond with "ICY 200 OK". By including this string
-in your list of aliases, the response will be treated as a valid HTTP header
-line such as "HTTP/1.0 200 OK". (Added in 7.10.3)
-
-The linked list should be a fully valid list of struct curl_slist structs, and
-be properly filled in. Use \fIcurl_slist_append(3)\fP to create the list and
-\fIcurl_slist_free_all(3)\fP to clean up an entire list.
-
-The alias itself is not parsed for any version strings. Before libcurl 7.16.3,
-Libcurl used the value set by option \fICURLOPT_HTTP_VERSION\fP, but starting
-with 7.16.3 the protocol is assumed to match HTTP 1.0 when an alias matched.
-.IP CURLOPT_COOKIE
-Pass a pointer to a zero terminated string as parameter. It will be used to
-set a cookie in the http request. The format of the string should be
-NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie
-should contain.
-
-If you need to set multiple cookies, you need to set them all using a single
-option and thus you need to concatenate them all in one single string. Set
-multiple cookies in one string like this: "name1=content1; name2=content2;"
-etc.
-
-Note that this option sets the cookie header explictly in the outgoing
-request(s). If multiple requests are done due to authentication, followed
-redirections or similar, they will all get this cookie passed on.
-
-Using this option multiple times will only make the latest string override the
-previous ones.
-.IP CURLOPT_COOKIEFILE
-Pass a pointer to a zero terminated string as parameter. It should contain the
-name of your file holding cookie data to read. The cookie data may be in
-Netscape / Mozilla cookie data format or just regular HTTP-style headers
-dumped to a file.
-
-Given an empty or non-existing file or by passing the empty string (""), this
-option will enable cookies for this curl handle, making it understand and
-parse received cookies and then use matching cookies in future request.
-
-If you use this option multiple times, you just add more files to read.
-Subsequent files will add more cookies.
-.IP CURLOPT_COOKIEJAR
-Pass a file name as char *, zero terminated. This will make libcurl write all
-internally known cookies to the specified file when \fIcurl_easy_cleanup(3)\fP
-is called. If no cookies are known, no file will be created. Specify "-" to
-instead have the cookies written to stdout. Using this option also enables
-cookies for this session, so if you for example follow a location it will make
-matching cookies get sent accordingly.
-
-If the cookie jar file can't be created or written to (when the
-\fIcurl_easy_cleanup(3)\fP is called), libcurl will not and cannot report an
-error for this. Using \fICURLOPT_VERBOSE\fP or \fICURLOPT_DEBUGFUNCTION\fP
-will get a warning to display, but that is the only visible feedback you get
-about this possibly lethal situation.
-.IP CURLOPT_COOKIESESSION
-Pass a long set to 1 to mark this as a new cookie "session". It will force
-libcurl to ignore all cookies it is about to load that are "session cookies"
-from the previous session. By default, libcurl always stores and loads all
-cookies, independent if they are session cookies are not. Session cookies are
-cookies without expiry date and they are meant to be alive and existing for
-this "session" only.
-.IP CURLOPT_COOKIELIST
-Pass a char * to a cookie string. Cookie can be either in Netscape / Mozilla
-format or just regular HTTP-style header (Set-Cookie: ...) format. If cURL
-cookie engine was not enabled it will enable its cookie engine. Passing a
-magic string \&"ALL" will erase all cookies known by cURL. (Added in 7.14.1)
-Passing the special string \&"SESS" will only erase all session cookies known
-by cURL. (Added in 7.15.4) Passing the special string \&"FLUSH" will write
-all cookies known by cURL to the file specified by \fICURLOPT_COOKIEJAR\fP.
-(Added in 7.17.1)
-.IP CURLOPT_HTTPGET
-Pass a long. If the long is 1, this forces the HTTP request to get back
-to GET. usable if a POST, HEAD, PUT or a custom request have been used
-previously using the same curl handle.
-
-When setting \fICURLOPT_HTTPGET\fP to 1, it will automatically set
-\fICURLOPT_NOBODY\fP to 0 (since 7.14.1).
-.IP CURLOPT_HTTP_VERSION
-Pass a long, set to one of the values described below. They force libcurl to
-use the specific HTTP versions. This is not sensible to do unless you have a
-good reason.
-.RS
-.IP CURL_HTTP_VERSION_NONE
-We don't care about what version the library uses. libcurl will use whatever
-it thinks fit.
-.IP CURL_HTTP_VERSION_1_0
-Enforce HTTP 1.0 requests.
-.IP CURL_HTTP_VERSION_1_1
-Enforce HTTP 1.1 requests.
-.RE
-.IP CURLOPT_IGNORE_CONTENT_LENGTH
-Ignore the Content-Length header. This is useful for Apache 1.x (and similar
-servers) which will report incorrect content length for files over 2
-gigabytes. If this option is used, curl will not be able to accurately report
-progress, and will simply stop the download when the server ends the
-connection. (added in 7.14.1)
-.IP CURLOPT_HTTP_CONTENT_DECODING
-Pass a long to tell libcurl how to act on content decoding. If set to zero,
-content decoding will be disabled. If set to 1 it is enabled. Note however
-that libcurl has no default content decoding but requires you to use
-\fICURLOPT_ENCODING\fP for that. (added in 7.16.2)
-.IP CURLOPT_HTTP_TRANSFER_DECODING
-Pass a long to tell libcurl how to act on transfer decoding. If set to zero,
-transfer decoding will be disabled, if set to 1 it is enabled
-(default). libcurl does chunked transfer decoding by default unless this
-option is set to zero. (added in 7.16.2)
-.SH FTP OPTIONS
-.IP CURLOPT_FTPPORT
-Pass a pointer to a zero terminated string as parameter. It will be used to
-get the IP address to use for the ftp PORT instruction. The PORT instruction
-tells the remote server to connect to our specified IP address. The string may
-be a plain IP address, a host name, an network interface name (under Unix) or
-just a '-' letter to let the library use your systems default IP
-address. Default FTP operations are passive, and thus won't use PORT.
-
-You disable PORT again and go back to using the passive version by setting
-this option to NULL.
-.IP CURLOPT_QUOTE
-Pass a pointer to a linked list of FTP or SFTP commands to pass to
-the server prior to your ftp request. This will be done before any
-other commands are issued (even before the CWD command for FTP). The
-linked list should be a fully valid list of 'struct curl_slist' structs
-properly filled in with text strings. Use \fIcurl_slist_append(3)\fP
-to append strings (commands) to the list, and clear the entire list
-afterwards with \fIcurl_slist_free_all(3)\fP. Disable this operation
-again by setting a NULL to this option.
-The set of valid FTP commands depends on the server (see RFC959 for a
-list of mandatory commands).
-The valid SFTP commands are: chgrp, chmod, chown, ln, mkdir, pwd,
-rename, rm, rmdir, symlink (see
-.BR curl (1))
-(SFTP support added in 7.16.3)
-.IP CURLOPT_POSTQUOTE
-Pass a pointer to a linked list of FTP or SFTP commands to pass to the
-server after your ftp transfer request. The linked list should be a
-fully valid list of struct curl_slist structs properly filled in as
-described for \fICURLOPT_QUOTE\fP. Disable this operation again by
-setting a NULL to this option.
-.IP CURLOPT_PREQUOTE
-Pass a pointer to a linked list of FTP commands to pass to the server after
-the transfer type is set. The linked list should be a fully valid list of
-struct curl_slist structs properly filled in as described for
-\fICURLOPT_QUOTE\fP. Disable this operation again by setting a NULL to this
-option. Before version 7.15.6, if you also set \fICURLOPT_NOBODY\fP to 1, this
-option didn't work.
-.IP CURLOPT_DIRLISTONLY
-A parameter set to 1 tells the library to just list the names of files in a
-directory, instead of doing a full directory listing that would include file
-sizes, dates etc. This works for FTP and SFTP URLs.
-
-This causes an FTP NLST command to be sent on an FTP server. Beware
-that some FTP servers list only files in their response to NLST; they
-might not include subdirectories and symbolic links.
-
-(This option was known as CURLOPT_FTPLISTONLY up to 7.16.4)
-.IP CURLOPT_APPEND
-A parameter set to 1 tells the library to append to the remote file instead of
-overwrite it. This is only useful when uploading to an ftp site.
-
-(This option was known as CURLOPT_FTPAPPEND up to 7.16.4)
-.IP CURLOPT_FTP_USE_EPRT
-Pass a long. If the value is 1, it tells curl to use the EPRT (and
-LPRT) command when doing active FTP downloads (which is enabled by
-\fICURLOPT_FTPPORT\fP). Using EPRT means that it will first attempt to use
-EPRT and then LPRT before using PORT, but if you pass zero to this
-option, it will not try using EPRT or LPRT, only plain PORT. (Added in 7.10.5)
-
-If the server is an IPv6 host, this option will have no effect as of 7.12.3.
-.IP CURLOPT_FTP_USE_EPSV
-Pass a long. If the value is 1, it tells curl to use the EPSV command
-when doing passive FTP downloads (which it always does by default). Using EPSV
-means that it will first attempt to use EPSV before using PASV, but if you
-pass zero to this option, it will not try using EPSV, only plain PASV.
-
-If the server is an IPv6 host, this option will have no effect as of 7.12.3.
-.IP CURLOPT_FTP_CREATE_MISSING_DIRS
-Pass a long. If the value is 1, curl will attempt to create any remote
-directory that it fails to CWD into. CWD is the command that changes working
-directory. (Added in 7.10.7)
-
-This setting also applies to SFTP-connections. curl will attempt to create
-the remote directory if it can't obtain a handle to the target-location. The
-creation will fail if a file of the same name as the directory to create
-already exists or lack of permissions prevents creation. (Added in 7.16.3)
-.IP CURLOPT_FTP_RESPONSE_TIMEOUT
-Pass a long. Causes curl to set a timeout period (in seconds) on the amount
-of time that the server is allowed to take in order to generate a response
-message for a command before the session is considered hung. While curl is
-waiting for a response, this value overrides \fICURLOPT_TIMEOUT\fP. It is
-recommended that if used in conjunction with \fICURLOPT_TIMEOUT\fP, you set
-\fICURLOPT_FTP_RESPONSE_TIMEOUT\fP to a value smaller than
-\fICURLOPT_TIMEOUT\fP. (Added in 7.10.8)
-.IP CURLOPT_FTP_ALTERNATIVE_TO_USER
-Pass a char * as parameter, pointing to a string which will be used to
-authenticate if the usual FTP "USER user" and "PASS password" negotiation
-fails. This is currently only known to be required when connecting to
-Tumbleweed's Secure Transport FTPS server using client certificates for
-authentication. (Added in 7.15.5)
-.IP CURLOPT_FTP_SKIP_PASV_IP
-Pass a long. If set to 1, it instructs libcurl to not use the IP address the
-server suggests in its 227-response to libcurl's PASV command when libcurl
-connects the data connection. Instead libcurl will re-use the same IP address
-it already uses for the control connection. But it will use the port number
-from the 227-response. (Added in 7.14.2)
-
-This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
-.IP CURLOPT_USE_SSL
-Pass a long using one of the values from below, to make libcurl use your
-desired level of SSL for the ftp transfer. (Added in 7.11.0)
-
-(This option was known as CURLOPT_FTP_SSL up to 7.16.4, and the constants
-were known as CURLFTPSSL_*)
-.RS
-.IP CURLUSESSL_NONE
-Don't attempt to use SSL.
-.IP CURLUSESSL_TRY
-Try using SSL, proceed as normal otherwise.
-.IP CURLUSESSL_CONTROL
-Require SSL for the control connection or fail with \fICURLE_USE_SSL_FAILED\fP.
-.IP CURLUSESSL_ALL
-Require SSL for all communication or fail with \fICURLE_USE_SSL_FAILED\fP.
-.RE
-.IP CURLOPT_FTPSSLAUTH
-Pass a long using one of the values from below, to alter how libcurl issues
-\&"AUTH TLS" or "AUTH SSL" when FTP over SSL is activated (see
-\fICURLOPT_FTP_SSL\fP). (Added in 7.12.2)
-.RS
-.IP CURLFTPAUTH_DEFAULT
-Allow libcurl to decide
-.IP CURLFTPAUTH_SSL
-Try "AUTH SSL" first, and only if that fails try "AUTH TLS"
-.IP CURLFTPAUTH_TLS
-Try "AUTH TLS" first, and only if that fails try "AUTH SSL"
-.RE
-.IP CURLOPT_FTP_SSL_CCC
-If enabled, this option makes libcurl use CCC (Clear Command Channel). It
-shuts down the SSL/TLS layer after authenticating. The rest of the
-control channel communication will be unencrypted. This allows NAT routers
-to follow the FTP transaction. Pass a long using one of the values below.
-(Added in 7.16.1)
-.RS
-.IP CURLFTPSSL_CCC_NONE
-Don't attempt to use CCC.
-.IP CURLFTPSSL_CCC_PASSIVE
-Do not initiate the shutdown, but wait for the server to do it. Do not send
-a reply.
-.IP CURLFTPSSL_CCC_ACTIVE
-Initiate the shutdown and wait for a reply.
-.RE
-.IP CURLOPT_FTP_ACCOUNT
-Pass a pointer to a zero-terminated string (or NULL to disable). When an FTP
-server asks for "account data" after user name and password has been provided,
-this data is sent off using the ACCT command. (Added in 7.13.0)
-.IP CURLOPT_FTP_FILEMETHOD
-Pass a long that should have one of the following values. This option controls
-what method libcurl should use to reach a file on a FTP(S) server. The
-argument should be one of the following alternatives:
-.RS
-.IP CURLFTPMETHOD_MULTICWD
-libcurl does a single CWD operation for each path part in the given URL. For
-deep hierarchies this means very many commands. This is how RFC1738 says it
-should be done. This is the default but the slowest behavior.
-.IP CURLFTPMETHOD_NOCWD
-libcurl does no CWD at all. libcurl will do SIZE, RETR, STOR etc and give a
-full path to the server for all these commands. This is the fastest behavior.
-.IP CURLFTPMETHOD_SINGLECWD
-libcurl does one CWD with the full target directory and then operates on the
-file \&"normally" (like in the multicwd case). This is somewhat more standards
-compliant than 'nocwd' but without the full penalty of 'multicwd'.
-.RE
-.SH PROTOCOL OPTIONS
-.IP CURLOPT_TRANSFERTEXT
-A parameter set to 1 tells the library to use ASCII mode for ftp transfers,
-instead of the default binary transfer. For win32 systems it does not set the
-stdout to binary mode. This option can be usable when transferring text data
-between systems with different views on certain characters, such as newlines
-or similar.
-
-libcurl does not do a complete ASCII conversion when doing ASCII transfers
-over FTP. This is a known limitation/flaw that nobody has rectified. libcurl
-simply sets the mode to ascii and performs a standard transfer.
-.IP CURLOPT_PROXY_TRANSFER_MODE
-Pass a long. If the value is set to 1 (one), it tells libcurl to set the
-transfer mode (binary or ASCII) for FTP transfers done via an HTTP proxy, by
-appending ;type=a or ;type=i to the URL. Without this setting, or it being set
-to 0 (zero, the default), \fICURLOPT_TRANSFERTEXT\fP has no effect when doing
-FTP via a proxy. Beware that not all proxies support this feature. (Added in
-7.18.0)
-.IP CURLOPT_CRLF
-Convert Unix newlines to CRLF newlines on transfers.
-.IP CURLOPT_RANGE
-Pass a char * as parameter, which should contain the specified range you
-want. It should be in the format "X-Y", where X or Y may be left out. HTTP
-transfers also support several intervals, separated with commas as in
-\fI"X-Y,N-M"\fP. Using this kind of multiple intervals will cause the HTTP
-server to send the response document in pieces (using standard MIME separation
-techniques). Pass a NULL to this option to disable the use of ranges.
-
-Ranges work on HTTP, FTP and FILE (since 7.18.0) transfers only.
-.IP CURLOPT_RESUME_FROM
-Pass a long as parameter. It contains the offset in number of bytes that you
-want the transfer to start from. Set this option to 0 to make the transfer
-start from the beginning (effectively disabling resume). For FTP, set this
-option to -1 to make the transfer start from the end of the target file
-(useful to continue an interrupted upload).
-.IP CURLOPT_RESUME_FROM_LARGE
-Pass a curl_off_t as parameter. It contains the offset in number of bytes that
-you want the transfer to start from. (Added in 7.11.0)
-.IP CURLOPT_CUSTOMREQUEST
-Pass a pointer to a zero terminated string as parameter. It will be used
-instead of GET or HEAD when doing an HTTP request, or instead of LIST or NLST
-when doing an ftp directory listing. This is useful for doing DELETE or other
-more or less obscure HTTP requests. Don't do this at will, make sure your
-server supports the command first.
-
-Note that libcurl will still act and assume the keyword it would use if you
-didn't set your custom one is the one in use and it will act according to
-that. Thus, changing this to a HEAD when libcurl otherwise would do a GET
-might cause libcurl to act funny, and similar. To switch to a proper HEAD, use
-\fICURLOPT_NOBODY\fP, to switch to a proper POST, use \fICURLOPT_POST\fP or
-\fICURLOPT_POSTFIELDS\fP and so on.
-
-Restore to the internal default by setting this to NULL.
-
-Many people have wrongly used this option to replace the entire request with
-their own, including multiple headers and POST contents. While that might work
-in many cases, it will cause libcurl to send invalid requests and it could
-possibly confuse the remote server badly. Use \fICURLOPT_POST\fP and
-\fICURLOPT_POSTFIELDS\fP to set POST data. Use \fICURLOPT_HTTPHEADER\fP to
-replace or extend the set of headers sent by libcurl. Use
-\fICURLOPT_HTTP_VERSION\fP to change HTTP version.
-.IP CURLOPT_FILETIME
-Pass a long. If it is 1, libcurl will attempt to get the modification date of
-the remote document in this operation. This requires that the remote server
-sends the time or replies to a time querying command. The
-\fIcurl_easy_getinfo(3)\fP function with the \fICURLINFO_FILETIME\fP argument
-can be used after a transfer to extract the received time (if any).
-.IP CURLOPT_NOBODY
-A parameter set to 1 tells the library to not include the body-part in the
-output. This is only relevant for protocols that have separate header and body
-parts. On HTTP(S) servers, this will make libcurl do a HEAD request.
-
-To change request to GET, you should use \fICURLOPT_HTTPGET\fP. Change request
-to POST with \fICURLOPT_POST\fP etc.
-.IP CURLOPT_INFILESIZE
-When uploading a file to a remote site, this option should be used to tell
-libcurl what the expected size of the infile is. This value should be passed
-as a long. See also \fICURLOPT_INFILESIZE_LARGE\fP.
-
-For uploading using SCP, this option or \fICURLOPT_INFILESIZE_LARGE\fP is
-mandatory.
-
-Note that this option does not limit how much data libcurl will actually send,
-as that is controlled entirely by what the read callback returns.
-.IP CURLOPT_INFILESIZE_LARGE
-When uploading a file to a remote site, this option should be used to tell
-libcurl what the expected size of the infile is. This value should be passed
-as a curl_off_t. (Added in 7.11.0)
-
-For uploading using SCP, this option or \fICURLOPT_INFILESIZE\fP is mandatory.
-
-Note that this option does not limit how much data libcurl will actually send,
-as that is controlled entirely by what the read callback returns.
-.IP CURLOPT_UPLOAD
-A parameter set to 1 tells the library to prepare for an upload. The
-\fICURLOPT_READDATA\fP and \fICURLOPT_INFILESIZE\fP or
-\fICURLOPT_INFILESIZE_LARGE\fP options are also interesting for uploads. If
-the protocol is HTTP, uploading means using the PUT request unless you tell
-libcurl otherwise.
-
-Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
-You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
-
-If you use PUT to a HTTP 1.1 server, you can upload data without knowing the
-size before starting the transfer if you use chunked encoding. You enable this
-by adding a header like "Transfer-Encoding: chunked" with
-\fICURLOPT_HTTPHEADER\fP. With HTTP 1.0 or without chunked transfer, you must
-specify the size.
-.IP CURLOPT_MAXFILESIZE
-Pass a long as parameter. This allows you to specify the maximum size (in
-bytes) of a file to download. If the file requested is larger than this value,
-the transfer will not start and CURLE_FILESIZE_EXCEEDED will be returned.
-
-The file size is not always known prior to download, and for such files this
-option has no effect even if the file transfer ends up being larger than this
-given limit. This concerns both FTP and HTTP transfers.
-.IP CURLOPT_MAXFILESIZE_LARGE
-Pass a curl_off_t as parameter. This allows you to specify the maximum size
-(in bytes) of a file to download. If the file requested is larger than this
-value, the transfer will not start and \fICURLE_FILESIZE_EXCEEDED\fP will be
-returned. (Added in 7.11.0)
-
-The file size is not always known prior to download, and for such files this
-option has no effect even if the file transfer ends up being larger than this
-given limit. This concerns both FTP and HTTP transfers.
-.IP CURLOPT_TIMECONDITION
-Pass a long as parameter. This defines how the \fICURLOPT_TIMEVALUE\fP time
-value is treated. You can set this parameter to \fICURL_TIMECOND_IFMODSINCE\fP
-or \fICURL_TIMECOND_IFUNMODSINCE\fP. This feature applies to HTTP and FTP.
-
-The last modification time of a file is not always known and in such instances
-this feature will have no effect even if the given time condition would have
-not been met.
-.IP CURLOPT_TIMEVALUE
-Pass a long as parameter. This should be the time in seconds since 1 jan 1970,
-and the time will be used in a condition as specified with
-\fICURLOPT_TIMECONDITION\fP.
-.SH CONNECTION OPTIONS
-.IP CURLOPT_TIMEOUT
-Pass a long as parameter containing the maximum time in seconds that you allow
-the libcurl transfer operation to take. Normally, name lookups can take a
-considerable time and limiting operations to less than a few minutes risk
-aborting perfectly normal operations. This option will cause curl to use the
-SIGALRM to enable time-outing system calls.
-
-In unix-like systems, this might cause signals to be used unless
-\fICURLOPT_NOSIGNAL\fP is set.
-.IP CURLOPT_TIMEOUT_MS
-Like \fICURLOPT_TIMEOUT\fP but takes number of milliseconds instead. If
-libcurl is built to use the standard system name resolver, that part will
-still use full-second resolution for timeouts. (Added in 7.16.2)
-.IP CURLOPT_LOW_SPEED_LIMIT
-Pass a long as parameter. It contains the transfer speed in bytes per second
-that the transfer should be below during \fICURLOPT_LOW_SPEED_TIME\fP seconds
-for the library to consider it too slow and abort.
-.IP CURLOPT_LOW_SPEED_TIME
-Pass a long as parameter. It contains the time in seconds that the transfer
-should be below the \fICURLOPT_LOW_SPEED_LIMIT\fP for the library to consider
-it too slow and abort.
-.IP CURLOPT_MAX_SEND_SPEED_LARGE
-Pass a curl_off_t as parameter. If an upload exceeds this speed on cumulative
-average during the transfer, the transfer will pause to keep the average rate
-less than or equal to the parameter value. Defaults to unlimited
-speed. (Added in 7.15.5)
-.IP CURLOPT_MAX_RECV_SPEED_LARGE
-Pass a curl_off_t as parameter. If a download exceeds this speed on
-cumulative average during the transfer, the transfer will pause to keep the
-average rate less than or equal to the parameter value. Defaults to unlimited
-speed. (Added in 7.15.5)
-.IP CURLOPT_MAXCONNECTS
-Pass a long. The set number will be the persistent connection cache size. The
-set amount will be the maximum amount of simultaneously open connections that
-libcurl may cache in this easy handle. Default is 5, and there isn't much
-point in changing this value unless you are perfectly aware of how this work
-and changes libcurl's behaviour. This concerns connection using any of the
-protocols that support persistent connections.
-
-When reaching the maximum limit, curl closes the oldest one in the cache to
-prevent the number of open connections to increase.
-
-If you already have performed transfers with this curl handle, setting a
-smaller MAXCONNECTS than before may cause open connections to get closed
-unnecessarily.
-
-Note that if you add this easy handle to a multi handle, this setting is not
-being acknowledged, but you must instead use \fIcurl_multi_setopt(3)\fP and
-the \fICURLMOPT_MAXCONNECTS\fP option.
-.IP CURLOPT_CLOSEPOLICY
-(Obsolete) This option does nothing.
-.IP CURLOPT_FRESH_CONNECT
-Pass a long. Set to 1 to make the next transfer use a new (fresh) connection
-by force. If the connection cache is full before this connection, one of the
-existing connections will be closed as according to the selected or default
-policy. This option should be used with caution and only if you understand
-what it does. Set this to 0 to have libcurl attempt re-using an existing
-connection (default behavior).
-.IP CURLOPT_FORBID_REUSE
-Pass a long. Set to 1 to make the next transfer explicitly close the
-connection when done. Normally, libcurl keep all connections alive when done
-with one transfer in case there comes a succeeding one that can re-use them.
-This option should be used with caution and only if you understand what it
-does. Set to 0 to have libcurl keep the connection open for possibly later
-re-use (default behavior).
-.IP CURLOPT_CONNECTTIMEOUT
-Pass a long. It should contain the maximum time in seconds that you allow the
-connection to the server to take. This only limits the connection phase, once
-it has connected, this option is of no more use. Set to zero to disable
-connection timeout (it will then only timeout on the system's internal
-timeouts). See also the \fICURLOPT_TIMEOUT\fP option.
-
-In unix-like systems, this might cause signals to be used unless
-\fICURLOPT_NOSIGNAL\fP is set.
-.IP CURLOPT_CONNECTTIMEOUT_MS
-Like \fICURLOPT_CONNECTTIMEOUT\fP but takes number of milliseconds instead. If
-libcurl is built to use the standard system name resolver, that part will
-still use full-second resolution for timeouts. (Added in 7.16.2)
-.IP CURLOPT_IPRESOLVE
-Allows an application to select what kind of IP addresses to use when
-resolving host names. This is only interesting when using host names that
-resolve addresses using more than one version of IP. The allowed values are:
-.RS
-.IP CURL_IPRESOLVE_WHATEVER
-Default, resolves addresses to all IP versions that your system allows.
-.IP CURL_IPRESOLVE_V4
-Resolve to ipv4 addresses.
-.IP CURL_IPRESOLVE_V6
-Resolve to ipv6 addresses.
-.RE
-.IP CURLOPT_CONNECT_ONLY
-Pass a long. If the parameter equals 1, it tells the library to perform all
-the required proxy authentication and connection setup, but no data transfer.
-
-This option is useful with the \fICURLINFO_LASTSOCKET\fP option to
-\fIcurl_easy_getinfo(3)\fP. The library can set up the connection and then the
-application can obtain the most recently used socket for special data
-transfers. (Added in 7.15.2)
-.SH SSL and SECURITY OPTIONS
-.IP CURLOPT_SSLCERT
-Pass a pointer to a zero terminated string as parameter. The string should be
-the file name of your certificate. The default format is "PEM" and can be
-changed with \fICURLOPT_SSLCERTTYPE\fP.
-
-With NSS this is the nickname of the certificate you wish to authenticate
-with.
-.IP CURLOPT_SSLCERTTYPE
-Pass a pointer to a zero terminated string as parameter. The string should be
-the format of your certificate. Supported formats are "PEM" and "DER". (Added
-in 7.9.3)
-.IP CURLOPT_SSLKEY
-Pass a pointer to a zero terminated string as parameter. The string should be
-the file name of your private key. The default format is "PEM" and can be
-changed with \fICURLOPT_SSLKEYTYPE\fP.
-.IP CURLOPT_SSLKEYTYPE
-Pass a pointer to a zero terminated string as parameter. The string should be
-the format of your private key. Supported formats are "PEM", "DER" and "ENG".
-
-The format "ENG" enables you to load the private key from a crypto engine. In
-this case \fICURLOPT_SSLKEY\fP is used as an identifier passed to the
-engine. You have to set the crypto engine with \fICURLOPT_SSLENGINE\fP.
-\&"DER" format key file currently does not work because of a bug in OpenSSL.
-.IP CURLOPT_KEYPASSWD
-Pass a pointer to a zero terminated string as parameter. It will be used as
-the password required to use the \fICURLOPT_SSLKEY\fP or
-\fICURLOPT_SSH_PRIVATE_KEYFILE\fP private key.
-You never needed a pass phrase to load a certificate but you need one to
-load your private key.
-
-(This option was known as CURLOPT_SSLKEYPASSWD up to 7.16.4 and
-CURLOPT_SSLCERTPASSWD up to 7.9.2)
-.IP CURLOPT_SSLENGINE
-Pass a pointer to a zero terminated string as parameter. It will be used as
-the identifier for the crypto engine you want to use for your private
-key.
-
-If the crypto device cannot be loaded, \fICURLE_SSL_ENGINE_NOTFOUND\fP is
-returned.
-.IP CURLOPT_SSLENGINE_DEFAULT
-Sets the actual crypto engine as the default for (asymmetric) crypto
-operations.
-
-If the crypto device cannot be set, \fICURLE_SSL_ENGINE_SETFAILED\fP is
-returned.
-
-Note that even though this option doesn't need any parameter, in some
-configurations \fIcurl_easy_setopt\fP might be defined as a macro taking
-exactly three arguments. Therefore, it's recommended to pass 1 as parameter to
-this option.
-.IP CURLOPT_SSLVERSION
-Pass a long as parameter to control what version of SSL/TLS to attempt to use.
-The available options are:
-.RS
-.IP CURL_SSLVERSION_DEFAULT
-The default action. This will attempt to figure out the remote SSL protocol
-version, i.e. either SSLv3 or TLSv1 (but not SSLv2, which became disabled
-by default with 7.18.1).
-.IP CURL_SSLVERSION_TLSv1
-Force TLSv1
-.IP CURL_SSLVERSION_SSLv2
-Force SSLv2
-.IP CURL_SSLVERSION_SSLv3
-Force SSLv3
-.RE
-.IP CURLOPT_SSL_VERIFYPEER
-Pass a long as parameter.
-
-This option determines whether curl verifies the authenticity of the peer's
-certificate. A value of 1 means curl verifies; zero means it doesn't. The
-default is nonzero, but before 7.10, it was zero.
-
-When negotiating an SSL connection, the server sends a certificate indicating
-its identity. Curl verifies whether the certificate is authentic, i.e. that
-you can trust that the server is who the certificate says it is. This trust
-is based on a chain of digital signatures, rooted in certification authority
-(CA) certificates you supply. As of 7.10, curl installs a default bundle of
-CA certificates and you can specify alternate certificates with the
-\fICURLOPT_CAINFO\fP option or the \fICURLOPT_CAPATH\fP option.
-
-When \fICURLOPT_SSL_VERIFYPEER\fP is nonzero, and the verification fails to
-prove that the certificate is authentic, the connection fails. When the
-option is zero, the connection succeeds regardless.
-
-Authenticating the certificate is not by itself very useful. You typically
-want to ensure that the server, as authentically identified by its
-certificate, is the server you mean to be talking to. Use
-\fICURLOPT_SSL_VERIFYHOST\fP to control that.
-.IP CURLOPT_CAINFO
-Pass a char * to a zero terminated string naming a file holding one or more
-certificates to verify the peer with. This makes sense only when used in
-combination with the \fICURLOPT_SSL_VERIFYPEER\fP option. If
-\fICURLOPT_SSL_VERIFYPEER\fP is zero, \fICURLOPT_CAINFO\fP need not
-even indicate an accessible file.
-
-Note that option is by default set to the system path where libcurl's cacert
-bundle is assumed to be stored, as established at build time.
-
-When built against NSS this is the directory that the NSS certificate
-database resides in.
-.IP CURLOPT_ISSUERCERT
-Pass a char * to a zero terminated string naming a file holding a CA
-certificate in PEM format. If the option is set, an additional check against
-the peer certificate is performed to verify the issuer is indeed the one
-associated with the certificate provided by the option. This additional check
-is useful in multi-level PKI where one need to enforce the peer certificate is
-from a specific branch of the tree.
-
-This option makes sense only when used in combination with the
-\fICURLOPT_SSL_VERIFYPEER\fP option. Otherwise, the result of the check is not
-considered as failure.
-
-A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option,
-which is returned if the setup of the SSL/TLS session has failed due to a
-mismatch with the issuer of peer certificate (\fICURLOPT_SSL_VERIFYPEER\fP has
-to be set too for the check to fail). (Added in 7.19.0)
-.IP CURLOPT_CAPATH
-Pass a char * to a zero terminated string naming a directory holding multiple
-CA certificates to verify the peer with. The certificate directory must be
-prepared using the openssl c_rehash utility. This makes sense only when used
-in combination with the \fICURLOPT_SSL_VERIFYPEER\fP option. If
-\fICURLOPT_SSL_VERIFYPEER\fP is zero, \fICURLOPT_CAPATH\fP need not even
-indicate an accessible path. The \fICURLOPT_CAPATH\fP function apparently
-does not work in Windows due to some limitation in openssl. This option is
-OpenSSL-specific and does nothing if libcurl is built to use GnuTLS.
-.IP CURLOPT_CRLFILE
-Pass a char * to a zero terminated string naming a file with the concatenation
-of CRL (in PEM format) to use in the certificate validation that occurs during
-the SSL exchange.
-
-When curl is built to use NSS or GnuTLS, there is no way to influence the use
-of CRL passed to help in the verification process. When libcurl is built with
-OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both
-set, requiring CRL check against all the elements of the certificate chain if
-a CRL file is passed.
-
-This option makes sense only when used in combination with the
-\fICURLOPT_SSL_VERIFYPEER\fP option.
-
-A specific error code (CURLE_SSL_CRL_BADFILE) is defined with the option. It
-is returned when the SSL exchange fails because the CRL file cannot be loaded.
-Note that a failure in certificate verification due to a revocation information
-found in the CRL does not trigger this specific error. (Added in 7.19.0)
-.IP CURLOPT_RANDOM_FILE
-Pass a char * to a zero terminated file name. The file will be used to read
-from to seed the random engine for SSL. The more random the specified file is,
-the more secure the SSL connection will become.
-.IP CURLOPT_EGDSOCKET
-Pass a char * to the zero terminated path name to the Entropy Gathering Daemon
-socket. It will be used to seed the random engine for SSL.
-.IP CURLOPT_SSL_VERIFYHOST
-Pass a long as parameter.
-
-This option determines whether libcurl verifies that the server cert is for
-the server it is known as.
-
-When negotiating an SSL connection, the server sends a certificate indicating
-its identity.
-
-When \fICURLOPT_SSL_VERIFYHOST\fP is 2, that certificate must indicate that
-the server is the server to which you meant to connect, or the connection
-fails.
-
-Curl considers the server the intended one when the Common Name field or a
-Subject Alternate Name field in the certificate matches the host name in the
-URL to which you told Curl to connect.
-
-When the value is 1, the certificate must contain a Common Name field, but it
-doesn't matter what name it says. (This is not ordinarily a useful setting).
-
-When the value is 0, the connection succeeds regardless of the names in the
-certificate.
-
-The default, since 7.10, is 2.
-
-The checking this option controls is of the identity that the server
-\fIclaims\fP. The server could be lying. To control lying, see
-\fICURLOPT_SSL_VERIFYPEER\fP.
-.IP CURLOPT_SSL_CIPHER_LIST
-Pass a char *, pointing to a zero terminated string holding the list of
-ciphers to use for the SSL connection. The list must be syntactically correct,
-it consists of one or more cipher strings separated by colons. Commas or spaces
-are also acceptable separators but colons are normally used, \!, \- and \+ can
-be used as operators.
-
-For OpenSSL and GnuTLS valid examples of cipher lists include 'RC4-SHA',
-\'SHA1+DES\', 'TLSv1' and 'DEFAULT'. The default list is normally set when you
-compile OpenSSL.
-
-You'll find more details about cipher lists on this URL:
-\fIhttp://www.openssl.org/docs/apps/ciphers.html\fP
-
-For NSS valid examples of cipher lists include 'rsa_rc4_128_md5',
-\'rsa_aes_128_sha\', etc. With NSS you don't add/remove ciphers. If one uses
-this option then all known ciphers are disabled and only those passed in
-are enabled.
-
-You'll find more details about the NSS cipher lists on this URL:
-\fIhttp://directory.fedora.redhat.com/docs/mod_nss.html#Directives\fP
-
-.IP CURLOPT_SSL_SESSIONID_CACHE
-Pass a long set to 0 to disable libcurl's use of SSL session-ID caching. Set
-this to 1 to enable it. By default all transfers are done using the
-cache. Note that while nothing ever should get hurt by attempting to reuse SSL
-session-IDs, there seem to be broken SSL implementations in the wild that may
-require you to disable this in order for you to succeed. (Added in 7.16.0)
-.IP CURLOPT_KRBLEVEL
-Pass a char * as parameter. Set the kerberos security level for FTP; this
-also enables kerberos awareness. This is a string, 'clear', 'safe',
-'confidential' or \&'private'. If the string is set but doesn't match one
-of these, 'private' will be used. Set the string to NULL to disable kerberos
-support for FTP.
-
-(This option was known as CURLOPT_KRB4LEVEL up to 7.16.3)
-.SH SSH OPTIONS
-.IP CURLOPT_SSH_AUTH_TYPES
-Pass a long set to a bitmask consisting of one or more of
-CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST,
-CURLSSH_AUTH_KEYBOARD. Set CURLSSH_AUTH_ANY to let libcurl pick one.
-(Added in 7.16.1)
-.IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
-Pass a char * pointing to a string containing 32 hexadecimal digits. The
-string should be the 128 bit MD5 checksum of the remote host's public key, and
-libcurl will reject the connection to the host unless the md5sums match. This
-option is only for SCP and SFTP transfers. (Added in 7.17.1)
-.IP CURLOPT_SSH_PUBLIC_KEYFILE
-Pass a char * pointing to a file name for your public key. If not used,
-libcurl defaults to using \fB~/.ssh/id_dsa.pub\fP.
-(Added in 7.16.1)
-.IP CURLOPT_SSH_PRIVATE_KEYFILE
-Pass a char * pointing to a file name for your private key. If not used,
-libcurl defaults to using \fB~/.ssh/id_dsa\fP.
-If the file is password-protected, set the password with \fICURLOPT_KEYPASSWD\fP.
-(Added in 7.16.1)
-.SH OTHER OPTIONS
-.IP CURLOPT_PRIVATE
-Pass a void * as parameter, pointing to data that should be associated with
-this curl handle. The pointer can subsequently be retrieved using
-\fIcurl_easy_getinfo(3)\fP with the CURLINFO_PRIVATE option. libcurl itself
-does nothing with this data. (Added in 7.10.3)
-.IP CURLOPT_SHARE
-Pass a share handle as a parameter. The share handle must have been created by
-a previous call to \fIcurl_share_init(3)\fP. Setting this option, will make
-this curl handle use the data from the shared handle instead of keeping the
-data to itself. This enables several curl handles to share data. If the curl
-handles are used simultaneously, you \fBMUST\fP use the locking methods in the
-share handle. See \fIcurl_share_setopt(3)\fP for details.
-
-If you add a share that is set to share cookies, your easy handle will use
-that cookie cache and get the cookie engine enabled. If you unshare an object
-that were using cookies (or change to another object that doesn't share
-cookies), the easy handle will get its cookie engine disabled.
-
-Data that the share object is not set to share will be dealt with the usual
-way, as if no share was used.
-.IP CURLOPT_NEW_FILE_PERMS
-Pass a long as a parameter, containing the value of the permissions that will
-be assigned to newly created files on the remote server. The default value is
-\fI0644\fP, but any valid value can be used. The only protocols that can use
-this are \fIsftp://\fP, \fIscp://\fP and \fIfile://\fP. (Added in 7.16.4)
-.IP CURLOPT_NEW_DIRECTORY_PERMS
-Pass a long as a parameter, containing the value of the permissions that will
-be assigned to newly created directories on the remote server. The default
-value is \fI0755\fP, but any valid value can be used. The only protocols that
-can use this are \fIsftp://\fP, \fIscp://\fP and \fIfile://\fP.
-(Added in 7.16.4)
-.SH TELNET OPTIONS
-.IP CURLOPT_TELNETOPTIONS
-Provide a pointer to a curl_slist with variables to pass to the telnet
-negotiations. The variables should be in the format <option=value>. libcurl
-supports the options 'TTYPE', 'XDISPLOC' and 'NEW_ENV'. See the TELNET
-standard for details.
-.SH RETURN VALUE
-CURLE_OK (zero) means that the option was set properly, non-zero means an
-error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP
-man page for the full list with descriptions.
-
-If you try to set an option that libcurl doesn't know about, perhaps because
-the library is too old to support it or the option was removed in a recent
-version, this function will return \fICURLE_FAILED_INIT\fP.
-.SH "SEE ALSO"
-.BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.html
deleted file mode 100644
index bd4cf86..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.html
+++ /dev/null
@@ -1,634 +0,0 @@
-<html><head>
-<title>curl_easy_setopt man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_setopt - set options for a curl easy handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_easy_setopt() is used to tell libcurl how to behave. By using the appropriate options to <span Class="emphasis">curl_easy_setopt</span>, you can change libcurl's behavior. All options are set with the <span Class="emphasis">option</span> followed by a <span Class="emphasis">parameter</span>. That parameter can be a <span Class="bold">long</span>, a <span Class="bold">function pointer</span>, an <span Class="bold">object pointer</span> or a <span Class="bold">curl_off_t</span>, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. A typical application uses many curl_easy_setopt() calls in the setup phase.
-<p class="level0">Options set with this function call are valid for all forthcoming transfers performed using this <span Class="emphasis">handle</span>. The options are not in any way reset between transfers, so if you want subsequent transfers with different options, you must change them between the transfers. You can optionally reset all options back to internal default with <a class="emphasis" href="./curl_easy_reset.html">curl_easy_reset(3)</a>.
-<p class="level0">Strings passed to libcurl as 'char *' arguments, are copied by the library; thus the string storage associated to the pointer argument may be overwritten after curl_easy_setopt() returns. Exceptions to this rule are described in the option details below.
-<p class="level0">NOTE: before 7.17.0 strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them.
-<p class="level0">The <span Class="emphasis">handle</span> is the return code from a <a class="emphasis" href="./curl_easy_init.html">curl_easy_init(3)</a> or <a class="emphasis" href="./curl_easy_duphandle.html">curl_easy_duphandle(3)</a> call. <a name="BEHAVIOR"></a><h2 class="nroffsh">BEHAVIOR OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTVERBOSE"></a><span class="nroffip">CURLOPT_VERBOSE</span>
-<p class="level1">Set the parameter to 1 to get the library to display a lot of verbose information about its operations. Very useful for libcurl and/or protocol debugging and understanding. The verbose information will be sent to stderr, or the stream set with <a class="emphasis" href="#CURLOPTSTDERR">CURLOPT_STDERR</a>.
-<p class="level1">You hardly ever want this set in production use, you will almost always want this when you debug/report problems. Another neat option for debugging is the <a class="emphasis" href="#CURLOPTDEBUGFUNCTION">CURLOPT_DEBUGFUNCTION</a>.
-<p class="level0"><a name="CURLOPTHEADER"></a><span class="nroffip">CURLOPT_HEADER</span>
-<p class="level1">A parameter set to 1 tells the library to include the header in the body output. This is only relevant for protocols that actually have headers preceding the data (like HTTP).
-<p class="level0"><a name="CURLOPTNOPROGRESS"></a><span class="nroffip">CURLOPT_NOPROGRESS</span>
-<p class="level1">A parameter set to 1 tells the library to shut off the built-in progress meter completely.
-<p class="level1">Future versions of libcurl is likely to not have any built-in progress meter at all.
-<p class="level0"><a name="CURLOPTNOSIGNAL"></a><span class="nroffip">CURLOPT_NOSIGNAL</span>
-<p class="level1">Pass a long. If it is 1, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the process. This option is mainly here to allow multi-threaded unix applications to still set/use all timeout options etc, without risking getting signals. (Added in 7.10)
-<p class="level1">Consider building libcurl with ares support to enable asynchronous DNS lookups. It enables nice timeouts for name resolves without signals.
-<p class="level1"><a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTWRITEFUNCTION"></a><span class="nroffip">CURLOPT_WRITEFUNCTION</span>
-<p class="level1">Function pointer that should match the following prototype: <span class="bold">size_t function( void *ptr, size_t size, size_t nmemb, void *stream);</span> This function gets called by libcurl as soon as there is data received that needs to be saved. The size of the data pointed to by <span Class="emphasis">ptr</span> is <span Class="emphasis">size</span> multiplied with <span Class="emphasis">nmemb</span>, it will not be zero terminated. Return the number of bytes actually taken care of. If that amount differs from the amount passed to your function, it'll signal an error to the library and it will abort the transfer and return <span Class="emphasis">CURLE_WRITE_ERROR</span>.
-<p class="level1">From 7.18.0, the function can return CURL_WRITEFUNC_PAUSE which then will cause writing to this connection to become paused. See <a class="emphasis" href="./curl_easy_pause.html">curl_easy_pause(3)</a> for further details.
-<p class="level1">This function may be called with zero bytes data if the transfered file is empty.
-<p class="level1">Set this option to NULL to get the internal default function. The internal default function will write the data to the FILE * given with <a class="emphasis" href="#CURLOPTWRITEDATA">CURLOPT_WRITEDATA</a>.
-<p class="level1">Set the <span Class="emphasis">stream</span> argument with the <a class="emphasis" href="#CURLOPTWRITEDATA">CURLOPT_WRITEDATA</a> option.
-<p class="level1">The callback function will be passed as much data as possible in all invokes, but you cannot possibly make any assumptions. It may be one byte, it may be thousands. The maximum amount of data that can be passed to the write callback is defined in the curl.h header file: CURL_MAX_WRITE_SIZE.
-<p class="level0"><a name="CURLOPTWRITEDATA"></a><span class="nroffip">CURLOPT_WRITEDATA</span>
-<p class="level1">Data pointer to pass to the file write function. If you use the <a class="emphasis" href="#CURLOPTWRITEFUNCTION">CURLOPT_WRITEFUNCTION</a> option, this is the pointer you'll get as input. If you don't use a callback, you must pass a 'FILE *' as libcurl will pass this to fwrite() when writing data.
-<p class="level1">The internal <a class="emphasis" href="#CURLOPTWRITEFUNCTION">CURLOPT_WRITEFUNCTION</a> will write the data to the FILE * given with this option, or to stdout if this option hasn't been set.
-<p class="level1">If you're using libcurl as a win32 DLL, you <span Class="bold">MUST</span> use the <a class="emphasis" href="#CURLOPTWRITEFUNCTION">CURLOPT_WRITEFUNCTION</a> if you set this option or you will experience crashes.
-<p class="level1">This option is also known with the older name <span Class="emphasis">CURLOPT_FILE</span>, the name <a class="emphasis" href="#CURLOPTWRITEDATA">CURLOPT_WRITEDATA</a> was introduced in 7.9.7.
-<p class="level0"><a name="CURLOPTREADFUNCTION"></a><span class="nroffip">CURLOPT_READFUNCTION</span>
-<p class="level1">Function pointer that should match the following prototype: <span class="bold">size_t function( void *ptr, size_t size, size_t nmemb, void *stream);</span> This function gets called by libcurl as soon as it needs to read data in order to send it to the peer. The data area pointed at by the pointer <span Class="emphasis">ptr</span> may be filled with at most <span Class="emphasis">size</span> multiplied with <span Class="emphasis">nmemb</span> number of bytes. Your function must return the actual number of bytes that you stored in that memory area. Returning 0 will signal end-of-file to the library and cause it to stop the current transfer.
-<p class="level1">If you stop the current transfer by returning 0 "pre-maturely" (i.e before the server expected it, like when you've told you will upload N bytes and you upload less than N bytes), you may experience that the server "hangs" waiting for the rest of the data that won't come.
-<p class="level1">The read callback may return <span Class="emphasis">CURL_READFUNC_ABORT</span> to stop the current operation immediately, resulting in a <span Class="emphasis">CURLE_ABORTED_BY_CALLBACK</span> error code from the transfer (Added in 7.12.1)
-<p class="level1">From 7.18.0, the function can return CURL_READFUNC_PAUSE which then will cause reading from this connection to become paused. See <a class="emphasis" href="./curl_easy_pause.html">curl_easy_pause(3)</a> for further details.
-<p class="level1">If you set the callback pointer to NULL, or doesn't set it at all, the default internal read function will be used. It is simply doing an fread() on the FILE * stream set with <a class="emphasis" href="#CURLOPTREADDATA">CURLOPT_READDATA</a>.
-<p class="level0"><a name="CURLOPTREADDATA"></a><span class="nroffip">CURLOPT_READDATA</span>
-<p class="level1">Data pointer to pass to the file read function. If you use the <a class="emphasis" href="#CURLOPTREADFUNCTION">CURLOPT_READFUNCTION</a> option, this is the pointer you'll get as input. If you don't specify a read callback but instead rely on the default internal read function, this data must be a valid readable FILE *.
-<p class="level1">If you're using libcurl as a win32 DLL, you MUST use a <a class="emphasis" href="#CURLOPTREADFUNCTION">CURLOPT_READFUNCTION</a> if you set this option.
-<p class="level1">This option is also known with the older name <span Class="emphasis">CURLOPT_INFILE</span>, the name <a class="emphasis" href="#CURLOPTREADDATA">CURLOPT_READDATA</a> was introduced in 7.9.7.
-<p class="level0"><a name="CURLOPTIOCTLFUNCTION"></a><span class="nroffip">CURLOPT_IOCTLFUNCTION</span>
-<p class="level1">Function pointer that should match the <span Class="emphasis">curl_ioctl_callback</span> prototype found in <span Class="emphasis">&lt;curl/curl.h&gt;</span>. This function gets called by libcurl when something special I/O-related needs to be done that the library can't do by itself. For now, rewinding the read data stream is the only action it can request. The rewinding of the read data stream may be necessary when doing a HTTP PUT or POST with a multi-pass authentication method. (Option added in 7.12.3).
-<p class="level1">Use <a class="emphasis" href="#CURLOPTSEEKFUNCTION">CURLOPT_SEEKFUNCTION</a> instead to provide seeking!
-<p class="level0"><a name="CURLOPTIOCTLDATA"></a><span class="nroffip">CURLOPT_IOCTLDATA</span>
-<p class="level1">Pass a pointer that will be untouched by libcurl and passed as the 3rd argument in the ioctl callback set with <a class="emphasis" href="#CURLOPTIOCTLFUNCTION">CURLOPT_IOCTLFUNCTION</a>. (Option added in 7.12.3)
-<p class="level0"><a name="CURLOPTSEEKFUNCTION"></a><span class="nroffip">CURLOPT_SEEKFUNCTION</span>
-<p class="level1">Function pointer that should match the following prototype: <span class="emphasis">int function(void *instream, curl_off_t offset, int origin);</span> This function gets called by libcurl to seek to a certain position in the input stream and can be used to fast forward a file in a resumed upload (instead of reading all uploaded bytes with the normal read function/callback). It is also called to rewind a stream when doing a HTTP PUT or POST with a multi-pass authentication method. The function shall work like "fseek" or "lseek" and accepted SEEK_SET, SEEK_CUR and SEEK_END as argument for origin, although (in 7.18.0) libcurl only passes SEEK_SET. The callback must return 0 on success as returning something else will cause the upload operation to fail.
-<p class="level1">If you forward the input arguments directly to "fseek" or "lseek", note that the data type for <span Class="emphasis">offset</span> is not the same as defined for curl_off_t on many systems! (Option added in 7.18.0)
-<p class="level0"><a name="CURLOPTSEEKDATA"></a><span class="nroffip">CURLOPT_SEEKDATA</span>
-<p class="level1">Data pointer to pass to the file read function. If you use the <a class="emphasis" href="#CURLOPTSEEKFUNCTION">CURLOPT_SEEKFUNCTION</a> option, this is the pointer you'll get as input. If you don't specify a seek callback, NULL is passed. (Option added in 7.18.0)
-<p class="level0"><a name="CURLOPTSOCKOPTFUNCTION"></a><span class="nroffip">CURLOPT_SOCKOPTFUNCTION</span>
-<p class="level1">Function pointer that should match the <span Class="emphasis">curl_sockopt_callback</span> prototype found in <span Class="emphasis">&lt;curl/curl.h&gt;</span>. This function gets called by libcurl after the socket() call but before the connect() call. The callback's <span Class="emphasis">purpose</span> argument identifies the exact purpose for this particular socket, and currently only one value is supported: <span Class="emphasis">CURLSOCKTYPE_IPCXN</span> for the primary connection (meaning the control connection in the FTP case). Future versions of libcurl may support more purposes. It passes the newly created socket descriptor so additional setsockopt() calls can be done at the user's discretion. A non-zero return code from the callback function will signal an unrecoverable error to the library and it will close the socket and return <span Class="emphasis">CURLE_COULDNT_CONNECT</span>. (Option added in 7.15.6.)
-<p class="level0"><a name="CURLOPTSOCKOPTDATA"></a><span class="nroffip">CURLOPT_SOCKOPTDATA</span>
-<p class="level1">Pass a pointer that will be untouched by libcurl and passed as the first argument in the sockopt callback set with <a class="emphasis" href="#CURLOPTSOCKOPTFUNCTION">CURLOPT_SOCKOPTFUNCTION</a>. (Option added in 7.15.6.)
-<p class="level0"><a name="CURLOPTOPENSOCKETFUNCTION"></a><span class="nroffip">CURLOPT_OPENSOCKETFUNCTION</span>
-<p class="level1">Function pointer that should match the <span Class="emphasis">curl_opensocket_callback</span> prototype found in <span Class="emphasis">&lt;curl/curl.h&gt;</span>. This function gets called by libcurl instead of the <span Class="emphasis">socket(2)</span> call. The callback's <span Class="emphasis">purpose</span> argument identifies the exact purpose for this particular socket, and currently only one value is supported: <span Class="emphasis">CURLSOCKTYPE_IPCXN</span> for the primary connection (meaning the control connection in the FTP case). Future versions of libcurl may support more purposes. It passes the resolved peer address as a <span Class="emphasis">address</span> argument so the callback can modify the address or refuse to connect at all. The callback function should return the socket or <span Class="emphasis">CURL_SOCKET_BAD</span> in case no connection should be established or any error detected. Any additional <span Class="emphasis">setsockopt(2)</span> calls can be done on the socket at the user's discretion. <span Class="emphasis">CURL_SOCKET_BAD</span> return value from the callback function will signal an unrecoverable error to the library and it will return <span Class="emphasis">CURLE_COULDNT_CONNECT</span>. This return code can be used for IP address blacklisting. The default behavior is:
-<p class="level1">&nbsp; return socket(addr-&gt;family, addr-&gt;socktype, addr-&gt;protocol);
-<p class="level1">(Option added in 7.17.1.)
-<p class="level0"><a name="CURLOPTOPENSOCKETDATA"></a><span class="nroffip">CURLOPT_OPENSOCKETDATA</span>
-<p class="level1">Pass a pointer that will be untouched by libcurl and passed as the first argument in the opensocket callback set with <a class="emphasis" href="#CURLOPTOPENSOCKETFUNCTION">CURLOPT_OPENSOCKETFUNCTION</a>. (Option added in 7.17.1.)
-<p class="level0"><a name="CURLOPTPROGRESSFUNCTION"></a><span class="nroffip">CURLOPT_PROGRESSFUNCTION</span>
-<p class="level1">Function pointer that should match the <span Class="emphasis">curl_progress_callback</span> prototype found in <span Class="emphasis">&lt;curl/curl.h&gt;</span>. This function gets called by libcurl instead of its internal equivalent with a frequent interval during operation (roughly once per second) no matter if data is being transfered or not. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Returning a non-zero value from this callback will cause libcurl to abort the transfer and return <span Class="emphasis">CURLE_ABORTED_BY_CALLBACK</span>.
-<p class="level1">If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers.
-<p class="level1"><a class="emphasis" href="#CURLOPTNOPROGRESS">CURLOPT_NOPROGRESS</a> must be set to 0 to make this function actually get called.
-<p class="level0"><a name="CURLOPTPROGRESSDATA"></a><span class="nroffip">CURLOPT_PROGRESSDATA</span>
-<p class="level1">Pass a pointer that will be untouched by libcurl and passed as the first argument in the progress callback set with <a class="emphasis" href="#CURLOPTPROGRESSFUNCTION">CURLOPT_PROGRESSFUNCTION</a>.
-<p class="level0"><a name="CURLOPTHEADERFUNCTION"></a><span class="nroffip">CURLOPT_HEADERFUNCTION</span>
-<p class="level1">Function pointer that should match the following prototype: <span class="emphasis">size_t function( void *ptr, size_t size, size_t nmemb, void *stream);</span>. This function gets called by libcurl as soon as it has received header data. The header callback will be called once for each header and only complete header lines are passed on to the callback. Parsing headers should be easy enough using this. The size of the data pointed to by <span Class="emphasis">ptr</span> is <span Class="emphasis">size</span> multiplied with <span Class="emphasis">nmemb</span>. Do not assume that the header line is zero terminated! The pointer named <span Class="emphasis">stream</span> is the one you set with the <a class="emphasis" href="#CURLOPTWRITEHEADER">CURLOPT_WRITEHEADER</a> option. The callback function must return the number of bytes actually taken care of, or return -1 to signal error to the library (it will cause it to abort the transfer with a <span Class="emphasis">CURLE_WRITE_ERROR</span> return code).
-<p class="level1">If this option is not set, or if it is set to NULL, but <span Class="emphasis">CURLOPT_HEADERDATA</span> (<a class="emphasis" href="#CURLOPTWRITEHEADER">CURLOPT_WRITEHEADER</a>) is set to anything but NULL, the function used to accept response data will be used instead. That is, it will be the function specified with <a class="emphasis" href="#CURLOPTWRITEFUNCTION">CURLOPT_WRITEFUNCTION</a>, or if it is not specified or NULL - the default, stream-writing function.
-<p class="level1">Since 7.14.1: When a server sends a chunked encoded transfer, it may contain a trailer. That trailer is identical to a HTTP header and if such a trailer is received it is passed to the application using this callback as well. There are several ways to detect it being a trailer and not an ordinary header: 1) it comes after the response-body. 2) it comes after the final header line (CR LF) 3) a Trailer: header among the response-headers mention what header to expect in the trailer.
-<p class="level0"><a name="CURLOPTWRITEHEADER"></a><span class="nroffip">CURLOPT_WRITEHEADER</span>
-<p class="level1">(This option is also known as <span Class="bold">CURLOPT_HEADERDATA</span>) Pass a pointer to be used to write the header part of the received data to. If you don't use your own callback to take care of the writing, this must be a valid FILE *. See also the <a class="emphasis" href="#CURLOPTHEADERFUNCTION">CURLOPT_HEADERFUNCTION</a> option above on how to set a custom get-all-headers callback.
-<p class="level0"><a name="CURLOPTDEBUGFUNCTION"></a><span class="nroffip">CURLOPT_DEBUGFUNCTION</span>
-<p class="level1">Function pointer that should match the following prototype: <span class="emphasis">int curl_debug_callback (CURL *, curl_infotype, char *, size_t, void *);</span> <a class="emphasis" href="#CURLOPTDEBUGFUNCTION">CURLOPT_DEBUGFUNCTION</a> replaces the standard debug function used when <a class="emphasis" href="#CURLOPTVERBOSE">CURLOPT_VERBOSE </a> is in effect. This callback receives debug information, as specified with the <span Class="bold">curl_infotype</span> argument. This function must return 0. The data pointed to by the char * passed to this function WILL NOT be zero terminated, but will be exactly of the size as told by the size_t argument.
-<p class="level1">Available curl_infotype values:
-<p class="level2">
-<p class="level1"><a name="CURLINFOTEXT"></a><span class="nroffip">CURLINFO_TEXT</span>
-<p class="level2">The data is informational text.
-<p class="level1"><a name="CURLINFOHEADERIN"></a><span class="nroffip">CURLINFO_HEADER_IN</span>
-<p class="level2">The data is header (or header-like) data received from the peer.
-<p class="level1"><a name="CURLINFOHEADEROUT"></a><span class="nroffip">CURLINFO_HEADER_OUT</span>
-<p class="level2">The data is header (or header-like) data sent to the peer.
-<p class="level1"><a name="CURLINFODATAIN"></a><span class="nroffip">CURLINFO_DATA_IN</span>
-<p class="level2">The data is protocol data received from the peer.
-<p class="level1"><a name="CURLINFODATAOUT"></a><span class="nroffip">CURLINFO_DATA_OUT</span>
-<p class="level2">The data is protocol data sent to the peer.
-<p class="level1">
-<p class="level0"><a name="CURLOPTDEBUGDATA"></a><span class="nroffip">CURLOPT_DEBUGDATA</span>
-<p class="level1">Pass a pointer to whatever you want passed in to your <a class="emphasis" href="#CURLOPTDEBUGFUNCTION">CURLOPT_DEBUGFUNCTION</a> in the last void * argument. This pointer is not used by libcurl, it is only passed to the callback.
-<p class="level0"><a name="CURLOPTSSLCTXFUNCTION"></a><span class="nroffip">CURLOPT_SSL_CTX_FUNCTION</span>
-<p class="level1">This option does only function for libcurl powered by OpenSSL. If libcurl was built against another SSL library, this functionality is absent.
-<p class="level1">Function pointer that should match the following prototype: <span class="bold">CURLcode sslctxfun(CURL *curl, void *sslctx, void *parm);</span> This function gets called by libcurl just before the initialization of an SSL connection after having processed all other SSL related options to give a last chance to an application to modify the behaviour of openssl's ssl initialization. The <span Class="emphasis">sslctx</span> parameter is actually a pointer to an openssl <span Class="emphasis">SSL_CTX</span>. If an error is returned no attempt to establish a connection is made and the perform operation will return the error code from this callback function. Set the <span Class="emphasis">parm</span> argument with the <a class="emphasis" href="#CURLOPTSSLCTXDATA">CURLOPT_SSL_CTX_DATA</a> option. This option was introduced in 7.11.0.
-<p class="level1">This function will get called on all new connections made to a server, during the SSL negotiation. The SSL_CTX pointer will be a new one every time.
-<p class="level1">To use this properly, a non-trivial amount of knowledge of the openssl libraries is necessary. Using this function allows for example to use openssl callbacks to add additional validation code for certificates, and even to change the actual URI of an HTTPS request (example used in the lib509 test case). See also the example section for a replacement of the key, certificate and trust file settings.
-<p class="level0"><a name="CURLOPTSSLCTXDATA"></a><span class="nroffip">CURLOPT_SSL_CTX_DATA</span>
-<p class="level1">Data pointer to pass to the ssl context callback set by the option <a class="emphasis" href="#CURLOPTSSLCTXFUNCTION">CURLOPT_SSL_CTX_FUNCTION</a>, this is the pointer you'll get as third parameter, otherwise <span Class="bold">NULL</span>. (Added in 7.11.0)
-<p class="level0"><a name="CURLOPTCONVTONETWORKFUNCTION"></a><span class="nroffip">CURLOPT_CONV_TO_NETWORK_FUNCTION</span>
-<p class="level1">
-<p class="level0"><a name="CURLOPTCONVFROMNETWORKFUNCTION"></a><span class="nroffip">CURLOPT_CONV_FROM_NETWORK_FUNCTION</span>
-<p class="level1">
-<p class="level0"><a name="CURLOPTCONVFROMUTF8FUNCTION"></a><span class="nroffip">CURLOPT_CONV_FROM_UTF8_FUNCTION</span>
-<p class="level1">Function pointers that should match the following prototype: CURLcode function(char *ptr, size_t length);
-<p class="level1">These three options apply to non-ASCII platforms only. They are available only if <span Class="bold">CURL_DOES_CONVERSIONS</span> was defined when libcurl was built. When this is the case, <a class="emphasis" href="./curl_version_info.html">curl_version_info(3)</a> will return the CURL_VERSION_CONV feature bit set.
-<p class="level1">The data to be converted is in a buffer pointed to by the ptr parameter. The amount of data to convert is indicated by the length parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. CURLE_OK should be returned upon successful conversion. A CURLcode return value defined by curl.h, such as CURLE_CONV_FAILED, should be returned if an error was encountered.
-<p class="level1"><a class="bold" href="#CURLOPTCONVTONETWORKFUNCTION">CURLOPT_CONV_TO_NETWORK_FUNCTION</a> and <a class="bold" href="#CURLOPTCONVFROMNETWORKFUNCTION">CURLOPT_CONV_FROM_NETWORK_FUNCTION</a> convert between the host encoding and the network encoding. They are used when commands or ASCII data are sent/received over the network.
-<p class="level1"><a class="bold" href="#CURLOPTCONVFROMUTF8FUNCTION">CURLOPT_CONV_FROM_UTF8_FUNCTION</a> is called to convert from UTF8 into the host encoding. It is required only for SSL processing.
-<p class="level1">If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.
-<p class="level1">If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:
-<p class="level1">&nbsp;#define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
-<p class="level1">The iconv code in libcurl will default the network and UTF8 codeset names as follows:
-<p class="level1">&nbsp;#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-<p class="level1">&nbsp;#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
-<p class="level1">You will need to override these definitions if they are different on your system. <a name="ERROR"></a><h2 class="nroffsh">ERROR OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTERRORBUFFER"></a><span class="nroffip">CURLOPT_ERRORBUFFER</span>
-<p class="level1">Pass a char * to a buffer that the libcurl may store human readable error messages in. This may be more helpful than just the return code from <span Class="emphasis">curl_easy_perform</span>. The buffer must be at least CURL_ERROR_SIZE big. Although this argument is a 'char *', it does not describe an input string. Therefore the (probably undefined) contents of the buffer is NOT copied by the library. You should keep the associated storage available until libcurl no longer needs it. Failing to do so will cause very odd behavior or even crashes. libcurl will need it until you call <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> or you set the same option again to use a different pointer.
-<p class="level1">Use <a class="emphasis" href="#CURLOPTVERBOSE">CURLOPT_VERBOSE</a> and <a class="emphasis" href="#CURLOPTDEBUGFUNCTION">CURLOPT_DEBUGFUNCTION</a> to better debug/trace why errors happen.
-<p class="level1">If the library does not return an error, the buffer may not have been touched. Do not rely on the contents in those cases.
-<p class="level1">
-<p class="level0"><a name="CURLOPTSTDERR"></a><span class="nroffip">CURLOPT_STDERR</span>
-<p class="level1">Pass a FILE * as parameter. Tell libcurl to use this stream instead of stderr when showing the progress meter and displaying <a class="emphasis" href="#CURLOPTVERBOSE">CURLOPT_VERBOSE</a> data.
-<p class="level0"><a name="CURLOPTFAILONERROR"></a><span class="nroffip">CURLOPT_FAILONERROR</span>
-<p class="level1">A parameter set to 1 tells the library to fail silently if the HTTP code returned is equal to or larger than 400. The default action would be to return the page normally, ignoring that code.
-<p class="level1">This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407).
-<p class="level1">You might get some amounts of headers transferred before this situation is detected, like for when a "100-continue" is received as a response to a POST/PUT and a 401 or 407 is received immediately afterwards. <a name="NETWORK"></a><h2 class="nroffsh">NETWORK OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTURL"></a><span class="nroffip">CURLOPT_URL</span>
-<p class="level1">The actual URL to deal with. The parameter should be a char * to a zero terminated string.
-<p class="level1">If the given URL lacks the protocol part ("http://" or "ftp://" etc), it will attempt to guess which protocol to use based on the given host name. If the given protocol of the set URL is not supported, libcurl will return on error (<span Class="emphasis">CURLE_UNSUPPORTED_PROTOCOL</span>) when you call <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> or <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>. Use <a class="emphasis" href="./curl_version_info.html">curl_version_info(3)</a> for detailed info on which protocols that are supported.
-<p class="level1">The string given to CURLOPT_URL must be url-encoded and following the RFC 2396 (<a href="http://curl.haxx.se/rfc/rfc2396.txt">http://curl.haxx.se/rfc/rfc2396.txt</a>).
-<p class="level1"><a class="emphasis" href="#CURLOPTURL">CURLOPT_URL</a> is the only option that <span Class="bold">must</span> be set before <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> is called.
-<p class="level0"><a name="CURLOPTPROXY"></a><span class="nroffip">CURLOPT_PROXY</span>
-<p class="level1">Set HTTP proxy to use. The parameter should be a char * to a zero terminated string holding the host name or dotted IP address. To specify port number in this string, append :[port] to the end of the host name. The proxy string may be prefixed with [protocol]:// since any such prefix will be ignored. The proxy's port number may optionally be specified with the separate option <a class="emphasis" href="#CURLOPTPROXYPORT">CURLOPT_PROXYPORT</a>.
-<p class="level1">When you tell the library to use an HTTP proxy, libcurl will transparently convert operations to HTTP even if you specify an FTP URL etc. This may have an impact on what other features of the library you can use, such as <a class="emphasis" href="#CURLOPTQUOTE">CURLOPT_QUOTE</a> and similar FTP specifics that don't work unless you tunnel through the HTTP proxy. Such tunneling is activated with <a class="emphasis" href="#CURLOPTHTTPPROXYTUNNEL">CURLOPT_HTTPPROXYTUNNEL</a>.
-<p class="level1">libcurl respects the environment variables <span Class="bold">http_proxy</span>, <span Class="bold">ftp_proxy</span>, <span Class="bold">all_proxy</span> etc, if any of those is set. The <a class="emphasis" href="#CURLOPTPROXY">CURLOPT_PROXY</a> option does however override any possibly set environment variables.
-<p class="level1">Setting the proxy string to "" (an empty string) will explicitly disable the use of a proxy, even if there is an environment variable set for it.
-<p class="level1">Since 7.14.1, the proxy host string given in environment variables can be specified the exact same way as the proxy can be set with <a class="emphasis" href="#CURLOPTPROXY">CURLOPT_PROXY</a>, include protocol prefix (http://) and embedded user + password.
-<p class="level0"><a name="CURLOPTPROXYPORT"></a><span class="nroffip">CURLOPT_PROXYPORT</span>
-<p class="level1">Pass a long with this option to set the proxy port to connect to unless it is specified in the proxy string <a class="emphasis" href="#CURLOPTPROXY">CURLOPT_PROXY</a>.
-<p class="level0"><a name="CURLOPTPROXYTYPE"></a><span class="nroffip">CURLOPT_PROXYTYPE</span>
-<p class="level1">Pass a long with this option to set type of the proxy. Available options for this are <span Class="emphasis">CURLPROXY_HTTP</span>, <span Class="emphasis">CURLPROXY_SOCKS4</span> (added in 7.15.2), <span Class="emphasis">CURLPROXY_SOCKS5</span>, <span Class="emphasis">CURLPROXY_SOCKS4A</span> (added in 7.18.0) and <span Class="emphasis">CURLPROXY_SOCKS5_HOSTNAME</span> (added in 7.18.0). The HTTP type is default. (Added in 7.10)
-<p class="level0"><a name="CURLOPTHTTPPROXYTUNNEL"></a><span class="nroffip">CURLOPT_HTTPPROXYTUNNEL</span>
-<p class="level1">Set the parameter to 1 to make the library tunnel all operations through a given HTTP proxy. There is a big difference between using a proxy and to tunnel through it. If you don't know what this means, you probably don't want this tunneling option.
-<p class="level0"><a name="CURLOPTSOCKS5RESOLVELOCAL"></a><span class="nroffip">CURLOPT_SOCKS5_RESOLVE_LOCAL</span>
-<p class="level1">Set the parameter to 1 to make the library to resolve the host name locally instead of passing it to the proxy to resolve, when using a SOCKS5 proxy.
-<p class="level1">Note that libcurl before 7.18.0 always resolved the host name locally even when SOCKS5 was used. (Added in 7.18.0)
-<p class="level0"><a name="CURLOPTINTERFACE"></a><span class="nroffip">CURLOPT_INTERFACE</span>
-<p class="level1">Pass a char * as parameter. This set the interface name to use as outgoing network interface. The name can be an interface name, an IP address or a host name.
-<p class="level0"><a name="CURLOPTLOCALPORT"></a><span class="nroffip">CURLOPT_LOCALPORT</span>
-<p class="level1">Pass a long. This sets the local port number of the socket used for connection. This can be used in combination with <a class="emphasis" href="#CURLOPTINTERFACE">CURLOPT_INTERFACE</a> and you are recommended to use <a class="emphasis" href="#CURLOPTLOCALPORTRANGE">CURLOPT_LOCALPORTRANGE</a> as well when this is set. Note that port numbers are only valid 1 - 65535. (Added in 7.15.2)
-<p class="level0"><a name="CURLOPTLOCALPORTRANGE"></a><span class="nroffip">CURLOPT_LOCALPORTRANGE</span>
-<p class="level1">Pass a long. This is the number of attempts libcurl should do to find a working local port number. It starts with the given <a class="emphasis" href="#CURLOPTLOCALPORT">CURLOPT_LOCALPORT</a> and adds one to the number for each retry. Setting this to 1 or below will make libcurl do only one try for the exact port number. Note that port numbers by nature are scarce resources that will be busy at times so setting this value to something too low might cause unnecessary connection setup failures. (Added in 7.15.2)
-<p class="level0"><a name="CURLOPTDNSCACHETIMEOUT"></a><span class="nroffip">CURLOPT_DNS_CACHE_TIMEOUT</span>
-<p class="level1">Pass a long, this sets the timeout in seconds. Name resolves will be kept in memory for this number of seconds. Set to zero to completely disable caching, or set to -1 to make the cached entries remain forever. By default, libcurl caches this info for 60 seconds.
-<p class="level1">NOTE: the name resolve functions of various libc implementations don't re-read name server information unless explicitly told so (by for example calling <span Class="emphasis">res_init(3)</span>. This may cause libcurl to keep using the older server even if DHCP has updated the server info, and this may look like a DNS cache issue to the casual libcurl-app user.
-<p class="level0"><a name="CURLOPTDNSUSEGLOBALCACHE"></a><span class="nroffip">CURLOPT_DNS_USE_GLOBAL_CACHE</span>
-<p class="level1">Pass a long. If the value is 1, it tells curl to use a global DNS cache that will survive between easy handle creations and deletions. This is not thread-safe and this will use a global variable.
-<p class="level1"><span Class="bold">WARNING:</span> this option is considered obsolete. Stop using it. Switch over to using the share interface instead! See <a class="emphasis" href="#CURLOPTSHARE">CURLOPT_SHARE</a> and <a class="emphasis" href="./curl_share_init.html">curl_share_init(3)</a>.
-<p class="level0"><a name="CURLOPTBUFFERSIZE"></a><span class="nroffip">CURLOPT_BUFFERSIZE</span>
-<p class="level1">Pass a long specifying your preferred size (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size. (Added in 7.10)
-<p class="level1">This size is by default set as big as possible (CURL_MAX_WRITE_SIZE), so it only makes sense to use this option if you want it smaller.
-<p class="level0"><a name="CURLOPTPORT"></a><span class="nroffip">CURLOPT_PORT</span>
-<p class="level1">Pass a long specifying what remote port number to connect to, instead of the one specified in the URL or the default port for the used protocol.
-<p class="level0"><a name="CURLOPTTCPNODELAY"></a><span class="nroffip">CURLOPT_TCP_NODELAY</span>
-<p class="level1">Pass a long specifying whether the TCP_NODELAY option should be set or cleared (1 = set, 0 = clear). The option is cleared by default. This will have no effect after the connection has been established.
-<p class="level1">Setting this option will disable TCP's Nagle algorithm. The purpose of this algorithm is to try to minimize the number of small packets on the network (where "small packets" means TCP segments less than the Maximum Segment Size (MSS) for the network).
-<p class="level1">Maximizing the amount of data sent per TCP segment is good because it amortizes the overhead of the send. However, in some cases (most notably telnet or rlogin) small segments may need to be sent without delay. This is less efficient than sending larger amounts of data at a time, and can contribute to congestion on the network if overdone.
-<p class="level0"><a name="CURLOPTADDRESSSCOPE"></a><span class="nroffip">CURLOPT_ADDRESS_SCOPE</span>
-<p class="level1">Pass a long specifying the scope_id value to use when connecting to IPv6 link-local or site-local addresses. <a name="NAMES"></a><h2 class="nroffsh">NAMES and PASSWORDS OPTIONS (Authentication)</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTNETRC"></a><span class="nroffip">CURLOPT_NETRC</span>
-<p class="level1">This parameter controls the preference of libcurl between using user names and passwords from your <span Class="emphasis">~/.netrc</span> file, relative to user names and passwords in the URL supplied with <a class="emphasis" href="#CURLOPTURL">CURLOPT_URL</a>.
-<p class="level1">libcurl uses a user name (and supplied or prompted password) supplied with <a class="emphasis" href="#CURLOPTUSERPWD">CURLOPT_USERPWD</a> in preference to any of the options controlled by this parameter.
-<p class="level1">Pass a long, set to one of the values described below.
-<p class="level2">
-<p class="level1"><a name="CURLNETRCOPTIONAL"></a><span class="nroffip">CURL_NETRC_OPTIONAL</span>
-<p class="level2">The use of your <span Class="emphasis">~/.netrc</span> file is optional, and information in the URL is to be preferred. The file will be scanned with the host and user name (to find the password only) or with the host only, to find the first user name and password after that <span Class="emphasis">machine</span>, which ever information is not specified in the URL.
-<p class="level2">Undefined values of the option will have this effect.
-<p class="level1"><a name="CURLNETRCIGNORED"></a><span class="nroffip">CURL_NETRC_IGNORED</span>
-<p class="level2">The library will ignore the file and use only the information in the URL.
-<p class="level2">This is the default.
-<p class="level1"><a name="CURLNETRCREQUIRED"></a><span class="nroffip">CURL_NETRC_REQUIRED</span>
-<p class="level2">This value tells the library that use of the file is required, to ignore the information in the URL, and to search the file with the host only.
-<p class="level1">Only machine name, user name and password are taken into account (init macros and similar things aren't supported).
-<p class="level1">libcurl does not verify that the file has the correct properties set (as the standard Unix ftp client does). It should only be readable by user.
-<p class="level0"><a name="CURLOPTNETRCFILE"></a><span class="nroffip">CURLOPT_NETRC_FILE</span>
-<p class="level1">Pass a char * as parameter, pointing to a zero terminated string containing the full path name to the file you want libcurl to use as .netrc file. If this option is omitted, and <a class="emphasis" href="#CURLOPTNETRC">CURLOPT_NETRC</a> is set, libcurl will attempt to find a .netrc file in the current user's home directory. (Added in 7.10.9)
-<p class="level0"><a name="CURLOPTUSERPWD"></a><span class="nroffip">CURLOPT_USERPWD</span>
-<p class="level1">Pass a char * as parameter, which should be [user name]:[password] to use for the connection. Use <a class="emphasis" href="#CURLOPTHTTPAUTH">CURLOPT_HTTPAUTH</a> to decide authentication method.
-<p class="level1">When using NTLM, you can set domain by prepending it to the user name and separating the domain and name with a forward (/) or backward slash (\). Like this: "domain/user:password" or "domain\user:password". Some HTTP servers (on Windows) support this style even for Basic authentication.
-<p class="level1">When using HTTP and <a class="emphasis" href="#CURLOPTFOLLOWLOCATION">CURLOPT_FOLLOWLOCATION</a>, libcurl might perform several requests to possibly different hosts. libcurl will only send this user and password information to hosts using the initial host name (unless <a class="emphasis" href="#CURLOPTUNRESTRICTEDAUTH">CURLOPT_UNRESTRICTED_AUTH</a> is set), so if libcurl follows locations to other hosts it will not send the user and password to those. This is enforced to prevent accidental information leakage.
-<p class="level0"><a name="CURLOPTPROXYUSERPWD"></a><span class="nroffip">CURLOPT_PROXYUSERPWD</span>
-<p class="level1">Pass a char * as parameter, which should be [user name]:[password] to use for the connection to the HTTP proxy. Use <a class="emphasis" href="#CURLOPTPROXYAUTH">CURLOPT_PROXYAUTH</a> to decide authentication method.
-<p class="level0"><a name="CURLOPTHTTPAUTH"></a><span class="nroffip">CURLOPT_HTTPAUTH</span>
-<p class="level1">Pass a long as parameter, which is set to a bitmask, to tell libcurl what authentication method(s) you want it to use. The available bits are listed below. If more than one bit is set, libcurl will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the <a class="emphasis" href="#CURLOPTUSERPWD">CURLOPT_USERPWD</a> option. (Added in 7.10.6)
-<p class="level2">
-<p class="level1"><a name="CURLAUTHBASIC"></a><span class="nroffip">CURLAUTH_BASIC</span>
-<p class="level2">HTTP Basic authentication. This is the default choice, and the only method that is in wide-spread use and supported virtually everywhere. This is sending the user name and password over the network in plain text, easily captured by others.
-<p class="level1"><a name="CURLAUTHDIGEST"></a><span class="nroffip">CURLAUTH_DIGEST</span>
-<p class="level2">HTTP Digest authentication. Digest authentication is defined in RFC2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method.
-<p class="level1"><a name="CURLAUTHGSSNEGOTIATE"></a><span class="nroffip">CURLAUTH_GSSNEGOTIATE</span>
-<p class="level2">HTTP GSS-Negotiate authentication. The GSS-Negotiate (also known as plain "Negotiate") method was designed by Microsoft and is used in their web applications. It is primarily meant as a support for Kerberos5 authentication but may be also used along with another authentication methods. For more information see IETF draft draft-brezak-spnego-http-04.txt.
-<p class="level2">You need to build libcurl with a suitable GSS-API library for this to work.
-<p class="level1"><a name="CURLAUTHNTLM"></a><span class="nroffip">CURLAUTH_NTLM</span>
-<p class="level2">HTTP NTLM authentication. A proprietary protocol invented and used by Microsoft. It uses a challenge-response and hash concept similar to Digest, to prevent the password from being eavesdropped.
-<p class="level2">You need to build libcurl with OpenSSL support for this option to work, or build libcurl on Windows.
-<p class="level1"><a name="CURLAUTHANY"></a><span class="nroffip">CURLAUTH_ANY</span>
-<p class="level2">This is a convenience macro that sets all bits and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure.
-<p class="level1"><a name="CURLAUTHANYSAFE"></a><span class="nroffip">CURLAUTH_ANYSAFE</span>
-<p class="level2">This is a convenience macro that sets all bits except Basic and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure.
-<p class="level1">
-<p class="level0"><a name="CURLOPTPROXYAUTH"></a><span class="nroffip">CURLOPT_PROXYAUTH</span>
-<p class="level1">Pass a long as parameter, which is set to a bitmask, to tell libcurl what authentication method(s) you want it to use for your proxy authentication. If more than one bit is set, libcurl will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the <a class="emphasis" href="#CURLOPTPROXYUSERPWD">CURLOPT_PROXYUSERPWD</a> option. The bitmask can be constructed by or'ing together the bits listed above for the <a class="emphasis" href="#CURLOPTHTTPAUTH">CURLOPT_HTTPAUTH</a> option. As of this writing, only Basic, Digest and NTLM work. (Added in 7.10.7) <a name="HTTP"></a><h2 class="nroffsh">HTTP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTAUTOREFERER"></a><span class="nroffip">CURLOPT_AUTOREFERER</span>
-<p class="level1">Pass a parameter set to 1 to enable this. When enabled, libcurl will automatically set the Referer: field in requests where it follows a Location: redirect.
-<p class="level0"><a name="CURLOPTENCODING"></a><span class="nroffip">CURLOPT_ENCODING</span>
-<p class="level1">Sets the contents of the Accept-Encoding: header sent in an HTTP request, and enables decoding of a response when a Content-Encoding: header is received. Three encodings are supported: <span Class="emphasis">identity</span>, which does nothing, <span Class="emphasis">deflate</span> which requests the server to compress its response using the zlib algorithm, and <span Class="emphasis">gzip</span> which requests the gzip algorithm. If a zero-length string is set, then an Accept-Encoding: header containing all supported encodings is sent.
-<p class="level1">This is a request, not an order; the server may or may not do it. This option must be set (to any non-NULL value) or else any unsolicited encoding done by the server is ignored. See the special file lib/README.encoding for details.
-<p class="level0"><a name="CURLOPTFOLLOWLOCATION"></a><span class="nroffip">CURLOPT_FOLLOWLOCATION</span>
-<p class="level1">A parameter set to 1 tells the library to follow any Location: header that the server sends as part of an HTTP header.
-<p class="level1">This means that the library will re-send the same request on the new location and follow new Location: headers all the way until no more such headers are returned. <a class="emphasis" href="#CURLOPTMAXREDIRS">CURLOPT_MAXREDIRS</a> can be used to limit the number of redirects libcurl will follow.
-<p class="level0"><a name="CURLOPTUNRESTRICTEDAUTH"></a><span class="nroffip">CURLOPT_UNRESTRICTED_AUTH</span>
-<p class="level1">A parameter set to 1 tells the library it can continue to send authentication (user+password) when following locations, even when hostname changed. This option is meaningful only when setting <a class="emphasis" href="#CURLOPTFOLLOWLOCATION">CURLOPT_FOLLOWLOCATION</a>.
-<p class="level0"><a name="CURLOPTMAXREDIRS"></a><span class="nroffip">CURLOPT_MAXREDIRS</span>
-<p class="level1">Pass a long. The set number will be the redirection limit. If that many redirections have been followed, the next redirect will cause an error (<span Class="emphasis">CURLE_TOO_MANY_REDIRECTS</span>). This option only makes sense if the <a class="emphasis" href="#CURLOPTFOLLOWLOCATION">CURLOPT_FOLLOWLOCATION</a> is used at the same time. Added in 7.15.1: Setting the limit to 0 will make libcurl refuse any redirect. Set it to -1 for an infinite number of redirects (which is the default)
-<p class="level0"><a name="CURLOPTPOST301"></a><span class="nroffip">CURLOPT_POST301</span>
-<p class="level1">A parameter set to 1 tells the library to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so the library does the conversion by default to maintain consistency. However, a server may requires a POST to remain a POST after such a redirection. This option is meaningful only when setting <a class="emphasis" href="#CURLOPTFOLLOWLOCATION">CURLOPT_FOLLOWLOCATION</a>. (Added in 7.17.1)
-<p class="level0"><a name="CURLOPTPUT"></a><span class="nroffip">CURLOPT_PUT</span>
-<p class="level1">A parameter set to 1 tells the library to use HTTP PUT to transfer data. The data should be set with <a class="emphasis" href="#CURLOPTREADDATA">CURLOPT_READDATA</a> and <a class="emphasis" href="#CURLOPTINFILESIZE">CURLOPT_INFILESIZE</a>.
-<p class="level1">This option is deprecated and starting with version 7.12.1 you should instead use <a class="emphasis" href="#CURLOPTUPLOAD">CURLOPT_UPLOAD</a>.
-<p class="level0"><a name="CURLOPTPOST"></a><span class="nroffip">CURLOPT_POST</span>
-<p class="level1">A parameter set to 1 tells the library to do a regular HTTP post. This will also make the library use a "Content-Type: application/x-www-form-urlencoded" header. (This is by far the most commonly used POST method).
-<p class="level1">Use one of <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> or <a class="emphasis" href="#CURLOPTCOPYPOSTFIELDS">CURLOPT_COPYPOSTFIELDS</a> options to specify what data to post and <a class="emphasis" href="#CURLOPTPOSTFIELDSIZE">CURLOPT_POSTFIELDSIZE</a> or <a class="emphasis" href="#CURLOPTPOSTFIELDSIZELARGE">CURLOPT_POSTFIELDSIZE_LARGE</a> to set the data size.
-<p class="level1">Optionally, you can provide data to POST using the <a class="emphasis" href="#CURLOPTREADFUNCTION">CURLOPT_READFUNCTION</a> and <a class="emphasis" href="#CURLOPTREADDATA">CURLOPT_READDATA</a> options but then you must make sure to not set <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> to anything but NULL. When providing data with a callback, you must transmit it using chunked transfer-encoding or you must set the size of the data with the <a class="emphasis" href="#CURLOPTPOSTFIELDSIZE">CURLOPT_POSTFIELDSIZE</a> or <a class="emphasis" href="#CURLOPTPOSTFIELDSIZELARGE">CURLOPT_POSTFIELDSIZE_LARGE</a> option. To enable chunked encoding, you simply pass in the appropriate Transfer-Encoding header, see the post-callback.c example.
-<p class="level1">You can override the default POST Content-Type: header by setting your own with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a>.
-<p class="level1">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level1">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 <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a>. With HTTP 1.0 or without chunked transfer, you must specify the size in the request.
-<p class="level1">When setting <a class="emphasis" href="#CURLOPTPOST">CURLOPT_POST</a> to 1, it will automatically set <a class="emphasis" href="#CURLOPTNOBODY">CURLOPT_NOBODY</a> to 0 (since 7.14.1).
-<p class="level1">If you issue a POST request and then want to make a HEAD or GET using the same re-used handle, you must explicitly set the new request type using <a class="emphasis" href="#CURLOPTNOBODY">CURLOPT_NOBODY</a> or <a class="emphasis" href="#CURLOPTHTTPGET">CURLOPT_HTTPGET</a> or similar.
-<p class="level0"><a name="CURLOPTPOSTFIELDS"></a><span class="nroffip">CURLOPT_POSTFIELDS</span>
-<p class="level1">Pass a void * as parameter, which should be the full data to post in an HTTP POST operation. You must make sure that the data is formatted the way you want the server to receive it. libcurl will not convert or encode it for you. Most web servers will assume this data to be url-encoded. Take note.
-<p class="level1">The pointed data are NOT copied by the library: as a consequence, they must be preserved by the calling application until the transfer finishes.
-<p class="level1">This POST is a normal application/x-www-form-urlencoded kind (and libcurl will set that Content-Type by default when this option is used), which is the most commonly used one by HTML forms. See also the <a class="emphasis" href="#CURLOPTPOST">CURLOPT_POST</a>. Using <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> implies <a class="emphasis" href="#CURLOPTPOST">CURLOPT_POST</a>.
-<p class="level1">If you want to do a zero-byte POST, you need to set <a class="emphasis" href="#CURLOPTPOSTFIELDSIZE">CURLOPT_POSTFIELDSIZE</a> explicitly to zero, as simply setting <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> to NULL or "" just effectively disables the sending of the specified string. libcurl will instead assume that you'll send the POST data using the read callback!
-<p class="level1">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level1">To make multipart/formdata posts (aka rfc1867-posts), check out the <a class="emphasis" href="#CURLOPTHTTPPOST">CURLOPT_HTTPPOST</a> option.
-<p class="level0"><a name="CURLOPTPOSTFIELDSIZE"></a><span class="nroffip">CURLOPT_POSTFIELDSIZE</span>
-<p class="level1">If you want to post data to the server without letting libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size.
-<p class="level0"><a name="CURLOPTPOSTFIELDSIZELARGE"></a><span class="nroffip">CURLOPT_POSTFIELDSIZE_LARGE</span>
-<p class="level1">Pass a curl_off_t as parameter. Use this to set the size of the <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> data to prevent libcurl from doing strlen() on the data to figure out the size. This is the large file version of the <a class="emphasis" href="#CURLOPTPOSTFIELDSIZE">CURLOPT_POSTFIELDSIZE</a> option. (Added in 7.11.1)
-<p class="level0"><a name="CURLOPTCOPYPOSTFIELDS"></a><span class="nroffip">CURLOPT_COPYPOSTFIELDS</span>
-<p class="level1">Pass a char * as parameter, which should be the full data to post in an HTTP POST operation. It behaves as the <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> option, but the original data are copied by the library, allowing the application to overwrite the original data after setting this option.
-<p class="level1">Because data are copied, care must be taken when using this option in conjunction with <a class="emphasis" href="#CURLOPTPOSTFIELDSIZE">CURLOPT_POSTFIELDSIZE</a> or <a class="emphasis" href="#CURLOPTPOSTFIELDSIZELARGE">CURLOPT_POSTFIELDSIZE_LARGE</a>: If the size has not been set prior to <a class="emphasis" href="#CURLOPTCOPYPOSTFIELDS">CURLOPT_COPYPOSTFIELDS</a>, the data are assumed to be a NUL-terminated string; else the stored size informs the library about the data byte count to copy. In any case, the size must not be changed after <a class="emphasis" href="#CURLOPTCOPYPOSTFIELDS">CURLOPT_COPYPOSTFIELDS</a>, unless another <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> or <a class="emphasis" href="#CURLOPTCOPYPOSTFIELDS">CURLOPT_COPYPOSTFIELDS</a> option is issued. (Added in 7.17.1)
-<p class="level1">
-<p class="level0"><a name="CURLOPTHTTPPOST"></a><span class="nroffip">CURLOPT_HTTPPOST</span>
-<p class="level1">Tells libcurl you want a multipart/formdata HTTP POST to be made and you instruct what data to pass on to the server. Pass a pointer to a linked list of curl_httppost structs as parameter. . The easiest way to create such a list, is to use <a class="emphasis" href="./curl_formadd.html">curl_formadd(3)</a> as documented. The data in this list must remain intact until you close this curl handle again with <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>.
-<p class="level1">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level1">When setting <a class="emphasis" href="#CURLOPTHTTPPOST">CURLOPT_HTTPPOST</a>, it will automatically set <a class="emphasis" href="#CURLOPTNOBODY">CURLOPT_NOBODY</a> to 0 (since 7.14.1).
-<p class="level0"><a name="CURLOPTREFERER"></a><span class="nroffip">CURLOPT_REFERER</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used to set the Referer: header in the http request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a>.
-<p class="level0"><a name="CURLOPTUSERAGENT"></a><span class="nroffip">CURLOPT_USERAGENT</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used to set the User-Agent: header in the http request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a>.
-<p class="level0"><a name="CURLOPTHTTPHEADER"></a><span class="nroffip">CURLOPT_HTTPHEADER</span>
-<p class="level1">Pass a pointer to a linked list of HTTP headers to pass to the server in your HTTP request. The linked list should be a fully valid list of <span class="bold">struct curl_slist</span> structs properly filled in. Use <a class="emphasis" href="./curl_slist_append.html">curl_slist_append(3)</a> to create the list and <a class="emphasis" href="./curl_slist_free_all.html">curl_slist_free_all(3)</a> to clean up an entire list. If you add a header that is otherwise generated and used by libcurl internally, your added one will be used instead. If you add a header with no contents as in 'Accept:' (no data on the right side of the colon), the internally used header will get disabled. Thus, using this option you can add new headers, replace internal headers and remove internal headers. To add a header with no contents, make the contents be two quotes: "". The headers included in the linked list must not be CRLF-terminated, because curl adds CRLF after each header item. Failure to comply with this will result in strange bugs because the server will most likely ignore part of the headers you specified.
-<p class="level1">The first line in a request (containing the method, usually a GET or POST) is not a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header.
-<p class="level1">Pass a NULL to this to reset back to no custom headers.
-<p class="level1">The most commonly replaced headers have "shortcuts" in the options <a class="emphasis" href="#CURLOPTCOOKIE">CURLOPT_COOKIE</a>, <a class="emphasis" href="#CURLOPTUSERAGENT">CURLOPT_USERAGENT</a> and <a class="emphasis" href="#CURLOPTREFERER">CURLOPT_REFERER</a>.
-<p class="level0"><a name="CURLOPTHTTP200ALIASES"></a><span class="nroffip">CURLOPT_HTTP200ALIASES</span>
-<p class="level1">Pass a pointer to a linked list of aliases to be treated as valid HTTP 200 responses. Some servers respond with a custom header response line. For example, IceCast servers respond with "ICY 200 OK". By including this string in your list of aliases, the response will be treated as a valid HTTP header line such as "HTTP/1.0 200 OK". (Added in 7.10.3)
-<p class="level1">The linked list should be a fully valid list of struct curl_slist structs, and be properly filled in. Use <a class="emphasis" href="./curl_slist_append.html">curl_slist_append(3)</a> to create the list and <a class="emphasis" href="./curl_slist_free_all.html">curl_slist_free_all(3)</a> to clean up an entire list.
-<p class="level1">The alias itself is not parsed for any version strings. Before libcurl 7.16.3, Libcurl used the value set by option <a class="emphasis" href="#CURLOPTHTTPVERSION">CURLOPT_HTTP_VERSION</a>, but starting with 7.16.3 the protocol is assumed to match HTTP 1.0 when an alias matched.
-<p class="level0"><a name="CURLOPTCOOKIE"></a><span class="nroffip">CURLOPT_COOKIE</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used to set a cookie in the http request. The format of the string should be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie should contain.
-<p class="level1">If you need to set multiple cookies, you need to set them all using a single option and thus you need to concatenate them all in one single string. Set multiple cookies in one string like this: "name1=content1; name2=content2;" etc.
-<p class="level1">Note that this option sets the cookie header explictly in the outgoing request(s). If multiple requests are done due to authentication, followed redirections or similar, they will all get this cookie passed on.
-<p class="level1">Using this option multiple times will only make the latest string override the previous ones.
-<p class="level0"><a name="CURLOPTCOOKIEFILE"></a><span class="nroffip">CURLOPT_COOKIEFILE</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It should contain the name of your file holding cookie data to read. The cookie data may be in Netscape / Mozilla cookie data format or just regular HTTP-style headers dumped to a file.
-<p class="level1">Given an empty or non-existing file or by passing the empty string (""), this option will enable cookies for this curl handle, making it understand and parse received cookies and then use matching cookies in future request.
-<p class="level1">If you use this option multiple times, you just add more files to read. Subsequent files will add more cookies.
-<p class="level0"><a name="CURLOPTCOOKIEJAR"></a><span class="nroffip">CURLOPT_COOKIEJAR</span>
-<p class="level1">Pass a file name as char *, zero terminated. This will make libcurl write all internally known cookies to the specified file when <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> is called. If no cookies are known, no file will be created. Specify "-" to instead have the cookies written to stdout. Using this option also enables cookies for this session, so if you for example follow a location it will make matching cookies get sent accordingly.
-<p class="level1">If the cookie jar file can't be created or written to (when the <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> is called), libcurl will not and cannot report an error for this. Using <a class="emphasis" href="#CURLOPTVERBOSE">CURLOPT_VERBOSE</a> or <a class="emphasis" href="#CURLOPTDEBUGFUNCTION">CURLOPT_DEBUGFUNCTION</a> will get a warning to display, but that is the only visible feedback you get about this possibly lethal situation.
-<p class="level0"><a name="CURLOPTCOOKIESESSION"></a><span class="nroffip">CURLOPT_COOKIESESSION</span>
-<p class="level1">Pass a long set to 1 to mark this as a new cookie "session". It will force libcurl to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libcurl always stores and loads all cookies, independent if they are session cookies are not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only.
-<p class="level0"><a name="CURLOPTCOOKIELIST"></a><span class="nroffip">CURLOPT_COOKIELIST</span>
-<p class="level1">Pass a char * to a cookie string. Cookie can be either in Netscape / Mozilla format or just regular HTTP-style header (Set-Cookie: ...) format. If cURL cookie engine was not enabled it will enable its cookie engine. Passing a magic string "ALL" will erase all cookies known by cURL. (Added in 7.14.1) Passing the special string "SESS" will only erase all session cookies known by cURL. (Added in 7.15.4) Passing the special string "FLUSH" will write all cookies known by cURL to the file specified by <a class="emphasis" href="#CURLOPTCOOKIEJAR">CURLOPT_COOKIEJAR</a>. (Added in 7.17.1)
-<p class="level0"><a name="CURLOPTHTTPGET"></a><span class="nroffip">CURLOPT_HTTPGET</span>
-<p class="level1">Pass a long. If the long is 1, this forces the HTTP request to get back to GET. usable if a POST, HEAD, PUT or a custom request have been used previously using the same curl handle.
-<p class="level1">When setting <a class="emphasis" href="#CURLOPTHTTPGET">CURLOPT_HTTPGET</a> to 1, it will automatically set <a class="emphasis" href="#CURLOPTNOBODY">CURLOPT_NOBODY</a> to 0 (since 7.14.1).
-<p class="level0"><a name="CURLOPTHTTPVERSION"></a><span class="nroffip">CURLOPT_HTTP_VERSION</span>
-<p class="level1">Pass a long, set to one of the values described below. They force libcurl to use the specific HTTP versions. This is not sensible to do unless you have a good reason.
-<p class="level2">
-<p class="level1"><a name="CURLHTTPVERSIONNONE"></a><span class="nroffip">CURL_HTTP_VERSION_NONE</span>
-<p class="level2">We don't care about what version the library uses. libcurl will use whatever it thinks fit.
-<p class="level1"><a name="CURLHTTPVERSION10"></a><span class="nroffip">CURL_HTTP_VERSION_1_0</span>
-<p class="level2">Enforce HTTP 1.0 requests.
-<p class="level1"><a name="CURLHTTPVERSION11"></a><span class="nroffip">CURL_HTTP_VERSION_1_1</span>
-<p class="level2">Enforce HTTP 1.1 requests.
-<p class="level1">
-<p class="level0"><a name="CURLOPTIGNORECONTENTLENGTH"></a><span class="nroffip">CURLOPT_IGNORE_CONTENT_LENGTH</span>
-<p class="level1">Ignore the Content-Length header. This is useful for Apache 1.x (and similar servers) which will report incorrect content length for files over 2 gigabytes. If this option is used, curl will not be able to accurately report progress, and will simply stop the download when the server ends the connection. (added in 7.14.1)
-<p class="level0"><a name="CURLOPTHTTPCONTENTDECODING"></a><span class="nroffip">CURLOPT_HTTP_CONTENT_DECODING</span>
-<p class="level1">Pass a long to tell libcurl how to act on content decoding. If set to zero, content decoding will be disabled. If set to 1 it is enabled. Note however that libcurl has no default content decoding but requires you to use <a class="emphasis" href="#CURLOPTENCODING">CURLOPT_ENCODING</a> for that. (added in 7.16.2)
-<p class="level0"><a name="CURLOPTHTTPTRANSFERDECODING"></a><span class="nroffip">CURLOPT_HTTP_TRANSFER_DECODING</span>
-<p class="level1">Pass a long to tell libcurl how to act on transfer decoding. If set to zero, transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this option is set to zero. (added in 7.16.2) <a name="FTP"></a><h2 class="nroffsh">FTP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTFTPPORT"></a><span class="nroffip">CURLOPT_FTPPORT</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used to get the IP address to use for the ftp PORT instruction. The PORT instruction tells the remote server to connect to our specified IP address. The string may be a plain IP address, a host name, an network interface name (under Unix) or just a '-' letter to let the library use your systems default IP address. Default FTP operations are passive, and thus won't use PORT.
-<p class="level1">You disable PORT again and go back to using the passive version by setting this option to NULL.
-<p class="level0"><a name="CURLOPTQUOTE"></a><span class="nroffip">CURLOPT_QUOTE</span>
-<p class="level1">Pass a pointer to a linked list of FTP or SFTP commands to pass to the server prior to your ftp request. This will be done before any other commands are issued (even before the CWD command for FTP). The linked list should be a fully valid list of 'struct curl_slist' structs properly filled in with text strings. Use <a class="emphasis" href="./curl_slist_append.html">curl_slist_append(3)</a> to append strings (commands) to the list, and clear the entire list afterwards with <a class="emphasis" href="./curl_slist_free_all.html">curl_slist_free_all(3)</a>. Disable this operation again by setting a NULL to this option. The set of valid FTP commands depends on the server (see RFC959 for a list of mandatory commands). The valid SFTP commands are: chgrp, chmod, chown, ln, mkdir, pwd, rename, rm, rmdir, symlink (see <span Class="manpage">curl (1))</span> (SFTP support added in 7.16.3)
-<p class="level0"><a name="CURLOPTPOSTQUOTE"></a><span class="nroffip">CURLOPT_POSTQUOTE</span>
-<p class="level1">Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after your ftp transfer request. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for <a class="emphasis" href="#CURLOPTQUOTE">CURLOPT_QUOTE</a>. Disable this operation again by setting a NULL to this option.
-<p class="level0"><a name="CURLOPTPREQUOTE"></a><span class="nroffip">CURLOPT_PREQUOTE</span>
-<p class="level1">Pass a pointer to a linked list of FTP commands to pass to the server after the transfer type is set. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for <a class="emphasis" href="#CURLOPTQUOTE">CURLOPT_QUOTE</a>. Disable this operation again by setting a NULL to this option. Before version 7.15.6, if you also set <a class="emphasis" href="#CURLOPTNOBODY">CURLOPT_NOBODY</a> to 1, this option didn't work.
-<p class="level0"><a name="CURLOPTDIRLISTONLY"></a><span class="nroffip">CURLOPT_DIRLISTONLY</span>
-<p class="level1">A parameter set to 1 tells the library to just list the names of files in a directory, instead of doing a full directory listing that would include file sizes, dates etc. This works for FTP and SFTP URLs.
-<p class="level1">This causes an FTP NLST command to be sent on an FTP server. Beware that some FTP servers list only files in their response to NLST; they might not include subdirectories and symbolic links.
-<p class="level1">(This option was known as CURLOPT_FTPLISTONLY up to 7.16.4)
-<p class="level0"><a name="CURLOPTAPPEND"></a><span class="nroffip">CURLOPT_APPEND</span>
-<p class="level1">A parameter set to 1 tells the library to append to the remote file instead of overwrite it. This is only useful when uploading to an ftp site.
-<p class="level1">(This option was known as CURLOPT_FTPAPPEND up to 7.16.4)
-<p class="level0"><a name="CURLOPTFTPUSEEPRT"></a><span class="nroffip">CURLOPT_FTP_USE_EPRT</span>
-<p class="level1">Pass a long. If the value is 1, it tells curl to use the EPRT (and LPRT) command when doing active FTP downloads (which is enabled by <a class="emphasis" href="#CURLOPTFTPPORT">CURLOPT_FTPPORT</a>). Using EPRT means that it will first attempt to use EPRT and then LPRT before using PORT, but if you pass zero to this option, it will not try using EPRT or LPRT, only plain PORT. (Added in 7.10.5)
-<p class="level1">If the server is an IPv6 host, this option will have no effect as of 7.12.3.
-<p class="level0"><a name="CURLOPTFTPUSEEPSV"></a><span class="nroffip">CURLOPT_FTP_USE_EPSV</span>
-<p class="level1">Pass a long. If the value is 1, it tells curl to use the EPSV command when doing passive FTP downloads (which it always does by default). Using EPSV means that it will first attempt to use EPSV before using PASV, but if you pass zero to this option, it will not try using EPSV, only plain PASV.
-<p class="level1">If the server is an IPv6 host, this option will have no effect as of 7.12.3.
-<p class="level0"><a name="CURLOPTFTPCREATEMISSINGDIRS"></a><span class="nroffip">CURLOPT_FTP_CREATE_MISSING_DIRS</span>
-<p class="level1">Pass a long. If the value is 1, curl will attempt to create any remote directory that it fails to CWD into. CWD is the command that changes working directory. (Added in 7.10.7)
-<p class="level1">This setting also applies to SFTP-connections. curl will attempt to create the remote directory if it can't obtain a handle to the target-location. The creation will fail if a file of the same name as the directory to create already exists or lack of permissions prevents creation. (Added in 7.16.3)
-<p class="level0"><a name="CURLOPTFTPRESPONSETIMEOUT"></a><span class="nroffip">CURLOPT_FTP_RESPONSE_TIMEOUT</span>
-<p class="level1">Pass a long. Causes curl to set a timeout period (in seconds) on the amount of time that the server is allowed to take in order to generate a response message for a command before the session is considered hung. While curl is waiting for a response, this value overrides <a class="emphasis" href="#CURLOPTTIMEOUT">CURLOPT_TIMEOUT</a>. It is recommended that if used in conjunction with <a class="emphasis" href="#CURLOPTTIMEOUT">CURLOPT_TIMEOUT</a>, you set <a class="emphasis" href="#CURLOPTFTPRESPONSETIMEOUT">CURLOPT_FTP_RESPONSE_TIMEOUT</a> to a value smaller than <a class="emphasis" href="#CURLOPTTIMEOUT">CURLOPT_TIMEOUT</a>. (Added in 7.10.8)
-<p class="level0"><a name="CURLOPTFTPALTERNATIVETOUSER"></a><span class="nroffip">CURLOPT_FTP_ALTERNATIVE_TO_USER</span>
-<p class="level1">Pass a char * as parameter, pointing to a string which will be used to authenticate if the usual FTP "USER user" and "PASS password" negotiation fails. This is currently only known to be required when connecting to Tumbleweed's Secure Transport FTPS server using client certificates for authentication. (Added in 7.15.5)
-<p class="level0"><a name="CURLOPTFTPSKIPPASVIP"></a><span class="nroffip">CURLOPT_FTP_SKIP_PASV_IP</span>
-<p class="level1">Pass a long. If set to 1, it instructs libcurl to not use the IP address the server suggests in its 227-response to libcurl's PASV command when libcurl connects the data connection. Instead libcurl will re-use the same IP address it already uses for the control connection. But it will use the port number from the 227-response. (Added in 7.14.2)
-<p class="level1">This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
-<p class="level0"><a name="CURLOPTUSESSL"></a><span class="nroffip">CURLOPT_USE_SSL</span>
-<p class="level1">Pass a long using one of the values from below, to make libcurl use your desired level of SSL for the ftp transfer. (Added in 7.11.0)
-<p class="level1">(This option was known as CURLOPT_FTP_SSL up to 7.16.4, and the constants were known as CURLFTPSSL_*)
-<p class="level2">
-<p class="level1"><a name="CURLUSESSLNONE"></a><span class="nroffip">CURLUSESSL_NONE</span>
-<p class="level2">Don't attempt to use SSL.
-<p class="level1"><a name="CURLUSESSLTRY"></a><span class="nroffip">CURLUSESSL_TRY</span>
-<p class="level2">Try using SSL, proceed as normal otherwise.
-<p class="level1"><a name="CURLUSESSLCONTROL"></a><span class="nroffip">CURLUSESSL_CONTROL</span>
-<p class="level2">Require SSL for the control connection or fail with <span Class="emphasis">CURLE_USE_SSL_FAILED</span>.
-<p class="level1"><a name="CURLUSESSLALL"></a><span class="nroffip">CURLUSESSL_ALL</span>
-<p class="level2">Require SSL for all communication or fail with <span Class="emphasis">CURLE_USE_SSL_FAILED</span>.
-<p class="level1">
-<p class="level0"><a name="CURLOPTFTPSSLAUTH"></a><span class="nroffip">CURLOPT_FTPSSLAUTH</span>
-<p class="level1">Pass a long using one of the values from below, to alter how libcurl issues "AUTH TLS" or "AUTH SSL" when FTP over SSL is activated (see <span Class="emphasis">CURLOPT_FTP_SSL</span>). (Added in 7.12.2)
-<p class="level2">
-<p class="level1"><a name="CURLFTPAUTHDEFAULT"></a><span class="nroffip">CURLFTPAUTH_DEFAULT</span>
-<p class="level2">Allow libcurl to decide
-<p class="level1"><a name="CURLFTPAUTHSSL"></a><span class="nroffip">CURLFTPAUTH_SSL</span>
-<p class="level2">Try "AUTH SSL" first, and only if that fails try "AUTH TLS"
-<p class="level1"><a name="CURLFTPAUTHTLS"></a><span class="nroffip">CURLFTPAUTH_TLS</span>
-<p class="level2">Try "AUTH TLS" first, and only if that fails try "AUTH SSL"
-<p class="level1">
-<p class="level0"><a name="CURLOPTFTPSSLCCC"></a><span class="nroffip">CURLOPT_FTP_SSL_CCC</span>
-<p class="level1">If enabled, this option makes libcurl use CCC (Clear Command Channel). It shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. Pass a long using one of the values below. (Added in 7.16.1)
-<p class="level2">
-<p class="level1"><a name="CURLFTPSSLCCCNONE"></a><span class="nroffip">CURLFTPSSL_CCC_NONE</span>
-<p class="level2">Don't attempt to use CCC.
-<p class="level1"><a name="CURLFTPSSLCCCPASSIVE"></a><span class="nroffip">CURLFTPSSL_CCC_PASSIVE</span>
-<p class="level2">Do not initiate the shutdown, but wait for the server to do it. Do not send a reply.
-<p class="level1"><a name="CURLFTPSSLCCCACTIVE"></a><span class="nroffip">CURLFTPSSL_CCC_ACTIVE</span>
-<p class="level2">Initiate the shutdown and wait for a reply.
-<p class="level1">
-<p class="level0"><a name="CURLOPTFTPACCOUNT"></a><span class="nroffip">CURLOPT_FTP_ACCOUNT</span>
-<p class="level1">Pass a pointer to a zero-terminated string (or NULL to disable). When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. (Added in 7.13.0)
-<p class="level0"><a name="CURLOPTFTPFILEMETHOD"></a><span class="nroffip">CURLOPT_FTP_FILEMETHOD</span>
-<p class="level1">Pass a long that should have one of the following values. This option controls what method libcurl should use to reach a file on a FTP(S) server. The argument should be one of the following alternatives:
-<p class="level2">
-<p class="level1"><a name="CURLFTPMETHODMULTICWD"></a><span class="nroffip">CURLFTPMETHOD_MULTICWD</span>
-<p class="level2">libcurl does a single CWD operation for each path part in the given URL. For deep hierarchies this means very many commands. This is how RFC1738 says it should be done. This is the default but the slowest behavior.
-<p class="level1"><a name="CURLFTPMETHODNOCWD"></a><span class="nroffip">CURLFTPMETHOD_NOCWD</span>
-<p class="level2">libcurl does no CWD at all. libcurl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior.
-<p class="level1"><a name="CURLFTPMETHODSINGLECWD"></a><span class="nroffip">CURLFTPMETHOD_SINGLECWD</span>
-<p class="level2">libcurl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'.
-<p class="level1"><a name="PROTOCOL"></a><h2 class="nroffsh">PROTOCOL OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTRANSFERTEXT"></a><span class="nroffip">CURLOPT_TRANSFERTEXT</span>
-<p class="level1">A parameter set to 1 tells the library to use ASCII mode for ftp transfers, instead of the default binary transfer. For win32 systems it does not set the stdout to binary mode. This option can be usable when transferring text data between systems with different views on certain characters, such as newlines or similar.
-<p class="level1">libcurl does not do a complete ASCII conversion when doing ASCII transfers over FTP. This is a known limitation/flaw that nobody has rectified. libcurl simply sets the mode to ascii and performs a standard transfer.
-<p class="level0"><a name="CURLOPTPROXYTRANSFERMODE"></a><span class="nroffip">CURLOPT_PROXY_TRANSFER_MODE</span>
-<p class="level1">Pass a long. If the value is set to 1 (one), it tells libcurl to set the transfer mode (binary or ASCII) for FTP transfers done via an HTTP proxy, by appending ;type=a or ;type=i to the URL. Without this setting, or it being set to 0 (zero, the default), <a class="emphasis" href="#CURLOPTTRANSFERTEXT">CURLOPT_TRANSFERTEXT</a> has no effect when doing FTP via a proxy. Beware that not all proxies support this feature. (Added in 7.18.0)
-<p class="level0"><a name="CURLOPTCRLF"></a><span class="nroffip">CURLOPT_CRLF</span>
-<p class="level1">Convert Unix newlines to CRLF newlines on transfers.
-<p class="level0"><a name="CURLOPTRANGE"></a><span class="nroffip">CURLOPT_RANGE</span>
-<p class="level1">Pass a char * as parameter, which should contain the specified range you want. It should be in the format "X-Y", where X or Y may be left out. HTTP transfers also support several intervals, separated with commas as in <span Class="emphasis">"X-Y,N-M"</span>. Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). Pass a NULL to this option to disable the use of ranges.
-<p class="level1">Ranges work on HTTP, FTP and FILE (since 7.18.0) transfers only.
-<p class="level0"><a name="CURLOPTRESUMEFROM"></a><span class="nroffip">CURLOPT_RESUME_FROM</span>
-<p class="level1">Pass a long as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload).
-<p class="level0"><a name="CURLOPTRESUMEFROMLARGE"></a><span class="nroffip">CURLOPT_RESUME_FROM_LARGE</span>
-<p class="level1">Pass a curl_off_t as parameter. It contains the offset in number of bytes that you want the transfer to start from. (Added in 7.11.0)
-<p class="level0"><a name="CURLOPTCUSTOMREQUEST"></a><span class="nroffip">CURLOPT_CUSTOMREQUEST</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used instead of GET or HEAD when doing an HTTP request, or instead of LIST or NLST when doing an ftp directory listing. This is useful for doing DELETE or other more or less obscure HTTP requests. Don't do this at will, make sure your server supports the command first.
-<p class="level1">Note that libcurl will still act and assume the keyword it would use if you didn't set your custom one is the one in use and it will act according to that. Thus, changing this to a HEAD when libcurl otherwise would do a GET might cause libcurl to act funny, and similar. To switch to a proper HEAD, use <a class="emphasis" href="#CURLOPTNOBODY">CURLOPT_NOBODY</a>, to switch to a proper POST, use <a class="emphasis" href="#CURLOPTPOST">CURLOPT_POST</a> or <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> and so on.
-<p class="level1">Restore to the internal default by setting this to NULL.
-<p class="level1">Many people have wrongly used this option to replace the entire request with their own, including multiple headers and POST contents. While that might work in many cases, it will cause libcurl to send invalid requests and it could possibly confuse the remote server badly. Use <a class="emphasis" href="#CURLOPTPOST">CURLOPT_POST</a> and <a class="emphasis" href="#CURLOPTPOSTFIELDS">CURLOPT_POSTFIELDS</a> to set POST data. Use <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a> to replace or extend the set of headers sent by libcurl. Use <a class="emphasis" href="#CURLOPTHTTPVERSION">CURLOPT_HTTP_VERSION</a> to change HTTP version.
-<p class="level0"><a name="CURLOPTFILETIME"></a><span class="nroffip">CURLOPT_FILETIME</span>
-<p class="level1">Pass a long. If it is 1, libcurl will attempt to get the modification date of the remote document in this operation. This requires that the remote server sends the time or replies to a time querying command. The <a class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo(3)</a> function with the <span Class="emphasis">CURLINFO_FILETIME</span> argument can be used after a transfer to extract the received time (if any).
-<p class="level0"><a name="CURLOPTNOBODY"></a><span class="nroffip">CURLOPT_NOBODY</span>
-<p class="level1">A parameter set to 1 tells the library to not include the body-part in the output. This is only relevant for protocols that have separate header and body parts. On HTTP(S) servers, this will make libcurl do a HEAD request.
-<p class="level1">To change request to GET, you should use <a class="emphasis" href="#CURLOPTHTTPGET">CURLOPT_HTTPGET</a>. Change request to POST with <a class="emphasis" href="#CURLOPTPOST">CURLOPT_POST</a> etc.
-<p class="level0"><a name="CURLOPTINFILESIZE"></a><span class="nroffip">CURLOPT_INFILESIZE</span>
-<p class="level1">When uploading a file to a remote site, this option should be used to tell libcurl what the expected size of the infile is. This value should be passed as a long. See also <a class="emphasis" href="#CURLOPTINFILESIZELARGE">CURLOPT_INFILESIZE_LARGE</a>.
-<p class="level1">For uploading using SCP, this option or <a class="emphasis" href="#CURLOPTINFILESIZELARGE">CURLOPT_INFILESIZE_LARGE</a> is mandatory.
-<p class="level1">Note that this option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns.
-<p class="level0"><a name="CURLOPTINFILESIZELARGE"></a><span class="nroffip">CURLOPT_INFILESIZE_LARGE</span>
-<p class="level1">When uploading a file to a remote site, this option should be used to tell libcurl what the expected size of the infile is. This value should be passed as a curl_off_t. (Added in 7.11.0)
-<p class="level1">For uploading using SCP, this option or <a class="emphasis" href="#CURLOPTINFILESIZE">CURLOPT_INFILESIZE</a> is mandatory.
-<p class="level1">Note that this option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns.
-<p class="level0"><a name="CURLOPTUPLOAD"></a><span class="nroffip">CURLOPT_UPLOAD</span>
-<p class="level1">A parameter set to 1 tells the library to prepare for an upload. The <a class="emphasis" href="#CURLOPTREADDATA">CURLOPT_READDATA</a> and <a class="emphasis" href="#CURLOPTINFILESIZE">CURLOPT_INFILESIZE</a> or <a class="emphasis" href="#CURLOPTINFILESIZELARGE">CURLOPT_INFILESIZE_LARGE</a> options are also interesting for uploads. If the protocol is HTTP, uploading means using the PUT request unless you tell libcurl otherwise.
-<p class="level1">Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level1">If you use PUT to a HTTP 1.1 server, you can upload data without knowing the size before starting the transfer if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with <a class="emphasis" href="#CURLOPTHTTPHEADER">CURLOPT_HTTPHEADER</a>. With HTTP 1.0 or without chunked transfer, you must specify the size.
-<p class="level0"><a name="CURLOPTMAXFILESIZE"></a><span class="nroffip">CURLOPT_MAXFILESIZE</span>
-<p class="level1">Pass a long as parameter. This allows you to specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and CURLE_FILESIZE_EXCEEDED will be returned.
-<p class="level1">The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.
-<p class="level0"><a name="CURLOPTMAXFILESIZELARGE"></a><span class="nroffip">CURLOPT_MAXFILESIZE_LARGE</span>
-<p class="level1">Pass a curl_off_t as parameter. This allows you to specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and <span Class="emphasis">CURLE_FILESIZE_EXCEEDED</span> will be returned. (Added in 7.11.0)
-<p class="level1">The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.
-<p class="level0"><a name="CURLOPTTIMECONDITION"></a><span class="nroffip">CURLOPT_TIMECONDITION</span>
-<p class="level1">Pass a long as parameter. This defines how the <a class="emphasis" href="#CURLOPTTIMEVALUE">CURLOPT_TIMEVALUE</a> time value is treated. You can set this parameter to <span Class="emphasis">CURL_TIMECOND_IFMODSINCE</span> or <span Class="emphasis">CURL_TIMECOND_IFUNMODSINCE</span>. This feature applies to HTTP and FTP.
-<p class="level1">The last modification time of a file is not always known and in such instances this feature will have no effect even if the given time condition would have not been met.
-<p class="level0"><a name="CURLOPTTIMEVALUE"></a><span class="nroffip">CURLOPT_TIMEVALUE</span>
-<p class="level1">Pass a long as parameter. This should be the time in seconds since 1 jan 1970, and the time will be used in a condition as specified with <a class="emphasis" href="#CURLOPTTIMECONDITION">CURLOPT_TIMECONDITION</a>. <a name="CONNECTION"></a><h2 class="nroffsh">CONNECTION OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTIMEOUT"></a><span class="nroffip">CURLOPT_TIMEOUT</span>
-<p class="level1">Pass a long as parameter containing the maximum time in seconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option will cause curl to use the SIGALRM to enable time-outing system calls.
-<p class="level1">In unix-like systems, this might cause signals to be used unless <a class="emphasis" href="#CURLOPTNOSIGNAL">CURLOPT_NOSIGNAL</a> is set.
-<p class="level0"><a name="CURLOPTTIMEOUTMS"></a><span class="nroffip">CURLOPT_TIMEOUT_MS</span>
-<p class="level1">Like <a class="emphasis" href="#CURLOPTTIMEOUT">CURLOPT_TIMEOUT</a> but takes number of milliseconds instead. If libcurl is built to use the standard system name resolver, that part will still use full-second resolution for timeouts. (Added in 7.16.2)
-<p class="level0"><a name="CURLOPTLOWSPEEDLIMIT"></a><span class="nroffip">CURLOPT_LOW_SPEED_LIMIT</span>
-<p class="level1">Pass a long as parameter. It contains the transfer speed in bytes per second that the transfer should be below during <a class="emphasis" href="#CURLOPTLOWSPEEDTIME">CURLOPT_LOW_SPEED_TIME</a> seconds for the library to consider it too slow and abort.
-<p class="level0"><a name="CURLOPTLOWSPEEDTIME"></a><span class="nroffip">CURLOPT_LOW_SPEED_TIME</span>
-<p class="level1">Pass a long as parameter. It contains the time in seconds that the transfer should be below the <a class="emphasis" href="#CURLOPTLOWSPEEDLIMIT">CURLOPT_LOW_SPEED_LIMIT</a> for the library to consider it too slow and abort.
-<p class="level0"><a name="CURLOPTMAXSENDSPEEDLARGE"></a><span class="nroffip">CURLOPT_MAX_SEND_SPEED_LARGE</span>
-<p class="level1">Pass a curl_off_t as parameter. If an upload exceeds this speed on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed. (Added in 7.15.5)
-<p class="level0"><a name="CURLOPTMAXRECVSPEEDLARGE"></a><span class="nroffip">CURLOPT_MAX_RECV_SPEED_LARGE</span>
-<p class="level1">Pass a curl_off_t as parameter. If a download exceeds this speed on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed. (Added in 7.15.5)
-<p class="level0"><a name="CURLOPTMAXCONNECTS"></a><span class="nroffip">CURLOPT_MAXCONNECTS</span>
-<p class="level1">Pass a long. The set number will be the persistent connection cache size. The set amount will be the maximum amount of simultaneously open connections that libcurl may cache in this easy handle. Default is 5, and there isn't much point in changing this value unless you are perfectly aware of how this work and changes libcurl's behaviour. This concerns connection using any of the protocols that support persistent connections.
-<p class="level1">When reaching the maximum limit, curl closes the oldest one in the cache to prevent the number of open connections to increase.
-<p class="level1">If you already have performed transfers with this curl handle, setting a smaller MAXCONNECTS than before may cause open connections to get closed unnecessarily.
-<p class="level1">Note that if you add this easy handle to a multi handle, this setting is not being acknowledged, but you must instead use <a class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt(3)</a> and the <span Class="emphasis">CURLMOPT_MAXCONNECTS</span> option.
-<p class="level0"><a name="CURLOPTCLOSEPOLICY"></a><span class="nroffip">CURLOPT_CLOSEPOLICY</span>
-<p class="level1">(Obsolete) This option does nothing.
-<p class="level0"><a name="CURLOPTFRESHCONNECT"></a><span class="nroffip">CURLOPT_FRESH_CONNECT</span>
-<p class="level1">Pass a long. Set to 1 to make the next transfer use a new (fresh) connection by force. If the connection cache is full before this connection, one of the existing connections will be closed as according to the selected or default policy. This option should be used with caution and only if you understand what it does. Set this to 0 to have libcurl attempt re-using an existing connection (default behavior).
-<p class="level0"><a name="CURLOPTFORBIDREUSE"></a><span class="nroffip">CURLOPT_FORBID_REUSE</span>
-<p class="level1">Pass a long. Set to 1 to make the next transfer explicitly close the connection when done. Normally, libcurl keep all connections alive when done with one transfer in case there comes a succeeding one that can re-use them. This option should be used with caution and only if you understand what it does. Set to 0 to have libcurl keep the connection open for possibly later re-use (default behavior).
-<p class="level0"><a name="CURLOPTCONNECTTIMEOUT"></a><span class="nroffip">CURLOPT_CONNECTTIMEOUT</span>
-<p class="level1">Pass a long. It should contain the maximum time in seconds that you allow the connection to the server to take. This only limits the connection phase, once it has connected, this option is of no more use. Set to zero to disable connection timeout (it will then only timeout on the system's internal timeouts). See also the <a class="emphasis" href="#CURLOPTTIMEOUT">CURLOPT_TIMEOUT</a> option.
-<p class="level1">In unix-like systems, this might cause signals to be used unless <a class="emphasis" href="#CURLOPTNOSIGNAL">CURLOPT_NOSIGNAL</a> is set.
-<p class="level0"><a name="CURLOPTCONNECTTIMEOUTMS"></a><span class="nroffip">CURLOPT_CONNECTTIMEOUT_MS</span>
-<p class="level1">Like <a class="emphasis" href="#CURLOPTCONNECTTIMEOUT">CURLOPT_CONNECTTIMEOUT</a> but takes number of milliseconds instead. If libcurl is built to use the standard system name resolver, that part will still use full-second resolution for timeouts. (Added in 7.16.2)
-<p class="level0"><a name="CURLOPTIPRESOLVE"></a><span class="nroffip">CURLOPT_IPRESOLVE</span>
-<p class="level1">Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP. The allowed values are:
-<p class="level2">
-<p class="level1"><a name="CURLIPRESOLVEWHATEVER"></a><span class="nroffip">CURL_IPRESOLVE_WHATEVER</span>
-<p class="level2">Default, resolves addresses to all IP versions that your system allows.
-<p class="level1"><a name="CURLIPRESOLVEV4"></a><span class="nroffip">CURL_IPRESOLVE_V4</span>
-<p class="level2">Resolve to ipv4 addresses.
-<p class="level1"><a name="CURLIPRESOLVEV6"></a><span class="nroffip">CURL_IPRESOLVE_V6</span>
-<p class="level2">Resolve to ipv6 addresses.
-<p class="level1">
-<p class="level0"><a name="CURLOPTCONNECTONLY"></a><span class="nroffip">CURLOPT_CONNECT_ONLY</span>
-<p class="level1">Pass a long. If the parameter equals 1, it tells the library to perform all the required proxy authentication and connection setup, but no data transfer.
-<p class="level1">This option is useful with the <span Class="emphasis">CURLINFO_LASTSOCKET</span> option to <a class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo(3)</a>. The library can set up the connection and then the application can obtain the most recently used socket for special data transfers. (Added in 7.15.2) <a name="SSL"></a><h2 class="nroffsh">SSL and SECURITY OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTSSLCERT"></a><span class="nroffip">CURLOPT_SSLCERT</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. The string should be the file name of your certificate. The default format is "PEM" and can be changed with <a class="emphasis" href="#CURLOPTSSLCERTTYPE">CURLOPT_SSLCERTTYPE</a>.
-<p class="level1">With NSS this is the nickname of the certificate you wish to authenticate with.
-<p class="level0"><a name="CURLOPTSSLCERTTYPE"></a><span class="nroffip">CURLOPT_SSLCERTTYPE</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. The string should be the format of your certificate. Supported formats are "PEM" and "DER". (Added in 7.9.3)
-<p class="level0"><a name="CURLOPTSSLKEY"></a><span class="nroffip">CURLOPT_SSLKEY</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. The string should be the file name of your private key. The default format is "PEM" and can be changed with <a class="emphasis" href="#CURLOPTSSLKEYTYPE">CURLOPT_SSLKEYTYPE</a>.
-<p class="level0"><a name="CURLOPTSSLKEYTYPE"></a><span class="nroffip">CURLOPT_SSLKEYTYPE</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. The string should be the format of your private key. Supported formats are "PEM", "DER" and "ENG".
-<p class="level1">The format "ENG" enables you to load the private key from a crypto engine. In this case <a class="emphasis" href="#CURLOPTSSLKEY">CURLOPT_SSLKEY</a> is used as an identifier passed to the engine. You have to set the crypto engine with <a class="emphasis" href="#CURLOPTSSLENGINE">CURLOPT_SSLENGINE</a>. "DER" format key file currently does not work because of a bug in OpenSSL.
-<p class="level0"><a name="CURLOPTKEYPASSWD"></a><span class="nroffip">CURLOPT_KEYPASSWD</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used as the password required to use the <a class="emphasis" href="#CURLOPTSSLKEY">CURLOPT_SSLKEY</a> or <a class="emphasis" href="#CURLOPTSSHPRIVATEKEYFILE">CURLOPT_SSH_PRIVATE_KEYFILE</a> private key. You never needed a pass phrase to load a certificate but you need one to load your private key.
-<p class="level1">(This option was known as CURLOPT_SSLKEYPASSWD up to 7.16.4 and CURLOPT_SSLCERTPASSWD up to 7.9.2)
-<p class="level0"><a name="CURLOPTSSLENGINE"></a><span class="nroffip">CURLOPT_SSLENGINE</span>
-<p class="level1">Pass a pointer to a zero terminated string as parameter. It will be used as the identifier for the crypto engine you want to use for your private key.
-<p class="level1">If the crypto device cannot be loaded, <span Class="emphasis">CURLE_SSL_ENGINE_NOTFOUND</span> is returned.
-<p class="level0"><a name="CURLOPTSSLENGINEDEFAULT"></a><span class="nroffip">CURLOPT_SSLENGINE_DEFAULT</span>
-<p class="level1">Sets the actual crypto engine as the default for (asymmetric) crypto operations.
-<p class="level1">If the crypto device cannot be set, <span Class="emphasis">CURLE_SSL_ENGINE_SETFAILED</span> is returned.
-<p class="level1">Note that even though this option doesn't need any parameter, in some configurations <span Class="emphasis">curl_easy_setopt</span> might be defined as a macro taking exactly three arguments. Therefore, it's recommended to pass 1 as parameter to this option.
-<p class="level0"><a name="CURLOPTSSLVERSION"></a><span class="nroffip">CURLOPT_SSLVERSION</span>
-<p class="level1">Pass a long as parameter to control what version of SSL/TLS to attempt to use. The available options are:
-<p class="level2">
-<p class="level1"><a name="CURLSSLVERSIONDEFAULT"></a><span class="nroffip">CURL_SSLVERSION_DEFAULT</span>
-<p class="level2">The default action. This will attempt to figure out the remote SSL protocol version, i.e. either SSLv3 or TLSv1 (but not SSLv2, which became disabled by default with 7.18.1).
-<p class="level1"><a name="CURLSSLVERSIONTLSv1"></a><span class="nroffip">CURL_SSLVERSION_TLSv1</span>
-<p class="level2">Force TLSv1
-<p class="level1"><a name="CURLSSLVERSIONSSLv2"></a><span class="nroffip">CURL_SSLVERSION_SSLv2</span>
-<p class="level2">Force SSLv2
-<p class="level1"><a name="CURLSSLVERSIONSSLv3"></a><span class="nroffip">CURL_SSLVERSION_SSLv3</span>
-<p class="level2">Force SSLv3
-<p class="level1">
-<p class="level0"><a name="CURLOPTSSLVERIFYPEER"></a><span class="nroffip">CURLOPT_SSL_VERIFYPEER</span>
-<p class="level1">Pass a long as parameter.
-<p class="level1">This option determines whether curl verifies the authenticity of the peer's certificate. A value of 1 means curl verifies; zero means it doesn't. The default is nonzero, but before 7.10, it was zero.
-<p class="level1">When negotiating an SSL connection, the server sends a certificate indicating its identity. Curl verifies whether the certificate is authentic, i.e. that you can trust that the server is who the certificate says it is. This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. As of 7.10, curl installs a default bundle of CA certificates and you can specify alternate certificates with the <a class="emphasis" href="#CURLOPTCAINFO">CURLOPT_CAINFO</a> option or the <a class="emphasis" href="#CURLOPTCAPATH">CURLOPT_CAPATH</a> option.
-<p class="level1">When <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> is nonzero, and the verification fails to prove that the certificate is authentic, the connection fails. When the option is zero, the connection succeeds regardless.
-<p class="level1">Authenticating the certificate is not by itself very useful. You typically want to ensure that the server, as authentically identified by its certificate, is the server you mean to be talking to. Use <a class="emphasis" href="#CURLOPTSSLVERIFYHOST">CURLOPT_SSL_VERIFYHOST</a> to control that.
-<p class="level0"><a name="CURLOPTCAINFO"></a><span class="nroffip">CURLOPT_CAINFO</span>
-<p class="level1">Pass a char * to a zero terminated string naming a file holding one or more certificates to verify the peer with. This makes sense only when used in combination with the <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> option. If <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> is zero, <a class="emphasis" href="#CURLOPTCAINFO">CURLOPT_CAINFO</a> need not even indicate an accessible file.
-<p class="level1">Note that option is by default set to the system path where libcurl's cacert bundle is assumed to be stored, as established at build time.
-<p class="level1">When built against NSS this is the directory that the NSS certificate database resides in.
-<p class="level0"><a name="CURLOPTISSUERCERT"></a><span class="nroffip">CURLOPT_ISSUERCERT</span>
-<p class="level1">Pass a char * to a zero terminated string naming a file holding a CA certificate in PEM format. If the option is set, an additional check against the peer certificate is performed to verify the issuer is indeed the one associated with the certificate provided by the option. This additional check is useful in multi-level PKI where one need to enforce the peer certificate is from a specific branch of the tree.
-<p class="level1">This option makes sense only when used in combination with the <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> option. Otherwise, the result of the check is not considered as failure.
-<p class="level1">A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option, which is returned if the setup of the SSL/TLS session has failed due to a mismatch with the issuer of peer certificate (<a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> has to be set too for the check to fail). (Added in 7.19.0)
-<p class="level0"><a name="CURLOPTCAPATH"></a><span class="nroffip">CURLOPT_CAPATH</span>
-<p class="level1">Pass a char * to a zero terminated string naming a directory holding multiple CA certificates to verify the peer with. The certificate directory must be prepared using the openssl c_rehash utility. This makes sense only when used in combination with the <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> option. If <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> is zero, <a class="emphasis" href="#CURLOPTCAPATH">CURLOPT_CAPATH</a> need not even indicate an accessible path. The <a class="emphasis" href="#CURLOPTCAPATH">CURLOPT_CAPATH</a> function apparently does not work in Windows due to some limitation in openssl. This option is OpenSSL-specific and does nothing if libcurl is built to use GnuTLS.
-<p class="level0"><a name="CURLOPTCRLFILE"></a><span class="nroffip">CURLOPT_CRLFILE</span>
-<p class="level1">Pass a char * to a zero terminated string naming a file with the concatenation of CRL (in PEM format) to use in the certificate validation that occurs during the SSL exchange.
-<p class="level1">When curl is built to use NSS or GnuTLS, there is no way to influence the use of CRL passed to help in the verification process. When libcurl is built with OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both set, requiring CRL check against all the elements of the certificate chain if a CRL file is passed.
-<p class="level1">This option makes sense only when used in combination with the <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a> option.
-<p class="level1">A specific error code (CURLE_SSL_CRL_BADFILE) is defined with the option. It is returned when the SSL exchange fails because the CRL file cannot be loaded. Note that a failure in certificate verification due to a revocation information found in the CRL does not trigger this specific error. (Added in 7.19.0)
-<p class="level0"><a name="CURLOPTRANDOMFILE"></a><span class="nroffip">CURLOPT_RANDOM_FILE</span>
-<p class="level1">Pass a char * to a zero terminated file name. The file will be used to read from to seed the random engine for SSL. The more random the specified file is, the more secure the SSL connection will become.
-<p class="level0"><a name="CURLOPTEGDSOCKET"></a><span class="nroffip">CURLOPT_EGDSOCKET</span>
-<p class="level1">Pass a char * to the zero terminated path name to the Entropy Gathering Daemon socket. It will be used to seed the random engine for SSL.
-<p class="level0"><a name="CURLOPTSSLVERIFYHOST"></a><span class="nroffip">CURLOPT_SSL_VERIFYHOST</span>
-<p class="level1">Pass a long as parameter.
-<p class="level1">This option determines whether libcurl verifies that the server cert is for the server it is known as.
-<p class="level1">When negotiating an SSL connection, the server sends a certificate indicating its identity.
-<p class="level1">When <a class="emphasis" href="#CURLOPTSSLVERIFYHOST">CURLOPT_SSL_VERIFYHOST</a> is 2, that certificate must indicate that the server is the server to which you meant to connect, or the connection fails.
-<p class="level1">Curl considers the server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the URL to which you told Curl to connect.
-<p class="level1">When the value is 1, the certificate must contain a Common Name field, but it doesn't matter what name it says. (This is not ordinarily a useful setting).
-<p class="level1">When the value is 0, the connection succeeds regardless of the names in the certificate.
-<p class="level1">The default, since 7.10, is 2.
-<p class="level1">The checking this option controls is of the identity that the server <span Class="emphasis">claims</span>. The server could be lying. To control lying, see <a class="emphasis" href="#CURLOPTSSLVERIFYPEER">CURLOPT_SSL_VERIFYPEER</a>.
-<p class="level0"><a name="CURLOPTSSLCIPHERLIST"></a><span class="nroffip">CURLOPT_SSL_CIPHER_LIST</span>
-<p class="level1">Pass a char *, pointing to a zero terminated string holding the list of ciphers to use for the SSL connection. The list must be syntactically correct, it consists of one or more cipher strings separated by colons. Commas or spaces are also acceptable separators but colons are normally used, !, - and + can be used as operators.
-<p class="level1">For OpenSSL and GnuTLS valid examples of cipher lists include 'RC4-SHA', &acute;SHA1+DES&acute;, 'TLSv1' and 'DEFAULT'. The default list is normally set when you compile OpenSSL.
-<p class="level1">You'll find more details about cipher lists on this URL: <span Class="emphasis"><a href="http://www.openssl.org/docs/apps/ciphers.html">http://www.openssl.org/docs/apps/ciphers.html</a></span>
-<p class="level1">For NSS valid examples of cipher lists include 'rsa_rc4_128_md5', &acute;rsa_aes_128_sha&acute;, etc. With NSS you don't add/remove ciphers. If one uses this option then all known ciphers are disabled and only those passed in are enabled.
-<p class="level1">You'll find more details about the NSS cipher lists on this URL: <span Class="emphasis"><a href="http://directory.fedora.redhat.com/docs/mod_nss.html">http://directory.fedora.redhat.com/docs/mod_nss.html</a>#Directives</span>
-<p class="level1">
-<p class="level0"><a name="CURLOPTSSLSESSIONIDCACHE"></a><span class="nroffip">CURLOPT_SSL_SESSIONID_CACHE</span>
-<p class="level1">Pass a long set to 0 to disable libcurl's use of SSL session-ID caching. Set this to 1 to enable it. By default all transfers are done using the cache. Note that while nothing ever should get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. (Added in 7.16.0)
-<p class="level0"><a name="CURLOPTKRBLEVEL"></a><span class="nroffip">CURLOPT_KRBLEVEL</span>
-<p class="level1">Pass a char * as parameter. Set the kerberos security level for FTP; this also enables kerberos awareness. This is a string, 'clear', 'safe', 'confidential' or 'private'. If the string is set but doesn't match one of these, 'private' will be used. Set the string to NULL to disable kerberos support for FTP.
-<p class="level1">(This option was known as CURLOPT_KRB4LEVEL up to 7.16.3) <a name="SSH"></a><h2 class="nroffsh">SSH OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTSSHAUTHTYPES"></a><span class="nroffip">CURLOPT_SSH_AUTH_TYPES</span>
-<p class="level1">Pass a long set to a bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. Set CURLSSH_AUTH_ANY to let libcurl pick one. (Added in 7.16.1)
-<p class="level0"><a name="CURLOPTSSHHOSTPUBLICKEYMD5"></a><span class="nroffip">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</span>
-<p class="level1">Pass a char * pointing to a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, and libcurl will reject the connection to the host unless the md5sums match. This option is only for SCP and SFTP transfers. (Added in 7.17.1)
-<p class="level0"><a name="CURLOPTSSHPUBLICKEYFILE"></a><span class="nroffip">CURLOPT_SSH_PUBLIC_KEYFILE</span>
-<p class="level1">Pass a char * pointing to a file name for your public key. If not used, libcurl defaults to using <span Class="bold">~/.ssh/id_dsa.pub</span>. (Added in 7.16.1)
-<p class="level0"><a name="CURLOPTSSHPRIVATEKEYFILE"></a><span class="nroffip">CURLOPT_SSH_PRIVATE_KEYFILE</span>
-<p class="level1">Pass a char * pointing to a file name for your private key. If not used, libcurl defaults to using <span Class="bold">~/.ssh/id_dsa</span>. If the file is password-protected, set the password with <a class="emphasis" href="#CURLOPTKEYPASSWD">CURLOPT_KEYPASSWD</a>. (Added in 7.16.1) <a name="OTHER"></a><h2 class="nroffsh">OTHER OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTPRIVATE"></a><span class="nroffip">CURLOPT_PRIVATE</span>
-<p class="level1">Pass a void * as parameter, pointing to data that should be associated with this curl handle. The pointer can subsequently be retrieved using <a class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo(3)</a> with the CURLINFO_PRIVATE option. libcurl itself does nothing with this data. (Added in 7.10.3)
-<p class="level0"><a name="CURLOPTSHARE"></a><span class="nroffip">CURLOPT_SHARE</span>
-<p class="level1">Pass a share handle as a parameter. The share handle must have been created by a previous call to <a class="emphasis" href="./curl_share_init.html">curl_share_init(3)</a>. Setting this option, will make this curl handle use the data from the shared handle instead of keeping the data to itself. This enables several curl handles to share data. If the curl handles are used simultaneously, you <span Class="bold">MUST</span> use the locking methods in the share handle. See <a class="emphasis" href="./curl_share_setopt.html">curl_share_setopt(3)</a> for details.
-<p class="level1">If you add a share that is set to share cookies, your easy handle will use that cookie cache and get the cookie engine enabled. If you unshare an object that were using cookies (or change to another object that doesn't share cookies), the easy handle will get its cookie engine disabled.
-<p class="level1">Data that the share object is not set to share will be dealt with the usual way, as if no share was used.
-<p class="level0"><a name="CURLOPTNEWFILEPERMS"></a><span class="nroffip">CURLOPT_NEW_FILE_PERMS</span>
-<p class="level1">Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created files on the remote server. The default value is <span Class="emphasis">0644</span>, but any valid value can be used. The only protocols that can use this are <span Class="emphasis">sftp://</span>, <span Class="emphasis">scp://</span> and <span Class="emphasis">file://</span>. (Added in 7.16.4)
-<p class="level0"><a name="CURLOPTNEWDIRECTORYPERMS"></a><span class="nroffip">CURLOPT_NEW_DIRECTORY_PERMS</span>
-<p class="level1">Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created directories on the remote server. The default value is <span Class="emphasis">0755</span>, but any valid value can be used. The only protocols that can use this are <span Class="emphasis">sftp://</span>, <span Class="emphasis">scp://</span> and <span Class="emphasis">file://</span>. (Added in 7.16.4) <a name="TELNET"></a><h2 class="nroffsh">TELNET OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTELNETOPTIONS"></a><span class="nroffip">CURLOPT_TELNETOPTIONS</span>
-<p class="level1">Provide a pointer to a curl_slist with variables to pass to the telnet negotiations. The variables should be in the format &lt;option=value&gt;. libcurl supports the options 'TTYPE', 'XDISPLOC' and 'NEW_ENV'. See the TELNET standard for details. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK (zero) means that the option was set properly, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. See the <span Class="emphasis">libcurl-errors(3)</span> man page for the full list with descriptions.
-<p class="level0">If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return <span Class="emphasis">CURLE_FAILED_INIT</span>. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_init.html">curl_easy_init (3)</a> <a class="manpage" href="./curl_easy_cleanup.html"> curl_easy_cleanup (3)</a> <a class="manpage" href="./curl_easy_reset.html"> curl_easy_reset (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.pdf
deleted file mode 100644
index e4480eb..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_setopt.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.3
deleted file mode 100644
index be8f1b4..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.3
+++ /dev/null
@@ -1,20 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_easy_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_easy_strerror - return string describing error code
-.SH SYNOPSIS
-.nf
-.B #include <curl/curl.h>
-.BI "const char *curl_easy_strerror(CURLcode " errornum ");"
-.SH DESCRIPTION
-The curl_easy_strerror() function returns a string describing the CURLcode
-error code passed in the argument \fIerrornum\fP.
-.SH AVAILABILITY
-This function was added in libcurl 7.12.0
-.SH RETURN VALUE
-A pointer to a zero terminated string.
-.SH "SEE ALSO"
-.BR libcurl-errors "(3), " curl_multi_strerror "(3), " curl_share_strerror "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.html
deleted file mode 100644
index 1dcca6c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_easy_strerror man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_strerror - return string describing error code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<span Class="bold">const char *curl_easy_strerror(CURLcode errornum );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The curl_easy_strerror() function returns a string describing the CURLcode error code passed in the argument <span Class="emphasis">errornum</span>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">libcurl-errors (3)</span> <a class="manpage" href="./curl_multi_strerror.html"> curl_multi_strerror (3)</a> <a class="manpage" href="./curl_share_strerror.html"> curl_share_strerror (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.pdf
deleted file mode 100644
index 16be90a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_strerror.pdf
+++ /dev/null
@@ -1,105 +0,0 @@
-%PDF-1.4
-%Çì¢
-5 0 obj
-<</Length 6 0 R/Filter /FlateDecode>>
-stream
-xœ•Tmo›0þί8iÕpmc^¬M“hM™Ò¤Kh¥**JhÊ”–UÛ¯ßÙBšTÕ„Äœïyîyîü ”0 êjŸÉÚ8ú°,
-ßñ^ÏÓÐ>’5œE¨…èÁhö1ð9øB@´6ó‰Ë z1æfR«»4.ÿÜ•U‘Ŧ¸5[ VÙ½údÙÜ¥„Rß¼ˆó:^ÁñÖ¯è‡aS™„(At‰èDºŠ€ãA42Ìqh}DÂø•¹Ä•’Іy1°¢ß=ºœA}°WŸ©by„$ØP¤U]ä€+Y¾„EZ&Ev¯^›€d³H›Ì=*6r±™G =»O.gÃÙ.¬¥Û‚›²<YÕ‹¾(§ê‡<~Uá*`dD'(à&/+HãNöxZ, ”¹ÌD>Ý»’ëüj:Òì”f§SF·F.¡^#Ë\ï®’ÞÁ]y½nÃ;šá­„·ÖçÃJ¹+ ïWûm0;Ÿ/£ád¼¯ø®`J<­wô˜5ûâ¡Î“*Ûä­ü%ÄG¨pÿ¶Êžð—eº€,×q¡x”ÆóÛJ–µ­ÖìvqëÃ:Í«†s'çÄ}Oª®@Ÿe-ÑŒ¸ApЪ¶ôˆ£B;Ù0
--Jx ¡Úª[»ÔsÙÖ€á(<ކÑ;°ØçŽ@”~/ÏQܬÜÉøbI"%÷3F-‹FžvúÀ'ŒÚsþXÏÍé ºšŽáÚbŽ Òcf8ºè]J%]ä¡ÙføÔ•Ãñ™”m9›,¯Òª šû7-6€ÿÖYWH®1›ö:Eo¼G³É[ã57Û2m=!>‘ðÐÀò•}n@˜ ]³«ãæÓ~N„ô¼mD{¦­ëU•5sˆ™¥Ã_Íá+@êÊà?AJû]þnꩼ‹&¸ôûhº+¹t•ž(¦ØSH7‚…Òr×ĹŸ
-à”
-XxÛÓ”©4ƒÈø‰×?­…›endstream
-endobj
-6 0 obj
-721
-endobj
-4 0 obj
-<</Type/Page/MediaBox [0 0 612 792]
-/Rotate 0/Parent 3 0 R
-/Resources<</ProcSet[/PDF /Text]
-/ExtGState 11 0 R
-/Font 12 0 R
->>
-/Contents 5 0 R
->>
-endobj
-3 0 obj
-<< /Type /Pages /Kids [
-4 0 R
-] /Count 1
->>
-endobj
-1 0 obj
-<</Type /Catalog /Pages 3 0 R
-/Metadata 13 0 R
->>
-endobj
-7 0 obj
-<</Type/ExtGState
-/OPM 1>>endobj
-11 0 obj
-<</R7
-7 0 R>>
-endobj
-12 0 obj
-<</R10
-10 0 R/R9
-9 0 R/R8
-8 0 R>>
-endobj
-10 0 obj
-<</BaseFont/Times-Italic/Type/Font
-/Subtype/Type1>>
-endobj
-9 0 obj
-<</BaseFont/Times-Bold/Type/Font
-/Subtype/Type1>>
-endobj
-8 0 obj
-<</BaseFont/Times-Roman/Type/Font
-/Subtype/Type1>>
-endobj
-13 0 obj
-<</Type/Metadata
-/Subtype/XML/Length 1287>>stream
-<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
-<?adobe-xap-filters esc="CRLF"?>
-<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='9cf4f50e-ab82-11e8-0000-1db77fb63b0c' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 8.62'/>
-<rdf:Description rdf:about='9cf4f50e-ab82-11e8-0000-1db77fb63b0c' xmlns:xap='http://ns.adobe.com/xap/1.0/' xap:ModifyDate='2008-08-26T13:56:49+02:00' xap:CreateDate='2008-08-26T13:56:49+02:00'><xap:CreatorTool>UnknownApplication</xap:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='9cf4f50e-ab82-11e8-0000-1db77fb63b0c' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='9cf4f50e-ab82-11e8-0000-1db77fb63b0c'/>
-<rdf:Description rdf:about='9cf4f50e-ab82-11e8-0000-1db77fb63b0c' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
-</rdf:RDF>
-</x:xmpmeta>
-
-
-<?xpacket end='w'?>
-endstream
-endobj
-2 0 obj
-<</Producer(GPL Ghostscript 8.62)
-/CreationDate(D:20080826135649+02'00')
-/ModDate(D:20080826135649+02'00')>>endobj
-xref
-0 14
-0000000000 65535 f
-0000001044 00000 n
-0000002793 00000 n
-0000000985 00000 n
-0000000825 00000 n
-0000000015 00000 n
-0000000806 00000 n
-0000001109 00000 n
-0000001363 00000 n
-0000001298 00000 n
-0000001230 00000 n
-0000001150 00000 n
-0000001180 00000 n
-0000001429 00000 n
-trailer
-<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<7A543AA896BBF6DC448D0421982B18CB><7A543AA896BBF6DC448D0421982B18CB>]
->>
-startxref
-2916
-%%EOF
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.3
deleted file mode 100644
index 2aef6b0..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.3
+++ /dev/null
@@ -1,52 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_easy_unescape 3 "7 April 2006" "libcurl 7.15.4" "libcurl Manual"
-.SH NAME
-curl_easy_unescape - URL decodes the given string
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "char *curl_easy_unescape( CURL *" curl ", char *" url ", int "inlength
-.BI ", int *" outlength " );"
-.ad
-.SH DESCRIPTION
-This function converts the given URL encoded input string to a "plain string"
-and returns that in an allocated memory area. All input characters that are
-URL encoded (%XX where XX is a two-digit hexadecimal number) are converted to
-their binary versions.
-
-If the \fBlength\fP argument is set to 0 (zero), \fIcurl_easy_unescape(3)\fP
-will use strlen() on the input \fIurl\fP string to find out the size.
-
-If \fBoutlength\fP is non-NULL, the function will write the length of the
-returned string in the integer it points to. This allows an escaped string
-containing %00 to still get used properly after unescaping.
-
-You must \fIcurl_free(3)\fP the returned string when you're done with it.
-.SH AVAILABILITY
-Added in 7.15.4 and replaces the old \fIcurl_unescape(3)\fP function.
-.SH RETURN VALUE
-A pointer to a zero terminated string or NULL if it failed.
-.SH "SEE ALSO"
-.I curl_easy_escape(3), curl_free(3), RFC 2396
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.html
deleted file mode 100644
index 3844862..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_easy_unescape man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_unescape - URL decodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_easy_unescape( CURL * curl , char * url , int inlength</span> <span Class="bold">, int * outlength );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function converts the given URL encoded input string to a "plain string" and returns that in an allocated memory area. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) are converted to their binary versions.
-<p class="level0">If the <span Class="bold">length</span> argument is set to 0 (zero), <a class="emphasis" href="./curl_easy_unescape.html">curl_easy_unescape(3)</a> will use strlen() on the input <span Class="emphasis">url</span> string to find out the size.
-<p class="level0">If <span Class="bold">outlength</span> is non-NULL, the function will write the length of the returned string in the integer it points to. This allows an escaped string containing %00 to still get used properly after unescaping.
-<p class="level0">You must <a class="emphasis" href="./curl_free.html">curl_free(3)</a> the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4 and replaces the old <a class="emphasis" href="./curl_unescape.html">curl_unescape(3)</a> function. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="emphasis">curl_easy_escape(3), curl_free(3), RFC 2396</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.pdf
deleted file mode 100644
index 7e4d71e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_easy_unescape.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.3
deleted file mode 100644
index 1c27744..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.3
+++ /dev/null
@@ -1,31 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_escape 3 "6 March 2002" "libcurl 7.9" "libcurl Manual"
-.SH NAME
-curl_escape - URL encodes the given string
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "char *curl_escape( char *" url ", int "length " );"
-.ad
-.SH DESCRIPTION
-Obsolete function. Use \fIcurl_easy_escape(3)\fP instead!
-
-This function will convert the given input string to an URL encoded string and
-return that as a new allocated string. All input characters that are not a-z,
-A-Z or 0-9 will be converted to their "URL escaped" version (%NN where NN is a
-two-digit hexadecimal number).
-
-If the 'length' argument is set to 0, curl_escape() will use strlen() on the
-input 'url' string to find out the size.
-
-You must curl_free() the returned string when you're done with it.
-.SH AVAILABILITY
-Since 7.15.4, \fIcurl_easy_escape(3)\fP should be used. This function will
-be removed in a future release.
-.SH RETURN VALUE
-A pointer to a zero terminated string or NULL if it failed.
-.SH "SEE ALSO"
-.BR curl_unescape "(3), " curl_free "(3), " RFC 2396
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.html
deleted file mode 100644
index 4e1c6ff..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_escape man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_escape - URL encodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_escape( char * url , int length );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Obsolete function. Use <a class="emphasis" href="./curl_easy_escape.html">curl_easy_escape(3)</a> instead!
-<p class="level0">This function will convert the given input string to an URL encoded string and return that as a new allocated string. All input characters that are not a-z, A-Z or 0-9 will be converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number).
-<p class="level0">If the 'length' argument is set to 0, curl_escape() will use strlen() on the input 'url' string to find out the size.
-<p class="level0">You must curl_free() the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Since 7.15.4, <a class="emphasis" href="./curl_easy_escape.html">curl_easy_escape(3)</a> should be used. This function will be removed in a future release. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_unescape.html">curl_unescape (3)</a> <a class="manpage" href="./curl_free.html"> curl_free (3)</a> <span Class="manpage"> RFC 2396</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.pdf
deleted file mode 100644
index 9f83a8e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_escape.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.3
deleted file mode 100644
index e55c542..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.3
+++ /dev/null
@@ -1,216 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_formadd 3 "24 June 2002" "libcurl 7.9.8" "libcurl Manual"
-.SH NAME
-curl_formadd - add a section to a multipart/formdata HTTP POST
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem,
-.BI "struct curl_httppost ** " lastitem, " ...);"
-.ad
-.SH DESCRIPTION
-curl_formadd() is used to append sections when building a multipart/formdata
-HTTP POST (sometimes referred to as rfc1867-style posts). Append one section at
-a time until you've added all the sections you want included and then you pass
-the \fIfirstitem\fP pointer as parameter to \fBCURLOPT_HTTPPOST\fP.
-\fIlastitem\fP is set after each call and on repeated invokes it should be
-left as set to allow repeated invokes to find the end of the list faster.
-
-After the \fIlastitem\fP pointer follow the real arguments.
-
-The pointers \fI*firstitem\fP and \fI*lastitem\fP should both be pointing to
-NULL in the first call to this function. All list-data will be allocated by
-the function itself. You must call \fIcurl_formfree(3)\fP after the form post
-has been done to free the resources.
-
-Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
-You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
-
-First, there are some basics you need to understand about multipart/formdata
-posts. Each part consists of at least a NAME and a CONTENTS part. If the part
-is made for file upload, there are also a stored CONTENT-TYPE and a FILENAME.
-Below, we'll discuss what options you use to set these properties in the
-parts you want to add to your post.
-
-The options listed first are for making normal parts. The options from
-\fICURLFORM_FILE\fP through \fICURLFORM_BUFFERLENGTH\fP are for file upload
-parts.
-.SH OPTIONS
-.IP CURLFORM_COPYNAME
-followed by a string which provides the \fIname\fP of this part. libcurl
-copies the string so your application doesn't need to keep it around after
-this function call. If the name isn't NUL-terminated, or if you'd
-like it to contain zero bytes, you must set its length with
-\fBCURLFORM_NAMELENGTH\fP. The copied data will be freed by
-\fIcurl_formfree(3)\fP.
-.IP CURLFORM_PTRNAME
-followed by a string which provides the \fIname\fP of this part. libcurl
-will use the pointer and refer to the data in your application, so you
-must make sure it remains until curl no longer needs it. If the name
-isn't NUL-terminated, or if you'd like it to contain zero
-bytes, you must set its length with \fBCURLFORM_NAMELENGTH\fP.
-.IP CURLFORM_COPYCONTENTS
-followed by a pointer to the contents of this part, the actual data
-to send away. libcurl copies the provided data, so your application doesn't
-need to keep it around after this function call. If the data isn't null
-terminated, or if you'd like it to contain zero bytes, you must
-set the length of the name with \fBCURLFORM_CONTENTSLENGTH\fP. The copied
-data will be freed by \fIcurl_formfree(3)\fP.
-.IP CURLFORM_PTRCONTENTS
-followed by a pointer to the contents of this part, the actual data
-to send away. libcurl will use the pointer and refer to the data in your
-application, so you must make sure it remains until curl no longer needs it.
-If the data isn't NUL-terminated, or if you'd like it to contain zero bytes,
-you must set its length with \fBCURLFORM_CONTENTSLENGTH\fP.
-.IP CURLFORM_CONTENTSLENGTH
-followed by a long giving the length of the contents. Note that for
-\fICURLFORM_STREAM\fP contents, this option is mandatory.
-.IP CURLFORM_FILECONTENT
-followed by a filename, causes that file to be read and its contents used
-as data in this part. This part does \fInot\fP automatically become a file
-upload part simply because its data was read from a file.
-.IP CURLFORM_FILE
-followed by a filename, makes this part a file upload part. It sets the
-\fIfilename\fP field to the basename of the provided filename, it reads the
-contents of the file and passes them as data and sets the content-type if the
-given file match one of the internally known file extensions. For
-\fBCURLFORM_FILE\fP the user may send one or more files in one part by
-providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename
-(and each \fICURLFORM_FILE\fP is allowed to have a
-\fICURLFORM_CONTENTTYPE\fP).
-.IP CURLFORM_CONTENTTYPE
-is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a
-string which provides the content-type for this part, possibly instead of an
-internally chosen one.
-.IP CURLFORM_FILENAME
-is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a
-string, it tells libcurl to use the given string as the \fIfilename\fP in the
-file upload part instead of the actual file name.
-.IP CURLFORM_BUFFER
-is used for custom file upload parts without use of \fICURLFORM_FILE\fP. It
-tells libcurl that the file contents are already present in a buffer. The
-parameter is a string which provides the \fIfilename\fP field in the content
-header.
-.IP CURLFORM_BUFFERPTR
-is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a pointer
-to the buffer to be uploaded. This buffer must not be freed until after
-\fIcurl_easy_cleanup(3)\fP is called. You must also use
-\fICURLFORM_BUFFERLENGTH\fP to set the number of bytes in the buffer.
-.IP CURLFORM_BUFFERLENGTH
-is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a
-long which gives the length of the buffer.
-.IP CURLFORM_STREAM
-Tells libcurl to use the \fICURLOPT_READFUNCTION\fP callback to get data. The
-parameter you pass to \fICURLFORM_STREAM\fP is the pointer passed on to the
-read callback's fourth argument. If you want the part to look like a file
-upload one, set the \fICURLFORM_FILENAME\fP parameter as well. (Option added
-in libcurl 7.18.2)
-.IP CURLFORM_ARRAY
-Another possibility to send options to curl_formadd() is the
-\fBCURLFORM_ARRAY\fP option, that passes a struct curl_forms array pointer as
-its value. Each curl_forms structure element has a CURLformoption and a char
-pointer. The final element in the array must be a CURLFORM_END. All available
-options can be used in an array, except the CURLFORM_ARRAY option itself! The
-last argument in such an array must always be \fBCURLFORM_END\fP.
-.IP CURLFORM_CONTENTHEADER
-specifies extra headers for the form POST section. This takes a curl_slist
-prepared in the usual way using \fBcurl_slist_append\fP and appends the list
-of headers to those libcurl automatically generates. The list must exist while
-the POST occurs, if you free it before the post completes you may experience
-problems.
-
-When you've passed the HttpPost pointer to \fIcurl_easy_setopt(3)\fP (using
-the \fICURLOPT_HTTPPOST\fP option), you must not free the list until after
-you've called \fIcurl_easy_cleanup(3)\fP for the curl handle.
-
-See example below.
-.SH RETURN VALUE
-0 means everything was ok, non-zero means an error occurred corresponding
-to a CURL_FORMADD_* constant defined in
-.I <curl/curl.h>
-.SH EXAMPLE
-.nf
-
- struct curl_httppost* post = NULL;
- struct curl_httppost* last = NULL;
- char namebuffer[] = "name buffer";
- long namelength = strlen(namebuffer);
- char buffer[] = "test buffer";
- char htmlbuffer[] = "<HTML>test buffer</HTML>";
- long htmlbufferlength = strlen(htmlbuffer);
- struct curl_forms forms[3];
- char file1[] = "my-face.jpg";
- char file2[] = "your-face.jpg";
- /* add null character into htmlbuffer, to demonstrate that
- transfers of buffers containing null characters actually work
- */
- htmlbuffer[8] = '\\0';
-
- /* Add simple name/content section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "name",
- CURLFORM_COPYCONTENTS, "content", CURLFORM_END);
-
- /* Add simple name/content/contenttype section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode",
- CURLFORM_COPYCONTENTS, "<HTML></HTML>",
- CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
-
- /* Add name/ptrcontent section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent",
- CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
-
- /* Add ptrname/ptrcontent section */
- curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer,
- CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH,
- namelength, CURLFORM_END);
-
- /* Add name/ptrcontent/contenttype section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole",
- CURLFORM_PTRCONTENTS, htmlbuffer,
- CURLFORM_CONTENTSLENGTH, htmlbufferlength,
- CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
-
- /* Add simple file section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
- CURLFORM_FILE, "my-face.jpg", CURLFORM_END);
-
- /* Add file/contenttype section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
- CURLFORM_FILE, "my-face.jpg",
- CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END);
-
- /* Add two file section */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
- CURLFORM_FILE, "my-face.jpg",
- CURLFORM_FILE, "your-face.jpg", CURLFORM_END);
-
- /* Add two file section using CURLFORM_ARRAY */
- forms[0].option = CURLFORM_FILE;
- forms[0].value = file1;
- forms[1].option = CURLFORM_FILE;
- forms[1].value = file2;
- forms[2].option = CURLFORM_END;
-
- /* Add a buffer to upload */
- curl_formadd(&post, &last,
- CURLFORM_COPYNAME, "name",
- CURLFORM_BUFFER, "data",
- CURLFORM_BUFFERPTR, record,
- CURLFORM_BUFFERLENGTH, record_length,
- CURLFORM_END);
-
- /* no option needed for the end marker */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
- CURLFORM_ARRAY, forms, CURLFORM_END);
- /* Add the content of a file as a normal post text value */
- curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent",
- CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END);
- /* Set the form info */
- curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
-
-.SH "SEE ALSO"
-.BR curl_easy_setopt "(3), "
-.BR curl_formfree "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.html
deleted file mode 100644
index e020be9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html><head>
-<title>curl_formadd man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_formadd - add a section to a multipart/formdata HTTP POST <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLFORMcode curl_formadd(struct curl_httppost ** firstitem,</span> <span Class="bold">struct curl_httppost ** lastitem, ...);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_formadd() is used to append sections when building a multipart/formdata HTTP POST (sometimes referred to as rfc1867-style posts). Append one section at a time until you've added all the sections you want included and then you pass the <span Class="emphasis">firstitem</span> pointer as parameter to <span Class="bold">CURLOPT_HTTPPOST</span>. <span Class="emphasis">lastitem</span> is set after each call and on repeated invokes it should be left as set to allow repeated invokes to find the end of the list faster.
-<p class="level0">After the <span Class="emphasis">lastitem</span> pointer follow the real arguments.
-<p class="level0">The pointers <span Class="emphasis">*firstitem</span> and <span Class="emphasis">*lastitem</span> should both be pointing to NULL in the first call to this function. All list-data will be allocated by the function itself. You must call <a class="emphasis" href="./curl_formfree.html">curl_formfree(3)</a> after the form post has been done to free the resources.
-<p class="level0">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <span Class="emphasis">CURLOPT_HTTPHEADER</span> as usual.
-<p class="level0">First, there are some basics you need to understand about multipart/formdata posts. Each part consists of at least a NAME and a CONTENTS part. If the part is made for file upload, there are also a stored CONTENT-TYPE and a FILENAME. Below, we'll discuss what options you use to set these properties in the parts you want to add to your post.
-<p class="level0">The options listed first are for making normal parts. The options from <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a> through <a class="emphasis" href="#CURLFORMBUFFERLENGTH">CURLFORM_BUFFERLENGTH</a> are for file upload parts. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLFORMCOPYNAME"></a><span class="nroffip">CURLFORM_COPYNAME</span>
-<p class="level1">followed by a string which provides the <span Class="emphasis">name</span> of this part. libcurl copies the string so your application doesn't need to keep it around after this function call. If the name isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with <span Class="bold">CURLFORM_NAMELENGTH</span>. The copied data will be freed by <a class="emphasis" href="./curl_formfree.html">curl_formfree(3)</a>.
-<p class="level0"><a name="CURLFORMPTRNAME"></a><span class="nroffip">CURLFORM_PTRNAME</span>
-<p class="level1">followed by a string which provides the <span Class="emphasis">name</span> of this part. libcurl will use the pointer and refer to the data in your application, so you must make sure it remains until curl no longer needs it. If the name isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with <span Class="bold">CURLFORM_NAMELENGTH</span>.
-<p class="level0"><a name="CURLFORMCOPYCONTENTS"></a><span class="nroffip">CURLFORM_COPYCONTENTS</span>
-<p class="level1">followed by a pointer to the contents of this part, the actual data to send away. libcurl copies the provided data, so your application doesn't need to keep it around after this function call. If the data isn't null terminated, or if you'd like it to contain zero bytes, you must set the length of the name with <a class="bold" href="#CURLFORMCONTENTSLENGTH">CURLFORM_CONTENTSLENGTH</a>. The copied data will be freed by <a class="emphasis" href="./curl_formfree.html">curl_formfree(3)</a>.
-<p class="level0"><a name="CURLFORMPTRCONTENTS"></a><span class="nroffip">CURLFORM_PTRCONTENTS</span>
-<p class="level1">followed by a pointer to the contents of this part, the actual data to send away. libcurl will use the pointer and refer to the data in your application, so you must make sure it remains until curl no longer needs it. If the data isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with <a class="bold" href="#CURLFORMCONTENTSLENGTH">CURLFORM_CONTENTSLENGTH</a>.
-<p class="level0"><a name="CURLFORMCONTENTSLENGTH"></a><span class="nroffip">CURLFORM_CONTENTSLENGTH</span>
-<p class="level1">followed by a long giving the length of the contents. Note that for <a class="emphasis" href="#CURLFORMSTREAM">CURLFORM_STREAM</a> contents, this option is mandatory.
-<p class="level0"><a name="CURLFORMFILECONTENT"></a><span class="nroffip">CURLFORM_FILECONTENT</span>
-<p class="level1">followed by a filename, causes that file to be read and its contents used as data in this part. This part does <span Class="emphasis">not</span> automatically become a file upload part simply because its data was read from a file.
-<p class="level0"><a name="CURLFORMFILE"></a><span class="nroffip">CURLFORM_FILE</span>
-<p class="level1">followed by a filename, makes this part a file upload part. It sets the <span Class="emphasis">filename</span> field to the basename of the provided filename, it reads the contents of the file and passes them as data and sets the content-type if the given file match one of the internally known file extensions. For <a class="bold" href="#CURLFORMFILE">CURLFORM_FILE</a> the user may send one or more files in one part by providing multiple <a class="bold" href="#CURLFORMFILE">CURLFORM_FILE</a> arguments each followed by the filename (and each <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a> is allowed to have a <a class="emphasis" href="#CURLFORMCONTENTTYPE">CURLFORM_CONTENTTYPE</a>).
-<p class="level0"><a name="CURLFORMCONTENTTYPE"></a><span class="nroffip">CURLFORM_CONTENTTYPE</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a>. Followed by a pointer to a string which provides the content-type for this part, possibly instead of an internally chosen one.
-<p class="level0"><a name="CURLFORMFILENAME"></a><span class="nroffip">CURLFORM_FILENAME</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a>. Followed by a pointer to a string, it tells libcurl to use the given string as the <span Class="emphasis">filename</span> in the file upload part instead of the actual file name.
-<p class="level0"><a name="CURLFORMBUFFER"></a><span class="nroffip">CURLFORM_BUFFER</span>
-<p class="level1">is used for custom file upload parts without use of <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a>. It tells libcurl that the file contents are already present in a buffer. The parameter is a string which provides the <span Class="emphasis">filename</span> field in the content header.
-<p class="level0"><a name="CURLFORMBUFFERPTR"></a><span class="nroffip">CURLFORM_BUFFERPTR</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMBUFFER">CURLFORM_BUFFER</a>. The parameter is a pointer to the buffer to be uploaded. This buffer must not be freed until after <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> is called. You must also use <a class="emphasis" href="#CURLFORMBUFFERLENGTH">CURLFORM_BUFFERLENGTH</a> to set the number of bytes in the buffer.
-<p class="level0"><a name="CURLFORMBUFFERLENGTH"></a><span class="nroffip">CURLFORM_BUFFERLENGTH</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMBUFFER">CURLFORM_BUFFER</a>. The parameter is a long which gives the length of the buffer.
-<p class="level0"><a name="CURLFORMSTREAM"></a><span class="nroffip">CURLFORM_STREAM</span>
-<p class="level1">Tells libcurl to use the <span Class="emphasis">CURLOPT_READFUNCTION</span> callback to get data. The parameter you pass to <a class="emphasis" href="#CURLFORMSTREAM">CURLFORM_STREAM</a> is the pointer passed on to the read callback's fourth argument. If you want the part to look like a file upload one, set the <a class="emphasis" href="#CURLFORMFILENAME">CURLFORM_FILENAME</a> parameter as well. (Option added in libcurl 7.18.2)
-<p class="level0"><a name="CURLFORMARRAY"></a><span class="nroffip">CURLFORM_ARRAY</span>
-<p class="level1">Another possibility to send options to curl_formadd() is the <a class="bold" href="#CURLFORMARRAY">CURLFORM_ARRAY</a> option, that passes a struct curl_forms array pointer as its value. Each curl_forms structure element has a CURLformoption and a char pointer. The final element in the array must be a CURLFORM_END. All available options can be used in an array, except the CURLFORM_ARRAY option itself! The last argument in such an array must always be <span Class="bold">CURLFORM_END</span>.
-<p class="level0"><a name="CURLFORMCONTENTHEADER"></a><span class="nroffip">CURLFORM_CONTENTHEADER</span>
-<p class="level1">specifies extra headers for the form POST section. This takes a curl_slist prepared in the usual way using <span Class="bold">curl_slist_append</span> and appends the list of headers to those libcurl automatically generates. The list must exist while the POST occurs, if you free it before the post completes you may experience problems.
-<p class="level1">When you've passed the HttpPost pointer to <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> (using the <span Class="emphasis">CURLOPT_HTTPPOST</span> option), you must not free the list until after you've called <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> for the curl handle.
-<p class="level1">See example below. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">0 means everything was ok, non-zero means an error occurred corresponding to a CURL_FORMADD_* constant defined in <span Class="emphasis">&lt;curl/curl.h&gt;</span> <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre>
-<p class="level0"><p class="level0">&nbsp;struct curl_httppost* post = NULL;
- &nbsp;struct curl_httppost* last = NULL;
- &nbsp;char namebuffer[] = "name buffer";
- &nbsp;long namelength = strlen(namebuffer);
- &nbsp;char buffer[] = "test buffer";
- &nbsp;char htmlbuffer[] = "&lt;HTML&gt;test buffer&lt;/HTML&gt;";
- &nbsp;long htmlbufferlength = strlen(htmlbuffer);
- &nbsp;struct curl_forms forms[3];
- &nbsp;char file1[] = "my-face.jpg";
- &nbsp;char file2[] = "your-face.jpg";
- &nbsp;/* add null character into htmlbuffer, to demonstrate that
- &nbsp; transfers of buffers containing null characters actually work
- &nbsp;*/
- &nbsp;htmlbuffer[8] = '\0';
- <p class="level0">&nbsp;/* Add simple name/content section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "name",
- &nbsp; CURLFORM_COPYCONTENTS, "content", CURLFORM_END);
- <p class="level0">&nbsp;/* Add simple name/content/contenttype section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode",
- &nbsp; CURLFORM_COPYCONTENTS, "&lt;HTML&gt;&lt;/HTML&gt;",
- &nbsp; CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
- <p class="level0">&nbsp;/* Add name/ptrcontent section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent",
- &nbsp; CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
- <p class="level0">&nbsp;/* Add ptrname/ptrcontent section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer,
- CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH,
- namelength, CURLFORM_END);
- <p class="level0">&nbsp;/* Add name/ptrcontent/contenttype section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole",
- &nbsp; CURLFORM_PTRCONTENTS, htmlbuffer,
- &nbsp; CURLFORM_CONTENTSLENGTH, htmlbufferlength,
- &nbsp; CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
- <p class="level0">&nbsp;/* Add simple file section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
- &nbsp; CURLFORM_FILE, "my-face.jpg", CURLFORM_END);
- <p class="level0">&nbsp;/* Add file/contenttype section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
- &nbsp; CURLFORM_FILE, "my-face.jpg",
- &nbsp; CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END);
- <p class="level0">&nbsp;/* Add two file section */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
- &nbsp; CURLFORM_FILE, "my-face.jpg",
- &nbsp; CURLFORM_FILE, "your-face.jpg", CURLFORM_END);
- <p class="level0">&nbsp;/* Add two file section using CURLFORM_ARRAY */
- &nbsp;forms[0].option = CURLFORM_FILE;
- &nbsp;forms[0].value = file1;
- &nbsp;forms[1].option = CURLFORM_FILE;
- &nbsp;forms[1].value = file2;
- &nbsp;forms[2].option = CURLFORM_END;
- <p class="level0">&nbsp;/* Add a buffer to upload */
- &nbsp;curl_formadd(&post, &last,
- &nbsp; CURLFORM_COPYNAME, "name",
- &nbsp; CURLFORM_BUFFER, "data",
- &nbsp; CURLFORM_BUFFERPTR, record,
- &nbsp; CURLFORM_BUFFERLENGTH, record_length,
- &nbsp; CURLFORM_END);
- <p class="level0">&nbsp;/* no option needed for the end marker */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
- &nbsp; CURLFORM_ARRAY, forms, CURLFORM_END);
- &nbsp;/* Add the content of a file as a normal post text value */
- &nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent",
- &nbsp; CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END);
- &nbsp;/* Set the form info */
- &nbsp;curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
- <p class="level0"></pre>
-<a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_formfree.html">curl_formfree (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.pdf
deleted file mode 100644
index 49e23c0..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formadd.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.3
deleted file mode 100644
index 31c74e2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.3
+++ /dev/null
@@ -1,20 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_formfree 3 "6 April 2001" "libcurl 7.7.1" "libcurl Manual"
-.SH NAME
-curl_formfree - free a previously build multipart/formdata HTTP POST chain
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "void curl_formfree(struct curl_httppost *" form);
-.ad
-.SH DESCRIPTION
-curl_formfree() is used to clean up data previously built/appended with
-\fIcurl_formadd(3)\fP. This must be called when the data has been used, which
-typically means after the \fIcurl_easy_perform(3)\fP has been called.
-.SH RETURN VALUE
-None
-.SH "SEE ALSO"
-.BR curl_formadd "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.html
deleted file mode 100644
index d46e18d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html><head>
-<title>curl_formfree man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_formfree - free a previously build multipart/formdata HTTP POST chain <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_formfree(struct curl_httppost * form);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_formfree() is used to clean up data previously built/appended with <a class="emphasis" href="./curl_formadd.html">curl_formadd(3)</a>. This must be called when the data has been used, which typically means after the <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> has been called. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">None <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_formadd.html">curl_formadd (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.pdf
deleted file mode 100644
index 080ffc5..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formfree.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.3
deleted file mode 100644
index 4350af3..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.3
+++ /dev/null
@@ -1,49 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_formget 3 "20 June 2006" "libcurl 7.15.5" "libcurl Manual"
-.SH NAME
-curl_formget - serialize a previously build multipart/formdata HTTP POST chain
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "void curl_formget(struct curl_httppost *" form, " void *" arg,
-.BI " curl_formget_callback " append ");"
-.ad
-.SH DESCRIPTION
-curl_formget() is used to serialize data previously built/appended with
-\fIcurl_formadd(3)\fP. Accepts a void pointer as second argument which will be
-passed to the curl_formget_callback function.
-
-.BI "typedef size_t (*curl_formget_callback)(void *" arg, " const char *" buf,
-.BI " size_t " len ");"
-.nf
-
-The curl_formget_callback will be executed for each part of the HTTP POST
-chain. The void *arg pointer will be the one passed as second argument to
-curl_formget(). The character buffer passed to it must not be freed. The
-callback should return the buffer length passed to it on success.
-.SH RETURN VALUE
-0 means everything was ok, non-zero means an error occurred
-.SH EXAMPLE
-.nf
-
- size_t print_httppost_callback(void *arg, const char *buf, size_t len)
- {
- fwrite(buf, len, 1, stdout);
- (*(size_t *) arg) += len;
- return len;
- }
- size_t print_httppost(struct curl_httppost *post)
- {
- size_t total_size = 0;
- if(curl_formget(post, &total_size, print_httppost_callback)) {
- return (size_t) -1;
- }
- return total_size;
- }
-.SH AVAILABILITY
-This function was added in libcurl 7.15.5
-.SH "SEE ALSO"
-.BR curl_formadd "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.html
deleted file mode 100644
index 4f1afa3..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html><head>
-<title>curl_formget man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_formget - serialize a previously build multipart/formdata HTTP POST chain <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_formget(struct curl_httppost * form, void * arg,</span> <span Class="bold"> curl_formget_callback append );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_formget() is used to serialize data previously built/appended with <a class="emphasis" href="./curl_formadd.html">curl_formadd(3)</a>. Accepts a void pointer as second argument which will be passed to the curl_formget_callback function.
-<p class="level0"><span Class="bold">typedef size_t (*curl_formget_callback)(void * arg, const char * buf,</span> <span Class="bold"> size_t len );</span> <pre>
-<p class="level0"><p class="level0">The curl_formget_callback will be executed for each part of the HTTP POST
- chain. The void *arg pointer will be the one passed as second argument to
- curl_formget(). The character buffer passed to it must not be freed. The
- callback should return the buffer length passed to it on success.
- </pre>
-<a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">0 means everything was ok, non-zero means an error occurred <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre>
-<p class="level0"><p class="level0">&nbsp;size_t print_httppost_callback(void *arg, const char *buf, size_t len)
- &nbsp;{
- &nbsp; fwrite(buf, len, 1, stdout);
- &nbsp; (*(size_t *) arg) += len;
- &nbsp; return len;
- &nbsp;}
- &nbsp;size_t print_httppost(struct curl_httppost *post)
- &nbsp;{
- &nbsp; size_t total_size = 0;
- &nbsp; if(curl_formget(post, &total_size, print_httppost_callback)) {
- &nbsp; return (size_t) -1;
- &nbsp; }
- &nbsp; return total_size;
- &nbsp;}
- </pre>
-<a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.5 <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_formadd.html">curl_formadd (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.pdf
deleted file mode 100644
index eae0b86..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_formget.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.3
deleted file mode 100644
index faa1066..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.3
+++ /dev/null
@@ -1,18 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id:
-.\"
-.TH curl_free 3 "12 Aug 2003" "libcurl 7.10" "libcurl Manual"
-.SH NAME
-curl_free - reclaim memory that has been obtained through a libcurl call
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "void curl_free( char *" ptr " );"
-.ad
-.SH DESCRIPTION
-curl_free reclaims memory that has been obtained through a libcurl call. Use
-curl_free() instead of free() to avoid anomalies that can result from
-differences in memory management between your application and libcurl.
-.SH "SEE ALSO"
-.I curl_unescape(3)
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.html
deleted file mode 100644
index 4bffdc1..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<html><head>
-<title>curl_free man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_free - reclaim memory that has been obtained through a libcurl call <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_free( char * ptr );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_free reclaims memory that has been obtained through a libcurl call. Use curl_free() instead of free() to avoid anomalies that can result from differences in memory management between your application and libcurl. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="emphasis" href="./curl_unescape.html">curl_unescape(3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.pdf
deleted file mode 100644
index 78529d7..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_free.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.3
deleted file mode 100644
index 0cd26e6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.3
+++ /dev/null
@@ -1,100 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_getdate 3 "12 Aug 2005" "libcurl 7.0" "libcurl Manual"
-.SH NAME
-curl_getdate - Convert an date string to number of seconds since January 1,
-1970
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "time_t curl_getdate(char *" datestring ", time_t *"now " );"
-.ad
-.SH DESCRIPTION
-This function returns the number of seconds since January 1st 1970 in the UTC
-time zone, for the date and time that the \fIdatestring\fP parameter
-specifies. The \fInow\fP parameter is not used, pass a NULL there.
-
-\fBNOTE:\fP This function was rewritten for the 7.12.2 release and this
-documentation covers the functionality of the new one. The new one is not
-feature-complete with the old one, but most of the formats supported by the
-new one was supported by the old too.
-.SH PARSING DATES AND TIMES
-A "date" is a string containing several items separated by whitespace. The
-order of the items is immaterial. A date string may contain many flavors of
-items:
-.TP 0.8i
-.B calendar date items
-Can be specified several ways. Month names can only be three-letter english
-abbrivations, numbers can be zero-prefixed and the year may use 2 or 4 digits.
-Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6.
-.TP
-.B time of the day items
-This string specifies the time on a given day. You must specify it with 6
-digits with two colons: HH:MM:SS. To not include the time in a date string,
-will make the function assume 00:00:00. Example: 18:19:21.
-.TP
-.B time zone items
-Specifies international time zone. There are a few acronyms supported, but in
-general you should instead use the specific relative time compared to
-UTC. Supported formats include: -1200, MST, +0100.
-.TP
-.B day of the week items
-Specifies a day of the week. Days of the week may be spelled out in full
-(using english): `Sunday', `Monday', etc or they may be abbreviated to their
-first three letters. This is usually not info that adds anything.
-.TP
-.B pure numbers
-If a decimal number of the form YYYYMMDD appears, then YYYY is read as the
-year, MM as the month number and DD as the day of the month, for the specified
-calendar date.
-.PP
-.SH EXAMPLES
-.nf
-Sun, 06 Nov 1994 08:49:37 GMT
-Sunday, 06-Nov-94 08:49:37 GMT
-Sun Nov 6 08:49:37 1994
-06 Nov 1994 08:49:37 GMT
-06-Nov-94 08:49:37 GMT
-Nov 6 08:49:37 1994
-06 Nov 1994 08:49:37
-06-Nov-94 08:49:37
-1994 Nov 6 08:49:37
-GMT 08:49:37 06-Nov-94 Sunday
-94 6 Nov 08:49:37
-1994 Nov 6
-06-Nov-94
-Sun Nov 6 94
-1994.Nov.6
-Sun/Nov/6/94/GMT
-Sun, 06 Nov 1994 08:49:37 CET
-06 Nov 1994 08:49:37 EST
-Sun, 12 Sep 2004 15:05:58 -0700
-Sat, 11 Sep 2004 21:32:11 +0200
-20040912 15:05:58 -0700
-20040911 +0200
-.fi
-.SH STANDARDS
-This parser was written to handle date formats specified in RFC 822 (including
-the update in RFC 1123) using time zone name or time zone delta and RFC 850
-(obsoleted by RFC 1036) and ANSI C's asctime() format. These formats are the
-only ones RFC2616 says HTTP applications may use.
-.SH RETURN VALUE
-This function returns -1 when it fails to parse the date string. Otherwise it
-returns the number of seconds as described.
-
-If the year is larger than 2037 on systems with 32 bit time_t, this function
-will return 0x7fffffff (since that is the largest possible signed 32 bit
-number).
-
-Having a 64 bit time_t is not a guarantee that dates beyond 03:14:07 UTC,
-January 19, 2038 will work fine. On systems with a 64 bit time_t but with a
-crippled mktime(), \fIcurl_getdate\fP will return -1 in this case.
-.SH REWRITE
-The former version of this function was built with yacc and was not only very
-large, it was also never quite understood and it wasn't possible to build with
-non-GNU tools since only GNU Bison could make it thread-safe!
-
-The rewrite was done for 7.12.2. The new one is much smaller and use simpler
-code.
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.html
deleted file mode 100644
index 6b389d8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<html><head>
-<title>curl_getdate man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_getdate - Convert an date string to number of seconds since January 1, 1970 <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">time_t curl_getdate(char * datestring , time_t *now );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function returns the number of seconds since January 1st 1970 in the UTC time zone, for the date and time that the <span Class="emphasis">datestring</span> parameter specifies. The <span Class="emphasis">now</span> parameter is not used, pass a NULL there.
-<p class="level0"><span Class="bold">NOTE:</span> This function was rewritten for the 7.12.2 release and this documentation covers the functionality of the new one. The new one is not feature-complete with the old one, but most of the formats supported by the new one was supported by the old too. <a name="PARSING"></a><h2 class="nroffsh">PARSING DATES AND TIMES</h2>
-<p class="level0">A "date" is a string containing several items separated by whitespace. The order of the items is immaterial. A date string may contain many flavors of items:
-<p class="level0"><span Class="bold">calendar date items</span> Can be specified several ways. Month names can only be three-letter english abbrivations, numbers can be zero-prefixed and the year may use 2 or 4 digits. Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6.
-<p class="level0"><span Class="bold">time of the day items</span> This string specifies the time on a given day. You must specify it with 6 digits with two colons: HH:MM:SS. To not include the time in a date string, will make the function assume 00:00:00. Example: 18:19:21.
-<p class="level0"><span Class="bold">time zone items</span> Specifies international time zone. There are a few acronyms supported, but in general you should instead use the specific relative time compared to UTC. Supported formats include: -1200, MST, +0100.
-<p class="level0"><span Class="bold">day of the week items</span> Specifies a day of the week. Days of the week may be spelled out in full (using english): `Sunday', `Monday', etc or they may be abbreviated to their first three letters. This is usually not info that adds anything.
-<p class="level0"><span Class="bold">pure numbers</span> If a decimal number of the form YYYYMMDD appears, then YYYY is read as the year, MM as the month number and DD as the day of the month, for the specified calendar date.
-<p class="level0"><a name="EXAMPLES"></a><h2 class="nroffsh">EXAMPLES</h2>
-<p class="level0"><pre>
-<p class="level0">Sun, 06 Nov 1994 08:49:37 GMT
- Sunday, 06-Nov-94 08:49:37 GMT
- Sun Nov 6 08:49:37 1994
- 06 Nov 1994 08:49:37 GMT
- 06-Nov-94 08:49:37 GMT
- Nov 6 08:49:37 1994
- 06 Nov 1994 08:49:37
- 06-Nov-94 08:49:37
- 1994 Nov 6 08:49:37
- GMT 08:49:37 06-Nov-94 Sunday
- 94 6 Nov 08:49:37
- 1994 Nov 6
- 06-Nov-94
- Sun Nov 6 94
- 1994.Nov.6
- Sun/Nov/6/94/GMT
- Sun, 06 Nov 1994 08:49:37 CET
- 06 Nov 1994 08:49:37 EST
- Sun, 12 Sep 2004 15:05:58 -0700
- Sat, 11 Sep 2004 21:32:11 +0200
- 20040912 15:05:58 -0700
- 20040911 +0200
- </pre>
-
-<p class="level0"><a name="STANDARDS"></a><h2 class="nroffsh">STANDARDS</h2>
-<p class="level0">This parser was written to handle date formats specified in RFC 822 (including the update in RFC 1123) using time zone name or time zone delta and RFC 850 (obsoleted by RFC 1036) and ANSI C's asctime() format. These formats are the only ones RFC2616 says HTTP applications may use. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">This function returns -1 when it fails to parse the date string. Otherwise it returns the number of seconds as described.
-<p class="level0">If the year is larger than 2037 on systems with 32 bit time_t, this function will return 0x7fffffff (since that is the largest possible signed 32 bit number).
-<p class="level0">Having a 64 bit time_t is not a guarantee that dates beyond 03:14:07 UTC, January 19, 2038 will work fine. On systems with a 64 bit time_t but with a crippled mktime(), <span Class="emphasis">curl_getdate</span> will return -1 in this case. <a name="REWRITE"></a><h2 class="nroffsh">REWRITE</h2>
-<p class="level0">The former version of this function was built with yacc and was not only very large, it was also never quite understood and it wasn't possible to build with non-GNU tools since only GNU Bison could make it thread-safe!
-<p class="level0">The rewrite was done for 7.12.2. The new one is much smaller and use simpler code. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.pdf
deleted file mode 100644
index 961106f..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getdate.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.3
deleted file mode 100644
index 37a5979..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.3
+++ /dev/null
@@ -1,30 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_getenv 3 "30 April 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_getenv - return value for environment name
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "char *curl_getenv(const char *" name ");"
-.ad
-.SH DESCRIPTION
-curl_getenv() is a portable wrapper for the getenv() function, meant to
-emulate its behaviour and provide an identical interface for all operating
-systems libcurl builds on (including win32).
-.SH AVAILABILITY
-This function will be removed from the public libcurl API in a near future. It
-will instead be made "available" by source code access only, and then as
-curlx_getenv().
-.SH RETURN VALUE
-If successful, curl_getenv() returns a pointer to the value of the specified
-environment. The memory it refers to is malloc()ed so the application must
-free() this when the data is no longer needed. When \fIcurl_getenv(3)\fP fails
-to find the specified name, it returns a null pointer.
-.SH NOTE
-Under unix operating systems, there isn't any point in returning an allocated
-memory, although other systems won't work properly if this isn't done. The
-unix implementation thus have to suffer slightly from the drawbacks of other
-systems.
-.SH "SEE ALSO"
-.BR getenv "(3C), "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.html
deleted file mode 100644
index 351a512..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html><head>
-<title>curl_getenv man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_getenv - return value for environment name <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_getenv(const char * name );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_getenv() is a portable wrapper for the getenv() function, meant to emulate its behaviour and provide an identical interface for all operating systems libcurl builds on (including win32). <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function will be removed from the public libcurl API in a near future. It will instead be made "available" by source code access only, and then as curlx_getenv(). <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If successful, curl_getenv() returns a pointer to the value of the specified environment. The memory it refers to is malloc()ed so the application must free() this when the data is no longer needed. When <a class="emphasis" href="./curl_getenv.html">curl_getenv(3)</a> fails to find the specified name, it returns a null pointer. <a name="NOTE"></a><h2 class="nroffsh">NOTE</h2>
-<p class="level0">Under unix operating systems, there isn't any point in returning an allocated memory, although other systems won't work properly if this isn't done. The unix implementation thus have to suffer slightly from the drawbacks of other systems. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">getenv (3C)</span> <span Class="manpage"> </span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.pdf
deleted file mode 100644
index 7de65c5..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_getenv.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.3
deleted file mode 100644
index 4cb13a7..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.3
+++ /dev/null
@@ -1,32 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_global_cleanup 3 "17 Feb 2006" "libcurl 7.8" "libcurl Manual"
-.SH NAME
-curl_global_cleanup - global libcurl cleanup
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "void curl_global_cleanup(void);"
-.ad
-.SH DESCRIPTION
-This function releases resources acquired by \fBcurl_global_init(3)\fP.
-
-You should call \fIcurl_global_cleanup(3)\fP once for each call you make to
-\fIcurl_global_init(3)\fP, after you are done using libcurl.
-
-\fBThis function is not thread safe.\fP You must not call it when any other
-thread in the program (i.e. a thread sharing the same memory) is running.
-This doesn't just mean no other thread that is using libcurl. Because
-\fBcurl_global_cleanup(3)\fP calls functions of other libraries that are
-similarly thread unsafe, it could conflict with any other thread that uses
-these other libraries.
-
-See the description in \fBlibcurl(3)\fP of global environment requirements for
-details of how to use this function.
-
-.SH "SEE ALSO"
-.BR curl_global_init "(3), "
-.BR libcurl "(3), "
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.html
deleted file mode 100644
index ac8cad8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_global_cleanup man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_global_cleanup - global libcurl cleanup <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_global_cleanup(void);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function releases resources acquired by <a class="bold" href="./curl_global_init.html">curl_global_init(3)</a>.
-<p class="level0">You should call <a class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup(3)</a> once for each call you make to <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a>, after you are done using libcurl.
-<p class="level0"><span Class="bold">This function is not thread safe.</span> You must not call it when any other thread in the program (i.e. a thread sharing the same memory) is running. This doesn't just mean no other thread that is using libcurl. Because <a class="bold" href="./curl_global_cleanup.html">curl_global_cleanup(3)</a> calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries.
-<p class="level0">See the description in <a class="bold" href="./libcurl.html">libcurl(3)</a> of global environment requirements for details of how to use this function.
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_global_init.html">curl_global_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./libcurl.html">libcurl (3)</a> <span Class="manpage"> </span>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.pdf
deleted file mode 100644
index be851c6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.3
deleted file mode 100644
index ba15ad4..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.3
+++ /dev/null
@@ -1,59 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_global_init 3 "11 May 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_global_init - Global libcurl initialisation
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLcode curl_global_init(long " flags ");"
-.ad
-.SH DESCRIPTION
-This function sets up the program environment that libcurl needs. Think of it
-as an extension of the library loader.
-
-This function must be called at least once within a program (a program is all
-the code that shares a memory space) before the program calls any other
-function in libcurl. The environment it sets up is constant for the life of
-the program and is the same for every program, so multiple calls have the same
-effect as one call.
-
-The flags option is a bit pattern that tells libcurl exactly what features to
-init, as described below. Set the desired bits by ORing the values together.
-In normal operation, you must specify CURL_GLOBAL_ALL. Don't use any other
-value unless you are familiar with and mean to control internal operations of
-libcurl.
-
-\fBThis function is not thread safe.\fP You must not call it when any other
-thread in the program (i.e. a thread sharing the same memory) is running.
-This doesn't just mean no other thread that is using libcurl. Because
-\fIcurl_global_init()\fP calls functions of other libraries that are similarly
-thread unsafe, it could conflict with any other thread that uses these other
-libraries.
-
-See the description in \fBlibcurl\fP(3) of global environment requirements for
-details of how to use this function.
-
-.SH FLAGS
-.TP 5
-.B CURL_GLOBAL_ALL
-Initialize everything possible. This sets all known bits.
-.TP
-.B CURL_GLOBAL_SSL
-Initialize SSL
-.TP
-.B CURL_GLOBAL_WIN32
-Initialize the Win32 socket libraries.
-.TP
-.B CURL_GLOBAL_NOTHING
-Initialise nothing extra. This sets no bit.
-.SH RETURN VALUE
-If this function returns non-zero, something went wrong and you cannot use the
-other curl functions.
-.SH "SEE ALSO"
-.BR curl_global_init_mem "(3), "
-.BR curl_global_cleanup "(3), "
-.BR curl_easy_init "(3) "
-.BR libcurl "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.html
deleted file mode 100644
index 5f73919..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html><head>
-<title>curl_global_init man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_global_init - Global libcurl initialisation <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_global_init(long flags );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function sets up the program environment that libcurl needs. Think of it as an extension of the library loader.
-<p class="level0">This function must be called at least once within a program (a program is all the code that shares a memory space) before the program calls any other function in libcurl. The environment it sets up is constant for the life of the program and is the same for every program, so multiple calls have the same effect as one call.
-<p class="level0">The flags option is a bit pattern that tells libcurl exactly what features to init, as described below. Set the desired bits by ORing the values together. In normal operation, you must specify CURL_GLOBAL_ALL. Don't use any other value unless you are familiar with and mean to control internal operations of libcurl.
-<p class="level0"><span Class="bold">This function is not thread safe.</span> You must not call it when any other thread in the program (i.e. a thread sharing the same memory) is running. This doesn't just mean no other thread that is using libcurl. Because <span Class="emphasis">curl_global_init()</span> calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries.
-<p class="level0">See the description in <span Class="bold">libcurl</span>(3) of global environment requirements for details of how to use this function.
-<p class="level0"><a name="FLAGS"></a><h2 class="nroffsh">FLAGS</h2>
-<p class="level0">
-<p class="level0"><span Class="bold">CURL_GLOBAL_ALL</span> Initialize everything possible. This sets all known bits.
-<p class="level0"><span Class="bold">CURL_GLOBAL_SSL</span> Initialize SSL
-<p class="level0"><span Class="bold">CURL_GLOBAL_WIN32</span> Initialize the Win32 socket libraries.
-<p class="level0"><span Class="bold">CURL_GLOBAL_NOTHING</span> Initialise nothing extra. This sets no bit. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns non-zero, something went wrong and you cannot use the other curl functions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_global_init_mem.html">curl_global_init_mem (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_global_cleanup.html">curl_global_cleanup (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_easy_init.html">curl_easy_init (3) </a> <a class="manpage" href="./libcurl.html">libcurl (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.pdf
deleted file mode 100644
index b98ba32..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.3
deleted file mode 100644
index 57ae6ae..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.3
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\"
-.TH curl_global_init_mem 3 "10 May 2004" "libcurl 7.12.0" "libcurl Manual"
-.SH NAME
-curl_global_init_mem - Global libcurl initialisation with memory callbacks
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.nf
-.B "CURLcode curl_global_init_mem(long " flags,
-.B " curl_malloc_callback "m,
-.B " curl_free_callback "f,
-.B " curl_realloc_callback "r,
-.B " curl_strdup_callback "s,
-.B " curl_calloc_callback "c ");"
-.SH DESCRIPTION
-This function works exactly as \fIcurl_global_init(3)\fP with one addition: it
-allows the application to set callbacks to replace the otherwise used internal
-memory functions.
-
-This man page only adds documentation for the callbacks, see the
-\fIcurl_global_init(3)\fP man page for all the rest. When you use this
-function, all callback arguments must be set to valid function pointers.
-
-The prototypes for the given callbacks should match these:
-.IP "void *malloc_callback(size_t size);"
-To replace malloc()
-.IP "void free_callback(void *ptr);"
-To replace free()
-.IP "void *realloc_callback(void *ptr, size_t size);"
-To replace realloc()
-.IP "char *strdup_callback(const char *str);"
-To replace strdup()
-.IP "void *calloc_callback(size_t nmemb, size_t size);"
-To replace calloc()
-.SH "CAUTION"
-Manipulating these gives considerable powers to the application to severly
-screw things up for libcurl. Take care!
-.SH "SEE ALSO"
-.BR curl_global_init "(3), "
-.BR curl_global_cleanup "(3), "
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.html
deleted file mode 100644
index 055d9db..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<html><head>
-<title>curl_global_init_mem man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_global_init_mem - Global libcurl initialisation with memory callbacks <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span> <pre>
-<p class="level0"><span Class="bold">CURLcode curl_global_init_mem(long flags,</span>
-<span Class="bold"> curl_malloc_callback m,</span>
-<span Class="bold"> curl_free_callback f,</span>
-<span Class="bold"> curl_realloc_callback r,</span>
-<span Class="bold"> curl_strdup_callback s,</span>
-<span Class="bold"> curl_calloc_callback c );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function works exactly as <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> with one addition: it allows the application to set callbacks to replace the otherwise used internal memory functions.
-<p class="level0">This man page only adds documentation for the callbacks, see the <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> man page for all the rest. When you use this function, all callback arguments must be set to valid function pointers.
-<p class="level0">The prototypes for the given callbacks should match these:
-<p class="level0"><a name="void"></a><span class="nroffip">void *malloc_callback(size_t size);</span>
-<p class="level1">To replace malloc()
-<p class="level0"><a name="void"></a><span class="nroffip">void free_callback(void *ptr);</span>
-<p class="level1">To replace free()
-<p class="level0"><a name="void"></a><span class="nroffip">void *realloc_callback(void *ptr, size_t size);</span>
-<p class="level1">To replace realloc()
-<p class="level0"><a name="char"></a><span class="nroffip">char *strdup_callback(const char *str);</span>
-<p class="level1">To replace strdup()
-<p class="level0"><a name="void"></a><span class="nroffip">void *calloc_callback(size_t nmemb, size_t size);</span>
-<p class="level1">To replace calloc() <a name="CAUTION"></a><h2 class="nroffsh">CAUTION</h2>
-<p class="level0">Manipulating these gives considerable powers to the application to severly screw things up for libcurl. Take care! <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_global_init.html">curl_global_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_global_cleanup.html">curl_global_cleanup (3)</a> <span Class="manpage"> </span>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.pdf
deleted file mode 100644
index cdf1b59..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_global_init_mem.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.3
deleted file mode 100644
index c7c7d59..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.3
+++ /dev/null
@@ -1,90 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_printf 3 "30 April 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
-curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf,
-curl_mvsprintf - formatted output conversion
-.SH SYNOPSIS
-.B #include <curl/mprintf.h>
-.sp
-.BI "int curl_mprintf(const char *" format ", ...);"
-.br
-.BI "int curl_mfprintf(FILE *" fd ", const char *" format ", ...);"
-.br
-.BI "int curl_msprintf(char *" buffer ", const char *" format ", ...);"
-.br
-.BI "int curl_msnprintf(char *" buffer ", size_t " maxlength ", const char *" format ", ...);"
-.br
-.BI "int curl_mvprintf(const char *" format ", va_list " args ");"
-.br
-.BI "int curl_mvfprintf(FILE *" fd ", const char *" format ", va_list " args ");"
-.br
-.BI "int curl_mvsprintf(char *" buffer ", const char *" format ", va_list " args ");"
-.br
-.BI "int curl_mvsnprintf(char *" buffer ", size_t " maxlength ", const char *" format ", va_list " args ");"
-.br
-.BI "char *curl_maprintf(const char *" format ", ...);"
-.br
-.BI "char *curl_mvaprintf(const char *" format ", va_list " args ");"
-.SH DESCRIPTION
-These are all functions that produces output according to a format string and
-given arguments. These are mostly clones of the well-known C-style functions
-and there will be no detailed explanation of all available formatting rules
-and usage here.
-
-See this table for notable exceptions.
-.RS
-.TP
-.B curl_mprintf()
-Normal printf() clone.
-.TP
-.B curl_mfprintf()
-Normal fprintf() clone.
-.TP
-.B curl_msprintf()
-Normal sprintf() clone.
-.TP
-.B curl_msnprintf()
-snprintf() clone. Many systems don't have this. It is just like \fBsprintf\fP
-but with an extra argument after the buffer that specifies the length of the
-target buffer.
-.TP
-.B curl_mvprintf()
-Normal vprintf() clone.
-.TP
-.B curl_mvfprintf()
-Normal vfprintf() clone.
-.TP
-.B curl_mvsprintf()
-Normal vsprintf() clone.
-.TP
-.B curl_mvsnprintf()
-vsnprintf() clone. Many systems don't have this. It is just like
-\fBvsprintf\fP but with an extra argument after the buffer that specifies the
-length of the target buffer.
-.TP
-.B curl_maprintf()
-Like printf() but returns the output string as a malloc()ed string. The
-returned string must be free()ed by the receiver.
-.TP
-.B curl_mvaprintf()
-Like curl_maprintf() but takes a va_list pointer argument instead of a
-variable amount of arguments.
-.RE
-
-To easily use all these cloned functions instead of the normal ones, #define
-_MPRINTF_REPLACE before you include the <curl/mprintf.h> file. Then all the
-normal names like printf, fprintf, sprintf etc will use the curl-functions
-instead.
-.SH AVAILABILITY
-These function will be removed from the public libcurl API in a near
-future. They will instead be made "available" by source code access only, and
-then as curlx_-prefixed functions. See lib/README.curlx for further details.
-.SH RETURN VALUE
-The \fBcurl_maprintf\fP and \fBcurl_mvaprintf\fP functions return a pointer to
-a newly allocated string, or NULL it it failed.
-
-All other functions return the number of character they actually outputed.
-.SH "SEE ALSO"
-.BR printf "(3), " sprintf "(3), " fprintf "(3), " vprintf "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.html
deleted file mode 100644
index e162e72..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<html><head>
-<title>curl_printf man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvsprintf - formatted output conversion <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/mprintf.h&gt;</span>
-<p class="level0"><span Class="bold">int curl_mprintf(const char * format , ...);</span> <br><span Class="bold">int curl_mfprintf(FILE * fd , const char * format , ...);</span> <br><span Class="bold">int curl_msprintf(char * buffer , const char * format , ...);</span> <br><span Class="bold">int curl_msnprintf(char * buffer , size_t maxlength , const char * format , ...);</span> <br><span Class="bold">int curl_mvprintf(const char * format , va_list args );</span> <br><span Class="bold">int curl_mvfprintf(FILE * fd , const char * format , va_list args );</span> <br><span Class="bold">int curl_mvsprintf(char * buffer , const char * format , va_list args );</span> <br><span Class="bold">int curl_mvsnprintf(char * buffer , size_t maxlength , const char * format , va_list args );</span> <br><span Class="bold">char *curl_maprintf(const char * format , ...);</span> <br><span Class="bold">char *curl_mvaprintf(const char * format , va_list args );</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">These are all functions that produces output according to a format string and given arguments. These are mostly clones of the well-known C-style functions and there will be no detailed explanation of all available formatting rules and usage here.
-<p class="level0">See this table for notable exceptions.
-<p class="level1">
-<p class="level1"><span Class="bold">curl_mprintf()</span> Normal printf() clone.
-<p class="level1"><span Class="bold">curl_mfprintf()</span> Normal fprintf() clone.
-<p class="level1"><span Class="bold">curl_msprintf()</span> Normal sprintf() clone.
-<p class="level1"><span Class="bold">curl_msnprintf()</span> snprintf() clone. Many systems don't have this. It is just like <span Class="bold">sprintf</span> but with an extra argument after the buffer that specifies the length of the target buffer.
-<p class="level1"><span Class="bold">curl_mvprintf()</span> Normal vprintf() clone.
-<p class="level1"><span Class="bold">curl_mvfprintf()</span> Normal vfprintf() clone.
-<p class="level1"><span Class="bold">curl_mvsprintf()</span> Normal vsprintf() clone.
-<p class="level1"><span Class="bold">curl_mvsnprintf()</span> vsnprintf() clone. Many systems don't have this. It is just like <span Class="bold">vsprintf</span> but with an extra argument after the buffer that specifies the length of the target buffer.
-<p class="level1"><span Class="bold">curl_maprintf()</span> Like printf() but returns the output string as a malloc()ed string. The returned string must be free()ed by the receiver.
-<p class="level1"><span Class="bold">curl_mvaprintf()</span> Like curl_maprintf() but takes a va_list pointer argument instead of a variable amount of arguments.
-<p class="level0">
-<p class="level0">To easily use all these cloned functions instead of the normal ones, #define _MPRINTF_REPLACE before you include the &lt;curl/mprintf.h&gt; file. Then all the normal names like printf, fprintf, sprintf etc will use the curl-functions instead. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">These function will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_-prefixed functions. See lib/README.curlx for further details. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">The <span Class="bold">curl_maprintf</span> and <span Class="bold">curl_mvaprintf</span> functions return a pointer to a newly allocated string, or NULL it it failed.
-<p class="level0">All other functions return the number of character they actually outputed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">printf (3)</span> <span Class="manpage"> sprintf (3)</span> <span Class="manpage"> fprintf (3)</span> <span Class="manpage"> vprintf (3) </span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.pdf
deleted file mode 100644
index a01eafa..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_mprintf.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.3
deleted file mode 100644
index 1553b4e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.3
+++ /dev/null
@@ -1,38 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_add_handle 3 "4 March 2002" "libcurl 7.9.5" "libcurl Manual"
-.SH NAME
-curl_multi_add_handle - add an easy handle to a multi session
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);
-.ad
-.SH DESCRIPTION
-Adds a standard easy handle to the multi stack. This function call will make
-this \fImulti_handle\fP control the specified \fIeasy_handle\fP.
-Furthermore, libcurl now initiates the connection associated with the
-specified \fIeasy_handle\fP.
-
-When an easy handle has been added to a multi stack, you can not and you must
-not use \fIcurl_easy_perform(3)\fP on that handle!
-
-If the easy handle is not set to use a shared (CURLOPT_SHARE) or global DNS
-cache (CURLOPT_DNS_USE_GLOBAL_CACHE), it will be made to use the DNS cache
-that is shared between all easy handles within the multi handle when
-\fIcurl_multi_add_handle(3)\fP is called.
-
-The easy handle will remain added until you remove it again with
-\fIcurl_multi_remove_handle(3)\fP. You should remove the easy handle from the
-multi stack before you terminate first the easy handle and then the multi
-handle:
-
-1 - \fIcurl_multi_remove_handle(3)\fP
-
-2 - \fIcurl_easy_cleanup(3)\fP
-
-3 - \fIcurl_multi_cleanup(3)\fP
-.SH RETURN VALUE
-CURLMcode type, general libcurl multi interface error code.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3)," curl_multi_init "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.html
deleted file mode 100644
index 75ca271..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><head>
-<title>curl_multi_add_handle man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_add_handle - add an easy handle to a multi session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Adds a standard easy handle to the multi stack. This function call will make this <span Class="emphasis">multi_handle</span> control the specified <span Class="emphasis">easy_handle</span>. Furthermore, libcurl now initiates the connection associated with the specified <span Class="emphasis">easy_handle</span>.
-<p class="level0">When an easy handle has been added to a multi stack, you can not and you must not use <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> on that handle!
-<p class="level0">If the easy handle is not set to use a shared (CURLOPT_SHARE) or global DNS cache (CURLOPT_DNS_USE_GLOBAL_CACHE), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when <a class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle(3)</a> is called.
-<p class="level0">The easy handle will remain added until you remove it again with <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a>. You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle:
-<p class="level0">1 - <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a>
-<p class="level0">2 - <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>
-<p class="level0">3 - <a class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup(3)</a> <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.pdf
deleted file mode 100644
index af00fc2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_add_handle.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.3
deleted file mode 100644
index cb47a5e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.3
+++ /dev/null
@@ -1,44 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_assign 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
-.SH NAME
-curl_multi_assign \- set data to associated with an internal socket
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd,
- void *sockptr);
-.SH DESCRIPTION
-This function assigns an association in the multi handle between the given
-socket and a private pointer of the application. This is (only) useful for
-\fIcurl_multi_socket(3)\fP uses.
-
-When set, the \fIsockptr\fP pointer will be passed to all future socket
-callbacks for the specific \fIsockfd\fP socket.
-
-If the given \fIsockfd\fP isn't already in use by libcurl, this function will
-return an error.
-
-libcurl only keeps one single pointer associated with a socket, so calling
-this function several times for the same socket will make the last set pointer
-get used.
-
-The idea here being that this association (socket to private pointer) is
-something that just about every application that uses this API will need and
-then libcurl can just as well do it since it already has an internal hash
-table lookup for this.
-.SH "RETURN VALUE"
-The standard CURLMcode for multi interface error codes.
-.SH "TYPICAL USAGE"
-In a typical application you allocate a struct or at least use some kind of
-semi-dynamic data for each socket that we must wait for action on when using
-the \fIcurl_multi_socket(3)\fP approach.
-
-When our socket-callback get called by libcurl and we get to know about yet
-another socket to wait for, we can use \fIcurl_multi_assign(3)\fP to point out
-the particular data so that when we get updates about this same socket again,
-we don't have to find the struct associated with this socket by ourselves.
-.SH AVAILABILITY
-This function was added in libcurl 7.15.5, although not deemed stable yet.
-.SH "SEE ALSO"
-.BR curl_multi_setopt "(3), " curl_multi_socket "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.html
deleted file mode 100644
index 23e1c5d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><head>
-<title>curl_multi_assign man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_assign - set data to associated with an internal socket <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, &nbsp; void *sockptr); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function assigns an association in the multi handle between the given socket and a private pointer of the application. This is (only) useful for <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> uses.
-<p class="level0">When set, the <span Class="emphasis">sockptr</span> pointer will be passed to all future socket callbacks for the specific <span Class="emphasis">sockfd</span> socket.
-<p class="level0">If the given <span Class="emphasis">sockfd</span> isn't already in use by libcurl, this function will return an error.
-<p class="level0">libcurl only keeps one single pointer associated with a socket, so calling this function several times for the same socket will make the last set pointer get used.
-<p class="level0">The idea here being that this association (socket to private pointer) is something that just about every application that uses this API will need and then libcurl can just as well do it since it already has an internal hash table lookup for this. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">The standard CURLMcode for multi interface error codes. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">In a typical application you allocate a struct or at least use some kind of semi-dynamic data for each socket that we must wait for action on when using the <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> approach.
-<p class="level0">When our socket-callback get called by libcurl and we get to know about yet another socket to wait for, we can use <a class="emphasis" href="./curl_multi_assign.html">curl_multi_assign(3)</a> to point out the particular data so that when we get updates about this same socket again, we don't have to find the struct associated with this socket by ourselves. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.5, although not deemed stable yet. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_setopt.html">curl_multi_setopt (3)</a> <a class="manpage" href="./curl_multi_socket.html"> curl_multi_socket (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.pdf
deleted file mode 100644
index 57c87b8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_assign.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.3
deleted file mode 100644
index 128c03a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.3
+++ /dev/null
@@ -1,27 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_cleanup 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual"
-.SH NAME
-curl_multi_cleanup - close down a multi session
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLMcode curl_multi_cleanup( CURLM *multi_handle );"
-.ad
-.SH DESCRIPTION
-Cleans up and removes a whole multi stack. It does not free or touch any
-individual easy handles in any way - they still need to be closed
-individually, using the usual \fIcurl_easy_cleanup(3)\fP way. The order of
-cleaning up should be:
-
-1 - \fIcurl_multi_remove_handle(3)\fP before any easy handles are cleaned up
-
-2 - \fIcurl_easy_cleanup(3)\fP can now be called independently since the easy
-handle is no longer connected to the multi handle
-
-3 - \fIcurl_multi_cleanup(3)\fP should be called when all easy handles are
-removed
-.SH RETURN VALUE
-CURLMcode type, general libcurl multi interface error code.
-.SH "SEE ALSO"
-.BR curl_multi_init "(3)," curl_easy_cleanup "(3)," curl_easy_init "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.html
deleted file mode 100644
index 40381fd..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_multi_cleanup man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_cleanup - close down a multi session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLMcode curl_multi_cleanup( CURLM *multi_handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Cleans up and removes a whole multi stack. It does not free or touch any individual easy handles in any way - they still need to be closed individually, using the usual <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> way. The order of cleaning up should be:
-<p class="level0">1 - <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a> before any easy handles are cleaned up
-<p class="level0">2 - <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> can now be called independently since the easy handle is no longer connected to the multi handle
-<p class="level0">3 - <a class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup(3)</a> should be called when all easy handles are removed <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_init.html">curl_multi_init (3)</a> <a class="manpage" href="./curl_easy_cleanup.html"> curl_easy_cleanup (3)</a> <a class="manpage" href="./curl_easy_init.html"> curl_easy_init (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.pdf
deleted file mode 100644
index c6d684d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.3
deleted file mode 100644
index 5f3cf18..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.3
+++ /dev/null
@@ -1,41 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_fdset 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual"
-.SH NAME
-curl_multi_fdset - extracts file descriptor information from a multi handle
-.SH SYNOPSIS
-.nf
-#include <curl/curl.h>
-
-CURLMcode curl_multi_fdset(CURLM *multi_handle,
- fd_set *read_fd_set,
- fd_set *write_fd_set,
- fd_set *exc_fd_set,
- int *max_fd);
-.ad
-.SH DESCRIPTION
-This function extracts file descriptor information from a given multi_handle.
-libcurl returns its fd_set sets. The application can use these to select() on,
-but be sure to FD_ZERO them before calling this function as
-\fIcurl_multi_fdset(3)\fP only adds its own descriptors it doesn't zero or
-otherwise remove any other. The \fIcurl_multi_perform(3)\fP function should be
-called as soon as one of them are ready to be read from or written to.
-
-If no file descriptors are set by libcurl, \fImax_fd\fP will contain -1 when
-this function returns. Otherwise it will contain the higher descriptor number
-libcurl set.
-
-You should also be aware that when doing select(), you should consider using a
-rather small (single-digit number of seconds) timeout and call
-\fIcurl_multi_perform\fP regularly - even if no activity has been seen on the
-fd_sets - as otherwise libcurl-internal retries and timeouts may not work as
-you'd think and want.
-
-Starting with libcurl 7.16.0, you should use \fBcurl_multi_timeout\fP to
-figure out how long to wait for action.
-.SH RETURN VALUE
-CURLMcode type, general libcurl multi interface error code. See
-\fIlibcurl-errors(3)\fP
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3)," curl_multi_init "(3), "
-.BR curl_multi_timeout "(3) "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.html
deleted file mode 100644
index 9e78fa6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html><head>
-<title>curl_multi_fdset man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_fdset - extracts file descriptor information from a multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre>
-<p class="level0">#include &lt;curl/curl.h&gt;
- <p class="level0">CURLMcode curl_multi_fdset(CURLM *multi_handle,
- &nbsp; fd_set *read_fd_set,
- &nbsp; fd_set *write_fd_set,
- &nbsp; fd_set *exc_fd_set,
- &nbsp; int *max_fd);
- <p class="level0"></pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function extracts file descriptor information from a given multi_handle. libcurl returns its fd_set sets. The application can use these to select() on, but be sure to FD_ZERO them before calling this function as <a class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset(3)</a> only adds its own descriptors it doesn't zero or otherwise remove any other. The <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> function should be called as soon as one of them are ready to be read from or written to.
-<p class="level0">If no file descriptors are set by libcurl, <span Class="emphasis">max_fd</span> will contain -1 when this function returns. Otherwise it will contain the higher descriptor number libcurl set.
-<p class="level0">You should also be aware that when doing select(), you should consider using a rather small (single-digit number of seconds) timeout and call <span Class="emphasis">curl_multi_perform</span> regularly - even if no activity has been seen on the fd_sets - as otherwise libcurl-internal retries and timeouts may not work as you'd think and want.
-<p class="level0">Starting with libcurl 7.16.0, you should use <span Class="bold">curl_multi_timeout</span> to figure out how long to wait for action. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. See <span Class="emphasis">libcurl-errors(3)</span> <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_multi_timeout.html">curl_multi_timeout (3) </a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.pdf
deleted file mode 100644
index 69ad9ad..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_fdset.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.3
deleted file mode 100644
index 1d97cf9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.3
+++ /dev/null
@@ -1,57 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_info_read 3 "18 Dec 2004" "libcurl 7.10.3" "libcurl Manual"
-.SH NAME
-curl_multi_info_read - read multi stack informationals
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMsg *curl_multi_info_read( CURLM *multi_handle,
- int *msgs_in_queue);
-.ad
-.SH DESCRIPTION
-Ask the multi handle if there are any messages/informationals from the
-individual transfers. Messages may include informationals such as an error
-code from the transfer or just the fact that a transfer is completed. More
-details on these should be written down as well.
-
-Repeated calls to this function will return a new struct each time, until a
-NULL is returned as a signal that there is no more to get at this point. The
-integer pointed to with \fImsgs_in_queue\fP will contain the number of
-remaining messages after this function was called.
-
-When you fetch a message using this function, it is removed from the internal
-queue so calling this function again will not return the same message
-again. It will instead return new messages at each new invoke until the queue
-is emptied.
-
-\fBWARNING:\fP The data the returned pointer points to will not survive
-calling \fIcurl_multi_cleanup(3)\fP, \fIcurl_multi_remove_handle(3)\fP or
-\fIcurl_easy_cleanup(3)\fP.
-
-The 'CURLMsg' struct is very simple and only contain very basic information.
-If more involved information is wanted, the particular "easy handle" in
-present in that struct and can thus be used in subsequent regular
-\fIcurl_easy_getinfo(3)\fP calls (or similar):
-
-.NF
- struct CURLMsg {
- CURLMSG msg; /* what this message means */
- CURL *easy_handle; /* the handle it concerns */
- union {
- void *whatever; /* message-specific data */
- CURLcode result; /* return code for transfer */
- } data;
- };
-
-When \fBmsg\fP is \fICURLMSG_DONE\fP, the message identifies a transfer that
-is done, and then \fBresult\fP contains the return code for the easy handle
-that just completed.
-
-At this point, there is no other \fBmsg\fP types defined.
-.SH "RETURN VALUE"
-A pointer to a filled-in struct, or NULL if it failed or ran out of
-structs. It also writes the number of messages left in the queue (after this
-read) in the integer the second argument points to.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3), " curl_multi_init "(3), " curl_multi_perform "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.html
deleted file mode 100644
index 77835ec..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<html><head>
-<title>curl_multi_info_read man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_info_read - read multi stack informationals <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMsg *curl_multi_info_read( CURLM *multi_handle, &nbsp; int *msgs_in_queue);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Ask the multi handle if there are any messages/informationals from the individual transfers. Messages may include informationals such as an error code from the transfer or just the fact that a transfer is completed. More details on these should be written down as well.
-<p class="level0">Repeated calls to this function will return a new struct each time, until a NULL is returned as a signal that there is no more to get at this point. The integer pointed to with <span Class="emphasis">msgs_in_queue</span> will contain the number of remaining messages after this function was called.
-<p class="level0">When you fetch a message using this function, it is removed from the internal queue so calling this function again will not return the same message again. It will instead return new messages at each new invoke until the queue is emptied.
-<p class="level0"><span Class="bold">WARNING:</span> The data the returned pointer points to will not survive calling <a class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup(3)</a>, <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a> or <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>.
-<p class="level0">The 'CURLMsg' struct is very simple and only contain very basic information. If more involved information is wanted, the particular "easy handle" in present in that struct and can thus be used in subsequent regular <a class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo(3)</a> calls (or similar):
-<p class="level0"><pre>
-<p class="level0">&nbsp;struct CURLMsg {
- &nbsp; CURLMSG msg; /* what this message means */
- &nbsp; CURL *easy_handle; /* the handle it concerns */
- &nbsp; union {
- &nbsp; void *whatever; /* message-specific data */
- &nbsp; CURLcode result; /* return code for transfer */
- &nbsp; } data;
- &nbsp;};
- <p class="level0">When <span Class="bold">msg</span> is <span Class="emphasis">CURLMSG_DONE</span>, the message identifies a transfer that
- is done, and then <span Class="bold">result</span> contains the return code for the easy handle
- that just completed.
- <p class="level0">At this point, there is no other <span Class="bold">msg</span> types defined.
- </pre>
-<a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a filled-in struct, or NULL if it failed or ran out of structs. It also writes the number of messages left in the queue (after this read) in the integer the second argument points to. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <a class="manpage" href="./curl_multi_perform.html"> curl_multi_perform (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.pdf
deleted file mode 100644
index b8d9509..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_info_read.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.3
deleted file mode 100644
index 59f845b..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.3
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_init 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual"
-.SH NAME
-curl_multi_init - create a multi handle
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLM *curl_multi_init( );"
-.ad
-.SH DESCRIPTION
-This function returns a CURLM handle to be used as input to all the other
-multi-functions, sometimes referred to as a multi handle on some places in the
-documentation. This init call MUST have a corresponding call to
-\fIcurl_multi_cleanup(3)\fP when the operation is complete.
-.SH RETURN VALUE
-If this function returns NULL, something went wrong and you cannot use the
-other curl functions.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3)," curl_global_init "(3)," curl_easy_init "(3)"
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.html
deleted file mode 100644
index dfdd197..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html><head>
-<title>curl_multi_init man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_init - create a multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLM *curl_multi_init( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function returns a CURLM handle to be used as input to all the other multi-functions, sometimes referred to as a multi handle on some places in the documentation. This init call MUST have a corresponding call to <a class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup(3)</a> when the operation is complete. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong and you cannot use the other curl functions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_global_init.html"> curl_global_init (3)</a> <a class="manpage" href="./curl_easy_init.html"> curl_easy_init (3)</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.pdf
deleted file mode 100644
index d1daf07..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_init.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.3
deleted file mode 100644
index 9baa77c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.3
+++ /dev/null
@@ -1,50 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_perform 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual"
-.SH NAME
-curl_multi_perform - reads/writes available data from each easy handle
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles);
-.ad
-.SH DESCRIPTION
-When the app thinks there's data available for the multi_handle, it should
-call this function to read/write whatever there is to read or write right
-now. curl_multi_perform() returns as soon as the reads/writes are done. This
-function does not require that there actually is any data available for
-reading or that data can be written, it can be called just in case. It will
-write the number of handles that still transfer data in the second argument's
-integer-pointer.
-
-When you call curl_multi_perform() and the amount of \fIrunning_handles\fP is
-changed from the previous call (or is less than the amount of easy handles
-you've added to the multi handle), you know that there is one or more
-transfers less "running". You can then call \fIcurl_multi_info_read(3)\fP to
-get information about each individual completed transfer, and that returned
-info includes CURLcode and more.
-.SH "RETURN VALUE"
-CURLMcode type, general libcurl multi interface error code.
-
-If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means that you
-should call \fIcurl_multi_perform\fP again, before you select() on more
-actions. You don't have to do it immediately, but the return code means that
-libcurl may have more data available to return or that there may be more data
-to send off before it is "satisfied". Do note that \fIcurl_multi_perform(3)\fP
-will return \fICURLM_CALL_MULTI_PERFORM\fP only when it wants to be called
-again \fBimmediately\fP. When things are fine and there are nothing immediate
-it wants done, it'll return \fICURLM_OK\fP and you need to wait for \&"action"
-and then call this function again.
-
-NOTE that this only returns errors etc regarding the whole multi stack. There
-might still have occurred problems on individual transfers even when this
-function returns \fICURLM_OK\fP.
-.SH "TYPICAL USAGE"
-Most applications will use \fIcurl_multi_fdset(3)\fP to get the multi_handle's
-file descriptors, then it'll wait for action on them using \fBselect(3)\fP and
-as soon as one or more of them are ready, \fIcurl_multi_perform(3)\fP gets
-called.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
-.BR curl_multi_fdset "(3), " curl_multi_info_read "(3), "
-.BR libcurl-errors "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.html
deleted file mode 100644
index 6ba564e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_multi_perform man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_perform - reads/writes available data from each easy handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">When the app thinks there's data available for the multi_handle, it should call this function to read/write whatever there is to read or write right now. curl_multi_perform() returns as soon as the reads/writes are done. This function does not require that there actually is any data available for reading or that data can be written, it can be called just in case. It will write the number of handles that still transfer data in the second argument's integer-pointer.
-<p class="level0">When you call curl_multi_perform() and the amount of <span Class="emphasis">running_handles</span> is changed from the previous call (or is less than the amount of easy handles you've added to the multi handle), you know that there is one or more transfers less "running". You can then call <a class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read(3)</a> to get information about each individual completed transfer, and that returned info includes CURLcode and more. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code.
-<p class="level0">If you receive <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span>, this basically means that you should call <span Class="emphasis">curl_multi_perform</span> again, before you select() on more actions. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied". Do note that <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> will return <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span> only when it wants to be called again <span Class="bold">immediately</span>. When things are fine and there are nothing immediate it wants done, it'll return <span Class="emphasis">CURLM_OK</span> and you need to wait for "action" and then call this function again.
-<p class="level0">NOTE that this only returns errors etc regarding the whole multi stack. There might still have occurred problems on individual transfers even when this function returns <span Class="emphasis">CURLM_OK</span>. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">Most applications will use <a class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset(3)</a> to get the multi_handle's file descriptors, then it'll wait for action on them using <span Class="bold">select(3)</span> and as soon as one or more of them are ready, <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> gets called. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset (3)</a> <a class="manpage" href="./curl_multi_info_read.html"> curl_multi_info_read (3)</a> <span Class="manpage"> </span> <span Class="manpage">libcurl-errors (3)</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.pdf
deleted file mode 100644
index 9951a17..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_perform.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.3
deleted file mode 100644
index f905b54..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.3
+++ /dev/null
@@ -1,23 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_remove_handle 3 "6 March 2002" "libcurl 7.9.5" "libcurl Manual"
-.SH NAME
-curl_multi_remove_handle - remove an easy handle from a multi session
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);
-.ad
-.SH DESCRIPTION
-Removes a given easy_handle from the multi_handle. This will make the
-specified easy handle be removed from this multi handle's control.
-
-When the easy handle has been removed from a multi stack, it is again
-perfectly legal to invoke \fIcurl_easy_perform()\fP on this easy handle.
-
-Removing a handle while being used, will effectively halt all transfers in
-progress.
-.SH RETURN VALUE
-CURLMcode type, general libcurl multi interface error code.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3)," curl_multi_init "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.html
deleted file mode 100644
index 2c18187..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html><head>
-<title>curl_multi_remove_handle man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_remove_handle - remove an easy handle from a multi session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Removes a given easy_handle from the multi_handle. This will make the specified easy handle be removed from this multi handle's control.
-<p class="level0">When the easy handle has been removed from a multi stack, it is again perfectly legal to invoke <span Class="emphasis">curl_easy_perform()</span> on this easy handle.
-<p class="level0">Removing a handle while being used, will effectively halt all transfers in progress. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.pdf
deleted file mode 100644
index 29fbacd..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_remove_handle.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.3
deleted file mode 100644
index 7053735..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.3
+++ /dev/null
@@ -1,84 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_setopt 3 "10 Oct 2006" "libcurl 7.16.0" "libcurl Manual"
-.SH NAME
-curl_multi_setopt \- set options for a curl multi handle
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param);
-.SH DESCRIPTION
-curl_multi_setopt() is used to tell a libcurl multi handle how to behave. By
-using the appropriate options to \fIcurl_multi_setopt(3)\fP, you can change
-libcurl's behaviour when using that multi handle. All options are set with
-the \fIoption\fP followed by the parameter \fIparam\fP. That parameter can be
-a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject pointer\fP or a
-\fBcurl_off_t\fP type, depending on what the specific option expects. Read
-this manual carefully as bad input values may cause libcurl to behave badly!
-You can only set one option in each function call.
-
-.SH OPTIONS
-.IP CURLMOPT_SOCKETFUNCTION
-Pass a pointer to a function matching the \fBcurl_socket_callback\fP
-prototype. The \fIcurl_multi_socket(3)\fP functions inform the application
-about updates in the socket (file descriptor) status by doing none, one or
-multiple calls to the curl_socket_callback given in the \fBparam\fP
-argument. They update the status with changes since the previous time a
-\fIcurl_multi_socket(3)\fP function was called. If the given callback pointer
-is NULL, no callback will be called. Set the callback's \fBuserp\fP argument
-with \fICURLMOPT_SOCKETDATA\fP. See \fIcurl_multi_socket(3)\fP for more
-callback details.
-.IP CURLMOPT_SOCKETDATA
-Pass a pointer to whatever you want passed to the \fBcurl_socket_callback\fP's
-forth argument, the userp pointer. This is not used by libcurl but only
-passed-thru as-is. Set the callback pointer with
-\fICURLMOPT_SOCKETFUNCTION\fP.
-.IP CURLMOPT_PIPELINING
-Pass a long set to 1 to enable or 0 to disable. Enabling pipelining on a multi
-handle will make it attempt to perform HTTP Pipelining as far as possible for
-transfers using this handle. This means that if you add a second request that
-can use an already existing connection, the second request will be \&"piped"
-on the same connection rather than being executed in parallell. (Added in
-7.16.0)
-.IP CURLMOPT_TIMERFUNCTION
-Pass a pointer to a function matching the \fBcurl_multi_timer_callback\fP
-prototype. This function will then be called when the timeout value
-changes. The timeout value is at what latest time the application should call
-one of the \&"performing" functions of the multi interface
-(\fIcurl_multi_socket(3)\fP, \fIcurl_multi_socket_all(3)\fP and
-\fIcurl_multi_perform(3)\fP) - to allow libcurl to keep timeouts and retries
-etc to work. A timeout value of -1 means that there is no timeout at all, and
-0 means that the timeout is already reached. Libcurl attempts to limit calling
-this only when the fixed future timeout time actually change. See also
-\fICURLMOPT_TIMERDATA\fP. This callback can be used instead of, or in addition
-to, \fIcurl_multi_timeout(3)\fP. (Added in 7.16.0)
-.IP CURLMOPT_TIMERDATA
-Pass a pointer to whatever you want passed to the
-\fBcurl_multi_timer_callback\fP's third argument, the userp pointer. This is
-not used by libcurl but only passed-thru as-is. Set the callback pointer with
-\fICURLMOPT_TIMERFUNCTION\fP. (Added in 7.16.0)
-.IP CURLMOPT_MAXCONNECTS
-Pass a long. The set number will be used as the maximum amount of
-simultaneously open connections that libcurl may cache. Default is 10, and
-libcurl will enlarge the size for each added easy handle to make it fit 4
-times the number of added easy handles.
-
-By setting this option, you can prevent the cache size to grow beyond the
-limit set by you.
-
-When the cache is full, curl closes the oldest one in the cache to prevent the
-number of open connections to increase.
-
-This option is for the multi handle's use only, when using the easy interface
-you should instead use the \fICURLOPT_MAXCONNECTS\fP option.
-
-(Added in 7.16.3)
-.SH RETURNS
-The standard CURLMcode for multi interface error codes. Note that it returns a
-CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl
-doesn't know of.
-.SH AVAILABILITY
-This function was added in libcurl 7.15.4.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
-.BR curl_multi_socket "(3), " curl_multi_info_read "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.html
deleted file mode 100644
index 560acd7..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<html><head>
-<title>curl_multi_setopt man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_setopt - set options for a curl multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_multi_setopt() is used to tell a libcurl multi handle how to behave. By using the appropriate options to <a class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt(3)</a>, you can change libcurl's behaviour when using that multi handle. All options are set with the <span Class="emphasis">option</span> followed by the parameter <span Class="emphasis">param</span>. That parameter can be a <span Class="bold">long</span>, a <span Class="bold">function pointer</span>, an <span Class="bold">object pointer</span> or a <span Class="bold">curl_off_t</span> type, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call.
-<p class="level0"><a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLMOPTSOCKETFUNCTION"></a><span class="nroffip">CURLMOPT_SOCKETFUNCTION</span>
-<p class="level1">Pass a pointer to a function matching the <span Class="bold">curl_socket_callback</span> prototype. The <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> functions inform the application about updates in the socket (file descriptor) status by doing none, one or multiple calls to the curl_socket_callback given in the <span Class="bold">param</span> argument. They update the status with changes since the previous time a <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> function was called. If the given callback pointer is NULL, no callback will be called. Set the callback's <span Class="bold">userp</span> argument with <a class="emphasis" href="#CURLMOPTSOCKETDATA">CURLMOPT_SOCKETDATA</a>. See <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> for more callback details.
-<p class="level0"><a name="CURLMOPTSOCKETDATA"></a><span class="nroffip">CURLMOPT_SOCKETDATA</span>
-<p class="level1">Pass a pointer to whatever you want passed to the <span Class="bold">curl_socket_callback</span>'s forth argument, the userp pointer. This is not used by libcurl but only passed-thru as-is. Set the callback pointer with <a class="emphasis" href="#CURLMOPTSOCKETFUNCTION">CURLMOPT_SOCKETFUNCTION</a>.
-<p class="level0"><a name="CURLMOPTPIPELINING"></a><span class="nroffip">CURLMOPT_PIPELINING</span>
-<p class="level1">Pass a long set to 1 to enable or 0 to disable. Enabling pipelining on a multi handle will make it attempt to perform HTTP Pipelining as far as possible for transfers using this handle. This means that if you add a second request that can use an already existing connection, the second request will be "piped" on the same connection rather than being executed in parallell. (Added in 7.16.0)
-<p class="level0"><a name="CURLMOPTTIMERFUNCTION"></a><span class="nroffip">CURLMOPT_TIMERFUNCTION</span>
-<p class="level1">Pass a pointer to a function matching the <span Class="bold">curl_multi_timer_callback</span> prototype. This function will then be called when the timeout value changes. The timeout value is at what latest time the application should call one of the "performing" functions of the multi interface (<a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a>, <a class="emphasis" href="./curl_multi_socket_all.html">curl_multi_socket_all(3)</a> and <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>) - to allow libcurl to keep timeouts and retries etc to work. A timeout value of -1 means that there is no timeout at all, and 0 means that the timeout is already reached. Libcurl attempts to limit calling this only when the fixed future timeout time actually change. See also <a class="emphasis" href="#CURLMOPTTIMERDATA">CURLMOPT_TIMERDATA</a>. This callback can be used instead of, or in addition to, <a class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout(3)</a>. (Added in 7.16.0)
-<p class="level0"><a name="CURLMOPTTIMERDATA"></a><span class="nroffip">CURLMOPT_TIMERDATA</span>
-<p class="level1">Pass a pointer to whatever you want passed to the <span Class="bold">curl_multi_timer_callback</span>'s third argument, the userp pointer. This is not used by libcurl but only passed-thru as-is. Set the callback pointer with <a class="emphasis" href="#CURLMOPTTIMERFUNCTION">CURLMOPT_TIMERFUNCTION</a>. (Added in 7.16.0)
-<p class="level0"><a name="CURLMOPTMAXCONNECTS"></a><span class="nroffip">CURLMOPT_MAXCONNECTS</span>
-<p class="level1">Pass a long. The set number will be used as the maximum amount of simultaneously open connections that libcurl may cache. Default is 10, and libcurl will enlarge the size for each added easy handle to make it fit 4 times the number of added easy handles.
-<p class="level1">By setting this option, you can prevent the cache size to grow beyond the limit set by you.
-<p class="level1">When the cache is full, curl closes the oldest one in the cache to prevent the number of open connections to increase.
-<p class="level1">This option is for the multi handle's use only, when using the easy interface you should instead use the <span Class="emphasis">CURLOPT_MAXCONNECTS</span> option.
-<p class="level1">(Added in 7.16.3) <a name="RETURNS"></a><h2 class="nroffsh">RETURNS</h2>
-<p class="level0">The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_multi_socket.html">curl_multi_socket (3)</a> <a class="manpage" href="./curl_multi_info_read.html"> curl_multi_info_read (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.pdf
deleted file mode 100644
index be3a79a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_setopt.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.3
deleted file mode 100644
index 38fe600..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.3
+++ /dev/null
@@ -1,158 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_socket 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
-.SH NAME
-curl_multi_socket \- reads/writes available data
-.SH SYNOPSIS
-.nf
-#include <curl/curl.h>
-
-CURLMcode curl_multi_socket_action(CURLM * multi_handle,
- curl_socket_t sockfd, int ev_bitmask,
- int *running_handles);
-.fi
-
-.B "Now deprecated versions:"
-.nf
-CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd,
- int *running_handles);
-
-CURLMcode curl_multi_socket_all(CURLM *multi_handle,
- int *running_handles);
-.fi
-.SH DESCRIPTION
-Alternative versions of \fIcurl_multi_perform(3)\fP that allows the
-application to pass in the file descriptor/socket that has been detected to
-have \&"action" on it and let libcurl perform. This lets libcurl avoid having
-to scan through all possible file descriptors to check for action.
-
-When the application has detected action on a socket handled by libcurl, it
-should call \fIcurl_multi_socket_action(3)\fP with the \fBsockfd\fP argument
-set to the socket with the action. When the events on a socket are known, they
-can be passed as an events bitmask \fBev_bitmask\fP by first setting
-\fBev_bitmask\fP to 0, and then adding using bitwise OR (|) any combination of
-events to be chosen from CURL_CSELECT_IN, CURL_CSELECT_OUT or
-CURL_CSELECT_ERR. When the events on a socket are unknown, pass 0 instead, and
-libcurl will test the descriptor internally.
-
-At return, the integer \fBrunning_handles\fP points to will contain the number
-of still running easy handles within the multi handle. When this number
-reaches zero, all transfers are complete/done. Note that when you call
-\fIcurl_multi_socket_action(3)\fP on a specific socket and the counter
-decreases by one, it DOES NOT necessarily mean that this exact socket/transfer
-is the one that completed. Use \fIcurl_multi_info_read(3)\fP to figure out
-which easy handle that completed.
-
-The \fBcurl_multi_socket_action(3)\fP functions inform the application about
-updates in the socket (file descriptor) status by doing none, one or multiple
-calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION
-option to \fIcurl_multi_setopt(3)\fP. They update the status with changes
-since the previous time the callback was called.
-
-Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION\fP option with
-\fIcurl_multi_setopt(3)\fP. Your application will then get called with
-information on how long to wait for socket actions at most before doing the
-timeout action: call the \fBcurl_multi_socket_action(3)\fP function with the
-\fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT. You can also use the
-\fIcurl_multi_timeout(3)\fP function to poll the value at any given time, but
-for an event-based system using the callback is far better than relying on
-polling the timeout value.
-
-Usage of \fIcurl_multi_socket(3)\fP is deprecated, whereas the function is
-equivalent to \fIcurl_multi_socket_action(3)\fP with \fBev_bitmask\fP set to
-0.
-
-Force libcurl to (re-)check all its internal sockets and transfers instead of
-just a single one by calling \fBcurl_multi_socket_all(3)\fP. Note that there
-should not exist any reasons to use this function!
-.SH "CALLBACK DETAILS"
-
-The socket \fBcallback\fP function uses a prototype like this
-.nf
-
- int curl_socket_callback(CURL *easy, /* easy handle */
- curl_socket_t s, /* socket */
- int action, /* see values below */
- void *userp, /* private callback pointer */
- void *socketp); /* private socket pointer */
-
-.fi
-The callback MUST return 0.
-
-The \fIeasy\fP argument is a pointer to the easy handle that deals with this
-particular socket. Note that a single handle may work with several sockets
-simultaneously.
-
-The \fIs\fP argument is the actual socket value as you use it within your
-system.
-
-The \fIaction\fP argument to the callback has one of five values:
-.RS
-.IP "CURL_POLL_NONE (0)"
-register, not interested in readiness (yet)
-.IP "CURL_POLL_IN (1)"
-register, interested in read readiness
-.IP "CURL_POLL_OUT (2)"
-register, interested in write readiness
-.IP "CURL_POLL_INOUT (3)"
-register, interested in both read and write readiness
-.IP "CURL_POLL_REMOVE (4)"
-unregister
-.RE
-
-The \fIsocketp\fP argument is a private pointer you have previously set with
-\fIcurl_multi_assign(3)\fP to be associated with the \fIs\fP socket. If no
-pointer has been set, socketp will be NULL. This argument is of course a
-service to applications that want to keep certain data or structs that are
-strictly associated to the given socket.
-
-The \fIuserp\fP argument is a private pointer you have previously set with
-\fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option.
-.SH "RETURN VALUE"
-CURLMcode type, general libcurl multi interface error code.
-
-Legacy: If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means
-that you should call \fIcurl_multi_socket(3)\fP again, before you wait for
-more actions on libcurl's sockets. You don't have to do it immediately, but
-the return code means that libcurl may have more data available to return or
-that there may be more data to send off before it is "satisfied".
-
-In modern libcurls, \fICURLM_CALL_MULTI_PERFORM\fP or
-\fICURLM_CALL_MULTI_SOKCET\fP should not be returned and no application needs
-to care about them.
-
-NOTE that the return code is for the whole multi stack. There might still have
-occurred problems on individual transfers even when one of these functions
-return OK.
-.SH "TYPICAL USAGE"
-1. Create a multi handle
-
-2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
-
-3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what
-timeout value to use when waiting for socket activities.
-
-4. Add easy handles with curl_multi_add_handle()
-
-5. Provide some means to manage the sockets libcurl is using, so you can check
-them for activity. This can be done through your application code, or by way
-of an external library such as libevent or glib.
-
-6. Wait for activity on any of libcurl's sockets, use the timeout value your
-callback has been told
-
-7, When activity is detected, call curl_multi_socket_action() for the
-socket(s) that got action. If no activity is detected and the timeout expires,
-call \fIcurl_multi_socket_action(3)\fP with \fICURL_SOCKET_TIMEOUT\fP
-
-8. Go back to step 6.
-.SH AVAILABILITY
-This function was added in libcurl 7.15.4, although deemed stable since
-7.16.0.
-
-\fIcurl_multi_socket(3)\fP is deprecated, use
-\fIcurl_multi_socket_action(3)\fP instead!
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
-.BR curl_multi_fdset "(3), " curl_multi_info_read "(3), "
-.BR "the hiperfifo.c example"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.html
deleted file mode 100644
index 44d31c8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<html><head>
-<title>curl_multi_socket man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_socket - reads/writes available data <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre>
-<p class="level0">#include &lt;curl/curl.h&gt;
- <p class="level0">CURLMcode curl_multi_socket_action(CURLM * multi_handle,
- &nbsp; curl_socket_t sockfd, int ev_bitmask,
- &nbsp; int *running_handles);
- </pre>
-
-<p class="level0">
-<p class="level0"><span Class="bold">Now deprecated versions:</span> <pre>
-<p class="level0">CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd,
- &nbsp; int *running_handles);
- <p class="level0">CURLMcode curl_multi_socket_all(CURLM *multi_handle,
- &nbsp; int *running_handles);
- </pre>
-
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Alternative versions of <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> that allows the application to pass in the file descriptor/socket that has been detected to have "action" on it and let libcurl perform. This lets libcurl avoid having to scan through all possible file descriptors to check for action.
-<p class="level0">When the application has detected action on a socket handled by libcurl, it should call <span Class="emphasis">curl_multi_socket_action(3)</span> with the <span Class="bold">sockfd</span> argument set to the socket with the action. When the events on a socket are known, they can be passed as an events bitmask <span Class="bold">ev_bitmask</span> by first setting <span Class="bold">ev_bitmask</span> to 0, and then adding using bitwise OR (|) any combination of events to be chosen from CURL_CSELECT_IN, CURL_CSELECT_OUT or CURL_CSELECT_ERR. When the events on a socket are unknown, pass 0 instead, and libcurl will test the descriptor internally.
-<p class="level0">At return, the integer <span Class="bold">running_handles</span> points to will contain the number of still running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. Note that when you call <span Class="emphasis">curl_multi_socket_action(3)</span> on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use <a class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read(3)</a> to figure out which easy handle that completed.
-<p class="level0">The <span Class="bold">curl_multi_socket_action(3)</span> functions inform the application about updates in the socket (file descriptor) status by doing none, one or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to <a class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt(3)</a>. They update the status with changes since the previous time the callback was called.
-<p class="level0">Get the timeout time by setting the <span Class="emphasis">CURLMOPT_TIMERFUNCTION</span> option with <a class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt(3)</a>. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the <span Class="bold">curl_multi_socket_action(3)</span> function with the <span Class="bold">sockfd</span> argument set to CURL_SOCKET_TIMEOUT. You can also use the <a class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout(3)</a> function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value.
-<p class="level0">Usage of <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> is deprecated, whereas the function is equivalent to <span Class="emphasis">curl_multi_socket_action(3)</span> with <span Class="bold">ev_bitmask</span> set to 0.
-<p class="level0">Force libcurl to (re-)check all its internal sockets and transfers instead of just a single one by calling <a class="bold" href="./curl_multi_socket_all.html">curl_multi_socket_all(3)</a>. Note that there should not exist any reasons to use this function! <a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK DETAILS</h2>
-<p class="level0">
-<p class="level0">The socket <span Class="bold">callback</span> function uses a prototype like this <pre>
-<p class="level0"><p class="level0">&nbsp; int curl_socket_callback(CURL *easy, /* easy handle */
- &nbsp; curl_socket_t s, /* socket */
- &nbsp; int action, /* see values below */
- &nbsp; void *userp, /* private callback pointer */
- &nbsp; void *socketp); /* private socket pointer */
- <p class="level0"></pre>
-
-<p class="level0">The callback MUST return 0.
-<p class="level0">The <span Class="emphasis">easy</span> argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously.
-<p class="level0">The <span Class="emphasis">s</span> argument is the actual socket value as you use it within your system.
-<p class="level0">The <span Class="emphasis">action</span> argument to the callback has one of five values:
-<p class="level1">
-<p class="level0"><a name="CURLPOLLNONE"></a><span class="nroffip">CURL_POLL_NONE (0)</span>
-<p class="level1">register, not interested in readiness (yet)
-<p class="level0"><a name="CURLPOLLIN"></a><span class="nroffip">CURL_POLL_IN (1)</span>
-<p class="level1">register, interested in read readiness
-<p class="level0"><a name="CURLPOLLOUT"></a><span class="nroffip">CURL_POLL_OUT (2)</span>
-<p class="level1">register, interested in write readiness
-<p class="level0"><a name="CURLPOLLINOUT"></a><span class="nroffip">CURL_POLL_INOUT (3)</span>
-<p class="level1">register, interested in both read and write readiness
-<p class="level0"><a name="CURLPOLLREMOVE"></a><span class="nroffip">CURL_POLL_REMOVE (4)</span>
-<p class="level1">unregister
-<p class="level0">
-<p class="level0">The <span Class="emphasis">socketp</span> argument is a private pointer you have previously set with <a class="emphasis" href="./curl_multi_assign.html">curl_multi_assign(3)</a> to be associated with the <span Class="emphasis">s</span> socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket.
-<p class="level0">The <span Class="emphasis">userp</span> argument is a private pointer you have previously set with <a class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt(3)</a> and the CURLMOPT_SOCKETDATA option. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code.
-<p class="level0">Legacy: If you receive <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span>, this basically means that you should call <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> again, before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied".
-<p class="level0">In modern libcurls, <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span> or <span Class="emphasis">CURLM_CALL_MULTI_SOKCET</span> should not be returned and no application needs to care about them.
-<p class="level0">NOTE that the return code is for the whole multi stack. There might still have occurred problems on individual transfers even when one of these functions return OK. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">1. Create a multi handle
-<p class="level0">2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
-<p class="level0">3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities.
-<p class="level0">4. Add easy handles with curl_multi_add_handle()
-<p class="level0">5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib.
-<p class="level0">6. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told
-<p class="level0">7, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call <span Class="emphasis">curl_multi_socket_action(3)</span> with <span Class="emphasis">CURL_SOCKET_TIMEOUT</span>
-<p class="level0">8. Go back to step 6. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4, although deemed stable since 7.16.0.
-<p class="level0"><a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> is deprecated, use <span Class="emphasis">curl_multi_socket_action(3)</span> instead! <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset (3)</a> <a class="manpage" href="./curl_multi_info_read.html"> curl_multi_info_read (3)</a> <span Class="manpage"> </span> <span Class="manpage">the hiperfifo.c example</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.pdf
deleted file mode 100644
index 677be22..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_socket.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.3
deleted file mode 100644
index a08243f..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.3
+++ /dev/null
@@ -1,20 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_multi_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_multi_strerror - return string describing error code
-.SH SYNOPSIS
-.nf
-.B #include <curl/curl.h>
-.BI "const char *curl_multi_strerror(CURLMcode " errornum ");"
-.SH DESCRIPTION
-The curl_multi_strerror() function returns a string describing the CURLMcode
-error code passed in the argument \fIerrornum\fP.
-.SH AVAILABILITY
-This function was added in libcurl 7.12.0
-.SH RETURN VALUE
-A pointer to a zero terminated string.
-.SH "SEE ALSO"
-.BR libcurl-errors "(3), " curl_easy_strerror "(3), " curl_share_strerror "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.html
deleted file mode 100644
index ac885aa..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_multi_strerror man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_strerror - return string describing error code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<span Class="bold">const char *curl_multi_strerror(CURLMcode errornum );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The curl_multi_strerror() function returns a string describing the CURLMcode error code passed in the argument <span Class="emphasis">errornum</span>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">libcurl-errors (3)</span> <a class="manpage" href="./curl_easy_strerror.html"> curl_easy_strerror (3)</a> <a class="manpage" href="./curl_share_strerror.html"> curl_share_strerror (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.pdf
deleted file mode 100644
index 883c59c..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_strerror.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.3
deleted file mode 100644
index b4da9af..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.3
+++ /dev/null
@@ -1,41 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_multi_timeout 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual"
-.SH NAME
-curl_multi_timeout \- how long to wait for action before proceeding
-.SH SYNOPSIS
-#include <curl/curl.h>
-
-CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout);
-.SH DESCRIPTION
-
-An application using the libcurl multi interface should call
-\fBcurl_multi_timeout(3)\fP to figure out how long it should wait for socket
-actions \- at most \- before proceeding.
-
-Proceeding means either doing the socket-style timeout action: call the
-\fBcurl_multi_socket_action(3)\fP function with the \fBsockfd\fP argument set
-to CURL_SOCKET_TIMEOUT, or call \fBcurl_multi_perform(3)\fP if you're using
-the simpler and older multi interface approach.
-
-The timeout value returned in the long \fBtimeout\fP points to, is in number
-of milliseconds at this very moment. If 0, it means you should proceed
-immediately without waiting for anything. If it returns -1, there's no timeout
-at all set.
-
-Note: if libcurl returns a -1 timeout here, it just means that libcurl
-currently has no stored timeout value. You must not wait too long (more than a
-few seconds perhaps) before you call curl_multi_perform() again.
-.SH "RETURN VALUE"
-The standard CURLMcode for multi interface error codes.
-.SH "TYPICAL USAGE"
-Call \fBcurl_multi_timeout(3)\fP, then wait for action on the sockets. You
-figure out which sockets to wait for by calling \fBcurl_multi_fdset(3)\fP or
-by a previous call to \fBcurl_multi_socket(3)\fP.
-.SH AVAILABILITY
-This function was added in libcurl 7.15.4.
-.SH "SEE ALSO"
-.BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
-.BR curl_multi_fdset "(3), " curl_multi_info_read "(3), "
-.BR curl_multi_socket "(3) "
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.html
deleted file mode 100644
index b51435d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><head>
-<title>curl_multi_timeout man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_timeout - how long to wait for action before proceeding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">#include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">
-<p class="level0">An application using the libcurl multi interface should call <a class="bold" href="./curl_multi_timeout.html">curl_multi_timeout(3)</a> to figure out how long it should wait for socket actions - at most - before proceeding.
-<p class="level0">Proceeding means either doing the socket-style timeout action: call the <span Class="bold">curl_multi_socket_action(3)</span> function with the <span Class="bold">sockfd</span> argument set to CURL_SOCKET_TIMEOUT, or call <a class="bold" href="./curl_multi_perform.html">curl_multi_perform(3)</a> if you're using the simpler and older multi interface approach.
-<p class="level0">The timeout value returned in the long <span Class="bold">timeout</span> points to, is in number of milliseconds at this very moment. If 0, it means you should proceed immediately without waiting for anything. If it returns -1, there's no timeout at all set.
-<p class="level0">Note: if libcurl returns a -1 timeout here, it just means that libcurl currently has no stored timeout value. You must not wait too long (more than a few seconds perhaps) before you call curl_multi_perform() again. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">The standard CURLMcode for multi interface error codes. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">Call <a class="bold" href="./curl_multi_timeout.html">curl_multi_timeout(3)</a>, then wait for action on the sockets. You figure out which sockets to wait for by calling <a class="bold" href="./curl_multi_fdset.html">curl_multi_fdset(3)</a> or by a previous call to <a class="bold" href="./curl_multi_socket.html">curl_multi_socket(3)</a>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup (3)</a> <a class="manpage" href="./curl_multi_init.html"> curl_multi_init (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset (3)</a> <a class="manpage" href="./curl_multi_info_read.html"> curl_multi_info_read (3)</a> <span Class="manpage"> </span> <a class="manpage" href="./curl_multi_socket.html">curl_multi_socket (3) </a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.pdf
deleted file mode 100644
index 04c87e6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_multi_timeout.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.3
deleted file mode 100644
index d45e0bb..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.3
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_share_cleanup 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
-.SH NAME
-curl_share_cleanup - Clean up a shared object
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");"
-.ad
-.SH DESCRIPTION
-This function deletes a shared object. The share handle cannot be used anymore
-when this function has been called.
-
-.SH RETURN VALUE
-CURLSHE_OK (zero) means that the option was set properly, non-zero means an
-error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
-man page for the full list with descriptions. If an error occurs, then the
-share object will not be deleted.
-.SH "SEE ALSO"
-.BR curl_share_init "(3), " curl_share_setopt "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.html
deleted file mode 100644
index 758f1e9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html><head>
-<title>curl_share_cleanup man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_cleanup - Clean up a shared object <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLSHcode curl_share_cleanup(CURLSH * share_handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function deletes a shared object. The share handle cannot be used anymore when this function has been called.
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. See the <span Class="emphasis">libcurl-errors.3</span> man page for the full list with descriptions. If an error occurs, then the share object will not be deleted. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_share_init.html">curl_share_init (3)</a> <a class="manpage" href="./curl_share_setopt.html"> curl_share_setopt (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.pdf
deleted file mode 100644
index 5b006d3..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.3
deleted file mode 100644
index ead7f4b..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.3
+++ /dev/null
@@ -1,25 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_share_init 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
-.SH NAME
-curl_share_init - Create a shared object
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "CURLSH *curl_share_init( );"
-.ad
-.SH DESCRIPTION
-This function returns a CURLSH handle to be used as input to all the other
-share-functions, sometimes referred to as a share handle on some places in the
-documentation. This init call MUST have a corresponding call to
-\fIcurl_share_cleanup\fP when all operations using the share are complete.
-
-This \fIshare handle\fP is what you pass to curl using the \fICURLOPT_SHARE\fP
-option with \fIcurl_easy_setopt(3)\fP, to make that specific curl handle use
-the data in this share.
-.SH RETURN VALUE
-If this function returns NULL, something went wrong (out of memory, etc.)
-and therefore the share object was not created.
-.SH "SEE ALSO"
-.BR curl_share_cleanup "(3), " curl_share_setopt "(3)"
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.html
deleted file mode 100644
index 9ada3b9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html><head>
-<title>curl_share_init man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_init - Create a shared object <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLSH *curl_share_init( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function returns a CURLSH handle to be used as input to all the other share-functions, sometimes referred to as a share handle on some places in the documentation. This init call MUST have a corresponding call to <span Class="emphasis">curl_share_cleanup</span> when all operations using the share are complete.
-<p class="level0">This <span Class="emphasis">share handle</span> is what you pass to curl using the <span Class="emphasis">CURLOPT_SHARE</span> option with <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>, to make that specific curl handle use the data in this share. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_share_cleanup.html">curl_share_cleanup (3)</a> <a class="manpage" href="./curl_share_setopt.html"> curl_share_setopt (3)</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.pdf
deleted file mode 100644
index 70b92c2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_init.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.3
deleted file mode 100644
index e6be1b4..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.3
+++ /dev/null
@@ -1,61 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_share_setopt 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
-.SH NAME
-curl_share_setopt - Set options for a shared object
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter);
-.ad
-.SH DESCRIPTION
-Set the \fIoption\fP to \fIparameter\fP for the given \fIshare\fP.
-.SH OPTIONS
-.IP CURLSHOPT_LOCKFUNC
-The \fIparameter\fP must be a pointer to a function matching the following
-prototype:
-
-void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access,
-void *userptr);
-
-\fIdata\fP defines what data libcurl wants to lock, and you must make sure that
-only one lock is given at any time for each kind of data.
-
-\fIaccess\fP defines what access type libcurl wants, shared or single.
-
-\fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP.
-.IP CURLSHOPT_UNLOCKFUNC
-The \fIparameter\fP must be a pointer to a function matching the following
-prototype:
-
-void unlock_function(CURL *handle, curl_lock_data data, void *userptr);
-
-\fIdata\fP defines what data libcurl wants to unlock, and you must make sure
-that only one lick is given at any time for each kind of data.
-
-\fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP.
-.IP CURLSHOPT_SHARE
-The \fIparameter\fP specifies a type of data that should be shared. This may
-be set to one of the values described below.
-.RS
-.IP CURL_LOCK_DATA_COOKIE
-Cookie data will be shared across the easy handles using this shared object.
-.IP CURL_LOCK_DATA_DNS
-Cached DNS hosts will be shared across the easy handles using this shared
-object. Note that when you use the multi interface, all easy handles added to
-the same multi handle will share DNS cache by default without this having to
-be used!
-.RE
-.IP CURLSHOPT_UNSHARE
-This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that
-the specified \fIparameter\fP will no longer be shared. Valid values are
-the same as those for \fICURLSHOPT_SHARE\fP.
-.IP CURLSHOPT_USERDATA
-The \fIparameter\fP allows you to specify a pointer to data that will passed
-to the lock_function and unlock_function each time it is called.
-.SH RETURN VALUE
-CURLSHE_OK (zero) means that the option was set properly, non-zero means an
-error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
-man page for the full list with descriptions.
-.SH "SEE ALSO"
-.BR curl_share_cleanup "(3), " curl_share_init "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.html
deleted file mode 100644
index ee0c158..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<html><head>
-<title>curl_share_setopt man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_setopt - Set options for a shared object <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0">CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the <span Class="emphasis">option</span> to <span Class="emphasis">parameter</span> for the given <span Class="emphasis">share</span>. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLSHOPTLOCKFUNC"></a><span class="nroffip">CURLSHOPT_LOCKFUNC</span>
-<p class="level1">The <span Class="emphasis">parameter</span> must be a pointer to a function matching the following prototype:
-<p class="level1">void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access, void *userptr);
-<p class="level1"><span Class="emphasis">data</span> defines what data libcurl wants to lock, and you must make sure that only one lock is given at any time for each kind of data.
-<p class="level1"><span Class="emphasis">access</span> defines what access type libcurl wants, shared or single.
-<p class="level1"><span Class="emphasis">userptr</span> is the pointer you set with <a class="emphasis" href="#CURLSHOPTUSERDATA">CURLSHOPT_USERDATA</a>.
-<p class="level0"><a name="CURLSHOPTUNLOCKFUNC"></a><span class="nroffip">CURLSHOPT_UNLOCKFUNC</span>
-<p class="level1">The <span Class="emphasis">parameter</span> must be a pointer to a function matching the following prototype:
-<p class="level1">void unlock_function(CURL *handle, curl_lock_data data, void *userptr);
-<p class="level1"><span Class="emphasis">data</span> defines what data libcurl wants to unlock, and you must make sure that only one lick is given at any time for each kind of data.
-<p class="level1"><span Class="emphasis">userptr</span> is the pointer you set with <a class="emphasis" href="#CURLSHOPTUSERDATA">CURLSHOPT_USERDATA</a>.
-<p class="level0"><a name="CURLSHOPTSHARE"></a><span class="nroffip">CURLSHOPT_SHARE</span>
-<p class="level1">The <span Class="emphasis">parameter</span> specifies a type of data that should be shared. This may be set to one of the values described below.
-<p class="level2">
-<p class="level1"><a name="CURLLOCKDATACOOKIE"></a><span class="nroffip">CURL_LOCK_DATA_COOKIE</span>
-<p class="level2">Cookie data will be shared across the easy handles using this shared object.
-<p class="level1"><a name="CURLLOCKDATADNS"></a><span class="nroffip">CURL_LOCK_DATA_DNS</span>
-<p class="level2">Cached DNS hosts will be shared across the easy handles using this shared object. Note that when you use the multi interface, all easy handles added to the same multi handle will share DNS cache by default without this having to be used!
-<p class="level1">
-<p class="level0"><a name="CURLSHOPTUNSHARE"></a><span class="nroffip">CURLSHOPT_UNSHARE</span>
-<p class="level1">This option does the opposite of <a class="emphasis" href="#CURLSHOPTSHARE">CURLSHOPT_SHARE</a>. It specifies that the specified <span Class="emphasis">parameter</span> will no longer be shared. Valid values are the same as those for <a class="emphasis" href="#CURLSHOPTSHARE">CURLSHOPT_SHARE</a>.
-<p class="level0"><a name="CURLSHOPTUSERDATA"></a><span class="nroffip">CURLSHOPT_USERDATA</span>
-<p class="level1">The <span Class="emphasis">parameter</span> allows you to specify a pointer to data that will passed to the lock_function and unlock_function each time it is called. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. See the <span Class="emphasis">libcurl-errors.3</span> man page for the full list with descriptions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_share_cleanup.html">curl_share_cleanup (3)</a> <a class="manpage" href="./curl_share_init.html"> curl_share_init (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.pdf
deleted file mode 100644
index 78a28d0..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_setopt.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.3
deleted file mode 100644
index b5199d5..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.3
+++ /dev/null
@@ -1,20 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_share_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_share_strerror - return string describing error code
-.SH SYNOPSIS
-.nf
-.B #include <curl/curl.h>
-.BI "const char *curl_share_strerror(CURLSHcode " errornum ");"
-.SH DESCRIPTION
-The curl_share_strerror() function returns a string describing the CURLSHcode
-error code passed in the argument \fIerrornum\fP.
-.SH AVAILABILITY
-This function was added in libcurl 7.12.0
-.SH RETURN VALUE
-A pointer to a zero terminated string.
-.SH "SEE ALSO"
-.BR libcurl-errors "(3), " curl_multi_strerror "(3), " curl_easy_strerror "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.html
deleted file mode 100644
index 0b5b050..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_share_strerror man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_strerror - return string describing error code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<span Class="bold">const char *curl_share_strerror(CURLSHcode errornum );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The curl_share_strerror() function returns a string describing the CURLSHcode error code passed in the argument <span Class="emphasis">errornum</span>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">libcurl-errors (3)</span> <a class="manpage" href="./curl_multi_strerror.html"> curl_multi_strerror (3)</a> <a class="manpage" href="./curl_easy_strerror.html"> curl_easy_strerror (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.pdf
deleted file mode 100644
index c468719..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_share_strerror.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.3
deleted file mode 100644
index a20d2f9..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.3
+++ /dev/null
@@ -1,39 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_slist_append 3 "19 Jun 2003" "libcurl 7.10.4" "libcurl Manual"
-.SH NAME
-curl_slist_append - add a string to an slist
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "struct curl_slist *curl_slist_append(struct curl_slist *" list,
-.BI "const char * "string ");"
-.ad
-.SH DESCRIPTION
-curl_slist_append() appends a specified string to a linked list of
-strings. The existing \fIlist\fP should be passed as the first argument while
-the new list is returned from this function. The specified \fIstring\fP has
-been appended when this function returns. curl_slist_append() copies the
-string.
-
-The list should be freed again (after usage) with
-\fBcurl_slist_free_all(3)\fP.
-.SH RETURN VALUE
-A null pointer is returned if anything went wrong, otherwise the new list
-pointer is returned.
-.SH EXAMPLE
-.nf
- CURL handle;
- struct curl_slist *slist=NULL;
-
- slist = curl_slist_append(slist, "pragma:");
- curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
-
- curl_easy_perform(handle);
-
- curl_slist_free_all(slist); /* free the list again */
-.fi
-.SH "SEE ALSO"
-.BR curl_slist_free_all "(3), "
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.html
deleted file mode 100644
index 50436e8..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html><head>
-<title>curl_slist_append man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_slist_append - add a string to an slist <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">struct curl_slist *curl_slist_append(struct curl_slist * list,</span> <span Class="bold">const char * string );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_slist_append() appends a specified string to a linked list of strings. The existing <span Class="emphasis">list</span> should be passed as the first argument while the new list is returned from this function. The specified <span Class="emphasis">string</span> has been appended when this function returns. curl_slist_append() copies the string.
-<p class="level0">The list should be freed again (after usage) with <a class="bold" href="./curl_slist_free_all.html">curl_slist_free_all(3)</a>. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A null pointer is returned if anything went wrong, otherwise the new list pointer is returned. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre>
-<p class="level0">&nbsp;CURL handle;
- &nbsp;struct curl_slist *slist=NULL;
- <p class="level0">&nbsp;slist = curl_slist_append(slist, "pragma:");
- &nbsp;curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
- <p class="level0">&nbsp;curl_easy_perform(handle);
- <p class="level0">&nbsp;curl_slist_free_all(slist); /* free the list again */
- </pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_slist_free_all.html">curl_slist_free_all (3)</a> <span Class="manpage"> </span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.pdf
deleted file mode 100644
index fef0dbb..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_append.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.3
deleted file mode 100644
index 079bdf1..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.3
+++ /dev/null
@@ -1,20 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_slist_free_all 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
-.SH NAME
-curl_slist_free_all - free an entire curl_slist list
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "void curl_slist_free_all(struct curl_slist *" list);
-.ad
-.SH DESCRIPTION
-curl_slist_free_all() removes all traces of a previously built curl_slist
-linked list.
-.SH RETURN VALUE
-Nothing.
-.SH "SEE ALSO"
-.BR curl_slist_append "(3), "
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.html
deleted file mode 100644
index 76a0a9d..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html><head>
-<title>curl_slist_free_all man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_slist_free_all - free an entire curl_slist list <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_slist_free_all(struct curl_slist * list);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_slist_free_all() removes all traces of a previously built curl_slist linked list. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Nothing. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_slist_append.html">curl_slist_append (3)</a> <span Class="manpage"> </span>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.pdf
deleted file mode 100644
index 992b96b..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_slist_free_all.pdf
+++ /dev/null
@@ -1,104 +0,0 @@
-%PDF-1.4
-%Çì¢
-5 0 obj
-<</Length 6 0 R/Filter /FlateDecode>>
-stream
-xœ…Së‹Ó@ÿž¿bÀnÄlg7Ù<P„ªAîèãls‚´RriÚFÓ´—GÅÿÞÝdKSì!K6agfç÷˜<R¨–~'{c0ó`[_ä³5ž Ö&€~%{øÉ$_D£«càqð¢½Á˜OQ@ôÛX¤)óU•gU½Ú”iºŠó|Iì¥ yö¤b¦ÅRDŒã¢‰sx©ÀüÝRΈÙ?ýi Û…hdÉÐ|-!Ë(T¶„­ 2Íèg0Gê ã*Œ
-ç-˜`ú„¸€´¨³2íAµu·ö`X‡Å\ê·mçß'Ó‡ùÝü’¦¡êÆäUV$y³Nὺx 6ºû Ò-冤Á–×épæР#µ ÙúZ*S‰ŽžOΚUuÙ$uô›VÃÁŒáÙ:סèj™TÊÒ|÷/+޲mŸÙçpþiv÷ÝM'×ÊöÈÝ´QÚ^¦ûÙ¢h­BF=Oc8¥*Æ©èÈr?ðªbêÜEêÛÈÎJH«ê2NÒ
-ˆáX¦&J ›œ²CSåàÉäHš,¯¯=,~™ »ÌtÝzJµD}þLxÔ.üdF³ |3™íHiŽC]yC‹É¡ÞeÅ–þo`†£ùôÅéii±¾Vß“Cïz@HûÓ¼m¥fŒQ!^Ø\·Ò?x{‚s
-XW/ƽ]jK't .“pDÖV:HÝóµ'ad|•ë/zëÏendstream
-endobj
-6 0 obj
-547
-endobj
-4 0 obj
-<</Type/Page/MediaBox [0 0 612 792]
-/Rotate 0/Parent 3 0 R
-/Resources<</ProcSet[/PDF /Text]
-/ExtGState 11 0 R
-/Font 12 0 R
->>
-/Contents 5 0 R
->>
-endobj
-3 0 obj
-<< /Type /Pages /Kids [
-4 0 R
-] /Count 1
->>
-endobj
-1 0 obj
-<</Type /Catalog /Pages 3 0 R
-/Metadata 13 0 R
->>
-endobj
-7 0 obj
-<</Type/ExtGState
-/OPM 1>>endobj
-11 0 obj
-<</R7
-7 0 R>>
-endobj
-12 0 obj
-<</R10
-10 0 R/R9
-9 0 R/R8
-8 0 R>>
-endobj
-10 0 obj
-<</BaseFont/Times-Italic/Type/Font
-/Subtype/Type1>>
-endobj
-9 0 obj
-<</BaseFont/Times-Bold/Type/Font
-/Subtype/Type1>>
-endobj
-8 0 obj
-<</BaseFont/Times-Roman/Type/Font
-/Subtype/Type1>>
-endobj
-13 0 obj
-<</Type/Metadata
-/Subtype/XML/Length 1287>>stream
-<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
-<?adobe-xap-filters esc="CRLF"?>
-<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='99616e0e-ab82-11e8-0000-0d90648fa894' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 8.62'/>
-<rdf:Description rdf:about='99616e0e-ab82-11e8-0000-0d90648fa894' xmlns:xap='http://ns.adobe.com/xap/1.0/' xap:ModifyDate='2008-08-26T13:56:43+02:00' xap:CreateDate='2008-08-26T13:56:43+02:00'><xap:CreatorTool>UnknownApplication</xap:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='99616e0e-ab82-11e8-0000-0d90648fa894' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='99616e0e-ab82-11e8-0000-0d90648fa894'/>
-<rdf:Description rdf:about='99616e0e-ab82-11e8-0000-0d90648fa894' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
-</rdf:RDF>
-</x:xmpmeta>
-
-
-<?xpacket end='w'?>
-endstream
-endobj
-2 0 obj
-<</Producer(GPL Ghostscript 8.62)
-/CreationDate(D:20080826135643+02'00')
-/ModDate(D:20080826135643+02'00')>>endobj
-xref
-0 14
-0000000000 65535 f
-0000000870 00000 n
-0000002619 00000 n
-0000000811 00000 n
-0000000651 00000 n
-0000000015 00000 n
-0000000632 00000 n
-0000000935 00000 n
-0000001189 00000 n
-0000001124 00000 n
-0000001056 00000 n
-0000000976 00000 n
-0000001006 00000 n
-0000001255 00000 n
-trailer
-<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<66D35F49E71530118CA1D4A7D657CFD1><66D35F49E71530118CA1D4A7D657CFD1>]
->>
-startxref
-2742
-%%EOF
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.3
deleted file mode 100644
index 2b99467..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.3
+++ /dev/null
@@ -1,32 +0,0 @@
-.\" $Id$
-.\"
-.TH curl_strequal 3 "30 April 2004" "libcurl 7.12" "libcurl Manual"
-.SH NAME
-curl_strequal, curl_strnequal - case insensitive string comparisons
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "int curl_strequal(char *" str1 ", char *" str2 ");"
-.sp
-.BI "int curl_strenqual(char *" str1 ", char *" str2 ", size_t " len ");"
-.SH DESCRIPTION
-The
-.B curl_strequal()
-function compares the two strings \fIstr1\fP and \fIstr2\fP, ignoring the case
-of the characters. It returns a non-zero (TRUE) integer if the strings are
-identical.
-.sp
-The \fBcurl_strnequal()\fP function is similar, except it only compares the
-first \fIlen\fP characters of \fIstr1\fP.
-.sp
-These functions are provided by libcurl to enable applications to compare
-strings in a truly portable manner. There are no standard portable case
-insensitive string comparison functions. These two works on all platforms.
-.SH AVAILABILITY
-These functions will be removed from the public libcurl API in a near
-future. They will instead be made "available" by source code access only, and
-then as curlx_strequal() and curlx_strenqual().
-.SH RETURN VALUE
-Non-zero if the strings are identical. Zero if they're not.
-.SH "SEE ALSO"
-.BR strcmp "(3), " strcasecmp "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.html
deleted file mode 100644
index 01e1127..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><head>
-<title>curl_strequal man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_strequal, curl_strnequal - case insensitive string comparisons <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">int curl_strequal(char * str1 , char * str2 );</span>
-<p class="level0"><span Class="bold">int curl_strenqual(char * str1 , char * str2 , size_t len );</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The <span Class="bold">curl_strequal()</span> function compares the two strings <span Class="emphasis">str1</span> and <span Class="emphasis">str2</span>, ignoring the case of the characters. It returns a non-zero (TRUE) integer if the strings are identical.
-<p class="level0">The <span Class="bold">curl_strnequal()</span> function is similar, except it only compares the first <span Class="emphasis">len</span> characters of <span Class="emphasis">str1</span>.
-<p class="level0">These functions are provided by libcurl to enable applications to compare strings in a truly portable manner. There are no standard portable case insensitive string comparison functions. These two works on all platforms. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">These functions will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_strequal() and curlx_strenqual(). <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Non-zero if the strings are identical. Zero if they're not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">strcmp (3)</span> <span Class="manpage"> strcasecmp (3)</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.pdf
deleted file mode 100644
index 64ac3a2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_strequal.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.3
deleted file mode 100644
index 561ef8f..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.3
+++ /dev/null
@@ -1,31 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_unescape 3 "22 March 2001" "libcurl 7.7" "libcurl Manual"
-.SH NAME
-curl_unescape - URL decodes the given string
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "char *curl_unescape( char *" url ", int "length " );"
-.ad
-.SH DESCRIPTION
-Obsolete function. Use \fIcurl_easy_unescape(3)\fP instead!
-
-This function will convert the given URL encoded input string to a "plain
-string" and return that as a new allocated string. All input characters that
-are URL encoded (%XX where XX is a two-digit hexadecimal number) will be
-converted to their plain text versions.
-
-If the 'length' argument is set to 0, curl_unescape() will use strlen() on the
-input 'url' string to find out the size.
-
-You must curl_free() the returned string when you're done with it.
-.SH AVAILABILITY
-Since 7.15.4, \fIcurl_easy_unescape(3)\fP should be used. This function will
-be removed in a future release.
-.SH RETURN VALUE
-A pointer to a zero terminated string or NULL if it failed.
-.SH "SEE ALSO"
-.I curl_easy_escape(3), curl_easy_unescape(3), curl_free(3), RFC 2396
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.html
deleted file mode 100644
index 5e34606..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html><head>
-<title>curl_unescape man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_unescape - URL decodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_unescape( char * url , int length );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Obsolete function. Use <a class="emphasis" href="./curl_easy_unescape.html">curl_easy_unescape(3)</a> instead!
-<p class="level0">This function will convert the given URL encoded input string to a "plain string" and return that as a new allocated string. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) will be converted to their plain text versions.
-<p class="level0">If the 'length' argument is set to 0, curl_unescape() will use strlen() on the input 'url' string to find out the size.
-<p class="level0">You must curl_free() the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Since 7.15.4, <a class="emphasis" href="./curl_easy_unescape.html">curl_easy_unescape(3)</a> should be used. This function will be removed in a future release. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="emphasis">curl_easy_escape(3), curl_easy_unescape(3), curl_free(3), RFC 2396</span> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.pdf
deleted file mode 100644
index b8d3009..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_unescape.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.3
deleted file mode 100644
index 4998c75..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.3
+++ /dev/null
@@ -1,19 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH curl_version 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
-.SH NAME
-curl_version - returns the libcurl version string
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "char *curl_version( );"
-.ad
-.SH DESCRIPTION
-Returns a human readable string with the version number of libcurl and some of
-its important components (like OpenSSL version).
-.SH RETURN VALUE
-A pointer to a zero terminated string.
-.SH "SEE ALSO"
-.BR curl_version_info "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.html
deleted file mode 100644
index d2f1032..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html><head>
-<title>curl_version man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_version - returns the libcurl version string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_version( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Returns a human readable string with the version number of libcurl and some of its important components (like OpenSSL version). <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_version_info.html">curl_version_info (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.pdf
deleted file mode 100644
index 4e97d39..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.3
deleted file mode 100644
index 21f72ae..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.3
+++ /dev/null
@@ -1,148 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2006, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH curl_version_info 3 "2 Nov 2006" "libcurl 7.16.1" "libcurl Manual"
-.SH NAME
-curl_version_info - returns run-time libcurl version info
-.SH SYNOPSIS
-.B #include <curl/curl.h>
-.sp
-.BI "curl_version_info_data *curl_version_info( CURLversion "type ");"
-.ad
-.SH DESCRIPTION
-Returns a pointer to a filled in struct with information about various
-run-time features in libcurl. \fItype\fP should be set to the version of this
-functionality by the time you write your program. This way, libcurl will
-always return a proper struct that your program understands, while programs in
-the future might get an different struct. CURLVERSION_NOW will be the most
-recent one for the library you have installed:
-
- data = curl_version_info(CURLVERSION_NOW);
-
-Applications should use this information to judge if things are possible to do
-or not, instead of using compile-time checks, as dynamic/DLL libraries can be
-changed independent of applications.
-
-The curl_version_info_data struct looks like this
-
-.nf
-typedef struct {
- CURLversion age; /* see description below */
-
- /* when 'age' is 0 or higher, the members below also exist: */
- const char *version; /* human readable string */
- unsigned int version_num; /* numeric representation */
- const char *host; /* human readable string */
- int features; /* bitmask, see below */
- char *ssl_version; /* human readable string */
- long ssl_version_num; /* not used, always zero */
- const char *libz_version; /* human readable string */
- const char **protocols; /* list of protocols */
-
- /* when 'age' is 1 or higher, the members below also exist: */
- const char *ares; /* human readable string */
- int ares_num; /* number */
-
- /* when 'age' is 2 or higher, the member below also exists: */
- const char *libidn; /* human readable string */
-
- /* when 'age' is 3 or higher, the members below also exist: */
- int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */
-
- const char *libssh_version; /* human readable string */
-
-} curl_version_info_data;
-.fi
-
-\fIage\fP describes what age of this struct this is. The number depends on how
-new libcurl you're using. You are however guaranteed to get a struct that you
-have a matching struct for in the header, as you tell libcurl your "age" with
-the input argument.
-
-\fIversion\fP is just an ascii string for the libcurl version.
-
-\fIversion_num\fP is a 24 bit number created like this: <8 bits major number>
-| <8 bits minor number> | <8 bits patch number>. Version 7.9.8 is therefore
-returned as 0x070908.
-
-\fIhost\fP is an ascii string showing what host information that this libcurl
-was built for. As discovered by a configure script or set by the build
-environment.
-
-\fIfeatures\fP can have none, one or more bits set, and the currently defined
-bits are:
-.RS
-.IP CURL_VERSION_IPV6
-supports IPv6
-.IP CURL_VERSION_KERBEROS4
-supports kerberos4 (when using FTP)
-.IP CURL_VERSION_SSL
-supports SSL (HTTPS/FTPS) (Added in 7.10)
-.IP CURL_VERSION_LIBZ
-supports HTTP deflate using libz (Added in 7.10)
-.IP CURL_VERSION_NTLM
-supports HTTP NTLM (added in 7.10.6)
-.IP CURL_VERSION_GSSNEGOTIATE
-supports HTTP GSS-Negotiate (added in 7.10.6)
-.IP CURL_VERSION_DEBUG
-libcurl was built with extra debug capabilities built-in. This is mainly of
-interest for libcurl hackers. (added in 7.10.6)
-.IP CURL_VERSION_ASYNCHDNS
-libcurl was built with support for asynchronous name lookups, which allows
-more exact timeouts (even on Windows) and less blocking when using the multi
-interface. (added in 7.10.7)
-.IP CURL_VERSION_SPNEGO
-libcurl was built with support for SPNEGO authentication (Simple and Protected
-GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8)
-.IP CURL_VERSION_LARGEFILE
-libcurl was built with support for large files. (Added in 7.11.1)
-.IP CURL_VERSION_IDN
-libcurl was built with support for IDNA, domain names with international
-letters. (Added in 7.12.0)
-.IP CURL_VERSION_SSPI
-libcurl was built with support for SSPI. This is only available on Windows and
-makes libcurl use Windows-provided functions for NTLM authentication. It also
-allows libcurl to use the current user and the current user's password without
-the app having to pass them on. (Added in 7.13.2)
-.IP CURL_VERSION_CONV
-libcurl was built with support for character conversions, as provided by the
-CUURLOPT_CONV_* callbacks. (Added in 7.15.4)
-.RE
-\fIssl_version\fP is an ascii string for the OpenSSL version used. If libcurl
-has no SSL support, this is NULL.
-
-\fIssl_version_num\fP is the numerical OpenSSL version value as defined by the
-OpenSSL project. If libcurl has no SSL support, this is 0.
-
-\fIlibz_version\fP is an ascii string (there is no numerical version). If
-libcurl has no libz support, this is NULL.
-
-\fIprotocols\fP is a pointer to an array of char * pointers, containing the
-names protocols that libcurl supports (using lowercase letters). The protocol
-names are the same as would be used in URLs. The array is terminated by a NULL
-entry.
-.SH RETURN VALUE
-A pointer to a curl_version_info_data struct.
-.SH "SEE ALSO"
-\fIcurl_version(3)\fP
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.html b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.html
deleted file mode 100644
index 278444a..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<html><head>
-<title>curl_version_info man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_version_info - returns run-time libcurl version info <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">curl_version_info_data *curl_version_info( CURLversion type );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Returns a pointer to a filled in struct with information about various run-time features in libcurl. <span Class="emphasis">type</span> should be set to the version of this functionality by the time you write your program. This way, libcurl will always return a proper struct that your program understands, while programs in the future might get an different struct. CURLVERSION_NOW will be the most recent one for the library you have installed:
-<p class="level0">&nbsp; data = curl_version_info(CURLVERSION_NOW);
-<p class="level0">Applications should use this information to judge if things are possible to do or not, instead of using compile-time checks, as dynamic/DLL libraries can be changed independent of applications.
-<p class="level0">The curl_version_info_data struct looks like this
-<p class="level0"><pre>
-<p class="level0">typedef struct {
- &nbsp; CURLversion age; /* see description below */
- <p class="level0">&nbsp; /* when 'age' is 0 or higher, the members below also exist: */
- &nbsp; const char *version; /* human readable string */
- &nbsp; unsigned int version_num; /* numeric representation */
- &nbsp; const char *host; /* human readable string */
- &nbsp; int features; /* bitmask, see below */
- &nbsp; char *ssl_version; /* human readable string */
- &nbsp; long ssl_version_num; /* not used, always zero */
- &nbsp; const char *libz_version; /* human readable string */
- &nbsp; const char **protocols; /* list of protocols */
- <p class="level0">&nbsp; /* when 'age' is 1 or higher, the members below also exist: */
- &nbsp; const char *ares; /* human readable string */
- &nbsp; int ares_num; /* number */
- <p class="level0">&nbsp; /* when 'age' is 2 or higher, the member below also exists: */
- &nbsp; const char *libidn; /* human readable string */
- <p class="level0">&nbsp; /* when 'age' is 3 or higher, the members below also exist: */
- &nbsp; int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */
- <p class="level0">&nbsp; const char *libssh_version; /* human readable string */
- <p class="level0">} curl_version_info_data;
- </pre>
-
-<p class="level0">
-<p class="level0"><span Class="emphasis">age</span> describes what age of this struct this is. The number depends on how new libcurl you're using. You are however guaranteed to get a struct that you have a matching struct for in the header, as you tell libcurl your "age" with the input argument.
-<p class="level0"><span Class="emphasis">version</span> is just an ascii string for the libcurl version.
-<p class="level0"><span Class="emphasis">version_num</span> is a 24 bit number created like this: &lt;8 bits major number&gt; | &lt;8 bits minor number&gt; | &lt;8 bits patch number&gt;. Version 7.9.8 is therefore returned as 0x070908.
-<p class="level0"><span Class="emphasis">host</span> is an ascii string showing what host information that this libcurl was built for. As discovered by a configure script or set by the build environment.
-<p class="level0"><span Class="emphasis">features</span> can have none, one or more bits set, and the currently defined bits are:
-<p class="level1">
-<p class="level0"><a name="CURLVERSIONIPV6"></a><span class="nroffip">CURL_VERSION_IPV6</span>
-<p class="level1">supports IPv6
-<p class="level0"><a name="CURLVERSIONKERBEROS4"></a><span class="nroffip">CURL_VERSION_KERBEROS4</span>
-<p class="level1">supports kerberos4 (when using FTP)
-<p class="level0"><a name="CURLVERSIONSSL"></a><span class="nroffip">CURL_VERSION_SSL</span>
-<p class="level1">supports SSL (HTTPS/FTPS) (Added in 7.10)
-<p class="level0"><a name="CURLVERSIONLIBZ"></a><span class="nroffip">CURL_VERSION_LIBZ</span>
-<p class="level1">supports HTTP deflate using libz (Added in 7.10)
-<p class="level0"><a name="CURLVERSIONNTLM"></a><span class="nroffip">CURL_VERSION_NTLM</span>
-<p class="level1">supports HTTP NTLM (added in 7.10.6)
-<p class="level0"><a name="CURLVERSIONGSSNEGOTIATE"></a><span class="nroffip">CURL_VERSION_GSSNEGOTIATE</span>
-<p class="level1">supports HTTP GSS-Negotiate (added in 7.10.6)
-<p class="level0"><a name="CURLVERSIONDEBUG"></a><span class="nroffip">CURL_VERSION_DEBUG</span>
-<p class="level1">libcurl was built with extra debug capabilities built-in. This is mainly of interest for libcurl hackers. (added in 7.10.6)
-<p class="level0"><a name="CURLVERSIONASYNCHDNS"></a><span class="nroffip">CURL_VERSION_ASYNCHDNS</span>
-<p class="level1">libcurl was built with support for asynchronous name lookups, which allows more exact timeouts (even on Windows) and less blocking when using the multi interface. (added in 7.10.7)
-<p class="level0"><a name="CURLVERSIONSPNEGO"></a><span class="nroffip">CURL_VERSION_SPNEGO</span>
-<p class="level1">libcurl was built with support for SPNEGO authentication (Simple and Protected GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8)
-<p class="level0"><a name="CURLVERSIONLARGEFILE"></a><span class="nroffip">CURL_VERSION_LARGEFILE</span>
-<p class="level1">libcurl was built with support for large files. (Added in 7.11.1)
-<p class="level0"><a name="CURLVERSIONIDN"></a><span class="nroffip">CURL_VERSION_IDN</span>
-<p class="level1">libcurl was built with support for IDNA, domain names with international letters. (Added in 7.12.0)
-<p class="level0"><a name="CURLVERSIONSSPI"></a><span class="nroffip">CURL_VERSION_SSPI</span>
-<p class="level1">libcurl was built with support for SSPI. This is only available on Windows and makes libcurl use Windows-provided functions for NTLM authentication. It also allows libcurl to use the current user and the current user's password without the app having to pass them on. (Added in 7.13.2)
-<p class="level0"><a name="CURLVERSIONCONV"></a><span class="nroffip">CURL_VERSION_CONV</span>
-<p class="level1">libcurl was built with support for character conversions, as provided by the CUURLOPT_CONV_* callbacks. (Added in 7.15.4)
-<p class="level0"><span Class="emphasis">ssl_version</span> is an ascii string for the OpenSSL version used. If libcurl has no SSL support, this is NULL.
-<p class="level0"><span Class="emphasis">ssl_version_num</span> is the numerical OpenSSL version value as defined by the OpenSSL project. If libcurl has no SSL support, this is 0.
-<p class="level0"><span Class="emphasis">libz_version</span> is an ascii string (there is no numerical version). If libcurl has no libz support, this is NULL.
-<p class="level0"><span Class="emphasis">protocols</span> is a pointer to an array of char * pointers, containing the names protocols that libcurl supports (using lowercase letters). The protocol names are the same as would be used in URLs. The array is terminated by a NULL entry. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a curl_version_info_data struct. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="emphasis" href="./curl_version.html">curl_version(3)</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.pdf
deleted file mode 100644
index 3ac2265..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/curl_version_info.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/index.html b/Utilities/cmcurl-7.19.0/docs/libcurl/index.html
deleted file mode 100644
index 287a2dd..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Index to libcurl documentation</title>
-</head>
-
-<body>
-<h1 align="center">Index to libcurl documentation</h1>
-
-<h2>Programs</h2>
-<p><a href="../index.html">curl and tools</a>
-
-<h2>Overviews</h2>
-<A HREF="libcurl.html">libcurl</A>
-<br><a href="libcurl-easy.html">libcurl-easy</a>
-<br><a href="libcurl-multi.html">libcurl-multi</a>
-<br><a href="libcurl-share.html">libcurl-share</a>
-<br><a href="libcurl-errors.html">libcurl-errors</a>
-<br><a href="libcurl-tutorial.html">libcurl-tutorial</a>
-
-<H2>Library Functions (A-Z)</H2>
-<a href="curl_easy_cleanup.html">curl_easy_cleanup</A>
-<br><a href="curl_easy_duphandle.html">curl_easy_duphandle</A>
-<br><a href="curl_easy_getinfo.html">curl_easy_getinfo</A>
-<br><a href="curl_easy_init.html">curl_easy_init</A>
-<br><a href="curl_easy_perform.html">curl_easy_perform</A>
-<br><a href="curl_easy_recv.html">curl_easy_recv</A>
-<br><a href="curl_easy_reset.html">curl_easy_reset</A>
-<br><a href="curl_easy_send.html">curl_easy_send</A>
-<br><a href="curl_easy_setopt.html">curl_easy_setopt</A>
-<br><a href="curl_easy_strerror.html">curl_easy_strerror</A>
-<br><a href="curl_escape.html">curl_escape</A>
-<br><a href="curl_formadd.html">curl_formadd</A>
-<br><a href="curl_formfree.html">curl_formfree</A>
-<br><a href="curl_free.html">curl_free</A>
-<br><a href="curl_getdate.html">curl_getdate</A>
-<br><a href="curl_getenv.html">curl_getenv</A>
-<br><a href="curl_global_cleanup.html">curl_global_cleanup</A>
-<br><a href="curl_global_init.html">curl_global_init</A>
-<br><a href="curl_global_init_mem.html">curl_global_init_mem</A>
-<br><a href="curl_mprintf.html">curl_mprintf</A>
-<br><a href="curl_multi_add_handle.html">curl_multi_add_handle</a>
-<br><a href="curl_multi_cleanup.html">curl_multi_cleanup</a>
-<br><a href="curl_multi_fdset.html">curl_multi_fdset</a>
-<br><a href="curl_multi_info_read.html">curl_multi_info_read</a>
-<br><a href="curl_multi_init.html">curl_multi_init</a>
-<br><a href="curl_multi_perform.html">curl_multi_perform</a>
-<br><a href="curl_multi_remove_handle.html">curl_multi_remove_handle</a>
-<br><a href="curl_multi_strerror.html">curl_multi_strerror.html</a>
-<br><a href="curl_share_cleanup.html">curl_share_cleanup</A>
-<br><a href="curl_share_init.html">curl_share_init</A>
-<br><a href="curl_share_setopt.html">curl_share_setopt</A>
-<br><a href="curl_share_strerror.html">curl_share_strerror.html</a>
-<br><a href="curl_slist_append.html">curl_slist_append</A>
-<br><a href="curl_slist_free_all.html">curl_slist_free_all</A>
-<br><a href="curl_strequal.html">curl_strequal and curl_strnequal</A>
-<br><a href="curl_unescape.html">curl_unescape</A>
-<br><a href="curl_version.html">curl_version</A>
-<br><a href="curl_version_info.html">curl_version_info</A>
-
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.3
deleted file mode 100644
index 5280bf6..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.3
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH libcurl 3 "12 Aug 2003" "libcurl 7.10.7" "libcurl easy interface"
-.SH NAME
-libcurl-easy \- easy interface overview
-.SH DESCRIPTION
-When using libcurl's "easy" interface you init your session and get a handle
-(often referred to as an "easy handle"), which you use as input to the easy
-interface functions you use. Use \fIcurl_easy_init(3)\fP to get the handle.
-
-You continue by setting all the options you want in the upcoming transfer, the
-most important among them is the URL itself (you can't transfer anything
-without a specified URL as you may have figured out yourself). You might want
-to set some callbacks as well that will be called from the library when data
-is available etc. \fIcurl_easy_setopt(3)\fP is used for all this.
-
-When all is setup, you tell libcurl to perform the transfer using
-\fIcurl_easy_perform(3)\fP. It will then do the entire operation and won't
-return until it is done (successfully or not).
-
-After the transfer has been made, you can set new options and make another
-transfer, or if you're done, cleanup the session by calling
-\fIcurl_easy_cleanup(3)\fP. If you want persistent connections, you don't
-cleanup immediately, but instead run ahead and perform other transfers using
-the same easy handle.
-
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.html b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.html
deleted file mode 100644
index 8c9f5e5..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<html><head>
-<title>libcurl man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-easy - easy interface overview <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use <a class="emphasis" href="./curl_easy_init.html">curl_easy_init(3)</a> to get the handle.
-<p class="level0">You continue by setting all the options you want in the upcoming transfer, the most important among them is the URL itself (you can't transfer anything without a specified URL as you may have figured out yourself). You might want to set some callbacks as well that will be called from the library when data is available etc. <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> is used for all this.
-<p class="level0">When all is setup, you tell libcurl to perform the transfer using <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a>. It will then do the entire operation and won't return until it is done (successfully or not).
-<p class="level0">After the transfer has been made, you can set new options and make another transfer, or if you're done, cleanup the session by calling <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>. If you want persistent connections, you don't cleanup immediately, but instead run ahead and perform other transfers using the same easy handle.
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.pdf
deleted file mode 100644
index 1141ddb..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-easy.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.3
deleted file mode 100644
index 4fb87ad..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.3
+++ /dev/null
@@ -1,259 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2008, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH libcurl-errors 3 "8 Jun 2008" "libcurl 7.19.0" "libcurl errors"
-.SH NAME
-libcurl-errors \- error codes in libcurl
-.SH DESCRIPTION
-This man page includes most, if not all, available error codes in libcurl.
-Why they occur and possibly what you can do to fix the problem.
-.SH "CURLcode"
-Almost all "easy" interface functions return a CURLcode error code. No matter
-what, using the \fIcurl_easy_setopt(3)\fP option \fICURLOPT_ERRORBUFFER\fP is
-a good idea as it will give you a human readable error string that may offer
-more details about the error cause than just the error code
-does. \fIcurl_easy_strerror(3)\fP can be called to get an error string from a
-given CURLcode number.
-
-CURLcode is one of the following:
-.IP "CURLE_OK (0)"
-All fine. Proceed as usual.
-.IP "CURLE_UNSUPPORTED_PROTOCOL (1)"
-The URL you passed to libcurl used a protocol that this libcurl does not
-support. The support might be a compile-time option that you didn't use, it
-can be a misspelled protocol string or just a protocol libcurl has no code
-for.
-.IP "CURLE_FAILED_INIT (2)"
-Very early initialization code failed. This is likely to be an internal error
-or problem.
-.IP "CURLE_URL_MALFORMAT (3)"
-The URL was not properly formatted.
-.IP "CURLE_COULDNT_RESOLVE_PROXY (5)"
-Couldn't resolve proxy. The given proxy host could not be resolved.
-.IP "CURLE_COULDNT_RESOLVE_HOST (6)"
-Couldn't resolve host. The given remote host was not resolved.
-.IP "CURLE_COULDNT_CONNECT (7)"
-Failed to connect() to host or proxy.
-.IP "CURLE_FTP_WEIRD_SERVER_REPLY (8)"
-After connecting to an FTP server, libcurl expects to get a certain reply
-back. This error code implies that it got a strange or bad reply. The given
-remote server is probably not an OK FTP server.
-.IP "CURLE_REMOTE_ACCESS_DENIED (9)"
-We were denied access to the resource given in the URL. For FTP, this occurs
-while trying to change to the remote directory.
-.IP "CURLE_FTP_WEIRD_PASS_REPLY (11)"
-After having sent the FTP password to the server, libcurl expects a proper
-reply. This error code indicates that an unexpected code was returned.
-.IP "CURLE_FTP_WEIRD_PASV_REPLY (13)"
-libcurl failed to get a sensible result back from the server as a response to
-either a PASV or a EPSV command. The server is flawed.
-.IP "CURLE_FTP_WEIRD_227_FORMAT (14)"
-FTP servers return a 227-line as a response to a PASV command. If libcurl
-fails to parse that line, this return code is passed back.
-.IP "CURLE_FTP_CANT_GET_HOST (15)"
-An internal failure to lookup the host used for the new connection.
-.IP "CURLE_FTP_COULDNT_SET_TYPE (17)"
-Received an error when trying to set the transfer mode to binary or ascii.
-.IP "CURLE_PARTIAL_FILE (18)"
-A file transfer was shorter or larger than expected. This happens when the
-server first reports an expected transfer size, and then delivers data that
-doesn't match the previously given size.
-.IP "CURLE_FTP_COULDNT_RETR_FILE (19)"
-This was either a weird reply to a 'RETR' command or a zero byte transfer
-complete.
-.IP "CURLE_QUOTE_ERROR (21)"
-When sending custom "QUOTE" commands to the remote server, one of the commands
-returned an error code that was 400 or higher (for FTP) or otherwise
-indicated unsuccessful completion of the command.
-.IP "CURLE_HTTP_RETURNED_ERROR (22)"
-This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server
-returns an error code that is >= 400. (This error code was formerly known as
-CURLE_HTTP_NOT_FOUND.)
-.IP "CURLE_WRITE_ERROR (23)"
-An error occurred when writing received data to a local file, or an error was
-returned to libcurl from a write callback.
-.IP "CURLE_UPLOAD_FAILED (25)"
-Failed starting the upload. For FTP, the server typically denied the STOR
-command. The error buffer usually contains the server's explanation to this.
-(This error code was formerly known as CURLE_FTP_COULDNT_STOR_FILE.)
-.IP "CURLE_READ_ERROR (26)"
-There was a problem reading a local file or an error returned by the read
-callback.
-.IP "CURLE_OUT_OF_MEMORY (27)"
-A memory allocation request failed. This is serious badness and
-things are severely screwed up if this ever occur.
-.IP "CURLE_OPERATION_TIMEDOUT (28)"
-Operation timeout. The specified time-out period was reached according to the
-conditions.
-.IP "CURLE_FTP_PORT_FAILED (30)"
-The FTP PORT command returned error. This mostly happen when you haven't
-specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT\fP.
-.IP "CURLE_FTP_COULDNT_USE_REST (31)"
-The FTP REST command returned error. This should never happen if the server is
-sane.
-.IP "CURLE_RANGE_ERROR (33)"
-The server does not support or accept range requests.
-.IP "CURLE_HTTP_POST_ERROR (34)"
-This is an odd error that mainly occurs due to internal confusion.
-.IP "CURLE_SSL_CONNECT_ERROR (35)"
-A problem occurred somewhere in the SSL/TLS handshake. You really want the
-error buffer and read the message there as it pinpoints the problem slightly
-more. Could be certificates (file formats, paths, permissions), passwords, and
-others.
-.IP "CURLE_FTP_BAD_DOWNLOAD_RESUME (36)"
-Attempting FTP resume beyond file size.
-.IP "CURLE_FILE_COULDNT_READ_FILE (37)"
-A file given with FILE:// couldn't be opened. Most likely because the file
-path doesn't identify an existing file. Did you check file permissions?
-.IP "CURLE_LDAP_CANNOT_BIND (38)"
-LDAP cannot bind. LDAP bind operation failed.
-.IP "CURLE_LDAP_SEARCH_FAILED (39)"
-LDAP search failed.
-.IP "CURLE_FUNCTION_NOT_FOUND (41)"
-Function not found. A required zlib function was not found.
-.IP "CURLE_ABORTED_BY_CALLBACK (42)"
-Aborted by callback. A callback returned "abort" to libcurl.
-.IP "CURLE_BAD_FUNCTION_ARGUMENT (43)"
-Internal error. A function was called with a bad parameter.
-.IP "CURLE_INTERFACE_FAILED (45)"
-Interface error. A specified outgoing interface could not be used. Set which
-interface to use for outgoing connections' source IP address with
-CURLOPT_INTERFACE. (This error code was formerly known as
-CURLE_HTTP_PORT_FAILED.)
-.IP "CURLE_TOO_MANY_REDIRECTS (47)"
-Too many redirects. When following redirects, libcurl hit the maximum amount.
-Set your limit with CURLOPT_MAXREDIRS.
-.IP "CURLE_UNKNOWN_TELNET_OPTION (48)"
-An option set with CURLOPT_TELNETOPTIONS was not recognized/known. Refer to
-the appropriate documentation.
-.IP "CURLE_TELNET_OPTION_SYNTAX (49)"
-A telnet option string was Illegally formatted.
-.IP "CURLE_PEER_FAILED_VERIFICATION (51)"
-The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.
-.IP "CURLE_GOT_NOTHING (52)"
-Nothing was returned from the server, and under the circumstances, getting
-nothing is considered an error.
-.IP "CURLE_SSL_ENGINE_NOTFOUND (53)"
-The specified crypto engine wasn't found.
-.IP "CURLE_SSL_ENGINE_SETFAILED (54)"
-Failed setting the selected SSL crypto engine as default!
-.IP "CURLE_SEND_ERROR (55)"
-Failed sending network data.
-.IP "CURLE_RECV_ERROR (56)"
-Failure with receiving network data.
-.IP "CURLE_SSL_CERTPROBLEM (58)"
-problem with the local client certificate
-.IP "CURLE_SSL_CIPHER (59)"
-Couldn't use specified cipher
-.IP "CURLE_SSL_CACERT (60)"
-Peer certificate cannot be authenticated with known CA certificates
-.IP "CURLE_BAD_CONTENT_ENCODING (61)"
-Unrecognized transfer encoding
-.IP "CURLE_LDAP_INVALID_URL (62)"
-Invalid LDAP URL
-.IP "CURLE_FILESIZE_EXCEEDED (63)"
-Maximum file size exceeded
-.IP "CURLE_USE_SSL_FAILED (64)"
-Requested FTP SSL level failed
-.IP "CURLE_SEND_FAIL_REWIND (65)"
-When doing a send operation curl had to rewind the data to retransmit, but the
-rewinding operation failed
-.IP "CURLE_SSL_ENGINE_INITFAILED (66)"
-Initiating the SSL Engine failed
-.IP "CURLE_LOGIN_DENIED (67)"
-The remote server denied curl to login (Added in 7.13.1)
-.IP "CURLE_TFTP_NOTFOUND (68)"
-File not found on TFTP server
-.IP "CURLE_TFTP_PERM (69)"
-Permission problem on TFTP server
-.IP "CURLE_REMOTE_DISK_FULL (70)"
-Out of disk space on the server
-.IP "CURLE_TFTP_ILLEGAL (71)"
-Illegal TFTP operation
-.IP "CURLE_TFTP_UNKNOWNID (72)"
-Unknown TFTP transfer ID
-.IP "CURLE_REMOTE_FILE_EXISTS (73)"
-File already exists and will not be overwritten
-.IP "CURLE_TFTP_NOSUCHUSER (74)"
-This error should never be returned by a properly functioning TFTP server
-.IP "CURLE_CONV_FAILED (75)"
-Character conversion failed
-.IP "CURLE_CONV_REQD (76)"
-Caller must register conversion callbacks
-.IP "CURLE_SSL_CACERT_BADFILE (77)"
-Problem with reading the SSL CA cert (path? access rights?)
-.IP "CURLE_REMOTE_FILE_NOT_FOUND (78)"
-The resource referenced in the URL does not exist
-.IP "CURLE_SSH (79)"
-An unspecified error occurred during the SSH session
-.IP "CURLE_SSL_SHUTDOWN_FAILED (80)"
-Failed to shut down the SSL connection
-.IP "CURLE_AGAIN (81)"
-Socket is not ready for send/recv wait till it's ready and try again. This
-return code is only returned from \fIcurl_easy_recv(3)\fP and
-\fIcurl_easy_send(3)\fP (Added in 7.18.2)
-.IP "CURLE_SSL_CRL_BADFILE (82)"
-Failed to load CRL file (Added in 7.19.0)
-.IP "CURLE_SSL_ISSUER_ERROR (83)"
-Issuer check failed (Added in 7.19.0)
-.IP "CURLE_OBSOLETE*"
-These error codes will never be returned. They used to be used in an old libcurl
-version and are currently unused.
-.SH "CURLMcode"
-This is the generic return code used by functions in the libcurl multi
-interface. Also consider \fIcurl_multi_strerror(3)\fP.
-.IP "CURLM_CALL_MULTI_PERFORM (-1)"
-This is not really an error. It means you should call
-\fIcurl_multi_perform(3)\fP again without doing select() or similar in between.
-.IP "CURLM_OK (0)"
-Things are fine.
-.IP "CURLM_BAD_HANDLE (1)"
-The passed-in handle is not a valid CURLM handle.
-.IP "CURLM_BAD_EASY_HANDLE (2)"
-An easy handle was not good/valid. It could mean that it isn't an easy handle
-at all, or possibly that the handle already is in used by this or another
-multi handle.
-.IP "CURLM_OUT_OF_MEMORY (3)"
-You are doomed.
-.IP "CURLM_INTERNAL_ERROR (4)"
-This can only be returned if libcurl bugs. Please report it to us!
-.IP "CURLM_BAD_SOCKET (5)"
-The passed-in socket is not a valid one that libcurl already knows about.
-(Added in 7.15.4)
-.IP "CURLM_UNKNOWN_OPTION (6)"
-curl_multi_setopt() with unsupported option
-(Added in 7.15.4)
-.SH "CURLSHcode"
-The "share" interface will return a CURLSHcode to indicate when an error has
-occurred. Also consider \fIcurl_share_strerror(3)\fP.
-.IP "CURLSHE_OK (0)"
-All fine. Proceed as usual.
-.IP "CURLSHE_BAD_OPTION (1)"
-An invalid option was passed to the function.
-.IP "CURLSHE_IN_USE (2)"
-The share object is currently in use.
-.IP "CURLSHE_INVALID (3)"
-An invalid share object was passed to the function.
-.IP "CURLSHE_NOMEM (4)"
-Not enough memory was available.
-(Added in 7.12.0)
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.html b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.html
deleted file mode 100644
index ef832ef..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<html><head>
-<title>libcurl-errors man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-errors - error codes in libcurl <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem. <a name="CURLcode"></a><h2 class="nroffsh">CURLcode</h2>
-<p class="level0">Almost all "easy" interface functions return a CURLcode error code. No matter what, using the <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> option <span Class="emphasis">CURLOPT_ERRORBUFFER</span> is a good idea as it will give you a human readable error string that may offer more details about the error cause than just the error code does. <a class="emphasis" href="./curl_easy_strerror.html">curl_easy_strerror(3)</a> can be called to get an error string from a given CURLcode number.
-<p class="level0">CURLcode is one of the following:
-<p class="level0"><a name="CURLEOK"></a><span class="nroffip">CURLE_OK (0)</span>
-<p class="level1">All fine. Proceed as usual.
-<p class="level0"><a name="CURLEUNSUPPORTEDPROTOCOL"></a><span class="nroffip">CURLE_UNSUPPORTED_PROTOCOL (1)</span>
-<p class="level1">The URL you passed to libcurl used a protocol that this libcurl does not support. The support might be a compile-time option that you didn't use, it can be a misspelled protocol string or just a protocol libcurl has no code for.
-<p class="level0"><a name="CURLEFAILEDINIT"></a><span class="nroffip">CURLE_FAILED_INIT (2)</span>
-<p class="level1">Very early initialization code failed. This is likely to be an internal error or problem.
-<p class="level0"><a name="CURLEURLMALFORMAT"></a><span class="nroffip">CURLE_URL_MALFORMAT (3)</span>
-<p class="level1">The URL was not properly formatted.
-<p class="level0"><a name="CURLECOULDNTRESOLVEPROXY"></a><span class="nroffip">CURLE_COULDNT_RESOLVE_PROXY (5)</span>
-<p class="level1">Couldn't resolve proxy. The given proxy host could not be resolved.
-<p class="level0"><a name="CURLECOULDNTRESOLVEHOST"></a><span class="nroffip">CURLE_COULDNT_RESOLVE_HOST (6)</span>
-<p class="level1">Couldn't resolve host. The given remote host was not resolved.
-<p class="level0"><a name="CURLECOULDNTCONNECT"></a><span class="nroffip">CURLE_COULDNT_CONNECT (7)</span>
-<p class="level1">Failed to connect() to host or proxy.
-<p class="level0"><a name="CURLEFTPWEIRDSERVERREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_SERVER_REPLY (8)</span>
-<p class="level1">After connecting to an FTP server, libcurl expects to get a certain reply back. This error code implies that it got a strange or bad reply. The given remote server is probably not an OK FTP server.
-<p class="level0"><a name="CURLEREMOTEACCESSDENIED"></a><span class="nroffip">CURLE_REMOTE_ACCESS_DENIED (9)</span>
-<p class="level1">We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory.
-<p class="level0"><a name="CURLEFTPWEIRDPASSREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_PASS_REPLY (11)</span>
-<p class="level1">After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned.
-<p class="level0"><a name="CURLEFTPWEIRDPASVREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_PASV_REPLY (13)</span>
-<p class="level1">libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed.
-<p class="level0"><a name="CURLEFTPWEIRD227FORMAT"></a><span class="nroffip">CURLE_FTP_WEIRD_227_FORMAT (14)</span>
-<p class="level1">FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back.
-<p class="level0"><a name="CURLEFTPCANTGETHOST"></a><span class="nroffip">CURLE_FTP_CANT_GET_HOST (15)</span>
-<p class="level1">An internal failure to lookup the host used for the new connection.
-<p class="level0"><a name="CURLEFTPCOULDNTSETTYPE"></a><span class="nroffip">CURLE_FTP_COULDNT_SET_TYPE (17)</span>
-<p class="level1">Received an error when trying to set the transfer mode to binary or ascii.
-<p class="level0"><a name="CURLEPARTIALFILE"></a><span class="nroffip">CURLE_PARTIAL_FILE (18)</span>
-<p class="level1">A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size.
-<p class="level0"><a name="CURLEFTPCOULDNTRETRFILE"></a><span class="nroffip">CURLE_FTP_COULDNT_RETR_FILE (19)</span>
-<p class="level1">This was either a weird reply to a 'RETR' command or a zero byte transfer complete.
-<p class="level0"><a name="CURLEQUOTEERROR"></a><span class="nroffip">CURLE_QUOTE_ERROR (21)</span>
-<p class="level1">When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command.
-<p class="level0"><a name="CURLEHTTPRETURNEDERROR"></a><span class="nroffip">CURLE_HTTP_RETURNED_ERROR (22)</span>
-<p class="level1">This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server returns an error code that is &gt;= 400. (This error code was formerly known as CURLE_HTTP_NOT_FOUND.)
-<p class="level0"><a name="CURLEWRITEERROR"></a><span class="nroffip">CURLE_WRITE_ERROR (23)</span>
-<p class="level1">An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.
-<p class="level0"><a name="CURLEUPLOADFAILED"></a><span class="nroffip">CURLE_UPLOAD_FAILED (25)</span>
-<p class="level1">Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation to this. (This error code was formerly known as CURLE_FTP_COULDNT_STOR_FILE.)
-<p class="level0"><a name="CURLEREADERROR"></a><span class="nroffip">CURLE_READ_ERROR (26)</span>
-<p class="level1">There was a problem reading a local file or an error returned by the read callback.
-<p class="level0"><a name="CURLEOUTOFMEMORY"></a><span class="nroffip">CURLE_OUT_OF_MEMORY (27)</span>
-<p class="level1">A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occur.
-<p class="level0"><a name="CURLEOPERATIONTIMEDOUT"></a><span class="nroffip">CURLE_OPERATION_TIMEDOUT (28)</span>
-<p class="level1">Operation timeout. The specified time-out period was reached according to the conditions.
-<p class="level0"><a name="CURLEFTPPORTFAILED"></a><span class="nroffip">CURLE_FTP_PORT_FAILED (30)</span>
-<p class="level1">The FTP PORT command returned error. This mostly happen when you haven't specified a good enough address for libcurl to use. See <span Class="emphasis">CURLOPT_FTPPORT</span>.
-<p class="level0"><a name="CURLEFTPCOULDNTUSEREST"></a><span class="nroffip">CURLE_FTP_COULDNT_USE_REST (31)</span>
-<p class="level1">The FTP REST command returned error. This should never happen if the server is sane.
-<p class="level0"><a name="CURLERANGEERROR"></a><span class="nroffip">CURLE_RANGE_ERROR (33)</span>
-<p class="level1">The server does not support or accept range requests.
-<p class="level0"><a name="CURLEHTTPPOSTERROR"></a><span class="nroffip">CURLE_HTTP_POST_ERROR (34)</span>
-<p class="level1">This is an odd error that mainly occurs due to internal confusion.
-<p class="level0"><a name="CURLESSLCONNECTERROR"></a><span class="nroffip">CURLE_SSL_CONNECT_ERROR (35)</span>
-<p class="level1">A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.
-<p class="level0"><a name="CURLEFTPBADDOWNLOADRESUME"></a><span class="nroffip">CURLE_FTP_BAD_DOWNLOAD_RESUME (36)</span>
-<p class="level1">Attempting FTP resume beyond file size.
-<p class="level0"><a name="CURLEFILECOULDNTREADFILE"></a><span class="nroffip">CURLE_FILE_COULDNT_READ_FILE (37)</span>
-<p class="level1">A file given with FILE:// couldn't be opened. Most likely because the file path doesn't identify an existing file. Did you check file permissions?
-<p class="level0"><a name="CURLELDAPCANNOTBIND"></a><span class="nroffip">CURLE_LDAP_CANNOT_BIND (38)</span>
-<p class="level1">LDAP cannot bind. LDAP bind operation failed.
-<p class="level0"><a name="CURLELDAPSEARCHFAILED"></a><span class="nroffip">CURLE_LDAP_SEARCH_FAILED (39)</span>
-<p class="level1">LDAP search failed.
-<p class="level0"><a name="CURLEFUNCTIONNOTFOUND"></a><span class="nroffip">CURLE_FUNCTION_NOT_FOUND (41)</span>
-<p class="level1">Function not found. A required zlib function was not found.
-<p class="level0"><a name="CURLEABORTEDBYCALLBACK"></a><span class="nroffip">CURLE_ABORTED_BY_CALLBACK (42)</span>
-<p class="level1">Aborted by callback. A callback returned "abort" to libcurl.
-<p class="level0"><a name="CURLEBADFUNCTIONARGUMENT"></a><span class="nroffip">CURLE_BAD_FUNCTION_ARGUMENT (43)</span>
-<p class="level1">Internal error. A function was called with a bad parameter.
-<p class="level0"><a name="CURLEINTERFACEFAILED"></a><span class="nroffip">CURLE_INTERFACE_FAILED (45)</span>
-<p class="level1">Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with CURLOPT_INTERFACE. (This error code was formerly known as CURLE_HTTP_PORT_FAILED.)
-<p class="level0"><a name="CURLETOOMANYREDIRECTS"></a><span class="nroffip">CURLE_TOO_MANY_REDIRECTS (47)</span>
-<p class="level1">Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with CURLOPT_MAXREDIRS.
-<p class="level0"><a name="CURLEUNKNOWNTELNETOPTION"></a><span class="nroffip">CURLE_UNKNOWN_TELNET_OPTION (48)</span>
-<p class="level1">An option set with CURLOPT_TELNETOPTIONS was not recognized/known. Refer to the appropriate documentation.
-<p class="level0"><a name="CURLETELNETOPTIONSYNTAX"></a><span class="nroffip">CURLE_TELNET_OPTION_SYNTAX (49)</span>
-<p class="level1">A telnet option string was Illegally formatted.
-<p class="level0"><a name="CURLEPEERFAILEDVERIFICATION"></a><span class="nroffip">CURLE_PEER_FAILED_VERIFICATION (51)</span>
-<p class="level1">The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.
-<p class="level0"><a name="CURLEGOTNOTHING"></a><span class="nroffip">CURLE_GOT_NOTHING (52)</span>
-<p class="level1">Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.
-<p class="level0"><a name="CURLESSLENGINENOTFOUND"></a><span class="nroffip">CURLE_SSL_ENGINE_NOTFOUND (53)</span>
-<p class="level1">The specified crypto engine wasn't found.
-<p class="level0"><a name="CURLESSLENGINESETFAILED"></a><span class="nroffip">CURLE_SSL_ENGINE_SETFAILED (54)</span>
-<p class="level1">Failed setting the selected SSL crypto engine as default!
-<p class="level0"><a name="CURLESENDERROR"></a><span class="nroffip">CURLE_SEND_ERROR (55)</span>
-<p class="level1">Failed sending network data.
-<p class="level0"><a name="CURLERECVERROR"></a><span class="nroffip">CURLE_RECV_ERROR (56)</span>
-<p class="level1">Failure with receiving network data.
-<p class="level0"><a name="CURLESSLCERTPROBLEM"></a><span class="nroffip">CURLE_SSL_CERTPROBLEM (58)</span>
-<p class="level1">problem with the local client certificate
-<p class="level0"><a name="CURLESSLCIPHER"></a><span class="nroffip">CURLE_SSL_CIPHER (59)</span>
-<p class="level1">Couldn't use specified cipher
-<p class="level0"><a name="CURLESSLCACERT"></a><span class="nroffip">CURLE_SSL_CACERT (60)</span>
-<p class="level1">Peer certificate cannot be authenticated with known CA certificates
-<p class="level0"><a name="CURLEBADCONTENTENCODING"></a><span class="nroffip">CURLE_BAD_CONTENT_ENCODING (61)</span>
-<p class="level1">Unrecognized transfer encoding
-<p class="level0"><a name="CURLELDAPINVALIDURL"></a><span class="nroffip">CURLE_LDAP_INVALID_URL (62)</span>
-<p class="level1">Invalid LDAP URL
-<p class="level0"><a name="CURLEFILESIZEEXCEEDED"></a><span class="nroffip">CURLE_FILESIZE_EXCEEDED (63)</span>
-<p class="level1">Maximum file size exceeded
-<p class="level0"><a name="CURLEUSESSLFAILED"></a><span class="nroffip">CURLE_USE_SSL_FAILED (64)</span>
-<p class="level1">Requested FTP SSL level failed
-<p class="level0"><a name="CURLESENDFAILREWIND"></a><span class="nroffip">CURLE_SEND_FAIL_REWIND (65)</span>
-<p class="level1">When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed
-<p class="level0"><a name="CURLESSLENGINEINITFAILED"></a><span class="nroffip">CURLE_SSL_ENGINE_INITFAILED (66)</span>
-<p class="level1">Initiating the SSL Engine failed
-<p class="level0"><a name="CURLELOGINDENIED"></a><span class="nroffip">CURLE_LOGIN_DENIED (67)</span>
-<p class="level1">The remote server denied curl to login (Added in 7.13.1)
-<p class="level0"><a name="CURLETFTPNOTFOUND"></a><span class="nroffip">CURLE_TFTP_NOTFOUND (68)</span>
-<p class="level1">File not found on TFTP server
-<p class="level0"><a name="CURLETFTPPERM"></a><span class="nroffip">CURLE_TFTP_PERM (69)</span>
-<p class="level1">Permission problem on TFTP server
-<p class="level0"><a name="CURLEREMOTEDISKFULL"></a><span class="nroffip">CURLE_REMOTE_DISK_FULL (70)</span>
-<p class="level1">Out of disk space on the server
-<p class="level0"><a name="CURLETFTPILLEGAL"></a><span class="nroffip">CURLE_TFTP_ILLEGAL (71)</span>
-<p class="level1">Illegal TFTP operation
-<p class="level0"><a name="CURLETFTPUNKNOWNID"></a><span class="nroffip">CURLE_TFTP_UNKNOWNID (72)</span>
-<p class="level1">Unknown TFTP transfer ID
-<p class="level0"><a name="CURLEREMOTEFILEEXISTS"></a><span class="nroffip">CURLE_REMOTE_FILE_EXISTS (73)</span>
-<p class="level1">File already exists and will not be overwritten
-<p class="level0"><a name="CURLETFTPNOSUCHUSER"></a><span class="nroffip">CURLE_TFTP_NOSUCHUSER (74)</span>
-<p class="level1">This error should never be returned by a properly functioning TFTP server
-<p class="level0"><a name="CURLECONVFAILED"></a><span class="nroffip">CURLE_CONV_FAILED (75)</span>
-<p class="level1">Character conversion failed
-<p class="level0"><a name="CURLECONVREQD"></a><span class="nroffip">CURLE_CONV_REQD (76)</span>
-<p class="level1">Caller must register conversion callbacks
-<p class="level0"><a name="CURLESSLCACERTBADFILE"></a><span class="nroffip">CURLE_SSL_CACERT_BADFILE (77)</span>
-<p class="level1">Problem with reading the SSL CA cert (path? access rights?)
-<p class="level0"><a name="CURLEREMOTEFILENOTFOUND"></a><span class="nroffip">CURLE_REMOTE_FILE_NOT_FOUND (78)</span>
-<p class="level1">The resource referenced in the URL does not exist
-<p class="level0"><a name="CURLESSH"></a><span class="nroffip">CURLE_SSH (79)</span>
-<p class="level1">An unspecified error occurred during the SSH session
-<p class="level0"><a name="CURLESSLSHUTDOWNFAILED"></a><span class="nroffip">CURLE_SSL_SHUTDOWN_FAILED (80)</span>
-<p class="level1">Failed to shut down the SSL connection
-<p class="level0"><a name="CURLEAGAIN"></a><span class="nroffip">CURLE_AGAIN (81)</span>
-<p class="level1">Socket is not ready for send/recv wait till it's ready and try again. This return code is only returned from <a class="emphasis" href="./curl_easy_recv.html">curl_easy_recv(3)</a> and <a class="emphasis" href="./curl_easy_send.html">curl_easy_send(3)</a> (Added in 7.18.2)
-<p class="level0"><a name="CURLESSLCRLBADFILE"></a><span class="nroffip">CURLE_SSL_CRL_BADFILE (82)</span>
-<p class="level1">Failed to load CRL file (Added in 7.19.0)
-<p class="level0"><a name="CURLESSLISSUERERROR"></a><span class="nroffip">CURLE_SSL_ISSUER_ERROR (83)</span>
-<p class="level1">Issuer check failed (Added in 7.19.0)
-<p class="level0"><a name="CURLEOBSOLETE"></a><span class="nroffip">CURLE_OBSOLETE*</span>
-<p class="level1">These error codes will never be returned. They used to be used in an old libcurl version and are currently unused. <a name="CURLMcode"></a><h2 class="nroffsh">CURLMcode</h2>
-<p class="level0">This is the generic return code used by functions in the libcurl multi interface. Also consider <a class="emphasis" href="./curl_multi_strerror.html">curl_multi_strerror(3)</a>.
-<p class="level0"><a name="CURLMCALLMULTIPERFORM"></a><span class="nroffip">CURLM_CALL_MULTI_PERFORM (-1)</span>
-<p class="level1">This is not really an error. It means you should call <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> again without doing select() or similar in between.
-<p class="level0"><a name="CURLMOK"></a><span class="nroffip">CURLM_OK (0)</span>
-<p class="level1">Things are fine.
-<p class="level0"><a name="CURLMBADHANDLE"></a><span class="nroffip">CURLM_BAD_HANDLE (1)</span>
-<p class="level1">The passed-in handle is not a valid CURLM handle.
-<p class="level0"><a name="CURLMBADEASYHANDLE"></a><span class="nroffip">CURLM_BAD_EASY_HANDLE (2)</span>
-<p class="level1">An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle.
-<p class="level0"><a name="CURLMOUTOFMEMORY"></a><span class="nroffip">CURLM_OUT_OF_MEMORY (3)</span>
-<p class="level1">You are doomed.
-<p class="level0"><a name="CURLMINTERNALERROR"></a><span class="nroffip">CURLM_INTERNAL_ERROR (4)</span>
-<p class="level1">This can only be returned if libcurl bugs. Please report it to us!
-<p class="level0"><a name="CURLMBADSOCKET"></a><span class="nroffip">CURLM_BAD_SOCKET (5)</span>
-<p class="level1">The passed-in socket is not a valid one that libcurl already knows about. (Added in 7.15.4)
-<p class="level0"><a name="CURLMUNKNOWNOPTION"></a><span class="nroffip">CURLM_UNKNOWN_OPTION (6)</span>
-<p class="level1">curl_multi_setopt() with unsupported option (Added in 7.15.4) <a name="CURLSHcode"></a><h2 class="nroffsh">CURLSHcode</h2>
-<p class="level0">The "share" interface will return a CURLSHcode to indicate when an error has occurred. Also consider <a class="emphasis" href="./curl_share_strerror.html">curl_share_strerror(3)</a>.
-<p class="level0"><a name="CURLSHEOK"></a><span class="nroffip">CURLSHE_OK (0)</span>
-<p class="level1">All fine. Proceed as usual.
-<p class="level0"><a name="CURLSHEBADOPTION"></a><span class="nroffip">CURLSHE_BAD_OPTION (1)</span>
-<p class="level1">An invalid option was passed to the function.
-<p class="level0"><a name="CURLSHEINUSE"></a><span class="nroffip">CURLSHE_IN_USE (2)</span>
-<p class="level1">The share object is currently in use.
-<p class="level0"><a name="CURLSHEINVALID"></a><span class="nroffip">CURLSHE_INVALID (3)</span>
-<p class="level1">An invalid share object was passed to the function.
-<p class="level0"><a name="CURLSHENOMEM"></a><span class="nroffip">CURLSHE_NOMEM (4)</span>
-<p class="level1">Not enough memory was available. (Added in 7.12.0) <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.pdf
deleted file mode 100644
index 86d7e0e..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-errors.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.3
deleted file mode 100644
index 6e33581..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.3
+++ /dev/null
@@ -1,141 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2007, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH libcurl-multi 3 "3 Feb 2007" "libcurl 7.16.0" "libcurl multi interface"
-.SH NAME
-libcurl-multi \- how to use the multi interface
-.SH DESCRIPTION
-This is an overview on how to use the libcurl multi interface in your C
-programs. There are specific man pages for each function mentioned in
-here. There's also the \fIlibcurl-tutorial(3)\fP man page for a complete
-tutorial to programming with libcurl and the \fIlibcurl-easy(3)\fP man page
-for an overview of the libcurl easy interface.
-
-All functions in the multi interface are prefixed with curl_multi.
-.SH "OBJECTIVES"
-The multi interface offers several abilities that the easy interface doesn't.
-They are mainly:
-
-1. Enable a "pull" interface. The application that uses libcurl decides where
-and when to ask libcurl to get/send data.
-
-2. Enable multiple simultaneous transfers in the same thread without making it
-complicated for the application.
-
-3. Enable the application to wait for action on its own file descriptors and
-curl's file descriptors simultaneous easily.
-.SH "ONE MULTI HANDLE MANY EASY HANDLES"
-To use the multi interface, you must first create a 'multi handle' with
-\fIcurl_multi_init(3)\fP. This handle is then used as input to all further
-curl_multi_* functions.
-
-Each single transfer is built up with an easy handle. You must create them,
-and setup the appropriate options for each easy handle, as outlined in the
-\fIlibcurl(3)\fP man page, using \fIcurl_easy_setopt(3)\fP.
-
-When the easy handle is setup for a transfer, then instead of using
-\fIcurl_easy_perform(3)\fP (as when using the easy interface for transfers),
-you should instead add the easy handle to the multi handle using
-\fIcurl_multi_add_handle(3)\fP. The multi handle is sometimes referred to as a
-\'multi stack\' because of the fact that it may hold a large amount of easy
-handles.
-
-Should you change your mind, the easy handle is again removed from the multi
-stack using \fIcurl_multi_remove_handle(3)\fP. Once removed from the multi
-handle, you can again use other easy interface functions like
-\fIcurl_easy_perform(3)\fP on the handle or whatever you think is necessary.
-
-Adding the easy handle to the multi handle does not start the transfer.
-Remember that one of the main ideas with this interface is to let your
-application drive. You drive the transfers by invoking
-\fIcurl_multi_perform(3)\fP. libcurl will then transfer data if there is
-anything available to transfer. It'll use the callbacks and everything else
-you have setup in the individual easy handles. It'll transfer data on all
-current transfers in the multi stack that are ready to transfer anything. It
-may be all, it may be none.
-
-Your application can acquire knowledge from libcurl when it would like to get
-invoked to transfer data, so that you don't have to busy-loop and call that
-\fIcurl_multi_perform(3)\fP like crazy. \fIcurl_multi_fdset(3)\fP offers an
-interface using which you can extract fd_sets from libcurl to use in select()
-or poll() calls in order to get to know when the transfers in the multi stack
-might need attention. This also makes it very easy for your program to wait
-for input on your own private file descriptors at the same time or perhaps
-timeout every now and then, should you want that.
-
-A little note here about the return codes from the multi functions, and
-especially the \fIcurl_multi_perform(3)\fP: if you receive
-\fICURLM_CALL_MULTI_PERFORM\fP, this basically means that you should call
-\fIcurl_multi_perform(3)\fP again, before you select() on more actions. You
-don't have to do it immediately, but the return code means that libcurl may
-have more data available to return or that there may be more data to send off
-before it is "satisfied".
-
-\fIcurl_multi_perform(3)\fP stores the number of still running transfers in
-one of its input arguments, and by reading that you can figure out when all
-the transfers in the multi handles are done. 'done' does not mean
-successful. One or more of the transfers may have failed. Tracking when this
-number changes, you know when one or more transfers are done.
-
-To get information about completed transfers, to figure out success or not and
-similar, \fIcurl_multi_info_read(3)\fP should be called. It can return a
-message about a current or previous transfer. Repeated invokes of the function
-get more messages until the message queue is empty. The information you
-receive there includes an easy handle pointer which you may use to identify
-which easy handle the information regards.
-
-When a single transfer is completed, the easy handle is still left added to
-the multi stack. You need to first remove the easy handle with
-\fIcurl_multi_remove_handle(3)\fP and then close it with
-\fIcurl_easy_cleanup(3)\fP, or possibly set new options to it and add it again
-with \fIcurl_multi_add_handle(3)\fP to start another transfer.
-
-When all transfers in the multi stack are done, cleanup the multi handle with
-\fIcurl_multi_cleanup(3)\fP. Be careful and please note that you \fBMUST\fP
-invoke separate \fIcurl_easy_cleanup(3)\fP calls on every single easy handle
-to clean them up properly.
-
-If you want to re-use an easy handle that was added to the multi handle for
-transfer, you must first remove it from the multi stack and then re-add it
-again (possibly after having altered some options at your own choice).
-.SH "MULTI_SOCKET"
-Since 7.16.0, the \fIcurl_multi_socket(3)\fP function offers a way for
-applications to not only avoid being forced to use select(), but it also
-offers a much more high-performing API that will make a significant difference
-for applications using large numbers of simultaneous connections.
-
-\fIcurl_multi_socket(3)\fP (and \fIcurl_multi_socket_all(3)\fP) is then used
-instead of \fIcurl_multi_perform(3)\fP.
-.SH "BLOCKING"
-A few areas in the code are still using blocking code, even when used from the
-multi interface. While we certainly want and intend for these to get fixed in
-the future, you should be aware of the following current restrictions:
-
-.nf
- - Name resolves on non-windows unless c-ares is used
- - GnuTLS SSL connections
- - Active FTP connections
- - HTTP proxy CONNECT operations
- - TFTP transfers
- - file:// transfers
-.fi
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.html b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.html
deleted file mode 100644
index e8ff0d1..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html><head>
-<title>libcurl-multi man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-multi - how to use the multi interface <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the <span Class="emphasis">libcurl-tutorial(3)</span> man page for a complete tutorial to programming with libcurl and the <span Class="emphasis">libcurl-easy(3)</span> man page for an overview of the libcurl easy interface.
-<p class="level0">All functions in the multi interface are prefixed with curl_multi. <a name="OBJECTIVES"></a><h2 class="nroffsh">OBJECTIVES</h2>
-<p class="level0">The multi interface offers several abilities that the easy interface doesn't. They are mainly:
-<p class="level0">1. Enable a "pull" interface. The application that uses libcurl decides where and when to ask libcurl to get/send data.
-<p class="level0">2. Enable multiple simultaneous transfers in the same thread without making it complicated for the application.
-<p class="level0">3. Enable the application to wait for action on its own file descriptors and curl's file descriptors simultaneous easily. <a name="ONE"></a><h2 class="nroffsh">ONE MULTI HANDLE MANY EASY HANDLES</h2>
-<p class="level0">To use the multi interface, you must first create a 'multi handle' with <a class="emphasis" href="./curl_multi_init.html">curl_multi_init(3)</a>. This handle is then used as input to all further curl_multi_* functions.
-<p class="level0">Each single transfer is built up with an easy handle. You must create them, and setup the appropriate options for each easy handle, as outlined in the <a class="emphasis" href="./libcurl.html">libcurl(3)</a> man page, using <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>.
-<p class="level0">When the easy handle is setup for a transfer, then instead of using <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> (as when using the easy interface for transfers), you should instead add the easy handle to the multi handle using <a class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle(3)</a>. The multi handle is sometimes referred to as a &acute;multi stack&acute; because of the fact that it may hold a large amount of easy handles.
-<p class="level0">Should you change your mind, the easy handle is again removed from the multi stack using <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a>. Once removed from the multi handle, you can again use other easy interface functions like <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> on the handle or whatever you think is necessary.
-<p class="level0">Adding the easy handle to the multi handle does not start the transfer. Remember that one of the main ideas with this interface is to let your application drive. You drive the transfers by invoking <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>. libcurl will then transfer data if there is anything available to transfer. It'll use the callbacks and everything else you have setup in the individual easy handles. It'll transfer data on all current transfers in the multi stack that are ready to transfer anything. It may be all, it may be none.
-<p class="level0">Your application can acquire knowledge from libcurl when it would like to get invoked to transfer data, so that you don't have to busy-loop and call that <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> like crazy. <a class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset(3)</a> offers an interface using which you can extract fd_sets from libcurl to use in select() or poll() calls in order to get to know when the transfers in the multi stack might need attention. This also makes it very easy for your program to wait for input on your own private file descriptors at the same time or perhaps timeout every now and then, should you want that.
-<p class="level0">A little note here about the return codes from the multi functions, and especially the <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>: if you receive <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span>, this basically means that you should call <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> again, before you select() on more actions. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied".
-<p class="level0"><a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> stores the number of still running transfers in one of its input arguments, and by reading that you can figure out when all the transfers in the multi handles are done. 'done' does not mean successful. One or more of the transfers may have failed. Tracking when this number changes, you know when one or more transfers are done.
-<p class="level0">To get information about completed transfers, to figure out success or not and similar, <a class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read(3)</a> should be called. It can return a message about a current or previous transfer. Repeated invokes of the function get more messages until the message queue is empty. The information you receive there includes an easy handle pointer which you may use to identify which easy handle the information regards.
-<p class="level0">When a single transfer is completed, the easy handle is still left added to the multi stack. You need to first remove the easy handle with <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a> and then close it with <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>, or possibly set new options to it and add it again with <a class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle(3)</a> to start another transfer.
-<p class="level0">When all transfers in the multi stack are done, cleanup the multi handle with <a class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup(3)</a>. Be careful and please note that you <span Class="bold">MUST</span> invoke separate <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> calls on every single easy handle to clean them up properly.
-<p class="level0">If you want to re-use an easy handle that was added to the multi handle for transfer, you must first remove it from the multi stack and then re-add it again (possibly after having altered some options at your own choice). <a name="MULTISOCKET"></a><h2 class="nroffsh">MULTI_SOCKET</h2>
-<p class="level0">Since 7.16.0, the <a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> function offers a way for applications to not only avoid being forced to use select(), but it also offers a much more high-performing API that will make a significant difference for applications using large numbers of simultaneous connections.
-<p class="level0"><a class="emphasis" href="./curl_multi_socket.html">curl_multi_socket(3)</a> (and <a class="emphasis" href="./curl_multi_socket_all.html">curl_multi_socket_all(3)</a>) is then used instead of <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>. <a name="BLOCKING"></a><h2 class="nroffsh">BLOCKING</h2>
-<p class="level0">A few areas in the code are still using blocking code, even when used from the multi interface. While we certainly want and intend for these to get fixed in the future, you should be aware of the following current restrictions:
-<p class="level0"><pre>
-<p class="level0">&nbsp;- Name resolves on non-windows unless c-ares is used
- &nbsp;- GnuTLS SSL connections
- &nbsp;- Active FTP connections
- &nbsp;- HTTP proxy CONNECT operations
- &nbsp;- TFTP transfers
- &nbsp;- file:// transfers
- </pre>
-
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.pdf
deleted file mode 100644
index c4032f0..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-multi.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.3
deleted file mode 100644
index 4745c12..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.3
+++ /dev/null
@@ -1,46 +0,0 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
-.\"
-.TH libcurl-share 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl share interface"
-.SH NAME
-libcurl-share \- how to use the share interface
-.SH DESCRIPTION
-This is an overview on how to use the libcurl share interface in your C
-programs. There are specific man pages for each function mentioned in
-here.
-
-All functions in the share interface are prefixed with curl_share.
-
-.SH "OBJECTIVES"
-The share interface was added to enable sharing of data between curl
-\&"handles".
-.SH "ONE SET OF DATA - MANY TRANSFERS"
-You can have multiple easy handles share data between them. Have them update
-and use the \fBsame\fP cookie database or DNS cache! This way, each single
-transfer will take advantage from data updates made by the other transfer(s).
-.SH "SHARE OBJECT"
-You create a shared object with \fIcurl_share_init(3)\fP. It returns a handle
-for a newly created one.
-
-You tell the shared object what data you want it to share by using
-\fIcurl_share_setopt(3)\fP. Currently you can only share DNS and/or COOKIE
-data.
-
-Since you can use this share from multiple threads, and libcurl has no
-internal thread synchronization, you must provide mutex callbacks if you're
-using this multi-threaded. You set lock and unlock functions with
-\fIcurl_share_setopt(3)\fP too.
-
-Then, you make an easy handle to use this share, you set the
-\fICURLOPT_SHARE\fP option with \fIcurl_easy_setopt(3)\fP, and pass in share
-handle. You can make any number of easy handles share the same share handle.
-
-To make an easy handle stop using that particular share, you set
-\fICURLOPT_SHARE\fP to NULL for that easy handle. To make a handle stop
-sharing a particular data, you can \fICURLSHOPT_UNSHARE\fP it.
-
-When you're done using the share, make sure that no easy handle is still using
-it, and call \fIcurl_share_cleanup(3)\fP on the handle.
-.SH "SEE ALSO"
-.BR curl_share_init "(3), " curl_share_setopt "(3), " curl_share_cleanup "(3)"
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.html b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.html
deleted file mode 100644
index 6a66f32..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html><head>
-<title>libcurl-share man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-share - how to use the share interface <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here.
-<p class="level0">All functions in the share interface are prefixed with curl_share.
-<p class="level0"><a name="OBJECTIVES"></a><h2 class="nroffsh">OBJECTIVES</h2>
-<p class="level0">The share interface was added to enable sharing of data between curl "handles". <a name="ONE"></a><h2 class="nroffsh">ONE SET OF DATA - MANY TRANSFERS</h2>
-<p class="level0">You can have multiple easy handles share data between them. Have them update and use the <span Class="bold">same</span> cookie database or DNS cache! This way, each single transfer will take advantage from data updates made by the other transfer(s). <a name="SHARE"></a><h2 class="nroffsh">SHARE OBJECT</h2>
-<p class="level0">You create a shared object with <a class="emphasis" href="./curl_share_init.html">curl_share_init(3)</a>. It returns a handle for a newly created one.
-<p class="level0">You tell the shared object what data you want it to share by using <a class="emphasis" href="./curl_share_setopt.html">curl_share_setopt(3)</a>. Currently you can only share DNS and/or COOKIE data.
-<p class="level0">Since you can use this share from multiple threads, and libcurl has no internal thread synchronization, you must provide mutex callbacks if you're using this multi-threaded. You set lock and unlock functions with <a class="emphasis" href="./curl_share_setopt.html">curl_share_setopt(3)</a> too.
-<p class="level0">Then, you make an easy handle to use this share, you set the <span Class="emphasis">CURLOPT_SHARE</span> option with <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>, and pass in share handle. You can make any number of easy handles share the same share handle.
-<p class="level0">To make an easy handle stop using that particular share, you set <span Class="emphasis">CURLOPT_SHARE</span> to NULL for that easy handle. To make a handle stop sharing a particular data, you can <span Class="emphasis">CURLSHOPT_UNSHARE</span> it.
-<p class="level0">When you're done using the share, make sure that no easy handle is still using it, and call <a class="emphasis" href="./curl_share_cleanup.html">curl_share_cleanup(3)</a> on the handle. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a class="manpage" href="./curl_share_init.html">curl_share_init (3)</a> <a class="manpage" href="./curl_share_setopt.html"> curl_share_setopt (3)</a> <a class="manpage" href="./curl_share_cleanup.html"> curl_share_cleanup (3)</a> <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.pdf
deleted file mode 100644
index 326fe1f..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-share.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.3
deleted file mode 100644
index 9e97fae..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.3
+++ /dev/null
@@ -1,1193 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2007, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH libcurl-tutorial 3 "27 Feb 2007" "libcurl" "libcurl programming"
-.SH NAME
-libcurl-tutorial \- libcurl programming tutorial
-.SH "Objective"
-This document attempts to describe the general principles and some basic
-approaches to consider when programming with libcurl. The text will focus
-mainly on the C interface but might apply fairly well on other interfaces as
-well as they usually follow the C one pretty closely.
-
-This document will refer to 'the user' as the person writing the source code
-that uses libcurl. That would probably be you or someone in your position.
-What will be generally referred to as 'the program' will be the collected
-source code that you write that is using libcurl for transfers. The program
-is outside libcurl and libcurl is outside of the program.
-
-To get the more details on all options and functions described herein, please
-refer to their respective man pages.
-
-.SH "Building"
-There are many different ways to build C programs. This chapter will assume a
-unix-style build process. If you use a different build system, you can still
-read this to get general information that may apply to your environment as
-well.
-.IP "Compiling the Program"
-Your compiler needs to know where the libcurl headers are located. Therefore
-you must set your compiler's include path to point to the directory where you
-installed them. The 'curl-config'[3] tool can be used to get this information:
-
-$ curl-config --cflags
-
-.IP "Linking the Program with libcurl"
-When having compiled the program, you need to link your object files to create
-a single executable. For that to succeed, you need to link with libcurl and
-possibly also with other libraries that libcurl itself depends on. Like the
-OpenSSL libraries, but even some standard OS libraries may be needed on the
-command line. To figure out which flags to use, once again the 'curl-config'
-tool comes to the rescue:
-
-$ curl-config --libs
-
-.IP "SSL or Not"
-libcurl can be built and customized in many ways. One of the things that
-varies from different libraries and builds is the support for SSL-based
-transfers, like HTTPS and FTPS. If a supported SSL library was detected
-properly at build-time, libcurl will be built with SSL support. To figure out
-if an installed libcurl has been built with SSL support enabled, use
-\&'curl-config' like this:
-
-$ curl-config --feature
-
-And if SSL is supported, the keyword 'SSL' will be written to stdout,
-possibly together with a few other features that can be on and off on
-different libcurls.
-
-See also the "Features libcurl Provides" further down.
-.IP "autoconf macro"
-When you write your configure script to detect libcurl and setup variables
-accordingly, we offer a prewritten macro that probably does everything you
-need in this area. See docs/libcurl/libcurl.m4 file - it includes docs on how
-to use it.
-
-.SH "Portable Code in a Portable World"
-The people behind libcurl have put a considerable effort to make libcurl work
-on a large amount of different operating systems and environments.
-
-You program libcurl the same way on all platforms that libcurl runs on. There
-are only very few minor considerations that differs. If you just make sure to
-write your code portable enough, you may very well create yourself a very
-portable program. libcurl shouldn't stop you from that.
-
-.SH "Global Preparation"
-The program must initialize some of the libcurl functionality globally. That
-means it should be done exactly once, no matter how many times you intend to
-use the library. Once for your program's entire life time. This is done using
-
- curl_global_init()
-
-and it takes one parameter which is a bit pattern that tells libcurl what to
-initialize. Using \fICURL_GLOBAL_ALL\fP will make it initialize all known
-internal sub modules, and might be a good default option. The current two bits
-that are specified are:
-.RS
-.IP "CURL_GLOBAL_WIN32"
-which only does anything on Windows machines. When used on
-a Windows machine, it'll make libcurl initialize the win32 socket
-stuff. Without having that initialized properly, your program cannot use
-sockets properly. You should only do this once for each application, so if
-your program already does this or of another library in use does it, you
-should not tell libcurl to do this as well.
-.IP CURL_GLOBAL_SSL
-which only does anything on libcurls compiled and built SSL-enabled. On these
-systems, this will make libcurl initialize the SSL library properly for this
-application. This is only needed to do once for each application so if your
-program or another library already does this, this bit should not be needed.
-.RE
-
-libcurl has a default protection mechanism that detects if
-\fIcurl_global_init(3)\fP hasn't been called by the time
-\fIcurl_easy_perform(3)\fP is called and if that is the case, libcurl runs the
-function itself with a guessed bit pattern. Please note that depending solely
-on this is not considered nice nor very good.
-
-When the program no longer uses libcurl, it should call
-\fIcurl_global_cleanup(3)\fP, which is the opposite of the init call. It will
-then do the reversed operations to cleanup the resources the
-\fIcurl_global_init(3)\fP call initialized.
-
-Repeated calls to \fIcurl_global_init(3)\fP and \fIcurl_global_cleanup(3)\fP
-should be avoided. They should only be called once each.
-
-.SH "Features libcurl Provides"
-It is considered best-practice to determine libcurl features at run-time
-rather than at build-time (if possible of course). By calling
-\fIcurl_version_info(3)\fP and checking out the details of the returned
-struct, your program can figure out exactly what the currently running libcurl
-supports.
-
-.SH "Handle the Easy libcurl"
-libcurl first introduced the so called easy interface. All operations in the
-easy interface are prefixed with 'curl_easy'.
-
-Recent libcurl versions also offer the multi interface. More about that
-interface, what it is targeted for and how to use it is detailed in a separate
-chapter further down. You still need to understand the easy interface first,
-so please continue reading for better understanding.
-
-To use the easy interface, you must first create yourself an easy handle. You
-need one handle for each easy session you want to perform. Basically, you
-should use one handle for every thread you plan to use for transferring. You
-must never share the same handle in multiple threads.
-
-Get an easy handle with
-
- easyhandle = curl_easy_init();
-
-It returns an easy handle. Using that you proceed to the next step: setting
-up your preferred actions. A handle is just a logic entity for the upcoming
-transfer or series of transfers.
-
-You set properties and options for this handle using
-\fIcurl_easy_setopt(3)\fP. They control how the subsequent transfer or
-transfers will be made. Options remain set in the handle until set again to
-something different. Alas, multiple requests using the same handle will use
-the same options.
-
-Many of the options you set in libcurl are "strings", pointers to data
-terminated with a zero byte. Keep in mind that when you set strings with
-\fIcurl_easy_setopt(3)\fP, libcurl will not copy the data. It will merely
-point to the data. You MUST make sure that the data remains available for
-libcurl to use until finished or until you use the same option again to point
-to something else.
-
-One of the most basic properties to set in the handle is the URL. You set
-your preferred URL to transfer with CURLOPT_URL in a manner similar to:
-
-.nf
- curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");
-.fi
-
-Let's assume for a while that you want to receive data as the URL identifies a
-remote resource you want to get here. Since you write a sort of application
-that needs this transfer, I assume that you would like to get the data passed
-to you directly instead of simply getting it passed to stdout. So, you write
-your own function that matches this prototype:
-
- size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
-
-You tell libcurl to pass all data to this function by issuing a function
-similar to this:
-
- curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);
-
-You can control what data your function get in the forth argument by setting
-another property:
-
- curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &internal_struct);
-
-Using that property, you can easily pass local data between your application
-and the function that gets invoked by libcurl. libcurl itself won't touch the
-data you pass with \fICURLOPT_WRITEDATA\fP.
-
-libcurl offers its own default internal callback that'll take care of the data
-if you don't set the callback with \fICURLOPT_WRITEFUNCTION\fP. It will then
-simply output the received data to stdout. You can have the default callback
-write the data to a different file handle by passing a 'FILE *' to a file
-opened for writing with the \fICURLOPT_WRITEDATA\fP option.
-
-Now, we need to take a step back and have a deep breath. Here's one of those
-rare platform-dependent nitpicks. Did you spot it? On some platforms[2],
-libcurl won't be able to operate on files opened by the program. Thus, if you
-use the default callback and pass in an open file with
-\fICURLOPT_WRITEDATA\fP, it will crash. You should therefore avoid this to
-make your program run fine virtually everywhere.
-
-(\fICURLOPT_WRITEDATA\fP was formerly known as \fICURLOPT_FILE\fP. Both names
-still work and do the same thing).
-
-If you're using libcurl as a win32 DLL, you MUST use the
-\fICURLOPT_WRITEFUNCTION\fP if you set \fICURLOPT_WRITEDATA\fP - or you will
-experience crashes.
-
-There are of course many more options you can set, and we'll get back to a few
-of them later. Let's instead continue to the actual transfer:
-
- success = curl_easy_perform(easyhandle);
-
-\fIcurl_easy_perform(3)\fP will connect to the remote site, do the necessary
-commands and receive the transfer. Whenever it receives data, it calls the
-callback function we previously set. The function may get one byte at a time,
-or it may get many kilobytes at once. libcurl delivers as much as possible as
-often as possible. Your callback function should return the number of bytes it
-\&"took care of". If that is not the exact same amount of bytes that was
-passed to it, libcurl will abort the operation and return with an error code.
-
-When the transfer is complete, the function returns a return code that informs
-you if it succeeded in its mission or not. If a return code isn't enough for
-you, you can use the CURLOPT_ERRORBUFFER to point libcurl to a buffer of yours
-where it'll store a human readable error message as well.
-
-If you then want to transfer another file, the handle is ready to be used
-again. Mind you, it is even preferred that you re-use an existing handle if
-you intend to make another transfer. libcurl will then attempt to re-use the
-previous connection.
-
-.SH "Multi-threading Issues"
-The first basic rule is that you must \fBnever\fP share a libcurl handle (be
-it easy or multi or whatever) between multiple threads. Only use one handle in
-one thread at a time.
-
-libcurl is completely thread safe, except for two issues: signals and SSL/TLS
-handlers. Signals are used timeouting name resolves (during DNS lookup) - when
-built without c-ares support and not on Windows..
-
-If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are
-then of course using the underlying SSL library multi-threaded and those libs
-might have their own requirements on this issue. Basically, you need to
-provide one or two functions to allow it to function properly. For all
-details, see this:
-
-OpenSSL
-
- http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
-
-GnuTLS
-
- http://www.gnu.org/software/gnutls/manual/html_node/Multi_002dthreaded-applications.html
-
-NSS
-
- is claimed to be thread-safe already without anything required
-
-yassl
-
- Required actions unknown
-
-When using multiple threads you should set the CURLOPT_NOSIGNAL option to 1
-for all handles. Everything will or might work fine except that timeouts are
-not honored during the DNS lookup - which you can work around by building
-libcurl with c-ares support. c-ares is a library that provides asynchronous
-name resolves. Unfortunately, c-ares does not yet fully support IPv6. On some
-platforms, libcurl simply will not function properly multi-threaded unless
-this option is set.
-
-Also, note that CURLOPT_DNS_USE_GLOBAL_CACHE is not thread-safe.
-
-.SH "When It Doesn't Work"
-There will always be times when the transfer fails for some reason. You might
-have set the wrong libcurl option or misunderstood what the libcurl option
-actually does, or the remote server might return non-standard replies that
-confuse the library which then confuses your program.
-
-There's one golden rule when these things occur: set the CURLOPT_VERBOSE
-option to 1. It'll cause the library to spew out the entire protocol
-details it sends, some internal info and some received protocol data as well
-(especially when using FTP). If you're using HTTP, adding the headers in the
-received output to study is also a clever way to get a better understanding
-why the server behaves the way it does. Include headers in the normal body
-output with CURLOPT_HEADER set 1.
-
-Of course there are bugs left. We need to get to know about them to be able
-to fix them, so we're quite dependent on your bug reports! When you do report
-suspected bugs in libcurl, please include as much details you possibly can: a
-protocol dump that CURLOPT_VERBOSE produces, library version, as much as
-possible of your code that uses libcurl, operating system name and version,
-compiler name and version etc.
-
-If CURLOPT_VERBOSE is not enough, you increase the level of debug data your
-application receive by using the CURLOPT_DEBUGFUNCTION.
-
-Getting some in-depth knowledge about the protocols involved is never wrong,
-and if you're trying to do funny things, you might very well understand
-libcurl and how to use it better if you study the appropriate RFC documents
-at least briefly.
-
-.SH "Upload Data to a Remote Site"
-libcurl tries to keep a protocol independent approach to most transfers, thus
-uploading to a remote FTP site is very similar to uploading data to a HTTP
-server with a PUT request.
-
-Of course, first you either create an easy handle or you re-use one existing
-one. Then you set the URL to operate on just like before. This is the remote
-URL, that we now will upload.
-
-Since we write an application, we most likely want libcurl to get the upload
-data by asking us for it. To make it do that, we set the read callback and
-the custom pointer libcurl will pass to our read callback. The read callback
-should have a prototype similar to:
-
- size_t function(char *bufptr, size_t size, size_t nitems, void *userp);
-
-Where bufptr is the pointer to a buffer we fill in with data to upload and
-size*nitems is the size of the buffer and therefore also the maximum amount
-of data we can return to libcurl in this call. The 'userp' pointer is the
-custom pointer we set to point to a struct of ours to pass private data
-between the application and the callback.
-
- curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function);
-
- curl_easy_setopt(easyhandle, CURLOPT_INFILE, &filedata);
-
-Tell libcurl that we want to upload:
-
- curl_easy_setopt(easyhandle, CURLOPT_UPLOAD, 1L);
-
-A few protocols won't behave properly when uploads are done without any prior
-knowledge of the expected file size. So, set the upload file size using the
-CURLOPT_INFILESIZE_LARGE for all known file sizes like this[1]:
-
-.nf
- /* in this example, file_size must be an off_t variable */
- curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE_LARGE, file_size);
-.fi
-
-When you call \fIcurl_easy_perform(3)\fP this time, it'll perform all the
-necessary operations and when it has invoked the upload it'll call your
-supplied callback to get the data to upload. The program should return as much
-data as possible in every invoke, as that is likely to make the upload perform
-as fast as possible. The callback should return the number of bytes it wrote
-in the buffer. Returning 0 will signal the end of the upload.
-
-.SH "Passwords"
-Many protocols use or even require that user name and password are provided
-to be able to download or upload the data of your choice. libcurl offers
-several ways to specify them.
-
-Most protocols support that you specify the name and password in the URL
-itself. libcurl will detect this and use them accordingly. This is written
-like this:
-
- protocol://user:password@example.com/path/
-
-If you need any odd letters in your user name or password, you should enter
-them URL encoded, as %XX where XX is a two-digit hexadecimal number.
-
-libcurl also provides options to set various passwords. The user name and
-password as shown embedded in the URL can instead get set with the
-CURLOPT_USERPWD option. The argument passed to libcurl should be a char * to
-a string in the format "user:password:". In a manner like this:
-
- curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");
-
-Another case where name and password might be needed at times, is for those
-users who need to authenticate themselves to a proxy they use. libcurl offers
-another option for this, the CURLOPT_PROXYUSERPWD. It is used quite similar
-to the CURLOPT_USERPWD option like this:
-
- curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");
-
-There's a long time unix "standard" way of storing ftp user names and
-passwords, namely in the $HOME/.netrc file. The file should be made private
-so that only the user may read it (see also the "Security Considerations"
-chapter), as it might contain the password in plain text. libcurl has the
-ability to use this file to figure out what set of user name and password to
-use for a particular host. As an extension to the normal functionality,
-libcurl also supports this file for non-FTP protocols such as HTTP. To make
-curl use this file, use the CURLOPT_NETRC option:
-
- curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L);
-
-And a very basic example of how such a .netrc file may look like:
-
-.nf
- machine myhost.mydomain.com
- login userlogin
- password secretword
-.fi
-
-All these examples have been cases where the password has been optional, or
-at least you could leave it out and have libcurl attempt to do its job
-without it. There are times when the password isn't optional, like when
-you're using an SSL private key for secure transfers.
-
-To pass the known private key password to libcurl:
-
- curl_easy_setopt(easyhandle, CURLOPT_KEYPASSWD, "keypassword");
-
-.SH "HTTP Authentication"
-The previous chapter showed how to set user name and password for getting
-URLs that require authentication. When using the HTTP protocol, there are
-many different ways a client can provide those credentials to the server and
-you can control what way libcurl will (attempt to) use. The default HTTP
-authentication method is called 'Basic', which is sending the name and
-password in clear-text in the HTTP request, base64-encoded. This is insecure.
-
-At the time of this writing libcurl can be built to use: Basic, Digest, NTLM,
-Negotiate, GSS-Negotiate and SPNEGO. You can tell libcurl which one to use
-with CURLOPT_HTTPAUTH as in:
-
- curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
-
-And when you send authentication to a proxy, you can also set authentication
-type the same way but instead with CURLOPT_PROXYAUTH:
-
- curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
-
-Both these options allow you to set multiple types (by ORing them together),
-to make libcurl pick the most secure one out of the types the server/proxy
-claims to support. This method does however add a round-trip since libcurl
-must first ask the server what it supports:
-
- curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH,
- CURLAUTH_DIGEST|CURLAUTH_BASIC);
-
-For convenience, you can use the 'CURLAUTH_ANY' define (instead of a list
-with specific types) which allows libcurl to use whatever method it wants.
-
-When asking for multiple types, libcurl will pick the available one it
-considers "best" in its own internal order of preference.
-
-.SH "HTTP POSTing"
-We get many questions regarding how to issue HTTP POSTs with libcurl the
-proper way. This chapter will thus include examples using both different
-versions of HTTP POST that libcurl supports.
-
-The first version is the simple POST, the most common version, that most HTML
-pages using the <form> tag uses. We provide a pointer to the data and tell
-libcurl to post it all to the remote site:
-
-.nf
- char *data="name=daniel&project=curl";
- curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, data);
- curl_easy_setopt(easyhandle, CURLOPT_URL, "http://posthere.com/");
-
- curl_easy_perform(easyhandle); /* post away! */
-.fi
-
-Simple enough, huh? Since you set the POST options with the
-CURLOPT_POSTFIELDS, this automatically switches the handle to use POST in the
-upcoming request.
-
-Ok, so what if you want to post binary data that also requires you to set the
-Content-Type: header of the post? Well, binary posts prevents libcurl from
-being able to do strlen() on the data to figure out the size, so therefore we
-must tell libcurl the size of the post data. Setting headers in libcurl
-requests are done in a generic way, by building a list of our own headers and
-then passing that list to libcurl.
-
-.nf
- struct curl_slist *headers=NULL;
- headers = curl_slist_append(headers, "Content-Type: text/xml");
-
- /* post binary data */
- curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, binaryptr);
-
- /* set the size of the postfields data */
- curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDSIZE, 23L);
-
- /* pass our list of custom made headers */
- curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
-
- curl_easy_perform(easyhandle); /* post away! */
-
- curl_slist_free_all(headers); /* free the header list */
-.fi
-
-While the simple examples above cover the majority of all cases where HTTP
-POST operations are required, they don't do multi-part formposts. Multi-part
-formposts were introduced as a better way to post (possibly large) binary data
-and was first documented in the RFC1867. They're called multi-part because
-they're built by a chain of parts, each being a single unit. Each part has its
-own name and contents. You can in fact create and post a multi-part formpost
-with the regular libcurl POST support described above, but that would require
-that you build a formpost yourself and provide to libcurl. To make that
-easier, libcurl provides \fIcurl_formadd(3)\fP. Using this function, you add
-parts to the form. When you're done adding parts, you post the whole form.
-
-The following example sets two simple text parts with plain textual contents,
-and then a file with binary contents and upload the whole thing.
-
-.nf
- struct curl_httppost *post=NULL;
- struct curl_httppost *last=NULL;
- curl_formadd(&post, &last,
- CURLFORM_COPYNAME, "name",
- CURLFORM_COPYCONTENTS, "daniel", CURLFORM_END);
- curl_formadd(&post, &last,
- CURLFORM_COPYNAME, "project",
- CURLFORM_COPYCONTENTS, "curl", CURLFORM_END);
- curl_formadd(&post, &last,
- CURLFORM_COPYNAME, "logotype-image",
- CURLFORM_FILECONTENT, "curl.png", CURLFORM_END);
-
- /* Set the form info */
- curl_easy_setopt(easyhandle, CURLOPT_HTTPPOST, post);
-
- curl_easy_perform(easyhandle); /* post away! */
-
- /* free the post data again */
- curl_formfree(post);
-.fi
-
-Multipart formposts are chains of parts using MIME-style separators and
-headers. It means that each one of these separate parts get a few headers set
-that describe the individual content-type, size etc. To enable your
-application to handicraft this formpost even more, libcurl allows you to
-supply your own set of custom headers to such an individual form part. You can
-of course supply headers to as many parts you like, but this little example
-will show how you set headers to one specific part when you add that to the
-post handle:
-
-.nf
- struct curl_slist *headers=NULL;
- headers = curl_slist_append(headers, "Content-Type: text/xml");
-
- curl_formadd(&post, &last,
- CURLFORM_COPYNAME, "logotype-image",
- CURLFORM_FILECONTENT, "curl.xml",
- CURLFORM_CONTENTHEADER, headers,
- CURLFORM_END);
-
- curl_easy_perform(easyhandle); /* post away! */
-
- curl_formfree(post); /* free post */
- curl_slist_free_all(post); /* free custom header list */
-.fi
-
-Since all options on an easyhandle are "sticky", they remain the same until
-changed even if you do call \fIcurl_easy_perform(3)\fP, you may need to tell
-curl to go back to a plain GET request if you intend to do such a one as your
-next request. You force an easyhandle to back to GET by using the
-CURLOPT_HTTPGET option:
-
- curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L);
-
-Just setting CURLOPT_POSTFIELDS to "" or NULL will *not* stop libcurl from
-doing a POST. It will just make it POST without any data to send!
-
-.SH "Showing Progress"
-
-For historical and traditional reasons, libcurl has a built-in progress meter
-that can be switched on and then makes it presents a progress meter in your
-terminal.
-
-Switch on the progress meter by, oddly enough, set CURLOPT_NOPROGRESS to
-zero. This option is set to 1 by default.
-
-For most applications however, the built-in progress meter is useless and
-what instead is interesting is the ability to specify a progress
-callback. The function pointer you pass to libcurl will then be called on
-irregular intervals with information about the current transfer.
-
-Set the progress callback by using CURLOPT_PROGRESSFUNCTION. And pass a
-pointer to a function that matches this prototype:
-
-.nf
- int progress_callback(void *clientp,
- double dltotal,
- double dlnow,
- double ultotal,
- double ulnow);
-.fi
-
-If any of the input arguments is unknown, a 0 will be passed. The first
-argument, the 'clientp' is the pointer you pass to libcurl with
-CURLOPT_PROGRESSDATA. libcurl won't touch it.
-
-.SH "libcurl with C++"
-
-There's basically only one thing to keep in mind when using C++ instead of C
-when interfacing libcurl:
-
-The callbacks CANNOT be non-static class member functions
-
-Example C++ code:
-
-.nf
-class AClass {
- static size_t write_data(void *ptr, size_t size, size_t nmemb,
- void *ourpointer)
- {
- /* do what you want with the data */
- }
- }
-.fi
-
-.SH "Proxies"
-
-What "proxy" means according to Merriam-Webster: "a person authorized to act
-for another" but also "the agency, function, or office of a deputy who acts as
-a substitute for another".
-
-Proxies are exceedingly common these days. Companies often only offer Internet
-access to employees through their proxies. Network clients or user-agents ask
-the proxy for documents, the proxy does the actual request and then it returns
-them.
-
-libcurl supports SOCKS and HTTP proxies. When a given URL is wanted, libcurl
-will ask the proxy for it instead of trying to connect to the actual host
-identified in the URL.
-
-If you're using a SOCKS proxy, you may find that libcurl doesn't quite support
-all operations through it.
-
-For HTTP proxies: the fact that the proxy is a HTTP proxy puts certain
-restrictions on what can actually happen. A requested URL that might not be a
-HTTP URL will be still be passed to the HTTP proxy to deliver back to
-libcurl. This happens transparently, and an application may not need to
-know. I say "may", because at times it is very important to understand that
-all operations over a HTTP proxy is using the HTTP protocol. For example, you
-can't invoke your own custom FTP commands or even proper FTP directory
-listings.
-
-.IP "Proxy Options"
-
-To tell libcurl to use a proxy at a given port number:
-
- curl_easy_setopt(easyhandle, CURLOPT_PROXY, "proxy-host.com:8080");
-
-Some proxies require user authentication before allowing a request, and you
-pass that information similar to this:
-
- curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password");
-
-If you want to, you can specify the host name only in the CURLOPT_PROXY
-option, and set the port number separately with CURLOPT_PROXYPORT.
-
-Tell libcurl what kind of proxy it is with CURLOPT_PROXYTYPE (if not, it will
-default to assume a HTTP proxy):
-
- curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
-
-.IP "Environment Variables"
-
-libcurl automatically checks and uses a set of environment variables to
-know what proxies to use for certain protocols. The names of the variables
-are following an ancient de facto standard and are built up as
-"[protocol]_proxy" (note the lower casing). Which makes the variable
-'http_proxy' checked for a name of a proxy to use when the input URL is
-HTTP. Following the same rule, the variable named 'ftp_proxy' is checked
-for FTP URLs. Again, the proxies are always HTTP proxies, the different
-names of the variables simply allows different HTTP proxies to be used.
-
-The proxy environment variable contents should be in the format
-\&"[protocol://][user:password@]machine[:port]". Where the protocol:// part is
-simply ignored if present (so http://proxy and bluerk://proxy will do the
-same) and the optional port number specifies on which port the proxy operates
-on the host. If not specified, the internal default port number will be used
-and that is most likely *not* the one you would like it to be.
-
-There are two special environment variables. 'all_proxy' is what sets proxy
-for any URL in case the protocol specific variable wasn't set, and
-\&'no_proxy' defines a list of hosts that should not use a proxy even though a
-variable may say so. If 'no_proxy' is a plain asterisk ("*") it matches all
-hosts.
-
-To explicitly disable libcurl's checking for and using the proxy environment
-variables, set the proxy name to "" - an empty string - with CURLOPT_PROXY.
-.IP "SSL and Proxies"
-
-SSL is for secure point-to-point connections. This involves strong encryption
-and similar things, which effectively makes it impossible for a proxy to
-operate as a "man in between" which the proxy's task is, as previously
-discussed. Instead, the only way to have SSL work over a HTTP proxy is to ask
-the proxy to tunnel trough everything without being able to check or fiddle
-with the traffic.
-
-Opening an SSL connection over a HTTP proxy is therefor a matter of asking the
-proxy for a straight connection to the target host on a specified port. This
-is made with the HTTP request CONNECT. ("please mr proxy, connect me to that
-remote host").
-
-Because of the nature of this operation, where the proxy has no idea what kind
-of data that is passed in and out through this tunnel, this breaks some of the
-very few advantages that come from using a proxy, such as caching. Many
-organizations prevent this kind of tunneling to other destination port numbers
-than 443 (which is the default HTTPS port number).
-
-.IP "Tunneling Through Proxy"
-As explained above, tunneling is required for SSL to work and often even
-restricted to the operation intended for SSL; HTTPS.
-
-This is however not the only time proxy-tunneling might offer benefits to
-you or your application.
-
-As tunneling opens a direct connection from your application to the remote
-machine, it suddenly also re-introduces the ability to do non-HTTP
-operations over a HTTP proxy. You can in fact use things such as FTP
-upload or FTP custom commands this way.
-
-Again, this is often prevented by the administrators of proxies and is
-rarely allowed.
-
-Tell libcurl to use proxy tunneling like this:
-
- curl_easy_setopt(easyhandle, CURLOPT_HTTPPROXYTUNNEL, 1L);
-
-In fact, there might even be times when you want to do plain HTTP
-operations using a tunnel like this, as it then enables you to operate on
-the remote server instead of asking the proxy to do so. libcurl will not
-stand in the way for such innovative actions either!
-
-.IP "Proxy Auto-Config"
-
-Netscape first came up with this. It is basically a web page (usually using a
-\&.pac extension) with a javascript that when executed by the browser with the
-requested URL as input, returns information to the browser on how to connect
-to the URL. The returned information might be "DIRECT" (which means no proxy
-should be used), "PROXY host:port" (to tell the browser where the proxy for
-this particular URL is) or "SOCKS host:port" (to direct the browser to a SOCKS
-proxy).
-
-libcurl has no means to interpret or evaluate javascript and thus it doesn't
-support this. If you get yourself in a position where you face this nasty
-invention, the following advice have been mentioned and used in the past:
-
-- Depending on the javascript complexity, write up a script that translates it
-to another language and execute that.
-
-- Read the javascript code and rewrite the same logic in another language.
-
-- Implement a javascript interpreted, people have successfully used the
-Mozilla javascript engine in the past.
-
-- Ask your admins to stop this, for a static proxy setup or similar.
-
-.SH "Persistence Is The Way to Happiness"
-
-Re-cycling the same easy handle several times when doing multiple requests is
-the way to go.
-
-After each single \fIcurl_easy_perform(3)\fP operation, libcurl will keep the
-connection alive and open. A subsequent request using the same easy handle to
-the same host might just be able to use the already open connection! This
-reduces network impact a lot.
-
-Even if the connection is dropped, all connections involving SSL to the same
-host again, will benefit from libcurl's session ID cache that drastically
-reduces re-connection time.
-
-FTP connections that are kept alive saves a lot of time, as the command-
-response round-trips are skipped, and also you don't risk getting blocked
-without permission to login again like on many FTP servers only allowing N
-persons to be logged in at the same time.
-
-libcurl caches DNS name resolving results, to make lookups of a previously
-looked up name a lot faster.
-
-Other interesting details that improve performance for subsequent requests
-may also be added in the future.
-
-Each easy handle will attempt to keep the last few connections alive for a
-while in case they are to be used again. You can set the size of this "cache"
-with the CURLOPT_MAXCONNECTS option. Default is 5. It is very seldom any
-point in changing this value, and if you think of changing this it is often
-just a matter of thinking again.
-
-To force your upcoming request to not use an already existing connection (it
-will even close one first if there happens to be one alive to the same host
-you're about to operate on), you can do that by setting CURLOPT_FRESH_CONNECT
-to 1. In a similar spirit, you can also forbid the upcoming request to be
-"lying" around and possibly get re-used after the request by setting
-CURLOPT_FORBID_REUSE to 1.
-
-.SH "HTTP Headers Used by libcurl"
-When you use libcurl to do HTTP requests, it'll pass along a series of headers
-automatically. It might be good for you to know and understand these ones. You
-can replace or remove them by using the CURLOPT_HTTPHEADER option.
-
-.IP "Host"
-This header is required by HTTP 1.1 and even many 1.0 servers and should be
-the name of the server we want to talk to. This includes the port number if
-anything but default.
-
-.IP "Pragma"
-\&"no-cache". Tells a possible proxy to not grab a copy from the cache but to
-fetch a fresh one.
-
-.IP "Accept"
-\&"*/*".
-
-.IP "Expect"
-When doing POST requests, libcurl sets this header to \&"100-continue" to ask
-the server for an "OK" message before it proceeds with sending the data part
-of the post. If the POSTed data amount is deemed "small", libcurl will not use
-this header.
-
-.SH "Customizing Operations"
-There is an ongoing development today where more and more protocols are built
-upon HTTP for transport. This has obvious benefits as HTTP is a tested and
-reliable protocol that is widely deployed and have excellent proxy-support.
-
-When you use one of these protocols, and even when doing other kinds of
-programming you may need to change the traditional HTTP (or FTP or...)
-manners. You may need to change words, headers or various data.
-
-libcurl is your friend here too.
-
-.IP CUSTOMREQUEST
-If just changing the actual HTTP request keyword is what you want, like when
-GET, HEAD or POST is not good enough for you, CURLOPT_CUSTOMREQUEST is there
-for you. It is very simple to use:
-
- curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNRUQUEST");
-
-When using the custom request, you change the request keyword of the actual
-request you are performing. Thus, by default you make GET request but you can
-also make a POST operation (as described before) and then replace the POST
-keyword if you want to. You're the boss.
-
-.IP "Modify Headers"
-HTTP-like protocols pass a series of headers to the server when doing the
-request, and you're free to pass any amount of extra headers that you
-think fit. Adding headers are this easy:
-
-.nf
- struct curl_slist *headers=NULL; /* init to NULL is important */
-
- headers = curl_slist_append(headers, "Hey-server-hey: how are you?");
- headers = curl_slist_append(headers, "X-silly-content: yes");
-
- /* pass our list of custom made headers */
- curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
-
- curl_easy_perform(easyhandle); /* transfer http */
-
- curl_slist_free_all(headers); /* free the header list */
-.fi
-
-\&... and if you think some of the internally generated headers, such as
-Accept: or Host: don't contain the data you want them to contain, you can
-replace them by simply setting them too:
-
-.nf
- headers = curl_slist_append(headers, "Accept: Agent-007");
- headers = curl_slist_append(headers, "Host: munged.host.line");
-.fi
-
-.IP "Delete Headers"
-If you replace an existing header with one with no contents, you will prevent
-the header from being sent. Like if you want to completely prevent the
-\&"Accept:" header to be sent, you can disable it with code similar to this:
-
- headers = curl_slist_append(headers, "Accept:");
-
-Both replacing and canceling internal headers should be done with careful
-consideration and you should be aware that you may violate the HTTP protocol
-when doing so.
-
-.IP "Enforcing chunked transfer-encoding"
-
-By making sure a request uses the custom header "Transfer-Encoding: chunked"
-when doing a non-GET HTTP operation, libcurl will switch over to "chunked"
-upload, even though the size of the data to upload might be known. By default,
-libcurl usually switches over to chunked upload automatically if the upload
-data size is unknown.
-
-.IP "HTTP Version"
-
-All HTTP requests includes the version number to tell the server which version
-we support. libcurl speak HTTP 1.1 by default. Some very old servers don't
-like getting 1.1-requests and when dealing with stubborn old things like that,
-you can tell libcurl to use 1.0 instead by doing something like this:
-
- curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
-
-.IP "FTP Custom Commands"
-
-Not all protocols are HTTP-like, and thus the above may not help you when
-you want to make for example your FTP transfers to behave differently.
-
-Sending custom commands to a FTP server means that you need to send the
-commands exactly as the FTP server expects them (RFC959 is a good guide
-here), and you can only use commands that work on the control-connection
-alone. All kinds of commands that requires data interchange and thus needs
-a data-connection must be left to libcurl's own judgment. Also be aware
-that libcurl will do its very best to change directory to the target
-directory before doing any transfer, so if you change directory (with CWD
-or similar) you might confuse libcurl and then it might not attempt to
-transfer the file in the correct remote directory.
-
-A little example that deletes a given file before an operation:
-
-.nf
- headers = curl_slist_append(headers, "DELE file-to-remove");
-
- /* pass the list of custom commands to the handle */
- curl_easy_setopt(easyhandle, CURLOPT_QUOTE, headers);
-
- curl_easy_perform(easyhandle); /* transfer ftp data! */
-
- curl_slist_free_all(headers); /* free the header list */
-.fi
-
-If you would instead want this operation (or chain of operations) to happen
-_after_ the data transfer took place the option to \fIcurl_easy_setopt(3)\fP
-would instead be called CURLOPT_POSTQUOTE and used the exact same way.
-
-The custom FTP command will be issued to the server in the same order they are
-added to the list, and if a command gets an error code returned back from the
-server, no more commands will be issued and libcurl will bail out with an
-error code (CURLE_QUOTE_ERROR). Note that if you use CURLOPT_QUOTE to send
-commands before a transfer, no transfer will actually take place when a quote
-command has failed.
-
-If you set the CURLOPT_HEADER to 1, you will tell libcurl to get
-information about the target file and output "headers" about it. The headers
-will be in "HTTP-style", looking like they do in HTTP.
-
-The option to enable headers or to run custom FTP commands may be useful to
-combine with CURLOPT_NOBODY. If this option is set, no actual file content
-transfer will be performed.
-
-.IP "FTP Custom CUSTOMREQUEST"
-If you do what list the contents of a FTP directory using your own defined FTP
-command, CURLOPT_CUSTOMREQUEST will do just that. "NLST" is the default one
-for listing directories but you're free to pass in your idea of a good
-alternative.
-
-.SH "Cookies Without Chocolate Chips"
-In the HTTP sense, a cookie is a name with an associated value. A server sends
-the name and value to the client, and expects it to get sent back on every
-subsequent request to the server that matches the particular conditions
-set. The conditions include that the domain name and path match and that the
-cookie hasn't become too old.
-
-In real-world cases, servers send new cookies to replace existing one to
-update them. Server use cookies to "track" users and to keep "sessions".
-
-Cookies are sent from server to clients with the header Set-Cookie: and
-they're sent from clients to servers with the Cookie: header.
-
-To just send whatever cookie you want to a server, you can use CURLOPT_COOKIE
-to set a cookie string like this:
-
- curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;");
-
-In many cases, that is not enough. You might want to dynamically save
-whatever cookies the remote server passes to you, and make sure those cookies
-are then use accordingly on later requests.
-
-One way to do this, is to save all headers you receive in a plain file and
-when you make a request, you tell libcurl to read the previous headers to
-figure out which cookies to use. Set header file to read cookies from with
-CURLOPT_COOKIEFILE.
-
-The CURLOPT_COOKIEFILE option also automatically enables the cookie parser in
-libcurl. Until the cookie parser is enabled, libcurl will not parse or
-understand incoming cookies and they will just be ignored. However, when the
-parser is enabled the cookies will be understood and the cookies will be kept
-in memory and used properly in subsequent requests when the same handle is
-used. Many times this is enough, and you may not have to save the cookies to
-disk at all. Note that the file you specify to CURLOPT_COOKIEFILE doesn't
-have to exist to enable the parser, so a common way to just enable the parser
-and not read able might be to use a file name you know doesn't exist.
-
-If you rather use existing cookies that you've previously received with your
-Netscape or Mozilla browsers, you can make libcurl use that cookie file as
-input. The CURLOPT_COOKIEFILE is used for that too, as libcurl will
-automatically find out what kind of file it is and act accordingly.
-
-The perhaps most advanced cookie operation libcurl offers, is saving the
-entire internal cookie state back into a Netscape/Mozilla formatted cookie
-file. We call that the cookie-jar. When you set a file name with
-CURLOPT_COOKIEJAR, that file name will be created and all received cookies
-will be stored in it when \fIcurl_easy_cleanup(3)\fP is called. This enabled
-cookies to get passed on properly between multiple handles without any
-information getting lost.
-
-.SH "FTP Peculiarities We Need"
-
-FTP transfers use a second TCP/IP connection for the data transfer. This is
-usually a fact you can forget and ignore but at times this fact will come
-back to haunt you. libcurl offers several different ways to custom how the
-second connection is being made.
-
-libcurl can either connect to the server a second time or tell the server to
-connect back to it. The first option is the default and it is also what works
-best for all the people behind firewalls, NATs or IP-masquerading setups.
-libcurl then tells the server to open up a new port and wait for a second
-connection. This is by default attempted with EPSV first, and if that doesn't
-work it tries PASV instead. (EPSV is an extension to the original FTP spec
-and does not exist nor work on all FTP servers.)
-
-You can prevent libcurl from first trying the EPSV command by setting
-CURLOPT_FTP_USE_EPSV to zero.
-
-In some cases, you will prefer to have the server connect back to you for the
-second connection. This might be when the server is perhaps behind a firewall
-or something and only allows connections on a single port. libcurl then
-informs the remote server which IP address and port number to connect to.
-This is made with the CURLOPT_FTPPORT option. If you set it to "-", libcurl
-will use your system's "default IP address". If you want to use a particular
-IP, you can set the full IP address, a host name to resolve to an IP address
-or even a local network interface name that libcurl will get the IP address
-from.
-
-When doing the "PORT" approach, libcurl will attempt to use the EPRT and the
-LPRT before trying PORT, as they work with more protocols. You can disable
-this behavior by setting CURLOPT_FTP_USE_EPRT to zero.
-
-.SH "Headers Equal Fun"
-
-Some protocols provide "headers", meta-data separated from the normal
-data. These headers are by default not included in the normal data stream,
-but you can make them appear in the data stream by setting CURLOPT_HEADER to
-1.
-
-What might be even more useful, is libcurl's ability to separate the headers
-from the data and thus make the callbacks differ. You can for example set a
-different pointer to pass to the ordinary write callback by setting
-CURLOPT_WRITEHEADER.
-
-Or, you can set an entirely separate function to receive the headers, by
-using CURLOPT_HEADERFUNCTION.
-
-The headers are passed to the callback function one by one, and you can
-depend on that fact. It makes it easier for you to add custom header parsers
-etc.
-
-\&"Headers" for FTP transfers equal all the FTP server responses. They aren't
-actually true headers, but in this case we pretend they are! ;-)
-
-.SH "Post Transfer Information"
-
- [ curl_easy_getinfo ]
-
-.SH "Security Considerations"
-
-libcurl is in itself not insecure. If used the right way, you can use libcurl
-to transfer data pretty safely.
-
-There are of course many things to consider that may loosen up this
-situation:
-
-.IP "Command Lines"
-If you use a command line tool (such as curl) that uses libcurl, and you give
-option to the tool on the command line those options can very likely get read
-by other users of your system when they use 'ps' or other tools to list
-currently running processes.
-
-To avoid this problem, never feed sensitive things to programs using command
-line options.
-
-.IP ".netrc"
-\&.netrc is a pretty handy file/feature that allows you to login quickly and
-automatically to frequently visited sites. The file contains passwords in
-clear text and is a real security risk. In some cases, your .netrc is also
-stored in a home directory that is NFS mounted or used on another network
-based file system, so the clear text password will fly through your network
-every time anyone reads that file!
-
-To avoid this problem, don't use .netrc files and never store passwords in
-plain text anywhere.
-
-.IP "Clear Text Passwords"
-Many of the protocols libcurl supports send name and password unencrypted as
-clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for
-anyone on your network or a network nearby yours, to just fire up a network
-analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP
-uses base64 encoded passwords fool you. They may not look readable at a first
-glance, but they very easily "deciphered" by anyone within seconds.
-
-To avoid this problem, use protocols that don't let snoopers see your
-password: HTTPS, FTPS and FTP-kerberos are a few examples. HTTP Digest
-authentication allows this too, but isn't supported by libcurl as of this
-writing.
-
-.IP "Showing What You Do"
-On a related issue, be aware that even in situations like when you have
-problems with libcurl and ask someone for help, everything you reveal in order
-to get best possible help might also impose certain security related
-risks. Host names, user names, paths, operating system specifics etc (not to
-mention passwords of course) may in fact be used by intruders to gain
-additional information of a potential target.
-
-To avoid this problem, you must of course use your common sense. Often, you
-can just edit out the sensitive data or just search/replace your true
-information with faked data.
-
-.SH "Multiple Transfers Using the multi Interface"
-
-The easy interface as described in detail in this document is a synchronous
-interface that transfers one file at a time and doesn't return until its
-done.
-
-The multi interface on the other hand, allows your program to transfer
-multiple files in both directions at the same time, without forcing you to
-use multiple threads.
-
-To use this interface, you are better off if you first understand the basics
-of how to use the easy interface. The multi interface is simply a way to make
-multiple transfers at the same time, by adding up multiple easy handles in to
-a "multi stack".
-
-You create the easy handles you want and you set all the options just like you
-have been told above, and then you create a multi handle with
-\fIcurl_multi_init(3)\fP and add all those easy handles to that multi handle
-with \fIcurl_multi_add_handle(3)\fP.
-
-When you've added the handles you have for the moment (you can still add new
-ones at any time), you start the transfers by call
-\fIcurl_multi_perform(3)\fP.
-
-\fIcurl_multi_perform(3)\fP is asynchronous. It will only execute as little as
-possible and then return back control to your program. It is designed to never
-block. If it returns CURLM_CALL_MULTI_PERFORM you better call it again soon,
-as that is a signal that it still has local data to send or remote data to
-receive.
-
-The best usage of this interface is when you do a select() on all possible
-file descriptors or sockets to know when to call libcurl again. This also
-makes it easy for you to wait and respond to actions on your own application's
-sockets/handles. You figure out what to select() for by using
-\fIcurl_multi_fdset(3)\fP, that fills in a set of fd_set variables for you
-with the particular file descriptors libcurl uses for the moment.
-
-When you then call select(), it'll return when one of the file handles signal
-action and you then call \fIcurl_multi_perform(3)\fP to allow libcurl to do
-what it wants to do. Take note that libcurl does also feature some time-out
-code so we advice you to never use very long timeouts on select() before you
-call \fIcurl_multi_perform(3)\fP, which thus should be called unconditionally
-every now and then even if none of its file descriptors have signaled
-ready. Another precaution you should use: always call
-\fIcurl_multi_fdset(3)\fP immediately before the select() call since the
-current set of file descriptors may change when calling a curl function.
-
-If you want to stop the transfer of one of the easy handles in the stack, you
-can use \fIcurl_multi_remove_handle(3)\fP to remove individual easy
-handles. Remember that easy handles should be \fIcurl_easy_cleanup(3)\fPed.
-
-When a transfer within the multi stack has finished, the counter of running
-transfers (as filled in by \fIcurl_multi_perform(3)\fP) will decrease. When
-the number reaches zero, all transfers are done.
-
-\fIcurl_multi_info_read(3)\fP can be used to get information about completed
-transfers. It then returns the CURLcode for each easy transfer, to allow you
-to figure out success on each individual transfer.
-
-.SH "SSL, Certificates and Other Tricks"
-
- [ seeding, passwords, keys, certificates, ENGINE, ca certs ]
-
-.SH "Sharing Data Between Easy Handles"
-
- [ fill in ]
-
-.SH "Footnotes"
-
-.IP "[1]"
-libcurl 7.10.3 and later have the ability to switch over to chunked
-Transfer-Encoding in cases were HTTP uploads are done with data of an unknown
-size.
-.IP "[2]"
-This happens on Windows machines when libcurl is built and used as a
-DLL. However, you can still do this on Windows if you link with a static
-library.
-.IP "[3]"
-The curl-config tool is generated at build-time (on unix-like systems) and
-should be installed with the 'make install' or similar instruction that
-installs the library, header files, man pages etc.
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.html b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.html
deleted file mode 100644
index 094d5cb..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.html
+++ /dev/null
@@ -1,500 +0,0 @@
-<html><head>
-<title>libcurl-tutorial man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-tutorial - libcurl programming tutorial <a name="Objective"></a><h2 class="nroffsh">Objective</h2>
-<p class="level0">This document attempts to describe the general principles and some basic approaches to consider when programming with libcurl. The text will focus mainly on the C interface but might apply fairly well on other interfaces as well as they usually follow the C one pretty closely.
-<p class="level0">This document will refer to 'the user' as the person writing the source code that uses libcurl. That would probably be you or someone in your position. What will be generally referred to as 'the program' will be the collected source code that you write that is using libcurl for transfers. The program is outside libcurl and libcurl is outside of the program.
-<p class="level0">To get the more details on all options and functions described herein, please refer to their respective man pages.
-<p class="level0"><a name="Building"></a><h2 class="nroffsh">Building</h2>
-<p class="level0">There are many different ways to build C programs. This chapter will assume a unix-style build process. If you use a different build system, you can still read this to get general information that may apply to your environment as well.
-<p class="level0"><a name="Compiling"></a><span class="nroffip">Compiling the Program</span>
-<p class="level1">Your compiler needs to know where the libcurl headers are located. Therefore you must set your compiler's include path to point to the directory where you installed them. The 'curl-config'[3] tool can be used to get this information:
-<p class="level1">$ curl-config --cflags
-<p class="level1">
-<p class="level0"><a name="Linking"></a><span class="nroffip">Linking the Program with libcurl</span>
-<p class="level1">When having compiled the program, you need to link your object files to create a single executable. For that to succeed, you need to link with libcurl and possibly also with other libraries that libcurl itself depends on. Like the OpenSSL libraries, but even some standard OS libraries may be needed on the command line. To figure out which flags to use, once again the 'curl-config' tool comes to the rescue:
-<p class="level1">$ curl-config --libs
-<p class="level1">
-<p class="level0"><a name="SSL"></a><span class="nroffip">SSL or Not</span>
-<p class="level1">libcurl can be built and customized in many ways. One of the things that varies from different libraries and builds is the support for SSL-based transfers, like HTTPS and FTPS. If a supported SSL library was detected properly at build-time, libcurl will be built with SSL support. To figure out if an installed libcurl has been built with SSL support enabled, use 'curl-config' like this:
-<p class="level1">$ curl-config --feature
-<p class="level1">And if SSL is supported, the keyword 'SSL' will be written to stdout, possibly together with a few other features that can be on and off on different libcurls.
-<p class="level1">See also the "Features libcurl Provides" further down.
-<p class="level0"><a name="autoconf"></a><span class="nroffip">autoconf macro</span>
-<p class="level1">When you write your configure script to detect libcurl and setup variables accordingly, we offer a prewritten macro that probably does everything you need in this area. See docs/libcurl/libcurl.m4 file - it includes docs on how to use it.
-<p class="level1"><a name="Portable"></a><h2 class="nroffsh">Portable Code in a Portable World</h2>
-<p class="level0">The people behind libcurl have put a considerable effort to make libcurl work on a large amount of different operating systems and environments.
-<p class="level0">You program libcurl the same way on all platforms that libcurl runs on. There are only very few minor considerations that differs. If you just make sure to write your code portable enough, you may very well create yourself a very portable program. libcurl shouldn't stop you from that.
-<p class="level0"><a name="Global"></a><h2 class="nroffsh">Global Preparation</h2>
-<p class="level0">The program must initialize some of the libcurl functionality globally. That means it should be done exactly once, no matter how many times you intend to use the library. Once for your program's entire life time. This is done using
-<p class="level0">&nbsp;curl_global_init()
-<p class="level0">and it takes one parameter which is a bit pattern that tells libcurl what to initialize. Using <span Class="emphasis">CURL_GLOBAL_ALL</span> will make it initialize all known internal sub modules, and might be a good default option. The current two bits that are specified are:
-<p class="level1">
-<p class="level0"><a name="CURLGLOBALWIN32"></a><span class="nroffip">CURL_GLOBAL_WIN32</span>
-<p class="level1">which only does anything on Windows machines. When used on a Windows machine, it'll make libcurl initialize the win32 socket stuff. Without having that initialized properly, your program cannot use sockets properly. You should only do this once for each application, so if your program already does this or of another library in use does it, you should not tell libcurl to do this as well.
-<p class="level0"><a name="CURLGLOBALSSL"></a><span class="nroffip">CURL_GLOBAL_SSL</span>
-<p class="level1">which only does anything on libcurls compiled and built SSL-enabled. On these systems, this will make libcurl initialize the SSL library properly for this application. This is only needed to do once for each application so if your program or another library already does this, this bit should not be needed.
-<p class="level0">
-<p class="level0">libcurl has a default protection mechanism that detects if <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> hasn't been called by the time <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> is called and if that is the case, libcurl runs the function itself with a guessed bit pattern. Please note that depending solely on this is not considered nice nor very good.
-<p class="level0">When the program no longer uses libcurl, it should call <a class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup(3)</a>, which is the opposite of the init call. It will then do the reversed operations to cleanup the resources the <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> call initialized.
-<p class="level0">Repeated calls to <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> and <a class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup(3)</a> should be avoided. They should only be called once each.
-<p class="level0"><a name="Features"></a><h2 class="nroffsh">Features libcurl Provides</h2>
-<p class="level0">It is considered best-practice to determine libcurl features at run-time rather than at build-time (if possible of course). By calling <a class="emphasis" href="./curl_version_info.html">curl_version_info(3)</a> and checking out the details of the returned struct, your program can figure out exactly what the currently running libcurl supports.
-<p class="level0"><a name="Handle"></a><h2 class="nroffsh">Handle the Easy libcurl</h2>
-<p class="level0">libcurl first introduced the so called easy interface. All operations in the easy interface are prefixed with 'curl_easy'.
-<p class="level0">Recent libcurl versions also offer the multi interface. More about that interface, what it is targeted for and how to use it is detailed in a separate chapter further down. You still need to understand the easy interface first, so please continue reading for better understanding.
-<p class="level0">To use the easy interface, you must first create yourself an easy handle. You need one handle for each easy session you want to perform. Basically, you should use one handle for every thread you plan to use for transferring. You must never share the same handle in multiple threads.
-<p class="level0">Get an easy handle with
-<p class="level0">&nbsp;easyhandle = curl_easy_init();
-<p class="level0">It returns an easy handle. Using that you proceed to the next step: setting up your preferred actions. A handle is just a logic entity for the upcoming transfer or series of transfers.
-<p class="level0">You set properties and options for this handle using <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>. They control how the subsequent transfer or transfers will be made. Options remain set in the handle until set again to something different. Alas, multiple requests using the same handle will use the same options.
-<p class="level0">Many of the options you set in libcurl are "strings", pointers to data terminated with a zero byte. Keep in mind that when you set strings with <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a>, libcurl will not copy the data. It will merely point to the data. You MUST make sure that the data remains available for libcurl to use until finished or until you use the same option again to point to something else.
-<p class="level0">One of the most basic properties to set in the handle is the URL. You set your preferred URL to transfer with CURLOPT_URL in a manner similar to:
-<p class="level0"><pre>
-<p class="level0">&nbsp;curl_easy_setopt(handle, CURLOPT_URL, "<a href="http://domain.com/">http://domain.com/</a>");
- </pre>
-
-<p class="level0">
-<p class="level0">Let's assume for a while that you want to receive data as the URL identifies a remote resource you want to get here. Since you write a sort of application that needs this transfer, I assume that you would like to get the data passed to you directly instead of simply getting it passed to stdout. So, you write your own function that matches this prototype:
-<p class="level0">&nbsp;size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
-<p class="level0">You tell libcurl to pass all data to this function by issuing a function similar to this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);
-<p class="level0">You can control what data your function get in the forth argument by setting another property:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &internal_struct);
-<p class="level0">Using that property, you can easily pass local data between your application and the function that gets invoked by libcurl. libcurl itself won't touch the data you pass with <span Class="emphasis">CURLOPT_WRITEDATA</span>.
-<p class="level0">libcurl offers its own default internal callback that'll take care of the data if you don't set the callback with <span Class="emphasis">CURLOPT_WRITEFUNCTION</span>. It will then simply output the received data to stdout. You can have the default callback write the data to a different file handle by passing a 'FILE *' to a file opened for writing with the <span Class="emphasis">CURLOPT_WRITEDATA</span> option.
-<p class="level0">Now, we need to take a step back and have a deep breath. Here's one of those rare platform-dependent nitpicks. Did you spot it? On some platforms[2], libcurl won't be able to operate on files opened by the program. Thus, if you use the default callback and pass in an open file with <span Class="emphasis">CURLOPT_WRITEDATA</span>, it will crash. You should therefore avoid this to make your program run fine virtually everywhere.
-<p class="level0">(<span Class="emphasis">CURLOPT_WRITEDATA</span> was formerly known as <span Class="emphasis">CURLOPT_FILE</span>. Both names still work and do the same thing).
-<p class="level0">If you're using libcurl as a win32 DLL, you MUST use the <span Class="emphasis">CURLOPT_WRITEFUNCTION</span> if you set <span Class="emphasis">CURLOPT_WRITEDATA</span> - or you will experience crashes.
-<p class="level0">There are of course many more options you can set, and we'll get back to a few of them later. Let's instead continue to the actual transfer:
-<p class="level0">&nbsp;success = curl_easy_perform(easyhandle);
-<p class="level0"><a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> will connect to the remote site, do the necessary commands and receive the transfer. Whenever it receives data, it calls the callback function we previously set. The function may get one byte at a time, or it may get many kilobytes at once. libcurl delivers as much as possible as often as possible. Your callback function should return the number of bytes it "took care of". If that is not the exact same amount of bytes that was passed to it, libcurl will abort the operation and return with an error code.
-<p class="level0">When the transfer is complete, the function returns a return code that informs you if it succeeded in its mission or not. If a return code isn't enough for you, you can use the CURLOPT_ERRORBUFFER to point libcurl to a buffer of yours where it'll store a human readable error message as well.
-<p class="level0">If you then want to transfer another file, the handle is ready to be used again. Mind you, it is even preferred that you re-use an existing handle if you intend to make another transfer. libcurl will then attempt to re-use the previous connection.
-<p class="level0"><a name="Multi-threading"></a><h2 class="nroffsh">Multi-threading Issues</h2>
-<p class="level0">The first basic rule is that you must <span Class="bold">never</span> share a libcurl handle (be it easy or multi or whatever) between multiple threads. Only use one handle in one thread at a time.
-<p class="level0">libcurl is completely thread safe, except for two issues: signals and SSL/TLS handlers. Signals are used timeouting name resolves (during DNS lookup) - when built without c-ares support and not on Windows..
-<p class="level0">If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are then of course using the underlying SSL library multi-threaded and those libs might have their own requirements on this issue. Basically, you need to provide one or two functions to allow it to function properly. For all details, see this:
-<p class="level0">OpenSSL
-<p class="level0">&nbsp;<a href="http://www.openssl.org/docs/crypto/threads.html">http://www.openssl.org/docs/crypto/threads.html</a>#DESCRIPTION
-<p class="level0">GnuTLS
-<p class="level0">&nbsp;<a href="http://www.gnu.org/software/gnutls/manual/html_node/">http://www.gnu.org/software/gnutls/manual/html_node/</a>Multi_002dthreaded-applications.html
-<p class="level0">NSS
-<p class="level0">&nbsp;is claimed to be thread-safe already without anything required
-<p class="level0">yassl
-<p class="level0">&nbsp;Required actions unknown
-<p class="level0">When using multiple threads you should set the CURLOPT_NOSIGNAL option to 1 for all handles. Everything will or might work fine except that timeouts are not honored during the DNS lookup - which you can work around by building libcurl with c-ares support. c-ares is a library that provides asynchronous name resolves. Unfortunately, c-ares does not yet fully support IPv6. On some platforms, libcurl simply will not function properly multi-threaded unless this option is set.
-<p class="level0">Also, note that CURLOPT_DNS_USE_GLOBAL_CACHE is not thread-safe.
-<p class="level0"><a name="When"></a><h2 class="nroffsh">When It Doesn't Work</h2>
-<p class="level0">There will always be times when the transfer fails for some reason. You might have set the wrong libcurl option or misunderstood what the libcurl option actually does, or the remote server might return non-standard replies that confuse the library which then confuses your program.
-<p class="level0">There's one golden rule when these things occur: set the CURLOPT_VERBOSE option to 1. It'll cause the library to spew out the entire protocol details it sends, some internal info and some received protocol data as well (especially when using FTP). If you're using HTTP, adding the headers in the received output to study is also a clever way to get a better understanding why the server behaves the way it does. Include headers in the normal body output with CURLOPT_HEADER set 1.
-<p class="level0">Of course there are bugs left. We need to get to know about them to be able to fix them, so we're quite dependent on your bug reports! When you do report suspected bugs in libcurl, please include as much details you possibly can: a protocol dump that CURLOPT_VERBOSE produces, library version, as much as possible of your code that uses libcurl, operating system name and version, compiler name and version etc.
-<p class="level0">If CURLOPT_VERBOSE is not enough, you increase the level of debug data your application receive by using the CURLOPT_DEBUGFUNCTION.
-<p class="level0">Getting some in-depth knowledge about the protocols involved is never wrong, and if you're trying to do funny things, you might very well understand libcurl and how to use it better if you study the appropriate RFC documents at least briefly.
-<p class="level0"><a name="Upload"></a><h2 class="nroffsh">Upload Data to a Remote Site</h2>
-<p class="level0">libcurl tries to keep a protocol independent approach to most transfers, thus uploading to a remote FTP site is very similar to uploading data to a HTTP server with a PUT request.
-<p class="level0">Of course, first you either create an easy handle or you re-use one existing one. Then you set the URL to operate on just like before. This is the remote URL, that we now will upload.
-<p class="level0">Since we write an application, we most likely want libcurl to get the upload data by asking us for it. To make it do that, we set the read callback and the custom pointer libcurl will pass to our read callback. The read callback should have a prototype similar to:
-<p class="level0">&nbsp;size_t function(char *bufptr, size_t size, size_t nitems, void *userp);
-<p class="level0">Where bufptr is the pointer to a buffer we fill in with data to upload and size*nitems is the size of the buffer and therefore also the maximum amount of data we can return to libcurl in this call. The 'userp' pointer is the custom pointer we set to point to a struct of ours to pass private data between the application and the callback.
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function);
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_INFILE, &filedata);
-<p class="level0">Tell libcurl that we want to upload:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_UPLOAD, 1L);
-<p class="level0">A few protocols won't behave properly when uploads are done without any prior knowledge of the expected file size. So, set the upload file size using the CURLOPT_INFILESIZE_LARGE for all known file sizes like this[1]:
-<p class="level0"><pre>
-<p class="level0">&nbsp;/* in this example, file_size must be an off_t variable */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE_LARGE, file_size);
- </pre>
-
-<p class="level0">
-<p class="level0">When you call <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> this time, it'll perform all the necessary operations and when it has invoked the upload it'll call your supplied callback to get the data to upload. The program should return as much data as possible in every invoke, as that is likely to make the upload perform as fast as possible. The callback should return the number of bytes it wrote in the buffer. Returning 0 will signal the end of the upload.
-<p class="level0"><a name="Passwords"></a><h2 class="nroffsh">Passwords</h2>
-<p class="level0">Many protocols use or even require that user name and password are provided to be able to download or upload the data of your choice. libcurl offers several ways to specify them.
-<p class="level0">Most protocols support that you specify the name and password in the URL itself. libcurl will detect this and use them accordingly. This is written like this:
-<p class="level0">&nbsp;protocol://user:password@example.com/path/
-<p class="level0">If you need any odd letters in your user name or password, you should enter them URL encoded, as %XX where XX is a two-digit hexadecimal number.
-<p class="level0">libcurl also provides options to set various passwords. The user name and password as shown embedded in the URL can instead get set with the CURLOPT_USERPWD option. The argument passed to libcurl should be a char * to a string in the format "user:password:". In a manner like this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");
-<p class="level0">Another case where name and password might be needed at times, is for those users who need to authenticate themselves to a proxy they use. libcurl offers another option for this, the CURLOPT_PROXYUSERPWD. It is used quite similar to the CURLOPT_USERPWD option like this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");
-<p class="level0">There's a long time unix "standard" way of storing ftp user names and passwords, namely in the $HOME/.netrc file. The file should be made private so that only the user may read it (see also the "Security Considerations" chapter), as it might contain the password in plain text. libcurl has the ability to use this file to figure out what set of user name and password to use for a particular host. As an extension to the normal functionality, libcurl also supports this file for non-FTP protocols such as HTTP. To make curl use this file, use the CURLOPT_NETRC option:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L);
-<p class="level0">And a very basic example of how such a .netrc file may look like:
-<p class="level0"><pre>
-<p class="level0">&nbsp;machine myhost.mydomain.com
- &nbsp;login userlogin
- &nbsp;password secretword
- </pre>
-
-<p class="level0">
-<p class="level0">All these examples have been cases where the password has been optional, or at least you could leave it out and have libcurl attempt to do its job without it. There are times when the password isn't optional, like when you're using an SSL private key for secure transfers.
-<p class="level0">To pass the known private key password to libcurl:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_KEYPASSWD, "keypassword");
-<p class="level0"><a name="HTTP"></a><h2 class="nroffsh">HTTP Authentication</h2>
-<p class="level0">The previous chapter showed how to set user name and password for getting URLs that require authentication. When using the HTTP protocol, there are many different ways a client can provide those credentials to the server and you can control what way libcurl will (attempt to) use. The default HTTP authentication method is called 'Basic', which is sending the name and password in clear-text in the HTTP request, base64-encoded. This is insecure.
-<p class="level0">At the time of this writing libcurl can be built to use: Basic, Digest, NTLM, Negotiate, GSS-Negotiate and SPNEGO. You can tell libcurl which one to use with CURLOPT_HTTPAUTH as in:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
-<p class="level0">And when you send authentication to a proxy, you can also set authentication type the same way but instead with CURLOPT_PROXYAUTH:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
-<p class="level0">Both these options allow you to set multiple types (by ORing them together), to make libcurl pick the most secure one out of the types the server/proxy claims to support. This method does however add a round-trip since libcurl must first ask the server what it supports:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, &nbsp;CURLAUTH_DIGEST|CURLAUTH_BASIC);
-<p class="level0">For convenience, you can use the 'CURLAUTH_ANY' define (instead of a list with specific types) which allows libcurl to use whatever method it wants.
-<p class="level0">When asking for multiple types, libcurl will pick the available one it considers "best" in its own internal order of preference.
-<p class="level0"><a name="HTTP"></a><h2 class="nroffsh">HTTP POSTing</h2>
-<p class="level0">We get many questions regarding how to issue HTTP POSTs with libcurl the proper way. This chapter will thus include examples using both different versions of HTTP POST that libcurl supports.
-<p class="level0">The first version is the simple POST, the most common version, that most HTML pages using the &lt;form&gt; tag uses. We provide a pointer to the data and tell libcurl to post it all to the remote site:
-<p class="level0"><pre>
-<p class="level0">&nbsp; char *data="name=daniel&project=curl";
- &nbsp; curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, data);
- &nbsp; curl_easy_setopt(easyhandle, CURLOPT_URL, "<a href="http://posthere.com/">http://posthere.com/</a>");
- <p class="level0">&nbsp; curl_easy_perform(easyhandle); /* post away! */
- </pre>
-
-<p class="level0">
-<p class="level0">Simple enough, huh? Since you set the POST options with the CURLOPT_POSTFIELDS, this automatically switches the handle to use POST in the upcoming request.
-<p class="level0">Ok, so what if you want to post binary data that also requires you to set the Content-Type: header of the post? Well, binary posts prevents libcurl from being able to do strlen() on the data to figure out the size, so therefore we must tell libcurl the size of the post data. Setting headers in libcurl requests are done in a generic way, by building a list of our own headers and then passing that list to libcurl.
-<p class="level0"><pre>
-<p class="level0">&nbsp;struct curl_slist *headers=NULL;
- &nbsp;headers = curl_slist_append(headers, "Content-Type: text/xml");
- <p class="level0">&nbsp;/* post binary data */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, binaryptr);
- <p class="level0">&nbsp;/* set the size of the postfields data */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDSIZE, 23L);
- <p class="level0">&nbsp;/* pass our list of custom made headers */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
- <p class="level0">&nbsp;curl_easy_perform(easyhandle); /* post away! */
- <p class="level0">&nbsp;curl_slist_free_all(headers); /* free the header list */
- </pre>
-
-<p class="level0">
-<p class="level0">While the simple examples above cover the majority of all cases where HTTP POST operations are required, they don't do multi-part formposts. Multi-part formposts were introduced as a better way to post (possibly large) binary data and was first documented in the RFC1867. They're called multi-part because they're built by a chain of parts, each being a single unit. Each part has its own name and contents. You can in fact create and post a multi-part formpost with the regular libcurl POST support described above, but that would require that you build a formpost yourself and provide to libcurl. To make that easier, libcurl provides <a class="emphasis" href="./curl_formadd.html">curl_formadd(3)</a>. Using this function, you add parts to the form. When you're done adding parts, you post the whole form.
-<p class="level0">The following example sets two simple text parts with plain textual contents, and then a file with binary contents and upload the whole thing.
-<p class="level0"><pre>
-<p class="level0">&nbsp;struct curl_httppost *post=NULL;
- &nbsp;struct curl_httppost *last=NULL;
- &nbsp;curl_formadd(&post, &last,
- &nbsp; CURLFORM_COPYNAME, "name",
- &nbsp; CURLFORM_COPYCONTENTS, "daniel", CURLFORM_END);
- &nbsp;curl_formadd(&post, &last,
- &nbsp; CURLFORM_COPYNAME, "project",
- &nbsp; CURLFORM_COPYCONTENTS, "curl", CURLFORM_END);
- &nbsp;curl_formadd(&post, &last,
- &nbsp; CURLFORM_COPYNAME, "logotype-image",
- &nbsp; CURLFORM_FILECONTENT, "curl.png", CURLFORM_END);
- <p class="level0">&nbsp;/* Set the form info */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPPOST, post);
- <p class="level0">&nbsp;curl_easy_perform(easyhandle); /* post away! */
- <p class="level0">&nbsp;/* free the post data again */
- &nbsp;curl_formfree(post);
- </pre>
-
-<p class="level0">
-<p class="level0">Multipart formposts are chains of parts using MIME-style separators and headers. It means that each one of these separate parts get a few headers set that describe the individual content-type, size etc. To enable your application to handicraft this formpost even more, libcurl allows you to supply your own set of custom headers to such an individual form part. You can of course supply headers to as many parts you like, but this little example will show how you set headers to one specific part when you add that to the post handle:
-<p class="level0"><pre>
-<p class="level0">&nbsp;struct curl_slist *headers=NULL;
- &nbsp;headers = curl_slist_append(headers, "Content-Type: text/xml");
- <p class="level0">&nbsp;curl_formadd(&post, &last,
- &nbsp; CURLFORM_COPYNAME, "logotype-image",
- &nbsp; CURLFORM_FILECONTENT, "curl.xml",
- &nbsp; CURLFORM_CONTENTHEADER, headers,
- &nbsp; CURLFORM_END);
- <p class="level0">&nbsp;curl_easy_perform(easyhandle); /* post away! */
- <p class="level0">&nbsp;curl_formfree(post); /* free post */
- &nbsp;curl_slist_free_all(post); /* free custom header list */
- </pre>
-
-<p class="level0">
-<p class="level0">Since all options on an easyhandle are "sticky", they remain the same until changed even if you do call <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a>, you may need to tell curl to go back to a plain GET request if you intend to do such a one as your next request. You force an easyhandle to back to GET by using the CURLOPT_HTTPGET option:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L);
-<p class="level0">Just setting CURLOPT_POSTFIELDS to "" or NULL will *not* stop libcurl from doing a POST. It will just make it POST without any data to send!
-<p class="level0"><a name="Showing"></a><h2 class="nroffsh">Showing Progress</h2>
-<p class="level0">
-<p class="level0">For historical and traditional reasons, libcurl has a built-in progress meter that can be switched on and then makes it presents a progress meter in your terminal.
-<p class="level0">Switch on the progress meter by, oddly enough, set CURLOPT_NOPROGRESS to zero. This option is set to 1 by default.
-<p class="level0">For most applications however, the built-in progress meter is useless and what instead is interesting is the ability to specify a progress callback. The function pointer you pass to libcurl will then be called on irregular intervals with information about the current transfer.
-<p class="level0">Set the progress callback by using CURLOPT_PROGRESSFUNCTION. And pass a pointer to a function that matches this prototype:
-<p class="level0"><pre>
-<p class="level0">&nbsp;int progress_callback(void *clientp,
- &nbsp; double dltotal,
- &nbsp; double dlnow,
- &nbsp; double ultotal,
- &nbsp; double ulnow);
- </pre>
-
-<p class="level0">
-<p class="level0">If any of the input arguments is unknown, a 0 will be passed. The first argument, the 'clientp' is the pointer you pass to libcurl with CURLOPT_PROGRESSDATA. libcurl won't touch it.
-<p class="level0"><a name="libcurl"></a><h2 class="nroffsh">libcurl with C++</h2>
-<p class="level0">
-<p class="level0">There's basically only one thing to keep in mind when using C++ instead of C when interfacing libcurl:
-<p class="level0">The callbacks CANNOT be non-static class member functions
-<p class="level0">Example C++ code:
-<p class="level0"><pre>
-<p class="level0">class AClass {
- &nbsp; static size_t write_data(void *ptr, size_t size, size_t nmemb,
- &nbsp; void *ourpointer)
- &nbsp; {
- &nbsp; /* do what you want with the data */
- &nbsp; }
- &nbsp;}
- </pre>
-
-<p class="level0">
-<p class="level0"><a name="Proxies"></a><h2 class="nroffsh">Proxies</h2>
-<p class="level0">
-<p class="level0">What "proxy" means according to Merriam-Webster: "a person authorized to act for another" but also "the agency, function, or office of a deputy who acts as a substitute for another".
-<p class="level0">Proxies are exceedingly common these days. Companies often only offer Internet access to employees through their proxies. Network clients or user-agents ask the proxy for documents, the proxy does the actual request and then it returns them.
-<p class="level0">libcurl supports SOCKS and HTTP proxies. When a given URL is wanted, libcurl will ask the proxy for it instead of trying to connect to the actual host identified in the URL.
-<p class="level0">If you're using a SOCKS proxy, you may find that libcurl doesn't quite support all operations through it.
-<p class="level0">For HTTP proxies: the fact that the proxy is a HTTP proxy puts certain restrictions on what can actually happen. A requested URL that might not be a HTTP URL will be still be passed to the HTTP proxy to deliver back to libcurl. This happens transparently, and an application may not need to know. I say "may", because at times it is very important to understand that all operations over a HTTP proxy is using the HTTP protocol. For example, you can't invoke your own custom FTP commands or even proper FTP directory listings.
-<p class="level0">
-<p class="level0"><a name="Proxy"></a><span class="nroffip">Proxy Options</span>
-<p class="level1">
-<p class="level1">To tell libcurl to use a proxy at a given port number:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXY, "proxy-host.com:8080");
-<p class="level1">Some proxies require user authentication before allowing a request, and you pass that information similar to this:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password");
-<p class="level1">If you want to, you can specify the host name only in the CURLOPT_PROXY option, and set the port number separately with CURLOPT_PROXYPORT.
-<p class="level1">Tell libcurl what kind of proxy it is with CURLOPT_PROXYTYPE (if not, it will default to assume a HTTP proxy):
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
-<p class="level1">
-<p class="level0"><a name="Environment"></a><span class="nroffip">Environment Variables</span>
-<p class="level1">
-<p class="level1">libcurl automatically checks and uses a set of environment variables to know what proxies to use for certain protocols. The names of the variables are following an ancient de facto standard and are built up as "[protocol]_proxy" (note the lower casing). Which makes the variable 'http_proxy' checked for a name of a proxy to use when the input URL is HTTP. Following the same rule, the variable named 'ftp_proxy' is checked for FTP URLs. Again, the proxies are always HTTP proxies, the different names of the variables simply allows different HTTP proxies to be used.
-<p class="level1">The proxy environment variable contents should be in the format "[protocol://][user:password@]machine[:port]". Where the protocol:// part is simply ignored if present (so <a href="http://proxy">http://proxy</a> and bluerk://proxy will do the same) and the optional port number specifies on which port the proxy operates on the host. If not specified, the internal default port number will be used and that is most likely *not* the one you would like it to be.
-<p class="level1">There are two special environment variables. 'all_proxy' is what sets proxy for any URL in case the protocol specific variable wasn't set, and 'no_proxy' defines a list of hosts that should not use a proxy even though a variable may say so. If 'no_proxy' is a plain asterisk ("*") it matches all hosts.
-<p class="level1">To explicitly disable libcurl's checking for and using the proxy environment variables, set the proxy name to "" - an empty string - with CURLOPT_PROXY.
-<p class="level0"><a name="SSL"></a><span class="nroffip">SSL and Proxies</span>
-<p class="level1">
-<p class="level1">SSL is for secure point-to-point connections. This involves strong encryption and similar things, which effectively makes it impossible for a proxy to operate as a "man in between" which the proxy's task is, as previously discussed. Instead, the only way to have SSL work over a HTTP proxy is to ask the proxy to tunnel trough everything without being able to check or fiddle with the traffic.
-<p class="level1">Opening an SSL connection over a HTTP proxy is therefor a matter of asking the proxy for a straight connection to the target host on a specified port. This is made with the HTTP request CONNECT. ("please mr proxy, connect me to that remote host").
-<p class="level1">Because of the nature of this operation, where the proxy has no idea what kind of data that is passed in and out through this tunnel, this breaks some of the very few advantages that come from using a proxy, such as caching. Many organizations prevent this kind of tunneling to other destination port numbers than 443 (which is the default HTTPS port number).
-<p class="level1">
-<p class="level0"><a name="Tunneling"></a><span class="nroffip">Tunneling Through Proxy</span>
-<p class="level1">As explained above, tunneling is required for SSL to work and often even restricted to the operation intended for SSL; HTTPS.
-<p class="level1">This is however not the only time proxy-tunneling might offer benefits to you or your application.
-<p class="level1">As tunneling opens a direct connection from your application to the remote machine, it suddenly also re-introduces the ability to do non-HTTP operations over a HTTP proxy. You can in fact use things such as FTP upload or FTP custom commands this way.
-<p class="level1">Again, this is often prevented by the administrators of proxies and is rarely allowed.
-<p class="level1">Tell libcurl to use proxy tunneling like this:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPPROXYTUNNEL, 1L);
-<p class="level1">In fact, there might even be times when you want to do plain HTTP operations using a tunnel like this, as it then enables you to operate on the remote server instead of asking the proxy to do so. libcurl will not stand in the way for such innovative actions either!
-<p class="level1">
-<p class="level0"><a name="Proxy"></a><span class="nroffip">Proxy Auto-Config</span>
-<p class="level1">
-<p class="level1">Netscape first came up with this. It is basically a web page (usually using a .pac extension) with a javascript that when executed by the browser with the requested URL as input, returns information to the browser on how to connect to the URL. The returned information might be "DIRECT" (which means no proxy should be used), "PROXY host:port" (to tell the browser where the proxy for this particular URL is) or "SOCKS host:port" (to direct the browser to a SOCKS proxy).
-<p class="level1">libcurl has no means to interpret or evaluate javascript and thus it doesn't support this. If you get yourself in a position where you face this nasty invention, the following advice have been mentioned and used in the past:
-<p class="level1">- Depending on the javascript complexity, write up a script that translates it to another language and execute that.
-<p class="level1">- Read the javascript code and rewrite the same logic in another language.
-<p class="level1">- Implement a javascript interpreted, people have successfully used the Mozilla javascript engine in the past.
-<p class="level1">- Ask your admins to stop this, for a static proxy setup or similar.
-<p class="level1"><a name="Persistence"></a><h2 class="nroffsh">Persistence Is The Way to Happiness</h2>
-<p class="level0">
-<p class="level0">Re-cycling the same easy handle several times when doing multiple requests is the way to go.
-<p class="level0">After each single <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> operation, libcurl will keep the connection alive and open. A subsequent request using the same easy handle to the same host might just be able to use the already open connection! This reduces network impact a lot.
-<p class="level0">Even if the connection is dropped, all connections involving SSL to the same host again, will benefit from libcurl's session ID cache that drastically reduces re-connection time.
-<p class="level0">FTP connections that are kept alive saves a lot of time, as the command- response round-trips are skipped, and also you don't risk getting blocked without permission to login again like on many FTP servers only allowing N persons to be logged in at the same time.
-<p class="level0">libcurl caches DNS name resolving results, to make lookups of a previously looked up name a lot faster.
-<p class="level0">Other interesting details that improve performance for subsequent requests may also be added in the future.
-<p class="level0">Each easy handle will attempt to keep the last few connections alive for a while in case they are to be used again. You can set the size of this "cache" with the CURLOPT_MAXCONNECTS option. Default is 5. It is very seldom any point in changing this value, and if you think of changing this it is often just a matter of thinking again.
-<p class="level0">To force your upcoming request to not use an already existing connection (it will even close one first if there happens to be one alive to the same host you're about to operate on), you can do that by setting CURLOPT_FRESH_CONNECT to 1. In a similar spirit, you can also forbid the upcoming request to be "lying" around and possibly get re-used after the request by setting CURLOPT_FORBID_REUSE to 1.
-<p class="level0"><a name="HTTP"></a><h2 class="nroffsh">HTTP Headers Used by libcurl</h2>
-<p class="level0">When you use libcurl to do HTTP requests, it'll pass along a series of headers automatically. It might be good for you to know and understand these ones. You can replace or remove them by using the CURLOPT_HTTPHEADER option.
-<p class="level0">
-<p class="level0"><a name="Host"></a><span class="nroffip">Host</span>
-<p class="level1">This header is required by HTTP 1.1 and even many 1.0 servers and should be the name of the server we want to talk to. This includes the port number if anything but default.
-<p class="level1">
-<p class="level0"><a name="Pragma"></a><span class="nroffip">Pragma</span>
-<p class="level1">"no-cache". Tells a possible proxy to not grab a copy from the cache but to fetch a fresh one.
-<p class="level1">
-<p class="level0"><a name="Accept"></a><span class="nroffip">Accept</span>
-<p class="level1">"*/*".
-<p class="level1">
-<p class="level0"><a name="Expect"></a><span class="nroffip">Expect</span>
-<p class="level1">When doing POST requests, libcurl sets this header to "100-continue" to ask the server for an "OK" message before it proceeds with sending the data part of the post. If the POSTed data amount is deemed "small", libcurl will not use this header.
-<p class="level1"><a name="Customizing"></a><h2 class="nroffsh">Customizing Operations</h2>
-<p class="level0">There is an ongoing development today where more and more protocols are built upon HTTP for transport. This has obvious benefits as HTTP is a tested and reliable protocol that is widely deployed and have excellent proxy-support.
-<p class="level0">When you use one of these protocols, and even when doing other kinds of programming you may need to change the traditional HTTP (or FTP or...) manners. You may need to change words, headers or various data.
-<p class="level0">libcurl is your friend here too.
-<p class="level0">
-<p class="level0"><a name="CUSTOMREQUEST"></a><span class="nroffip">CUSTOMREQUEST</span>
-<p class="level1">If just changing the actual HTTP request keyword is what you want, like when GET, HEAD or POST is not good enough for you, CURLOPT_CUSTOMREQUEST is there for you. It is very simple to use:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNRUQUEST");
-<p class="level1">When using the custom request, you change the request keyword of the actual request you are performing. Thus, by default you make GET request but you can also make a POST operation (as described before) and then replace the POST keyword if you want to. You're the boss.
-<p class="level1">
-<p class="level0"><a name="Modify"></a><span class="nroffip">Modify Headers</span>
-<p class="level1">HTTP-like protocols pass a series of headers to the server when doing the request, and you're free to pass any amount of extra headers that you think fit. Adding headers are this easy:
-<p class="level1"><pre>
-<p class="level1">&nbsp;struct curl_slist *headers=NULL; /* init to NULL is important */
- <p class="level1">&nbsp;headers = curl_slist_append(headers, "Hey-server-hey: how are you?");
- &nbsp;headers = curl_slist_append(headers, "X-silly-content: yes");
- <p class="level1">&nbsp;/* pass our list of custom made headers */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
- <p class="level1">&nbsp;curl_easy_perform(easyhandle); /* transfer http */
- <p class="level1">&nbsp;curl_slist_free_all(headers); /* free the header list */
- </pre>
-
-<p class="level1">
-<p class="level1">... and if you think some of the internally generated headers, such as Accept: or Host: don't contain the data you want them to contain, you can replace them by simply setting them too:
-<p class="level1"><pre>
-<p class="level1">&nbsp;headers = curl_slist_append(headers, "Accept: Agent-007");
- &nbsp;headers = curl_slist_append(headers, "Host: munged.host.line");
- </pre>
-
-<p class="level1">
-<p class="level1">
-<p class="level0"><a name="Delete"></a><span class="nroffip">Delete Headers</span>
-<p class="level1">If you replace an existing header with one with no contents, you will prevent the header from being sent. Like if you want to completely prevent the "Accept:" header to be sent, you can disable it with code similar to this:
-<p class="level1">&nbsp;headers = curl_slist_append(headers, "Accept:");
-<p class="level1">Both replacing and canceling internal headers should be done with careful consideration and you should be aware that you may violate the HTTP protocol when doing so.
-<p class="level1">
-<p class="level0"><a name="Enforcing"></a><span class="nroffip">Enforcing chunked transfer-encoding</span>
-<p class="level1">
-<p class="level1">By making sure a request uses the custom header "Transfer-Encoding: chunked" when doing a non-GET HTTP operation, libcurl will switch over to "chunked" upload, even though the size of the data to upload might be known. By default, libcurl usually switches over to chunked upload automatically if the upload data size is unknown.
-<p class="level1">
-<p class="level0"><a name="HTTP"></a><span class="nroffip">HTTP Version</span>
-<p class="level1">
-<p class="level1">All HTTP requests includes the version number to tell the server which version we support. libcurl speak HTTP 1.1 by default. Some very old servers don't like getting 1.1-requests and when dealing with stubborn old things like that, you can tell libcurl to use 1.0 instead by doing something like this:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
-<p class="level1">
-<p class="level0"><a name="FTP"></a><span class="nroffip">FTP Custom Commands</span>
-<p class="level1">
-<p class="level1">Not all protocols are HTTP-like, and thus the above may not help you when you want to make for example your FTP transfers to behave differently.
-<p class="level1">Sending custom commands to a FTP server means that you need to send the commands exactly as the FTP server expects them (RFC959 is a good guide here), and you can only use commands that work on the control-connection alone. All kinds of commands that requires data interchange and thus needs a data-connection must be left to libcurl's own judgment. Also be aware that libcurl will do its very best to change directory to the target directory before doing any transfer, so if you change directory (with CWD or similar) you might confuse libcurl and then it might not attempt to transfer the file in the correct remote directory.
-<p class="level1">A little example that deletes a given file before an operation:
-<p class="level1"><pre>
-<p class="level1">&nbsp;headers = curl_slist_append(headers, "DELE file-to-remove");
- <p class="level1">&nbsp;/* pass the list of custom commands to the handle */
- &nbsp;curl_easy_setopt(easyhandle, CURLOPT_QUOTE, headers);
- <p class="level1">&nbsp;curl_easy_perform(easyhandle); /* transfer ftp data! */
- <p class="level1">&nbsp;curl_slist_free_all(headers); /* free the header list */
- </pre>
-
-<p class="level1">
-<p class="level1">If you would instead want this operation (or chain of operations) to happen _after_ the data transfer took place the option to <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> would instead be called CURLOPT_POSTQUOTE and used the exact same way.
-<p class="level1">The custom FTP command will be issued to the server in the same order they are added to the list, and if a command gets an error code returned back from the server, no more commands will be issued and libcurl will bail out with an error code (CURLE_QUOTE_ERROR). Note that if you use CURLOPT_QUOTE to send commands before a transfer, no transfer will actually take place when a quote command has failed.
-<p class="level1">If you set the CURLOPT_HEADER to 1, you will tell libcurl to get information about the target file and output "headers" about it. The headers will be in "HTTP-style", looking like they do in HTTP.
-<p class="level1">The option to enable headers or to run custom FTP commands may be useful to combine with CURLOPT_NOBODY. If this option is set, no actual file content transfer will be performed.
-<p class="level1">
-<p class="level0"><a name="FTP"></a><span class="nroffip">FTP Custom CUSTOMREQUEST</span>
-<p class="level1">If you do what list the contents of a FTP directory using your own defined FTP command, CURLOPT_CUSTOMREQUEST will do just that. "NLST" is the default one for listing directories but you're free to pass in your idea of a good alternative.
-<p class="level1"><a name="Cookies"></a><h2 class="nroffsh">Cookies Without Chocolate Chips</h2>
-<p class="level0">In the HTTP sense, a cookie is a name with an associated value. A server sends the name and value to the client, and expects it to get sent back on every subsequent request to the server that matches the particular conditions set. The conditions include that the domain name and path match and that the cookie hasn't become too old.
-<p class="level0">In real-world cases, servers send new cookies to replace existing one to update them. Server use cookies to "track" users and to keep "sessions".
-<p class="level0">Cookies are sent from server to clients with the header Set-Cookie: and they're sent from clients to servers with the Cookie: header.
-<p class="level0">To just send whatever cookie you want to a server, you can use CURLOPT_COOKIE to set a cookie string like this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;");
-<p class="level0">In many cases, that is not enough. You might want to dynamically save whatever cookies the remote server passes to you, and make sure those cookies are then use accordingly on later requests.
-<p class="level0">One way to do this, is to save all headers you receive in a plain file and when you make a request, you tell libcurl to read the previous headers to figure out which cookies to use. Set header file to read cookies from with CURLOPT_COOKIEFILE.
-<p class="level0">The CURLOPT_COOKIEFILE option also automatically enables the cookie parser in libcurl. Until the cookie parser is enabled, libcurl will not parse or understand incoming cookies and they will just be ignored. However, when the parser is enabled the cookies will be understood and the cookies will be kept in memory and used properly in subsequent requests when the same handle is used. Many times this is enough, and you may not have to save the cookies to disk at all. Note that the file you specify to CURLOPT_COOKIEFILE doesn't have to exist to enable the parser, so a common way to just enable the parser and not read able might be to use a file name you know doesn't exist.
-<p class="level0">If you rather use existing cookies that you've previously received with your Netscape or Mozilla browsers, you can make libcurl use that cookie file as input. The CURLOPT_COOKIEFILE is used for that too, as libcurl will automatically find out what kind of file it is and act accordingly.
-<p class="level0">The perhaps most advanced cookie operation libcurl offers, is saving the entire internal cookie state back into a Netscape/Mozilla formatted cookie file. We call that the cookie-jar. When you set a file name with CURLOPT_COOKIEJAR, that file name will be created and all received cookies will be stored in it when <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a> is called. This enabled cookies to get passed on properly between multiple handles without any information getting lost.
-<p class="level0"><a name="FTP"></a><h2 class="nroffsh">FTP Peculiarities We Need</h2>
-<p class="level0">
-<p class="level0">FTP transfers use a second TCP/IP connection for the data transfer. This is usually a fact you can forget and ignore but at times this fact will come back to haunt you. libcurl offers several different ways to custom how the second connection is being made.
-<p class="level0">libcurl can either connect to the server a second time or tell the server to connect back to it. The first option is the default and it is also what works best for all the people behind firewalls, NATs or IP-masquerading setups. libcurl then tells the server to open up a new port and wait for a second connection. This is by default attempted with EPSV first, and if that doesn't work it tries PASV instead. (EPSV is an extension to the original FTP spec and does not exist nor work on all FTP servers.)
-<p class="level0">You can prevent libcurl from first trying the EPSV command by setting CURLOPT_FTP_USE_EPSV to zero.
-<p class="level0">In some cases, you will prefer to have the server connect back to you for the second connection. This might be when the server is perhaps behind a firewall or something and only allows connections on a single port. libcurl then informs the remote server which IP address and port number to connect to. This is made with the CURLOPT_FTPPORT option. If you set it to "-", libcurl will use your system's "default IP address". If you want to use a particular IP, you can set the full IP address, a host name to resolve to an IP address or even a local network interface name that libcurl will get the IP address from.
-<p class="level0">When doing the "PORT" approach, libcurl will attempt to use the EPRT and the LPRT before trying PORT, as they work with more protocols. You can disable this behavior by setting CURLOPT_FTP_USE_EPRT to zero.
-<p class="level0"><a name="Headers"></a><h2 class="nroffsh">Headers Equal Fun</h2>
-<p class="level0">
-<p class="level0">Some protocols provide "headers", meta-data separated from the normal data. These headers are by default not included in the normal data stream, but you can make them appear in the data stream by setting CURLOPT_HEADER to 1.
-<p class="level0">What might be even more useful, is libcurl's ability to separate the headers from the data and thus make the callbacks differ. You can for example set a different pointer to pass to the ordinary write callback by setting CURLOPT_WRITEHEADER.
-<p class="level0">Or, you can set an entirely separate function to receive the headers, by using CURLOPT_HEADERFUNCTION.
-<p class="level0">The headers are passed to the callback function one by one, and you can depend on that fact. It makes it easier for you to add custom header parsers etc.
-<p class="level0">"Headers" for FTP transfers equal all the FTP server responses. They aren't actually true headers, but in this case we pretend they are! ;-)
-<p class="level0"><a name="Post"></a><h2 class="nroffsh">Post Transfer Information</h2>
-<p class="level0">
-<p class="level0">&nbsp;[ curl_easy_getinfo ]
-<p class="level0"><a name="Security"></a><h2 class="nroffsh">Security Considerations</h2>
-<p class="level0">
-<p class="level0">libcurl is in itself not insecure. If used the right way, you can use libcurl to transfer data pretty safely.
-<p class="level0">There are of course many things to consider that may loosen up this situation:
-<p class="level0">
-<p class="level0"><a name="Command"></a><span class="nroffip">Command Lines</span>
-<p class="level1">If you use a command line tool (such as curl) that uses libcurl, and you give option to the tool on the command line those options can very likely get read by other users of your system when they use 'ps' or other tools to list currently running processes.
-<p class="level1">To avoid this problem, never feed sensitive things to programs using command line options.
-<p class="level1">
-<p class="level0"><a name="netrc"></a><span class="nroffip">.netrc</span>
-<p class="level1">.netrc is a pretty handy file/feature that allows you to login quickly and automatically to frequently visited sites. The file contains passwords in clear text and is a real security risk. In some cases, your .netrc is also stored in a home directory that is NFS mounted or used on another network based file system, so the clear text password will fly through your network every time anyone reads that file!
-<p class="level1">To avoid this problem, don't use .netrc files and never store passwords in plain text anywhere.
-<p class="level1">
-<p class="level0"><a name="Clear"></a><span class="nroffip">Clear Text Passwords</span>
-<p class="level1">Many of the protocols libcurl supports send name and password unencrypted as clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for anyone on your network or a network nearby yours, to just fire up a network analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP uses base64 encoded passwords fool you. They may not look readable at a first glance, but they very easily "deciphered" by anyone within seconds.
-<p class="level1">To avoid this problem, use protocols that don't let snoopers see your password: HTTPS, FTPS and FTP-kerberos are a few examples. HTTP Digest authentication allows this too, but isn't supported by libcurl as of this writing.
-<p class="level1">
-<p class="level0"><a name="Showing"></a><span class="nroffip">Showing What You Do</span>
-<p class="level1">On a related issue, be aware that even in situations like when you have problems with libcurl and ask someone for help, everything you reveal in order to get best possible help might also impose certain security related risks. Host names, user names, paths, operating system specifics etc (not to mention passwords of course) may in fact be used by intruders to gain additional information of a potential target.
-<p class="level1">To avoid this problem, you must of course use your common sense. Often, you can just edit out the sensitive data or just search/replace your true information with faked data.
-<p class="level1"><a name="Multiple"></a><h2 class="nroffsh">Multiple Transfers Using the multi Interface</h2>
-<p class="level0">
-<p class="level0">The easy interface as described in detail in this document is a synchronous interface that transfers one file at a time and doesn't return until its done.
-<p class="level0">The multi interface on the other hand, allows your program to transfer multiple files in both directions at the same time, without forcing you to use multiple threads.
-<p class="level0">To use this interface, you are better off if you first understand the basics of how to use the easy interface. The multi interface is simply a way to make multiple transfers at the same time, by adding up multiple easy handles in to a "multi stack".
-<p class="level0">You create the easy handles you want and you set all the options just like you have been told above, and then you create a multi handle with <a class="emphasis" href="./curl_multi_init.html">curl_multi_init(3)</a> and add all those easy handles to that multi handle with <a class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle(3)</a>.
-<p class="level0">When you've added the handles you have for the moment (you can still add new ones at any time), you start the transfers by call <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>.
-<p class="level0"><a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> is asynchronous. It will only execute as little as possible and then return back control to your program. It is designed to never block. If it returns CURLM_CALL_MULTI_PERFORM you better call it again soon, as that is a signal that it still has local data to send or remote data to receive.
-<p class="level0">The best usage of this interface is when you do a select() on all possible file descriptors or sockets to know when to call libcurl again. This also makes it easy for you to wait and respond to actions on your own application's sockets/handles. You figure out what to select() for by using <a class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset(3)</a>, that fills in a set of fd_set variables for you with the particular file descriptors libcurl uses for the moment.
-<p class="level0">When you then call select(), it'll return when one of the file handles signal action and you then call <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a> to allow libcurl to do what it wants to do. Take note that libcurl does also feature some time-out code so we advice you to never use very long timeouts on select() before you call <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>, which thus should be called unconditionally every now and then even if none of its file descriptors have signaled ready. Another precaution you should use: always call <a class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset(3)</a> immediately before the select() call since the current set of file descriptors may change when calling a curl function.
-<p class="level0">If you want to stop the transfer of one of the easy handles in the stack, you can use <a class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle(3)</a> to remove individual easy handles. Remember that easy handles should be <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>ed.
-<p class="level0">When a transfer within the multi stack has finished, the counter of running transfers (as filled in by <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>) will decrease. When the number reaches zero, all transfers are done.
-<p class="level0"><a class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read(3)</a> can be used to get information about completed transfers. It then returns the CURLcode for each easy transfer, to allow you to figure out success on each individual transfer.
-<p class="level0"><a name="SSL"></a><h2 class="nroffsh">SSL, Certificates and Other Tricks</h2>
-<p class="level0">
-<p class="level0">&nbsp;[ seeding, passwords, keys, certificates, ENGINE, ca certs ]
-<p class="level0"><a name="Sharing"></a><h2 class="nroffsh">Sharing Data Between Easy Handles</h2>
-<p class="level0">
-<p class="level0">&nbsp;[ fill in ]
-<p class="level0"><a name="Footnotes"></a><h2 class="nroffsh">Footnotes</h2>
-<p class="level0">
-<p class="level0">
-<p class="level0"><a name="1"></a><span class="nroffip">[1]</span>
-<p class="level1">libcurl 7.10.3 and later have the ability to switch over to chunked Transfer-Encoding in cases were HTTP uploads are done with data of an unknown size.
-<p class="level0"><a name="2"></a><span class="nroffip">[2]</span>
-<p class="level1">This happens on Windows machines when libcurl is built and used as a DLL. However, you can still do this on Windows if you link with a static library.
-<p class="level0"><a name="3"></a><span class="nroffip">[3]</span>
-<p class="level1">The curl-config tool is generated at build-time (on unix-like systems) and should be installed with the 'make install' or similar instruction that installs the library, header files, man pages etc. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.pdf
deleted file mode 100644
index bb18ead..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl-tutorial.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.3 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.3
deleted file mode 100644
index 9c48f74..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.3
+++ /dev/null
@@ -1,203 +0,0 @@
-.\" $Id$
-.\"
-.TH libcurl 3 "19 March 2002" "libcurl 7.9.6" "libcurl overview"
-.SH NAME
-libcurl \- client-side URL transfers
-.SH DESCRIPTION
-This is an short overview on how to use libcurl in your C programs. There are
-specific man pages for each function mentioned in here. There are also the
-\fIlibcurl-easy(3)\fP man page, the \fIlibcurl-multi(3)\fP man page, the
-\fIlibcurl-share(3)\fP man page and the \fIlibcurl-tutorial(3)\fP man page for
-in-depth understanding on how to program with libcurl.
-
-There are more than thirty custom bindings available that bring libcurl access
-to your favourite language. Look elsewhere for documentation on those.
-
-libcurl has a global constant environment that you must set up and
-maintain while using libcurl. This essentially means you call
-\fIcurl_global_init(3)\fP at the start of your program and
-\fIcurl_global_cleanup(3)\fP at the end. See GLOBAL CONSTANTS below
-for details.
-
-To transfer files, you always set up an "easy handle" using
-\fIcurl_easy_init(3)\fP, but when you want the file(s) transferred you have
-the option of using the "easy" interface, or the "multi" interface.
-
-The easy interface is a synchronous interface with which you call
-\fIcurl_easy_perform(3)\fP and let it perform the transfer. When it is
-completed, the function return and you can continue. More details are found in
-the \fIlibcurl-easy(3)\fP man page.
-
-The multi interface on the other hand is an asynchronous interface, that you
-call and that performs only a little piece of the transfer on each invoke. It
-is perfect if you want to do things while the transfer is in progress, or
-similar. The multi interface allows you to select() on libcurl action, and
-even to easily download multiple files simultaneously using a single thread. See further deails in the \fIlibcurl-multi(3)\fP man page.
-
-You can have multiple easy handles share certain data, even if they are used
-in different threads. This magic is setup using the share interface, as
-described in the \fIlibcurl-share(3)\fP man page.
-
-There is also a series of other helpful functions to use, including these:
-.RS
-.IP curl_version_info()
-gets detailed libcurl (and other used libraries) version info
-.IP curl_getdate()
-converts a date string to time_t
-.IP curl_easy_getinfo()
-get information about a performed transfer
-.IP curl_formadd()
-helps building an HTTP form POST
-.IP curl_formfree()
-free a list built with \fIcurl_formadd(3)\fP
-.IP curl_slist_append()
-builds a linked list
-.IP curl_slist_free_all()
-frees a whole curl_slist
-.RE
-
-.SH "LINKING WITH LIBCURL"
-On unix-like machines, there's a tool named curl-config that gets installed
-with the rest of the curl stuff when 'make install' is performed.
-
-curl-config is added to make it easier for applications to link with libcurl
-and developers to learn about libcurl and how to use it.
-
-Run 'curl-config --libs' to get the (additional) linker options you need to
-link with the particular version of libcurl you've installed. See the
-\fIcurl-config(1)\fP man page for further details.
-
-Unix-like operating system that ship libcurl as part of their distributions
-often don't provide the curl-config tool, but simply install the library and
-headers in the common path for this purpose.
-
-.SH "LIBCURL SYMBOL NAMES"
-All public functions in the libcurl interface are prefixed with 'curl_' (with
-a lowercase c). You can find other functions in the library source code, but
-other prefixes indicate that the functions are private and may change without
-further notice in the next release.
-
-Only use documented functions and functionality!
-.SH "PORTABILITY"
-libcurl works
-.B exactly
-the same, on any of the platforms it compiles and builds on.
-.SH "THREADS"
-Never ever call curl-functions simultaneously using the same handle from
-several threads. libcurl is thread-safe and can be used in any number of
-threads, but you must use separate curl handles if you want to use libcurl in
-more than one thread simultaneously.
-
-The global environment functions are not thread-safe. See GLOBAL CONSTANTS
-below for details.
-
-.SH "PERSISTENT CONNECTIONS"
-Persistent connections means that libcurl can re-use the same connection for
-several transfers, if the conditions are right.
-
-libcurl will \fBalways\fP attempt to use persistent connections. Whenever you
-use \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP, libcurl will
-attempt to use an existing connection to do the transfer, and if none exists
-it'll open a new one that will be subject for re-use on a possible following
-call to \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP.
-
-To allow libcurl to take full advantage of persistent connections, you should
-do as many of your file transfers as possible using the same curl handle. When
-you call \fIcurl_easy_cleanup(3)\fP, all the possibly open connections held by
-libcurl will be closed and forgotten.
-
-Note that the options set with \fIcurl_easy_setopt(3)\fP will be used in on
-every repeated \fIcurl_easy_perform(3)\fP call.
-
-.SH "GLOBAL CONSTANTS"
-There are a variety of constants that libcurl uses, mainly through its
-internal use of other libraries, which are too complicated for the
-library loader to set up. Therefore, a program must call a library
-function after the program is loaded and running to finish setting up
-the library code. For example, when libcurl is built for SSL
-capability via the GNU TLS library, there is an elaborate tree inside
-that library that describes the SSL protocol.
-
-\fIcurl_global_init()\fP is the function that you must call. This may
-allocate resources (e.g. the memory for the GNU TLS tree mentioned
-above), so the companion function \fIcurl_global_cleanup()\fP releases
-them.
-
-The basic rule for constructing a program that uses libcurl is this:
-Call \fIcurl_global_init()\fP, with a \fICURL_GLOBAL_ALL\fP argument,
-immediately after the program starts, while it is still only one
-thread and before it uses libcurl at all. Call
-\fIcurl_global_cleanup()\fP immediately before the program exits, when
-the program is again only one thread and after its last use of
-libcurl.
-
-You can call both of these multiple times, as long as all calls meet
-these requirements and the number of calls to each is the same.
-
-It isn't actually required that the functions be called at the beginning
-and end of the program -- that's just usually the easiest way to do it.
-It \fIis\fP required that the functions be called when no other thread
-in the program is running.
-
-These global constant functions are \fInot thread safe\fP, so you must
-not call them when any other thread in the program is running. It
-isn't good enough that no other thread is using libcurl at the time,
-because these functions internally call similar functions of other
-libraries, and those functions are similarly thread-unsafe. You can't
-generally know what these libraries are, or whether other threads are
-using them.
-
-The global constant situation merits special consideration when the
-code you are writing to use libcurl is not the main program, but rather
-a modular piece of a program, e.g. another library. As a module,
-your code doesn't know about other parts of the program -- it doesn't
-know whether they use libcurl or not. And its code doesn't necessarily
-run at the start and end of the whole program.
-
-A module like this must have global constant functions of its own,
-just like \fIcurl_global_init()\fP and \fIcurl_global_cleanup()\fP.
-The module thus has control at the beginning and end of the program
-and has a place to call the libcurl functions. Note that if multiple
-modules in the program use libcurl, they all will separately call the
-libcurl functions, and that's OK because only the first
-\fIcurl_global_init()\fP and the last \fIcurl_global_cleanup()\fP in a
-program changes anything. (libcurl uses a reference count in static
-memory).
-
-In a C++ module, it is common to deal with the global constant
-situation by defining a special class that represents the global
-constant environment of the module. A program always has exactly one
-object of the class, in static storage. That way, the program
-automatically calls the constructor of the object as the program
-starts up and the destructor as it terminates. As the author of this
-libcurl-using module, you can make the constructor call
-\fIcurl_global_init()\fP and the destructor call
-\fIcurl_global_cleanup()\fP and satisfy libcurl's requirements without
-your user having to think about it.
-
-\fIcurl_global_init()\fP has an argument that tells what particular
-parts of the global constant environment to set up. In order to
-successfully use any value except \fICURL_GLOBAL_ALL\fP (which says to
-set up the whole thing), you must have specific knowledge of internal
-workings of libcurl and all other parts of the program of which it is
-part.
-
-A special part of the global constant environment is the identity of
-the memory allocator. \fIcurl_global_init()\fP selects the system
-default memory allocator, but you can use \fIcurl_global_init_mem()\fP
-to supply one of your own. However, there is no way to use
-\fIcurl_global_init_mem()\fP in a modular program -- all modules in
-the program that might use libcurl would have to agree on one
-allocator.
-
-There is a failsafe in libcurl that makes it usable in simple
-situations without you having to worry about the global constant
-environment at all: \fIcurl_easy_init()\fP sets up the environment
-itself if it hasn't been done yet. The resources it acquires to do so
-get released by the operating system automatically when the program
-exits.
-
-This failsafe feature exists mainly for backward compatibility because
-there was a time when the global functions didn't exist. Because it
-is sufficient only in the simplest of programs, it is not recommended
-for any program to rely on it.
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.html b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.html
deleted file mode 100644
index e342146..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<html><head>
-<title>libcurl man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl - client-side URL transfers <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is an short overview on how to use libcurl in your C programs. There are specific man pages for each function mentioned in here. There are also the <span Class="emphasis">libcurl-easy(3)</span> man page, the <span Class="emphasis">libcurl-multi(3)</span> man page, the <span Class="emphasis">libcurl-share(3)</span> man page and the <span Class="emphasis">libcurl-tutorial(3)</span> man page for in-depth understanding on how to program with libcurl.
-<p class="level0">There are more than thirty custom bindings available that bring libcurl access to your favourite language. Look elsewhere for documentation on those.
-<p class="level0">libcurl has a global constant environment that you must set up and maintain while using libcurl. This essentially means you call <a class="emphasis" href="./curl_global_init.html">curl_global_init(3)</a> at the start of your program and <a class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup(3)</a> at the end. See GLOBAL CONSTANTS below for details.
-<p class="level0">To transfer files, you always set up an "easy handle" using <a class="emphasis" href="./curl_easy_init.html">curl_easy_init(3)</a>, but when you want the file(s) transferred you have the option of using the "easy" interface, or the "multi" interface.
-<p class="level0">The easy interface is a synchronous interface with which you call <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> and let it perform the transfer. When it is completed, the function return and you can continue. More details are found in the <span Class="emphasis">libcurl-easy(3)</span> man page.
-<p class="level0">The multi interface on the other hand is an asynchronous interface, that you call and that performs only a little piece of the transfer on each invoke. It is perfect if you want to do things while the transfer is in progress, or similar. The multi interface allows you to select() on libcurl action, and even to easily download multiple files simultaneously using a single thread. See further deails in the <span Class="emphasis">libcurl-multi(3)</span> man page.
-<p class="level0">You can have multiple easy handles share certain data, even if they are used in different threads. This magic is setup using the share interface, as described in the <span Class="emphasis">libcurl-share(3)</span> man page.
-<p class="level0">There is also a series of other helpful functions to use, including these:
-<p class="level1">
-<p class="level0"><a name="curlversioninfo"></a><span class="nroffip">curl_version_info()</span>
-<p class="level1">gets detailed libcurl (and other used libraries) version info
-<p class="level0"><a name="curlgetdate"></a><span class="nroffip">curl_getdate()</span>
-<p class="level1">converts a date string to time_t
-<p class="level0"><a name="curleasygetinfo"></a><span class="nroffip">curl_easy_getinfo()</span>
-<p class="level1">get information about a performed transfer
-<p class="level0"><a name="curlformadd"></a><span class="nroffip">curl_formadd()</span>
-<p class="level1">helps building an HTTP form POST
-<p class="level0"><a name="curlformfree"></a><span class="nroffip">curl_formfree()</span>
-<p class="level1">free a list built with <a class="emphasis" href="./curl_formadd.html">curl_formadd(3)</a>
-<p class="level0"><a name="curlslistappend"></a><span class="nroffip">curl_slist_append()</span>
-<p class="level1">builds a linked list
-<p class="level0"><a name="curlslistfreeall"></a><span class="nroffip">curl_slist_free_all()</span>
-<p class="level1">frees a whole curl_slist
-<p class="level0">
-<p class="level0"><a name="LINKING"></a><h2 class="nroffsh">LINKING WITH LIBCURL</h2>
-<p class="level0">On unix-like machines, there's a tool named curl-config that gets installed with the rest of the curl stuff when 'make install' is performed.
-<p class="level0">curl-config is added to make it easier for applications to link with libcurl and developers to learn about libcurl and how to use it.
-<p class="level0">Run 'curl-config --libs' to get the (additional) linker options you need to link with the particular version of libcurl you've installed. See the <span Class="emphasis">curl-config(1)</span> man page for further details.
-<p class="level0">Unix-like operating system that ship libcurl as part of their distributions often don't provide the curl-config tool, but simply install the library and headers in the common path for this purpose.
-<p class="level0"><a name="LIBCURL"></a><h2 class="nroffsh">LIBCURL SYMBOL NAMES</h2>
-<p class="level0">All public functions in the libcurl interface are prefixed with 'curl_' (with a lowercase c). You can find other functions in the library source code, but other prefixes indicate that the functions are private and may change without further notice in the next release.
-<p class="level0">Only use documented functions and functionality! <a name="PORTABILITY"></a><h2 class="nroffsh">PORTABILITY</h2>
-<p class="level0">libcurl works <span Class="bold">exactly</span> the same, on any of the platforms it compiles and builds on. <a name="THREADS"></a><h2 class="nroffsh">THREADS</h2>
-<p class="level0">Never ever call curl-functions simultaneously using the same handle from several threads. libcurl is thread-safe and can be used in any number of threads, but you must use separate curl handles if you want to use libcurl in more than one thread simultaneously.
-<p class="level0">The global environment functions are not thread-safe. See GLOBAL CONSTANTS below for details.
-<p class="level0"><a name="PERSISTENT"></a><h2 class="nroffsh">PERSISTENT CONNECTIONS</h2>
-<p class="level0">Persistent connections means that libcurl can re-use the same connection for several transfers, if the conditions are right.
-<p class="level0">libcurl will <span Class="bold">always</span> attempt to use persistent connections. Whenever you use <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> or <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>, libcurl will attempt to use an existing connection to do the transfer, and if none exists it'll open a new one that will be subject for re-use on a possible following call to <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> or <a class="emphasis" href="./curl_multi_perform.html">curl_multi_perform(3)</a>.
-<p class="level0">To allow libcurl to take full advantage of persistent connections, you should do as many of your file transfers as possible using the same curl handle. When you call <a class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup(3)</a>, all the possibly open connections held by libcurl will be closed and forgotten.
-<p class="level0">Note that the options set with <a class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt(3)</a> will be used in on every repeated <a class="emphasis" href="./curl_easy_perform.html">curl_easy_perform(3)</a> call.
-<p class="level0"><a name="GLOBAL"></a><h2 class="nroffsh">GLOBAL CONSTANTS</h2>
-<p class="level0">There are a variety of constants that libcurl uses, mainly through its internal use of other libraries, which are too complicated for the library loader to set up. Therefore, a program must call a library function after the program is loaded and running to finish setting up the library code. For example, when libcurl is built for SSL capability via the GNU TLS library, there is an elaborate tree inside that library that describes the SSL protocol.
-<p class="level0"><span Class="emphasis">curl_global_init()</span> is the function that you must call. This may allocate resources (e.g. the memory for the GNU TLS tree mentioned above), so the companion function <span Class="emphasis">curl_global_cleanup()</span> releases them.
-<p class="level0">The basic rule for constructing a program that uses libcurl is this: Call <span Class="emphasis">curl_global_init()</span>, with a <span Class="emphasis">CURL_GLOBAL_ALL</span> argument, immediately after the program starts, while it is still only one thread and before it uses libcurl at all. Call <span Class="emphasis">curl_global_cleanup()</span> immediately before the program exits, when the program is again only one thread and after its last use of libcurl.
-<p class="level0">You can call both of these multiple times, as long as all calls meet these requirements and the number of calls to each is the same.
-<p class="level0">It isn't actually required that the functions be called at the beginning and end of the program -- that's just usually the easiest way to do it. It <span Class="emphasis">is</span> required that the functions be called when no other thread in the program is running.
-<p class="level0">These global constant functions are <span Class="emphasis">not thread safe</span>, so you must not call them when any other thread in the program is running. It isn't good enough that no other thread is using libcurl at the time, because these functions internally call similar functions of other libraries, and those functions are similarly thread-unsafe. You can't generally know what these libraries are, or whether other threads are using them.
-<p class="level0">The global constant situation merits special consideration when the code you are writing to use libcurl is not the main program, but rather a modular piece of a program, e.g. another library. As a module, your code doesn't know about other parts of the program -- it doesn't know whether they use libcurl or not. And its code doesn't necessarily run at the start and end of the whole program.
-<p class="level0">A module like this must have global constant functions of its own, just like <span Class="emphasis">curl_global_init()</span> and <span Class="emphasis">curl_global_cleanup()</span>. The module thus has control at the beginning and end of the program and has a place to call the libcurl functions. Note that if multiple modules in the program use libcurl, they all will separately call the libcurl functions, and that's OK because only the first <span Class="emphasis">curl_global_init()</span> and the last <span Class="emphasis">curl_global_cleanup()</span> in a program changes anything. (libcurl uses a reference count in static memory).
-<p class="level0">In a C++ module, it is common to deal with the global constant situation by defining a special class that represents the global constant environment of the module. A program always has exactly one object of the class, in static storage. That way, the program automatically calls the constructor of the object as the program starts up and the destructor as it terminates. As the author of this libcurl-using module, you can make the constructor call <span Class="emphasis">curl_global_init()</span> and the destructor call <span Class="emphasis">curl_global_cleanup()</span> and satisfy libcurl's requirements without your user having to think about it.
-<p class="level0"><span Class="emphasis">curl_global_init()</span> has an argument that tells what particular parts of the global constant environment to set up. In order to successfully use any value except <span Class="emphasis">CURL_GLOBAL_ALL</span> (which says to set up the whole thing), you must have specific knowledge of internal workings of libcurl and all other parts of the program of which it is part.
-<p class="level0">A special part of the global constant environment is the identity of the memory allocator. <span Class="emphasis">curl_global_init()</span> selects the system default memory allocator, but you can use <span Class="emphasis">curl_global_init_mem()</span> to supply one of your own. However, there is no way to use <span Class="emphasis">curl_global_init_mem()</span> in a modular program -- all modules in the program that might use libcurl would have to agree on one allocator.
-<p class="level0">There is a failsafe in libcurl that makes it usable in simple situations without you having to worry about the global constant environment at all: <span Class="emphasis">curl_easy_init()</span> sets up the environment itself if it hasn't been done yet. The resources it acquires to do so get released by the operating system automatically when the program exits.
-<p class="level0">This failsafe feature exists mainly for backward compatibility because there was a time when the global functions didn't exist. Because it is sufficient only in the simplest of programs, it is not recommended for any program to rely on it. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.m4 b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.m4
deleted file mode 100644
index f54a5f2..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.m4
+++ /dev/null
@@ -1,240 +0,0 @@
-# LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION],
-# [ACTION-IF-YES], [ACTION-IF-NO])
-# ----------------------------------------------------------
-# David Shaw <dshaw@jabberwocky.com> May-09-2006
-#
-# Checks for libcurl. DEFAULT-ACTION is the string yes or no to
-# specify whether to default to --with-libcurl or --without-libcurl.
-# If not supplied, DEFAULT-ACTION is yes. MINIMUM-VERSION is the
-# minimum version of libcurl to accept. Pass the version as a regular
-# version number like 7.10.1. If not supplied, any version is
-# accepted. ACTION-IF-YES is a list of shell commands to run if
-# libcurl was successfully found and passed the various tests.
-# ACTION-IF-NO is a list of shell commands that are run otherwise.
-# Note that using --without-libcurl does run ACTION-IF-NO.
-#
-# This macro #defines HAVE_LIBCURL if a working libcurl setup is
-# found, and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary
-# values. Other useful defines are LIBCURL_FEATURE_xxx where xxx are
-# the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy
-# where yyy are the various protocols supported by libcurl. Both xxx
-# and yyy are capitalized. See the list of AH_TEMPLATEs at the top of
-# the macro for the complete list of possible defines. Shell
-# variables $libcurl_feature_xxx and $libcurl_protocol_yyy are also
-# defined to 'yes' for those features and protocols that were found.
-# Note that xxx and yyy keep the same capitalization as in the
-# curl-config list (e.g. it's "HTTP" and not "http").
-#
-# Users may override the detected values by doing something like:
-# LIBCURL="-lcurl" LIBCURL_CPPFLAGS="-I/usr/myinclude" ./configure
-#
-# For the sake of sanity, this macro assumes that any libcurl that is
-# found is after version 7.7.2, the first version that included the
-# curl-config script. Note that it is very important for people
-# packaging binary versions of libcurl to include this script!
-# Without curl-config, we can only guess what protocols are available,
-# or use curl_version_info to figure it out at runtime.
-
-AC_DEFUN([LIBCURL_CHECK_CONFIG],
-[
- AH_TEMPLATE([LIBCURL_FEATURE_SSL],[Defined if libcurl supports SSL])
- AH_TEMPLATE([LIBCURL_FEATURE_KRB4],[Defined if libcurl supports KRB4])
- AH_TEMPLATE([LIBCURL_FEATURE_IPV6],[Defined if libcurl supports IPv6])
- AH_TEMPLATE([LIBCURL_FEATURE_LIBZ],[Defined if libcurl supports libz])
- AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS])
- AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN])
- AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI])
- AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM])
-
- AH_TEMPLATE([LIBCURL_PROTOCOL_HTTP],[Defined if libcurl supports HTTP])
- AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS])
- AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP])
- AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS])
- AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE])
- AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET])
- AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP])
- AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT])
- AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP])
-
- AC_ARG_WITH(libcurl,
- AC_HELP_STRING([--with-libcurl=DIR],[look for the curl library in DIR]),
- [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])])
-
- if test "$_libcurl_with" != "no" ; then
-
- AC_PROG_AWK
-
- _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'"
-
- _libcurl_try_link=yes
-
- if test -d "$_libcurl_with" ; then
- LIBCURL_CPPFLAGS="-I$withval/include"
- _libcurl_ldflags="-L$withval/lib"
- AC_PATH_PROG([_libcurl_config],[curl-config],["$withval/bin"],
- ["$withval/bin"])
- else
- AC_PATH_PROG([_libcurl_config],[curl-config])
- fi
-
- if test x$_libcurl_config != "x" ; then
- AC_CACHE_CHECK([for the version of libcurl],
- [libcurl_cv_lib_curl_version],
- [libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $[]2}'`])
-
- _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse`
- _libcurl_wanted=`echo ifelse([$2],,[0],[$2]) | $_libcurl_version_parse`
-
- if test $_libcurl_wanted -gt 0 ; then
- AC_CACHE_CHECK([for libcurl >= version $2],
- [libcurl_cv_lib_version_ok],
- [
- if test $_libcurl_version -ge $_libcurl_wanted ; then
- libcurl_cv_lib_version_ok=yes
- else
- libcurl_cv_lib_version_ok=no
- fi
- ])
- fi
-
- if test $_libcurl_wanted -eq 0 || test x$libcurl_cv_lib_version_ok = xyes ; then
- if test x"$LIBCURL_CPPFLAGS" = "x" ; then
- LIBCURL_CPPFLAGS=`$_libcurl_config --cflags`
- fi
- if test x"$LIBCURL" = "x" ; then
- LIBCURL=`$_libcurl_config --libs`
-
- # This is so silly, but Apple actually has a bug in their
- # curl-config script. Fixed in Tiger, but there are still
- # lots of Panther installs around.
- case "${host}" in
- powerpc-apple-darwin7*)
- LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'`
- ;;
- esac
- fi
-
- # All curl-config scripts support --feature
- _libcurl_features=`$_libcurl_config --feature`
-
- # Is it modern enough to have --protocols? (7.12.4)
- if test $_libcurl_version -ge 461828 ; then
- _libcurl_protocols=`$_libcurl_config --protocols`
- fi
- else
- _libcurl_try_link=no
- fi
-
- unset _libcurl_wanted
- fi
-
- if test $_libcurl_try_link = yes ; then
-
- # we didn't find curl-config, so let's see if the user-supplied
- # link line (or failing that, "-lcurl") is enough.
- LIBCURL=${LIBCURL-"$_libcurl_ldflags -lcurl"}
-
- AC_CACHE_CHECK([whether libcurl is usable],
- [libcurl_cv_lib_curl_usable],
- [
- _libcurl_save_cppflags=$CPPFLAGS
- CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
- _libcurl_save_libs=$LIBS
- LIBS="$LIBCURL $LIBS"
-
- AC_LINK_IFELSE(AC_LANG_PROGRAM([#include <curl/curl.h>],[
-/* Try and use a few common options to force a failure if we are
- missing symbols or can't link. */
-int x;
-curl_easy_setopt(NULL,CURLOPT_URL,NULL);
-x=CURL_ERROR_SIZE;
-x=CURLOPT_WRITEFUNCTION;
-x=CURLOPT_FILE;
-x=CURLOPT_ERRORBUFFER;
-x=CURLOPT_STDERR;
-x=CURLOPT_VERBOSE;
-]),libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no)
-
- CPPFLAGS=$_libcurl_save_cppflags
- LIBS=$_libcurl_save_libs
- unset _libcurl_save_cppflags
- unset _libcurl_save_libs
- ])
-
- if test $libcurl_cv_lib_curl_usable = yes ; then
-
- # Does curl_free() exist in this version of libcurl?
- # If not, fake it with free()
-
- _libcurl_save_cppflags=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS"
- _libcurl_save_libs=$LIBS
- LIBS="$LIBS $LIBCURL"
-
- AC_CHECK_FUNC(curl_free,,
- AC_DEFINE(curl_free,free,
- [Define curl_free() as free() if our version of curl lacks curl_free.]))
-
- CPPFLAGS=$_libcurl_save_cppflags
- LIBS=$_libcurl_save_libs
- unset _libcurl_save_cppflags
- unset _libcurl_save_libs
-
- AC_DEFINE(HAVE_LIBCURL,1,
- [Define to 1 if you have a functional curl library.])
- AC_SUBST(LIBCURL_CPPFLAGS)
- AC_SUBST(LIBCURL)
-
- for _libcurl_feature in $_libcurl_features ; do
- AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1])
- eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes
- done
-
- if test "x$_libcurl_protocols" = "x" ; then
-
- # We don't have --protocols, so just assume that all
- # protocols are available
- _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT"
-
- if test x$libcurl_feature_SSL = xyes ; then
- _libcurl_protocols="$_libcurl_protocols HTTPS"
-
- # FTPS wasn't standards-compliant until version
- # 7.11.0
- if test $_libcurl_version -ge 461568; then
- _libcurl_protocols="$_libcurl_protocols FTPS"
- fi
- fi
- fi
-
- for _libcurl_protocol in $_libcurl_protocols ; do
- AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_protocol_$_libcurl_protocol),[1])
- eval AS_TR_SH(libcurl_protocol_$_libcurl_protocol)=yes
- done
- else
- unset LIBCURL
- unset LIBCURL_CPPFLAGS
- fi
- fi
-
- unset _libcurl_try_link
- unset _libcurl_version_parse
- unset _libcurl_config
- unset _libcurl_feature
- unset _libcurl_features
- unset _libcurl_protocol
- unset _libcurl_protocols
- unset _libcurl_version
- unset _libcurl_ldflags
- fi
-
- if test x$_libcurl_with = xno || test x$libcurl_cv_lib_curl_usable != xyes ; then
- # This is the IF-NO path
- ifelse([$4],,:,[$4])
- else
- # This is the IF-YES path
- ifelse([$3],,:,[$3])
- fi
-
- unset _libcurl_with
-])dnl
diff --git a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.pdf b/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.pdf
deleted file mode 100644
index bcea4db..0000000
--- a/Utilities/cmcurl-7.19.0/docs/libcurl/libcurl.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/include/Makefile.am b/Utilities/cmcurl-7.19.0/include/Makefile.am
deleted file mode 100644
index 3b24860..0000000
--- a/Utilities/cmcurl-7.19.0/include/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-SUBDIRS = curl
-
-EXTRA_DIST = README
-
-AUTOMAKE_OPTIONS = foreign no-dependencies
diff --git a/Utilities/cmcurl-7.19.0/include/Makefile.in b/Utilities/cmcurl-7.19.0/include/Makefile.in
deleted file mode 100644
index e25da13..0000000
--- a/Utilities/cmcurl-7.19.0/include/Makefile.in
+++ /dev/null
@@ -1,527 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = include
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-depcomp =
-am__depfiles_maybe =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-SUBDIRS = curl
-EXTRA_DIST = README
-AUTOMAKE_OPTIONS = foreign no-dependencies
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/include/README b/Utilities/cmcurl-7.19.0/include/README
deleted file mode 100644
index 485722e..0000000
--- a/Utilities/cmcurl-7.19.0/include/README
+++ /dev/null
@@ -1,55 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-Include files for libcurl, external users.
-
-They're all placed in the curl subdirectory here for better fit in any kind
-of environment. You must include files from here using...
-
- #include <curl/curl.h>
-
-... style and point the compiler's include path to the directory holding the
-curl subdirectory. It makes it more likely to survive future modifications.
-
-NOTE FOR LIBCURL HACKERS
-
-The following notes apply to libcurl version 7.19.0 and later.
-
-* The distributed curl/curlbuild.h file is only intended to be used on systems
- which can not run the also distributed configure script.
-
-* The distributed curlbuild.h file is generated as a copy of curlbuild.h.dist
- when the libcurl source code distribution archive file is originally created.
-
-* If you check out from CVS on a non-configure platform, you must run the
- appropriate buildconf* script to set up curlbuild.h and other local files
- before being able of compiling the library.
-
-* On systems capable of running the configure script, the configure process
- will overwrite the distributed include/curl/curlbuild.h file with one that
- is suitable and specific to the library being configured and built, which
- is generated from the include/curl/curlbuild.h.in template file.
-
-* If you intend to distribute an already compiled libcurl library you _MUST_
- also distribute along with it the generated curl/curlbuild.h which has been
- used to compile it. Otherwise the library will be of no use for the users of
- the library that you have built. It is _your_ responsability to provide this
- file. No one at the cURL project can know how you have built the library.
-
-* File curl/curlbuild.h includes platform and configuration dependant info,
- and must not be modified by anyone. Configure script generates it for you.
-
-* We cannot assume anything else but very basic compiler features being
- present. While libcurl requires an ANSI C compiler to build, some of the
- earlier ANSI compilers clearly can't deal with some preprocessor operators.
-
-* Newlines must remain unix-style for older compilers' sake.
-
-* Comments must be written in the old-style /* unnested C-fashion */
-
-To figure out how to do good and portable checks for features, operating
-systems or specific hardwarare, a very good resource is Bjorn Reese's
-collection at http://predef.sf.net/
diff --git a/Utilities/cmcurl-7.19.0/include/curl/Makefile.am b/Utilities/cmcurl-7.19.0/include/curl/Makefile.am
deleted file mode 100644
index bee5c25..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-pkginclude_HEADERS = \
- curl.h curlver.h easy.h mprintf.h stdcheaders.h types.h multi.h \
- typecheck-gcc.h curlbuild.h curlrules.h
-
-pkgincludedir= $(includedir)/curl
-
-# curlbuild.h does not exist in the CVS tree. When the original libcurl
-# source code distribution archive file is created, curlbuild.h.dist is
-# renamed to curlbuild.h and included in the tarball so that it can be
-# used directly on non-configure systems.
-#
-# The distributed curlbuild.h will be overwritten on configure systems
-# when the configure script runs, with one that is suitable and specific
-# to the library being configured and built.
-#
-# curlbuild.h.in is the distributed template file from which the configure
-# script creates curlbuild.h at library configuration time, overwiting the
-# one included in the distribution archive.
-#
-# curlbuild.h.dist is not included in the source code distribution archive.
-
-EXTRA_DIST = curlbuild.h.in
-
-DISTCLEANFILES = curlbuild.h
-
diff --git a/Utilities/cmcurl-7.19.0/include/curl/Makefile.in b/Utilities/cmcurl-7.19.0/include/curl/Makefile.in
deleted file mode 100644
index a0494cb..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/Makefile.in
+++ /dev/null
@@ -1,482 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = include/curl
-DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/curlbuild.h.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkgincludedir)"
-pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(pkginclude_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-pkgincludedir = $(includedir)/curl
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-pkginclude_HEADERS = \
- curl.h curlver.h easy.h mprintf.h stdcheaders.h types.h multi.h \
- typecheck-gcc.h curlbuild.h curlrules.h
-
-
-# curlbuild.h does not exist in the CVS tree. When the original libcurl
-# source code distribution archive file is created, curlbuild.h.dist is
-# renamed to curlbuild.h and included in the tarball so that it can be
-# used directly on non-configure systems.
-#
-# The distributed curlbuild.h will be overwritten on configure systems
-# when the configure script runs, with one that is suitable and specific
-# to the library being configured and built.
-#
-# curlbuild.h.in is the distributed template file from which the configure
-# script creates curlbuild.h at library configuration time, overwiting the
-# one included in the distribution archive.
-#
-# curlbuild.h.dist is not included in the source code distribution archive.
-EXTRA_DIST = curlbuild.h.in
-DISTCLEANFILES = curlbuild.h
-all: curlbuild.h
- $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/curl/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign include/curl/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;
-
-$(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
-
-curlbuild.h: stamp-h3
- @if test ! -f $@; then \
- rm -f stamp-h3; \
- $(MAKE) stamp-h3; \
- else :; fi
-
-stamp-h3: $(srcdir)/curlbuild.h.in $(top_builddir)/config.status
- @rm -f stamp-h3
- cd $(top_builddir) && $(SHELL) ./config.status include/curl/curlbuild.h
-$(srcdir)/curlbuild.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h3
- touch $@
-
-distclean-hdr:
- -rm -f curlbuild.h stamp-h3
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-pkgincludeHEADERS: $(pkginclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-uninstall-pkgincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) curlbuild.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) curlbuild.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) curlbuild.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) curlbuild.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: check-am
-all-am: Makefile $(HEADERS) curlbuild.h
-installdirs:
- for dir in "$(DESTDIR)$(pkgincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pkgincludeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-pkgincludeHEADERS \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-pkgincludeHEADERS
-
-# 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/Utilities/cmcurl-7.19.0/include/curl/curl.h b/Utilities/cmcurl-7.19.0/include/curl/curl.h
deleted file mode 100644
index 8ce31fa..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/curl.h
+++ /dev/null
@@ -1,1764 +0,0 @@
-#ifndef __CURL_CURL_H
-#define __CURL_CURL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * If you have libcurl problems, all docs and details are found here:
- * http://curl.haxx.se/libcurl/
- *
- * curl-library mailing list subscription and unsubscription web interface:
- * http://cool.haxx.se/mailman/listinfo/curl-library/
- */
-
-#include "curlver.h" /* libcurl version defines */
-#include "cmcurl-7.19.0/include/curl/curlbuild.h" /* libcurl build definitions */
-#include "curlrules.h" /* libcurl rules enforcement */
-
-/*
- * Define WIN32 when build target is Win32 API
- */
-
-#if (defined(_WIN32) || defined(__WIN32__)) && \
- !defined(WIN32) && !defined(__SYMBIAN32__)
-#define WIN32
-#endif
-
-#include <stdio.h>
-#include <limits.h>
-
-/* The include stuff here below is mainly for time_t! */
-#ifdef vms
-# include <types.h>
-# include <time.h>
-#else
-# include <sys/types.h>
-# include <time.h>
-#endif /* defined (vms) */
-
-#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__GNUC__) && \
- !defined(__CYGWIN__) || defined(__MINGW32__)
-#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H))
-/* The check above prevents the winsock2 inclusion if winsock.h already was
- included, since they can't co-exist without problems */
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#endif
-#else
-
-/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish
- libc5-based Linux systems. Only include it on system that are known to
- require it! */
-#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
- defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY)
-#include <sys/select.h>
-#endif
-
-#ifndef _WIN32_WCE
-#include <sys/socket.h>
-#endif
-#if !defined(WIN32) && !defined(__WATCOMC__)
-#include <sys/time.h>
-#endif
-#include <sys/types.h>
-#endif
-
-#ifdef __BEOS__
-#include <support/SupportDefs.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef void CURL;
-
-/*
- * Decorate exportable functions for Win32 and Symbian OS DLL linking.
- * This avoids using a .def file for building libcurl.dll.
- */
-#if (defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)) && \
- !defined(CURL_STATICLIB)
-#if defined(BUILDING_LIBCURL)
-#define CURL_EXTERN __declspec(dllexport)
-#else
-#define CURL_EXTERN __declspec(dllimport)
-#endif
-#else
-
-#ifdef CURL_HIDDEN_SYMBOLS
-/*
- * This definition is used to make external definitions visible in the
- * shared library when symbols are hidden by default. It makes no
- * difference when compiling applications whether this is set or not,
- * only when compiling the library.
- */
-#define CURL_EXTERN CURL_EXTERN_SYMBOL
-#else
-#define CURL_EXTERN
-#endif
-#endif
-
-#ifndef curl_socket_typedef
-/* socket typedef */
-#ifdef WIN32
-typedef SOCKET curl_socket_t;
-#define CURL_SOCKET_BAD INVALID_SOCKET
-#else
-typedef int curl_socket_t;
-#define CURL_SOCKET_BAD -1
-#endif
-#define curl_socket_typedef
-#endif /* curl_socket_typedef */
-
-struct curl_httppost {
- struct curl_httppost *next; /* next entry in the list */
- char *name; /* pointer to allocated name */
- long namelength; /* length of name length */
- char *contents; /* pointer to allocated data contents */
- long contentslength; /* length of contents field */
- char *buffer; /* pointer to allocated buffer contents */
- long bufferlength; /* length of buffer field */
- char *contenttype; /* Content-Type */
- struct curl_slist* contentheader; /* list of extra headers for this form */
- struct curl_httppost *more; /* if one field name has more than one
- file, this link should link to following
- files */
- long flags; /* as defined below */
-#define HTTPPOST_FILENAME (1<<0) /* specified content is a file name */
-#define HTTPPOST_READFILE (1<<1) /* specified content is a file name */
-#define HTTPPOST_PTRNAME (1<<2) /* name is only stored pointer
- do not free in formfree */
-#define HTTPPOST_PTRCONTENTS (1<<3) /* contents is only stored pointer
- do not free in formfree */
-#define HTTPPOST_BUFFER (1<<4) /* upload file from buffer */
-#define HTTPPOST_PTRBUFFER (1<<5) /* upload file from pointer contents */
-#define HTTPPOST_CALLBACK (1<<6) /* upload file contents by using the
- regular read callback to get the data
- and pass the given pointer as custom
- pointer */
-
- char *showfilename; /* The file name to show. If not set, the
- actual file name will be used (if this
- is a file part) */
- void *userp; /* custom pointer used for
- HTTPPOST_CALLBACK posts */
-};
-
-typedef int (*curl_progress_callback)(void *clientp,
- double dltotal,
- double dlnow,
- double ultotal,
- double ulnow);
-
-#ifndef CURL_MAX_WRITE_SIZE
- /* Tests have proven that 20K is a very bad buffer size for uploads on
- Windows, while 16K for some odd reason performed a lot better.
- We do the ifndef check to allow this value to easier be changed at build
- time for those who feel adventurous. */
-#define CURL_MAX_WRITE_SIZE 16384
-#endif
-/* This is a magic return code for the write callback that, when returned,
- will signal libcurl to pause receiving on the current transfer. */
-#define CURL_WRITEFUNC_PAUSE 0x10000001
-typedef size_t (*curl_write_callback)(char *buffer,
- size_t size,
- size_t nitems,
- void *outstream);
-
-/* This is a return code for the read callback that, when returned, will
- signal libcurl to immediately abort the current transfer. */
-#define CURL_READFUNC_ABORT 0x10000000
-/* This is a return code for the read callback that, when returned, will
- signal libcurl to pause sending data on the current transfer. */
-#define CURL_READFUNC_PAUSE 0x10000001
-typedef int (*curl_seek_callback)(void *instream,
- curl_off_t offset,
- int origin); /* 'whence' */
-
-typedef size_t (*curl_read_callback)(char *buffer,
- size_t size,
- size_t nitems,
- void *instream);
-
-typedef enum {
- CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
- CURLSOCKTYPE_LAST /* never use */
-} curlsocktype;
-
-typedef int (*curl_sockopt_callback)(void *clientp,
- curl_socket_t curlfd,
- curlsocktype purpose);
-
-struct curl_sockaddr {
- int family;
- int socktype;
- int protocol;
- unsigned int addrlen; /* addrlen was a socklen_t type before 7.18.0 but it
- turned really ugly and painful on the systems that
- lack this type */
- struct sockaddr addr;
-};
-
-typedef curl_socket_t
-(*curl_opensocket_callback)(void *clientp,
- curlsocktype purpose,
- struct curl_sockaddr *address);
-
-#ifndef CURL_NO_OLDIES
- /* not used since 7.10.8, will be removed in a future release */
-typedef int (*curl_passwd_callback)(void *clientp,
- const char *prompt,
- char *buffer,
- int buflen);
-#endif
-
-typedef enum {
- CURLIOE_OK, /* I/O operation successful */
- CURLIOE_UNKNOWNCMD, /* command was unknown to callback */
- CURLIOE_FAILRESTART, /* failed to restart the read */
- CURLIOE_LAST /* never use */
-} curlioerr;
-
-typedef enum {
- CURLIOCMD_NOP, /* no operation */
- CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
- CURLIOCMD_LAST /* never use */
-} curliocmd;
-
-typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
- int cmd,
- void *clientp);
-
-/*
- * The following typedef's are signatures of malloc, free, realloc, strdup and
- * calloc respectively. Function pointers of these types can be passed to the
- * curl_global_init_mem() function to set user defined memory management
- * callback routines.
- */
-typedef void *(*curl_malloc_callback)(size_t size);
-typedef void (*curl_free_callback)(void *ptr);
-typedef void *(*curl_realloc_callback)(void *ptr, size_t size);
-typedef char *(*curl_strdup_callback)(const char *str);
-typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size);
-
-/* the kind of data that is passed to information_callback*/
-typedef enum {
- CURLINFO_TEXT = 0,
- CURLINFO_HEADER_IN, /* 1 */
- CURLINFO_HEADER_OUT, /* 2 */
- CURLINFO_DATA_IN, /* 3 */
- CURLINFO_DATA_OUT, /* 4 */
- CURLINFO_SSL_DATA_IN, /* 5 */
- CURLINFO_SSL_DATA_OUT, /* 6 */
- CURLINFO_END
-} curl_infotype;
-
-typedef int (*curl_debug_callback)
- (CURL *handle, /* the handle/transfer this concerns */
- curl_infotype type, /* what kind of data */
- char *data, /* points to the data */
- size_t size, /* size of the data pointed to */
- void *userptr); /* whatever the user please */
-
-/* All possible error codes from all sorts of curl functions. Future versions
- may return other values, stay prepared.
-
- Always add new return codes last. Never *EVER* remove any. The return
- codes must remain the same!
- */
-
-typedef enum {
- CURLE_OK = 0,
- CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
- CURLE_FAILED_INIT, /* 2 */
- CURLE_URL_MALFORMAT, /* 3 */
- CURLE_OBSOLETE4, /* 4 - NOT USED */
- CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
- CURLE_COULDNT_RESOLVE_HOST, /* 6 */
- CURLE_COULDNT_CONNECT, /* 7 */
- CURLE_FTP_WEIRD_SERVER_REPLY, /* 8 */
- CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server
- due to lack of access - when login fails
- this is not returned. */
- CURLE_OBSOLETE10, /* 10 - NOT USED */
- CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */
- CURLE_OBSOLETE12, /* 12 - NOT USED */
- CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */
- CURLE_FTP_WEIRD_227_FORMAT, /* 14 */
- CURLE_FTP_CANT_GET_HOST, /* 15 */
- CURLE_OBSOLETE16, /* 16 - NOT USED */
- CURLE_FTP_COULDNT_SET_TYPE, /* 17 */
- CURLE_PARTIAL_FILE, /* 18 */
- CURLE_FTP_COULDNT_RETR_FILE, /* 19 */
- CURLE_OBSOLETE20, /* 20 - NOT USED */
- CURLE_QUOTE_ERROR, /* 21 - quote command failure */
- CURLE_HTTP_RETURNED_ERROR, /* 22 */
- CURLE_WRITE_ERROR, /* 23 */
- CURLE_OBSOLETE24, /* 24 - NOT USED */
- CURLE_UPLOAD_FAILED, /* 25 - failed upload "command" */
- CURLE_READ_ERROR, /* 26 - couldn't open/read from file */
- CURLE_OUT_OF_MEMORY, /* 27 */
- /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error
- instead of a memory allocation error if CURL_DOES_CONVERSIONS
- is defined
- */
- CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was reached */
- CURLE_OBSOLETE29, /* 29 - NOT USED */
- CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */
- CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */
- CURLE_OBSOLETE32, /* 32 - NOT USED */
- CURLE_RANGE_ERROR, /* 33 - RANGE "command" didn't work */
- CURLE_HTTP_POST_ERROR, /* 34 */
- CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */
- CURLE_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */
- CURLE_FILE_COULDNT_READ_FILE, /* 37 */
- CURLE_LDAP_CANNOT_BIND, /* 38 */
- CURLE_LDAP_SEARCH_FAILED, /* 39 */
- CURLE_OBSOLETE40, /* 40 - NOT USED */
- CURLE_FUNCTION_NOT_FOUND, /* 41 */
- CURLE_ABORTED_BY_CALLBACK, /* 42 */
- CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */
- CURLE_OBSOLETE44, /* 44 - NOT USED */
- CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */
- CURLE_OBSOLETE46, /* 46 - NOT USED */
- CURLE_TOO_MANY_REDIRECTS , /* 47 - catch endless re-direct loops */
- CURLE_UNKNOWN_TELNET_OPTION, /* 48 - User specified an unknown option */
- CURLE_TELNET_OPTION_SYNTAX , /* 49 - Malformed telnet option */
- CURLE_OBSOLETE50, /* 50 - NOT USED */
- CURLE_PEER_FAILED_VERIFICATION, /* 51 - peer's certificate or fingerprint
- wasn't verified fine */
- CURLE_GOT_NOTHING, /* 52 - when this is a specific error */
- CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */
- CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as
- default */
- CURLE_SEND_ERROR, /* 55 - failed sending network data */
- CURLE_RECV_ERROR, /* 56 - failure in receiving network data */
- CURLE_OBSOLETE57, /* 57 - NOT IN USE */
- CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */
- CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */
- CURLE_SSL_CACERT, /* 60 - problem with the CA cert (path?) */
- CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized transfer encoding */
- CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */
- CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */
- CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */
- CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind
- that failed */
- CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */
- CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not
- accepted and we failed to login */
- CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */
- CURLE_TFTP_PERM, /* 69 - permission problem on server */
- CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */
- CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */
- CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */
- CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */
- CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */
- CURLE_CONV_FAILED, /* 75 - conversion failed */
- CURLE_CONV_REQD, /* 76 - caller must register conversion
- callbacks using curl_easy_setopt options
- CURLOPT_CONV_FROM_NETWORK_FUNCTION,
- CURLOPT_CONV_TO_NETWORK_FUNCTION, and
- CURLOPT_CONV_FROM_UTF8_FUNCTION */
- CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing
- or wrong format */
- CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */
- CURLE_SSH, /* 79 - error from the SSH layer, somewhat
- generic so the error message will be of
- interest when this has happened */
-
- CURLE_SSL_SHUTDOWN_FAILED, /* 80 - Failed to shut down the SSL
- connection */
- CURLE_AGAIN, /* 81 - socket is not ready for send/recv,
- wait till it's ready and try again (Added
- in 7.18.2) */
- CURLE_SSL_CRL_BADFILE, /* 82 - could not load CRL file, missing or
- wrong format (Added in 7.19.0) */
- CURLE_SSL_ISSUER_ERROR, /* 83 - Issuer check failed. (Added in
- 7.19.0) */
- CURL_LAST /* never use! */
-} CURLcode;
-
-#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
- the obsolete stuff removed! */
-
-/* Backwards compatibility with older names */
-
-/* The following were added in 7.17.1 */
-/* These are scheduled to disappear by 2009 */
-#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION
-
-/* The following were added in 7.17.0 */
-/* These are scheduled to disappear by 2009 */
-#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* noone should be using this! */
-#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46
-#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44
-#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10
-#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16
-#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32
-#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29
-#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12
-#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20
-#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40
-#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24
-#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57
-#define CURLE_URL_MALFORMAT_USER CURLE_OBSOLETE4
-
-#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED
-#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE
-#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR
-#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL
-#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS
-#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR
-#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED
-
-/* The following were added earlier */
-
-#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT
-
-#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR
-#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED
-#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED
-
-#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE
-#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME
-
-/* This was the error code 50 in 7.7.3 and a few earlier versions, this
- is no longer used by libcurl but is instead #defined here only to not
- make programs break */
-#define CURLE_ALREADY_COMPLETE 99999
-
-#endif /*!CURL_NO_OLDIES*/
-
-/* This prototype applies to all conversion callbacks */
-typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);
-
-typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */
- void *ssl_ctx, /* actually an
- OpenSSL SSL_CTX */
- void *userptr);
-
-typedef enum {
- CURLPROXY_HTTP = 0, /* added in 7.10 */
- CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
- in 7.10 */
- CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
- CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */
- CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the
- host name rather than the IP address. added
- in 7.18.0 */
-} curl_proxytype; /* this enum was added in 7.10 */
-
-#define CURLAUTH_NONE 0 /* nothing */
-#define CURLAUTH_BASIC (1<<0) /* Basic (default) */
-#define CURLAUTH_DIGEST (1<<1) /* Digest */
-#define CURLAUTH_GSSNEGOTIATE (1<<2) /* GSS-Negotiate */
-#define CURLAUTH_NTLM (1<<3) /* NTLM */
-#define CURLAUTH_ANY ~0 /* all types set */
-#define CURLAUTH_ANYSAFE (~CURLAUTH_BASIC)
-
-#define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */
-#define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */
-#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */
-#define CURLSSH_AUTH_PASSWORD (1<<1) /* password */
-#define CURLSSH_AUTH_HOST (1<<2) /* host key files */
-#define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */
-#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
-
-#define CURL_ERROR_SIZE 256
-
-/* parameter for the CURLOPT_USE_SSL option */
-typedef enum {
- CURLUSESSL_NONE, /* do not attempt to use SSL */
- CURLUSESSL_TRY, /* try using SSL, proceed anyway otherwise */
- CURLUSESSL_CONTROL, /* SSL for the control connection or fail */
- CURLUSESSL_ALL, /* SSL for all communication or fail */
- CURLUSESSL_LAST /* not an option, never use */
-} curl_usessl;
-
-#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
- the obsolete stuff removed! */
-
-/* Backwards compatibility with older names */
-/* These are scheduled to disappear by 2009 */
-
-#define CURLFTPSSL_NONE CURLUSESSL_NONE
-#define CURLFTPSSL_TRY CURLUSESSL_TRY
-#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL
-#define CURLFTPSSL_ALL CURLUSESSL_ALL
-#define CURLFTPSSL_LAST CURLUSESSL_LAST
-#define curl_ftpssl curl_usessl
-#endif /*!CURL_NO_OLDIES*/
-
-/* parameter for the CURLOPT_FTP_SSL_CCC option */
-typedef enum {
- CURLFTPSSL_CCC_NONE, /* do not send CCC */
- CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */
- CURLFTPSSL_CCC_ACTIVE, /* Initiate the shutdown */
- CURLFTPSSL_CCC_LAST /* not an option, never use */
-} curl_ftpccc;
-
-/* parameter for the CURLOPT_FTPSSLAUTH option */
-typedef enum {
- CURLFTPAUTH_DEFAULT, /* let libcurl decide */
- CURLFTPAUTH_SSL, /* use "AUTH SSL" */
- CURLFTPAUTH_TLS, /* use "AUTH TLS" */
- CURLFTPAUTH_LAST /* not an option, never use */
-} curl_ftpauth;
-
-/* parameter for the CURLOPT_FTP_FILEMETHOD option */
-typedef enum {
- CURLFTPMETHOD_DEFAULT, /* let libcurl pick */
- CURLFTPMETHOD_MULTICWD, /* single CWD operation for each path part */
- CURLFTPMETHOD_NOCWD, /* no CWD at all */
- CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */
- CURLFTPMETHOD_LAST /* not an option, never use */
-} curl_ftpmethod;
-
-/* long may be 32 or 64 bits, but we should never depend on anything else
- but 32 */
-#define CURLOPTTYPE_LONG 0
-#define CURLOPTTYPE_OBJECTPOINT 10000
-#define CURLOPTTYPE_FUNCTIONPOINT 20000
-#define CURLOPTTYPE_OFF_T 30000
-
-/* name is uppercase CURLOPT_<name>,
- type is one of the defined CURLOPTTYPE_<type>
- number is unique identifier */
-#ifdef CINIT
-#undef CINIT
-#endif
-
-#ifdef CURL_ISOCPP
-#define CINIT(name,type,number) CURLOPT_ ## name = CURLOPTTYPE_ ## type + number
-#else
-/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
-#define LONG CURLOPTTYPE_LONG
-#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT
-#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT
-#define OFF_T CURLOPTTYPE_OFF_T
-#define CINIT(name,type,number) CURLOPT_/**/name = type + number
-#endif
-
-/*
- * This macro-mania below setups the CURLOPT_[what] enum, to be used with
- * curl_easy_setopt(). The first argument in the CINIT() macro is the [what]
- * word.
- */
-
-typedef enum {
- /* This is the FILE * or void * the regular output should be written to. */
- CINIT(FILE, OBJECTPOINT, 1),
-
- /* The full URL to get/put */
- CINIT(URL, OBJECTPOINT, 2),
-
- /* Port number to connect to, if other than default. */
- CINIT(PORT, LONG, 3),
-
- /* Name of proxy to use. */
- CINIT(PROXY, OBJECTPOINT, 4),
-
- /* "name:password" to use when fetching. */
- CINIT(USERPWD, OBJECTPOINT, 5),
-
- /* "name:password" to use with proxy. */
- CINIT(PROXYUSERPWD, OBJECTPOINT, 6),
-
- /* Range to get, specified as an ASCII string. */
- CINIT(RANGE, OBJECTPOINT, 7),
-
- /* not used */
-
- /* Specified file stream to upload from (use as input): */
- CINIT(INFILE, OBJECTPOINT, 9),
-
- /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE
- * bytes big. If this is not used, error messages go to stderr instead: */
- CINIT(ERRORBUFFER, OBJECTPOINT, 10),
-
- /* Function that will be called to store the output (instead of fwrite). The
- * parameters will use fwrite() syntax, make sure to follow them. */
- CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),
-
- /* Function that will be called to read the input (instead of fread). The
- * parameters will use fread() syntax, make sure to follow them. */
- CINIT(READFUNCTION, FUNCTIONPOINT, 12),
-
- /* Time-out the read operation after this amount of seconds */
- CINIT(TIMEOUT, LONG, 13),
-
- /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about
- * how large the file being sent really is. That allows better error
- * checking and better verifies that the upload was successful. -1 means
- * unknown size.
- *
- * For large file support, there is also a _LARGE version of the key
- * which takes an off_t type, allowing platforms with larger off_t
- * sizes to handle larger files. See below for INFILESIZE_LARGE.
- */
- CINIT(INFILESIZE, LONG, 14),
-
- /* POST static input fields. */
- CINIT(POSTFIELDS, OBJECTPOINT, 15),
-
- /* Set the referrer page (needed by some CGIs) */
- CINIT(REFERER, OBJECTPOINT, 16),
-
- /* Set the FTP PORT string (interface name, named or numerical IP address)
- Use i.e '-' to use default address. */
- CINIT(FTPPORT, OBJECTPOINT, 17),
-
- /* Set the User-Agent string (examined by some CGIs) */
- CINIT(USERAGENT, OBJECTPOINT, 18),
-
- /* If the download receives less than "low speed limit" bytes/second
- * during "low speed time" seconds, the operations is aborted.
- * You could i.e if you have a pretty high speed connection, abort if
- * it is less than 2000 bytes/sec during 20 seconds.
- */
-
- /* Set the "low speed limit" */
- CINIT(LOW_SPEED_LIMIT, LONG, 19),
-
- /* Set the "low speed time" */
- CINIT(LOW_SPEED_TIME, LONG, 20),
-
- /* Set the continuation offset.
- *
- * Note there is also a _LARGE version of this key which uses
- * off_t types, allowing for large file offsets on platforms which
- * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE.
- */
- CINIT(RESUME_FROM, LONG, 21),
-
- /* Set cookie in request: */
- CINIT(COOKIE, OBJECTPOINT, 22),
-
- /* This points to a linked list of headers, struct curl_slist kind */
- CINIT(HTTPHEADER, OBJECTPOINT, 23),
-
- /* This points to a linked list of post entries, struct curl_httppost */
- CINIT(HTTPPOST, OBJECTPOINT, 24),
-
- /* name of the file keeping your private SSL-certificate */
- CINIT(SSLCERT, OBJECTPOINT, 25),
-
- /* password for the SSL or SSH private key */
- CINIT(KEYPASSWD, OBJECTPOINT, 26),
-
- /* send TYPE parameter? */
- CINIT(CRLF, LONG, 27),
-
- /* send linked-list of QUOTE commands */
- CINIT(QUOTE, OBJECTPOINT, 28),
-
- /* send FILE * or void * to store headers to, if you use a callback it
- is simply passed to the callback unmodified */
- CINIT(WRITEHEADER, OBJECTPOINT, 29),
-
- /* point to a file to read the initial cookies from, also enables
- "cookie awareness" */
- CINIT(COOKIEFILE, OBJECTPOINT, 31),
-
- /* What version to specifically try to use.
- See CURL_SSLVERSION defines below. */
- CINIT(SSLVERSION, LONG, 32),
-
- /* What kind of HTTP time condition to use, see defines */
- CINIT(TIMECONDITION, LONG, 33),
-
- /* Time to use with the above condition. Specified in number of seconds
- since 1 Jan 1970 */
- CINIT(TIMEVALUE, LONG, 34),
-
- /* 35 = OBSOLETE */
-
- /* Custom request, for customizing the get command like
- HTTP: DELETE, TRACE and others
- FTP: to use a different list command
- */
- CINIT(CUSTOMREQUEST, OBJECTPOINT, 36),
-
- /* HTTP request, for odd commands like DELETE, TRACE and others */
- CINIT(STDERR, OBJECTPOINT, 37),
-
- /* 38 is not used */
-
- /* send linked-list of post-transfer QUOTE commands */
- CINIT(POSTQUOTE, OBJECTPOINT, 39),
-
- /* Pass a pointer to string of the output using full variable-replacement
- as described elsewhere. */
- CINIT(WRITEINFO, OBJECTPOINT, 40),
-
- CINIT(VERBOSE, LONG, 41), /* talk a lot */
- CINIT(HEADER, LONG, 42), /* throw the header out too */
- CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */
- CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */
- CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 300 */
- CINIT(UPLOAD, LONG, 46), /* this is an upload */
- CINIT(POST, LONG, 47), /* HTTP POST method */
- CINIT(DIRLISTONLY, LONG, 48), /* return bare names when listing directories */
-
- CINIT(APPEND, LONG, 50), /* Append instead of overwrite on upload! */
-
- /* Specify whether to read the user+password from the .netrc or the URL.
- * This must be one of the CURL_NETRC_* enums below. */
- CINIT(NETRC, LONG, 51),
-
- CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */
-
- CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */
- CINIT(PUT, LONG, 54), /* HTTP PUT */
-
- /* 55 = OBSOLETE */
-
- /* Function that will be called instead of the internal progress display
- * function. This function should be defined as the curl_progress_callback
- * prototype defines. */
- CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56),
-
- /* Data passed to the progress callback */
- CINIT(PROGRESSDATA, OBJECTPOINT, 57),
-
- /* We want the referrer field set automatically when following locations */
- CINIT(AUTOREFERER, LONG, 58),
-
- /* Port of the proxy, can be set in the proxy string as well with:
- "[host]:[port]" */
- CINIT(PROXYPORT, LONG, 59),
-
- /* size of the POST input data, if strlen() is not good to use */
- CINIT(POSTFIELDSIZE, LONG, 60),
-
- /* tunnel non-http operations through a HTTP proxy */
- CINIT(HTTPPROXYTUNNEL, LONG, 61),
-
- /* Set the interface string to use as outgoing network interface */
- CINIT(INTERFACE, OBJECTPOINT, 62),
-
- /* Set the krb4/5 security level, this also enables krb4/5 awareness. This
- * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string
- * is set but doesn't match one of these, 'private' will be used. */
- CINIT(KRBLEVEL, OBJECTPOINT, 63),
-
- /* Set if we should verify the peer in ssl handshake, set 1 to verify. */
- CINIT(SSL_VERIFYPEER, LONG, 64),
-
- /* The CApath or CAfile used to validate the peer certificate
- this option is used only if SSL_VERIFYPEER is true */
- CINIT(CAINFO, OBJECTPOINT, 65),
-
- /* 66 = OBSOLETE */
- /* 67 = OBSOLETE */
-
- /* Maximum number of http redirects to follow */
- CINIT(MAXREDIRS, LONG, 68),
-
- /* Pass a long set to 1 to get the date of the requested document (if
- possible)! Pass a zero to shut it off. */
- CINIT(FILETIME, LONG, 69),
-
- /* This points to a linked list of telnet options */
- CINIT(TELNETOPTIONS, OBJECTPOINT, 70),
-
- /* Max amount of cached alive connections */
- CINIT(MAXCONNECTS, LONG, 71),
-
- /* What policy to use when closing connections when the cache is filled
- up */
- CINIT(CLOSEPOLICY, LONG, 72),
-
- /* 73 = OBSOLETE */
-
- /* Set to explicitly use a new connection for the upcoming transfer.
- Do not use this unless you're absolutely sure of this, as it makes the
- operation slower and is less friendly for the network. */
- CINIT(FRESH_CONNECT, LONG, 74),
-
- /* Set to explicitly forbid the upcoming transfer's connection to be re-used
- when done. Do not use this unless you're absolutely sure of this, as it
- makes the operation slower and is less friendly for the network. */
- CINIT(FORBID_REUSE, LONG, 75),
-
- /* Set to a file name that contains random data for libcurl to use to
- seed the random engine when doing SSL connects. */
- CINIT(RANDOM_FILE, OBJECTPOINT, 76),
-
- /* Set to the Entropy Gathering Daemon socket pathname */
- CINIT(EGDSOCKET, OBJECTPOINT, 77),
-
- /* Time-out connect operations after this amount of seconds, if connects
- are OK within this time, then fine... This only aborts the connect
- phase. [Only works on unix-style/SIGALRM operating systems] */
- CINIT(CONNECTTIMEOUT, LONG, 78),
-
- /* Function that will be called to store headers (instead of fwrite). The
- * parameters will use fwrite() syntax, make sure to follow them. */
- CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79),
-
- /* Set this to force the HTTP request to get back to GET. Only really usable
- if POST, PUT or a custom request have been used first.
- */
- CINIT(HTTPGET, LONG, 80),
-
- /* Set if we should verify the Common name from the peer certificate in ssl
- * handshake, set 1 to check existence, 2 to ensure that it matches the
- * provided hostname. */
- CINIT(SSL_VERIFYHOST, LONG, 81),
-
- /* Specify which file name to write all known cookies in after completed
- operation. Set file name to "-" (dash) to make it go to stdout. */
- CINIT(COOKIEJAR, OBJECTPOINT, 82),
-
- /* Specify which SSL ciphers to use */
- CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83),
-
- /* Specify which HTTP version to use! This must be set to one of the
- CURL_HTTP_VERSION* enums set below. */
- CINIT(HTTP_VERSION, LONG, 84),
-
- /* Specifically switch on or off the FTP engine's use of the EPSV command. By
- default, that one will always be attempted before the more traditional
- PASV command. */
- CINIT(FTP_USE_EPSV, LONG, 85),
-
- /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */
- CINIT(SSLCERTTYPE, OBJECTPOINT, 86),
-
- /* name of the file keeping your private SSL-key */
- CINIT(SSLKEY, OBJECTPOINT, 87),
-
- /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */
- CINIT(SSLKEYTYPE, OBJECTPOINT, 88),
-
- /* crypto engine for the SSL-sub system */
- CINIT(SSLENGINE, OBJECTPOINT, 89),
-
- /* set the crypto engine for the SSL-sub system as default
- the param has no meaning...
- */
- CINIT(SSLENGINE_DEFAULT, LONG, 90),
-
- /* Non-zero value means to use the global dns cache */
- CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* To become OBSOLETE soon */
-
- /* DNS cache timeout */
- CINIT(DNS_CACHE_TIMEOUT, LONG, 92),
-
- /* send linked-list of pre-transfer QUOTE commands (Wesley Laxton)*/
- CINIT(PREQUOTE, OBJECTPOINT, 93),
-
- /* set the debug function */
- CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94),
-
- /* set the data for the debug function */
- CINIT(DEBUGDATA, OBJECTPOINT, 95),
-
- /* mark this as start of a cookie session */
- CINIT(COOKIESESSION, LONG, 96),
-
- /* The CApath directory used to validate the peer certificate
- this option is used only if SSL_VERIFYPEER is true */
- CINIT(CAPATH, OBJECTPOINT, 97),
-
- /* Instruct libcurl to use a smaller receive buffer */
- CINIT(BUFFERSIZE, LONG, 98),
-
- /* Instruct libcurl to not use any signal/alarm handlers, even when using
- timeouts. This option is useful for multi-threaded applications.
- See libcurl-the-guide for more background information. */
- CINIT(NOSIGNAL, LONG, 99),
-
- /* Provide a CURLShare for mutexing non-ts data */
- CINIT(SHARE, OBJECTPOINT, 100),
-
- /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default),
- CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5. */
- CINIT(PROXYTYPE, LONG, 101),
-
- /* Set the Accept-Encoding string. Use this to tell a server you would like
- the response to be compressed. */
- CINIT(ENCODING, OBJECTPOINT, 102),
-
- /* Set pointer to private data */
- CINIT(PRIVATE, OBJECTPOINT, 103),
-
- /* Set aliases for HTTP 200 in the HTTP Response header */
- CINIT(HTTP200ALIASES, OBJECTPOINT, 104),
-
- /* Continue to send authentication (user+password) when following locations,
- even when hostname changed. This can potentially send off the name
- and password to whatever host the server decides. */
- CINIT(UNRESTRICTED_AUTH, LONG, 105),
-
- /* Specifically switch on or off the FTP engine's use of the EPRT command ( it
- also disables the LPRT attempt). By default, those ones will always be
- attempted before the good old traditional PORT command. */
- CINIT(FTP_USE_EPRT, LONG, 106),
-
- /* Set this to a bitmask value to enable the particular authentications
- methods you like. Use this in combination with CURLOPT_USERPWD.
- Note that setting multiple bits may cause extra network round-trips. */
- CINIT(HTTPAUTH, LONG, 107),
-
- /* Set the ssl context callback function, currently only for OpenSSL ssl_ctx
- in second argument. The function must be matching the
- curl_ssl_ctx_callback proto. */
- CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108),
-
- /* Set the userdata for the ssl context callback function's third
- argument */
- CINIT(SSL_CTX_DATA, OBJECTPOINT, 109),
-
- /* FTP Option that causes missing dirs to be created on the remote server */
- CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110),
-
- /* Set this to a bitmask value to enable the particular authentications
- methods you like. Use this in combination with CURLOPT_PROXYUSERPWD.
- Note that setting multiple bits may cause extra network round-trips. */
- CINIT(PROXYAUTH, LONG, 111),
-
- /* FTP option that changes the timeout, in seconds, associated with
- getting a response. This is different from transfer timeout time and
- essentially places a demand on the FTP server to acknowledge commands
- in a timely manner. */
- CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112),
-
- /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to
- tell libcurl to resolve names to those IP versions only. This only has
- affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */
- CINIT(IPRESOLVE, LONG, 113),
-
- /* Set this option to limit the size of a file that will be downloaded from
- an HTTP or FTP server.
-
- Note there is also _LARGE version which adds large file support for
- platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */
- CINIT(MAXFILESIZE, LONG, 114),
-
- /* See the comment for INFILESIZE above, but in short, specifies
- * the size of the file being uploaded. -1 means unknown.
- */
- CINIT(INFILESIZE_LARGE, OFF_T, 115),
-
- /* Sets the continuation offset. There is also a LONG version of this;
- * look above for RESUME_FROM.
- */
- CINIT(RESUME_FROM_LARGE, OFF_T, 116),
-
- /* Sets the maximum size of data that will be downloaded from
- * an HTTP or FTP server. See MAXFILESIZE above for the LONG version.
- */
- CINIT(MAXFILESIZE_LARGE, OFF_T, 117),
-
- /* Set this option to the file name of your .netrc file you want libcurl
- to parse (using the CURLOPT_NETRC option). If not set, libcurl will do
- a poor attempt to find the user's home directory and check for a .netrc
- file in there. */
- CINIT(NETRC_FILE, OBJECTPOINT, 118),
-
- /* Enable SSL/TLS for FTP, pick one of:
- CURLFTPSSL_TRY - try using SSL, proceed anyway otherwise
- CURLFTPSSL_CONTROL - SSL for the control connection or fail
- CURLFTPSSL_ALL - SSL for all communication or fail
- */
- CINIT(USE_SSL, LONG, 119),
-
- /* The _LARGE version of the standard POSTFIELDSIZE option */
- CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120),
-
- /* Enable/disable the TCP Nagle algorithm */
- CINIT(TCP_NODELAY, LONG, 121),
-
- /* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
- /* 123 OBSOLETE. Gone in 7.16.0 */
- /* 124 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
- /* 125 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
- /* 126 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
- /* 127 OBSOLETE. Gone in 7.16.0 */
- /* 128 OBSOLETE. Gone in 7.16.0 */
-
- /* When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL), this option
- can be used to change libcurl's default action which is to first try
- "AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK
- response has been received.
-
- Available parameters are:
- CURLFTPAUTH_DEFAULT - let libcurl decide
- CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS
- CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL
- */
- CINIT(FTPSSLAUTH, LONG, 129),
-
- CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130),
- CINIT(IOCTLDATA, OBJECTPOINT, 131),
-
- /* 132 OBSOLETE. Gone in 7.16.0 */
- /* 133 OBSOLETE. Gone in 7.16.0 */
-
- /* zero terminated string for pass on to the FTP server when asked for
- "account" info */
- CINIT(FTP_ACCOUNT, OBJECTPOINT, 134),
-
- /* feed cookies into cookie engine */
- CINIT(COOKIELIST, OBJECTPOINT, 135),
-
- /* ignore Content-Length */
- CINIT(IGNORE_CONTENT_LENGTH, LONG, 136),
-
- /* Set to non-zero to skip the IP address received in a 227 PASV FTP server
- response. Typically used for FTP-SSL purposes but is not restricted to
- that. libcurl will then instead use the same IP address it used for the
- control connection. */
- CINIT(FTP_SKIP_PASV_IP, LONG, 137),
-
- /* Select "file method" to use when doing FTP, see the curl_ftpmethod
- above. */
- CINIT(FTP_FILEMETHOD, LONG, 138),
-
- /* Local port number to bind the socket to */
- CINIT(LOCALPORT, LONG, 139),
-
- /* Number of ports to try, including the first one set with LOCALPORT.
- Thus, setting it to 1 will make no additional attempts but the first.
- */
- CINIT(LOCALPORTRANGE, LONG, 140),
-
- /* no transfer, set up connection and let application use the socket by
- extracting it with CURLINFO_LASTSOCKET */
- CINIT(CONNECT_ONLY, LONG, 141),
-
- /* Function that will be called to convert from the
- network encoding (instead of using the iconv calls in libcurl) */
- CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142),
-
- /* Function that will be called to convert to the
- network encoding (instead of using the iconv calls in libcurl) */
- CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143),
-
- /* Function that will be called to convert from UTF8
- (instead of using the iconv calls in libcurl)
- Note that this is used only for SSL certificate processing */
- CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144),
-
- /* if the connection proceeds too quickly then need to slow it down */
- /* limit-rate: maximum number of bytes per second to send or receive */
- CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145),
- CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),
-
- /* Pointer to command string to send if USER/PASS fails. */
- CINIT(FTP_ALTERNATIVE_TO_USER, OBJECTPOINT, 147),
-
- /* callback function for setting socket options */
- CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148),
- CINIT(SOCKOPTDATA, OBJECTPOINT, 149),
-
- /* set to 0 to disable session ID re-use for this transfer, default is
- enabled (== 1) */
- CINIT(SSL_SESSIONID_CACHE, LONG, 150),
-
- /* allowed SSH authentication methods */
- CINIT(SSH_AUTH_TYPES, LONG, 151),
-
- /* Used by scp/sftp to do public/private key authentication */
- CINIT(SSH_PUBLIC_KEYFILE, OBJECTPOINT, 152),
- CINIT(SSH_PRIVATE_KEYFILE, OBJECTPOINT, 153),
-
- /* Send CCC (Clear Command Channel) after authentication */
- CINIT(FTP_SSL_CCC, LONG, 154),
-
- /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */
- CINIT(TIMEOUT_MS, LONG, 155),
- CINIT(CONNECTTIMEOUT_MS, LONG, 156),
-
- /* set to zero to disable the libcurl's decoding and thus pass the raw body
- data to the application even when it is encoded/compressed */
- CINIT(HTTP_TRANSFER_DECODING, LONG, 157),
- CINIT(HTTP_CONTENT_DECODING, LONG, 158),
-
- /* Permission used when creating new files and directories on the remote
- server for protocols that support it, SFTP/SCP/FILE */
- CINIT(NEW_FILE_PERMS, LONG, 159),
- CINIT(NEW_DIRECTORY_PERMS, LONG, 160),
-
- /* Obey RFC 2616/10.3.2 and keep POSTs as POSTs after a 301 */
- CINIT(POST301, LONG, 161),
-
- /* used by scp/sftp to verify the host's public key */
- CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162),
-
- /* Callback function for opening socket (instead of socket(2)). Optionally,
- callback is able change the address or refuse to connect returning
- CURL_SOCKET_BAD. The callback should have type
- curl_opensocket_callback */
- CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163),
- CINIT(OPENSOCKETDATA, OBJECTPOINT, 164),
-
- /* POST volatile input fields. */
- CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165),
-
- /* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */
- CINIT(PROXY_TRANSFER_MODE, LONG, 166),
-
- /* Callback function for seeking in the input stream */
- CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167),
- CINIT(SEEKDATA, OBJECTPOINT, 168),
-
- /* CRL file */
- CINIT(CRLFILE, OBJECTPOINT, 169),
-
- /* Issuer certificate */
- CINIT(ISSUERCERT, OBJECTPOINT, 170),
-
- /* (IPv6) Address scope */
- CINIT(ADDRESS_SCOPE, LONG, 171),
-
- CURLOPT_LASTENTRY /* the last unused */
-} CURLoption;
-
-#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
- the obsolete stuff removed! */
-
-/* Backwards compatibility with older names */
-/* These are scheduled to disappear by 2009 */
-
-/* The following were added in 7.17.0 */
-#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD
-#define CURLOPT_FTPAPPEND CURLOPT_APPEND
-#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY
-#define CURLOPT_FTP_SSL CURLOPT_USE_SSL
-
-/* The following were added earlier */
-
-#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD
-#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL
-
-#else
-/* This is set if CURL_NO_OLDIES is defined at compile-time */
-#undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */
-#endif
-
-
- /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host
- name resolves addresses using more than one IP protocol version, this
- option might be handy to force libcurl to use a specific IP version. */
-#define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP
- versions that your system allows */
-#define CURL_IPRESOLVE_V4 1 /* resolve to ipv4 addresses */
-#define CURL_IPRESOLVE_V6 2 /* resolve to ipv6 addresses */
-
- /* three convenient "aliases" that follow the name scheme better */
-#define CURLOPT_WRITEDATA CURLOPT_FILE
-#define CURLOPT_READDATA CURLOPT_INFILE
-#define CURLOPT_HEADERDATA CURLOPT_WRITEHEADER
-
- /* These enums are for use with the CURLOPT_HTTP_VERSION option. */
-enum {
- CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd
- like the library to choose the best possible
- for us! */
- CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */
- CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */
-
- CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
-};
-
- /* These enums are for use with the CURLOPT_NETRC option. */
-enum CURL_NETRC_OPTION {
- CURL_NETRC_IGNORED, /* The .netrc will never be read.
- * This is the default. */
- CURL_NETRC_OPTIONAL, /* A user:password in the URL will be preferred
- * to one in the .netrc. */
- CURL_NETRC_REQUIRED, /* A user:password in the URL will be ignored.
- * Unless one is set programmatically, the .netrc
- * will be queried. */
- CURL_NETRC_LAST
-};
-
-enum {
- CURL_SSLVERSION_DEFAULT,
- CURL_SSLVERSION_TLSv1,
- CURL_SSLVERSION_SSLv2,
- CURL_SSLVERSION_SSLv3,
-
- CURL_SSLVERSION_LAST /* never use, keep last */
-};
-
-
-typedef enum {
- CURL_TIMECOND_NONE,
-
- CURL_TIMECOND_IFMODSINCE,
- CURL_TIMECOND_IFUNMODSINCE,
- CURL_TIMECOND_LASTMOD,
-
- CURL_TIMECOND_LAST
-} curl_TimeCond;
-
-
-/* curl_strequal() and curl_strnequal() are subject for removal in a future
- libcurl, see lib/README.curlx for details */
-CURL_EXTERN int (curl_strequal)(const char *s1, const char *s2);
-CURL_EXTERN int (curl_strnequal)(const char *s1, const char *s2, size_t n);
-
-/* name is uppercase CURLFORM_<name> */
-#ifdef CFINIT
-#undef CFINIT
-#endif
-
-#ifdef CURL_ISOCPP
-#define CFINIT(name) CURLFORM_ ## name
-#else
-/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
-#define CFINIT(name) CURLFORM_/**/name
-#endif
-
-typedef enum {
- CFINIT(NOTHING), /********* the first one is unused ************/
-
- /* */
- CFINIT(COPYNAME),
- CFINIT(PTRNAME),
- CFINIT(NAMELENGTH),
- CFINIT(COPYCONTENTS),
- CFINIT(PTRCONTENTS),
- CFINIT(CONTENTSLENGTH),
- CFINIT(FILECONTENT),
- CFINIT(ARRAY),
- CFINIT(OBSOLETE),
- CFINIT(FILE),
-
- CFINIT(BUFFER),
- CFINIT(BUFFERPTR),
- CFINIT(BUFFERLENGTH),
-
- CFINIT(CONTENTTYPE),
- CFINIT(CONTENTHEADER),
- CFINIT(FILENAME),
- CFINIT(END),
- CFINIT(OBSOLETE2),
-
- CFINIT(STREAM),
-
- CURLFORM_LASTENTRY /* the last unused */
-} CURLformoption;
-
-#undef CFINIT /* done */
-
-/* structure to be used as parameter for CURLFORM_ARRAY */
-struct curl_forms {
- CURLformoption option;
- const char *value;
-};
-
-/* use this for multipart formpost building */
-/* Returns code for curl_formadd()
- *
- * Returns:
- * CURL_FORMADD_OK on success
- * CURL_FORMADD_MEMORY if the FormInfo allocation fails
- * CURL_FORMADD_OPTION_TWICE if one option is given twice for one Form
- * CURL_FORMADD_NULL if a null pointer was given for a char
- * CURL_FORMADD_MEMORY if the allocation of a FormInfo struct failed
- * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used
- * CURL_FORMADD_INCOMPLETE if the some FormInfo is not complete (or error)
- * CURL_FORMADD_MEMORY if a curl_httppost struct cannot be allocated
- * CURL_FORMADD_MEMORY if some allocation for string copying failed.
- * CURL_FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array
- *
- ***************************************************************************/
-typedef enum {
- CURL_FORMADD_OK, /* first, no error */
-
- CURL_FORMADD_MEMORY,
- CURL_FORMADD_OPTION_TWICE,
- CURL_FORMADD_NULL,
- CURL_FORMADD_UNKNOWN_OPTION,
- CURL_FORMADD_INCOMPLETE,
- CURL_FORMADD_ILLEGAL_ARRAY,
- CURL_FORMADD_DISABLED, /* libcurl was built with this disabled */
-
- CURL_FORMADD_LAST /* last */
-} CURLFORMcode;
-
-/*
- * NAME curl_formadd()
- *
- * DESCRIPTION
- *
- * Pretty advanced function for building multi-part formposts. Each invoke
- * adds one part that together construct a full post. Then use
- * CURLOPT_HTTPPOST to send it off to libcurl.
- */
-CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost,
- struct curl_httppost **last_post,
- ...);
-
-/*
- * callback function for curl_formget()
- * The void *arg pointer will be the one passed as second argument to
- * curl_formget().
- * The character buffer passed to it must not be freed.
- * Should return the buffer length passed to it as the argument "len" on
- * success.
- */
-typedef size_t (*curl_formget_callback)(void *arg, const char *buf, size_t len);
-
-/*
- * NAME curl_formget()
- *
- * DESCRIPTION
- *
- * Serialize a curl_httppost struct built with curl_formadd().
- * Accepts a void pointer as second argument which will be passed to
- * the curl_formget_callback function.
- * Returns 0 on success.
- */
-CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg,
- curl_formget_callback append);
-/*
- * NAME curl_formfree()
- *
- * DESCRIPTION
- *
- * Free a multipart formpost previously built with curl_formadd().
- */
-CURL_EXTERN void curl_formfree(struct curl_httppost *form);
-
-/*
- * NAME curl_getenv()
- *
- * DESCRIPTION
- *
- * Returns a malloc()'ed string that MUST be curl_free()ed after usage is
- * complete. DEPRECATED - see lib/README.curlx
- */
-CURL_EXTERN char *curl_getenv(const char *variable);
-
-/*
- * NAME curl_version()
- *
- * DESCRIPTION
- *
- * Returns a static ascii string of the libcurl version.
- */
-CURL_EXTERN char *curl_version(void);
-
-/*
- * NAME curl_easy_escape()
- *
- * DESCRIPTION
- *
- * Escapes URL strings (converts all letters consider illegal in URLs to their
- * %XX versions). This function returns a new allocated string or NULL if an
- * error occurred.
- */
-CURL_EXTERN char *curl_easy_escape(CURL *handle,
- const char *string,
- int length);
-
-/* the previous version: */
-CURL_EXTERN char *curl_escape(const char *string,
- int length);
-
-
-/*
- * NAME curl_easy_unescape()
- *
- * DESCRIPTION
- *
- * Unescapes URL encoding in strings (converts all %XX codes to their 8bit
- * versions). This function returns a new allocated string or NULL if an error
- * occurred.
- * Conversion Note: On non-ASCII platforms the ASCII %XX codes are
- * converted into the host encoding.
- */
-CURL_EXTERN char *curl_easy_unescape(CURL *handle,
- const char *string,
- int length,
- int *outlength);
-
-/* the previous version */
-CURL_EXTERN char *curl_unescape(const char *string,
- int length);
-
-/*
- * NAME curl_free()
- *
- * DESCRIPTION
- *
- * Provided for de-allocation in the same translation unit that did the
- * allocation. Added in libcurl 7.10
- */
-CURL_EXTERN void curl_free(void *p);
-
-/*
- * NAME curl_global_init()
- *
- * DESCRIPTION
- *
- * curl_global_init() should be invoked exactly once for each application that
- * uses libcurl
- */
-CURL_EXTERN CURLcode curl_global_init(long flags);
-
-/*
- * NAME curl_global_init_mem()
- *
- * DESCRIPTION
- *
- * curl_global_init() or curl_global_init_mem() should be invoked exactly once
- * for each application that uses libcurl. This function can be used to
- * initialize libcurl and set user defined memory management callback
- * functions. Users can implement memory management routines to check for
- * memory leaks, check for mis-use of the curl library etc. User registered
- * callback routines with be invoked by this library instead of the system
- * memory management routines like malloc, free etc.
- */
-CURL_EXTERN CURLcode curl_global_init_mem(long flags,
- curl_malloc_callback m,
- curl_free_callback f,
- curl_realloc_callback r,
- curl_strdup_callback s,
- curl_calloc_callback c);
-
-/*
- * NAME curl_global_cleanup()
- *
- * DESCRIPTION
- *
- * curl_global_cleanup() should be invoked exactly once for each application
- * that uses libcurl
- */
-CURL_EXTERN void curl_global_cleanup(void);
-
-/* linked-list structure for the CURLOPT_QUOTE option (and other) */
-struct curl_slist {
- char *data;
- struct curl_slist *next;
-};
-
-/*
- * NAME curl_slist_append()
- *
- * DESCRIPTION
- *
- * Appends a string to a linked list. If no list exists, it will be created
- * first. Returns the new list, after appending.
- */
-CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *,
- const char *);
-
-/*
- * NAME curl_slist_free_all()
- *
- * DESCRIPTION
- *
- * free a previously built curl_slist.
- */
-CURL_EXTERN void curl_slist_free_all(struct curl_slist *);
-
-/*
- * NAME curl_getdate()
- *
- * DESCRIPTION
- *
- * Returns the time, in seconds since 1 Jan 1970 of the time string given in
- * the first argument. The time argument in the second parameter is unused
- * and should be set to NULL.
- */
-CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused);
-
-#define CURLINFO_STRING 0x100000
-#define CURLINFO_LONG 0x200000
-#define CURLINFO_DOUBLE 0x300000
-#define CURLINFO_SLIST 0x400000
-#define CURLINFO_MASK 0x0fffff
-#define CURLINFO_TYPEMASK 0xf00000
-
-typedef enum {
- CURLINFO_NONE, /* first, never use this */
- CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1,
- CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2,
- CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3,
- CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4,
- CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5,
- CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6,
- CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7,
- CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8,
- CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9,
- CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10,
- CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11,
- CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12,
- CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13,
- CURLINFO_FILETIME = CURLINFO_LONG + 14,
- CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15,
- CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16,
- CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17,
- CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18,
- CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19,
- CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,
- CURLINFO_PRIVATE = CURLINFO_STRING + 21,
- CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22,
- CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23,
- CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24,
- CURLINFO_OS_ERRNO = CURLINFO_LONG + 25,
- CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26,
- CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27,
- CURLINFO_COOKIELIST = CURLINFO_SLIST + 28,
- CURLINFO_LASTSOCKET = CURLINFO_LONG + 29,
- CURLINFO_FTP_ENTRY_PATH = CURLINFO_STRING + 30,
- CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31,
- CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32,
- CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33,
- /* Fill in new entries below here! */
-
- CURLINFO_LASTONE = 33
-} CURLINFO;
-
-/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
- CURLINFO_HTTP_CODE */
-#define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE
-
-typedef enum {
- CURLCLOSEPOLICY_NONE, /* first, never use this */
-
- CURLCLOSEPOLICY_OLDEST,
- CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
- CURLCLOSEPOLICY_LEAST_TRAFFIC,
- CURLCLOSEPOLICY_SLOWEST,
- CURLCLOSEPOLICY_CALLBACK,
-
- CURLCLOSEPOLICY_LAST /* last, never use this */
-} curl_closepolicy;
-
-#define CURL_GLOBAL_SSL (1<<0)
-#define CURL_GLOBAL_WIN32 (1<<1)
-#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
-#define CURL_GLOBAL_NOTHING 0
-#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL
-
-
-/*****************************************************************************
- * Setup defines, protos etc for the sharing stuff.
- */
-
-/* Different data locks for a single share */
-typedef enum {
- CURL_LOCK_DATA_NONE = 0,
- /* CURL_LOCK_DATA_SHARE is used internally to say that
- * the locking is just made to change the internal state of the share
- * itself.
- */
- CURL_LOCK_DATA_SHARE,
- CURL_LOCK_DATA_COOKIE,
- CURL_LOCK_DATA_DNS,
- CURL_LOCK_DATA_SSL_SESSION,
- CURL_LOCK_DATA_CONNECT,
- CURL_LOCK_DATA_LAST
-} curl_lock_data;
-
-/* Different lock access types */
-typedef enum {
- CURL_LOCK_ACCESS_NONE = 0, /* unspecified action */
- CURL_LOCK_ACCESS_SHARED = 1, /* for read perhaps */
- CURL_LOCK_ACCESS_SINGLE = 2, /* for write perhaps */
- CURL_LOCK_ACCESS_LAST /* never use */
-} curl_lock_access;
-
-typedef void (*curl_lock_function)(CURL *handle,
- curl_lock_data data,
- curl_lock_access locktype,
- void *userptr);
-typedef void (*curl_unlock_function)(CURL *handle,
- curl_lock_data data,
- void *userptr);
-
-typedef void CURLSH;
-
-typedef enum {
- CURLSHE_OK, /* all is fine */
- CURLSHE_BAD_OPTION, /* 1 */
- CURLSHE_IN_USE, /* 2 */
- CURLSHE_INVALID, /* 3 */
- CURLSHE_NOMEM, /* out of memory */
- CURLSHE_LAST /* never use */
-} CURLSHcode;
-
-typedef enum {
- CURLSHOPT_NONE, /* don't use */
- CURLSHOPT_SHARE, /* specify a data type to share */
- CURLSHOPT_UNSHARE, /* specify which data type to stop sharing */
- CURLSHOPT_LOCKFUNC, /* pass in a 'curl_lock_function' pointer */
- CURLSHOPT_UNLOCKFUNC, /* pass in a 'curl_unlock_function' pointer */
- CURLSHOPT_USERDATA, /* pass in a user data pointer used in the lock/unlock
- callback functions */
- CURLSHOPT_LAST /* never use */
-} CURLSHoption;
-
-CURL_EXTERN CURLSH *curl_share_init(void);
-CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *, CURLSHoption option, ...);
-CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *);
-
-/****************************************************************************
- * Structures for querying information about the curl library at runtime.
- */
-
-typedef enum {
- CURLVERSION_FIRST,
- CURLVERSION_SECOND,
- CURLVERSION_THIRD,
- CURLVERSION_FOURTH,
- CURLVERSION_LAST /* never actually use this */
-} CURLversion;
-
-/* The 'CURLVERSION_NOW' is the symbolic name meant to be used by
- basically all programs ever that want to get version information. It is
- meant to be a built-in version number for what kind of struct the caller
- expects. If the struct ever changes, we redefine the NOW to another enum
- from above. */
-#define CURLVERSION_NOW CURLVERSION_FOURTH
-
-typedef struct {
- CURLversion age; /* age of the returned struct */
- const char *version; /* LIBCURL_VERSION */
- unsigned int version_num; /* LIBCURL_VERSION_NUM */
- const char *host; /* OS/host/cpu/machine when configured */
- int features; /* bitmask, see defines below */
- const char *ssl_version; /* human readable string */
- long ssl_version_num; /* not used anymore, always 0 */
- const char *libz_version; /* human readable string */
- /* protocols is terminated by an entry with a NULL protoname */
- const char * const *protocols;
-
- /* The fields below this were added in CURLVERSION_SECOND */
- const char *ares;
- int ares_num;
-
- /* This field was added in CURLVERSION_THIRD */
- const char *libidn;
-
- /* These field were added in CURLVERSION_FOURTH */
-
- /* Same as '_libiconv_version' if built with HAVE_ICONV */
- int iconv_ver_num;
-
- const char *libssh_version; /* human readable string */
-
-} curl_version_info_data;
-
-#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */
-#define CURL_VERSION_KERBEROS4 (1<<1) /* kerberos auth is supported */
-#define CURL_VERSION_SSL (1<<2) /* SSL options are present */
-#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */
-#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */
-#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth support */
-#define CURL_VERSION_DEBUG (1<<6) /* built with debug capabilities */
-#define CURL_VERSION_ASYNCHDNS (1<<7) /* asynchronous dns resolves */
-#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth */
-#define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */
-#define CURL_VERSION_IDN (1<<10) /* International Domain Names support */
-#define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */
-#define CURL_VERSION_CONV (1<<12) /* character conversions are
- supported */
-
-/*
- * NAME curl_version_info()
- *
- * DESCRIPTION
- *
- * This function returns a pointer to a static copy of the version info
- * struct. See above.
- */
-CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
-
-/*
- * NAME curl_easy_strerror()
- *
- * DESCRIPTION
- *
- * The curl_easy_strerror function may be used to turn a CURLcode value
- * into the equivalent human readable error string. This is useful
- * for printing meaningful error messages.
- */
-CURL_EXTERN const char *curl_easy_strerror(CURLcode);
-
-/*
- * NAME curl_share_strerror()
- *
- * DESCRIPTION
- *
- * The curl_share_strerror function may be used to turn a CURLSHcode value
- * into the equivalent human readable error string. This is useful
- * for printing meaningful error messages.
- */
-CURL_EXTERN const char *curl_share_strerror(CURLSHcode);
-
-/*
- * NAME curl_easy_pause()
- *
- * DESCRIPTION
- *
- * The curl_easy_pause function pauses or unpauses transfers. Select the new
- * state by setting the bitmask, use the convenience defines below.
- *
- */
-CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
-
-#define CURLPAUSE_RECV (1<<0)
-#define CURLPAUSE_RECV_CONT (0)
-
-#define CURLPAUSE_SEND (1<<2)
-#define CURLPAUSE_SEND_CONT (0)
-
-#define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND)
-#define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT)
-
-#ifdef __cplusplus
-}
-#endif
-
-/* unfortunately, the easy.h and multi.h include files need options and info
- stuff before they can be included! */
-#include "easy.h" /* nothing in curl is fun without the easy stuff */
-#include "multi.h"
-
-/* the typechecker doesn't work in C++ (yet) */
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
- !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
-#include "typecheck-gcc.h"
-#else
-#if defined(__STDC__) && (__STDC__ >= 1)
-/* This preprocessor magic that replaces a call with the exact same call is
- only done to make sure application authors pass exactly three arguments
- to these functions. */
-#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
-#define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg)
-#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
-#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
-#endif /* __STDC__ >= 1 */
-#endif /* gcc >= 4.3 && !__cplusplus */
-
-#endif /* __CURL_CURL_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/curlbuild.cmake.h.in b/Utilities/cmcurl-7.19.0/include/curl/curlbuild.cmake.h.in
deleted file mode 100644
index 315b5bf..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/curlbuild.cmake.h.in
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef __CURL_CURLBUILD_H
-#define __CURL_CURLBUILD_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* ================================================================ */
-/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * curl library user nor by the curl library builder.
- *
- * If you think that something actually needs to be changed, adjusted
- * or fixed in this file, then, report it on the libcurl development
- * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
- *
- * This header file shall only export symbols which are 'curl' or 'CURL'
- * prefixed, otherwise public name space would be polluted.
- *
- * NOTE 2:
- * -------
- *
- * Right now you might be staring at file include/curl/curlbuild.h.in or
- * at file include/curl/curlbuild.h, this is due to the following reason:
- *
- * On systems capable of running the configure script, the configure process
- * will overwrite the distributed include/curl/curlbuild.h file with one that
- * is suitable and specific to the library being configured and built, which
- * is generated from the include/curl/curlbuild.h.in template file.
- *
- */
-
-/* ================================================================ */
-/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
-/* ================================================================ */
-
-#ifdef CURL_SIZEOF_LONG
-# error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
-#endif
-
-#ifdef CURL_TYPEOF_CURL_OFF_T
-# error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_FORMAT_CURL_OFF_T
-# error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_FORMAT_CURL_OFF_TU
-# error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
-#endif
-
-#ifdef CURL_FORMAT_OFF_T
-# error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SIZEOF_CURL_OFF_T
-# error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SUFFIX_CURL_OFF_T
-# error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SUFFIX_CURL_OFF_TU
-# error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
-#endif
-
-/* ================================================================ */
-/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
-/* ================================================================ */
-
-/* Configure process defines this to 1 when it finds out that system */
-/* header file sys/types.h must be included by the external interface. */
-#undef CURL_PULL_SYS_TYPES_H
-#ifdef CURL_PULL_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-/* Configure process defines this to 1 when it finds out that system */
-/* header file stdint.h must be included by the external interface. */
-#undef CURL_PULL_STDINT_H
-#ifdef CURL_PULL_STDINT_H
-# include <stdint.h>
-#endif
-
-/* Configure process defines this to 1 when it finds out that system */
-/* header file inttypes.h must be included by the external interface. */
-#undef CURL_PULL_INTTYPES_H
-#ifdef CURL_PULL_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-/* The size of `long', as computed by sizeof. */
-#cmakedefine CURL_SIZEOF_LONG @CURL_SIZEOF_LONG@
-
-/* Signed integral data type used for curl_off_t. */
-#cmakedefine CURL_TYPEOF_CURL_OFF_T @CURL_TYPEOF_CURL_OFF_T@
-
-/* Data type definition of curl_off_t. */
-typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
-
-/* curl_off_t formatting string directive without "%" conversion specifier. */
-#cmakedefine CURL_FORMAT_CURL_OFF_T "@CURL_FORMAT_CURL_OFF_T@"
-
-/* unsigned curl_off_t formatting string without "%" conversion specifier. */
-#cmakedefine CURL_FORMAT_CURL_OFF_TU "@CURL_FORMAT_CURL_OFF_TU@"
-
-/* curl_off_t formatting string directive with "%" conversion specifier. */
-#define CURL_FORMAT_OFF_T "%@CURL_FORMAT_CURL_OFF_TU@"
-
-/* The size of `curl_off_t', as computed by sizeof. */
-#cmakedefine CURL_SIZEOF_CURL_OFF_T @CURL_SIZEOF_CURL_OFF_T@
-
-/* curl_off_t constant suffix. */
-#cmakedefine CURL_SUFFIX_CURL_OFF_T @CURL_SUFFIX_CURL_OFF_T@
-
-/* unsigned curl_off_t constant suffix. */
-#cmakedefine CURL_SUFFIX_CURL_OFF_TU @CURL_SUFFIX_CURL_OFF_TU@
-
-#endif /* __CURL_CURLBUILD_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/curlbuild.h b/Utilities/cmcurl-7.19.0/include/curl/curlbuild.h
deleted file mode 100644
index cabe8c6..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/curlbuild.h
+++ /dev/null
@@ -1,502 +0,0 @@
-#ifndef __CURL_CURLBUILD_H
-#define __CURL_CURLBUILD_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* ================================================================ */
-/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * See file include/curl/curlbuild.h.in, run configure, and forget
- * that this file exists it is only used for non-configure systems.
- * But you can keep reading if you want ;-)
- *
- */
-
-/* ================================================================ */
-/* NOTES FOR NON-CONFIGURE SYSTEMS */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * curl library user nor by the curl library builder.
- *
- * If you think that something actually needs to be changed, adjusted
- * or fixed in this file, then, report it on the libcurl development
- * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
- *
- * Try to keep one section per platform, compiler and architecture,
- * otherwise, if an existing section is reused for a different one and
- * later on the original is adjusted, probably the piggybacking one can
- * be adversely changed.
- *
- * In order to differentiate between platforms/compilers/architectures
- * use only compiler built in predefined preprocessor symbols.
- *
- * This header file shall only export symbols which are 'curl' or 'CURL'
- * prefixed, otherwise public name space would be polluted.
- *
- * NOTE 2:
- * -------
- *
- * For any given platform/compiler curl_off_t must be typedef'ed to a
- * 64-bit wide signed integral data type. The width of this data type
- * must remain constant and independant of any possible large file
- * support settings.
- *
- * As an exception to the above, curl_off_t shall be typedef'ed to a
- * 32-bit wide signed integral data type if there is no 64-bit type.
- *
- * As a general rule, curl_off_t shall not be mapped to off_t. This
- * rule shall only be violated if off_t is the only 64-bit data type
- * available and the size of off_t is independant of large file support
- * settings. Keep your build on the safe side avoiding an off_t gating.
- * If you have a 64-bit off_t then take for sure that another 64-bit
- * data type exists, dig deeper and you will find it.
- *
- * NOTE 3:
- * -------
- *
- * Right now you might be staring at file include/curl/curlbuild.h.dist or
- * at file include/curl/curlbuild.h, this is due to the following reason:
- * file include/curl/curlbuild.h.dist is renamed to include/curl/curlbuild.h
- * when the libcurl source code distribution archive file is created.
- *
- * File include/curl/curlbuild.h.dist is not included in the distribution
- * archive. File include/curl/curlbuild.h is not present in the CVS tree.
- *
- * The distributed include/curl/curlbuild.h file is only intended to be used
- * on systems which can not run the also distributed configure script.
- *
- * On systems capable of running the configure script, the configure process
- * will overwrite the distributed include/curl/curlbuild.h file with one that
- * is suitable and specific to the library being configured and built, which
- * is generated from the include/curl/curlbuild.h.in template file.
- *
- * If you check out from CVS on a non-configure platform, you must run the
- * appropriate buildconf* script to set up curlbuild.h and other local files.
- *
- */
-
-/* ================================================================ */
-/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
-/* ================================================================ */
-
-#ifdef CURL_SIZEOF_LONG
-# error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
-#endif
-
-#ifdef CURL_TYPEOF_CURL_OFF_T
-# error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_FORMAT_CURL_OFF_T
-# error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_FORMAT_CURL_OFF_TU
-# error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
-#endif
-
-#ifdef CURL_FORMAT_OFF_T
-# error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SIZEOF_CURL_OFF_T
-# error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SUFFIX_CURL_OFF_T
-# error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SUFFIX_CURL_OFF_TU
-# error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
-#endif
-
-/* ================================================================ */
-/* EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY */
-/* ================================================================ */
-
-#if defined(__DJGPP__) || defined(__GO32__)
-# if defined(__DJGPP__) && (__DJGPP__ > 1)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# else
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-
-#elif defined(__SALFORDC__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-
-#elif defined(__BORLANDC__)
-# if (__BORLANDC__ < 0x520)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# else
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T __int64
-# define CURL_FORMAT_CURL_OFF_T "I64d"
-# define CURL_FORMAT_CURL_OFF_TU "I64u"
-# define CURL_FORMAT_OFF_T "%I64d"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T i64
-# define CURL_SUFFIX_CURL_OFF_TU ui64
-# endif
-
-#elif defined(__TURBOC__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-
-#elif defined(__WATCOMC__)
-# if defined(__386__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T __int64
-# define CURL_FORMAT_CURL_OFF_T "I64d"
-# define CURL_FORMAT_CURL_OFF_TU "I64u"
-# define CURL_FORMAT_OFF_T "%I64d"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T i64
-# define CURL_SUFFIX_CURL_OFF_TU ui64
-# else
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-
-#elif defined(__POCC__)
-# if (__POCC__ < 280)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# elif defined(_MSC_VER)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T __int64
-# define CURL_FORMAT_CURL_OFF_T "I64d"
-# define CURL_FORMAT_CURL_OFF_TU "I64u"
-# define CURL_FORMAT_OFF_T "%I64d"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T i64
-# define CURL_SUFFIX_CURL_OFF_TU ui64
-# else
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# endif
-
-#elif defined(__LCC__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-
-#elif defined(__SYMBIAN32__)
-# if defined(__EABI__) /* Treat all ARM compilers equally */
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# elif defined(__CW32__)
-# pragma longlong on
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# elif defined(__VC32__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T __int64
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# endif
-
-#elif defined(__MWERKS__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-
-#elif defined(_WIN32_WCE)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T __int64
-# define CURL_FORMAT_CURL_OFF_T "I64d"
-# define CURL_FORMAT_CURL_OFF_TU "I64u"
-# define CURL_FORMAT_OFF_T "%I64d"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T i64
-# define CURL_SUFFIX_CURL_OFF_TU ui64
-
-#elif defined(__MINGW32__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "I64d"
-# define CURL_FORMAT_CURL_OFF_TU "I64u"
-# define CURL_FORMAT_OFF_T "%I64d"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-
-#elif defined(__VMS)
-# if defined(__alpha) || defined(__ia64)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# else
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-
-#elif defined(__OS400__)
-# if defined(__ILEC400__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# endif
-
-#elif defined(__MVS__)
-# if defined(__IBMC__) || defined(__IBMCPP__)
-# if defined(_ILP32)
-# define CURL_SIZEOF_LONG 4
-# elif defined(_LP64)
-# define CURL_SIZEOF_LONG 8
-# endif
-# if defined(_LONG_LONG)
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# elif defined(_LP64)
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# else
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-# endif
-
-#elif defined(__370__)
-# if defined(__IBMC__) || defined(__IBMCPP__)
-# if defined(_ILP32)
-# define CURL_SIZEOF_LONG 4
-# elif defined(_LP64)
-# define CURL_SIZEOF_LONG 8
-# endif
-# if defined(_LONG_LONG)
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# elif defined(_LP64)
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# else
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-# endif
-
-/* ===================================== */
-/* KEEP MSVC THE PENULTIMATE ENTRY */
-/* ===================================== */
-
-#elif defined(_MSC_VER)
-# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T __int64
-# define CURL_FORMAT_CURL_OFF_T "I64d"
-# define CURL_FORMAT_CURL_OFF_TU "I64u"
-# define CURL_FORMAT_OFF_T "%I64d"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T i64
-# define CURL_SUFFIX_CURL_OFF_TU ui64
-# else
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 4
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-
-/* ===================================== */
-/* KEEP GENERIC GCC THE LAST ENTRY */
-/* ===================================== */
-
-#elif defined(__GNUC__)
-# if defined(__i386__)
-# define CURL_SIZEOF_LONG 4
-# define CURL_TYPEOF_CURL_OFF_T long long
-# define CURL_FORMAT_CURL_OFF_T "lld"
-# define CURL_FORMAT_CURL_OFF_TU "llu"
-# define CURL_FORMAT_OFF_T "%lld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T LL
-# define CURL_SUFFIX_CURL_OFF_TU ULL
-# elif defined(__x86_64__)
-# define CURL_SIZEOF_LONG 8
-# define CURL_TYPEOF_CURL_OFF_T long
-# define CURL_FORMAT_CURL_OFF_T "ld"
-# define CURL_FORMAT_CURL_OFF_TU "lu"
-# define CURL_FORMAT_OFF_T "%ld"
-# define CURL_SIZEOF_CURL_OFF_T 8
-# define CURL_SUFFIX_CURL_OFF_T L
-# define CURL_SUFFIX_CURL_OFF_TU UL
-# endif
-
-#else
-# error "Unknown non-configure build target!"
- Error Compilation_aborted_Unknown_non_configure_build_target
-#endif
-
-/* Data type definition of curl_off_t. */
-
-#ifdef CURL_TYPEOF_CURL_OFF_T
- typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
-#endif
-
-#endif /* __CURL_CURLBUILD_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/curlbuild.h.in b/Utilities/cmcurl-7.19.0/include/curl/curlbuild.h.in
deleted file mode 100644
index e1c0dc3..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/curlbuild.h.in
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef __CURL_CURLBUILD_H
-#define __CURL_CURLBUILD_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* ================================================================ */
-/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * curl library user nor by the curl library builder.
- *
- * If you think that something actually needs to be changed, adjusted
- * or fixed in this file, then, report it on the libcurl development
- * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
- *
- * This header file shall only export symbols which are 'curl' or 'CURL'
- * prefixed, otherwise public name space would be polluted.
- *
- * NOTE 2:
- * -------
- *
- * Right now you might be staring at file include/curl/curlbuild.h.in or
- * at file include/curl/curlbuild.h, this is due to the following reason:
- *
- * On systems capable of running the configure script, the configure process
- * will overwrite the distributed include/curl/curlbuild.h file with one that
- * is suitable and specific to the library being configured and built, which
- * is generated from the include/curl/curlbuild.h.in template file.
- *
- */
-
-/* ================================================================ */
-/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
-/* ================================================================ */
-
-#ifdef CURL_SIZEOF_LONG
-# error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
-#endif
-
-#ifdef CURL_TYPEOF_CURL_OFF_T
-# error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_FORMAT_CURL_OFF_T
-# error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_FORMAT_CURL_OFF_TU
-# error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
-#endif
-
-#ifdef CURL_FORMAT_OFF_T
-# error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SIZEOF_CURL_OFF_T
-# error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SUFFIX_CURL_OFF_T
-# error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
-#endif
-
-#ifdef CURL_SUFFIX_CURL_OFF_TU
-# error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
-#endif
-
-/* ================================================================ */
-/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
-/* ================================================================ */
-
-/* Configure process defines this to 1 when it finds out that system */
-/* header file sys/types.h must be included by the external interface. */
-#undef CURL_PULL_SYS_TYPES_H
-#ifdef CURL_PULL_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-/* Configure process defines this to 1 when it finds out that system */
-/* header file stdint.h must be included by the external interface. */
-#undef CURL_PULL_STDINT_H
-#ifdef CURL_PULL_STDINT_H
-# include <stdint.h>
-#endif
-
-/* Configure process defines this to 1 when it finds out that system */
-/* header file inttypes.h must be included by the external interface. */
-#undef CURL_PULL_INTTYPES_H
-#ifdef CURL_PULL_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-/* The size of `long', as computed by sizeof. */
-#undef CURL_SIZEOF_LONG
-
-/* Signed integral data type used for curl_off_t. */
-#undef CURL_TYPEOF_CURL_OFF_T
-
-/* Data type definition of curl_off_t. */
-typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
-
-/* curl_off_t formatting string directive without "%" conversion specifier. */
-#undef CURL_FORMAT_CURL_OFF_T
-
-/* unsigned curl_off_t formatting string without "%" conversion specifier. */
-#undef CURL_FORMAT_CURL_OFF_TU
-
-/* curl_off_t formatting string directive with "%" conversion specifier. */
-#undef CURL_FORMAT_OFF_T
-
-/* The size of `curl_off_t', as computed by sizeof. */
-#undef CURL_SIZEOF_CURL_OFF_T
-
-/* curl_off_t constant suffix. */
-#undef CURL_SUFFIX_CURL_OFF_T
-
-/* unsigned curl_off_t constant suffix. */
-#undef CURL_SUFFIX_CURL_OFF_TU
-
-#endif /* __CURL_CURLBUILD_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/curlrules.h b/Utilities/cmcurl-7.19.0/include/curl/curlrules.h
deleted file mode 100644
index 5a4103d..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/curlrules.h
+++ /dev/null
@@ -1,216 +0,0 @@
-#ifndef __CURL_CURLRULES_H
-#define __CURL_CURLRULES_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* ================================================================ */
-/* COMPILE TIME SANITY CHECKS */
-/* ================================================================ */
-
-/*
- * NOTE 1:
- * -------
- *
- * All checks done in this file are intentionally placed in a public
- * header file which is pulled by curl/curl.h when an application is
- * being built using an already built libcurl library. Additionally
- * this file is also included and used when building the library.
- *
- * If compilation fails on this file it is certainly sure that the
- * problem is elsewhere. It could be a problem in the curlbuild.h
- * header file, or simply that you are using different compilation
- * settings than those used to build the library.
- *
- * Nothing in this file is intended to be modified or adjusted by the
- * curl library user nor by the curl library builder.
- *
- * Do not deactivate any check, these are done to make sure that the
- * library is properly built and used.
- *
- * You can find further help on the libcurl development mailing list:
- * http://cool.haxx.se/mailman/listinfo/curl-library/
- *
- * NOTE 2
- * ------
- *
- * Some of the following compile time checks are based on the fact
- * that the dimension of a constant array can not be a negative one.
- * In this way if the compile time verification fails, the compilation
- * will fail issuing an error. The error description wording is compiler
- * dependant but it will be quite similar to one of the following:
- *
- * "negative subscript or subscript is too large"
- * "array must have at least one element"
- * "-1 is an illegal array size"
- * "size of array is negative"
- *
- * If you are building an application which tries to use an already
- * built libcurl library and you are getting this kind of errors on
- * this file, it is a clear indication that there is a mismatch between
- * how the library was built and how you are trying to use it for your
- * application. Your already compiled or binary library provider is the
- * only one who can give you the details you need to properly use it.
- */
-
-/*
- * Verify that some macros are actually defined.
- */
-
-#ifndef CURL_SIZEOF_LONG
-# error "CURL_SIZEOF_LONG definition is missing!"
- Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing
-#endif
-
-#ifndef CURL_TYPEOF_CURL_OFF_T
-# error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
- Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing
-#endif
-
-#ifndef CURL_FORMAT_CURL_OFF_T
-# error "CURL_FORMAT_CURL_OFF_T definition is missing!"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_is_missing
-#endif
-
-#ifndef CURL_FORMAT_CURL_OFF_TU
-# error "CURL_FORMAT_CURL_OFF_TU definition is missing!"
- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing
-#endif
-
-#ifndef CURL_FORMAT_OFF_T
-# error "CURL_FORMAT_OFF_T definition is missing!"
- Error Compilation_aborted_CURL_FORMAT_OFF_T_is_missing
-#endif
-
-#ifndef CURL_SIZEOF_CURL_OFF_T
-# error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
- Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing
-#endif
-
-#ifndef CURL_SUFFIX_CURL_OFF_T
-# error "CURL_SUFFIX_CURL_OFF_T definition is missing!"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_is_missing
-#endif
-
-#ifndef CURL_SUFFIX_CURL_OFF_TU
-# error "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_is_missing
-#endif
-
-/*
- * Macros private to this header file.
- */
-
-#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
-
-#define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1
-
-/*
- * Verify that the size previously defined and expected for long
- * is the same as the one reported by sizeof() at compile time.
- */
-
-typedef char
- __curl_rule_01__
- [CurlchkszEQ(long, CURL_SIZEOF_LONG)];
-
-/*
- * Verify that the size previously defined and expected for
- * curl_off_t is actually the the same as the one reported
- * by sizeof() at compile time.
- */
-
-typedef char
- __curl_rule_02__
- [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
-
-/*
- * Verify at compile time that the size of curl_off_t as reported
- * by sizeof() is greater or equal than the one reported for long
- * for the current compilation.
- */
-
-typedef char
- __curl_rule_03__
- [CurlchkszGE(curl_off_t, long)];
-
-/* ================================================================ */
-/* EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS */
-/* ================================================================ */
-
-/*
- * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
- * these to be visible and exported by the external libcurl interface API,
- * while also making them visible to the library internals, simply including
- * setup.h, without actually needing to include curl.h internally.
- * If some day this section would grow big enough, all this should be moved
- * to its own header file.
- */
-
-/*
- * Figure out if we can use the ## preprocessor operator, which is supported
- * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
- * or __cplusplus so we need to carefully check for them too.
- */
-
-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
- defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
- defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
- defined(__ILEC400__)
- /* This compiler is believed to have an ISO compatible preprocessor */
-#define CURL_ISOCPP
-#else
- /* This compiler is believed NOT to have an ISO compatible preprocessor */
-#undef CURL_ISOCPP
-#endif
-
-/*
- * Macros for minimum-width signed and unsigned curl_off_t integer constants.
- */
-
-#ifdef CURL_ISOCPP
-# define __CURL_OFF_T_C_HELPER2(Val,Suffix) Val ## Suffix
-#else
-# define __CURL_OFF_T_C_HELPER2(Val,Suffix) Val/**/Suffix
-#endif
-#define __CURL_OFF_T_C_HELPER1(Val,Suffix) __CURL_OFF_T_C_HELPER2(Val,Suffix)
-#define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HELPER1(Val,CURL_SUFFIX_CURL_OFF_T)
-#define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HELPER1(Val,CURL_SUFFIX_CURL_OFF_TU)
-
-/*
- * Get rid of macros private to this header file.
- */
-
-#undef CurlchkszEQ
-#undef CurlchkszGE
-
-/*
- * Get rid of macros not intended to exist beyond this point.
- */
-
-#undef CURL_PULL_SYS_TYPES_H
-#undef CURL_PULL_STDINT_H
-#undef CURL_PULL_INTTYPES_H
-
-#undef CURL_TYPEOF_CURL_OFF_T
-
-#endif /* __CURL_CURLRULES_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/curlver.h b/Utilities/cmcurl-7.19.0/include/curl/curlver.h
deleted file mode 100644
index 457a6e4..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/curlver.h
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef __CURL_CURLVER_H
-#define __CURL_CURLVER_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* This header file contains nothing but libcurl version info, generated by
- a script at release-time. This was made its own header file in 7.11.2 */
-
-/* This is the global package copyright */
-#define LIBCURL_COPYRIGHT "1996 - 2008 Daniel Stenberg, <daniel@haxx.se>."
-
-/* This is the version number of the libcurl package from which this header
- file origins: */
-#define LIBCURL_VERSION "7.19.0"
-
-/* The numeric version number is also available "in parts" by using these
- defines: */
-#define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 19
-#define LIBCURL_VERSION_PATCH 0
-
-/* This is the numeric version of the libcurl version number, meant for easier
- parsing and comparions by programs. The LIBCURL_VERSION_NUM define will
- always follow this syntax:
-
- 0xXXYYZZ
-
- Where XX, YY and ZZ are the main version, release and patch numbers in
- hexadecimal (using 8 bits each). All three numbers are always represented
- using two digits. 1.2 would appear as "0x010200" while version 9.11.7
- appears as "0x090b07".
-
- This 6-digit (24 bits) hexadecimal number does not show pre-release number,
- and it is always a greater number in a more recent release. It makes
- comparisons with greater than and less than work.
-*/
-#define LIBCURL_VERSION_NUM 0x071300
-
-/*
- * This is the date and time when the full source package was created. The
- * timestamp is not stored in CVS, as the timestamp is properly set in the
- * tarballs by the maketgz script.
- *
- * The format of the date should follow this template:
- *
- * "Mon Feb 12 11:35:33 UTC 2007"
- */
-#define LIBCURL_TIMESTAMP "Mon Sep 1 14:38:47 UTC 2008"
-
-#endif /* __CURL_CURLVER_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/easy.h b/Utilities/cmcurl-7.19.0/include/curl/easy.h
deleted file mode 100644
index 88aa0e6..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/easy.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef __CURL_EASY_H
-#define __CURL_EASY_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-CURL_EXTERN CURL *curl_easy_init(void);
-CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
-CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
-CURL_EXTERN void curl_easy_cleanup(CURL *curl);
-
-/*
- * NAME curl_easy_getinfo()
- *
- * DESCRIPTION
- *
- * Request internal information from the curl session with this function. The
- * third argument MUST be a pointer to a long, a pointer to a char * or a
- * pointer to a double (as the documentation describes elsewhere). The data
- * pointed to will be filled in accordingly and can be relied upon only if the
- * function returns CURLE_OK. This function is intended to get used *AFTER* a
- * performed transfer, all results from this function are undefined until the
- * transfer is completed.
- */
-CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
-
-
-/*
- * NAME curl_easy_duphandle()
- *
- * DESCRIPTION
- *
- * Creates a new curl session handle with the same options set for the handle
- * passed in. Duplicating a handle could only be a matter of cloning data and
- * options, internal state info and things like persistant connections cannot
- * be transfered. It is useful in multithreaded applications when you can run
- * curl_easy_duphandle() for each new thread to avoid a series of identical
- * curl_easy_setopt() invokes in every thread.
- */
-CURL_EXTERN CURL* curl_easy_duphandle(CURL *curl);
-
-/*
- * NAME curl_easy_reset()
- *
- * DESCRIPTION
- *
- * Re-initializes a CURL handle to the default values. This puts back the
- * handle to the same state as it was in when it was just created.
- *
- * It does keep: live connections, the Session ID cache, the DNS cache and the
- * cookies.
- */
-CURL_EXTERN void curl_easy_reset(CURL *curl);
-
-/*
- * NAME curl_easy_recv()
- *
- * DESCRIPTION
- *
- * Receives data from the connected socket. Use after successful
- * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
- */
-CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
- size_t *n);
-
-/*
- * NAME curl_easy_send()
- *
- * DESCRIPTION
- *
- * Sends data over the connected socket. Use after successful
- * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
- */
-CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
- size_t buflen, size_t *n);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/include/curl/mprintf.h b/Utilities/cmcurl-7.19.0/include/curl/mprintf.h
deleted file mode 100644
index d6d7f44..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/mprintf.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef __CURL_MPRINTF_H
-#define __CURL_MPRINTF_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <stdarg.h>
-#include <stdio.h> /* needed for FILE */
-
-#include "curl.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-CURL_EXTERN int curl_mprintf(const char *format, ...);
-CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...);
-CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...);
-CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
- const char *format, ...);
-CURL_EXTERN int curl_mvprintf(const char *format, va_list args);
-CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args);
-CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args);
-CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
- const char *format, va_list args);
-CURL_EXTERN char *curl_maprintf(const char *format, ...);
-CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
-
-#ifdef _MPRINTF_REPLACE
-# undef printf
-# undef fprintf
-# undef sprintf
-# undef vsprintf
-# undef snprintf
-# undef vprintf
-# undef vfprintf
-# undef vsnprintf
-# undef aprintf
-# undef vaprintf
-# define printf curl_mprintf
-# define fprintf curl_mfprintf
-#ifdef CURLDEBUG
-/* When built with CURLDEBUG we define away the sprintf() functions since we
- don't want internal code to be using them */
-# define sprintf sprintf_was_used
-# define vsprintf vsprintf_was_used
-#else
-# define sprintf curl_msprintf
-# define vsprintf curl_mvsprintf
-#endif
-# define snprintf curl_msnprintf
-# define vprintf curl_mvprintf
-# define vfprintf curl_mvfprintf
-# define vsnprintf curl_mvsnprintf
-# define aprintf curl_maprintf
-# define vaprintf curl_mvaprintf
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CURL_MPRINTF_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/multi.h b/Utilities/cmcurl-7.19.0/include/curl/multi.h
deleted file mode 100644
index 92621aa..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/multi.h
+++ /dev/null
@@ -1,346 +0,0 @@
-#ifndef __CURL_MULTI_H
-#define __CURL_MULTI_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-/*
- This is an "external" header file. Don't give away any internals here!
-
- GOALS
-
- o Enable a "pull" interface. The application that uses libcurl decides where
- and when to ask libcurl to get/send data.
-
- o Enable multiple simultaneous transfers in the same thread without making it
- complicated for the application.
-
- o Enable the application to select() on its own file descriptors and curl's
- file descriptors simultaneous easily.
-
-*/
-
-/*
- * This header file should not really need to include "curl.h" since curl.h
- * itself includes this file and we expect user applications to do #include
- * <curl/curl.h> without the need for especially including multi.h.
- *
- * For some reason we added this include here at one point, and rather than to
- * break existing (wrongly written) libcurl applications, we leave it as-is
- * but with this warning attached.
- */
-#include "curl.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef void CURLM;
-
-typedef enum {
- CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
- curl_multi_socket*() soon */
- CURLM_OK,
- CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */
- CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */
- CURLM_OUT_OF_MEMORY, /* if you ever get this, you're in deep sh*t */
- CURLM_INTERNAL_ERROR, /* this is a libcurl bug */
- CURLM_BAD_SOCKET, /* the passed in socket argument did not match */
- CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */
- CURLM_LAST
-} CURLMcode;
-
-/* just to make code nicer when using curl_multi_socket() you can now check
- for CURLM_CALL_MULTI_SOCKET too in the same style it works for
- curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
-#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
-
-typedef enum {
- CURLMSG_NONE, /* first, not used */
- CURLMSG_DONE, /* This easy handle has completed. 'result' contains
- the CURLcode of the transfer */
- CURLMSG_LAST /* last, not used */
-} CURLMSG;
-
-struct CURLMsg {
- CURLMSG msg; /* what this message means */
- CURL *easy_handle; /* the handle it concerns */
- union {
- void *whatever; /* message-specific data */
- CURLcode result; /* return code for transfer */
- } data;
-};
-typedef struct CURLMsg CURLMsg;
-
-/*
- * Name: curl_multi_init()
- *
- * Desc: inititalize multi-style curl usage
- *
- * Returns: a new CURLM handle to use in all 'curl_multi' functions.
- */
-CURL_EXTERN CURLM *curl_multi_init(void);
-
-/*
- * Name: curl_multi_add_handle()
- *
- * Desc: add a standard curl handle to the multi stack
- *
- * Returns: CURLMcode type, general multi error code.
- */
-CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
- CURL *curl_handle);
-
- /*
- * Name: curl_multi_remove_handle()
- *
- * Desc: removes a curl handle from the multi stack again
- *
- * Returns: CURLMcode type, general multi error code.
- */
-CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
- CURL *curl_handle);
-
- /*
- * Name: curl_multi_fdset()
- *
- * Desc: Ask curl for its fd_set sets. The app can use these to select() or
- * poll() on. We want curl_multi_perform() called as soon as one of
- * them are ready.
- *
- * Returns: CURLMcode type, general multi error code.
- */
-CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
- fd_set *read_fd_set,
- fd_set *write_fd_set,
- fd_set *exc_fd_set,
- int *max_fd);
-
- /*
- * Name: curl_multi_perform()
- *
- * Desc: When the app thinks there's data available for curl it calls this
- * function to read/write whatever there is right now. This returns
- * as soon as the reads and writes are done. This function does not
- * require that there actually is data available for reading or that
- * data can be written, it can be called just in case. It returns
- * the number of handles that still transfer data in the second
- * argument's integer-pointer.
- *
- * Returns: CURLMcode type, general multi error code. *NOTE* that this only
- * returns errors etc regarding the whole multi stack. There might
- * still have occurred problems on invidual transfers even when this
- * returns OK.
- */
-CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
- int *running_handles);
-
- /*
- * Name: curl_multi_cleanup()
- *
- * Desc: Cleans up and removes a whole multi stack. It does not free or
- * touch any individual easy handles in any way. We need to define
- * in what state those handles will be if this function is called
- * in the middle of a transfer.
- *
- * Returns: CURLMcode type, general multi error code.
- */
-CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
-
-/*
- * Name: curl_multi_info_read()
- *
- * Desc: Ask the multi handle if there's any messages/informationals from
- * the individual transfers. Messages include informationals such as
- * error code from the transfer or just the fact that a transfer is
- * completed. More details on these should be written down as well.
- *
- * Repeated calls to this function will return a new struct each
- * time, until a special "end of msgs" struct is returned as a signal
- * that there is no more to get at this point.
- *
- * The data the returned pointer points to will not survive calling
- * curl_multi_cleanup().
- *
- * The 'CURLMsg' struct is meant to be very simple and only contain
- * very basic informations. If more involved information is wanted,
- * we will provide the particular "transfer handle" in that struct
- * and that should/could/would be used in subsequent
- * curl_easy_getinfo() calls (or similar). The point being that we
- * must never expose complex structs to applications, as then we'll
- * undoubtably get backwards compatibility problems in the future.
- *
- * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out
- * of structs. It also writes the number of messages left in the
- * queue (after this read) in the integer the second argument points
- * to.
- */
-CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
- int *msgs_in_queue);
-
-/*
- * Name: curl_multi_strerror()
- *
- * Desc: The curl_multi_strerror function may be used to turn a CURLMcode
- * value into the equivalent human readable error string. This is
- * useful for printing meaningful error messages.
- *
- * Returns: A pointer to a zero-terminated error message.
- */
-CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
-
-/*
- * Name: curl_multi_socket() and
- * curl_multi_socket_all()
- *
- * Desc: An alternative version of curl_multi_perform() that allows the
- * application to pass in one of the file descriptors that have been
- * detected to have "action" on them and let libcurl perform.
- * See man page for details.
- */
-#define CURL_POLL_NONE 0
-#define CURL_POLL_IN 1
-#define CURL_POLL_OUT 2
-#define CURL_POLL_INOUT 3
-#define CURL_POLL_REMOVE 4
-
-#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD
-
-#define CURL_CSELECT_IN 0x01
-#define CURL_CSELECT_OUT 0x02
-#define CURL_CSELECT_ERR 0x04
-
-typedef int (*curl_socket_callback)(CURL *easy, /* easy handle */
- curl_socket_t s, /* socket */
- int what, /* see above */
- void *userp, /* private callback
- pointer */
- void *socketp); /* private socket
- pointer */
-/*
- * Name: curl_multi_timer_callback
- *
- * Desc: Called by libcurl whenever the library detects a change in the
- * maximum number of milliseconds the app is allowed to wait before
- * curl_multi_socket() or curl_multi_perform() must be called
- * (to allow libcurl's timed events to take place).
- *
- * Returns: The callback should return zero.
- */
-typedef int (*curl_multi_timer_callback)(CURLM *multi, /* multi handle */
- long timeout_ms, /* see above */
- void *userp); /* private callback
- pointer */
-
-CURL_EXTERN CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s,
- int *running_handles);
-
-CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle,
- curl_socket_t s,
- int ev_bitmask,
- int *running_handles);
-
-CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle,
- int *running_handles);
-
-#ifndef CURL_ALLOW_OLD_MULTI_SOCKET
-/* This macro below was added in 7.16.3 to push users who recompile to use
- the new curl_multi_socket_action() instead of the old curl_multi_socket()
-*/
-#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z)
-#endif
-
-/*
- * Name: curl_multi_timeout()
- *
- * Desc: Returns the maximum number of milliseconds the app is allowed to
- * wait before curl_multi_socket() or curl_multi_perform() must be
- * called (to allow libcurl's timed events to take place).
- *
- * Returns: CURLM error code.
- */
-CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle,
- long *milliseconds);
-
-#undef CINIT /* re-using the same name as in curl.h */
-
-#ifdef CURL_ISOCPP
-#define CINIT(name,type,num) CURLMOPT_ ## name = CURLOPTTYPE_ ## type + num
-#else
-/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
-#define LONG CURLOPTTYPE_LONG
-#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT
-#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT
-#define OFF_T CURLOPTTYPE_OFF_T
-#define CINIT(name,type,number) CURLMOPT_/**/name = type + number
-#endif
-
-typedef enum {
- /* This is the socket callback function pointer */
- CINIT(SOCKETFUNCTION, FUNCTIONPOINT, 1),
-
- /* This is the argument passed to the socket callback */
- CINIT(SOCKETDATA, OBJECTPOINT, 2),
-
- /* set to 1 to enable pipelining for this multi handle */
- CINIT(PIPELINING, LONG, 3),
-
- /* This is the timer callback function pointer */
- CINIT(TIMERFUNCTION, FUNCTIONPOINT, 4),
-
- /* This is the argument passed to the timer callback */
- CINIT(TIMERDATA, OBJECTPOINT, 5),
-
- /* maximum number of entries in the connection cache */
- CINIT(MAXCONNECTS, LONG, 6),
-
- CURLMOPT_LASTENTRY /* the last unused */
-} CURLMoption;
-
-
-/*
- * Name: curl_multi_setopt()
- *
- * Desc: Sets options for the multi handle.
- *
- * Returns: CURLM error code.
- */
-CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
- CURLMoption option, ...);
-
-
-/*
- * Name: curl_multi_assign()
- *
- * Desc: This function sets an association in the multi handle between the
- * given socket and a private pointer of the application. This is
- * (only) useful for curl_multi_socket uses.
- *
- * Returns: CURLM error code.
- */
-CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
- curl_socket_t sockfd, void *sockp);
-
-#ifdef __cplusplus
-} /* end of extern "C" */
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/include/curl/stdcheaders.h b/Utilities/cmcurl-7.19.0/include/curl/stdcheaders.h
deleted file mode 100644
index 11c1e2f..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/stdcheaders.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __STDC_HEADERS_H
-#define __STDC_HEADERS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <sys/types.h>
-
-size_t fread (void *, size_t, size_t, FILE *);
-size_t fwrite (const void *, size_t, size_t, FILE *);
-
-int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/include/curl/typecheck-gcc.h b/Utilities/cmcurl-7.19.0/include/curl/typecheck-gcc.h
deleted file mode 100644
index bd0b0b7..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/typecheck-gcc.h
+++ /dev/null
@@ -1,546 +0,0 @@
-#ifndef __CURL_TYPECHECK_GCC_H
-#define __CURL_TYPECHECK_GCC_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* wraps curl_easy_setopt() with typechecking */
-
-/* To add a new kind of warning, add an
- * if(_curl_is_sometype_option(_curl_opt) && ! _curl_is_sometype(value))
- * _curl_easy_setopt_err_sometype();
- * block and define _curl_is_sometype_option, _curl_is_sometype and
- * _curl_easy_setopt_err_sometype below
- *
- * To add an option that uses the same type as an existing option, you'll just
- * need to extend the appropriate _curl_*_option macro
- */
-#define curl_easy_setopt(handle, option, value) \
-__extension__ ({ \
- __typeof__ (option) _curl_opt = option; \
- if (__builtin_constant_p(_curl_opt)) { \
- if (_curl_is_long_option(_curl_opt) && !_curl_is_long(value)) \
- _curl_easy_setopt_err_long(); \
- if (_curl_is_off_t_option(_curl_opt) && !_curl_is_off_t(value)) \
- _curl_easy_setopt_err_curl_off_t(); \
- if (_curl_is_string_option(_curl_opt) && !_curl_is_string(value)) \
- _curl_easy_setopt_err_string(); \
- if (_curl_is_write_cb_option(_curl_opt) && !_curl_is_write_cb(value)) \
- _curl_easy_setopt_err_write_callback(); \
- if ((_curl_opt) == CURLOPT_READFUNCTION && !_curl_is_read_cb(value)) \
- _curl_easy_setopt_err_read_cb(); \
- if ((_curl_opt) == CURLOPT_IOCTLFUNCTION && !_curl_is_ioctl_cb(value)) \
- _curl_easy_setopt_err_ioctl_cb(); \
- if ((_curl_opt) == CURLOPT_SOCKOPTFUNCTION && !_curl_is_sockopt_cb(value))\
- _curl_easy_setopt_err_sockopt_cb(); \
- if ((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION && \
- !_curl_is_opensocket_cb(value)) \
- _curl_easy_setopt_err_opensocket_cb(); \
- if ((_curl_opt) == CURLOPT_PROGRESSFUNCTION && \
- !_curl_is_progress_cb(value)) \
- _curl_easy_setopt_err_progress_cb(); \
- if ((_curl_opt) == CURLOPT_DEBUGFUNCTION && !_curl_is_debug_cb(value)) \
- _curl_easy_setopt_err_debug_cb(); \
- if ((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION && \
- !_curl_is_ssl_ctx_cb(value)) \
- _curl_easy_setopt_err_ssl_ctx_cb(); \
- if (_curl_is_conv_cb_option(_curl_opt) && !_curl_is_conv_cb(value)) \
- _curl_easy_setopt_err_conv_cb(); \
- if ((_curl_opt) == CURLOPT_SEEKFUNCTION && !_curl_is_seek_cb(value)) \
- _curl_easy_setopt_err_seek_cb(); \
- if (_curl_is_cb_data_option(_curl_opt) && !_curl_is_cb_data(value)) \
- _curl_easy_setopt_err_cb_data(); \
- if ((_curl_opt) == CURLOPT_ERRORBUFFER && !_curl_is_error_buffer(value)) \
- _curl_easy_setopt_err_error_buffer(); \
- if ((_curl_opt) == CURLOPT_STDERR && !_curl_is_FILE(value)) \
- _curl_easy_setopt_err_FILE(); \
- if (_curl_is_postfields_option(_curl_opt) && !_curl_is_postfields(value)) \
- _curl_easy_setopt_err_postfields(); \
- if ((_curl_opt) == CURLOPT_HTTPPOST && \
- !_curl_is_arr((value), struct curl_httppost)) \
- _curl_easy_setopt_err_curl_httpost(); \
- if (_curl_is_slist_option(_curl_opt) && \
- !_curl_is_arr((value), struct curl_slist)) \
- _curl_easy_setopt_err_curl_slist(); \
- if ((_curl_opt) == CURLOPT_SHARE && !_curl_is_ptr((value), CURLSH)) \
- _curl_easy_setopt_err_CURLSH(); \
- } \
- curl_easy_setopt(handle, _curl_opt, value); \
-})
-
-/* wraps curl_easy_getinfo() with typechecking */
-/* FIXME: don't allow const pointers */
-#define curl_easy_getinfo(handle, info, arg) \
-__extension__ ({ \
- __typeof__ (info) _curl_info = info; \
- if (__builtin_constant_p(_curl_info)) { \
- if (_curl_is_string_info(_curl_info) && !_curl_is_arr((arg), char *)) \
- _curl_easy_getinfo_err_string(); \
- if (_curl_is_long_info(_curl_info) && !_curl_is_arr((arg), long)) \
- _curl_easy_getinfo_err_long(); \
- if (_curl_is_double_info(_curl_info) && !_curl_is_arr((arg), double)) \
- _curl_easy_getinfo_err_double(); \
- if (_curl_is_slist_info(_curl_info) && \
- !_curl_is_arr((arg), struct curl_slist *)) \
- _curl_easy_getinfo_err_curl_slist(); \
- } \
- curl_easy_getinfo(handle, _curl_info, arg); \
-})
-
-/* TODO: typechecking for curl_share_setopt() and curl_multi_setopt(),
- * for now just make sure that the functions are called with three
- * arguments
- */
-#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
-#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
-
-
-/* the actual warnings, triggered by calling the _curl_easy_setopt_err*
- * functions */
-
-/* To define a new warning, use _CURL_WARNING(identifier, "message") */
-#define _CURL_WARNING(id, message) \
- static void __attribute__((warning(message))) __attribute__((unused)) \
- __attribute__((noinline)) id(void) { __asm__(""); }
-
-_CURL_WARNING(_curl_easy_setopt_err_long,
- "curl_easy_setopt expects a long argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_off_t,
- "curl_easy_setopt expects a curl_off_t argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_string,
- "curl_easy_setopt expects a string (char* or char[]) argument for this option"
- )
-_CURL_WARNING(_curl_easy_setopt_err_write_callback,
- "curl_easy_setopt expects a curl_write_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_read_cb,
- "curl_easy_setopt expects a curl_read_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_ioctl_cb,
- "curl_easy_setopt expects a curl_ioctl_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_sockopt_cb,
- "curl_easy_setopt expects a curl_sockopt_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_opensocket_cb,
- "curl_easy_setopt expects a curl_opensocket_callback argument for this option"
- )
-_CURL_WARNING(_curl_easy_setopt_err_progress_cb,
- "curl_easy_setopt expects a curl_progress_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_debug_cb,
- "curl_easy_setopt expects a curl_debug_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_ssl_ctx_cb,
- "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_conv_cb,
- "curl_easy_setopt expects a curl_conv_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_seek_cb,
- "curl_easy_setopt expects a curl_seek_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_cb_data,
- "curl_easy_setopt expects a private data pointer as argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_error_buffer,
- "curl_easy_setopt expects a char buffer of CURL_ERROR_SIZE as argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_FILE,
- "curl_easy_setopt expects a FILE* argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_postfields,
- "curl_easy_setopt expects a void* or char* argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_httpost,
- "curl_easy_setopt expects a struct curl_httppost* argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_slist,
- "curl_easy_setopt expects a struct curl_slist* argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_CURLSH,
- "curl_easy_setopt expects a CURLSH* argument for this option")
-
-_CURL_WARNING(_curl_easy_getinfo_err_string,
- "curl_easy_getinfo expects a pointer to char * for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_long,
- "curl_easy_getinfo expects a pointer to long for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_double,
- "curl_easy_getinfo expects a pointer to double for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
- "curl_easy_getinfo expects a pointer to struct curl_slist * for this info")
-
-/* groups of curl_easy_setops options that take the same type of argument */
-
-/* To add a new option to one of the groups, just add
- * (option) == CURLOPT_SOMETHING
- * to the or-expression. If the option takes a long or curl_off_t, you don't
- * have to do anything
- */
-
-/* evaluates to true if option takes a long argument */
-#define _curl_is_long_option(option) \
- (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT)
-
-#define _curl_is_off_t_option(option) \
- ((option) > CURLOPTTYPE_OFF_T)
-
-/* evaluates to true if option takes a char* argument */
-#define _curl_is_string_option(option) \
- ((option) == CURLOPT_URL || \
- (option) == CURLOPT_PROXY || \
- (option) == CURLOPT_INTERFACE || \
- (option) == CURLOPT_NETRC_FILE || \
- (option) == CURLOPT_USERPWD || \
- (option) == CURLOPT_PROXYUSERPWD || \
- (option) == CURLOPT_ENCODING || \
- (option) == CURLOPT_REFERER || \
- (option) == CURLOPT_USERAGENT || \
- (option) == CURLOPT_COOKIE || \
- (option) == CURLOPT_COOKIEFILE || \
- (option) == CURLOPT_COOKIEJAR || \
- (option) == CURLOPT_COOKIELIST || \
- (option) == CURLOPT_FTPPORT || \
- (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
- (option) == CURLOPT_FTP_ACCOUNT || \
- (option) == CURLOPT_RANGE || \
- (option) == CURLOPT_CUSTOMREQUEST || \
- (option) == CURLOPT_SSLCERT || \
- (option) == CURLOPT_SSLCERTTYPE || \
- (option) == CURLOPT_SSLKEY || \
- (option) == CURLOPT_SSLKEYTYPE || \
- (option) == CURLOPT_KEYPASSWD || \
- (option) == CURLOPT_SSLENGINE || \
- (option) == CURLOPT_CAINFO || \
- (option) == CURLOPT_CAPATH || \
- (option) == CURLOPT_RANDOM_FILE || \
- (option) == CURLOPT_EGDSOCKET || \
- (option) == CURLOPT_SSL_CIPHER_LIST || \
- (option) == CURLOPT_KRBLEVEL || \
- (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
- (option) == CURLOPT_SSH_PUBLIC_KEYFILE || \
- (option) == CURLOPT_SSH_PRIVATE_KEYFILE || \
- (option) == CURLOPT_CRLFILE || \
- (option) == CURLOPT_ISSUERCERT || \
- 0)
-
-/* evaluates to true if option takes a curl_write_callback argument */
-#define _curl_is_write_cb_option(option) \
- ((option) == CURLOPT_HEADERFUNCTION || \
- (option) == CURLOPT_WRITEFUNCTION)
-
-/* evaluates to true if option takes a curl_conv_callback argument */
-#define _curl_is_conv_cb_option(option) \
- ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \
- (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \
- (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION)
-
-/* evaluates to true if option takes a data argument to pass to a callback */
-#define _curl_is_cb_data_option(option) \
- ((option) == CURLOPT_WRITEDATA || \
- (option) == CURLOPT_READDATA || \
- (option) == CURLOPT_IOCTLDATA || \
- (option) == CURLOPT_SOCKOPTDATA || \
- (option) == CURLOPT_OPENSOCKETDATA || \
- (option) == CURLOPT_PROGRESSDATA || \
- (option) == CURLOPT_WRITEHEADER || \
- (option) == CURLOPT_DEBUGDATA || \
- (option) == CURLOPT_SSL_CTX_DATA || \
- (option) == CURLOPT_SEEKDATA || \
- (option) == CURLOPT_PRIVATE || \
- 0)
-
-/* evaluates to true if option takes a POST data argument (void* or char*) */
-#define _curl_is_postfields_option(option) \
- ((option) == CURLOPT_POSTFIELDS || \
- (option) == CURLOPT_COPYPOSTFIELDS || \
- 0)
-
-/* evaluates to true if option takes a struct curl_slist * argument */
-#define _curl_is_slist_option(option) \
- ((option) == CURLOPT_HTTPHEADER || \
- (option) == CURLOPT_HTTP200ALIASES || \
- (option) == CURLOPT_QUOTE || \
- (option) == CURLOPT_POSTQUOTE || \
- (option) == CURLOPT_PREQUOTE || \
- (option) == CURLOPT_TELNETOPTIONS || \
- 0)
-
-/* groups of curl_easy_getinfo infos that take the same type of argument */
-
-/* evaluates to true if info expects a pointer to char * argument */
-#define _curl_is_string_info(info) \
- (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG)
-
-/* evaluates to true if info expects a pointer to long argument */
-#define _curl_is_long_info(info) \
- (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE)
-
-/* evaluates to true if info expects a pointer to double argument */
-#define _curl_is_double_info(info) \
- (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST)
-
-/* true if info expects a pointer to struct curl_slist * argument */
-#define _curl_is_slist_info(info) \
- (CURLINFO_SLIST < (info))
-
-
-/* typecheck helpers -- check whether given expression has requested type*/
-
-/* For pointers, you can use the _curl_is_ptr/_curl_is_arr macros,
- * otherwise define a new macro. Search for __builtin_types_compatible_p
- * in the GCC manual.
- * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is
- * the actual expression passed to the curl_easy_setopt macro. This
- * means that you can only apply the sizeof and __typeof__ operators, no
- * == or whatsoever.
- */
-
-/* XXX: should evaluate to true iff expr is a pointer */
-#define _curl_is_any_ptr(expr) \
- (sizeof(expr) == sizeof(void*))
-
-/* evaluates to true if expr is NULL */
-/* XXX: must not evaluate expr, so this check is not accurate */
-#define _curl_is_NULL(expr) \
- (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL)))
-
-/* evaluates to true if expr is type*, const type* or NULL */
-#define _curl_is_ptr(expr, type) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), type *) || \
- __builtin_types_compatible_p(__typeof__(expr), const type *))
-
-/* evaluates to true if expr is one of type[], type*, NULL or const type* */
-#define _curl_is_arr(expr, type) \
- (_curl_is_ptr((expr), type) || \
- __builtin_types_compatible_p(__typeof__(expr), type []))
-
-/* evaluates to true if expr is a string */
-#define _curl_is_string(expr) \
- (_curl_is_arr((expr), char) || \
- _curl_is_arr((expr), signed char) || \
- _curl_is_arr((expr), unsigned char))
-
-/* evaluates to true if expr is a long (no matter the signedness)
- * XXX: for now, int is also accepted (and therefore short and char, which
- * are promoted to int when passed to a variadic function) */
-#define _curl_is_long(expr) \
- (__builtin_types_compatible_p(__typeof__(expr), long) || \
- __builtin_types_compatible_p(__typeof__(expr), signed long) || \
- __builtin_types_compatible_p(__typeof__(expr), unsigned long) || \
- __builtin_types_compatible_p(__typeof__(expr), int) || \
- __builtin_types_compatible_p(__typeof__(expr), signed int) || \
- __builtin_types_compatible_p(__typeof__(expr), unsigned int) || \
- __builtin_types_compatible_p(__typeof__(expr), short) || \
- __builtin_types_compatible_p(__typeof__(expr), signed short) || \
- __builtin_types_compatible_p(__typeof__(expr), unsigned short) || \
- __builtin_types_compatible_p(__typeof__(expr), char) || \
- __builtin_types_compatible_p(__typeof__(expr), signed char) || \
- __builtin_types_compatible_p(__typeof__(expr), unsigned char))
-
-/* evaluates to true if expr is of type curl_off_t */
-#define _curl_is_off_t(expr) \
- (__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
-
-/* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */
-/* XXX: also check size of an char[] array? */
-#define _curl_is_error_buffer(expr) \
- (__builtin_types_compatible_p(__typeof__(expr), char *) || \
- __builtin_types_compatible_p(__typeof__(expr), char[]))
-
-/* evaluates to true if expr is of type (const) void* or (const) FILE* */
-#if 0
-#define _curl_is_cb_data(expr) \
- (_curl_is_ptr((expr), void) || \
- _curl_is_ptr((expr), FILE))
-#else /* be less strict */
-#define _curl_is_cb_data(expr) \
- _curl_is_any_ptr(expr)
-#endif
-
-/* evaluates to true if expr is of type FILE* */
-#define _curl_is_FILE(expr) \
- (__builtin_types_compatible_p(__typeof__(expr), FILE *))
-
-/* evaluates to true if expr can be passed as POST data (void* or char*) */
-#define _curl_is_postfields(expr) \
- (_curl_is_ptr((expr), void) || \
- _curl_is_arr((expr), char))
-
-/* FIXME: the whole callback checking is messy...
- * The idea is to tolerate char vs. void and const vs. not const
- * pointers in arguments at least
- */
-/* helper: __builtin_types_compatible_p distinguishes between functions and
- * function pointers, hide it */
-#define _curl_callback_compatible(func, type) \
- (__builtin_types_compatible_p(__typeof__(func), type) || \
- __builtin_types_compatible_p(__typeof__(func), type*))
-
-/* evaluates to true if expr is of type curl_read_callback or "similar" */
-#define _curl_is_read_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), __typeof__(fread)) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_read_callback) || \
- _curl_callback_compatible((expr), _curl_read_callback1) || \
- _curl_callback_compatible((expr), _curl_read_callback2) || \
- _curl_callback_compatible((expr), _curl_read_callback3) || \
- _curl_callback_compatible((expr), _curl_read_callback4) || \
- _curl_callback_compatible((expr), _curl_read_callback5) || \
- _curl_callback_compatible((expr), _curl_read_callback6))
-typedef size_t (_curl_read_callback1)(char *, size_t, size_t, void*);
-typedef size_t (_curl_read_callback2)(char *, size_t, size_t, const void*);
-typedef size_t (_curl_read_callback3)(char *, size_t, size_t, FILE*);
-typedef size_t (_curl_read_callback4)(void *, size_t, size_t, void*);
-typedef size_t (_curl_read_callback5)(void *, size_t, size_t, const void*);
-typedef size_t (_curl_read_callback6)(void *, size_t, size_t, FILE*);
-
-/* evaluates to true if expr is of type curl_write_callback or "similar" */
-#define _curl_is_write_cb(expr) \
- (_curl_is_read_cb(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), __typeof__(fwrite)) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_write_callback) || \
- _curl_callback_compatible((expr), _curl_write_callback1) || \
- _curl_callback_compatible((expr), _curl_write_callback2) || \
- _curl_callback_compatible((expr), _curl_write_callback3) || \
- _curl_callback_compatible((expr), _curl_write_callback4) || \
- _curl_callback_compatible((expr), _curl_write_callback5) || \
- _curl_callback_compatible((expr), _curl_write_callback6))
-typedef size_t (_curl_write_callback1)(const char *, size_t, size_t, void*);
-typedef size_t (_curl_write_callback2)(const char *, size_t, size_t,
- const void*);
-typedef size_t (_curl_write_callback3)(const char *, size_t, size_t, FILE*);
-typedef size_t (_curl_write_callback4)(const void *, size_t, size_t, void*);
-typedef size_t (_curl_write_callback5)(const void *, size_t, size_t,
- const void*);
-typedef size_t (_curl_write_callback6)(const void *, size_t, size_t, FILE*);
-
-/* evaluates to true if expr is of type curl_ioctl_callback or "similar" */
-#define _curl_is_ioctl_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_ioctl_callback) || \
- _curl_callback_compatible((expr), _curl_ioctl_callback1) || \
- _curl_callback_compatible((expr), _curl_ioctl_callback2) || \
- _curl_callback_compatible((expr), _curl_ioctl_callback3) || \
- _curl_callback_compatible((expr), _curl_ioctl_callback4))
-typedef curlioerr (_curl_ioctl_callback1)(CURL *, int, void*);
-typedef curlioerr (_curl_ioctl_callback2)(CURL *, int, const void*);
-typedef curlioerr (_curl_ioctl_callback3)(CURL *, curliocmd, void*);
-typedef curlioerr (_curl_ioctl_callback4)(CURL *, curliocmd, const void*);
-
-/* evaluates to true if expr is of type curl_sockopt_callback or "similar" */
-#define _curl_is_sockopt_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_sockopt_callback) || \
- _curl_callback_compatible((expr), _curl_sockopt_callback1) || \
- _curl_callback_compatible((expr), _curl_sockopt_callback2))
-typedef int (_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype);
-typedef int (_curl_sockopt_callback2)(const void *, curl_socket_t,
- curlsocktype);
-
-/* evaluates to true if expr is of type curl_opensocket_callback or "similar" */
-#define _curl_is_opensocket_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_opensocket_callback) ||\
- _curl_callback_compatible((expr), _curl_opensocket_callback1) || \
- _curl_callback_compatible((expr), _curl_opensocket_callback2) || \
- _curl_callback_compatible((expr), _curl_opensocket_callback3) || \
- _curl_callback_compatible((expr), _curl_opensocket_callback4))
-typedef curl_socket_t (_curl_opensocket_callback1)
- (void *, curlsocktype, struct curl_sockaddr *);
-typedef curl_socket_t (_curl_opensocket_callback2)
- (void *, curlsocktype, const struct curl_sockaddr *);
-typedef curl_socket_t (_curl_opensocket_callback3)
- (const void *, curlsocktype, struct curl_sockaddr *);
-typedef curl_socket_t (_curl_opensocket_callback4)
- (const void *, curlsocktype, const struct curl_sockaddr *);
-
-/* evaluates to true if expr is of type curl_progress_callback or "similar" */
-#define _curl_is_progress_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_progress_callback) || \
- _curl_callback_compatible((expr), _curl_progress_callback1) || \
- _curl_callback_compatible((expr), _curl_progress_callback2))
-typedef int (_curl_progress_callback1)(void *,
- double, double, double, double);
-typedef int (_curl_progress_callback2)(const void *,
- double, double, double, double);
-
-/* evaluates to true if expr is of type curl_debug_callback or "similar" */
-#define _curl_is_debug_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_debug_callback) || \
- _curl_callback_compatible((expr), _curl_debug_callback1) || \
- _curl_callback_compatible((expr), _curl_debug_callback2) || \
- _curl_callback_compatible((expr), _curl_debug_callback3) || \
- _curl_callback_compatible((expr), _curl_debug_callback4))
-typedef int (_curl_debug_callback1) (CURL *,
- curl_infotype, char *, size_t, void *);
-typedef int (_curl_debug_callback2) (CURL *,
- curl_infotype, char *, size_t, const void *);
-typedef int (_curl_debug_callback3) (CURL *,
- curl_infotype, const char *, size_t, void *);
-typedef int (_curl_debug_callback4) (CURL *,
- curl_infotype, const char *, size_t, const void *);
-
-/* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */
-/* this is getting even messier... */
-#define _curl_is_ssl_ctx_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_ssl_ctx_callback) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback1) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback2) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback3) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback4) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback5) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback6) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback7) || \
- _curl_callback_compatible((expr), _curl_ssl_ctx_callback8))
-typedef CURLcode (_curl_ssl_ctx_callback1)(CURL *, void *, void *);
-typedef CURLcode (_curl_ssl_ctx_callback2)(CURL *, void *, const void *);
-typedef CURLcode (_curl_ssl_ctx_callback3)(CURL *, const void *, void *);
-typedef CURLcode (_curl_ssl_ctx_callback4)(CURL *, const void *, const void *);
-#ifdef HEADER_SSL_H
-/* hack: if we included OpenSSL's ssl.h, we know about SSL_CTX
- * this will of course break if we're included before OpenSSL headers...
- */
-typedef CURLcode (_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *);
-typedef CURLcode (_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *);
-typedef CURLcode (_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *);
-typedef CURLcode (_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX, const void *);
-#else
-typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback5;
-typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback6;
-typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback7;
-typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback8;
-#endif
-
-/* evaluates to true if expr is of type curl_conv_callback or "similar" */
-#define _curl_is_conv_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_conv_callback) || \
- _curl_callback_compatible((expr), _curl_conv_callback1) || \
- _curl_callback_compatible((expr), _curl_conv_callback2) || \
- _curl_callback_compatible((expr), _curl_conv_callback3) || \
- _curl_callback_compatible((expr), _curl_conv_callback4))
-typedef CURLcode (*_curl_conv_callback1)(char *, size_t length);
-typedef CURLcode (*_curl_conv_callback2)(const char *, size_t length);
-typedef CURLcode (*_curl_conv_callback3)(void *, size_t length);
-typedef CURLcode (*_curl_conv_callback4)(const void *, size_t length);
-
-/* evaluates to true if expr is of type curl_seek_callback or "similar" */
-#define _curl_is_seek_cb(expr) \
- (_curl_is_NULL(expr) || \
- __builtin_types_compatible_p(__typeof__(expr), curl_seek_callback) || \
- _curl_callback_compatible((expr), _curl_seek_callback1) || \
- _curl_callback_compatible((expr), _curl_seek_callback2))
-typedef CURLcode (*_curl_seek_callback1)(void *, curl_off_t, int);
-typedef CURLcode (*_curl_seek_callback2)(const void *, curl_off_t, int);
-
-
-#endif /* __CURL_TYPECHECK_GCC_H */
diff --git a/Utilities/cmcurl-7.19.0/include/curl/types.h b/Utilities/cmcurl-7.19.0/include/curl/types.h
deleted file mode 100644
index d37d6ae..0000000
--- a/Utilities/cmcurl-7.19.0/include/curl/types.h
+++ /dev/null
@@ -1 +0,0 @@
-/* not used */
diff --git a/Utilities/cmcurl-7.19.0/install-sh b/Utilities/cmcurl-7.19.0/install-sh
deleted file mode 100755
index e843669..0000000
--- a/Utilities/cmcurl-7.19.0/install-sh
+++ /dev/null
@@ -1,250 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/Utilities/cmcurl-7.19.0/lib/CMakeLists.txt b/Utilities/cmcurl-7.19.0/lib/CMakeLists.txt
deleted file mode 100644
index 4b01adb..0000000
--- a/Utilities/cmcurl-7.19.0/lib/CMakeLists.txt
+++ /dev/null
@@ -1,577 +0,0 @@
-# Include all the necessary files for macros
-set(CMAKE_MODULE_PATH "${CURL_SOURCE_DIR}/CMake")
-include (CheckFunctionExists)
-include (CheckIncludeFile)
-include (CheckIncludeFiles)
-include (CheckLibraryExists)
-include (CheckSymbolExists)
-include (CheckCSourceCompiles)
-# if crosscompiling is on, the CHECK_TYPE_SIZE macro coming with cmake uses
-# TRY_COMPILE instead of TRY_RUN which makes crosscompiling easier, Alex
-if(CMAKE_CROSSCOMPILING)
- include ("${CMAKE_ROOT}/Modules/CheckTypeSize.cmake")
-else(CMAKE_CROSSCOMPILING)
- include (CheckTypeSize)
-endif(CMAKE_CROSSCOMPILING)
-
-
-set(libCurl_SRCS
- file.c timeval.c base64.c hostip.c progress.c formdata.c
- cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c
- ldap.c ssluse.c version.c getenv.c escape.c mprintf.c telnet.c
- netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c
- krb5.c memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c
- multi.c content_encoding.c share.c http_digest.c md5.c
- http_negotiate.c http_ntlm.c inet_pton.c strtoofft.c strerror.c
- hostares.c hostasyn.c hostip4.c hostip6.c hostsyn.c hostthre.c
- inet_ntop.c parsedate.c select.c gtls.c sslgen.c tftp.c splay.c
- strdup.c socks.c ssh.c nss.c qssl.c
- arpa_telnet.h netrc.h file.h timeval.h qssl.h hostip.h
- progress.h formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h
- if2ip.h speedcheck.h urldata.h curl_ldap.h ssluse.h escape.h telnet.h
- getinfo.h strequal.h krb4.h memdebug.h inet_ntoa_r.h http_chunks.h
- strtok.h connect.h llist.h hash.h content_encoding.h share.h
- curl_md5.h http_digest.h http_negotiate.h http_ntlm.h inet_pton.h
- strtoofft.h strerror.h inet_ntop.h curlx.h memory.h setup.h
- transfer.h select.h easyif.h multiif.h parsedate.h sslgen.h gtls.h
- tftp.h sockaddr.h splay.h strdup.h setup_once.h socks.h ssh.h nssg.h
- curl_base64.h
-)
-
-set(CURL_DISABLE_LDAP 1)
-if(NOT CURL_DISABLE_LDAP)
- set(libCurl_SRCS
- ${libCurl_SRCS}
- ldap.c
- )
-endif(NOT CURL_DISABLE_LDAP)
-
-# if we have Kerberos 4, right now this is never on
-#OPTION(CURL_KRB4 "Use Kerberos 4" OFF)
-if(CURL_KRB4)
- set(libCurl_SRCS ${libCurl_SRCS}
- krb4.c
- security.c
- )
-endif(CURL_KRB4)
-
-#OPTION(CURL_MALLOC_DEBUG "Debug mallocs in Curl" OFF)
-mark_as_advanced(CURL_MALLOC_DEBUG)
-if(CURL_MALLOC_DEBUG)
- set(libCurl_SRCS ${libCurl_SRCS}
- memdebug.c
- )
-endif(CURL_MALLOC_DEBUG)
-
-# On windows preload settings
-if(WIN32)
- include(${CURL_SOURCE_DIR}/CMake/WindowsCache.cmake)
-endif(WIN32)
-
-# This macro checks if the symbol exists in the library and if it
-# does, it appends library to the list.
-set(CURL_LIBS "")
-macro(CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
- check_library_exists("${LIBRARY};${CURL_LIBS}" ${SYMBOL} ""
- ${VARIABLE})
- if(${VARIABLE})
- set(CURL_LIBS ${CURL_LIBS} ${LIBRARY})
- endif(${VARIABLE})
-endmacro(CHECK_LIBRARY_EXISTS_CONCAT)
-
-# Check for all needed libraries
-check_library_exists_concat("dl" dlopen HAVE_LIBDL)
-#CHECK_LIBRARY_EXISTS_CONCAT("ucb" gethostname HAVE_LIBUCB)
-check_library_exists_concat("socket" connect HAVE_LIBSOCKET)
-check_library_exists("c" gethostbyname "" NOT_NEED_LIBNSL)
-
-# Yellowtab Zeta needs different libraries than BeOS 5.
-if(BEOS)
- set(NOT_NEED_LIBNSL 1)
- check_library_exists_concat("bind" gethostbyname HAVE_LIBBIND)
- check_library_exists_concat("bnetapi" closesocket HAVE_LIBBNETAPI)
-endif(BEOS)
-
-check_library_exists_concat("network" recv HAVE_LIBNETWORK)
-
-if(NOT NOT_NEED_LIBNSL)
- check_library_exists_concat("nsl" gethostbyname HAVE_LIBNSL)
-endif(NOT NOT_NEED_LIBNSL)
-
-check_library_exists_concat("ws2_32" getch HAVE_LIBWS2_32)
-check_library_exists_concat("winmm" getch HAVE_LIBWINMM)
-if(NOT CURL_SPECIAL_LIBZ)
- check_library_exists_concat("z" inflateEnd HAVE_LIBZ)
-endif(NOT CURL_SPECIAL_LIBZ)
-
-option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ON)
-mark_as_advanced(CMAKE_USE_OPENSSL)
-if(CMAKE_USE_OPENSSL)
- check_library_exists_concat("crypto" CRYPTO_lock HAVE_LIBCRYPTO)
- check_library_exists_concat("ssl" SSL_connect HAVE_LIBSSL)
-endif(CMAKE_USE_OPENSSL)
-
-# Check for idn
-check_library_exists_concat("idn" idna_to_ascii_lz HAVE_LIBIDN)
-
-# Check for symbol dlopen (same as HAVE_LIBDL)
-check_library_exists("${CURL_LIBS}" dlopen "" HAVE_DLOPEN)
-
-# For other tests to use the same libraries
-set(CMAKE_REQUIRED_LIBRARIES ${CURL_LIBS})
-
-if(CURL_SPECIAL_LIBZ)
- set(CURL_LIBS ${CURL_LIBS} "${CURL_SPECIAL_LIBZ}")
- include_directories(${CURL_SPECIAL_LIBZ_INCLUDES})
- set(HAVE_LIBZ 0)
- set(HAVE_ZLIB_H 0)
-endif(CURL_SPECIAL_LIBZ)
-
-# do we have process.h
-check_include_file("process.h" HAVE_PROCESS_H)
-
-# Check if header file exists and add it to the list.
-macro(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
- check_include_files("${CURL_INCLUDES};${FILE}" ${VARIABLE})
- if(${VARIABLE})
- set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
- endif(${VARIABLE})
-endmacro(CHECK_INCLUDE_FILE_CONCAT)
-
-# Check for header files
-if(NOT UNIX)
- check_include_file_concat("ws2tcpip.h" HAVE_WS2TCPIP_H)
- check_include_file_concat("winsock2.h" HAVE_WINSOCK2_H)
-endif(NOT UNIX)
-check_include_file_concat("stdio.h" HAVE_STDIO_H)
-if(NOT UNIX)
- check_include_file_concat("windows.h" HAVE_WINDOWS_H)
- check_include_file_concat("winsock.h" HAVE_WINSOCK_H)
-endif(NOT UNIX)
-check_include_file_concat("stddef.h" HAVE_STDDEF_H)
-check_include_file_concat("sys/types.h" HAVE_SYS_TYPES_H)
-check_include_file_concat("inttypes.h" HAVE_INTTYPES_H)
-check_include_file_concat("alloca.h" HAVE_ALLOCA_H)
-check_include_file_concat("arpa/inet.h" HAVE_ARPA_INET_H)
-check_include_file_concat("dlfcn.h" HAVE_DLFCN_H)
-check_include_file_concat("fcntl.h" HAVE_FCNTL_H)
-check_include_file_concat("malloc.h" HAVE_MALLOC_H)
-check_include_file_concat("memory.h" HAVE_MEMORY_H)
-check_include_file_concat("netdb.h" HAVE_NETDB_H)
-check_include_file_concat("sys/poll.h" HAVE_SYS_POLL_H)
-check_include_file_concat("assert.h" HAVE_ASSERT_H)
-check_include_file_concat("limits.h" HAVE_LIMITS_H)
-
-if(CMAKE_USE_OPENSSL)
- check_include_file_concat("openssl/x509.h" HAVE_OPENSSL_X509_H)
- check_include_file_concat("openssl/engine.h" HAVE_OPENSSL_ENGINE_H)
- check_include_file_concat("openssl/rsa.h" HAVE_OPENSSL_RSA_H)
- check_include_file_concat("openssl/crypto.h" HAVE_OPENSSL_CRYPTO_H)
- check_include_file_concat("openssl/pem.h" HAVE_OPENSSL_PEM_H)
- check_include_file_concat("openssl/ssl.h" HAVE_OPENSSL_SSL_H)
- check_include_file_concat("openssl/err.h" HAVE_OPENSSL_ERR_H)
- check_include_file_concat("openssl/rand.h" HAVE_OPENSSL_RAND_H)
- check_include_file_concat("openssl/pkcs12.h" HAVE_OPENSSL_PKCS12_H)
-endif(CMAKE_USE_OPENSSL)
-
-if(NOT CURL_SPECIAL_LIBZ)
- check_include_file_concat("zlib.h" HAVE_ZLIB_H)
-endif(NOT CURL_SPECIAL_LIBZ)
-check_include_file_concat("sys/socket.h" HAVE_SYS_SOCKET_H)
-check_include_file_concat("netinet/in.h" HAVE_NETINET_IN_H)
-check_include_file_concat("net/if.h" HAVE_NET_IF_H)
-check_include_file_concat("netinet/if_ether.h"
- HAVE_NETINET_IF_ETHER_H)
-check_include_file_concat("netinet/tcp.h"
- HAVE_NETINET_TCP_H)
-check_include_file_concat("sys/select.h" HAVE_SYS_SELECT_H)
-check_include_file_concat("utime.h" HAVE_UTIME_H)
-check_include_file_concat("netinet/in.h" HAVE_NETINET_IN_H)
-check_include_file_concat("pwd.h" HAVE_PWD_H)
-check_include_file_concat("sgtty.h" HAVE_SGTTY_H)
-check_include_file_concat("stdint.h" HAVE_STDINT_H)
-check_include_file_concat("stdlib.h" HAVE_STDLIB_H)
-check_include_file_concat("string.h" HAVE_STRING_H)
-check_include_file_concat("strings.h" HAVE_STRINGS_H)
-check_include_file_concat("sys/param.h" HAVE_SYS_PARAM_H)
-check_include_file_concat("sys/stat.h" HAVE_SYS_STAT_H)
-check_include_file_concat("sys/time.h" HAVE_SYS_TIME_H)
-check_include_file_concat("sys/resource.h" HAVE_SYS_RESOURCE_H)
-check_include_file_concat("termios.h" HAVE_TERMIOS_H)
-check_include_file_concat("termio.h" HAVE_TERMIO_H)
-check_include_file_concat("io.h" HAVE_IO_H)
-check_include_file_concat("time.h" HAVE_TIME_H)
-check_include_file_concat("unistd.h" HAVE_UNISTD_H)
-check_include_file_concat("sys/utime.h" HAVE_SYS_UTIME_H)
-check_include_file_concat("sockio.h" HAVE_SOCKIO_H)
-check_include_file_concat("sys/sockio.h" HAVE_SYS_SOCKIO_H)
-check_include_file_concat("x509.h" HAVE_X509_H)
-check_include_file_concat("locale.h" HAVE_LOCALE_H)
-check_include_file_concat("setjmp.h" HAVE_SETJMP_H)
-check_include_file_concat("signal.h" HAVE_SIGNAL_H)
-check_include_file_concat("sys/ioctl.h" HAVE_SYS_IOCTL_H)
-check_include_file_concat("sys/utsname.h" HAVE_SYS_UTSNAME_H)
-check_include_file_concat("idn-free.h" HAVE_IDN_FREE_H)
-check_include_file_concat("idna.h" HAVE_IDNA_H)
-check_include_file_concat("tld.h" HAVE_TLD_H)
-check_include_file_concat("arpa/tftp.h" HAVE_ARPA_TFTP_H)
-check_include_file_concat("errno.h" HAVE_ERRNO_H)
-check_include_file_concat("libgen.h" HAVE_LIBGEN_H)
-check_include_file_concat("sys/filio.h" HAVE_SYS_FILIO_H)
-check_type_size(size_t SIZEOF_SIZE_T)
-check_type_size(ssize_t SIZEOF_SSIZE_T)
-check_type_size("long long" SIZEOF_LONG_LONG)
-check_type_size("long" SIZEOF_LONG)
-check_type_size("__int64" SIZEOF___INT64)
-check_type_size("long double" SIZEOF_LONG_DOUBLE)
-check_type_size("time_t" SIZEOF_TIME_T)
-if(NOT HAVE_SIZEOF_SSIZE_T)
- if(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
- set(ssize_t long)
- endif(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
- if(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
- set(ssize_t __int64)
- endif(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
-endif(NOT HAVE_SIZEOF_SSIZE_T)
-
-if(HAVE_SIZEOF_LONG_LONG)
- set(HAVE_LONGLONG 1)
- set(HAVE_LL 1)
-endif(HAVE_SIZEOF_LONG_LONG)
-
-find_file(RANDOM_FILE urandom /dev)
-mark_as_advanced(RANDOM_FILE)
-
-# Check for some functions that are used
-check_symbol_exists(basename "${CURL_INCLUDES}" HAVE_BASENAME)
-check_symbol_exists(socket "${CURL_INCLUDES}" HAVE_SOCKET)
-check_symbol_exists(poll "${CURL_INCLUDES}" HAVE_POLL)
-check_symbol_exists(select "${CURL_INCLUDES}" HAVE_SELECT)
-check_symbol_exists(strdup "${CURL_INCLUDES}" HAVE_STRDUP)
-check_symbol_exists(strstr "${CURL_INCLUDES}" HAVE_STRSTR)
-check_symbol_exists(strtok_r "${CURL_INCLUDES}" HAVE_STRTOK_R)
-check_symbol_exists(strftime "${CURL_INCLUDES}" HAVE_STRFTIME)
-check_symbol_exists(uname "${CURL_INCLUDES}" HAVE_UNAME)
-check_symbol_exists(strcasecmp "${CURL_INCLUDES}" HAVE_STRCASECMP)
-check_symbol_exists(stricmp "${CURL_INCLUDES}" HAVE_STRICMP)
-check_symbol_exists(strcmpi "${CURL_INCLUDES}" HAVE_STRCMPI)
-check_symbol_exists(strncmpi "${CURL_INCLUDES}" HAVE_STRNCMPI)
-check_symbol_exists(basename "${CURL_INCLUDES}" HAVE_BASENAME)
-if(NOT HAVE_STRNCMPI)
- set(HAVE_STRCMPI)
-endif(NOT HAVE_STRNCMPI)
-check_symbol_exists(gethostbyaddr "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR)
-check_symbol_exists(gettimeofday "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
-check_symbol_exists(inet_addr "${CURL_INCLUDES}" HAVE_INET_ADDR)
-check_symbol_exists(inet_pton "${CURL_INCLUDES}" HAVE_INET_PTON)
-check_symbol_exists(inet_ntoa "${CURL_INCLUDES}" HAVE_INET_NTOA)
-check_symbol_exists(inet_ntoa_r "${CURL_INCLUDES}" HAVE_INET_NTOA_R)
-check_symbol_exists(tcsetattr "${CURL_INCLUDES}" HAVE_TCSETATTR)
-check_symbol_exists(tcgetattr "${CURL_INCLUDES}" HAVE_TCGETATTR)
-check_symbol_exists(perror "${CURL_INCLUDES}" HAVE_PERROR)
-check_symbol_exists(closesocket "${CURL_INCLUDES}" HAVE_CLOSESOCKET)
-check_symbol_exists(setvbuf "${CURL_INCLUDES}" HAVE_SETVBUF)
-check_symbol_exists(sigsetjmp "${CURL_INCLUDES}" HAVE_SIGSETJMP)
-check_symbol_exists(getpass_r "${CURL_INCLUDES}" HAVE_GETPASS_R)
-check_symbol_exists(strlcat "${CURL_INCLUDES}" HAVE_STRLCAT)
-check_symbol_exists(getpwuid "${CURL_INCLUDES}" HAVE_GETPWUID)
-check_symbol_exists(geteuid "${CURL_INCLUDES}" HAVE_GETEUID)
-check_symbol_exists(utime "${CURL_INCLUDES}" HAVE_UTIME)
-if(CMAKE_USE_OPENSSL)
- check_symbol_exists(RAND_status "${CURL_INCLUDES}" HAVE_RAND_STATUS)
- check_symbol_exists(RAND_screen "${CURL_INCLUDES}" HAVE_RAND_SCREEN)
- check_symbol_exists(RAND_egd "${CURL_INCLUDES}" HAVE_RAND_EGD)
- check_symbol_exists(CRYPTO_cleanup_all_ex_data "${CURL_INCLUDES}"
- HAVE_CRYPTO_CLEANUP_ALL_EX_DATA)
-endif(CMAKE_USE_OPENSSL)
-check_symbol_exists(gmtime_r "${CURL_INCLUDES}" HAVE_GMTIME_R)
-check_symbol_exists(localtime_r "${CURL_INCLUDES}" HAVE_LOCALTIME_R)
-
-check_symbol_exists(gethostbyname "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME)
-check_symbol_exists(gethostbyname_r "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME_R)
-check_symbol_exists(gethostbyaddr_r "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR_R)
-
-check_symbol_exists(signal "${CURL_INCLUDES}" HAVE_SIGNAL_FUNC)
-check_symbol_exists(SIGALRM "${CURL_INCLUDES}" HAVE_SIGNAL_MACRO)
-if(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
- set(HAVE_SIGNAL 1)
-endif(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
-check_symbol_exists(uname "${CURL_INCLUDES}" HAVE_UNAME)
-check_symbol_exists(strtoll "${CURL_INCLUDES}" HAVE_STRTOLL)
-check_symbol_exists(_strtoi64 "${CURL_INCLUDES}" HAVE__STRTOI64)
-check_symbol_exists(strerror_r "${CURL_INCLUDES}" HAVE_STRERROR_R)
-check_symbol_exists(siginterrupt "${CURL_INCLUDES}" HAVE_SIGINTERRUPT)
-check_symbol_exists(perror "${CURL_INCLUDES}" HAVE_PERROR)
-check_symbol_exists(fork "${CURL_INCLUDES}" HAVE_FORK)
-check_symbol_exists(pipe "${CURL_INCLUDES}" HAVE_PIPE)
-check_symbol_exists(ftruncate "${CURL_INCLUDES}" HAVE_FTRUNCATE)
-check_symbol_exists(getprotobyname "${CURL_INCLUDES}" HAVE_GETPROTOBYNAME)
-check_symbol_exists(getrlimit "${CURL_INCLUDES}" HAVE_GETRLIMIT)
-check_symbol_exists(idn_free "${CURL_INCLUDES}" HAVE_IDN_FREE)
-check_symbol_exists(idna_strerror "${CURL_INCLUDES}" HAVE_IDNA_STRERROR)
-check_symbol_exists(tld_strerror "${CURL_INCLUDES}" HAVE_TLD_STRERROR)
-check_symbol_exists(setlocale "${CURL_INCLUDES}" HAVE_SETLOCALE)
-check_symbol_exists(setrlimit "${CURL_INCLUDES}" HAVE_SETRLIMIT)
-
-
-# sigaction and sigsetjmp are special. Use special mechanism for
-# detecting those, but only if previous attempt failed.
-if(HAVE_SIGNAL_H)
- check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
-endif(HAVE_SIGNAL_H)
-
-if(NOT HAVE_SIGSETJMP)
- if(HAVE_SETJMP_H)
- check_symbol_exists(sigsetjmp "setjmp.h" HAVE_MACRO_SIGSETJMP)
- if(HAVE_MACRO_SIGSETJMP)
- set(HAVE_SIGSETJMP 1)
- endif(HAVE_MACRO_SIGSETJMP)
- endif(HAVE_SETJMP_H)
-endif(NOT HAVE_SIGSETJMP)
-
-# For other curl specific tests, use this macro.
-macro(CURL_INTERNAL_TEST CURL_TEST)
- if("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
- set(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
- if(CMAKE_REQUIRED_LIBRARIES)
- set(CURL_TEST_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- endif(CMAKE_REQUIRED_LIBRARIES)
-
- message(STATUS "Performing Curl Test ${CURL_TEST}")
- try_compile(${CURL_TEST}
- ${CMAKE_BINARY_DIR}
- ${CURL_SOURCE_DIR}/CMake/CurlTests.c
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- "${CURL_TEST_ADD_LIBRARIES}"
- OUTPUT_VARIABLE OUTPUT)
- if(${CURL_TEST})
- set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
- message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
- file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Performing Curl Test ${CURL_TEST} passed with the following output:\n"
- "${OUTPUT}\n")
- else(${CURL_TEST})
- message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
- set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
- file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
- "${OUTPUT}\n")
- endif(${CURL_TEST})
- endif("${CURL_TEST}" MATCHES "^${CURL_TEST}$")
-endmacro(CURL_INTERNAL_TEST)
-
-macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
- if("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
- set(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
- if(CMAKE_REQUIRED_LIBRARIES)
- set(CURL_TEST_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- endif(CMAKE_REQUIRED_LIBRARIES)
-
- message(STATUS "Performing Curl Test ${CURL_TEST}")
- try_run(${CURL_TEST} ${CURL_TEST}_COMPILE
- ${CMAKE_BINARY_DIR}
- ${CURL_SOURCE_DIR}/CMake/CurlTests.c
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- "${CURL_TEST_ADD_LIBRARIES}"
- OUTPUT_VARIABLE OUTPUT)
- if(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
- set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
- message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
- else(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
- message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
- set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
- file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
- "Performing Curl Test ${CURL_TEST} failed with the following output:\n"
- "${OUTPUT}")
- if(${CURL_TEST}_COMPILE)
- file(APPEND
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
- "There was a running problem of this test\n")
- endif(${CURL_TEST}_COMPILE)
- file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
- "\n\n")
- endif(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
- endif("${CURL_TEST}_COMPILE" MATCHES "^${CURL_TEST}_COMPILE$")
-endmacro(CURL_INTERNAL_TEST_RUN)
-
-# Do curl specific tests
-#OPTION(CURL_HAVE_DISABLED_NONBLOCKING "Disable non-blocking socket detection" OFF)
-set(CURL_NONBLOCKING_TESTS)
-if(NOT CURL_HAVE_DISABLED_NONBLOCKING)
- set(CURL_NONBLOCKING_TESTS
- HAVE_FIONBIO
- HAVE_IOCTLSOCKET
- HAVE_IOCTLSOCKET_CASE
- HAVE_O_NONBLOCK
- HAVE_SO_NONBLOCK
- )
-endif(NOT CURL_HAVE_DISABLED_NONBLOCKING)
-foreach(CURL_TEST
- ${CURL_NONBLOCKING_TESTS}
- TIME_WITH_SYS_TIME
- HAVE_O_NONBLOCKHAVE_GETHOSTBYADDR_R_5
- HAVE_GETHOSTBYADDR_R_7
- HAVE_GETHOSTBYADDR_R_8
- HAVE_GETHOSTBYADDR_R_5_REENTRANT
- HAVE_GETHOSTBYADDR_R_7_REENTRANT
- HAVE_GETHOSTBYADDR_R_8_REENTRANT
- HAVE_GETHOSTBYNAME_R_3
- HAVE_GETHOSTBYNAME_R_5
- HAVE_GETHOSTBYNAME_R_6
- HAVE_GETHOSTBYNAME_R_3_REENTRANT
- HAVE_GETHOSTBYNAME_R_5_REENTRANT
- HAVE_GETHOSTBYNAME_R_6_REENTRANT
- HAVE_SOCKLEN_T
- HAVE_IN_ADDR_T
- STDC_HEADERS
- RETSIGTYPE_TEST
- HAVE_INET_NTOA_R_DECL
- HAVE_INET_NTOA_R_DECL_REENTRANT
- HAVE_GETADDRINFO
- HAVE_FILE_OFFSET_BITS
- )
- curl_internal_test(${CURL_TEST})
-endforeach(CURL_TEST)
-if(HAVE_FILE_OFFSET_BITS)
- set(_FILE_OFFSET_BITS 64)
-endif(HAVE_FILE_OFFSET_BITS)
-
-foreach(CURL_TEST
- HAVE_GLIBC_STRERROR_R
- HAVE_POSIX_STRERROR_R
- )
- curl_internal_test_run(${CURL_TEST})
-endforeach(CURL_TEST)
-
-# Check for reentrant
-foreach(CURL_TEST
- HAVE_GETHOSTBYADDR_R_5
- HAVE_GETHOSTBYADDR_R_7
- HAVE_GETHOSTBYADDR_R_8
- HAVE_GETHOSTBYNAME_R_3
- HAVE_GETHOSTBYNAME_R_5
- HAVE_GETHOSTBYNAME_R_6
- HAVE_INET_NTOA_R_DECL_REENTRANT)
- if(NOT ${CURL_TEST})
- if(${CURL_TEST}_REENTRANT)
- set(NEED_REENTRANT 1)
- endif(${CURL_TEST}_REENTRANT)
- endif(NOT ${CURL_TEST})
-endforeach(CURL_TEST)
-
-if(NEED_REENTRANT)
- foreach(CURL_TEST
- HAVE_GETHOSTBYADDR_R_5
- HAVE_GETHOSTBYADDR_R_7
- HAVE_GETHOSTBYADDR_R_8
- HAVE_GETHOSTBYNAME_R_3
- HAVE_GETHOSTBYNAME_R_5
- HAVE_GETHOSTBYNAME_R_6)
- set(${CURL_TEST} 0)
- if(${CURL_TEST}_REENTRANT)
- set(${CURL_TEST} 1)
- endif(${CURL_TEST}_REENTRANT)
- endforeach(CURL_TEST)
-endif(NEED_REENTRANT)
-
-if(HAVE_INET_NTOA_R_DECL_REENTRANT)
- set(HAVE_INET_NTOA_R_DECL 1)
- set(NEED_REENTRANT 1)
-endif(HAVE_INET_NTOA_R_DECL_REENTRANT)
-
-# Some other minor tests
-
-if(NOT HAVE_SOCKLEN_T)
- set(socklen_t "int")
-endif(NOT HAVE_SOCKLEN_T)
-
-if(NOT HAVE_IN_ADDR_T)
- set(in_addr_t "unsigned long")
-endif(NOT HAVE_IN_ADDR_T)
-
-# Fix libz / zlib.h
-
-if(NOT CURL_SPECIAL_LIBZ)
- if(NOT HAVE_LIBZ)
- set(HAVE_ZLIB_H 0)
- endif(NOT HAVE_LIBZ)
-
- if(NOT HAVE_ZLIB_H)
- set(HAVE_LIBZ 0)
- endif(NOT HAVE_ZLIB_H)
-endif(NOT CURL_SPECIAL_LIBZ)
-
-if(_FILE_OFFSET_BITS)
- set(_FILE_OFFSET_BITS 64)
-endif(_FILE_OFFSET_BITS)
-set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64")
-set(CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/curl/curl.h")
-check_type_size("curl_off_t" SIZEOF_CURL_OFF_T)
-set(CMAKE_EXTRA_INCLUDE_FILES)
-set(CMAKE_REQUIRED_FLAGS)
-
-
-# Check for nonblocking
-set(HAVE_DISABLED_NONBLOCKING 1)
-if(HAVE_FIONBIO OR
- HAVE_IOCTLSOCKET OR
- HAVE_IOCTLSOCKET_CASE OR
- HAVE_O_NONBLOCK)
- set(HAVE_DISABLED_NONBLOCKING)
-endif(HAVE_FIONBIO OR
- HAVE_IOCTLSOCKET OR
- HAVE_IOCTLSOCKET_CASE OR
- HAVE_O_NONBLOCK)
-
-if(RETSIGTYPE_TEST)
- set(RETSIGTYPE void)
-else(RETSIGTYPE_TEST)
- set(RETSIGTYPE int)
-endif(RETSIGTYPE_TEST)
-
-if(CMAKE_COMPILER_IS_GNUCC AND APPLE)
- include(CheckCCompilerFlag)
- check_c_compiler_flag(-Wno-long-double HAVE_C_FLAG_Wno_long_double)
- if(HAVE_C_FLAG_Wno_long_double)
- # The Mac version of GCC warns about use of long double. Disable it.
- get_source_file_property(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
- if(MPRINTF_COMPILE_FLAGS)
- set(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
- else(MPRINTF_COMPILE_FLAGS)
- set(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
- endif(MPRINTF_COMPILE_FLAGS)
- set_source_files_properties(mprintf.c PROPERTIES
- COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
- endif(HAVE_C_FLAG_Wno_long_double)
-endif(CMAKE_COMPILER_IS_GNUCC AND APPLE)
-include(${CURL_SOURCE_DIR}/CMake/OtherTests.cmake)
-
-
-# The rest of the build
-
-include_directories(${CURL_SOURCE_DIR})
-include_directories(${CURL_BINARY_DIR})
-if(WIN32)
- set(WIN32_LEAN_AND_MEAN TRUE)
-endif(WIN32)
-
-configure_file(${CURL_SOURCE_DIR}/lib/config.cmake.h.in
- ${CURL_BINARY_DIR}/lib/config.h)
-set(CURL_SIZEOF_LONG ${SIZEOF_LONG})
-configure_file(${CURL_SOURCE_DIR}/include/curl/curlbuild.cmake.h.in
- ${CURL_BINARY_DIR}/include/curl/curlbuild.h)
-add_library(cmcurl ${libCurl_SRCS})
-target_link_libraries(cmcurl ${CURL_LIBS})
-
-option(CURL_TESTING "Do libCurl testing" OFF)
-if(CURL_TESTING)
- subdirs(Testing)
-endif(CURL_TESTING)
-
-#add_executable(LIBCURL Testing/curltest.c)
-#target_link_libraries(LIBCURL cmcurl ${CMAKE_DL_LIBS})
-#add_test(curl "${EXECUTABLE_OUTPUT_PATH}/LIBCURL")
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.Watcom b/Utilities/cmcurl-7.19.0/lib/Makefile.Watcom
deleted file mode 100644
index a698f99..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.Watcom
+++ /dev/null
@@ -1,505 +0,0 @@
-#
-# Watcom / OpenWatcom / Win32 makefile for libcurl.
-# G. Vanem <gvanem@broadpark.no>
-#
-# $Id$
-
-TARGETS = libcurl_wc.dll libcurl_wc_imp.lib libcurl_wc.lib
-
-CC = wcc386
-
-CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm -bt=nt &
- -bd -d+ -dWIN32 -dCURL_CA_BUNDLE=getenv("CURL_CA_BUNDLE") &
- -dBUILDING_LIBCURL -dHAVE_SPNEGO=1 -dENABLE_IPV6 &
- -dDEBUG=1 -dCURLDEBUG -d_WIN32_WINNT=0x0501 -dWINBERAPI=__declspec(cdecl) &
- -dWINLDAPAPI=__declspec(cdecl) -I. -I..\include
-
-#
-# Change to suite.
-#
-ZLIB_ROOT = ..\..\..\zlib-1.2.3
-USE_ZLIB = 0
-USE_ARES = 0
-
-!ifeq USE_ZLIB 1
-CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I$(ZLIB_ROOT)
-!endif
-
-!ifeq USE_ARES 1
-CFLAGS += -dUSE_ARES -I..\ares
-!endif
-
-OBJ_BASE = WC_Win32.obj
-C_ARG = $(OBJ_BASE)\wcc386.arg
-LINK_ARG = $(OBJ_BASE)\dyn\wlink.arg
-LIB_ARG = $(OBJ_BASE)\stat\wlib.arg
-
-OBJS = $(OBJ_DIR)\base64.obj $(OBJ_DIR)\connect.obj &
- $(OBJ_DIR)\content_encoding.obj $(OBJ_DIR)\cookie.obj &
- $(OBJ_DIR)\dict.obj $(OBJ_DIR)\easy.obj &
- $(OBJ_DIR)\escape.obj $(OBJ_DIR)\file.obj &
- $(OBJ_DIR)\formdata.obj $(OBJ_DIR)\ftp.obj &
- $(OBJ_DIR)\getenv.obj $(OBJ_DIR)\getinfo.obj &
- $(OBJ_DIR)\gtls.obj $(OBJ_DIR)\hash.obj &
- $(OBJ_DIR)\hostares.obj $(OBJ_DIR)\hostasyn.obj &
- $(OBJ_DIR)\hostip.obj $(OBJ_DIR)\hostip4.obj &
- $(OBJ_DIR)\hostip6.obj $(OBJ_DIR)\hostsyn.obj &
- $(OBJ_DIR)\hostthre.obj $(OBJ_DIR)\http.obj &
- $(OBJ_DIR)\http_chunks.obj $(OBJ_DIR)\http_digest.obj &
- $(OBJ_DIR)\http_negotiate.obj $(OBJ_DIR)\http_ntlm.obj &
- $(OBJ_DIR)\if2ip.obj $(OBJ_DIR)\inet_ntop.obj &
- $(OBJ_DIR)\inet_pton.obj $(OBJ_DIR)\krb4.obj &
- $(OBJ_DIR)\ldap.obj $(OBJ_DIR)\llist.obj &
- $(OBJ_DIR)\md5.obj $(OBJ_DIR)\memdebug.obj &
- $(OBJ_DIR)\mprintf.obj $(OBJ_DIR)\multi.obj &
- $(OBJ_DIR)\netrc.obj $(OBJ_DIR)\parsedate.obj &
- $(OBJ_DIR)\progress.obj $(OBJ_DIR)\security.obj &
- $(OBJ_DIR)\select.obj $(OBJ_DIR)\sendf.obj &
- $(OBJ_DIR)\share.obj $(OBJ_DIR)\socks.obj &
- $(OBJ_DIR)\speedcheck.obj $(OBJ_DIR)\splay.obj &
- $(OBJ_DIR)\sslgen.obj $(OBJ_DIR)\ssluse.obj &
- $(OBJ_DIR)\strequal.obj $(OBJ_DIR)\strerror.obj &
- $(OBJ_DIR)\strtok.obj $(OBJ_DIR)\strtoofft.obj &
- $(OBJ_DIR)\telnet.obj $(OBJ_DIR)\tftp.obj &
- $(OBJ_DIR)\timeval.obj $(OBJ_DIR)\transfer.obj &
- $(OBJ_DIR)\url.obj $(OBJ_DIR)\version.obj
-
-#
-# Use $(OBJS) as a template to generate $(OBJS_STAT) and $(OBJS_DYN).
-#
-OBJ_DIR = $(OBJ_BASE)\stat
-OBJS_STAT = $+ $(OBJS) $-
-
-OBJ_DIR = $(OBJ_BASE)\dyn
-OBJS_DYN = $+ $(OBJS) $-
-
-RESOURCE = $(OBJ_BASE)\dyn\libcurl.res
-
-all: $(OBJ_BASE) $(C_ARG) $(TARGETS) .SYMBOLIC
- @echo Welcome to libcurl
-
-$(OBJ_BASE):
- - mkdir $(OBJ_BASE)
- - mkdir $(OBJ_BASE)\stat
- - mkdir $(OBJ_BASE)\dyn
-
-libcurl_wc.dll libcurl_wc_imp.lib: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
- wlink name libcurl_wc.dll @$(LINK_ARG)
-
-libcurl_wc.lib: $(OBJS_STAT) $(LIB_ARG)
- wlib -q -b- c $@ @$(LIB_ARG)
-
-clean: .SYMBOLIC
- - rm -f $(OBJS_STAT) $(OBJS_DYN) $(RESOURCE) $(C_ARG) $(LINK_ARG) $(LIB_ARG)
-
-vclean realclean: clean .SYMBOLIC
- - rm -f $(TARGETS) libcurl_wc.map
- - rmdir $(OBJ_BASE)\stat
- - rmdir $(OBJ_BASE)\dyn
- - rmdir $(OBJ_BASE)
-
-.ERASE
-$(RESOURCE): libcurl.rc
- wrc -dCURLDEBUG=1 -q -r -zm -I..\include -fo=$@ libcurl.rc
-
-.ERASE
-.c{$(OBJ_BASE)\dyn}.obj:
- $(CC) $[@ @$(C_ARG) -fo=$@
-
-.ERASE
-.c{$(OBJ_BASE)\stat}.obj:
- $(CC) $[@ @$(C_ARG) -DCURL_STATICLIB -fo=$@
-
-$(C_ARG): $(__MAKEFILES__)
- %create $^@
- %append $^@ $(CFLAGS)
-
-$(LINK_ARG): $(__MAKEFILES__)
- %create $^@
- @%append $^@ system nt dll
- @%append $^@ file { $(OBJS_DYN) }
- @%append $^@ option quiet, map, caseexact, eliminate, implib=libcurl_wc_imp.lib,
- @%append $^@ res=$(RESOURCE) libpath $(%watcom)\lib386;$(%watcom)\lib386\nt
- @%append $^@ library clib3r.lib, wldap32.lib, ws2_32.lib
-!ifeq USE_ZLIB 1
- @%append $^@ library $(ZLIB_ROOT)\zlib.lib
-!endif
-!ifeq USE_ARES 1
- @%append $^@ library ..\ares\cares.lib
-!endif
-
-$(LIB_ARG): $(__MAKEFILES__)
- %create $^@
- for %f in ($(OBJS_STAT)) do @%append $^@ +- %f
-
-#
-# Dependencies based on "gcc -MM .."
-#
-$(OBJ_DIR)\file.obj: file.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h strtoofft.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h progress.h sendf.h &
- escape.h file.h speedcheck.h getinfo.h transfer.h url.h memory.h &
- parsedate.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\timeval.obj: timeval.c timeval.h setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\base64.obj: base64.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h urldata.h cookie.h ..\include\curl\curl.h &
- formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
- easyif.h curl_base64.h memory.h memdebug.h
-$(OBJ_DIR)\hostip.obj: hostip.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h inet_ntop.h ..\include\curl\mprintf.h memory.h &
- memdebug.h
-$(OBJ_DIR)\progress.obj: progress.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h progress.h &
- ..\include\curl\mprintf.h
-$(OBJ_DIR)\formdata.obj: formdata.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h easyif.h strequal.h memory.h ..\include\curl\mprintf.h &
- memdebug.h
-$(OBJ_DIR)\cookie.obj: cookie.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h urldata.h cookie.h ..\include\curl\curl.h &
- formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
- strequal.h strtok.h sendf.h memory.h share.h strtoofft.h memdebug.h
-$(OBJ_DIR)\http.obj: http.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h &
- easyif.h progress.h curl_base64.h strequal.h sslgen.h http_digest.h &
- http_ntlm.h http_negotiate.h url.h share.h http.h memory.h select.h &
- parsedate.h strtoofft.h multiif.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\sendf.obj: sendf.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h sendf.h connect.h sslgen.h ssh.h multiif.h &
- ..\include\curl\mprintf.h memory.h strerror.h easyif.h memdebug.h
-$(OBJ_DIR)\ftp.obj: ftp.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h sendf.h easyif.h if2ip.h progress.h transfer.h escape.h &
- http.h socks.h ftp.h strtoofft.h strequal.h sslgen.h connect.h &
- strerror.h memory.h inet_ntop.h select.h parsedate.h sockaddr.h &
- multiif.h url.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\url.obj: url.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h netrc.h sslgen.h &
- transfer.h sendf.h progress.h strequal.h strerror.h escape.h strtok.h &
- share.h content_encoding.h http_digest.h http_negotiate.h select.h &
- multiif.h easyif.h speedcheck.h ftp.h dict.h telnet.h tftp.h http.h &
- file.h curl_ldap.h ssh.h url.h connect.h inet_ntop.h http_ntlm.h &
- socks.h ..\include\curl\mprintf.h memory.h memdebug.h
-$(OBJ_DIR)\dict.obj: dict.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h &
- progress.h strequal.h dict.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\if2ip.obj: if2ip.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h if2ip.h
-$(OBJ_DIR)\speedcheck.obj: speedcheck.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h urldata.h cookie.h &
- formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
- sendf.h multiif.h speedcheck.h
-$(OBJ_DIR)\ldap.obj: ldap.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h escape.h &
- transfer.h strequal.h strtok.h curl_ldap.h memory.h curl_base64.h &
- ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\ssluse.obj: ssluse.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h url.h inet_pton.h &
- ssluse.h connect.h strequal.h select.h sslgen.h &
- ..\include\curl\mprintf.h
-$(OBJ_DIR)\version.obj: version.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h sslgen.h ..\include\curl\mprintf.h
-$(OBJ_DIR)\getenv.obj: getenv.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- memory.h memdebug.h
-$(OBJ_DIR)\escape.obj: escape.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- memory.h urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h &
- hash.h llist.h splay.h easyif.h ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\mprintf.obj: mprintf.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h memory.h ..\include\curl\curl.h memdebug.h
-$(OBJ_DIR)\telnet.obj: telnet.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h &
- telnet.h connect.h ..\include\curl\mprintf.h arpa_telnet.h memory.h &
- select.h memdebug.h
-$(OBJ_DIR)\netrc.obj: netrc.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- netrc.h strequal.h strtok.h memory.h ..\include\curl\mprintf.h &
- memdebug.h
-$(OBJ_DIR)\getinfo.obj: getinfo.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h getinfo.h memory.h sslgen.h connect.h memdebug.h
-$(OBJ_DIR)\transfer.obj: transfer.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h strtoofft.h strequal.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h urldata.h cookie.h &
- formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
- netrc.h content_encoding.h transfer.h sendf.h speedcheck.h progress.h &
- http.h url.h getinfo.h sslgen.h http_digest.h http_ntlm.h &
- http_negotiate.h share.h memory.h select.h multiif.h easyif.h &
- ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\strequal.obj: strequal.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h strequal.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h
-$(OBJ_DIR)\easy.obj: easy.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h strequal.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h urldata.h cookie.h &
- formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
- transfer.h sslgen.h url.h getinfo.h share.h strdup.h memory.h &
- progress.h easyif.h select.h sendf.h http_ntlm.h connect.h &
- ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\security.obj: security.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\krb4.obj: krb4.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\krb5.obj: krb5.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\memdebug.obj: memdebug.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- ..\include\curl\mprintf.h urldata.h cookie.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h memory.h memdebug.h
-$(OBJ_DIR)\http_chunks.obj: http_chunks.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- urldata.h cookie.h ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h &
- content_encoding.h http.h memory.h easyif.h ..\include\curl\mprintf.h &
- memdebug.h
-$(OBJ_DIR)\strtok.obj: strtok.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h strtok.h
-$(OBJ_DIR)\connect.obj: connect.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\mprintf.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h urldata.h cookie.h ..\include\curl\curl.h &
- formdata.h timeval.h http_chunks.h hostip.h hash.h llist.h splay.h &
- sendf.h if2ip.h strerror.h connect.h memory.h select.h url.h multiif.h &
- sockaddr.h inet_ntop.h inet_pton.h sslgen.h memdebug.h
-$(OBJ_DIR)\llist.obj: llist.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h llist.h memory.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h memdebug.h
-$(OBJ_DIR)\hash.obj: hash.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h hash.h llist.h memory.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h memdebug.h
-$(OBJ_DIR)\multi.obj: multi.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h transfer.h url.h connect.h progress.h memory.h easyif.h &
- multiif.h sendf.h http.h memdebug.h
-$(OBJ_DIR)\content_encoding.obj: content_encoding.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\share.obj: share.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h share.h memory.h memdebug.h
-$(OBJ_DIR)\http_digest.obj: http_digest.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- urldata.h cookie.h ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h strequal.h &
- curl_base64.h curl_md5.h http_digest.h strtok.h url.h memory.h easyif.h &
- ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\md5.obj: md5.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h curl_md5.h
-$(OBJ_DIR)\http_negotiate.obj: http_negotiate.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\http_ntlm.obj: http_ntlm.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- urldata.h cookie.h ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h easyif.h sendf.h &
- strequal.h curl_base64.h http_ntlm.h url.h memory.h ssluse.h &
- ..\include\curl\mprintf.h memdebug.h
-$(OBJ_DIR)\inet_pton.obj: inet_pton.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- inet_pton.h
-$(OBJ_DIR)\strtoofft.obj: strtoofft.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- strtoofft.h
-$(OBJ_DIR)\strerror.obj: strerror.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- strerror.h urldata.h cookie.h formdata.h timeval.h http_chunks.h &
- hostip.h hash.h llist.h splay.h ..\include\curl\mprintf.h
-$(OBJ_DIR)\hostares.obj: hostares.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h multiif.h connect.h select.h ..\include\curl\mprintf.h &
- memory.h memdebug.h
-$(OBJ_DIR)\hostasyn.obj: hostasyn.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h ..\include\curl\mprintf.h memory.h memdebug.h
-$(OBJ_DIR)\hostip4.obj: hostip4.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h inet_pton.h ..\include\curl\mprintf.h memory.h &
- memdebug.h
-$(OBJ_DIR)\hostip6.obj: hostip6.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h inet_pton.h connect.h ..\include\curl\mprintf.h &
- memory.h memdebug.h
-$(OBJ_DIR)\hostsyn.obj: hostsyn.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h ..\include\curl\mprintf.h memory.h memdebug.h
-$(OBJ_DIR)\hostthre.obj: hostthre.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h share.h &
- strerror.h url.h multiif.h ..\include\curl\mprintf.h inet_ntop.h &
- memory.h memdebug.h
-$(OBJ_DIR)\inet_ntop.obj: inet_ntop.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- ..\include\curl\mprintf.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h inet_ntop.h
-$(OBJ_DIR)\parsedate.obj: parsedate.c setup.h config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h setup_once.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h
-$(OBJ_DIR)\select.obj: select.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h ..\include\curl\curl.h &
- ..\include\curl\curlver.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h &
- llist.h splay.h connect.h select.h
-$(OBJ_DIR)\gtls.obj: gtls.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\sslgen.obj: sslgen.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sslgen.h ssluse.h gtls.h &
- nssg.h qssl.h sendf.h strequal.h url.h memory.h progress.h memdebug.h
-$(OBJ_DIR)\tftp.obj: tftp.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h transfer.h sendf.h tftp.h &
- progress.h connect.h strerror.h sockaddr.h url.h &
- ..\include\curl\mprintf.h memory.h select.h memdebug.h
-$(OBJ_DIR)\splay.obj: splay.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h splay.h
-$(OBJ_DIR)\strdup.obj: strdup.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h strdup.h
-$(OBJ_DIR)\socks.obj: socks.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h strequal.h &
- select.h connect.h socks.h memdebug.h
-$(OBJ_DIR)\ssh.obj: ssh.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h
-$(OBJ_DIR)\nss.obj: nss.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h urldata.h cookie.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h formdata.h timeval.h &
- http_chunks.h hostip.h hash.h llist.h splay.h sendf.h url.h connect.h &
- strequal.h select.h sslgen.h ..\include\curl\mprintf.h
-$(OBJ_DIR)\qssl.obj: qssl.c setup.h config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h setup_once.h
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.am b/Utilities/cmcurl-7.19.0/lib/Makefile.am
deleted file mode 100644
index 67de163..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.am
+++ /dev/null
@@ -1,171 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-DSP = curllib.dsp
-VCPROJ = curllib.vcproj
-
-DOCS = README.encoding README.memoryleak README.ares README.curlx \
- README.hostip README.multi_socket README.httpauth README.pipelining \
- README.NSS README.curl_off_t
-
-EXTRA_DIST = Makefile.b32 Makefile.m32 Makefile.vc6 Makefile.riscos $(DSP) \
- curllib.dsw config-win32.h config-win32ce.h config-riscos.h config-mac.h \
- config.h.in makefile.dj config.dos libcurl.framework.make libcurl.plist \
- libcurl.rc config-amigaos.h amigaos.c amigaos.h makefile.amiga \
- Makefile.netware nwlib.c nwos.c libcurl.imp msvcproj.head msvcproj.foot \
- config-win32ce.h config-os400.h setup-os400.h config-symbian.h \
- Makefile.Watcom config-tpf.h $(DOCS) $(VCPROJ) mk-ca-bundle.pl \
- firefox-db2pem.sh
-
-CLEANFILES = $(DSP) $(VCPROJ)
-
-lib_LTLIBRARIES = libcurl.la
-LIBCURL_LIBS = @LIBCURL_LIBS@
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "private" files
-
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_srcdir)/lib
-
-if SONAME_BUMP
-#
-# Bumping of SONAME conditionally may seem like a weird thing to do, and yeah
-# it is. The problem is that we try to avoid the bump as hard as possible, but
-# yet it is still necessary for a few rare situations. The configure script will
-# attempt to figure out these situations, and it can be forced to consider this
-# to be such a case! See README.curl_off_t for further details.
-#
-# This conditional soname bump SHOULD be removed at next "proper" bump.
-#
-VERSIONINFO=-version-info 6:0:1
-else
-VERSIONINFO=-version-info 5:0:1
-endif
-
-# This flag accepts an argument of the form current[:revision[:age]]. So,
-# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
-# 1.
-#
-# If either revision or age are omitted, they default to 0. Also note that age
-# must be less than or equal to the current interface number.
-#
-# Here are a set of rules to help you update your library version information:
-#
-# 1.Start with version information of 0:0:0 for each libtool library.
-#
-# 2.Update the version information only immediately before a public release of
-# your software. More frequent updates are unnecessary, and only guarantee
-# that the current interface number gets larger faster.
-#
-# 3.If the library source code has changed at all since the last update, then
-# increment revision (c:r+1:a)
-#
-# 4.If any interfaces have been added, removed, or changed since the last
-# update, increment current, and set revision to 0. (c+1:r=0:a)
-#
-# 5.If any interfaces have been added since the last public release, then
-# increment age. (c:r:a+1)
-#
-# 6.If any interfaces have been removed since the last public release, then
-# set age to 0. (c:r:a=0)
-#
-
-if NO_UNDEFINED
-# The -no-undefined flag is CRUCIAL for this to build fine on Cygwin.
-UNDEF = -no-undefined
-endif
-
-if MIMPURE
-# This is for gcc on Solaris (8+ ?) to avoid "relocations remain against
-# allocatable but non-writable sections" problems.
-MIMPURE = -mimpure-text
-endif
-
-libcurl_la_LDFLAGS = $(UNDEF) $(VERSIONINFO) $(MIMPURE) $(LIBCURL_LIBS)
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
-
-WIN32SOURCES = $(CSOURCES)
-WIN32HEADERS = $(HHEADERS) config-win32.h
-
-DSPOUT = | awk '{printf("%s\r\n", $$0)}' >> $(DSP)
-VCPROJOUT = | awk '{printf("%s\r\n", $$0)}' >> $(VCPROJ)
-
-$(DSP): msvcproj.head msvcproj.foot Makefile.am
- echo "creating $(DSP)"
- @(cp $(srcdir)/msvcproj.head $(DSP); \
- echo "# Begin Group \"Source Files\"" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "# PROP Default_Filter \"\"" $(DSPOUT); \
- win32_srcs='$(WIN32SOURCES)'; \
- sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \
- for file in $$sorted_srcs; do \
- echo "# Begin Source File" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "SOURCE=.\\"$$file $(DSPOUT); \
- echo "# End Source File" $(DSPOUT); \
- done; \
- echo "# End Group" $(DSPOUT); \
- echo "# Begin Group \"Header Files\"" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "# PROP Default_Filter \"\"" $(DSPOUT); \
- win32_hdrs='$(WIN32HEADERS)'; \
- sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \
- for file in $$sorted_hdrs; do \
- echo "# Begin Source File" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "SOURCE=.\\"$$file $(DSPOUT); \
- echo "# End Source File" $(DSPOUT); \
- done; \
- echo "# End Group" $(DSPOUT); \
- cat $(srcdir)/msvcproj.foot $(DSPOUT) )
-
-$(VCPROJ): vc8proj.head vc8proj.foot Makefile.am
- echo "creating $(VCPROJ)"
- @(cp $(srcdir)/vc8proj.head $(VCPROJ); \
- win32_srcs='$(WIN32SOURCES)'; \
- sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \
- for file in $$sorted_srcs; do \
- echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT); \
- done; \
- echo "</Filter><Filter Name=\"Header Files\">" $(VCPROJOUT); \
- win32_hdrs='$(WIN32HEADERS)'; \
- sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \
- for file in $$sorted_hdrs; do \
- echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT); \
- done; \
- cat $(srcdir)/vc8proj.foot $(VCPROJOUT) )
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.b32 b/Utilities/cmcurl-7.19.0/lib/Makefile.b32
deleted file mode 100644
index 4110a99..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.b32
+++ /dev/null
@@ -1,90 +0,0 @@
-############################################################
-# $Id$
-#
-# Makefile.b32 - Borland's C++ Compiler 5.X
-#
-# 'lib' directory
-#
-# 'BCCDIR' has to be set up to point to the base directory
-# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
-# where c:\Borland\BCC55 is the compiler is installed
-#
-# Written by Jaepil Kim, pit@paradise.net.nz
-############################################################
-
-# Edit the path below to point to the base of your Zlib sources.
-!ifndef ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.1
-!endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-!ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.7d
-!endif
-
-# Set libcurl static lib, dll and import lib
-LIBCURL_LIB = libcurl.lib
-LIBCURL_DLL = libcurl.dll
-LIBCURL_IMPLIB = libcurl_imp.lib
-
-# Setup environment
-CXX = bcc32
-LD = bcc32
-CP = copy
-RM = del
-LIB = tlib
-IMPLIB = implib
-
-CXXFLAGS = -q -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM
-LIBFLAGS = /C /P32
-LDFLAGS = -q -lq -laa -tWD
-
-INCDIRS = -I.;../include
-LINKLIB = $(BCCDIR)/lib/cw32mt.lib
-
-# If you build with SSL support, set WITH_SSL=1
-DEFINES = -DNDEBUG -DWIN32 -D_CONSOLE -D_MBCS -DBUILDING_LIBCURL
-
-!ifdef WITH_ZLIB
-DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
-INCDIRS = $(INCDIRS);$(ZLIB_PATH)
-LINKLIB = $(LINKLIB) $(ZLIB_PATH)/zlib.lib
-!endif
-
-!ifdef WITH_SSL
-DEFINES = $(DEFINES) -DUSE_SSLEAY
-INCDIRS = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl
-LINKLIB = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib
-!endif
-
-.autodepend
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-!include Makefile.inc
-
-OBJECTS = $(CSOURCES:.c=.obj)
-
-.c.obj:
- $(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $<
-
-all: $(LIBCURL_LIB) $(LIBCURL_DLL)
-
-clean:
- -$(RM) $(LIBCURL_LIB)
- -$(RM) $(LIBCURL_IMPLIB)
- -$(RM) libcurl.tds
- -$(RM) *.obj
-
-$(LIBCURL_LIB): $(OBJECTS)
- @-$(RM) $@
- $(LIB) $(LIBFLAGS) $@ @&&!
-+$(**: = &^
-+)
-!
-
-$(LIBCURL_DLL) $(LIBCURL_IMPLIB): $(OBJECTS) $(LINKLIB)
- @-$(RM) $(LIBCURL_DLL)
- @-$(RM) $(LIBCURL_IMPLIB)
- $(LD) $(LDFLAGS) -e$(LIBCURL_DLL) $**
- $(IMPLIB) $(LIBCURL_IMPLIB) $(LIBCURL_DLL)
-
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.in b/Utilities/cmcurl-7.19.0/lib/Makefile.in
deleted file mode 100644
index 0f9e469..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.in
+++ /dev/null
@@ -1,777 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-# ./lib/Makefile.inc
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.inc $(srcdir)/config.h.in
-subdir = lib
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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 = config.h $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libcurl_la_LIBADD =
-am__objects_1 = file.lo timeval.lo base64.lo hostip.lo progress.lo \
- formdata.lo cookie.lo http.lo sendf.lo ftp.lo url.lo dict.lo \
- if2ip.lo speedcheck.lo ldap.lo ssluse.lo version.lo getenv.lo \
- escape.lo mprintf.lo telnet.lo netrc.lo getinfo.lo transfer.lo \
- strequal.lo easy.lo security.lo krb4.lo krb5.lo memdebug.lo \
- http_chunks.lo strtok.lo connect.lo llist.lo hash.lo multi.lo \
- content_encoding.lo share.lo http_digest.lo md5.lo \
- http_negotiate.lo http_ntlm.lo inet_pton.lo strtoofft.lo \
- strerror.lo hostares.lo hostasyn.lo hostip4.lo hostip6.lo \
- hostsyn.lo hostthre.lo inet_ntop.lo parsedate.lo select.lo \
- gtls.lo sslgen.lo tftp.lo splay.lo strdup.lo socks.lo ssh.lo \
- nss.lo qssl.lo
-am__objects_2 =
-am_libcurl_la_OBJECTS = $(am__objects_1) $(am__objects_2)
-libcurl_la_OBJECTS = $(am_libcurl_la_OBJECTS)
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libcurl_la_SOURCES)
-DIST_SOURCES = $(libcurl_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-DSP = curllib.dsp
-VCPROJ = curllib.vcproj
-DOCS = README.encoding README.memoryleak README.ares README.curlx \
- README.hostip README.multi_socket README.httpauth README.pipelining \
- README.NSS README.curl_off_t
-
-EXTRA_DIST = Makefile.b32 Makefile.m32 Makefile.vc6 Makefile.riscos $(DSP) \
- curllib.dsw config-win32.h config-win32ce.h config-riscos.h config-mac.h \
- config.h.in makefile.dj config.dos libcurl.framework.make libcurl.plist \
- libcurl.rc config-amigaos.h amigaos.c amigaos.h makefile.amiga \
- Makefile.netware nwlib.c nwos.c libcurl.imp msvcproj.head msvcproj.foot \
- config-win32ce.h config-os400.h setup-os400.h config-symbian.h \
- Makefile.Watcom config-tpf.h $(DOCS) $(VCPROJ) mk-ca-bundle.pl \
- firefox-db2pem.sh
-
-CLEANFILES = $(DSP) $(VCPROJ)
-lib_LTLIBRARIES = libcurl.la
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "private" files
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_srcdir)/lib
-
-@SONAME_BUMP_FALSE@VERSIONINFO = -version-info 5:0:1
-
-#
-# Bumping of SONAME conditionally may seem like a weird thing to do, and yeah
-# it is. The problem is that we try to avoid the bump as hard as possible, but
-# yet it is still necessary for a few rare situations. The configure script will
-# attempt to figure out these situations, and it can be forced to consider this
-# to be such a case! See README.curl_off_t for further details.
-#
-# This conditional soname bump SHOULD be removed at next "proper" bump.
-#
-@SONAME_BUMP_TRUE@VERSIONINFO = -version-info 6:0:1
-
-# This flag accepts an argument of the form current[:revision[:age]]. So,
-# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
-# 1.
-#
-# If either revision or age are omitted, they default to 0. Also note that age
-# must be less than or equal to the current interface number.
-#
-# Here are a set of rules to help you update your library version information:
-#
-# 1.Start with version information of 0:0:0 for each libtool library.
-#
-# 2.Update the version information only immediately before a public release of
-# your software. More frequent updates are unnecessary, and only guarantee
-# that the current interface number gets larger faster.
-#
-# 3.If the library source code has changed at all since the last update, then
-# increment revision (c:r+1:a)
-#
-# 4.If any interfaces have been added, removed, or changed since the last
-# update, increment current, and set revision to 0. (c+1:r=0:a)
-#
-# 5.If any interfaces have been added since the last public release, then
-# increment age. (c:r:a+1)
-#
-# 6.If any interfaces have been removed since the last public release, then
-# set age to 0. (c:r:a=0)
-#
-
-# The -no-undefined flag is CRUCIAL for this to build fine on Cygwin.
-@NO_UNDEFINED_TRUE@UNDEF = -no-undefined
-
-# This is for gcc on Solaris (8+ ?) to avoid "relocations remain against
-# allocatable but non-writable sections" problems.
-@MIMPURE_TRUE@MIMPURE = -mimpure-text
-libcurl_la_LDFLAGS = $(UNDEF) $(VERSIONINFO) $(MIMPURE) $(LIBCURL_LIBS)
-CSOURCES = file.c timeval.c base64.c hostip.c progress.c formdata.c \
- cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \
- ldap.c ssluse.c version.c getenv.c escape.c mprintf.c telnet.c \
- netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c \
- krb5.c memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c \
- multi.c content_encoding.c share.c http_digest.c md5.c \
- http_negotiate.c http_ntlm.c inet_pton.c strtoofft.c strerror.c \
- hostares.c hostasyn.c hostip4.c hostip6.c hostsyn.c hostthre.c \
- inet_ntop.c parsedate.c select.c gtls.c sslgen.c tftp.c splay.c \
- strdup.c socks.c ssh.c nss.c qssl.c
-
-HHEADERS = arpa_telnet.h netrc.h file.h timeval.h qssl.h hostip.h \
- progress.h formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h \
- if2ip.h speedcheck.h urldata.h curl_ldap.h ssluse.h escape.h telnet.h \
- getinfo.h strequal.h krb4.h memdebug.h inet_ntoa_r.h http_chunks.h \
- strtok.h connect.h llist.h hash.h content_encoding.h share.h \
- curl_md5.h http_digest.h http_negotiate.h http_ntlm.h inet_pton.h \
- strtoofft.h strerror.h inet_ntop.h curlx.h memory.h setup.h \
- transfer.h select.h easyif.h multiif.h parsedate.h sslgen.h gtls.h \
- tftp.h sockaddr.h splay.h strdup.h setup_once.h socks.h ssh.h nssg.h \
- curl_base64.h
-
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
-WIN32SOURCES = $(CSOURCES)
-WIN32HEADERS = $(HHEADERS) config-win32.h
-DSPOUT = | awk '{printf("%s\r\n", $$0)}' >> $(DSP)
-VCPROJOUT = | awk '{printf("%s\r\n", $$0)}' >> $(VCPROJ)
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) 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 \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign lib/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;
-
-$(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
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status lib/config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libcurl.la: $(libcurl_la_OBJECTS) $(libcurl_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libcurl_la_LDFLAGS) $(libcurl_la_OBJECTS) $(libcurl_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connect.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/content_encoding.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cookie.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dict.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/easy.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escape.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/formdata.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getenv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtls.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostares.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostasyn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostip.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostip4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostip6.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostsyn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostthre.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_chunks.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_digest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_negotiate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_ntlm.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/if2ip.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_ntop.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llist.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memdebug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mprintf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netrc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nss.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parsedate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progress.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qssl.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/security.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/share.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socks.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/speedcheck.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splay.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssh.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sslgen.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssluse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strequal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtok.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoofft.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/telnet.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tftp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeval.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: check-am
-all-am: Makefile $(LTLIBRARIES) config.h
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-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: uninstall-info-am uninstall-libLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-hdr \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-libLTLIBRARIES install-man \
- 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 \
- uninstall-info-am uninstall-libLTLIBRARIES
-
-
-$(DSP): msvcproj.head msvcproj.foot Makefile.am
- echo "creating $(DSP)"
- @(cp $(srcdir)/msvcproj.head $(DSP); \
- echo "# Begin Group \"Source Files\"" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "# PROP Default_Filter \"\"" $(DSPOUT); \
- win32_srcs='$(WIN32SOURCES)'; \
- sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \
- for file in $$sorted_srcs; do \
- echo "# Begin Source File" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "SOURCE=.\\"$$file $(DSPOUT); \
- echo "# End Source File" $(DSPOUT); \
- done; \
- echo "# End Group" $(DSPOUT); \
- echo "# Begin Group \"Header Files\"" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "# PROP Default_Filter \"\"" $(DSPOUT); \
- win32_hdrs='$(WIN32HEADERS)'; \
- sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \
- for file in $$sorted_hdrs; do \
- echo "# Begin Source File" $(DSPOUT); \
- echo "" $(DSPOUT); \
- echo "SOURCE=.\\"$$file $(DSPOUT); \
- echo "# End Source File" $(DSPOUT); \
- done; \
- echo "# End Group" $(DSPOUT); \
- cat $(srcdir)/msvcproj.foot $(DSPOUT) )
-
-$(VCPROJ): vc8proj.head vc8proj.foot Makefile.am
- echo "creating $(VCPROJ)"
- @(cp $(srcdir)/vc8proj.head $(VCPROJ); \
- win32_srcs='$(WIN32SOURCES)'; \
- sorted_srcs=`for file in $$win32_srcs; do echo $$file; done | sort`; \
- for file in $$sorted_srcs; do \
- echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT); \
- done; \
- echo "</Filter><Filter Name=\"Header Files\">" $(VCPROJOUT); \
- win32_hdrs='$(WIN32HEADERS)'; \
- sorted_hdrs=`for file in $$win32_hdrs; do echo $$file; done | sort`; \
- for file in $$sorted_hdrs; do \
- echo "<File RelativePath=\""$$file"\"></File>" $(VCPROJOUT); \
- done; \
- cat $(srcdir)/vc8proj.foot $(VCPROJOUT) )
-# 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/Utilities/cmcurl-7.19.0/lib/Makefile.inc b/Utilities/cmcurl-7.19.0/lib/Makefile.inc
deleted file mode 100644
index 8cb9a74..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-# ./lib/Makefile.inc
-
-CSOURCES = file.c timeval.c base64.c hostip.c progress.c formdata.c \
- cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \
- ldap.c ssluse.c version.c getenv.c escape.c mprintf.c telnet.c \
- netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c \
- krb5.c memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c \
- multi.c content_encoding.c share.c http_digest.c md5.c \
- http_negotiate.c http_ntlm.c inet_pton.c strtoofft.c strerror.c \
- hostares.c hostasyn.c hostip4.c hostip6.c hostsyn.c hostthre.c \
- inet_ntop.c parsedate.c select.c gtls.c sslgen.c tftp.c splay.c \
- strdup.c socks.c ssh.c nss.c qssl.c
-
-HHEADERS = arpa_telnet.h netrc.h file.h timeval.h qssl.h hostip.h \
- progress.h formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h \
- if2ip.h speedcheck.h urldata.h curl_ldap.h ssluse.h escape.h telnet.h \
- getinfo.h strequal.h krb4.h memdebug.h inet_ntoa_r.h http_chunks.h \
- strtok.h connect.h llist.h hash.h content_encoding.h share.h \
- curl_md5.h http_digest.h http_negotiate.h http_ntlm.h inet_pton.h \
- strtoofft.h strerror.h inet_ntop.h curlx.h memory.h setup.h \
- transfer.h select.h easyif.h multiif.h parsedate.h sslgen.h gtls.h \
- tftp.h sockaddr.h splay.h strdup.h setup_once.h socks.h ssh.h nssg.h \
- curl_base64.h
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.m32 b/Utilities/cmcurl-7.19.0/lib/Makefile.m32
deleted file mode 100644
index 615d078..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.m32
+++ /dev/null
@@ -1,148 +0,0 @@
-#########################################################################
-# $Id$
-#
-## Makefile for building libcurl.a with MingW32 (GCC-3.2)
-## and optionally OpenSSL (0.9.8), libssh2 (0.18), zlib (1.2.3)
-##
-## Usage:
-## mingw32-make -f Makefile.m32 [SSL=1] [SSH2=1] [ZLIB=1] [SSPI=1] [IPV6=1] [DYN=1]
-##
-## Hint: you can also set environment vars to control the build, f.e.:
-## set ZLIB_PATH=c:/zlib-1.2.3
-## set ZLIB=1
-##
-## Comments to: Troy Engel <tengel@sonic.net> or
-## Joern Hartroth <hartroth@acm.org>
-#########################################################################
-
-# Edit the path below to point to the base of your Zlib sources.
-ifndef ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-endif
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-endif
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../libssh2-0.18
-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
-
-ARES_LIB = ../ares
-
-CC = gcc
-AR = ar
-# comment LDFLAGS below to keep debug info
-LDFLAGS = -s
-RANLIB = ranlib
-RC = windres
-RCFLAGS = --include-dir=../include -DCURLDEBUG=0 -O COFF -i
-RM = del /q /f > NUL 2>&1
-STRIP = strip -g
-
-########################################################
-## Nothing more to do below this line!
-
-INCLUDES = -I. -I../include
-CFLAGS = -g -O2 -DBUILDING_LIBCURL
-ifdef ARES
- INCLUDES += -I$(ARES_LIB)
- CFLAGS += -DUSE_ARES
- DLL_LIBS += -L$(ARES_LIB) -lcares
- libcurl_dll_DEPENDENCIES = $(ARES_LIB)/libcares.a
-endif
-ifdef SSH2
- INCLUDES += -I"$(LIBSSH2_PATH)/include" -I"$(LIBSSH2_PATH)/win32"
- CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H
- DLL_LIBS += -L$(LIBSSH2_PATH)/win32 -lssh2
-endif
-ifdef SSL
- INCLUDES += -I"$(OPENSSL_PATH)/outinc" -I"$(OPENSSL_PATH)/outinc/openssl"
- CFLAGS += -DUSE_SSLEAY -DUSE_OPENSSL -DHAVE_OPENSSL_ENGINE_H -DHAVE_OPENSSL_PKCS12_H \
- -DHAVE_ENGINE_LOAD_BUILTIN_ENGINES -DOPENSSL_NO_KRB5 \
- -DCURL_WANTS_CA_BUNDLE_ENV
- DLL_LIBS += -L$(OPENSSL_PATH)/out -leay32 -lssl32
-endif
-ifdef ZLIB
- INCLUDES += -I"$(ZLIB_PATH)"
- CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H
- DLL_LIBS += -L$(ZLIB_PATH) -lz
-endif
-ifdef SSPI
- CFLAGS += -DUSE_WINDOWS_SSPI
-endif
-ifdef IPV6
- CFLAGS += -DENABLE_IPV6
-endif
-ifdef LDAPS
- CFLAGS += -DHAVE_LDAP_SSL
-endif
-ifdef USE_LDAP_NOVELL
- INCLUDES += -I"$(LDAP_SDK)/inc"
- CFLAGS += -DCURL_HAS_NOVELL_LDAPSDK
- DLL_LIBS += -L"$(LDAP_SDK)/lib/mscvc" -lldapsdk -lldapssl -lldapx
-endif
-ifdef USE_LDAP_OPENLDAP
- INCLUDES += -I"$(LDAP_SDK)/include"
- CFLAGS += -DCURL_HAS_OPENLDAP_LDAPSDK
- DLL_LIBS += -L"$(LDAP_SDK)/lib" -lldap -llber
-endif
-ifndef USE_LDAP_NOVELL
-ifndef USE_LDAP_OPENLDAP
-DLL_LIBS += -lwldap32
-endif
-endif
-DLL_LIBS += -lws2_32
-COMPILE = $(CC) $(INCLUDES) $(CFLAGS)
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-libcurl_dll_LIBRARY = libcurl.dll
-libcurl_dll_a_LIBRARY = libcurldll.a
-libcurl_a_LIBRARY = libcurl.a
-
-libcurl_a_OBJECTS := $(patsubst %.c,%.o,$(strip $(CSOURCES)))
-libcurl_a_DEPENDENCIES := $(strip $(CSOURCES) $(HHEADERS))
-
-RESOURCE = libcurl.res
-
-.SUFFIXES: .rc .res
-
-all: $(libcurl_a_LIBRARY) $(libcurl_dll_LIBRARY)
-
-$(libcurl_a_LIBRARY): $(libcurl_a_OBJECTS) $(libcurl_a_DEPENDENCIES)
- -$(RM) $@
- $(AR) cru $@ $(libcurl_a_OBJECTS)
- $(RANLIB) $@
- $(STRIP) $@
-
-# remove the last line above to keep debug info
-
-$(libcurl_dll_LIBRARY): $(libcurl_a_OBJECTS) $(RESOURCE) $(libcurl_dll_DEPENDENCIES)
- -$(RM) $@
- $(CC) $(LDFLAGS) -shared -Wl,--out-implib,$(libcurl_dll_a_LIBRARY) \
- -o $@ $(libcurl_a_OBJECTS) $(RESOURCE) $(DLL_LIBS)
-
-.c.o:
- $(COMPILE) -c $<
-
-.rc.res:
- $(RC) $(RCFLAGS) $< -o $@
-
-clean:
- -$(RM) $(libcurl_a_OBJECTS) $(RESOURCE)
-
-distrib: clean
- -$(RM) $(libcurl_a_LIBRARY) $(libcurl_dll_LIBRARY) $(libcurl_dll_a_LIBRARY)
-
-FORCE: ;
-
-$(ARES_LIB)/libcares.a:
- $(MAKE) -C $(ARES_LIB) -f Makefile.m32
-
-
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.netware b/Utilities/cmcurl-7.19.0/lib/Makefile.netware
deleted file mode 100644
index 9d7c78c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.netware
+++ /dev/null
@@ -1,622 +0,0 @@
-#################################################################
-# $Id$
-#
-## Makefile for building libcurl.nlm (NetWare version - gnu make)
-## Use: make -f Makefile.netware
-##
-## Comments to: Guenter Knauf http://www.gknw.de/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.3
-endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8h
-endif
-
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../libssh2-0.18
-endif
-
-ifndef INSTDIR
-INSTDIR = ..$(DS)curl-$(LIBCURL_VERSION_STR)-bin-nw
-endif
-
-# Edit the vars below to change NLM target settings.
-TARGET = libcurl
-VERSION = $(LIBCURL_VERSION)
-COPYR = Copyright (C) $(LIBCURL_COPYRIGHT_STR)
-DESCR = cURL libcurl $(LIBCURL_VERSION_STR) ($(LIBARCH)) - http://curl.haxx.se
-MTSAFE = YES
-STACK = 64000
-SCREEN = none
-EXPORTS = @libcurl.imp
-
-# 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
-# a native win32 awk can be downloaded from here:
-# http://www.gknw.net/development/prgtools/awk-20070501.zip
-AWK = awk
-YACC = bison -y
-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) $(OBJL) -o $@ -commandfile
-AR = mwldnlm
-ARFLAGS = -nostdlib -type library -o
-LIBEXT = lib
-#RANLIB =
-CFLAGS += -msgstyle gcc -gccinc -inline off -opt nointrinsics -proc 586
-CFLAGS += -relax_pointers
-#CFLAGS += -w on
-ifeq ($(LIBARCH),LIBC)
-ifeq ($(POSIXFL),1)
- PRELUDE = $(SDK_LIBC)/imports/posixpre.o
-else
- PRELUDE = $(SDK_LIBC)/imports/libcpre.o
-endif
- CFLAGS += -align 4
-else
- # PRELUDE = $(SDK_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
-AR = ar
-ARFLAGS = -cq
-LIBEXT = a
-RANLIB = ranlib
-CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
-CFLAGS += -Wall # -pedantic
-ifeq ($(LIBARCH),LIBC)
-ifeq ($(POSIXFL),1)
- PRELUDE = $(SDK_LIBC)/imports/posixpre.gcc.o
-else
- PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
-endif
-else
- PRELUDE = $(SDK_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
-SDK_CLIB = $(NDK_ROOT)/nwsdk
-SDK_LIBC = $(NDK_ROOT)/libc
-SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
-CURL_INC = ../include
-CURL_LIB = ../lib
-ARES_LIB = ../ares
-
-INCLUDES = -I$(CURL_INC) -I$(CURL_LIB)
-
-ifdef WITH_ARES
- INCLUDES += -I$(ARES_LIB)
- LDLIBS += $(ARES_LIB)/libcares.$(LIBEXT)
-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_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
- INSTDEP += ca-bundle.crt
-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
-
-ifeq ($(LIBARCH),LIBC)
- INCLUDES += -I$(SDK_LIBC)/include
- # INCLUDES += -I$(SDK_LIBC)/include/nks
- # INCLUDES += -I$(SDK_LIBC)/include/winsock
- CFLAGS += -D_POSIX_SOURCE
-else
- INCLUDES += -I$(SDK_CLIB)/include/nlm
- # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
- # INCLUDES += -I$(SDK_CLIB)/include
-endif
-ifndef DISABLE_LDAP
- INCLUDES += -I$(SDK_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 linux,$(OSTYPE)),linux)
-DL = '
-DS = /
-PCT = %
-#-include $(NDKBASE)/nlmconv/ncpfs.inc
-else
-DS = \\
-PCT = %%
-endif
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-OBJS := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(CSOURCES))) $(OBJDIR)/nwos.o
-
-OBJL = $(OBJS) $(OBJDIR)/nwlib.o $(LDLIBS)
-
-all: lib nlm
-
-nlm: prebuild $(TARGET).nlm
-
-lib: prebuild $(TARGET).$(LIBEXT)
-
-prebuild: $(OBJDIR) $(CURL_INC)/curl/curlbuild.h $(OBJDIR)/version.inc config.h
-
-$(OBJDIR)/%.o: %.c
-# @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/version.inc: ../include/curl/curlver.h $(OBJDIR)
- @echo Creating $@
- @$(AWK) -f ../packages/NetWare/get_ver.awk $< > $@
-
-install: $(INSTDIR) all $(INSTDEP)
- @$(CP) $(TARGET).nlm $(INSTDIR)
- @$(CP) $(TARGET).$(LIBEXT) $(INSTDIR)
- @$(CP) ../CHANGES $(INSTDIR)
- @$(CP) ../COPYING $(INSTDIR)
- @$(CP) ../README $(INSTDIR)
- @$(CP) ../RELEASE-NOTES $(INSTDIR)
-ifdef WITH_SSL
- @-$(CP) ca-bundle.crt $(INSTDIR)/ca-bundle.crt
-endif
-
-clean:
- -$(RM) config.h
- -$(RM) -r $(OBJDIR)
-
-distclean: clean
- -$(RM) $(TARGET).$(LIBEXT) $(TARGET).nlm
- -$(RM) certdata.txt ca-bundle.crt
-
-$(OBJDIR) $(INSTDIR):
- @$(MKDIR) $@
-
-$(TARGET).$(LIBEXT): $(OBJS)
- @echo Creating $@
- @-$(RM) $@
- @$(AR) $(ARFLAGS) $@ $^
-ifdef RANLIB
- @$(RANLIB) $@
-endif
-
-$(TARGET).nlm: $(OBJDIR)/$(TARGET).def $(OBJL) $(XDCDATA)
- @echo Linking $@
- @-$(RM) $@
- @$(LD) $(LDFLAGS) $<
-
-$(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)"$(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 "$(SCREEN)"$(DL) >> $@
-else
- @echo $(DL)screenname "DEFAULT"$(DL) >> $@
-endif
-ifneq ($(DB),NDEBUG)
- @echo $(DL)debug$(DL) >> $@
-endif
- @echo $(DL)threadname "$(TARGET)"$(DL) >> $@
-ifdef XDCDATA
- @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
-endif
- @echo $(DL)flag_on 64$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
- @echo $(DL)start _Prelude$(DL) >> $@
- @echo $(DL)exit _Stop$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
- @echo $(DL)module clib$(DL) >> $@
-ifndef DISABLE_LDAP
- @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
-# @echo $(DL)import @$(SDK_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)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 @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
- @echo $(DL)module libc$(DL) >> $@
-ifndef DISABLE_LDAP
- @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
-# @echo $(DL)import @$(SDK_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 $(OBJL)$(DL) >> $@
-#ifdef LDLIBS
-# @echo $(DL)input $(LDLIBS)$(DL) >> $@
-#endif
- @echo $(DL)output $(TARGET).nlm$(DL) >> $@
-endif
-
-config.h: Makefile.netware
- @echo Creating $@
- @echo $(DL)/* $@ for NetWare target.$(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)#ifndef NETWARE$(DL) >> $@
- @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@
- @echo $(DL)#endif$(DL) >> $@
- @echo $(DL)#define VERSION "$(LIBCURL_VERSION_STR)"$(DL) >> $@
- @echo $(DL)#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
- @echo $(DL)#define OS "i586-pc-clib-NetWare"$(DL) >> $@
- @echo $(DL)#define NETDB_USE_INTERNET 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRICMP 1$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG2 char *$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG3 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@
- @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG2 char *$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG3 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_RETV int$(DL) >> $@
- @echo $(DL)#define socklen_t int$(DL) >> $@
- @echo $(DL)#define pressanykey PressAnyKeyToContinue$(DL) >> $@
-else
- @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@
- @echo $(DL)#define HAVE_FTRUNCATE 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_PTON 1$(DL) >> $@
- @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRTOLL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@
- @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG2 void *$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG3 size_t$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 size_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2_IS_VOID 1$(DL) >> $@
- @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG2 void *$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG3 size_t$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_RETV ssize_t$(DL) >> $@
- @echo $(DL)#define SIZEOF_STRUCT_IN6_ADDR 16$(DL) >> $@
-ifdef ENABLE_IPV6
- @echo $(DL)#define ENABLE_IPV6 1$(DL) >> $@
-endif
-endif
- @echo $(DL)#define USE_MANUAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETHOSTBYNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETPROTOBYNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_GMTIME_R 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_NTOA 1$(DL) >> $@
- @echo $(DL)#define HAVE_LL 1$(DL) >> $@
- @echo $(DL)#define HAVE_LOCALE_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LOCALTIME_R 1$(DL) >> $@
- @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_NETINET_IN_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_RECV 1$(DL) >> $@
- @echo $(DL)#define HAVE_RECVFROM 1$(DL) >> $@
- @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@
- @echo $(DL)#define HAVE_SEND 1$(DL) >> $@
- @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SETLOCALE 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIGNAL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIG_ATOMIC_T 1$(DL) >> $@
- @echo $(DL)#define HAVE_SOCKET 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_TIMEVAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_IOCTL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_UTIME 1$(DL) >> $@
- @echo $(DL)#define HAVE_UTIME_H 1$(DL) >> $@
- @echo $(DL)#define RETSIGTYPE void$(DL) >> $@
- @echo $(DL)#define SIZEOF_STRUCT_IN_ADDR 4$(DL) >> $@
- @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
- @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
-ifdef DISABLE_LDAP
- @echo $(DL)#define CURL_DISABLE_LDAP 1$(DL) >> $@
-else
- @echo $(DL)#define CURL_HAS_NOVELL_LDAPSDK 1$(DL) >> $@
-ifndef DISABLE_LDAPS
- @echo $(DL)#define HAVE_LDAP_SSL 1$(DL) >> $@
-endif
- @echo $(DL)#define HAVE_LDAP_SSL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LDAP_URL_PARSE 1$(DL) >> $@
-endif
-ifdef NW_WINSOCK
- @echo $(DL)#define HAVE_CLOSESOCKET 1$(DL) >> $@
-else
- @echo $(DL)#define USE_BSD_SOCKETS 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SOCKET_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SOCKIO_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_NETDB_H 1$(DL) >> $@
-endif
-ifdef WITH_ARES
- @echo $(DL)#define USE_ARES 1$(DL) >> $@
-endif
-ifdef WITH_ZLIB
- @echo $(DL)#define HAVE_ZLIB_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBZ 1$(DL) >> $@
-endif
-ifdef WITH_SSL
- @echo $(DL)#define USE_SSLEAY 1$(DL) >> $@
- @echo $(DL)#define USE_OPENSSL 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_X509_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_SSL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_RSA_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_PEM_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_ERR_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_CRYPTO_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_ENGINE_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBSSL 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBCRYPTO 1$(DL) >> $@
- @echo $(DL)#define OPENSSL_NO_KRB5 1$(DL) >> $@
-endif
-ifdef WITH_SSH2
- @echo $(DL)#define USE_LIBSSH2 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBSSH2_H 1$(DL) >> $@
-endif
- @echo $(DL)#ifdef __GNUC__$(DL) >> $@
- @echo $(DL)#define HAVE_VARIADIC_MACROS_GCC 1$(DL) >> $@
- @echo $(DL)#else$(DL) >> $@
- @echo $(DL)#define HAVE_VARIADIC_MACROS_C99 1$(DL) >> $@
- @echo $(DL)#endif$(DL) >> $@
-ifdef OLD_NOVELLSDK
- @echo $(DL)#define socklen_t int$(DL) >> $@
-endif
-ifdef CABUNDLE
- @echo $(DL)#define CURL_CA_BUNDLE "$(CABUNDLE)"$(DL) >> $@
-else
- @echo $(DL)#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")$(DL) >> $@
-endif
-
-FORCE: ;
-
-info: $(OBJDIR)/version.inc
- @echo Configured to build $(TARGET) with these options:
- @echo libarchitecture: $(LIBARCH)
- @echo curl version: $(LIBCURL_VERSION_STR)
- @echo compiler/linker: $(CC) / $(LD)
-ifdef CABUNDLE
- @echo ca-bundle path: $(CABUNDLE)
-endif
-ifdef WITH_SSL
- @echo SSL support: enabled (OpenSSL)
-else
- @echo SSL support: no
-endif
-ifdef WITH_SSH2
- @echo SSH2 support: enabled (libssh2)
-else
- @echo SSH2 support: no
-endif
-ifdef WITH_ZLIB
- @echo zlib support: enabled
-else
- @echo zlib support: no
-endif
-ifdef WITH_ARES
- @echo c-ares support: enabled
-else
- @echo c-ares support: no
-endif
-ifdef ENABLE_IPV6
- @echo ipv6 support: enabled
-else
- @echo ipv6 support: no
-endif
-
-$(ARES_LIB)/libcares.$(LIBEXT):
- $(MAKE) -C $(ARES_LIB) -f Makefile.netware lib
-
-ca-bundle.crt: mk-ca-bundle.pl
- @echo Creating $@
- @-$(PERL) $< -b -n $@
-
-$(CURL_INC)/curl/curlbuild.h: Makefile.netware FORCE
- @echo Creating $@
- @echo $(DL)/* $@ intended for NetWare target.$(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)#ifndef __CURL_CURLBUILD_H$(DL) >> $@
- @echo $(DL)#define __CURL_CURLBUILD_H$(DL) >> $@
-ifeq ($(LIBARCH),LIBC)
- @echo $(DL)#define CURL_SIZEOF_LONG 4$(DL) >> $@
- @echo $(DL)#define CURL_TYPEOF_CURL_OFF_T long long$(DL) >> $@
- @echo $(DL)#define CURL_FORMAT_CURL_OFF_T "lld"$(DL) >> $@
- @echo $(DL)#define CURL_FORMAT_CURL_OFF_TU "llu"$(DL) >> $@
- @echo $(DL)#define CURL_FORMAT_OFF_T "$(PCT)lld"$(DL) >> $@
- @echo $(DL)#define CURL_SIZEOF_CURL_OFF_T 8$(DL) >> $@
- @echo $(DL)#define CURL_SUFFIX_CURL_OFF_T LL$(DL) >> $@
- @echo $(DL)#define CURL_SUFFIX_CURL_OFF_TU ULL$(DL) >> $@
-else
- @echo $(DL)#define CURL_SIZEOF_LONG 4$(DL) >> $@
- @echo $(DL)#define CURL_TYPEOF_CURL_OFF_T long$(DL) >> $@
- @echo $(DL)#define CURL_FORMAT_CURL_OFF_T "ld"$(DL) >> $@
- @echo $(DL)#define CURL_FORMAT_CURL_OFF_TU "lu"$(DL) >> $@
- @echo $(DL)#define CURL_FORMAT_OFF_T "$(PCT)ld"$(DL) >> $@
- @echo $(DL)#define CURL_SIZEOF_CURL_OFF_T 4$(DL) >> $@
- @echo $(DL)#define CURL_SUFFIX_CURL_OFF_T L$(DL) >> $@
- @echo $(DL)#define CURL_SUFFIX_CURL_OFF_TU UL$(DL) >> $@
-endif
- @echo $(DL)typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;$(DL) >> $@
- @echo $(DL)#endif /* __CURL_CURLBUILD_H */$(DL) >> $@
-
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.riscos b/Utilities/cmcurl-7.19.0/lib/Makefile.riscos
deleted file mode 100644
index ef758b4..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.riscos
+++ /dev/null
@@ -1,153 +0,0 @@
-# Makefile for project libcurl
-# Generated on Sun,13 Jan 2002.16:57:00 by EasyGCC (0.1.3 [beta 2] (3 Jan 2002))
-# Contact: easygcc@melotech.co.uk
-
-# Project objects:
-objs = o.base64 o.connect o.cookie o.dict \
- o.dllinit o.easy o.escape o.file \
- o.formdata o.ftp o.getenv \
- o.getinfo o.getpass o.hostip \
- o.hostip4 o.hostsyn o.http \
- o.http_chunks o.inet_ntop o.inet_pton o.if2ip o.krb4 o.ldap \
- o.memdebug o.mprintf o.netrc o.parsedate o.progress \
- o.security o.select o.sendf o.speedcheck o.ssluse \
- o.strequal o.strtok o.telnet o.timeval \
- o.transfer o.url o.version o.strtoofft o.sslgen o.gtls
-
-# Compile options:
-linkopts = -o libcurl
-compileropts = -mpoke-function-name -IUtilLib: -mthrowback
-
-# Project target:
-libcurl: $(objs)
- makealf $(linkopts) $(objs)
-
-# Static dependancies:
-o.base64: c.base64
- gcc $(compileropts) -c -o base64.o c.base64
-
-o.connect: c.connect
- gcc $(compileropts) -c -o connect.o c.connect
-
-o.cookie: c.cookie
- gcc $(compileropts) -c -o cookie.o c.cookie
-
-o.dict: c.dict
- gcc $(compileropts) -c -o dict.o c.dict
-
-o.dllinit: c.dllinit
- gcc $(compileropts) -c -o dllinit.o c.dllinit
-
-o.easy: c.easy
- gcc $(compileropts) -c -o easy.o c.easy
-
-o.escape: c.escape
- gcc $(compileropts) -c -o escape.o c.escape
-
-o.file: c.file
- gcc $(compileropts) -c -o file.o c.file
-
-o.formdata: c.formdata
- gcc $(compileropts) -c -o formdata.o c.formdata
-
-o.ftp: c.ftp
- gcc $(compileropts) -c -o ftp.o c.ftp
-
-o.getenv: c.getenv
- gcc $(compileropts) -c -o getenv.o c.getenv
-
-o.getinfo: c.getinfo
- gcc $(compileropts) -c -o getinfo.o c.getinfo
-
-o.getpass: c.getpass
- gcc $(compileropts) -c -o getpass.o c.getpass
-
-o.hostip: c.hostip
- gcc $(compileropts) -c -o hostip.o c.hostip
-
-o.hostip4: c.hostip4
- gcc $(compileropts) -c -o hostip4.o c.hostip4
-
-o.hostsyn: c.hostsyn
- gcc $(compileropts) -c -o hostsyn.o c.hostsyn
-
-o.http: c.http
- gcc $(compileropts) -c -o http.o c.http
-
-o.http_chunks: c.http_chunks
- gcc $(compileropts) -c -o http_chunks.o c.http_chunks
-
-o.if2ip: c.if2ip
- gcc $(compileropts) -c -o if2ip.o c.if2ip
-
-o.inet_ntop: c.inet_ntop
- gcc $(compileropts) -c -o inet_ntop.o c.inet_ntop
-
-o.inet_pton: c.inet_pton
- gcc $(compileropts) -c -o inet_pton.o c.inet_pton
-
-o.krb4: c.krb4
- gcc $(compileropts) -c -o krb4.o c.krb4
-
-o.ldap: c.ldap
- gcc $(compileropts) -IOpenLDAP: -c -o ldap.o c.ldap
-
-o.memdebug: c.memdebug
- gcc $(compileropts) -c -o memdebug.o c.memdebug
-
-o.mprintf: c.mprintf
- gcc $(compileropts) -c -o mprintf.o c.mprintf
-
-o.netrc: c.netrc
- gcc $(compileropts) -c -o netrc.o c.netrc
-
-o.parsedate: c.parsedate
- gcc $(compileropts) -c -o parsedate.o c.parsedate
-
-o.progress: c.progress
- gcc $(compileropts) -c -o progress.o c.progress
-
-o.security: c.security
- gcc $(compileropts) -c -o security.o c.security
-
-o.select: c.select
- gcc $(compileropts) -c -o select.o c.select
-
-o.sendf: c.sendf
- gcc $(compileropts) -c -o sendf.o c.sendf
-
-o.speedcheck: c.speedcheck
- gcc $(compileropts) -c -o speedcheck.o c.speedcheck
-
-o.gtls: c.gtls
- gcc $(compileropts) -c -o gtls.o c.gtls
-
-o.sslgen: c.sslgen
- gcc $(compileropts) -c -o sslgen.o c.sslgen
-
-o.ssluse: c.ssluse
- gcc $(compileropts) -c -o ssluse.o c.ssluse
-
-o.strequal: c.strequal
- gcc $(compileropts) -c -o strequal.o c.strequal
-
-o.strtok: c.strtok
- gcc $(compileropts) -c -o strtok.o c.strtok
-
-o.strtoofft: c.strtoofft
- gcc $(compileropts) -c -o strtoofft.o c.strtoofft
-
-o.telnet: c.telnet
- gcc $(compileropts) -c -o telnet.o c.telnet
-
-o.timeval: c.timeval
- gcc $(compileropts) -c -o timeval.o c.timeval
-
-o.transfer: c.transfer
- gcc $(compileropts) -c -o transfer.o c.transfer
-
-o.url: c.url
- gcc $(compileropts) -c -o url.o c.url
-
-o.version: c.version
- gcc $(compileropts) -c -o version.o c.version
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.vc6 b/Utilities/cmcurl-7.19.0/lib/Makefile.vc6
deleted file mode 100644
index 82b22c2..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.vc6
+++ /dev/null
@@ -1,520 +0,0 @@
-#############################################################
-# $Id$
-#
-# Makefile for building libcurl with MSVC6
-#
-# Usage: see usage message below
-# Should be invoked from \lib directory
-# Edit the paths and desired library name
-# SSL path is only required if you intend compiling
-# with SSL.
-#
-# This make file leaves the result either a .lib or .dll file
-# in the \lib directory. It should be called from the \lib
-# directory.
-#
-# An option would have been to allow the source directory to
-# be specified, but I saw no requirement.
-#
-# Another option would have been to leave the .lib and .dll
-# files in the "cfg" directory, but then the make file
-# in \src would need to be changed.
-#
-##############################################################
-
-#
-# Stem for static libs and DLLs
-#
-LIB_NAME = libcurl
-LIB_NAME_DEBUG = libcurld
-
-#
-# Stem for DLL import libs
-#
-IMPLIB_NAME = libcurl_imp
-IMPLIB_NAME_DEBUG = libcurld_imp
-
-!IFNDEF OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-!ENDIF
-
-!IFNDEF ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-!ENDIF
-
-!IFNDEF MACHINE
-MACHINE = X86
-!ENDIF
-
-# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
-# without an openssl installation and offers the ability to authenticate
-# using the "current logged in user". Since at least with MSVC6 the sspi.h
-# header is broken it is either required to install the Windows SDK,
-# or to fix sspi.h with adding this define at the beginning of sspi.h:
-# #define FreeCredentialHandle FreeCredentialsHandle
-#
-# If, for some reason the Windows SDK is installed but not installed
-# in the default location, you can specify WINDOWS_SDK_PATH.
-# It can be downloaded from:
-# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
-
-# WINDOWS_SSPI = 1
-
-!IFDEF WINDOWS_SSPI
-!IFNDEF WINDOWS_SDK_PATH
-WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
-!ENDIF
-!ENDIF
-
-#############################################################
-## Nothing more to do below this line!
-
-CCNODBG = cl.exe /O2 /DNDEBUG
-CCDEBUG = cl.exe /Od /Gm /Zi /D_DEBUG /GZ
-CFLAGSSSL = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
-CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
-CFLAGS = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL
-CFLAGSLIB = /DCURL_STATICLIB
-LNKDLL = link.exe /DLL
-LNKLIB = link.exe /lib
-LFLAGS = /nologo /machine:$(MACHINE)
-SSLLIBS = libeay32.lib ssleay32.lib
-ZLIBLIBSDLL= zdll.lib
-ZLIBLIBS = zlib.lib
-WINLIBS = wsock32.lib wldap32.lib
-CFLAGS = $(CFLAGS)
-
-CFGSET = FALSE
-
-!IFDEF WINDOWS_SSPI
-CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
-!ENDIF
-
-##############################################################
-# Runtime library configuration
-
-RTLIB = /MD
-RTLIBD = /MDd
-
-!IF "$(RTLIBCFG)" == "static"
-RTLIB = /MT
-RTLIBD = /MTd
-!ENDIF
-
-
-######################
-# release
-
-!IF "$(CFG)" == "release"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-zlib
-
-!IF "$(CFG)" == "release-zlib"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-dll
-
-!IF "$(CFG)" == "release-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# release-ssl
-
-!IF "$(CFG)" == "release-ssl"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-ssl-dll
-
-!IF "$(CFG)" == "release-ssl-dll"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-ssl-zlib
-
-!IF "$(CFG)" == "release-ssl-zlib"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-dll-ssl-dll
-
-!IF "$(CFG)" == "release-dll-ssl-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# release-zlib-dll
-
-!IF "$(CFG)" == "release-zlib-dll"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-dll-zlib-dll
-
-!IF "$(CFG)" == "release-dll-zlib-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# release-dll-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug
-
-!IF "$(CFG)" == "debug"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl
-
-!IF "$(CFG)" == "debug-ssl"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-zlib
-
-!IF "$(CFG)" == "debug-zlib"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl-dll
-
-!IF "$(CFG)" == "debug-ssl-dll"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl-zlib
-
-!IF "$(CFG)" == "debug-ssl-zlib"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-zlib-dll
-
-!IF "$(CFG)" == "debug-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-dll
-
-!IF "$(CFG)" == "debug-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug-dll-ssl-dll
-
-!IF "$(CFG)" == "debug-dll-ssl-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug-dll-zlib-dll
-
-!IF "$(CFG)" == "debug-dll-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug-dll-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-#######################
-# Usage
-#
-!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
-!MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
-!MESSAGE where <config> is one of:
-!MESSAGE release - release static library
-!MESSAGE release-ssl - release static library with ssl
-!MESSAGE release-zlib - release static library with zlib
-!MESSAGE release-ssl-zlib - release static library with ssl and zlib
-!MESSAGE release-ssl-dll - release static library with dynamic ssl
-!MESSAGE release-zlib-dll - release static library with dynamic zlib
-!MESSAGE release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib
-!MESSAGE release-dll - release dynamic library
-!MESSAGE release-dll-ssl-dll - release dynamic library with dynamic ssl
-!MESSAGE release-dll-zlib-dll - release dynamic library with dynamic zlib
-!MESSAGE release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
-!MESSAGE debug - debug static library
-!MESSAGE debug-ssl - debug static library with ssl
-!MESSAGE debug-zlib - debug static library with zlib
-!MESSAGE debug-ssl-zlib - debug static library with ssl and zlib
-!MESSAGE debug-ssl-dll - debug static library with dynamic ssl
-!MESSAGE debug-zlib-dll - debug static library with dynamic zlib
-!MESSAGE debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib
-!MESSAGE debug-dll - debug dynamic library
-!MESSAGE debug-dll-ssl-dll - debug dynamic library with dynamic ssl
-!MESSAGE debug-dll-zlib-dll - debug dynamic library with dynamic zlib1
-!MESSAGE debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib
-!MESSAGE <target> can be left blank in which case all is assumed
-!ERROR please choose a valid configuration "$(CFG)"
-!ENDIF
-
-#######################
-# Only the clean target can be used if a config was not provided.
-#
-!IF "$(CFGSET)" == "FALSE"
-clean:
- @-erase /s *.dll 2> NUL
- @-erase /s *.exp 2> NUL
- @-erase /s *.idb 2> NUL
- @-erase /s *.lib 2> NUL
- @-erase /s *.obj 2> NUL
- @-erase /s *.pch 2> NUL
- @-erase /s *.pdb 2> NUL
- @-erase /s *.res 2> NUL
-!ELSE
-# A config was provided, so the library can be built.
-#
-X_OBJS= \
- $(DIROBJ)\base64.obj \
- $(DIROBJ)\cookie.obj \
- $(DIROBJ)\transfer.obj \
- $(DIROBJ)\escape.obj \
- $(DIROBJ)\formdata.obj \
- $(DIROBJ)\ftp.obj \
- $(DIROBJ)\http.obj \
- $(DIROBJ)\http_chunks.obj \
- $(DIROBJ)\ldap.obj \
- $(DIROBJ)\dict.obj \
- $(DIROBJ)\telnet.obj \
- $(DIROBJ)\parsedate.obj \
- $(DIROBJ)\getenv.obj \
- $(DIROBJ)\gtls.obj \
- $(DIROBJ)\inet_pton.obj \
- $(DIROBJ)\hostip.obj \
- $(DIROBJ)\hostasyn.obj \
- $(DIROBJ)\hostsyn.obj \
- $(DIROBJ)\hostares.obj \
- $(DIROBJ)\hostthre.obj \
- $(DIROBJ)\hostip4.obj \
- $(DIROBJ)\hostip6.obj \
- $(DIROBJ)\inet_ntop.obj \
- $(DIROBJ)\if2ip.obj \
- $(DIROBJ)\mprintf.obj \
- $(DIROBJ)\netrc.obj \
- $(DIROBJ)\progress.obj \
- $(DIROBJ)\sendf.obj \
- $(DIROBJ)\speedcheck.obj \
- $(DIROBJ)\sslgen.obj \
- $(DIROBJ)\ssluse.obj \
- $(DIROBJ)\timeval.obj \
- $(DIROBJ)\url.obj \
- $(DIROBJ)\file.obj \
- $(DIROBJ)\getinfo.obj \
- $(DIROBJ)\version.obj \
- $(DIROBJ)\easy.obj \
- $(DIROBJ)\strequal.obj \
- $(DIROBJ)\strtok.obj \
- $(DIROBJ)\strtoofft.obj \
- $(DIROBJ)\connect.obj \
- $(DIROBJ)\hash.obj \
- $(DIROBJ)\llist.obj \
- $(DIROBJ)\share.obj \
- $(DIROBJ)\multi.obj \
- $(DIROBJ)\http_digest.obj \
- $(DIROBJ)\http_negotiate.obj \
- $(DIROBJ)\http_ntlm.obj \
- $(DIROBJ)\md5.obj \
- $(DIROBJ)\memdebug.obj \
- $(DIROBJ)\strerror.obj \
- $(DIROBJ)\select.obj \
- $(DIROBJ)\content_encoding.obj \
- $(DIROBJ)\tftp.obj \
- $(DIROBJ)\splay.obj \
- $(DIROBJ)\socks.obj \
- $(RESOURCE)
-
-all : $(TARGET)
-
-$(TARGET): $(X_OBJS)
- $(LNK) $(LFLAGS) $(X_OBJS)
- -xcopy $(DIROBJ)\$(LIB_NAME).dll . /y
- -xcopy $(DIROBJ)\$(LIB_NAME).lib . /y
- -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y
- -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y
- -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib . /y
- -xcopy $(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib . /y
- -xcopy $(DIROBJ)\*.exp . /y
- -xcopy $(DIROBJ)\*.pdb . /y
-
-$(X_OBJS): $(DIROBJ)
-
-$(DIROBJ):
- @if not exist "$(DIROBJ)" mkdir $(DIROBJ)
-
-.SUFFIXES: .c .obj .res
-
-{.\}.c{$(DIROBJ)\}.obj:
- $(CC) $(CFLAGS) /Fo"$@" $<
-
-debug-dll\libcurl.res \
-debug-dll-ssl-dll\libcurl.res \
-debug-dll-zlib-dll\libcurl.res \
-debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
- rc /dCURLDEBUG=1 /Fo $@ libcurl.rc
-
-release-dll\libcurl.res \
-release-dll-ssl-dll\libcurl.res \
-release-dll-zlib-dll\libcurl.res \
-release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
- rc /dCURLDEBUG=0 /Fo $@ libcurl.rc
-!ENDIF # End of case where a config was provided.
diff --git a/Utilities/cmcurl-7.19.0/lib/Makefile.vc8 b/Utilities/cmcurl-7.19.0/lib/Makefile.vc8
deleted file mode 100644
index e308efa..0000000
--- a/Utilities/cmcurl-7.19.0/lib/Makefile.vc8
+++ /dev/null
@@ -1,520 +0,0 @@
-#############################################################
-# $Id$
-#
-# Makefile for building libcurl with MSVC8
-#
-# Usage: see usage message below
-# Should be invoked from \lib directory
-# Edit the paths and desired library name
-# SSL path is only required if you intend compiling
-# with SSL.
-#
-# This make file leaves the result either a .lib or .dll file
-# in the \lib directory. It should be called from the \lib
-# directory.
-#
-# An option would have been to allow the source directory to
-# be specified, but I saw no requirement.
-#
-# Another option would have been to leave the .lib and .dll
-# files in the "cfg" directory, but then the make file
-# in \src would need to be changed.
-#
-##############################################################
-
-#
-# Stem for static libs and DLLs
-#
-LIB_NAME = libcurl
-LIB_NAME_DEBUG = libcurld
-
-#
-# Stem for DLL import libs
-#
-IMPLIB_NAME = libcurl_imp
-IMPLIB_NAME_DEBUG = libcurld_imp
-
-!IFNDEF OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-!ENDIF
-
-!IFNDEF ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-!ENDIF
-
-!IFNDEF MACHINE
-MACHINE = X86
-!ENDIF
-
-# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
-# without an openssl installation and offers the ability to authenticate
-# using the "current logged in user". Since at least with MSVC8 the sspi.h
-# header is broken it is either required to install the Windows SDK,
-# or to fix sspi.h with adding this define at the beginning of sspi.h:
-# #define FreeCredentialHandle FreeCredentialsHandle
-#
-# If, for some reason the Windows SDK is installed but not installed
-# in the default location, you can specify WINDOWS_SDK_PATH.
-# It can be downloaded from:
-# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
-
-# WINDOWS_SSPI = 1
-
-!IFDEF WINDOWS_SSPI
-!IFNDEF WINDOWS_SDK_PATH
-WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
-!ENDIF
-!ENDIF
-
-#############################################################
-## Nothing more to do below this line!
-
-CCNODBG = cl.exe /O2 /DNDEBUG
-CCDEBUG = cl.exe /Od /Gm /Zi /D_DEBUG /RTC1
-CFLAGSSSL = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
-CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
-CFLAGS = /I. /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL
-CFLAGSLIB = /DCURL_STATICLIB
-LNKDLL = link.exe /DLL
-LNKLIB = link.exe /lib
-LFLAGS = /nologo /machine:$(MACHINE)
-SSLLIBS = libeay32.lib ssleay32.lib
-ZLIBLIBSDLL= zdll.lib
-ZLIBLIBS = zlib.lib
-WINLIBS = wsock32.lib bufferoverflowu.lib wldap32.lib
-CFLAGS = $(CFLAGS)
-
-CFGSET = FALSE
-
-!IFDEF WINDOWS_SSPI
-CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
-!ENDIF
-
-##############################################################
-# Runtime library configuration
-
-RTLIB = /MD
-RTLIBD = /MDd
-
-!IF "$(RTLIBCFG)" == "static"
-RTLIB = /MT
-RTLIBD = /MTd
-!ENDIF
-
-
-######################
-# release
-
-!IF "$(CFG)" == "release"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-zlib
-
-!IF "$(CFG)" == "release-zlib"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-dll
-
-!IF "$(CFG)" == "release-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# release-ssl
-
-!IF "$(CFG)" == "release-ssl"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-ssl-dll
-
-!IF "$(CFG)" == "release-ssl-dll"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-ssl-zlib
-
-!IF "$(CFG)" == "release-ssl-zlib"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-dll-ssl-dll
-
-!IF "$(CFG)" == "release-dll-ssl-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# release-zlib-dll
-
-!IF "$(CFG)" == "release-zlib-dll"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# release-dll-zlib-dll
-
-!IF "$(CFG)" == "release-dll-zlib-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# release-dll-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
-CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug
-
-!IF "$(CFG)" == "debug"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl
-
-!IF "$(CFG)" == "debug-ssl"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-zlib
-
-!IF "$(CFG)" == "debug-zlib"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl-dll
-
-!IF "$(CFG)" == "debug-ssl-dll"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl-zlib
-
-!IF "$(CFG)" == "debug-ssl-zlib"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
-LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-zlib-dll
-
-!IF "$(CFG)" == "debug-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).lib
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
-CFGSET = TRUE
-!ENDIF
-
-######################
-# debug-dll
-
-!IF "$(CFG)" == "debug-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug-dll-ssl-dll
-
-!IF "$(CFG)" == "debug-dll-ssl-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug-dll-zlib-dll
-
-!IF "$(CFG)" == "debug-dll-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-######################
-# debug-dll-ssl-dll-zlib-dll
-
-!IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
-TARGET = $(LIB_NAME_DEBUG).dll
-DIROBJ = $(CFG)
-LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
-LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
-LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
-CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
-CFGSET = TRUE
-RESOURCE = $(DIROBJ)\libcurl.res
-!ENDIF
-
-#######################
-# Usage
-#
-!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
-!MESSAGE Usage: nmake /f makefile.vc8 CFG=<config> <target>
-!MESSAGE where <config> is one of:
-!MESSAGE release - release static library
-!MESSAGE release-ssl - release static library with ssl
-!MESSAGE release-zlib - release static library with zlib
-!MESSAGE release-ssl-zlib - release static library with ssl and zlib
-!MESSAGE release-ssl-dll - release static library with dynamic ssl
-!MESSAGE release-zlib-dll - release static library with dynamic zlib
-!MESSAGE release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib
-!MESSAGE release-dll - release dynamic library
-!MESSAGE release-dll-ssl-dll - release dynamic library with dynamic ssl
-!MESSAGE release-dll-zlib-dll - release dynamic library with dynamic zlib
-!MESSAGE release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
-!MESSAGE debug - debug static library
-!MESSAGE debug-ssl - debug static library with ssl
-!MESSAGE debug-zlib - debug static library with zlib
-!MESSAGE debug-ssl-zlib - debug static library with ssl and zlib
-!MESSAGE debug-ssl-dll - debug static library with dynamic ssl
-!MESSAGE debug-zlib-dll - debug static library with dynamic zlib
-!MESSAGE debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib
-!MESSAGE debug-dll - debug dynamic library
-!MESSAGE debug-dll-ssl-dll - debug dynamic library with dynamic ssl
-!MESSAGE debug-dll-zlib-dll - debug dynamic library with dynamic zlib1
-!MESSAGE debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib
-!MESSAGE <target> can be left blank in which case all is assumed
-!ERROR please choose a valid configuration "$(CFG)"
-!ENDIF
-
-#######################
-# Only the clean target can be used if a config was not provided.
-#
-!IF "$(CFGSET)" == "FALSE"
-clean:
- @-erase /s *.dll 2> NUL
- @-erase /s *.exp 2> NUL
- @-erase /s *.idb 2> NUL
- @-erase /s *.lib 2> NUL
- @-erase /s *.obj 2> NUL
- @-erase /s *.pch 2> NUL
- @-erase /s *.pdb 2> NUL
- @-erase /s *.res 2> NUL
-!ELSE
-# A config was provided, so the library can be built.
-#
-X_OBJS= \
- $(DIROBJ)\base64.obj \
- $(DIROBJ)\cookie.obj \
- $(DIROBJ)\transfer.obj \
- $(DIROBJ)\escape.obj \
- $(DIROBJ)\formdata.obj \
- $(DIROBJ)\ftp.obj \
- $(DIROBJ)\http.obj \
- $(DIROBJ)\http_chunks.obj \
- $(DIROBJ)\ldap.obj \
- $(DIROBJ)\dict.obj \
- $(DIROBJ)\telnet.obj \
- $(DIROBJ)\parsedate.obj \
- $(DIROBJ)\getenv.obj \
- $(DIROBJ)\gtls.obj \
- $(DIROBJ)\inet_pton.obj \
- $(DIROBJ)\hostip.obj \
- $(DIROBJ)\hostasyn.obj \
- $(DIROBJ)\hostsyn.obj \
- $(DIROBJ)\hostares.obj \
- $(DIROBJ)\hostthre.obj \
- $(DIROBJ)\hostip4.obj \
- $(DIROBJ)\hostip6.obj \
- $(DIROBJ)\inet_ntop.obj \
- $(DIROBJ)\if2ip.obj \
- $(DIROBJ)\mprintf.obj \
- $(DIROBJ)\netrc.obj \
- $(DIROBJ)\progress.obj \
- $(DIROBJ)\sendf.obj \
- $(DIROBJ)\speedcheck.obj \
- $(DIROBJ)\sslgen.obj \
- $(DIROBJ)\ssluse.obj \
- $(DIROBJ)\timeval.obj \
- $(DIROBJ)\url.obj \
- $(DIROBJ)\file.obj \
- $(DIROBJ)\getinfo.obj \
- $(DIROBJ)\version.obj \
- $(DIROBJ)\easy.obj \
- $(DIROBJ)\strequal.obj \
- $(DIROBJ)\strtok.obj \
- $(DIROBJ)\strtoofft.obj \
- $(DIROBJ)\connect.obj \
- $(DIROBJ)\hash.obj \
- $(DIROBJ)\llist.obj \
- $(DIROBJ)\share.obj \
- $(DIROBJ)\multi.obj \
- $(DIROBJ)\http_digest.obj \
- $(DIROBJ)\http_negotiate.obj \
- $(DIROBJ)\http_ntlm.obj \
- $(DIROBJ)\md5.obj \
- $(DIROBJ)\memdebug.obj \
- $(DIROBJ)\strerror.obj \
- $(DIROBJ)\select.obj \
- $(DIROBJ)\content_encoding.obj \
- $(DIROBJ)\tftp.obj \
- $(DIROBJ)\splay.obj \
- $(DIROBJ)\socks.obj \
- $(RESOURCE)
-
-all : $(TARGET)
-
-$(TARGET): $(X_OBJS)
- $(LNK) $(LFLAGS) $(X_OBJS)
- -xcopy $(DIROBJ)\$(LIB_NAME).dll . /y
- -xcopy $(DIROBJ)\$(LIB_NAME).lib . /y
- -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y
- -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y
- -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib . /y
- -xcopy $(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib . /y
- -xcopy $(DIROBJ)\*.exp . /y
- -xcopy $(DIROBJ)\*.pdb . /y
-
-$(X_OBJS): $(DIROBJ)
-
-$(DIROBJ):
- @if not exist "$(DIROBJ)" mkdir $(DIROBJ)
-
-.SUFFIXES: .c .obj .res
-
-{.\}.c{$(DIROBJ)\}.obj:
- $(CC) $(CFLAGS) /Fo"$@" $<
-
-debug-dll\libcurl.res \
-debug-dll-ssl-dll\libcurl.res \
-debug-dll-zlib-dll\libcurl.res \
-debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
- rc /dCURLDEBUG=1 /Fo $@ libcurl.rc
-
-release-dll\libcurl.res \
-release-dll-ssl-dll\libcurl.res \
-release-dll-zlib-dll\libcurl.res \
-release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
- rc /dCURLDEBUG=0 /Fo $@ libcurl.rc
-!ENDIF # End of case where a config was provided.
diff --git a/Utilities/cmcurl-7.19.0/lib/NOTES b/Utilities/cmcurl-7.19.0/lib/NOTES
deleted file mode 100644
index 5d8a062..0000000
--- a/Utilities/cmcurl-7.19.0/lib/NOTES
+++ /dev/null
@@ -1,4 +0,0 @@
-This works:
-
- cl.exe /O2 /DNDEBUG /MD /DCURL_STATICLIB /I. /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL /Fo"release\select.obj" .\select.c
-select.c
diff --git a/Utilities/cmcurl-7.19.0/lib/README.NSS b/Utilities/cmcurl-7.19.0/lib/README.NSS
deleted file mode 100644
index e772fec..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.NSS
+++ /dev/null
@@ -1,33 +0,0 @@
- libcurl with NSS
- ================
-
-Author: Daniel Stenberg
-Date: June 24, 2008
-
-NSS home => http://www.mozilla.org/projects/security/pki/nss/
-
-libcurl can be built to use the NSS libraries for SSL/TLS. Invoke configure
---without-ssl --with-nss.
-
-The source code in lib/nss.c currently cause a compiler warning due to the
-lack of a prototype. The prototype is provided by the public header provided
-by NSS called "base64.h". But since we use a private header in libcurl named
-identically, we cannot include the NSS one.
-
-This problem persists because:
-
-* NSS doesn't use a properly established separate subdir for their include
- files. Instead different distros have put them in /usr/include/nss and
- /usr/include/nss3 etc.
-
-* The pkg-config output for NSS provides a full -I path to the nss include dir,
- so we cannot #include <nss/base64.h> or <nss3/base64.h>. This too may be due
- to how distros do it.
-
-* I tried getting the (all new in June 2008) NSS 3.12 tarball to check how it
- behaves out-of-box but this wouldn't even build - complaining on missing
- files that aren't included in the tarball. The tarball doesn't even include
- build instuctions but you must hunt them down on their web site.
-
-Due to these design problems we may of course get further similar problems in
-the future, but I hope we can work them out somehow along the way.
diff --git a/Utilities/cmcurl-7.19.0/lib/README.ares b/Utilities/cmcurl-7.19.0/lib/README.ares
deleted file mode 100644
index b94a166..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.ares
+++ /dev/null
@@ -1,72 +0,0 @@
-$Id$
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- How To Build libcurl to Use c-ares For Asynch Name Resolves
- ===========================================================
-
-c-ares:
- http://daniel.haxx.se/projects/c-ares/
-
-NOTE
- The latest libcurl version requires c-ares 1.4.0 or later.
-
- Once upon the time libcurl built fine with the "original" ares. That is no
- longer true. You need to use c-ares.
-
-Build c-ares
-============
-
-1. unpack the c-ares archive
-2. cd c-ares-dir
-3. ./configure
-4. make
-
-Build libcurl to use c-ares in the curl source tree
-===================================================
-
-1. name the c-ares source directory 'ares' in the curl source directory
- (if you have checked out the curl sources from CVS, you will already have
- c-ares in a directory named ares).
-2. ./configure --enable-ares
-3. make
-
-Build libcurl to use an installed c-ares
-========================================
-
-1. ./configure --enable-ares=/path/to/ares/install
-2. make
-
-c-ares and ipv6
-===============
-
-If the configure script enables IPv6 support you need to explicitly disable
-that (--disable-ipv6) since c-ares isn't IPv6 compatible (yet).
-
-c-ares on win32
-===============
-(description brought by Dominick Meglio)
-
-First I compiled c-ares. I changed the default C runtime library to be the
-single-threaded rather than the multi-threaded (this seems to be required to
-prevent linking errors later on). Then I simply build the areslib project (the
-other projects adig/ahost seem to fail under MSVC).
-
-Next was libcurl. I opened lib/config-win32.h and I added a:
- #define USE_ARES 1
-
-Next thing I did was I added the path for the ares includes to the include
-path, and the libares.lib to the libraries.
-
-Lastly, I also changed libcurl to be single-threaded rather than
-multi-threaded, again this was to prevent some duplicate symbol errors. I'm
-not sure why I needed to change everything to single-threaded, but when I
-didn't I got redefinition errors for several CRT functions (malloc, stricmp,
-etc.)
-
-I would have modified the MSVC++ project files, but I only have VC.NET and it
-uses a different format than VC6.0 so I didn't want to go and change
-everything and remove VC6.0 support from libcurl.
diff --git a/Utilities/cmcurl-7.19.0/lib/README.curl_off_t b/Utilities/cmcurl-7.19.0/lib/README.curl_off_t
deleted file mode 100644
index 923b277..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.curl_off_t
+++ /dev/null
@@ -1,68 +0,0 @@
-
- curl_off_t explained
- ====================
-
-curl_off_t is a data type provided by the external libcurl include headers. It
-is the type meant to be used for the curl_easy_setopt() options that end with
-LARGE. The type is 64bit large on most modern platforms.
-
-Transition from < 7.19.0 to >= 7.19.0
--------------------------------------
-
-Applications that used libcurl before 7.19.0 that are rebuilt with a libcurl
-that is 7.19.0 or later may or may not have to worry about anything of
-this. We have made a significant effort to make the transition really seamless
-and transparent.
-
-You have have to take notice if you are in one of the following situations:
-
-o Your app is using or will after the transition use a libcurl that is built
- with LFS (large file support) disabled even though your system otherwise
- supports it.
-
-o Your app is using or will after the transition use a libcurl that doesn't
- support LFS at all, but your system and compiler support 64bit data types.
-
-In both these cases, the curl_off_t type will now (after the transition) be
-64bit where it previously was 32bit. This will cause a binary incompatibility
-that you MAY need to deal with.
-
-Benefits
---------
-
-This new way has several benefits:
-
-o Platforms without LFS support can still use libcurl to do >32 bit file
- transfers and range operations etc as long as they have >32 bit data-types
- supported.
-
-o Applications will no longer easily build with the curl_off_t size
- mismatched, which has been a very frequent (and annoying) problem with
- libcurl <= 7.18.2
-
-Historically
-------------
-
-Previously, before 7.19.0, the curl_off_t type would be rather strongly
-connected to the size of the system off_t type, where currently curl_off_t is
-independent of that.
-
-The strong connection to off_t made it troublesome for application authors
-since when they did mistakes, they could get curl_off_t type of different
-sizes in the app vs libcurl, and that caused strange effects that were hard to
-track and detect by users of libcurl.
-
-SONAME
-------
-
-We opted to not bump the soname for the library unconditionally, simply
-because soname bumping is causing a lot of grief and moaning all over the
-community so we try to keep that at minimum. Also, our selected design path
-should be 100% backwards compatible for the vast majority of all libcurl
-users.
-
-Enforce SONAME bump
--------------------
-
-If configure doesn't detect your case where a bump is necessary, re-run it
-with the --enable-soname-bump command line option!
diff --git a/Utilities/cmcurl-7.19.0/lib/README.curlx b/Utilities/cmcurl-7.19.0/lib/README.curlx
deleted file mode 100644
index 13645cb..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.curlx
+++ /dev/null
@@ -1,62 +0,0 @@
-$Id$
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- Source Code Functions Apps Might Use
- ====================================
-
-The libcurl source code offers a few functions by source only. They are not
-part of the official libcurl API, but the source files might be useful for
-others so apps can optionally compile/build with these sources to gain
-additional functions.
-
-We provide them through a single header file for easy access for apps:
-"curlx.h"
-
- curlx_strtoofft()
-
- A macro that converts a string containing a number to a curl_off_t number.
- This might use the curlx_strtoll() function which is provided as source
- code in strtoofft.c. Note that the function is only provided if no
- strtoll() (or equivalent) function exist on your platform. If curl_off_t
- is only a 32 bit number on your platform, this macro uses strtol().
-
- curlx_tvnow()
-
- returns a struct timeval for the current time.
-
- curlx_tvdiff()
-
- returns the difference between two timeval structs, in number of
- milliseconds.
-
- curlx_tvdiff_secs()
-
- returns the same as curlx_tvdiff but with full usec resolution (as a
- double)
-
-FUTURE
-======
-
- Several functions will be removed from the public curl_ name space in a
- future libcurl release. They will then only become available as curlx_
- functions instead. To make the transition easier, we already today provide
- these functions with the curlx_ prefix to allow sources to get built properly
- with the new function names. The functions this concerns are:
-
- curlx_getenv
- curlx_strequal
- curlx_strnequal
- curlx_mvsnprintf
- curlx_msnprintf
- curlx_maprintf
- curlx_mvaprintf
- curlx_msprintf
- curlx_mprintf
- curlx_mfprintf
- curlx_mvsprintf
- curlx_mvprintf
- curlx_mvfprintf
diff --git a/Utilities/cmcurl-7.19.0/lib/README.encoding b/Utilities/cmcurl-7.19.0/lib/README.encoding
deleted file mode 100644
index 1666e23..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.encoding
+++ /dev/null
@@ -1,60 +0,0 @@
-
- Content Encoding Support for libcurl
-
-* About content encodings:
-
-HTTP/1.1 [RFC 2616] specifies that a client may request that a server encode
-its response. This is usually used to compress a response using one of a set
-of commonly available compression techniques. These schemes are `deflate' (the
-zlib algorithm), `gzip' and `compress' [sec 3.5, RFC 2616]. A client requests
-that the sever perform an encoding by including an Accept-Encoding header in
-the request document. The value of the header should be one of the recognized
-tokens `deflate', ... (there's a way to register new schemes/tokens, see sec
-3.5 of the spec). A server MAY honor the client's encoding request. When a
-response is encoded, the server includes a Content-Encoding header in the
-response. The value of the Content-Encoding header indicates which scheme was
-used to encode the data.
-
-A client may tell a server that it can understand several different encoding
-schemes. In this case the server may choose any one of those and use it to
-encode the response (indicating which one using the Content-Encoding header).
-It's also possible for a client to attach priorities to different schemes so
-that the server knows which it prefers. See sec 14.3 of RFC 2616 for more
-information on the Accept-Encoding header.
-
-* Current support for content encoding:
-
-Support for the 'deflate' and 'gzip' content encoding are supported by
-libcurl. Both regular and chunked transfers should work fine. The library
-zlib is required for this feature. 'deflate' support was added by James
-Gallagher, and support for the 'gzip' encoding was added by Dan Fandrich.
-
-* The libcurl interface:
-
-To cause libcurl to request a content encoding use:
-
- curl_easy_setopt(curl, CURLOPT_ENCODING, <string>)
-
-where <string> is the intended value of the Accept-Encoding header.
-
-Currently, libcurl only understands how to process responses that use the
-"deflate" or "gzip" Content-Encoding, so the only values for CURLOPT_ENCODING
-that will work (besides "identity," which does nothing) are "deflate" and
-"gzip" If a response is encoded using the "compress" or methods, libcurl will
-return an error indicating that the response could not be decoded. If
-<string> is NULL no Accept-Encoding header is generated. If <string> is a
-zero-length string, then an Accept-Encoding header containing all supported
-encodings will be generated.
-
-The CURLOPT_ENCODING must be set to any non-NULL value for content to be
-automatically decoded. If it is not set and the server still sends encoded
-content (despite not having been asked), the data is returned in its raw form
-and the Content-Encoding type is not checked.
-
-* The curl interface:
-
-Use the --compressed option with curl to cause it to ask servers to compress
-responses using any format supported by curl.
-
-James Gallagher <jgallagher@gso.uri.edu>
-Dan Fandrich <dan@coneharvesters.com>
diff --git a/Utilities/cmcurl-7.19.0/lib/README.hostip b/Utilities/cmcurl-7.19.0/lib/README.hostip
deleted file mode 100644
index 9723b93..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.hostip
+++ /dev/null
@@ -1,35 +0,0 @@
- hostip.c explained
- ==================
-
- The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c
- source file are these:
-
- CURLRES_IPV6 - this host has getaddrinfo() and family, and thus we use
- that. The host may not be able to resolve IPv6, but we don't really have to
- take that into account. Hosts that aren't IPv6-enabled have CURLRES_IPV4
- defined.
-
- CURLRES_ARES - is defined if libcurl is built to use c-ares for asynchronous
- name resolves. It cannot have ENABLE_IPV6 defined at the same time, as c-ares
- has no ipv6 support. This can be Windows or *nix.
-
- CURLRES_THREADED - is defined if libcurl is built to run under (native)
- Windows, and then the name resolve will be done in a new thread, and the
- supported asynch API will be the same as for ares-builds.
-
- If any of the two previous are defined, CURLRES_ASYNCH is defined too. If
- libcurl is not built to use an asynchronous resolver, CURLRES_SYNCH is
- defined.
-
- The host*.c sources files are split up like this:
-
- hostip.c - method-independent resolver functions and utility functions
- hostasyn.c - functions for asynchronous name resolves
- hostsyn.c - functions for synchronous name resolves
- hostares.c - functions for ares-using name resolves
- hostthre.c - functions for threaded name resolves
- hostip4.c - ipv4-specific functions
- hostip6.c - ipv6-specific functions
-
- The hostip.h is the single united header file for all this. It defines the
- CURLRES_* defines based on the config*.h and setup.h defines.
diff --git a/Utilities/cmcurl-7.19.0/lib/README.httpauth b/Utilities/cmcurl-7.19.0/lib/README.httpauth
deleted file mode 100644
index 9605045..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.httpauth
+++ /dev/null
@@ -1,74 +0,0 @@
-
-1. PUT/POST without a known auth to use (possibly no auth required):
-
- (When explicitly set to use a multi-pass auth when doing a POST/PUT,
- libcurl should immediately go the Content-Length: 0 bytes route to avoid
- the first send all data phase, step 2. If told to use a single-pass auth,
- goto step 3.)
-
- Issue the proper PUT/POST request immediately, with the correct
- Content-Length and Expect: headers.
-
- If a 100 response is received or the wait for one times out, start sending
- the request-body.
-
- If a 401 (or 407 when talking through a proxy) is received, then:
-
- If we have "more than just a little" data left to send, close the
- connection. Exactly what "more than just a little" means will have to be
- determined. Possibly the current transfer speed should be taken into
- account as well.
-
- NOTE: if the size of the POST data is less than MAX_INITIAL_POST_SIZE (when
- CURLOPT_POSTFIELDS is used), libcurl will send everything in one single
- write() (all request-headers and request-body) and thus it will
- unconditionally send the full post data here.
-
-2. PUT/POST with multi-pass auth but not yet completely negotiated:
-
- Send a PUT/POST request, we know that it will be rejected and thus we claim
- Content-Length zero to avoid having to send the request-body. (This seems
- to be what IE does.)
-
-3. PUT/POST as the last step in the auth negotiation, that is when we have
- what we believe is a completed negotiation:
-
- Send a full and proper PUT/POST request (again) with the proper
- Content-Length and a following request-body.
-
- NOTE: this may very well be the second (or even third) time the whole or at
- least parts of the request body is sent to the server. Since the data may
- be provided to libcurl with a callback, we need a way to tell the app that
- the upload is to be restarted so that the callback will provide data from
- the start again. This requires an API method/mechanism that libcurl
- doesn't have today. See below.
-
-Data Rewind
-
- It will be troublesome for some apps to deal with a rewind like this in all
- circumstances. I'm thinking for example when using 'curl' to upload data
- from stdin. If libcurl ends up having to rewind the reading for a request
- to succeed, of course a lack of this callback or if it returns failure, will
- cause the request to fail completely.
-
- The new callback is set with CURLOPT_IOCTLFUNCTION (in an attempt to add a
- more generic function that might be used for other IO-related controls in
- the future):
-
- curlioerr curl_ioctl(CURL *handle, curliocmd cmd, void *clientp);
-
- And in the case where the read is to be rewinded, it would be called with a
- cmd named CURLIOCMD_RESTARTREAD. The callback would then return CURLIOE_OK,
- if things are fine, or CURLIOE_FAILRESTART if not.
-
-Backwards Compatibility
-
- The approach used until now, that issues a HEAD on the given URL to trigger
- the auth negotiation could still be supported and encouraged, but it would
- be up to the app to first fetch a URL with GET/HEAD to negotiate on, since
- then a following PUT/POST wouldn't need to negotiate authentication and
- thus avoid double-sending data.
-
- Optionally, we keep the current approach if some option is set
- (CURLOPT_HEADBEFOREAUTH or similar), since it seems to work fairly well for
- POST on most servers.
diff --git a/Utilities/cmcurl-7.19.0/lib/README.memoryleak b/Utilities/cmcurl-7.19.0/lib/README.memoryleak
deleted file mode 100644
index 8aa6094..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.memoryleak
+++ /dev/null
@@ -1,56 +0,0 @@
-$Id$
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- How To Track Down Suspected Memory Leaks in libcurl
- ===================================================
-
-Single-threaded
-
- Please note that this memory leak system is not adjusted to work in more
- than one thread. If you want/need to use it in a multi-threaded app. Please
- adjust accordingly.
-
-
-Build
-
- Rebuild libcurl with -DCURLDEBUG (usually, rerunning configure with
- --enable-debug fixes this). 'make clean' first, then 'make' so that all
- files actually are rebuilt properly. It will also make sense to build
- libcurl with the debug option (usually -g to the compiler) so that debugging
- it will be easier if you actually do find a leak in the library.
-
- This will create a library that has memory debugging enabled.
-
-Modify Your Application
-
- Add a line in your application code:
-
- curl_memdebug("dump");
-
- This will make the malloc debug system output a full trace of all resource
- using functions to the given file name. Make sure you rebuild your program
- and that you link with the same libcurl you built for this purpose as
- described above.
-
-Run Your Application
-
- Run your program as usual. Watch the specified memory trace file grow.
-
- Make your program exit and use the proper libcurl cleanup functions etc. So
- that all non-leaks are returned/freed properly.
-
-Analyze the Flow
-
- Use the tests/memanalyze.pl perl script to analyze the dump file:
-
- tests/memanalyze.pl dump
-
- This now outputs a report on what resources that were allocated but never
- freed etc. This report is very fine for posting to the list!
-
- If this doesn't produce any output, no leak was detected in libcurl. Then
- the leak is mostly likely to be in your code.
diff --git a/Utilities/cmcurl-7.19.0/lib/README.multi_socket b/Utilities/cmcurl-7.19.0/lib/README.multi_socket
deleted file mode 100644
index c8eabf6..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.multi_socket
+++ /dev/null
@@ -1,73 +0,0 @@
-Implementation of the curl_multi_socket API
-
- The main ideas of the new API are simply:
-
- 1 - The application can use whatever event system it likes as it gets info
- from libcurl about what file descriptors libcurl waits for what action
- on. (The previous API returns fd_sets which is very select()-centric).
-
- 2 - When the application discovers action on a single socket, it calls
- libcurl and informs that there was action on this particular socket and
- libcurl can then act on that socket/transfer only and not care about
- any other transfers. (The previous API always had to scan through all
- the existing transfers.)
-
- The idea is that curl_multi_socket() calls a given callback with information
- about what socket to wait for what action on, and the callback only gets
- called if the status of that socket has changed.
-
- In the API draft from before, we have a timeout argument on a per socket
- basis and we also allowed curl_multi_socket() to pass in an 'easy handle'
- instead of socket to allow libcurl to shortcut a lookup and work on the
- affected easy handle right away. Both these turned out to be bad ideas.
-
- The timeout argument was removed from the socket callback since after much
- thinking I came to the conclusion that we really don't want to handle
- timeouts on a per socket basis. We need it on a per transfer (easy handle)
- basis and thus we can't provide it in the callbacks in a nice way. Instead,
- we have to offer a curl_multi_timeout() that returns the largest amount of
- time we should wait before we call the "timeout action" of libcurl, to
- trigger the proper internal timeout action on the affected transfer. To get
- this to work, I added a struct to each easy handle in which we store an
- "expire time" (if any). The structs are then "splay sorted" so that we can
- add and remove times from the linked list and yet somewhat swiftly figure
- out 1 - how long time there is until the next timer expires and 2 - which
- timer (handle) should we take care of now. Of course, the upside of all this
- is that we get a curl_multi_timeout() that should also work with old-style
- applications that use curl_multi_perform().
-
- We also added a timer callback that makes libcurl call the application when
- the timeout value changes, and you set that with curl_multi_setopt().
-
- We created an internal "socket to easy handles" hash table that given
- a socket (file descriptor) return the easy handle that waits for action on
- that socket. This hash is made using the already existing hash code
- (previously only used for the DNS cache).
-
- To make libcurl able to report plain sockets in the socket callback, we had
- to re-organize the internals of the curl_multi_fdset() etc so that the
- conversion from sockets to fd_sets for that function is only done in the
- last step before the data is returned. I also had to extend c-ares to get a
- function that can return plain sockets, as that library too returned only
- fd_sets and that is no longer good enough. The changes done to c-ares have
- been committed and are available in the c-ares CVS repository destined to be
- included in the c-ares 1.3.1 release.
-
- We have done a test runs with up to 9000 connections (with a single active
- one). The curl_multi_socket() invoke then takes less than 10 microseconds in
- average (using the read-only-1-byte-at-a-time hack). We are now below the
- 60 microseconds "per socket action" goal (the extra 50 is the time libevent
- needs).
-
-Status Right Now
-
- The curl_multi_socket() API is implemented according to how it is
- documented. We deem it ready to use.
-
- http://curl.haxx.se/libcurl/c/curl_multi_socket.html
- http://curl.haxx.se/libcurl/c/curl_multi_timeout.html
- http://curl.haxx.se/libcurl/c/curl_multi_setopt.html
-
-What is Left for the curl_multi_socket API
-
- Real world usage!
diff --git a/Utilities/cmcurl-7.19.0/lib/README.pipelining b/Utilities/cmcurl-7.19.0/lib/README.pipelining
deleted file mode 100644
index c7b4622..0000000
--- a/Utilities/cmcurl-7.19.0/lib/README.pipelining
+++ /dev/null
@@ -1,51 +0,0 @@
-HTTP Pipelining with libcurl
-============================
-
-Background
-
-Since pipelining implies that one or more requests are sent to a server before
-the previous response(s) have been received, we only support it for multi
-interface use.
-
-Considerations
-
-When using the multi interface, you create one easy handle for each transfer.
-Bascially any number of handles can be created, added and used with the multi
-interface - simultaneously. It is an interface designed to allow many
-simultaneous transfers while still using a single thread. Pipelining does not
-change any of these details.
-
-API
-
-We've added a new option to curl_multi_setopt() called CURLMOPT_PIPELINING
-that enables "attempted pipelining" and then all easy handles used on that
-handle will attempt to use an existing pipeline.
-
-Details
-
-- A pipeline is only created if a previous connection exists to the same IP
- address that the new request is being made to use.
-
-- Pipelines are only supported for HTTP(S) as no other currently supported
- protocol has features resemembling this, but we still name this feature
- plain 'pipelining' to possibly one day support it for other protocols as
- well.
-
-- HTTP Pipelining is for GET and HEAD requests only.
-
-- When a pipeline is in use, we must take precautions so that when used easy
- handles (i.e those who still wait for a response) are removed from the multi
- handle, we must deal with the outstanding response nicely.
-
-- Explicitly asking for pipelining handle X and handle Y won't be supported.
- It isn't easy for an app to do this association. The lib should probably
- still resolve the second one properly to make sure that they actually _can_
- be considered for pipelining. Also, asking for explicit pipelining on handle
- X may be tricky when handle X get a closed connection.
-
-- We need options to control max pipeline length, and probably how to behave
- if we reach that limit. As was discussed on the list, it can probably be
- made very complicated, so perhaps we can think of a way to pass all
- variables involved to a callback and let the application decide how to act
- in specific situations. Either way, these fancy options are only interesting
- to work on when everything is working and we have working apps to test with.
diff --git a/Utilities/cmcurl-7.19.0/lib/amigaos.c b/Utilities/cmcurl-7.19.0/lib/amigaos.c
deleted file mode 100644
index 64696e8..0000000
--- a/Utilities/cmcurl-7.19.0/lib/amigaos.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef __AMIGA__ /* Any AmigaOS flavour */
-
-#include "amigaos.h"
-#include <amitcp/socketbasetags.h>
-
-struct Library *SocketBase = NULL;
-extern int errno, h_errno;
-
-#ifdef __libnix__
-#include <stabs.h>
-void __request(const char *msg);
-#else
-# define __request( msg ) Printf( msg "\n\a")
-#endif
-
-void amiga_cleanup()
-{
- if(SocketBase) {
- CloseLibrary(SocketBase);
- SocketBase = NULL;
- }
-}
-
-BOOL amiga_init()
-{
- if(!SocketBase)
- SocketBase = OpenLibrary("bsdsocket.library", 4);
-
- if(!SocketBase) {
- __request("No TCP/IP Stack running!");
- return FALSE;
- }
-
- if(SocketBaseTags(
- SBTM_SETVAL(SBTC_ERRNOPTR(sizeof(errno))), (ULONG) &errno,
-// SBTM_SETVAL(SBTC_HERRNOLONGPTR), (ULONG) &h_errno,
- SBTM_SETVAL(SBTC_LOGTAGPTR), (ULONG) "cURL",
- TAG_DONE)) {
-
- __request("SocketBaseTags ERROR");
- return FALSE;
- }
-
-#ifndef __libnix__
- atexit(amiga_cleanup);
-#endif
-
- return TRUE;
-}
-
-#ifdef __libnix__
-ADD2EXIT(amiga_cleanup,-50);
-#endif
-
-#endif /* __AMIGA__ */
diff --git a/Utilities/cmcurl-7.19.0/lib/amigaos.h b/Utilities/cmcurl-7.19.0/lib/amigaos.h
deleted file mode 100644
index ed3baf5..0000000
--- a/Utilities/cmcurl-7.19.0/lib/amigaos.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef LIBCURL_AMIGAOS_H
-#define LIBCURL_AMIGAOS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef __AMIGA__ /* Any AmigaOS flavour */
-
-#ifndef __ixemul__
-
-#include <exec/types.h>
-#include <exec/execbase.h>
-
-#include <proto/exec.h>
-#include <proto/dos.h>
-
-#include <sys/socket.h>
-
-#include "config-amigaos.h"
-
-#ifndef select
-# define select(args...) WaitSelect( args, NULL)
-#endif
-#ifndef inet_ntoa
-# define inet_ntoa(x) Inet_NtoA( x ## .s_addr)
-#endif
-#ifndef ioctl
-# define ioctl(a,b,c,d) IoctlSocket( (LONG)a, (ULONG)b, (char*)c)
-#endif
-#define _AMIGASF 1
-
-extern void amiga_cleanup();
-extern BOOL amiga_init();
-
-#else /* __ixemul__ */
-
-#warning compiling with ixemul...
-
-#endif /* __ixemul__ */
-#endif /* __AMIGA__ */
-#endif /* LIBCURL_AMIGAOS_H */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/arpa_telnet.h b/Utilities/cmcurl-7.19.0/lib/arpa_telnet.h
deleted file mode 100644
index e6a04dc..0000000
--- a/Utilities/cmcurl-7.19.0/lib/arpa_telnet.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef __ARPA_TELNET_H
-#define __ARPA_TELNET_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_TELNET
-/*
- * Telnet option defines. Add more here if in need.
- */
-#define CURL_TELOPT_BINARY 0 /* binary 8bit data */
-#define CURL_TELOPT_SGA 3 /* Supress Go Ahead */
-#define CURL_TELOPT_EXOPL 255 /* EXtended OPtions List */
-#define CURL_TELOPT_TTYPE 24 /* Terminal TYPE */
-#define CURL_TELOPT_XDISPLOC 35 /* X DISPlay LOCation */
-
-#define CURL_TELOPT_NEW_ENVIRON 39 /* NEW ENVIRONment variables */
-#define CURL_NEW_ENV_VAR 0
-#define CURL_NEW_ENV_VALUE 1
-
-/*
- * The telnet options represented as strings
- */
-static const char * const telnetoptions[]=
-{
- "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD",
- "NAME", "STATUS", "TIMING MARK", "RCTE",
- "NAOL", "NAOP", "NAOCRD", "NAOHTS",
- "NAOHTD", "NAOFFD", "NAOVTS", "NAOVTD",
- "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO",
- "DE TERMINAL", "SUPDUP", "SUPDUP OUTPUT", "SEND LOCATION",
- "TERM TYPE", "END OF RECORD", "TACACS UID", "OUTPUT MARKING",
- "TTYLOC", "3270 REGIME", "X3 PAD", "NAWS",
- "TERM SPEED", "LFLOW", "LINEMODE", "XDISPLOC",
- "OLD-ENVIRON", "AUTHENTICATION", "ENCRYPT", "NEW-ENVIRON"
-};
-
-#define CURL_TELOPT_MAXIMUM CURL_TELOPT_NEW_ENVIRON
-
-#define CURL_TELOPT_OK(x) ((x) <= CURL_TELOPT_MAXIMUM)
-#define CURL_TELOPT(x) telnetoptions[x]
-
-#define CURL_NTELOPTS 40
-
-/*
- * First some defines
- */
-#define CURL_xEOF 236 /* End Of File */
-#define CURL_SE 240 /* Sub negotiation End */
-#define CURL_NOP 241 /* No OPeration */
-#define CURL_DM 242 /* Data Mark */
-#define CURL_GA 249 /* Go Ahead, reverse the line */
-#define CURL_SB 250 /* SuBnegotiation */
-#define CURL_WILL 251 /* Our side WILL use this option */
-#define CURL_WONT 252 /* Our side WON'T use this option */
-#define CURL_DO 253 /* DO use this option! */
-#define CURL_DONT 254 /* DON'T use this option! */
-#define CURL_IAC 255 /* Interpret As Command */
-
-/*
- * Then those numbers represented as strings:
- */
-static const char * const telnetcmds[]=
-{
- "EOF", "SUSP", "ABORT", "EOR", "SE",
- "NOP", "DMARK", "BRK", "IP", "AO",
- "AYT", "EC", "EL", "GA", "SB",
- "WILL", "WONT", "DO", "DONT", "IAC"
-};
-
-#define CURL_TELCMD_MINIMUM CURL_xEOF /* the first one */
-#define CURL_TELCMD_MAXIMUM CURL_IAC /* surprise, 255 is the last one! ;-) */
-
-#define CURL_TELQUAL_IS 0
-#define CURL_TELQUAL_SEND 1
-#define CURL_TELQUAL_INFO 2
-#define CURL_TELQUAL_NAME 3
-
-#define CURL_TELCMD_OK(x) ( ((unsigned int)(x) >= CURL_TELCMD_MINIMUM) && \
- ((unsigned int)(x) <= CURL_TELCMD_MAXIMUM) )
-#define CURL_TELCMD(x) telnetcmds[(x)-CURL_TELCMD_MINIMUM]
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/base64.c b/Utilities/cmcurl-7.19.0/lib/base64.c
deleted file mode 100644
index 6b93310..0000000
--- a/Utilities/cmcurl-7.19.0/lib/base64.c
+++ /dev/null
@@ -1,368 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* Base64 encoding/decoding
- *
- * Test harnesses down the bottom - compile with -DTEST_ENCODE for
- * a program that will read in raw data from stdin and write out
- * a base64-encoded version to stdout, and the length returned by the
- * encoding function to stderr. Compile with -DTEST_DECODE for a program that
- * will go the other way.
- *
- * This code will break if int is smaller than 32 bits
- */
-
-#include "setup.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "urldata.h" /* for the SessionHandle definition */
-#include "easyif.h" /* for Curl_convert_... prototypes */
-#include "curl_base64.h"
-#include "memory.h"
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-/* ---- Base64 Encoding/Decoding Table --- */
-static const char table64[]=
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-static void decodeQuantum(unsigned char *dest, const char *src)
-{
- unsigned int x = 0;
- int i;
- char *found;
-
- for(i = 0; i < 4; i++) {
- if((found = strchr(table64, src[i])) != NULL)
- x = (x << 6) + (unsigned int)(found - table64);
- else if(src[i] == '=')
- x = (x << 6);
- }
-
- dest[2] = (unsigned char)(x & 255);
- x >>= 8;
- dest[1] = (unsigned char)(x & 255);
- x >>= 8;
- dest[0] = (unsigned char)(x & 255);
-}
-
-/*
- * Curl_base64_decode()
- *
- * Given a base64 string at src, decode it and return an allocated memory in
- * the *outptr. Returns the length of the decoded data.
- */
-size_t Curl_base64_decode(const char *src, unsigned char **outptr)
-{
- int length = 0;
- int equalsTerm = 0;
- int i;
- int numQuantums;
- unsigned char lastQuantum[3];
- size_t rawlen=0;
- unsigned char *newstr;
-
- *outptr = NULL;
-
- while((src[length] != '=') && src[length])
- length++;
- /* A maximum of two = padding characters is allowed */
- if(src[length] == '=') {
- equalsTerm++;
- if(src[length+equalsTerm] == '=')
- equalsTerm++;
- }
- numQuantums = (length + equalsTerm) / 4;
-
- /* Don't allocate a buffer if the decoded length is 0 */
- if(numQuantums <= 0)
- return 0;
-
- rawlen = (numQuantums * 3) - equalsTerm;
-
- /* The buffer must be large enough to make room for the last quantum
- (which may be partially thrown out) and the zero terminator. */
- newstr = malloc(rawlen+4);
- if(!newstr)
- return 0;
-
- *outptr = newstr;
-
- /* Decode all but the last quantum (which may not decode to a
- multiple of 3 bytes) */
- for(i = 0; i < numQuantums - 1; i++) {
- decodeQuantum((unsigned char *)newstr, src);
- newstr += 3; src += 4;
- }
-
- /* This final decode may actually read slightly past the end of the buffer
- if the input string is missing pad bytes. This will almost always be
- harmless. */
- decodeQuantum(lastQuantum, src);
- for(i = 0; i < 3 - equalsTerm; i++)
- newstr[i] = lastQuantum[i];
-
- newstr[i] = 0; /* zero terminate */
- return rawlen;
-}
-
-/*
- * Curl_base64_encode()
- *
- * Returns the length of the newly created base64 string. The third argument
- * is a pointer to an allocated area holding the base64 data. If something
- * went wrong, 0 is returned.
- *
- */
-size_t Curl_base64_encode(struct SessionHandle *data,
- const char *inp, size_t insize, char **outptr)
-{
- unsigned char ibuf[3];
- unsigned char obuf[4];
- int i;
- int inputparts;
- char *output;
- char *base64data;
-#ifdef CURL_DOES_CONVERSIONS
- char *convbuf = NULL;
-#endif
-
- char *indata = (char *)inp;
-
- *outptr = NULL; /* set to NULL in case of failure before we reach the end */
-
- if(0 == insize)
- insize = strlen(indata);
-
- base64data = output = (char*)malloc(insize*4/3+4);
- if(NULL == output)
- return 0;
-
-#ifdef CURL_DOES_CONVERSIONS
- /*
- * The base64 data needs to be created using the network encoding
- * not the host encoding. And we can't change the actual input
- * so we copy it to a buffer, translate it, and use that instead.
- */
- if(data) {
- convbuf = (char*)malloc(insize);
- if(!convbuf) {
- free(output);
- return 0;
- }
- memcpy(convbuf, indata, insize);
- if(CURLE_OK != Curl_convert_to_network(data, convbuf, insize)) {
- free(convbuf);
- free(output);
- return 0;
- }
- indata = convbuf; /* switch to the converted buffer */
- }
-#else
- (void)data;
-#endif
-
- while(insize > 0) {
- for (i = inputparts = 0; i < 3; i++) {
- if(insize > 0) {
- inputparts++;
- ibuf[i] = *indata;
- indata++;
- insize--;
- }
- else
- ibuf[i] = 0;
- }
-
- obuf[0] = (unsigned char) ((ibuf[0] & 0xFC) >> 2);
- obuf[1] = (unsigned char) (((ibuf[0] & 0x03) << 4) | \
- ((ibuf[1] & 0xF0) >> 4));
- obuf[2] = (unsigned char) (((ibuf[1] & 0x0F) << 2) | \
- ((ibuf[2] & 0xC0) >> 6));
- obuf[3] = (unsigned char) (ibuf[2] & 0x3F);
-
- switch(inputparts) {
- case 1: /* only one byte read */
- snprintf(output, 5, "%c%c==",
- table64[obuf[0]],
- table64[obuf[1]]);
- break;
- case 2: /* two bytes read */
- snprintf(output, 5, "%c%c%c=",
- table64[obuf[0]],
- table64[obuf[1]],
- table64[obuf[2]]);
- break;
- default:
- snprintf(output, 5, "%c%c%c%c",
- table64[obuf[0]],
- table64[obuf[1]],
- table64[obuf[2]],
- table64[obuf[3]] );
- break;
- }
- output += 4;
- }
- *output=0;
- *outptr = base64data; /* make it return the actual data memory */
-
-#ifdef CURL_DOES_CONVERSIONS
- if(data)
- free(convbuf);
-#endif
- return strlen(base64data); /* return the length of the new data */
-}
-/* ---- End of Base64 Encoding ---- */
-
-/************* TEST HARNESS STUFF ****************/
-
-
-#ifdef TEST_ENCODE
-/* encoding test harness. Read in standard input and write out the length
- * returned by Curl_base64_encode, followed by the base64'd data itself
- */
-#include <stdio.h>
-
-#define TEST_NEED_SUCK
-void *suck(int *);
-
-int main(int argc, argv_item_t argv[], char **envp)
-{
- char *base64;
- size_t base64Len;
- unsigned char *data;
- int dataLen;
- struct SessionHandle *handle = NULL;
-
-#ifdef CURL_DOES_CONVERSIONS
- /* get a Curl handle so Curl_base64_encode can translate properly */
- handle = curl_easy_init();
- if(handle == NULL) {
- fprintf(stderr, "Error: curl_easy_init failed\n");
- return 1;
- }
-#endif
- data = (unsigned char *)suck(&dataLen);
- base64Len = Curl_base64_encode(handle, data, dataLen, &base64);
-
- fprintf(stderr, "%d\n", base64Len);
- fprintf(stdout, "%s\n", base64);
-
- free(base64); free(data);
-#ifdef CURL_DOES_CONVERSIONS
- curl_easy_cleanup(handle);
-#endif
- return 0;
-}
-#endif
-
-#ifdef TEST_DECODE
-/* decoding test harness. Read in a base64 string from stdin and write out the
- * length returned by Curl_base64_decode, followed by the decoded data itself
- *
- * gcc -DTEST_DECODE base64.c -o base64 mprintf.o memdebug.o
- */
-#include <stdio.h>
-
-#define TEST_NEED_SUCK
-void *suck(int *);
-
-int main(int argc, argv_item_t argv[], char **envp)
-{
- char *base64;
- int base64Len;
- unsigned char *data;
- int dataLen;
- int i, j;
-#ifdef CURL_DOES_CONVERSIONS
- /* get a Curl handle so main can translate properly */
- struct SessionHandle *handle = curl_easy_init();
- if(handle == NULL) {
- fprintf(stderr, "Error: curl_easy_init failed\n");
- return 1;
- }
-#endif
-
- base64 = (char *)suck(&base64Len);
- dataLen = Curl_base64_decode(base64, &data);
-
- fprintf(stderr, "%d\n", dataLen);
-
- for(i=0; i < dataLen; i+=0x10) {
- printf("0x%02x: ", i);
- for(j=0; j < 0x10; j++)
- if((j+i) < dataLen)
- printf("%02x ", data[i+j]);
- else
- printf(" ");
-
- printf(" | ");
-
- for(j=0; j < 0x10; j++)
- if((j+i) < dataLen) {
-#ifdef CURL_DOES_CONVERSIONS
- if(CURLE_OK !=
- Curl_convert_from_network(handle, &data[i+j], (size_t)1))
- data[i+j] = '.';
-#endif /* CURL_DOES_CONVERSIONS */
- printf("%c", ISGRAPH(data[i+j])?data[i+j]:'.');
- } else
- break;
- puts("");
- }
-
-#ifdef CURL_DOES_CONVERSIONS
- curl_easy_cleanup(handle);
-#endif
- free(base64); free(data);
- return 0;
-}
-#endif
-
-#ifdef TEST_NEED_SUCK
-/* this function 'sucks' in as much as possible from stdin */
-void *suck(int *lenptr)
-{
- int cursize = 8192;
- unsigned char *buf = NULL;
- int lastread;
- int len = 0;
-
- do {
- cursize *= 2;
- buf = (unsigned char *)realloc(buf, cursize);
- memset(buf + len, 0, cursize - len);
- lastread = fread(buf + len, 1, cursize - len, stdin);
- len += lastread;
- } while(!feof(stdin));
-
- lenptr[0] = len;
- return (void *)buf;
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/config-amigaos.h b/Utilities/cmcurl-7.19.0/lib/config-amigaos.h
deleted file mode 100644
index 86d9daa..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-amigaos.h
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef LIBCURL_CONFIG_AMIGAOS_H
-#define LIBCURL_CONFIG_AMIGAOS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef __AMIGA__ /* Any AmigaOS flavour */
-
-#define HAVE_ARPA_INET_H 1
-#define HAVE_GETHOSTBYADDR 1
-#define HAVE_INET_ADDR 1
-#define HAVE_INET_NTOA 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_IOCTLSOCKET_CASE 1
-#define HAVE_LIBCRYPTO 1
-#define HAVE_LIBSSL 1
-#define HAVE_LIBZ 1
-#define HAVE_LONGLONG 1
-#define HAVE_MALLOC_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_NETDB_H 1
-#define HAVE_NETINET_IN_H 1
-#define HAVE_NET_IF_H 1
-#define HAVE_OPENSSL_CRYPTO_H 1
-#define HAVE_OPENSSL_ERR_H 1
-#define HAVE_OPENSSL_PEM_H 1
-#define HAVE_OPENSSL_RSA_H 1
-#define HAVE_OPENSSL_SSL_H 1
-#define HAVE_OPENSSL_X509_H 1
-#define HAVE_PERROR 1
-#define HAVE_PWD_H 1
-#define HAVE_RAND_EGD 1
-#define HAVE_RAND_STATUS 1
-#define HAVE_SELECT 1
-#define HAVE_SETJMP_H 1
-#define HAVE_SGTTY_H 1
-#define HAVE_SIGNAL 1
-#define HAVE_SIGNAL_H 1
-#define HAVE_SIG_ATOMIC_T 1
-#define HAVE_SOCKET 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRDUP 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRICMP 1
-#define HAVE_STRINGS_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRSTR 1
-#define HAVE_STRUCT_TIMEVAL 1
-#define HAVE_SYS_PARAM_H 1
-#define HAVE_SYS_SOCKET_H 1
-#define HAVE_SYS_SOCKIO_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TIME_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_TERMIOS_H 1
-#define HAVE_TERMIO_H 1
-#define HAVE_TIME_H 1
-#define HAVE_UNAME 1
-#define HAVE_UNISTD_H 1
-#define HAVE_UTIME 1
-#define HAVE_UTIME_H 1
-#define HAVE_WRITABLE_ARGV 1
-#define HAVE_ZLIB_H 1
-#define HAVE_SYS_IOCTL_H 1
-
-#define NEED_MALLOC_H 1
-
-#define USE_OPENSSL 1
-#define USE_SSLEAY 1
-#define CURL_DISABLE_LDAP 1
-
-
-#define OS "AmigaOS"
-
-#define PACKAGE "curl"
-#define PACKAGE_BUGREPORT "curl-bug@haxx.se"
-#define PACKAGE_NAME "curl"
-#define PACKAGE_STRING "curl -"
-#define PACKAGE_TARNAME "curl"
-#define PACKAGE_VERSION "-"
-#define CURL_CA_BUNDLE "s:curl-ca-bundle.crt"
-
-#define RETSIGTYPE void
-#define SELECT_TYPE_ARG1 int
-#define SELECT_TYPE_ARG234 (fd_set *)
-#define SELECT_TYPE_ARG5 (struct timeval *)
-
-#define STDC_HEADERS 1
-#define TIME_WITH_SYS_TIME 1
-
-#define in_addr_t int
-#ifndef socklen_t
-# define socklen_t int
-#endif
-
-#ifndef O_RDONLY
-# define O_RDONLY 0x0000
-#endif
-
-#define HAVE_GETNAMEINFO 1
-#define GETNAMEINFO_QUAL_ARG1 const
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-#define GETNAMEINFO_TYPE_ARG46 size_t
-#define GETNAMEINFO_TYPE_ARG7 int
-
-#define HAVE_RECV 1
-#define RECV_TYPE_ARG1 long
-#define RECV_TYPE_ARG2 char *
-#define RECV_TYPE_ARG3 long
-#define RECV_TYPE_ARG4 long
-#define RECV_TYPE_RETV long
-
-#define HAVE_RECVFROM 1
-#define RECVFROM_TYPE_ARG1 long
-#define RECVFROM_TYPE_ARG2 char
-#define RECVFROM_TYPE_ARG3 long
-#define RECVFROM_TYPE_ARG4 long
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-#define RECVFROM_TYPE_ARG6 long
-#define RECVFROM_TYPE_RETV long
-
-#define HAVE_SEND 1
-#define SEND_TYPE_ARG1 int
-#define SEND_QUAL_ARG2 const
-#define SEND_TYPE_ARG2 char *
-#define SEND_TYPE_ARG3 int
-#define SEND_TYPE_ARG4 int
-#define SEND_TYPE_RETV int
-
-#endif /* __AMIGA__ */
-#endif /* LIBCURL_CONFIG_AMIGAOS_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/config-mac.h b/Utilities/cmcurl-7.19.0/lib/config-mac.h
deleted file mode 100644
index e6d2130..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-mac.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#define OS "mac"
-
-#define HAVE_NETINET_IN_H 1
-#define HAVE_SYS_SOCKET_H 1
-#define HAVE_SYS_SELECT_H 1
-#define HAVE_NETDB_H 1
-#define HAVE_ARPA_INET_H 1
-#define HAVE_UNISTD_H 1
-#define HAVE_NET_IF_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_GETTIMEOFDAY 1
-#define HAVE_FCNTL_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_ALLOCA_H 1
-#define HAVE_TIME_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_UTIME_H 1
-#define HAVE_SYS_TIME_H 1
-
-#define TIME_WITH_SYS_TIME 1
-
-#define HAVE_STRDUP 1
-#define HAVE_UTIME 1
-#define HAVE_INET_NTOA 1
-#define HAVE_SETVBUF 1
-#define HAVE_STRFTIME 1
-#define HAVE_INET_ADDR 1
-#define HAVE_MEMCPY 1
-#define HAVE_SELECT 1
-#define HAVE_SOCKET 1
-#define HAVE_STRUCT_TIMEVAL 1
-
-//#define HAVE_STRICMP 1
-#define HAVE_SIGACTION 1
-#define HAVE_SIGNAL_H 1
-#define HAVE_SIG_ATOMIC_T 1
-
-#ifdef MACOS_SSL_SUPPORT
-# define USE_SSLEAY 1
-# define USE_OPENSSL 1
-#endif
-
-#define CURL_DISABLE_LDAP 1
-
-#define HAVE_RAND_STATUS 1
-#define HAVE_RAND_EGD 1
-
-#define HAVE_FIONBIO 1
-
-#define RETSIGTYPE void
-
-#define HAVE_GETNAMEINFO 1
-#define GETNAMEINFO_QUAL_ARG1 const
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-#define GETNAMEINFO_TYPE_ARG46 size_t
-#define GETNAMEINFO_TYPE_ARG7 int
-
-#define HAVE_RECV 1
-#define RECV_TYPE_ARG1 int
-#define RECV_TYPE_ARG2 void *
-#define RECV_TYPE_ARG3 size_t
-#define RECV_TYPE_ARG4 int
-#define RECV_TYPE_RETV ssize_t
-
-#define HAVE_RECVFROM 1
-#define RECVFROM_TYPE_ARG1 int
-#define RECVFROM_TYPE_ARG2 void
-#define RECVFROM_TYPE_ARG3 size_t
-#define RECVFROM_TYPE_ARG4 int
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-#define RECVFROM_TYPE_ARG6 int
-#define RECVFROM_TYPE_RETV ssize_t
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-
-#define HAVE_SEND 1
-#define SEND_TYPE_ARG1 int
-#define SEND_QUAL_ARG2 const
-#define SEND_TYPE_ARG2 void *
-#define SEND_TYPE_ARG3 size_T
-#define SEND_TYPE_ARG4 int
-#define SEND_TYPE_RETV ssize_t
-
-#define HAVE_EXTRA_STRICMP_H 1
-#define HAVE_EXTRA_STRDUP_H 1
diff --git a/Utilities/cmcurl-7.19.0/lib/config-os400.h b/Utilities/cmcurl-7.19.0/lib/config-os400.h
deleted file mode 100644
index 246ef91..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-os400.h
+++ /dev/null
@@ -1,512 +0,0 @@
-/* ================================================================ */
-/* lib/config-os400.h - Hand crafted config file for OS/400 */
-/* ================================================================ */
-
-#pragma enum(int)
-
-#undef PACKAGE
-
-/* Version number of this archive. */
-#undef VERSION
-
-/* Define if you have the getpass function. */
-#undef HAVE_GETPASS
-
-/* Define cpu-machine-OS */
-#define OS "OS/400"
-
-/* Define if you have the gethostbyaddr_r() function with 5 arguments */
-#define HAVE_GETHOSTBYADDR_R_5
-
-/* Define if you have the gethostbyaddr_r() function with 7 arguments */
-#undef HAVE_GETHOSTBYADDR_R_7
-
-/* Define if you have the gethostbyaddr_r() function with 8 arguments */
-#undef HAVE_GETHOSTBYADDR_R_8
-
-/* Define if you have the gethostbyname_r() function with 3 arguments */
-#define HAVE_GETHOSTBYNAME_R_3
-
-/* Define if you have the gethostbyname_r() function with 5 arguments */
-#undef HAVE_GETHOSTBYNAME_R_5
-
-/* Define if you have the gethostbyname_r() function with 6 arguments */
-#undef HAVE_GETHOSTBYNAME_R_6
-
-/* Define if you have the inet_ntoa_r function declared. */
-#define HAVE_INET_NTOA_R_DECL
-
-/* Define if the inet_ntoa_r function returns an int. */
-#define HAVE_INT_INET_NTOA_R
-
-/* Define if you need the _REENTRANT define for some functions */
-#undef NEED_REENTRANT
-
-/* Define if you have the Kerberos4 libraries (including -ldes) */
-#undef HAVE_KRB4
-
-/* Define if you want to enable IPv6 support */
-#define ENABLE_IPV6
-
-/* Define this to 'int' if ssize_t is not an available typedefed type */
-#undef ssize_t
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#undef socklen_t
-
-/* Define this as a suitable file to read random data from */
-#undef RANDOM_FILE
-
-/* Define this to your Entropy Gathering Daemon socket pathname */
-#undef EGD_SOCKET
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#undef DISABLED_THREADSAFE
-
-/* Define if you have the <alloca.h> header file. */
-#undef HAVE_ALLOCA_H
-
-/* Define if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H
-
-/* Define if you have the `closesocket' function. */
-#undef HAVE_CLOSESOCKET
-
-/* Define if you have the <crypto.h> header file. */
-#undef HAVE_CRYPTO_H
-
-/* Define if you have the <des.h> header file. */
-#undef HAVE_DES_H
-
-/* Define if you have the <err.h> header file. */
-#undef HAVE_ERR_H
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H
-
-/* Define if getaddrinfo exists and works */
-/* OS400 has no ASCII version of this procedure. */
-#undef HAVE_GETADDRINFO
-
-/* Define if you have the `geteuid' function. */
-#define HAVE_GETEUID
-
-/* Define if you have the `gethostbyaddr' function. */
-#define HAVE_GETHOSTBYADDR
-
-/* Define if you have the `gethostbyaddr_r' function. */
-#define HAVE_GETHOSTBYADDR_R
-
-/* Define if you have the `gethostbyname_r' function. */
-#define HAVE_GETHOSTBYNAME_R
-
-/* Define if you have the `gethostname' function. */
-#define HAVE_GETHOSTNAME
-
-/* Define if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define if you have the `getpass_r' function. */
-#undef HAVE_GETPASS_R
-
-/* Define if you have the `getpwuid' function. */
-#define HAVE_GETPWUID
-
-/* Define if you have the `getservbyname' function. */
-#define HAVE_GETSERVBYNAME
-
-/* Define if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY
-
-/* Define if you have the `timeval' struct. */
-#define HAVE_STRUCT_TIMEVAL
-
-/* Define if you have the `inet_addr' function. */
-#define HAVE_INET_ADDR
-
-/* Define if you have the `inet_ntoa' function. */
-#define HAVE_INET_NTOA
-
-/* Define if you have the `inet_ntoa_r' function. */
-#define HAVE_INET_NTOA_R
-
-/* Define if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H
-
-/* Define if you have the <io.h> header file. */
-#undef HAVE_IO_H
-
-/* Define if you have the `krb_get_our_ip_for_realm' function. */
-#undef HAVE_KRB_GET_OUR_IP_FOR_REALM
-
-/* Define if you have the <krb.h> header file. */
-#undef HAVE_KRB_H
-
-/* Define if you have the `crypto' library (-lcrypto). */
-#undef HAVE_LIBCRYPTO
-
-/* Define if you have the `nsl' library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define if you have the `resolv' library (-lresolv). */
-#undef HAVE_LIBRESOLV
-
-/* Define if you have the `resolve' library (-lresolve). */
-#undef HAVE_LIBRESOLVE
-
-/* Define if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
-/* Define if you have GSS API. */
-#define HAVE_GSSAPI
-
-/* Define if you have the `ucb' library (-lucb). */
-#undef HAVE_LIBUCB
-
-/* Define if you have the `localtime_r' function. */
-#define HAVE_LOCALTIME_R
-
-/* Define if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H
-
-/* Define if you need the malloc.h header file even with stdlib.h */
-/* #define NEED_MALLOC_H 1 */
-
-/* Define if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-#undef HAVE_NETINET_IF_ETHER_H
-
-/* Define if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H
-
-/* Define if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H
-
-/* Define if you have the <openssl/crypto.h> header file. */
-#undef HAVE_OPENSSL_CRYPTO_H
-
-/* Define if you have the <openssl/err.h> header file. */
-#undef HAVE_OPENSSL_ERR_H
-
-/* Define if you have the <openssl/pem.h> header file. */
-#undef HAVE_OPENSSL_PEM_H
-
-/* Define if you have the <openssl/rsa.h> header file. */
-#undef HAVE_OPENSSL_RSA_H
-
-/* Define if you have the <openssl/ssl.h> header file. */
-#undef HAVE_OPENSSL_SSL_H
-
-/* Define if you have the <openssl/x509.h> header file. */
-#undef HAVE_OPENSSL_X509_H
-
-/* Define if you have the <pem.h> header file. */
-#undef HAVE_PEM_H
-
-/* Define if you have the `perror' function. */
-#define HAVE_PERROR
-
-/* Define if you have the <pwd.h> header file. */
-#define HAVE_PWD_H
-
-/* Define if you have the `RAND_egd' function. */
-#undef HAVE_RAND_EGD
-
-/* Define if you have the `RAND_screen' function. */
-#undef HAVE_RAND_SCREEN
-
-/* Define if you have the `RAND_status' function. */
-#undef HAVE_RAND_STATUS
-
-/* Define if you have the <rsa.h> header file. */
-#undef HAVE_RSA_H
-
-/* Define if you have the `select' function. */
-#define HAVE_SELECT
-
-/* Define if you have the `setvbuf' function. */
-#define HAVE_SETVBUF
-
-/* Define if you have the <sgtty.h> header file. */
-#undef HAVE_SGTTY_H
-
-/* Define if you have the `sigaction' function. */
-#define HAVE_SIGACTION
-
-/* Define if you have the `signal' function. */
-#undef HAVE_SIGNAL
-
-/* Define if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H
-
-/* Define if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T
-
-/* Define if sig_atomic_t is already defined as volatile. */
-#undef HAVE_SIG_ATOMIC_T_VOLATILE
-
-/* Define if you have the `socket' function. */
-#define HAVE_SOCKET
-
-/* Define if you have the <ssl.h> header file. */
-#undef HAVE_SSL_H
-
-/* Define if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H
-
-/* Define if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the `strcmpi' function. */
-#undef HAVE_STRCMPI
-
-/* Define if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define if you have the `strftime' function. */
-#define HAVE_STRFTIME
-
-/* Define if you have the `stricmp' function. */
-#undef HAVE_STRICMP
-
-/* Define if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H
-
-/* Define if you have the <string.h> header file. */
-#define HAVE_STRING_H
-
-/* Define if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
-/* Define if you have the `strlcpy' function. */
-#undef HAVE_STRLCPY
-
-/* Define if you have the `strstr' function. */
-#define HAVE_STRSTR
-
-/* Define if you have the `strtok_r' function. */
-#define HAVE_STRTOK_R
-
-/* Define if you have the `strtoll' function. */
-#undef HAVE_STRTOLL /* Allows ASCII compile on V5R1. */
-
-/* Define if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H
-
-/* Define if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/sockio.h> header file. */
-#undef HAVE_SYS_SOCKIO_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H
-
-/* Define if you have the <sys/un.h> header file. */
-#define HAVE_SYS_UN_H
-
-/* Define if you have the <sys/ioctl.h> header file. */
-#define HAVE_SYS_IOCTL_H
-
-/* Define if you have the `tcgetattr' function. */
-#undef HAVE_TCGETATTR
-
-/* Define if you have the `tcsetattr' function. */
-#undef HAVE_TCSETATTR
-
-/* Define if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define if you have the <termio.h> header file. */
-#undef HAVE_TERMIO_H
-
-/* Define if you have the <time.h> header file. */
-#define HAVE_TIME_H
-
-/* Define if you have the `uname' function. */
-#undef HAVE_UNAME
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H
-
-/* Define if you have the <winsock.h> header file. */
-#undef HAVE_WINSOCK_H
-
-/* Define if you have the <x509.h> header file. */
-#undef HAVE_X509_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* The size of a `long double', as computed by sizeof. */
-#define SIZEOF_LONG_DOUBLE 8
-
-/* Define if the compiler supports the 'long long' data type. */
-#define HAVE_LONGLONG
-
-/* The size of a `long long', as computed by sizeof. */
-#define SIZEOF_LONG_LONG 8
-
-/* Whether long long constants must be suffixed by LL. */
-
-#define HAVE_LL
-
-/* Define this if you have struct sockaddr_storage */
-#define HAVE_STRUCT_SOCKADDR_STORAGE
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#define _LARGE_FILES
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* type to use in place of in_addr_t if not defined */
-#define in_addr_t unsigned long
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-#undef size_t
-
-#define IOCTL_3_ARGS
-
-#define HAVE_FIONBIO
-
-/* to disable LDAP */
-#undef CURL_DISABLE_LDAP
-
-/* Define if you have the ldap_url_parse procedure. */
-/* #define HAVE_LDAP_URL_PARSE */ /* Disabled because of an IBM bug. */
-
-/* Define if you have the getnameinfo function. */
-/* OS400 has no ASCII version of this procedure. */
-#undef HAVE_GETNAMEINFO
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 socklen_t
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
-/* Define if you have the recv function. */
-#define HAVE_RECV
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 int
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define if you have the recvfrom function. */
-#define HAVE_RECVFROM
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 int
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define if you have the send function. */
-#define HAVE_SEND
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 int
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
-/* Define to use the QsoSSL package. */
-#define USE_QSOSSL
-
-/* Use the system keyring as the default CA bundle. */
-#define CURL_CA_BUNDLE "/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB"
-
-/* ---------------------------------------------------------------- */
-/* ADDITIONAL DEFINITIONS */
-/* ---------------------------------------------------------------- */
-
-/* The following must be defined BEFORE system header files inclusion. */
-
-#define __ptr128 /* No teraspace. */
-#define qadrt_use_fputc_inline /* Generate fputc() wrapper inline. */
-#define qadrt_use_fread_inline /* Generate fread() wrapper inline. */
-#define qadrt_use_fwrite_inline /* Generate fwrite() wrapper inline. */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/config-riscos.h b/Utilities/cmcurl-7.19.0/lib/config-riscos.h
deleted file mode 100644
index 86ef864..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-riscos.h
+++ /dev/null
@@ -1,479 +0,0 @@
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-/* Name of this package! */
-#undef PACKAGE
-
-/* Version number of this archive. */
-#undef VERSION
-
-/* Define if you have the getpass function. */
-#undef HAVE_GETPASS
-
-/* Define cpu-machine-OS */
-#define OS "ARM-RISC OS"
-
-/* Define if you have the gethostbyaddr_r() function with 5 arguments */
-#undef HAVE_GETHOSTBYADDR_R_5
-
-/* Define if you have the gethostbyaddr_r() function with 7 arguments */
-#undef HAVE_GETHOSTBYADDR_R_7
-
-/* Define if you have the gethostbyaddr_r() function with 8 arguments */
-#undef HAVE_GETHOSTBYADDR_R_8
-
-/* Define if you have the gethostbyname_r() function with 3 arguments */
-#undef HAVE_GETHOSTBYNAME_R_3
-
-/* Define if you have the gethostbyname_r() function with 5 arguments */
-#undef HAVE_GETHOSTBYNAME_R_5
-
-/* Define if you have the gethostbyname_r() function with 6 arguments */
-#undef HAVE_GETHOSTBYNAME_R_6
-
-/* Define if you have the inet_ntoa_r function declared. */
-#undef HAVE_INET_NTOA_R_DECL
-
-/* Define if you need the _REENTRANT define for some functions */
-#undef NEED_REENTRANT
-
-/* Define if you have the Kerberos4 libraries (including -ldes) */
-#undef HAVE_KRB4
-
-/* Define if you want to enable IPv6 support */
-#undef ENABLE_IPV6
-
-/* Define this to 'int' if ssize_t is not an available typedefed type */
-#undef ssize_t
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#undef socklen_t
-
-/* Define this as a suitable file to read random data from */
-#undef RANDOM_FILE
-
-/* Define this to your Entropy Gathering Daemon socket pathname */
-#undef EGD_SOCKET
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#define DISABLED_THREADSAFE
-
-/* Define if you want to enable IPv6 support */
-#undef ENABLE_IPV6
-
-/* Define if you have the <alloca.h> header file. */
-#define HAVE_ALLOCA_H
-
-/* Define if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H
-
-/* Define if you have the `closesocket' function. */
-#undef HAVE_CLOSESOCKET
-
-/* Define if you have the <crypto.h> header file. */
-#undef HAVE_CRYPTO_H
-
-/* Define if you have the <des.h> header file. */
-#undef HAVE_DES_H
-
-/* Define if you have the <err.h> header file. */
-#undef HAVE_ERR_H
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H
-
-/* Define if getaddrinfo exists and works */
-#define HAVE_GETADDRINFO
-
-/* Define if you have the `geteuid' function. */
-#undef HAVE_GETEUID
-
-/* Define if you have the `gethostbyaddr' function. */
-#define HAVE_GETHOSTBYADDR
-
-/* Define if you have the `gethostbyaddr_r' function. */
-#undef HAVE_GETHOSTBYADDR_R
-
-/* Define if you have the `gethostbyname_r' function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* Define if you have the `gethostname' function. */
-#define HAVE_GETHOSTNAME
-
-/* Define if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H
-
-/* Define if you have the `getpass_r' function. */
-#undef HAVE_GETPASS_R
-
-/* Define if you have the `getpwuid' function. */
-#undef HAVE_GETPWUID
-
-/* Define if you have the `getservbyname' function. */
-#undef HAVE_GETSERVBYNAME
-
-/* Define if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY
-
-/* Define if you have the `timeval' struct. */
-#define HAVE_STRUCT_TIMEVAL
-
-/* Define if you have the `inet_addr' function. */
-#undef HAVE_INET_ADDR
-
-/* Define if you have the `inet_ntoa' function. */
-#undef HAVE_INET_NTOA
-
-/* Define if you have the `inet_ntoa_r' function. */
-#undef HAVE_INET_NTOA_R
-
-/* Define if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H
-
-/* Define if you have the <io.h> header file. */
-#define HAVE_IO_H
-
-/* Define if you have the `krb_get_our_ip_for_realm' function. */
-#undef HAVE_KRB_GET_OUR_IP_FOR_REALM
-
-/* Define if you have the <krb.h> header file. */
-#undef HAVE_KRB_H
-
-/* Define if you have the `crypto' library (-lcrypto). */
-#undef HAVE_LIBCRYPTO
-
-/* Define if you have the `nsl' library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define if you have the `resolv' library (-lresolv). */
-#undef HAVE_LIBRESOLV
-
-/* Define if you have the `resolve' library (-lresolve). */
-#undef HAVE_LIBRESOLVE
-
-/* Define if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
-/* Define if you have the `ucb' library (-lucb). */
-#undef HAVE_LIBUCB
-
-/* Define if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H
-
-/* Define if you need the malloc.h header file even with stdlib.h */
-/* #define NEED_MALLOC_H 1 */
-
-/* Define if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-#undef HAVE_NETINET_IF_ETHER_H
-
-/* Define if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H
-
-/* Define if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H
-
-/* Define if you have the <openssl/crypto.h> header file. */
-#undef HAVE_OPENSSL_CRYPTO_H
-
-/* Define if you have the <openssl/err.h> header file. */
-#undef HAVE_OPENSSL_ERR_H
-
-/* Define if you have the <openssl/pem.h> header file. */
-#undef HAVE_OPENSSL_PEM_H
-
-/* Define if you have the <openssl/rsa.h> header file. */
-#undef HAVE_OPENSSL_RSA_H
-
-/* Define if you have the <openssl/ssl.h> header file. */
-#undef HAVE_OPENSSL_SSL_H
-
-/* Define if you have the <openssl/x509.h> header file. */
-#undef HAVE_OPENSSL_X509_H
-
-/* Define if you have the <pem.h> header file. */
-#undef HAVE_PEM_H
-
-/* Define if you have the `perror' function. */
-#undef HAVE_PERROR
-
-/* Define if you have the <pwd.h> header file. */
-#undef HAVE_PWD_H
-
-/* Define if you have the `RAND_egd' function. */
-#undef HAVE_RAND_EGD
-
-/* Define if you have the `RAND_screen' function. */
-#undef HAVE_RAND_SCREEN
-
-/* Define if you have the `RAND_status' function. */
-#undef HAVE_RAND_STATUS
-
-/* Define if you have the <rsa.h> header file. */
-#undef HAVE_RSA_H
-
-/* Define if you have the `select' function. */
-#define HAVE_SELECT
-
-/* Define if you have the `setvbuf' function. */
-#undef HAVE_SETVBUF
-
-/* Define if you have the <sgtty.h> header file. */
-#define HAVE_SGTTY_H
-
-/* Define if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define if you have the `signal' function. */
-#define HAVE_SIGNAL
-
-/* Define if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H
-
-/* Define if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T
-
-/* Define if sig_atomic_t is already defined as volatile. */
-#undef HAVE_SIG_ATOMIC_T_VOLATILE
-
-/* Define if you have the `socket' function. */
-#define HAVE_SOCKET
-
-/* Define if you have the <ssl.h> header file. */
-#undef HAVE_SSL_H
-
-/* Define if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H
-
-/* Define if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the `strcmpi' function. */
-#undef HAVE_STRCMPI
-
-/* Define if you have the `strdup' function. */
-#define HAVE_STRDUP
-
-/* Define if you have the `strftime' function. */
-#define HAVE_STRFTIME
-
-/* Define if you have the `stricmp' function. */
-#define HAVE_STRICMP
-
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define if you have the <string.h> header file. */
-#define HAVE_STRING_H
-
-/* Define if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
-/* Define if you have the `strlcpy' function. */
-#undef HAVE_STRLCPY
-
-/* Define if you have the `strstr' function. */
-#define HAVE_STRSTR
-
-/* Define if you have the `strtok_r' function. */
-#undef HAVE_STRTOK_R
-
-/* Define if you have the `strtoll' function. */
-#undef HAVE_STRTOLL
-
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/sockio.h> header file. */
-#undef HAVE_SYS_SOCKIO_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H
-
-/* Define if you have the `tcgetattr' function. */
-#define HAVE_TCGETATTR
-
-/* Define if you have the `tcsetattr' function. */
-#define HAVE_TCSETATTR
-
-/* Define if you have the <termios.h> header file. */
-#define HAVE_TERMIOS_H
-
-/* Define if you have the <termio.h> header file. */
-#undef HAVE_TERMIO_H
-
-/* Define if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define if you have the `uname' function. */
-#define HAVE_UNAME
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H
-
-/* Define if you have the <winsock.h> header file. */
-#undef HAVE_WINSOCK_H
-
-/* Define if you have the <x509.h> header file. */
-#undef HAVE_X509_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* The size of a `long double', as computed by sizeof. */
-#undef SIZEOF_LONG_DOUBLE
-
-/* The size of a `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef ssize_t
-
-/* this is a quick hack. I hope it's correct. */
-#define ifr_dstaddr ifr_addr
-
-#define IOCTL_3_ARGS
-
-#define HAVE_FIONBIO
-
-/* to disable LDAP */
-#define CURL_DISABLE_LDAP
-
-/* Define if you have the getnameinfo function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 size_t
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
-/* Define if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 int
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 void *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 size_t
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV ssize_t
-
-/* Define 1 if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 int
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 void
-
-/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 size_t
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV ssize_t
-
-/* Define if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 int
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 void *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 size_t
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV ssize_t
diff --git a/Utilities/cmcurl-7.19.0/lib/config-symbian.h b/Utilities/cmcurl-7.19.0/lib/config-symbian.h
deleted file mode 100644
index ddccf1e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-symbian.h
+++ /dev/null
@@ -1,809 +0,0 @@
-/* config-symbian.h. Manually generated. */
-
-/* when building libcurl itself */
-/* #undef BUILDING_LIBCURL */
-
-/* Location of default ca bundle */
-/* #define CURL_CA_BUNDLE "/etc/pki/tls/certs/ca-bundle.crt"*/
-
-/* Location of default ca path */
-/* #undef CURL_CA_PATH */
-
-/* to disable cookies support */
-/* #undef CURL_DISABLE_COOKIES */
-
-/* to disable cryptographic authentication */
-/* #undef CURL_DISABLE_CRYPTO_AUTH */
-
-/* to disable DICT */
-/* #undef CURL_DISABLE_DICT */
-
-/* to disable FILE */
-/* #undef CURL_DISABLE_FILE */
-
-/* to disable FTP */
-/* #undef CURL_DISABLE_FTP */
-
-/* to disable HTTP */
-/* #undef CURL_DISABLE_HTTP */
-
-/* to disable LDAP */
-#define CURL_DISABLE_LDAP 1
-
-/* to disable LDAPS */
-#define CURL_DISABLE_LDAPS 1
-
-/* to disable TELNET */
-/* #undef CURL_DISABLE_TELNET */
-
-/* to disable TFTP */
-/* #undef CURL_DISABLE_TFTP */
-
-/* to disable verbose strings */
-/* #define CURL_DISABLE_VERBOSE_STRINGS 1*/
-
-/* to make a symbol visible */
-/*#define CURL_EXTERN_SYMBOL __declspec(dllexport)*/
-
-/* to enable hidden symbols */
-/*#define CURL_HIDDEN_SYMBOLS 1*/
-
-/* W$ LDAP with non-W$ compiler */
-/* #undef CURL_LDAP_HYBRID */
-
-/* Use W$ LDAP implementation */
-/* #undef CURL_LDAP_WIN */
-
-/* when not building a shared library */
-/* #undef CURL_STATICLIB */
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-/* #undef DISABLED_THREADSAFE */
-
-/* your Entropy Gathering Daemon socket pathname */
-/* #undef EGD_SOCKET */
-
-/* Define if you want to enable IPv6 support */
-#define ENABLE_IPV6 1
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 size_t
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
-/* Define to 1 if you have the <alloca.h> header file. */
-/*#define HAVE_ALLOCA_H 1*/
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H 1
-
-/* Define to 1 if you have the <arpa/tftp.h> header file. */
-/*#define HAVE_ARPA_TFTP_H 1*/
-
-/* Define to 1 if you have the <assert.h> header file. */
-#define HAVE_ASSERT_H 1
-
-/* Define to 1 if you have the `basename' function. */
-/*#define HAVE_BASENAME 1*/
-
-/* Define to 1 if bool is an available type. */
-/*#define HAVE_BOOL_T 1*/
-
-/* Define to 1 if you have the `closesocket' function. */
-/* #undef HAVE_CLOSESOCKET */
-
-/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
-/*#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1*/
-
-/* Define to 1 if you have the <crypto.h> header file. */
-/* #undef HAVE_CRYPTO_H */
-
-/* Define to 1 if you have the <des.h> header file. */
-/* #undef HAVE_DES_H */
-
-/* disabled non-blocking sockets */
-/* #undef HAVE_DISABLED_NONBLOCKING */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-/*#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1*/
-
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define to 1 if you have the <err.h> header file. */
-#define HAVE_ERR_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* use FIONBIO for non-blocking sockets */
-#define HAVE_FIONBIO 1
-
-/* Define to 1 if you have the `fork' function. */
-/*#define HAVE_FORK 1*/
-
-/* Define to 1 if you have the `ftruncate' function. */
-#define HAVE_FTRUNCATE 1
-
-/* Define if getaddrinfo exists and works */
-#define HAVE_GETADDRINFO 1
-
-/* Define to 1 if you have the `geteuid' function. */
-#define HAVE_GETEUID 1
-
-/* Define to 1 if you have the `gethostbyaddr' function. */
-#define HAVE_GETHOSTBYADDR 1
-
-/* If you have gethostbyname */
-#define HAVE_GETHOSTBYNAME 1
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-/* #undef HAVE_GETHOSTBYNAME_R */
-
-/* gethostbyname_r() takes 3 args */
-/* #undef HAVE_GETHOSTBYNAME_R_3 */
-
-/* gethostbyname_r() takes 5 args */
-/* #undef HAVE_GETHOSTBYNAME_R_5 */
-
-/* gethostbyname_r() takes 6 args */
-/* #undef HAVE_GETHOSTBYNAME_R_6 */
-
-/* Define to 1 if you have the getnameinfo function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define to 1 if you have the `getpass_r' function. */
-/* #undef HAVE_GETPASS_R */
-
-/* Define to 1 if you have the `getppid' function. */
-#define HAVE_GETPPID 1
-
-/* Define to 1 if you have the `getprotobyname' function. */
-#define HAVE_GETPROTOBYNAME 1
-
-/* Define to 1 if you have the `getpwuid' function. */
-#define HAVE_GETPWUID 1
-
-/* Define to 1 if you have the `getrlimit' function. */
-/*#define HAVE_GETRLIMIT 1*/
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* we have a glibc-style strerror_r() */
-/* #undef HAVE_GLIBC_STRERROR_R */
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#define HAVE_GMTIME_R 1
-
-/* if you have the gssapi libraries */
-/* #undef HAVE_GSSAPI */
-
-/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
-/* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */
-
-/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
-/* #undef HAVE_GSSAPI_GSSAPI_H */
-
-/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
-/* #undef HAVE_GSSAPI_GSSAPI_KRB5_H */
-
-/* if you have the GNU gssapi libraries */
-/* #undef HAVE_GSSGNU */
-
-/* if you have the Heimdal gssapi libraries */
-/* #undef HAVE_GSSHEIMDAL */
-
-/* if you have the MIT gssapi libraries */
-/* #undef HAVE_GSSMIT */
-
-/* Define to 1 if you have the `idna_strerror' function. */
-/*#define HAVE_IDNA_STRERROR 1*/
-
-/* Define to 1 if you have the `idn_free' function. */
-/*#define HAVE_IDN_FREE 1*/
-
-/* Define to 1 if you have the <idn-free.h> header file. */
-/*#define HAVE_IDN_FREE_H 1*/
-
-/* Define to 1 if you have the `inet_addr' function. */
-/*#define HAVE_INET_ADDR 1*/
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-/*#define HAVE_INET_NTOA 1*/
-
-/* Define to 1 if you have the `inet_ntoa_r' function. */
-/* #undef HAVE_INET_NTOA_R */
-
-/* inet_ntoa_r() is declared */
-/* #undef HAVE_INET_NTOA_R_DECL */
-
-/* Define to 1 if you have the `inet_pton' function. */
-#define HAVE_INET_PTON 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* use ioctlsocket() for non-blocking sockets */
-/* #undef HAVE_IOCTLSOCKET */
-
-/* use Ioctlsocket() for non-blocking sockets */
-/* #undef HAVE_IOCTLSOCKET_CASE */
-
-/* Define to 1 if you have the <io.h> header file. */
-/* #undef HAVE_IO_H */
-
-/* if you have the Kerberos4 libraries (including -ldes) */
-/* #undef HAVE_KRB4 */
-
-/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
-/* #undef HAVE_KRB_GET_OUR_IP_FOR_REALM */
-
-/* Define to 1 if you have the <krb.h> header file. */
-/* #undef HAVE_KRB_H */
-
-/* Define to 1 if you have the lber.h header file. */
-/*#define HAVE_LBER_H 1*/
-
-/* Define to 1 if you have the ldapssl.h header file. */
-/* #undef HAVE_LDAPSSL_H */
-
-/* Define to 1 if you have the ldap.h header file. */
-/*#define HAVE_LDAP_H 1*/
-
-/* Use LDAPS implementation */
-/*#define HAVE_LDAP_SSL 1*/
-
-/* Define to 1 if you have the ldap_ssl.h header file. */
-/* #undef HAVE_LDAP_SSL_H */
-
-/* Define to 1 if you have the `ldap_url_parse' function. */
-/*#define HAVE_LDAP_URL_PARSE 1*/
-
-/* Define to 1 if you have the <libgen.h> header file. */
-/*#define HAVE_LIBGEN_H 1*/
-
-/* Define to 1 if you have the `idn' library (-lidn). */
-/*#define HAVE_LIBIDN 1*/
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-/* #undef HAVE_LIBRESOLV */
-
-/* Define to 1 if you have the `resolve' library (-lresolve). */
-/* #undef HAVE_LIBRESOLVE */
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-/* #undef HAVE_LIBSOCKET */
-
-/* Define to 1 if you have the `ssh2' library (-lssh2). */
-/*#define HAVE_LIBSSH2 1*/
-
-/* Define to 1 if you have the <libssh2.h> header file. */
-/*#define HAVE_LIBSSH2_H 1*/
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-/*#define HAVE_LIBSSL 1*/
-
-/* if zlib is available */
-/*#define HAVE_LIBZ 1*/
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* if your compiler supports LL */
-#define HAVE_LL 1
-
-/* Define to 1 if you have the <locale.h> header file. */
-#define HAVE_LOCALE_H 1
-
-/* Define to 1 if you have the `localtime_r' function. */
-#define HAVE_LOCALTIME_R 1
-
-/* Define to 1 if the compiler supports the 'long long' data type. */
-#define HAVE_LONGLONG 1
-
-/* Define to 1 if you have the malloc.h header file. */
-/*#define HAVE_MALLOC_H 1*/
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the MSG_NOSIGNAL flag. */
-/*#define HAVE_MSG_NOSIGNAL 1*/
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H 1
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H 1
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-/*#define HAVE_NETINET_TCP_H 1*/
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define to 1 if NI_WITHSCOPEID exists and works. */
-/*#define HAVE_NI_WITHSCOPEID 1*/
-
-/* Defined if no inet_pton() prototype available */
-/* #undef HAVE_NO_INET_PTON_PROTO */
-
-/* we have no strerror_r() proto */
-/* #undef HAVE_NO_STRERROR_R_DECL */
-
-/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE
- */
-/* #undef HAVE_OLD_GSSMIT */
-
-/* Define to 1 if you have the <openssl/crypto.h> header file. */
-/*#define HAVE_OPENSSL_CRYPTO_H 1*/
-
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-/*#define HAVE_OPENSSL_ENGINE_H 1*/
-
-/* Define to 1 if you have the <openssl/err.h> header file. */
-/*#define HAVE_OPENSSL_ERR_H 1*/
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-/*#define HAVE_OPENSSL_PEM_H 1*/
-
-/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
-/*#define HAVE_OPENSSL_PKCS12_H 1*/
-
-/* Define to 1 if you have the <openssl/rsa.h> header file. */
-/*#define HAVE_OPENSSL_RSA_H 1*/
-
-/* Define to 1 if you have the <openssl/ssl.h> header file. */
-/*#define HAVE_OPENSSL_SSL_H 1*/
-
-/* Define to 1 if you have the <openssl/x509.h> header file. */
-/*#define HAVE_OPENSSL_X509_H 1*/
-
-/* use O_NONBLOCK for non-blocking sockets */
-#define HAVE_O_NONBLOCK 1
-
-/* Define to 1 if you have the <pem.h> header file. */
-/* #undef HAVE_PEM_H */
-
-/* Define to 1 if you have the `perror' function. */
-#define HAVE_PERROR 1
-
-/* Define to 1 if you have the `pipe' function. */
-#define HAVE_PIPE 1
-
-/* if you have the function PK11_CreateGenericObject */
-/* #undef HAVE_PK11_CREATEGENERICOBJECT */
-
-/* Define to 1 if you have the `poll' function. */
-/*#define HAVE_POLL 1*/
-
-/* If you have a fine poll */
-/*#define HAVE_POLL_FINE 1*/
-
-/* Define to 1 if you have the <poll.h> header file. */
-/*#define HAVE_POLL_H 1*/
-
-/* we have a POSIX-style strerror_r() */
-#define HAVE_POSIX_STRERROR_R 1
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#define HAVE_PWD_H 1
-
-/* Define to 1 if you have the `RAND_egd' function. */
-#define HAVE_RAND_EGD 1
-
-/* Define to 1 if you have the `RAND_screen' function. */
-/* #undef HAVE_RAND_SCREEN */
-
-/* Define to 1 if you have the `RAND_status' function. */
-/*#define HAVE_RAND_STATUS 1*/
-
-/* Define to 1 if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to 1 if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to 1 if you have the <rsa.h> header file. */
-/* #undef HAVE_RSA_H */
-
-/* Define to 1 if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#define HAVE_SETJMP_H 1
-
-/* Define to 1 if you have the `setlocale' function. */
-#define HAVE_SETLOCALE 1
-
-/* Define to 1 if you have the `setmode' function. */
-/* #undef HAVE_SETMODE */
-
-/* Define to 1 if you have the `setrlimit' function. */
-/*#define HAVE_SETRLIMIT 1*/
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-/*#define HAVE_SGTTY_H 1*/
-
-/* Define to 1 if you have the `sigaction' function. */
-/*#define HAVE_SIGACTION 1*/
-
-/* Define to 1 if you have the `siginterrupt' function. */
-/*#define HAVE_SIGINTERRUPT 1*/
-
-/* Define to 1 if you have the `signal' function. */
-/*#define HAVE_SIGNAL 1*/
-
-/* Define to 1 if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* If you have sigsetjmp */
-/*#define HAVE_SIGSETJMP 1*/
-
-/* Define to 1 if sig_atomic_t is an available typedef. */
-/*#define HAVE_SIG_ATOMIC_T 1*/
-
-/* Define to 1 if sig_atomic_t is already defined as volatile. */
-/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
-
-/* Define to 1 if you have the `socket' function. */
-#define HAVE_SOCKET 1
-
-/* use SO_NONBLOCK for non-blocking sockets */
-/* #undef HAVE_SO_NONBLOCK */
-
-/* Define this if you have the SPNEGO library fbopenssl */
-/* #undef HAVE_SPNEGO */
-
-/* Define to 1 if you have the `SSL_get_shutdown' function. */
-/*#define HAVE_SSL_GET_SHUTDOWN 1*/
-
-/* Define to 1 if you have the <ssl.h> header file. */
-/* #undef HAVE_SSL_H */
-
-/* Define to 1 if you have the <stdbool.h> header file. */
-#define HAVE_STDBOOL_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#define HAVE_STDIO_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#define HAVE_STRCASECMP 1
-
-/* Define to 1 if you have the `strcasestr' function. */
-#define HAVE_STRCASESTR 1
-
-/* Define to 1 if you have the `strcmpi' function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror_r' function. */
-#define HAVE_STRERROR_R 1
-
-/* Define to 1 if you have the `stricmp' function. */
-/* #undef HAVE_STRICMP */
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strlcat' function. */
-#define HAVE_STRLCAT 1
-
-/* Define to 1 if you have the `strlcpy' function. */
-#define HAVE_STRLCPY 1
-
-/* Define to 1 if you have the `strstr' function. */
-#define HAVE_STRSTR 1
-
-/* Define to 1 if you have the `strtok_r' function. */
-#define HAVE_STRTOK_R 1
-
-/* Define to 1 if you have the `strtoll' function. */
-#define HAVE_STRTOLL 1
-
-/* if struct sockaddr_storage is defined */
-#define HAVE_STRUCT_SOCKADDR_STORAGE 1
-
-/* Define to 1 if you have the timeval struct. */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#define HAVE_SYS_FILIO_H 1
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#define HAVE_SYS_IOCTL_H 1
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-/*#define HAVE_SYS_POLL_H 1*/
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-#define HAVE_SYS_SOCKIO_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/utime.h> header file. */
-/* #undef HAVE_SYS_UTIME_H */
-
-/* Define to 1 if you have the <termios.h> header file. */
-/*#define HAVE_TERMIOS_H 1*/
-
-/* Define to 1 if you have the <termio.h> header file. */
-/*#define HAVE_TERMIO_H 1*/
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define to 1 if you have the <tld.h> header file. */
-/*#define HAVE_TLD_H 1*/
-
-/* Define to 1 if you have the `tld_strerror' function. */
-/*#define HAVE_TLD_STRERROR 1*/
-
-/* Define to 1 if you have the `uname' function. */
-#define HAVE_UNAME 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `utime' function. */
-#define HAVE_UTIME 1
-
-/* Define to 1 if you have the <utime.h> header file. */
-#define HAVE_UTIME_H 1
-
-/* Define to 1 if compiler supports C99 variadic macro style. */
-#define HAVE_VARIADIC_MACROS_C99 1
-
-/* Define to 1 if compiler supports old gcc variadic macro style. */
-/*#define HAVE_VARIADIC_MACROS_GCC 1*/
-
-/* Define to 1 if you have the winber.h header file. */
-/* #undef HAVE_WINBER_H */
-
-/* Define to 1 if you have the windows.h header file. */
-/* #undef HAVE_WINDOWS_H */
-
-/* Define to 1 if you have the winldap.h header file. */
-/* #undef HAVE_WINLDAP_H */
-
-/* Define to 1 if you have the winsock2.h header file. */
-/* #undef HAVE_WINSOCK2_H */
-
-/* Define to 1 if you have the winsock.h header file. */
-/* #undef HAVE_WINSOCK_H */
-
-/* Define this symbol if your OS supports changing the contents of argv */
-/*#define HAVE_WRITABLE_ARGV 1*/
-
-/* Define to 1 if you have the ws2tcpip.h header file. */
-/* #undef HAVE_WS2TCPIP_H */
-
-/* Define to 1 if you have the <x509.h> header file. */
-/* #undef HAVE_X509_H */
-
-/* if you have the zlib.h header file */
-/*#define HAVE_ZLIB_H 1*/
-
-/* Define to 1 if you are building a native Windows target. */
-/* #undef NATIVE_WINDOWS */
-
-/* If you lack a fine basename() prototype */
-/* #undef NEED_BASENAME_PROTO */
-
-/* Define to 1 if you need the lber.h header file even with ldap.h */
-/* #undef NEED_LBER_H */
-
-/* Define to 1 if you need the malloc.h header file even with stdlib.h */
-/* #undef NEED_MALLOC_H */
-
-/* need REENTRANT defined */
-/* #undef NEED_REENTRANT */
-
-/* cpu-machine-OS */
-#ifdef __WINS__
-#define OS "i386-pc-epoc32"
-#elif __MARM__
-#define OS "arm-unknown-epoc32"
-#else
-/* This won't happen on any current Symbian version */
-#define OS "unknown-unknown-epoc32"
-#endif
-
-/* Name of package */
-/*#define PACKAGE "curl"*/
-
-/* Define to the address where bug reports for this package should be sent. */
-/*#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"*/
-
-/* Define to the full name of this package. */
-/*#define PACKAGE_NAME "curl"*/
-
-/* Define to the full name and version of this package. */
-/*#define PACKAGE_STRING "curl -"*/
-
-/* Define to the one symbol short name of this package. */
-/*#define PACKAGE_TARNAME "curl"*/
-
-/* Define to the version of this package. */
-/*#define PACKAGE_VERSION "-"*/
-
-/* a suitable file to read random data from */
-/*#define RANDOM_FILE "/dev/urandom"*/
-
-#define RECV_TYPE_ARG1 int
-#define RECV_TYPE_ARG2 void*
-#define RECV_TYPE_ARG3 size_t
-#define RECV_TYPE_ARG4 int
-#define RECV_TYPE_RETV ssize_t
-
-#define RECVFROM_TYPE_ARG1 int
-#define RECVFROM_TYPE_ARG2 void
-#define RECVFROM_TYPE_ARG3 size_t
-#define RECVFROM_TYPE_ARG4 int
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-#define RECVFROM_TYPE_ARG6 size_t
-#define RECVFROM_TYPE_RETV ssize_t
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-
-#define SEND_TYPE_ARG1 int
-#define SEND_QUAL_ARG2 const
-#define SEND_TYPE_ARG2 void*
-#define SEND_TYPE_ARG3 size_t
-#define SEND_TYPE_ARG4 int
-#define SEND_TYPE_RETV ssize_t
-
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-/*#define RETSIGTYPE void*/
-
-/* Define to the type of arg 1 for `select'. */
-#define SELECT_TYPE_ARG1 int
-
-/* Define to the type of args 2, 3 and 4 for `select'. */
-#define SELECT_TYPE_ARG234 (fd_set *)
-
-/* Define to the type of arg 5 for `select'. */
-#define SELECT_TYPE_ARG5 (struct timeval *)
-
-/* The size of `off_t', as computed by sizeof. */
-#define SIZEOF_OFF_T 8
-
-/* The size of `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 4
-
-/* The size of `time_t', as computed by sizeof. */
-#define SIZEOF_TIME_T 4
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if you want to enable c-ares support */
-/* #undef USE_ARES */
-
-/* if GnuTLS is enabled */
-/* #undef USE_GNUTLS */
-
-/* if libSSH2 is in use */
-/*#define USE_LIBSSH2 1*/
-
-/* If you want to build curl with the built-in manual */
-/*#define USE_MANUAL 1*/
-
-/* if NSS is enabled */
-/* #undef USE_NSS */
-
-/* if OpenSSL is in use */
-/*#define USE_OPENSSL 1*/
-
-/* if SSL is enabled */
-/*#define USE_SSLEAY 1*/
-
-/* to enable SSPI support */
-/* #undef USE_WINDOWS_SSPI */
-
-/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
-/* #undef USE_YASSLEMUL */
-
-/* Version number of package */
-/*#define VERSION "7.18.2-CVS"*/
-
-/* Define to avoid automatic inclusion of winsock.h */
-/* #undef WIN32_LEAN_AND_MEAN */
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* # undef _ALL_SOURCE */
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* define this if you need it to compile thread-safe code */
-/* #undef _THREAD_SAFE */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* type to use in place of in_addr_t if not defined */
-/* #undef in_addr_t */
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-/* #undef inline */
-#endif
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-/* Type to use in place of socklen_t when system does not provide it. */
-/* #undef socklen_t */
-
-/* the signed version of size_t */
-/* #undef ssize_t */
-
-/* Enabling curl debug mode when building in Symbian debug mode would work */
-/* except that debug mode introduces new exports that must be frozen. */
-#ifdef _DEBUG
-/* #define CURLDEBUG */
-#endif
-
-/* sys/cdefs.h fails to define this for WINSCW */
-#ifndef __LONG_LONG_SUPPORTED
-#define __LONG_LONG_SUPPORTED
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/config-tpf.h b/Utilities/cmcurl-7.19.0/lib/config-tpf.h
deleted file mode 100644
index 104fb81..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-tpf.h
+++ /dev/null
@@ -1,750 +0,0 @@
-#ifndef __LIBCONFIGTPF_H
-#define __LIBCONFIGTPF_H
-
-/* ================================================================ */
-/* lib/config-tpf.h - Hand crafted config file for TPF */
-/* ================================================================ */
-
-/* ---------------------------------------------------------------- */
-/* FEATURES, FUNCTIONS, and DEFINITIONS */
-/* ---------------------------------------------------------------- */
-
-/* NOTE: Refer also to the .mak file for some of the flags below */
-
-/* when building libcurl itself */
-/* #undef BUILDING_LIBCURL */
-
-/* to disable cookies support */
-/* #undef CURL_DISABLE_COOKIES */
-
-/* to disable cryptographic authentication */
-/* #undef CURL_DISABLE_CRYPTO_AUTH */
-
-/* to disable DICT */
-/* #undef CURL_DISABLE_DICT */
-
-/* to disable FILE */
-/* #undef CURL_DISABLE_FILE */
-
-/* to disable FTP */
-/* #undef CURL_DISABLE_FTP */
-
-/* to disable HTTP */
-/* #undef CURL_DISABLE_HTTP */
-
-/* to disable LDAP */
-/* #undef CURL_DISABLE_LDAP */
-
-/* to disable TELNET */
-/* #undef CURL_DISABLE_TELNET */
-
-/* to disable TFTP */
-/* #undef CURL_DISABLE_TFTP */
-
-/* to disable verbose strings */
-/* #undef CURL_DISABLE_VERBOSE_STRINGS */
-
-/* when not building a shared library */
-/* #undef CURL_STATICLIB */
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-/* #undef DISABLED_THREADSAFE */
-
-/* lber dynamic library file */
-/* #undef DL_LBER_FILE */
-
-/* ldap dynamic library file */
-/* #undef DL_LDAP_FILE */
-
-/* your Entropy Gathering Daemon socket pathname */
-/* #undef EGD_SOCKET */
-
-/* Define if you want to enable IPv6 support */
-/* #undef ENABLE_IPV6 */
-
-/* Define to the type of arg 1 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG1 */
-
-/* Define to the type of arg 2 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG2 */
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG46 */
-
-/* Define to the type of arg 7 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG7 */
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H 1
-
-/* Define to 1 if you have the <arpa/tftp.h> header file. */
-/* #undef HAVE_ARPA_TFTP_H */
-
-/* Define to 1 if you have the <assert.h> header file. */
-#define HAVE_ASSERT_H 1
-
-/* Define to 1 if you have the `basename' function. */
-#define HAVE_BASENAME 1
-
-/* Define to 1 if you have the `closesocket' function. */
-/* #undef HAVE_CLOSESOCKET */
-
-/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
-/* #undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA */
-#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
-
-/* Define to 1 if you have the <crypto.h> header file. */
-/* #undef HAVE_CRYPTO_H */
-#define HAVE_CRYPTO_H 1
-
-/* Define to 1 if you have the <des.h> header file. */
-/* #undef HAVE_DES_H */
-#define HAVE_DES_H 1
-
-/* disabled non-blocking sockets */
-/* #undef HAVE_DISABLED_NONBLOCKING */
-
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-/* #undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES */
-#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1
-
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define to 1 if you have the <err.h> header file. */
-/* #undef HAVE_ERR_H */
-#define HAVE_ERR_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* use FIONBIO for non-blocking sockets */
-/* #undef HAVE_FIONBIO */
-#define HAVE_FIONBIO 1
-
-/* Define to 1 if you have the `fork' function. */
-/* #undef HAVE_FORK */
-#define HAVE_FORK 1
-
-/* Define to 1 if you have the `ftruncate' function. */
-#define HAVE_FTRUNCATE 1
-
-/* Define if getaddrinfo exists and works */
-/* #undef HAVE_GETADDRINFO */
-
-/* Define to 1 if you have the `geteuid' function. */
-#define HAVE_GETEUID 1
-
-/* Define to 1 if you have the `gethostbyaddr' function. */
-#define HAVE_GETHOSTBYADDR 1
-
-/* If you have gethostbyname */
-#define HAVE_GETHOSTBYNAME 1
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-/* #undef HAVE_GETHOSTBYNAME_R */
-
-/* gethostbyname_r() takes 3 args */
-/* #undef HAVE_GETHOSTBYNAME_R_3 */
-
-/* gethostbyname_r() takes 5 args */
-/* #undef HAVE_GETHOSTBYNAME_R_5 */
-
-/* gethostbyname_r() takes 6 args */
-/* #undef HAVE_GETHOSTBYNAME_R_6 1 */
-
-/* Define to 1 if you have the getnameinfo function. */
-/* #undef HAVE_GETNAMEINFO */
-
-/* Define to 1 if you have the `getpass_r' function. */
-/* #undef HAVE_GETPASS_R */
-
-/* Define to 1 if you have the `getprotobyname' function. */
-/* #undef HAVE_GETPROTOBYNAME */
-
-/* Define to 1 if you have the `getpwuid' function. */
-#define HAVE_GETPWUID 1
-
-/* Define to 1 if you have the `getrlimit' function. */
-/* #undef HAVE_GETRLIMIT */
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* we have a glibc-style strerror_r() */
-/* #undef HAVE_GLIBC_STRERROR_R */
-#define HAVE_GLIBC_STRERROR_R 1
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#define HAVE_GMTIME_R 1
-
-/* if you have the gssapi libraries */
-/* #undef HAVE_GSSAPI */
-
-/* if you have the GNU gssapi libraries */
-/* #undef HAVE_GSSGNU */
-
-/* if you have the Heimdal gssapi libraries */
-/* #undef HAVE_GSSHEIMDAL */
-
-/* if you have the MIT gssapi libraries */
-/* #undef HAVE_GSSMIT */
-
-/* Define to 1 if you have the `iconv' functions. */
-#define HAVE_ICONV 1
-
-/* Define to 1 if you have the `idna_strerror' function. */
-/* #undef HAVE_IDNA_STRERROR */
-
-/* Define to 1 if you have the `idn_free' function. */
-/* #undef HAVE_IDN_FREE */
-
-/* Define to 1 if you have the <idn-free.h> header file. */
-/* #undef HAVE_IDN_FREE_H */
-
-/* Define to 1 if you have the `inet_addr' function. */
-#define HAVE_INET_ADDR 1
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#define HAVE_INET_NTOA 1
-
-/* Define to 1 if you have the `inet_ntoa_r' function. */
-/* #undef HAVE_INET_NTOA_R */
-
-/* inet_ntoa_r() is declared */
-/* #undef HAVE_INET_NTOA_R_DECL */
-
-/* Define to 1 if you have the `inet_pton' function. */
-/* #undef HAVE_INET_PTON */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* use ioctlsocket() for non-blocking sockets */
-/* #undef HAVE_IOCTLSOCKET */
-
-/* use Ioctlsocket() for non-blocking sockets */
-/* #undef HAVE_IOCTLSOCKET_CASE */
-
-/* Define to 1 if you have the <io.h> header file. */
-/* #undef HAVE_IO_H */
-
-/* if you have the Kerberos4 libraries (including -ldes) */
-/* #undef HAVE_KRB4 */
-
-/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
-/* #undef HAVE_KRB_GET_OUR_IP_FOR_REALM */
-
-/* Define to 1 if you have the <krb.h> header file. */
-/* #undef HAVE_KRB_H */
-
-/* Define to 1 if you have the <libgen.h> header file. */
-/* #undef HAVE_LIBGEN_H 1 */
-
-/* Define to 1 if you have the `idn' library (-lidn). */
-/* #undef HAVE_LIBIDN */
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-/* #undef HAVE_LIBRESOLV */
-
-/* Define to 1 if you have the `resolve' library (-lresolve). */
-/* #undef HAVE_LIBRESOLVE */
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-/* #undef HAVE_LIBSOCKET */
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-/* #undef HAVE_LIBSSL */
-#define HAVE_LIBSSL 1
-
-/* if zlib is available */
-/* #undef HAVE_LIBZ */
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* if your compiler supports LL */
-#define HAVE_LL 1
-
-/* Define to 1 if you have the <locale.h> header file. */
-#define HAVE_LOCALE_H 1
-
-/* Define to 1 if you have the `localtime_r' function. */
-#define HAVE_LOCALTIME_R 1
-
-/* Define to 1 if the compiler supports the 'long long' data type. */
-#define HAVE_LONGLONG 1
-
-/* Define to 1 if you need the malloc.h header file even with stdlib.h */
-/* #undef NEED_MALLOC_H */
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H 1
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H 1
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-/* undef HAVE_NETINET_TCP_H */
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define if NI_WITHSCOPEID exists and works */
-/* #undef HAVE_NI_WITHSCOPEID */
-
-/* Defined if no inet_pton() prototype available */
-/* #undef HAVE_NO_INET_PTON_PROTO */
-
-/* we have no strerror_r() proto */
-/* #undef HAVE_NO_STRERROR_R_DECL */
-
-/* Define to 1 if you have the <openssl/crypto.h> header file. */
-/* #undef HAVE_OPENSSL_CRYPTO_H */
-#define HAVE_OPENSSL_CRYPTO_H 1
-
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-/* #undef HAVE_OPENSSL_ENGINE_H */
-#define HAVE_OPENSSL_ENGINE_H 1
-
-/* Define to 1 if you have the <openssl/err.h> header file. */
-/* #undef HAVE_OPENSSL_ERR_H */
-#define HAVE_OPENSSL_ERR_H 1
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-/* #undef HAVE_OPENSSL_PEM_H */
-#define HAVE_OPENSSL_PEM_H 1
-
-/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
-/* #undef HAVE_OPENSSL_PKCS12_H */
-#define HAVE_OPENSSL_PKCS12_H 1
-
-/* Define to 1 if you have the <openssl/rsa.h> header file. */
-/* #undef HAVE_OPENSSL_RSA_H */
-#define HAVE_OPENSSL_RSA_H 1
-
-/* Define to 1 if you have the <openssl/ssl.h> header file. */
-/* #undef HAVE_OPENSSL_SSL_H */
-#define HAVE_OPENSSL_SSL_H 1
-
-/* Define to 1 if you have the <openssl/x509.h> header file. */
-/* #undef HAVE_OPENSSL_X509_H */
-#define HAVE_OPENSSL_X509_H 1
-
-/* use O_NONBLOCK for non-blocking sockets */
-/* #undef HAVE_O_NONBLOCK 1 */
-
-/* Define to 1 if you have the <pem.h> header file. */
-/* #undef HAVE_PEM_H */
-#define HAVE_PEM_H 1
-
-/* Define to 1 if you have the `perror' function. */
-#define HAVE_PERROR 1
-
-/* Define to 1 if you have the `pipe' function. */
-#define HAVE_PIPE 1
-
-/* Define to 1 if you have the `poll' function. */
-/* #undef HAVE_POLL */
-
-/* If you have a fine poll */
-/* #undef HAVE_POLL_FINE */
-
-/* we have a POSIX-style strerror_r() */
-/* #undef HAVE_POSIX_STRERROR_R */
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#define HAVE_PWD_H 1
-
-/* Define to 1 if you have the `RAND_egd' function. */
-/* #undef HAVE_RAND_EGD */
-#define HAVE_RAND_EGD 1
-
-/* Define to 1 if you have the `RAND_screen' function. */
-/* #undef HAVE_RAND_SCREEN */
-
-/* Define to 1 if you have the `RAND_status' function. */
-/* #undef HAVE_RAND_STATUS */
-#define HAVE_RAND_STATUS 1
-
-/* Define to 1 if you have the <rsa.h> header file. */
-/* #undef HAVE_RSA_H */
-#define HAVE_RSA_H 1
-
-/* Define to 1 if you have the `select' function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#define HAVE_SETJMP_H 1
-
-/* Define to 1 if you have the `setlocale' function. */
-#define HAVE_SETLOCALE 1
-
-/* Define to 1 if you have the `setrlimit' function. */
-#define HAVE_SETRLIMIT 1
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-/* #undef HAVE_SGTTY_H 1 */
-
-/* Define to 1 if you have the `sigaction' function. */
-#define HAVE_SIGACTION 1
-
-/* Define to 1 if you have the `siginterrupt' function. */
-/* #undef HAVE_SIGINTERRUPT */
-
-/* Define to 1 if you have the `signal' function. */
-#define HAVE_SIGNAL 1
-
-/* Define to 1 if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define to 1 if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T 1
-
-/* Define to 1 if sig_atomic_t is already defined as volatile. */
-/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
-
-/* If you have sigsetjmp */
-/* #undef HAVE_SIGSETJMP */
-
-/* Define to 1 if you have the `socket' function. */
-#define HAVE_SOCKET 1
-
-/* use SO_NONBLOCK for non-blocking sockets */
-/* #undef HAVE_SO_NONBLOCK */
-
-/* Define this if you have the SPNEGO library fbopenssl */
-/* #undef HAVE_SPNEGO */
-
-/* Define to 1 if you have the <ssl.h> header file. */
-/* #undef HAVE_SSL_H */
-#define HAVE_SSL_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#define HAVE_STRCASECMP 1
-
-/* Define to 1 if you have the `strcmpi' function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror_r' function. */
-#define HAVE_STRERROR_R 1
-
-/* Define to 1 if you have the `stricmp' function. */
-/* #undef HAVE_STRICMP */
-#define HAVE_STRICMP 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strlcat' function. */
-/* #undef HAVE_STRLCAT */
-
-/* Define to 1 if you have the `strlcpy' function. */
-/* #undef HAVE_STRLCPY */
-
-/* Define to 1 if you have the `strstr' function. */
-#define HAVE_STRSTR 1
-
-/* Define to 1 if you have the `strtok_r' function. */
-#define HAVE_STRTOK_R 1
-
-/* Define to 1 if you have the `strtoll' function. */
-#define HAVE_STRTOLL 1
-
-/* if struct sockaddr_storage is defined */
-/* #undef HAVE_STRUCT_SOCKADDR_STORAGE */
-
-/* Define this if you have struct timeval */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#define HAVE_SYS_FILIO_H 1
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#define HAVE_SYS_IOCTL_H 1
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-/* #undef HAVE_SYS_POLL_H */
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-/* #undef HAVE_SYS_SOCKIO_H */
-#define HAVE_SYS_SOCKIO_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/utime.h> header file. */
-/* #undef HAVE_SYS_UTIME_H */
-
-/* Define to 1 if you have the <termios.h> header file. */
-/* #undef HAVE_TERMIOS_H */
-
-/* Define to 1 if you have the <termio.h> header file. */
-/* #undef HAVE_TERMIO_H */
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define to 1 if you have the <tld.h> header file. */
-/* #undef HAVE_TLD_H */
-
-/* Define to 1 if you have the `tld_strerror' function. */
-/* #undef HAVE_TLD_STRERROR */
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `utime' function. */
-#define HAVE_UTIME 1
-
-/* Define to 1 if you have the <utime.h> header file. */
-#define HAVE_UTIME_H 1
-
-/* Define to 1 if you have the <winsock2.h> header file. */
-/* #undef HAVE_WINSOCK2_H */
-
-/* Define to 1 if you have the <winsock.h> header file. */
-/* #undef HAVE_WINSOCK_H */
-
-/* Define this symbol if your OS supports changing the contents of argv */
-/* #undef HAVE_WRITABLE_ARGV */
-
-/* Define to 1 if you have the ws2tcpip.h header file. */
-/* #undef HAVE_WS2TCPIP_H */
-
-/* Define to 1 if you have the <x509.h> header file. */
-/* #undef HAVE_X509_H */
-
-/* if you have the zlib.h header file */
-/* #undef HAVE_ZLIB_H */
-
-/* If you lack a fine basename() prototype */
-/* #undef NEED_BASENAME_PROTO */
-
-/* need REENTRANT defined */
-/* #undef NEED_REENTRANT */
-
-/* cpu-machine-OS */
-#define OS "s390x-ibm-tpf"
-
-/* Name of package */
-#define PACKAGE "curl"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "curl"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "curl -"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "curl"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "-"
-
-/* a suitable file to read random data from */
-/* #undef RANDOM_FILE */
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define to the type of arg 1 for `select'. */
-#define SELECT_TYPE_ARG1 int
-
-/* Define to the type of args 2, 3 and 4 for `select'. */
-#define SELECT_TYPE_ARG234 (fd_set *)
-
-/* Define to the type of arg 5 for `select'. */
-#define SELECT_TYPE_ARG5 (struct timeval *)
-
-/* The size of a `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 8
-
-/* The size of a `time_t', as computed by sizeof. */
-#define SIZEOF_TIME_T 8
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if you want to enable ares support */
-/* #undef USE_ARES */
-
-/* if GnuTLS is enabled */
-/* #undef USE_GNUTLS */
-
-/* If you want to build curl with the built-in manual */
-/* #undef USE_MANUAL */
-
-/* if OpenSSL is in use */
-/* #undef USE_OPENSSL */
-
-/* if SSL is enabled */
-/* #undef USE_SSLEAY */
-
-/* to enable SSPI support */
-/* #undef USE_WINDOWS_SSPI */
-
-/* Version number of package */
-#define VERSION "not-used"
-
-/* Define to avoid automatic inclusion of winsock.h */
-/* #undef WIN32_LEAN_AND_MEAN */
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* # undef _ALL_SOURCE */
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* define this if you need it to compile thread-safe code */
-/* #undef _THREAD_SAFE */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* type to use in place of in_addr_t if not defined */
-/* #undef in_addr_t */
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-/* Type to use in place of socklen_t when system does not provide it. */
-/* #undef socklen_t */
-
-/* the signed version of size_t */
-/* #undef ssize_t */
-
-/* Define to 1 if you have the getnameinfo function. */
-/* #undef HAVE_GETNAMEINFO 1 */
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-/* #undef GETNAMEINFO_QUAL_ARG1 const */
-
-/* Define to the type of arg 1 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG1 struct sockaddr * */
-
-/* Define to the type of arg 2 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG2 socklen_t */
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG46 size_t */
-
-/* Define to the type of arg 7 for getnameinfo. */
-/* #undef GETNAMEINFO_TYPE_ARG7 int */
-
-/* Define to 1 if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 int
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define to 1 if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 int
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define to 1 if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 int
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
-#define CURL_DOES_CONVERSIONS
-#ifndef CURL_ICONV_CODESET_OF_HOST
-#define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
-#endif
-
-
-#endif /* __LIBCONFIGTPF_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/config-win32.h b/Utilities/cmcurl-7.19.0/lib/config-win32.h
deleted file mode 100644
index a0c0bf5..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-win32.h
+++ /dev/null
@@ -1,448 +0,0 @@
-#ifndef __LIB_CONFIG_WIN32_H
-#define __LIB_CONFIG_WIN32_H
-
-/* ================================================================ */
-/* lib/config-win32.h - Hand crafted config file for Windows */
-/* ================================================================ */
-
-/* ---------------------------------------------------------------- */
-/* HEADER FILES */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the <arpa/inet.h> header file. */
-/* #define HAVE_ARPA_INET_H 1 */
-
-/* Define if you have the <assert.h> header file. */
-#define HAVE_ASSERT_H 1
-
-/* Define if you have the <crypto.h> header file. */
-/* #define HAVE_CRYPTO_H 1 */
-
-/* Define if you have the <err.h> header file. */
-/* #define HAVE_ERR_H 1 */
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <getopt.h> header file. */
-/* #define HAVE_GETOPT_H 1 */
-
-/* Define if you have the <io.h> header file. */
-#define HAVE_IO_H 1
-
-/* Define if you need the malloc.h header file even with stdlib.h */
-#ifndef __SALFORDC__
-#define NEED_MALLOC_H 1
-#endif
-
-/* Define if you have the <netdb.h> header file. */
-/* #define HAVE_NETDB_H 1 */
-
-/* Define if you have the <netinet/in.h> header file. */
-/* #define HAVE_NETINET_IN_H 1 */
-
-/* Define if you have the <process.h> header file. */
-#ifndef __SALFORDC__
-#define HAVE_PROCESS_H 1
-#endif
-
-/* Define if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define if you have the <sgtty.h> header file. */
-/* #define HAVE_SGTTY_H 1 */
-
-/* Define if you have the <ssl.h> header file. */
-/* #define HAVE_SSL_H 1 */
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define if you have the <sys/param.h> header file. */
-/* #define HAVE_SYS_PARAM_H 1 */
-
-/* Define if you have the <sys/select.h> header file. */
-/* #define HAVE_SYS_SELECT_H 1 */
-
-/* Define if you have the <sys/socket.h> header file. */
-/* #define HAVE_SYS_SOCKET_H 1 */
-
-/* Define if you have the <sys/sockio.h> header file. */
-/* #define HAVE_SYS_SOCKIO_H 1 */
-
-/* Define if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define if you have the <sys/time.h> header file */
-/* #define HAVE_SYS_TIME_H 1 */
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define if you have the <sys/utime.h> header file */
-#ifndef __BORLANDC__
-#define HAVE_SYS_UTIME_H 1
-#endif
-
-/* Define if you have the <termio.h> header file. */
-/* #define HAVE_TERMIO_H 1 */
-
-/* Define if you have the <termios.h> header file. */
-/* #define HAVE_TERMIOS_H 1 */
-
-/* Define if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define if you have the <unistd.h> header file. */
-#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
- defined(__POCC__)
-#define HAVE_UNISTD_H 1
-#endif
-
-/* Define if you have the <windows.h> header file. */
-#define HAVE_WINDOWS_H 1
-
-/* Define if you have the <winsock.h> header file. */
-#define HAVE_WINSOCK_H 1
-
-#ifndef __SALFORDC__
-/* Define if you have the <winsock2.h> header file. */
-#define HAVE_WINSOCK2_H 1
-
-/* Define if you have the <ws2tcpip.h> header file. */
-#define HAVE_WS2TCPIP_H 1
-#endif
-
-/* ---------------------------------------------------------------- */
-/* OTHER HEADER INFO */
-/* ---------------------------------------------------------------- */
-
-/* Define if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T 1
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-/* #define TIME_WITH_SYS_TIME 1 */
-
-/* ---------------------------------------------------------------- */
-/* FUNCTIONS */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the closesocket function. */
-#define HAVE_CLOSESOCKET 1
-
-/* Define if you don't have vprintf but do have _doprnt. */
-/* #define HAVE_DOPRNT 1 */
-
-/* Define if you have the gethostbyaddr function. */
-#define HAVE_GETHOSTBYADDR 1
-
-/* Define if you have the gethostname function. */
-#define HAVE_GETHOSTNAME 1
-
-/* Define if you have the getpass function. */
-/* #define HAVE_GETPASS 1 */
-
-/* Define if you have the getservbyname function. */
-#define HAVE_GETSERVBYNAME 1
-
-/* Define if you have the getprotobyname function. */
-#define HAVE_GETPROTOBYNAME
-
-/* Define if you have the gettimeofday function. */
-/* #define HAVE_GETTIMEOFDAY 1 */
-
-/* Define if you have the inet_addr function. */
-#define HAVE_INET_ADDR 1
-
-/* Define if you have the inet_ntoa function. */
-#define HAVE_INET_NTOA 1
-
-/* Define if you have the ioctlsocket function. */
-#define HAVE_IOCTLSOCKET 1
-
-/* Define if you have the perror function. */
-#define HAVE_PERROR 1
-
-/* Define if you have the RAND_screen function when using SSL */
-#define HAVE_RAND_SCREEN 1
-
-/* Define if you have the `RAND_status' function when using SSL. */
-#define HAVE_RAND_STATUS 1
-
-/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function.
- This is present in OpenSSL versions after 0.9.6b */
-#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
-
-/* Define if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define if you have the setvbuf function. */
-#define HAVE_SETVBUF 1
-
-/* Define if you have the socket function. */
-#define HAVE_SOCKET 1
-
-/* Define if you have the strcasecmp function. */
-/* #define HAVE_STRCASECMP 1 */
-
-/* Define if you have the stricmp function. */
-#define HAVE_STRICMP 1
-
-/* Define if you have the strdup function. */
-#define HAVE_STRDUP 1
-
-/* Define if you have the strftime function. */
-#define HAVE_STRFTIME 1
-
-/* Define if you have the strstr function. */
-#define HAVE_STRSTR 1
-
-/* Define if you have the strtoll function. */
-#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__POCC__)
-#define HAVE_STRTOLL 1
-#endif
-
-/* Define if you have the tcgetattr function. */
-/* #define HAVE_TCGETATTR 1 */
-
-/* Define if you have the tcsetattr function. */
-/* #define HAVE_TCSETATTR 1 */
-
-/* Define if you have the utime function */
-#ifndef __BORLANDC__
-#define HAVE_UTIME 1
-#endif
-
-/* Define if you have the getnameinfo function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 DWORD
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
-/* Define if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 SOCKET
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 SOCKET
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 SOCKET
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
-/* ---------------------------------------------------------------- */
-/* TYPEDEF REPLACEMENTS */
-/* ---------------------------------------------------------------- */
-
-/* Define this if in_addr_t is not an available 'typedefed' type */
-#define in_addr_t unsigned long
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-#ifndef _SSIZE_T_DEFINED
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \
- defined(__MINGW32__)
-#elif defined(_WIN64)
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-#define _SSIZE_T_DEFINED
-#endif
-
-/* ---------------------------------------------------------------- */
-/* TYPE SIZES */
-/* ---------------------------------------------------------------- */
-
-/* The number of bytes in a long double. */
-#define SIZEOF_LONG_DOUBLE 16
-
-/* The number of bytes in a long long. */
-/* #define SIZEOF_LONG_LONG 8 */
-
-/* ---------------------------------------------------------------- */
-/* STRUCT RELATED */
-/* ---------------------------------------------------------------- */
-
-/* Define this if you have struct sockaddr_storage */
-#ifndef __SALFORDC__
-#define HAVE_STRUCT_SOCKADDR_STORAGE 1
-#endif
-
-/* Define this if you have struct timeval */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* ---------------------------------------------------------------- */
-/* COMPILER SPECIFIC */
-/* ---------------------------------------------------------------- */
-
-/* Undef keyword 'const' if it does not work. */
-/* #undef const */
-
-/* Windows should not have HAVE_GMTIME_R defined */
-/* #undef HAVE_GMTIME_R */
-
-/* Define if the compiler supports C99 variadic macro style. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define HAVE_VARIADIC_MACROS_C99 1
-#endif
-
-/* Define if the compiler supports the 'long long' data type. */
-#if defined(__MINGW32__) || defined(__WATCOMC__)
-#define HAVE_LONGLONG 1
-#endif
-
-/* Define to avoid VS2005 complaining about portable C functions */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define _CRT_SECURE_NO_DEPRECATE 1
-#define _CRT_NONSTDC_NO_DEPRECATE 1
-#endif
-
-/* VS2005 and later dafault size for time_t is 64-bit, unless */
-/* _USE_32BIT_TIME_T has been defined to get a 32-bit time_t. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-# ifndef _USE_32BIT_TIME_T
-# define SIZEOF_TIME_T 8
-# else
-# define SIZEOF_TIME_T 4
-# endif
-#endif
-
-/* VS2008 does not support Windows build targets prior to WinXP, */
-/* so, if no build target has been defined we will target WinXP. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0501
-# endif
-# ifndef WINVER
-# define WINVER 0x0501
-# endif
-# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501)
-# error VS2008 does not support Windows build targets prior to WinXP
-# endif
-#endif
-
-/* ---------------------------------------------------------------- */
-/* LARGE FILE SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#if defined(_MSC_VER) && !defined(_WIN32_WCE)
-# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define USE_WIN32_LARGE_FILES
-# else
-# define USE_WIN32_SMALL_FILES
-# endif
-#endif
-
-#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
-# define USE_WIN32_SMALL_FILES
-#endif
-
-/* ---------------------------------------------------------------- */
-/* LDAP SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#if defined(CURL_HAS_NOVELL_LDAPSDK) || defined(CURL_HAS_MOZILLA_LDAPSDK)
-#undef CURL_LDAP_HYBRID
-#undef CURL_LDAP_WIN
-#define HAVE_LDAP_SSL_H 1
-#define HAVE_LDAP_URL_PARSE 1
-#elif defined(CURL_HAS_OPENLDAP_LDAPSDK)
-#undef CURL_LDAP_HYBRID
-#undef CURL_LDAP_WIN
-#define HAVE_LDAP_URL_PARSE 1
-#else
-#undef CURL_LDAP_HYBRID
-#undef HAVE_LDAP_URL_PARSE
-#define CURL_LDAP_WIN 1
-#endif
-
-/* ---------------------------------------------------------------- */
-/* ADDITIONAL DEFINITIONS */
-/* ---------------------------------------------------------------- */
-
-/* Define cpu-machine-OS */
-#undef OS
-#if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
-#define OS "i386-pc-win32"
-#elif defined(_M_IA64) /* Itanium */
-#define OS "ia64-pc-win32"
-#elif defined(_M_X64) /* AMD64/EM64T - Not defined until MSVC 2005 */
-#define OS "amd64-pc-win32"
-#else
-#define OS "unknown-pc-win32"
-#endif
-
-/* Name of package */
-#define PACKAGE "curl"
-
-
-#endif /* __LIB_CONFIG_WIN32_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/config-win32ce.h b/Utilities/cmcurl-7.19.0/lib/config-win32ce.h
deleted file mode 100644
index 50ddd18..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config-win32ce.h
+++ /dev/null
@@ -1,392 +0,0 @@
-#ifndef __LIB_CONFIG_WIN32CE_H
-#define __LIB_CONFIG_WIN32CE_H
-
-/* ================================================================ */
-/* lib/config-win32ce.h - Hand crafted config file for windows ce */
-/* ================================================================ */
-
-/* ---------------------------------------------------------------- */
-/* HEADER FILES */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the <arpa/inet.h> header file. */
-/* #define HAVE_ARPA_INET_H 1 */
-
-/* Define if you have the <assert.h> header file. */
-/* #define HAVE_ASSERT_H 1 */
-
-/* Define if you have the <crypto.h> header file. */
-/* #define HAVE_CRYPTO_H 1 */
-
-/* Define if you have the <err.h> header file. */
-/* #define HAVE_ERR_H 1 */
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <getopt.h> header file. */
-/* #define HAVE_GETOPT_H 1 */
-
-/* Define if you have the <io.h> header file. */
-#define HAVE_IO_H 1
-
-/* Define if you need the malloc.h header header file even with stdlib.h */
-#define NEED_MALLOC_H 1
-
-/* Define if you have the <netdb.h> header file. */
-/* #define HAVE_NETDB_H 1 */
-
-/* Define if you have the <netinet/in.h> header file. */
-/* #define HAVE_NETINET_IN_H 1 */
-
-/* Define if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define if you have the <sgtty.h> header file. */
-/* #define HAVE_SGTTY_H 1 */
-
-/* Define if you have the <ssl.h> header file. */
-/* #define HAVE_SSL_H 1 */
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define if you have the <process.h> header file. */
-#define HAVE_PROCESS_H 1
-
-/* Define if you have the <sys/param.h> header file. */
-/* #define HAVE_SYS_PARAM_H 1 */
-
-/* Define if you have the <sys/select.h> header file. */
-/* #define HAVE_SYS_SELECT_H 1 */
-
-/* Define if you have the <sys/socket.h> header file. */
-/* #define HAVE_SYS_SOCKET_H 1 */
-
-/* Define if you have the <sys/sockio.h> header file. */
-/* #define HAVE_SYS_SOCKIO_H 1 */
-
-/* Define if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define if you have the <sys/time.h> header file */
-/* #define HAVE_SYS_TIME_H 1 */
-
-/* Define if you have the <sys/types.h> header file. */
-/* #define HAVE_SYS_TYPES_H 1 */
-
-/* Define if you have the <sys/utime.h> header file */
-#define HAVE_SYS_UTIME_H 1
-
-/* Define if you have the <termio.h> header file. */
-/* #define HAVE_TERMIO_H 1 */
-
-/* Define if you have the <termios.h> header file. */
-/* #define HAVE_TERMIOS_H 1 */
-
-/* Define if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define if you have the <unistd.h> header file. */
-#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__)
-#define HAVE_UNISTD_H 1
-#endif
-
-/* Define if you have the <windows.h> header file. */
-#define HAVE_WINDOWS_H 1
-
-/* Define if you have the <winsock.h> header file. */
-#define HAVE_WINSOCK_H 1
-
-/* Define if you have the <winsock2.h> header file. */
-/* #define HAVE_WINSOCK2_H 1 */
-
-/* Define if you have the <ws2tcpip.h> header file. */
-/* #define HAVE_WS2TCPIP_H 1 */
-
-/* ---------------------------------------------------------------- */
-/* OTHER HEADER INFO */
-/* ---------------------------------------------------------------- */
-
-/* Define if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T 1
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-/* #define TIME_WITH_SYS_TIME 1 */
-
-/* ---------------------------------------------------------------- */
-/* FUNCTIONS */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the closesocket function. */
-#define HAVE_CLOSESOCKET 1
-
-/* Define if you don't have vprintf but do have _doprnt. */
-/* #define HAVE_DOPRNT 1 */
-
-/* Define if you have the gethostbyaddr function. */
-#define HAVE_GETHOSTBYADDR 1
-
-/* Define if you have the gethostname function. */
-#define HAVE_GETHOSTNAME 1
-
-/* Define if you have the getpass function. */
-/* #define HAVE_GETPASS 1 */
-
-/* Define if you have the getservbyname function. */
-#define HAVE_GETSERVBYNAME 1
-
-/* Define if you have the gettimeofday function. */
-/* #define HAVE_GETTIMEOFDAY 1 */
-
-/* Define if you have the inet_addr function. */
-#define HAVE_INET_ADDR 1
-
-/* Define if you have the inet_ntoa function. */
-#define HAVE_INET_NTOA 1
-
-/* Define if you have the ioctlsocket function. */
-#define HAVE_IOCTLSOCKET 1
-
-/* Define if you have the perror function. */
-#define HAVE_PERROR 1
-
-/* Define if you have the RAND_screen function when using SSL */
-#define HAVE_RAND_SCREEN 1
-
-/* Define if you have the `RAND_status' function when using SSL. */
-#define HAVE_RAND_STATUS 1
-
-/* Define if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define if you have the setvbuf function. */
-#define HAVE_SETVBUF 1
-
-/* Define if you have the socket function. */
-#define HAVE_SOCKET 1
-
-/* Define if you have the strcasecmp function. */
-/* #define HAVE_STRCASECMP 1 */
-
-/* Define if you have the stricmp function. */
-/* #define HAVE_STRICMP 1 */
-
-/* Define if you have the strdup function. */
-/* #define HAVE_STRDUP 1 */
-
-/* Define if you have the strftime function. */
-/* #define HAVE_STRFTIME 1 */
-
-/* Define if you have the strstr function. */
-#define HAVE_STRSTR 1
-
-/* Define if you have the strtoll function. */
-#if defined(__MINGW32__) || defined(__WATCOMC__)
-#define HAVE_STRTOLL 1
-#endif
-
-/* Define if you have the tcgetattr function. */
-/* #define HAVE_TCGETATTR 1 */
-
-/* Define if you have the tcsetattr function. */
-/* #define HAVE_TCSETATTR 1 */
-
-/* Define if you have the utime function */
-#define HAVE_UTIME 1
-
-/* Define if you have the getnameinfo function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 DWORD
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
-/* Define if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 SOCKET
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 SOCKET
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 SOCKET
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
-/* ---------------------------------------------------------------- */
-/* TYPEDEF REPLACEMENTS */
-/* ---------------------------------------------------------------- */
-
-/* Define this if in_addr_t is not an available 'typedefed' type */
-#define in_addr_t unsigned long
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-/* Define ssize_t if it is not an available 'typedefed' type */
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__)
-#elif defined(_WIN64)
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-
-/* ---------------------------------------------------------------- */
-/* TYPE SIZES */
-/* ---------------------------------------------------------------- */
-
-/* The number of bytes in a long double. */
-#define SIZEOF_LONG_DOUBLE 16
-
-/* The number of bytes in a long long. */
-/* #define SIZEOF_LONG_LONG 8 */
-
-/* ---------------------------------------------------------------- */
-/* STRUCT RELATED */
-/* ---------------------------------------------------------------- */
-
-/* Define this if you have struct sockaddr_storage */
-/* #define HAVE_STRUCT_SOCKADDR_STORAGE 1 */
-
-/* Define this if you have struct timeval */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* ---------------------------------------------------------------- */
-/* COMPILER SPECIFIC */
-/* ---------------------------------------------------------------- */
-
-/* Undef keyword 'const' if it does not work. */
-/* #undef const */
-
-/* Define to avoid VS2005 complaining about portable C functions */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define _CRT_SECURE_NO_DEPRECATE 1
-#define _CRT_NONSTDC_NO_DEPRECATE 1
-#endif
-
-/* VS2005 and later dafault size for time_t is 64-bit, unless */
-/* _USE_32BIT_TIME_T has been defined to get a 32-bit time_t. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-# ifndef _USE_32BIT_TIME_T
-# define SIZEOF_TIME_T 8
-# else
-# define SIZEOF_TIME_T 4
-# endif
-#endif
-
-/* ---------------------------------------------------------------- */
-/* LARGE FILE SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#if defined(_MSC_VER) && !defined(_WIN32_WCE)
-# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define USE_WIN32_LARGE_FILES
-# else
-# define USE_WIN32_SMALL_FILES
-# endif
-#endif
-
-#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
-# define USE_WIN32_SMALL_FILES
-#endif
-
-/* ---------------------------------------------------------------- */
-/* LDAP SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#define CURL_LDAP_WIN 1
-#undef CURL_LDAP_HYBRID
-#undef HAVE_LDAP_URL_PARSE
-
-/* ---------------------------------------------------------------- */
-/* ADDITIONAL DEFINITIONS */
-/* ---------------------------------------------------------------- */
-
-/* Define cpu-machine-OS */
-#undef OS
-#define OS "i386-pc-win32ce"
-
-/* Name of package */
-#define PACKAGE "curl"
-
-/* ---------------------------------------------------------------- */
-/* WinCE */
-/* ---------------------------------------------------------------- */
-
-#define CURL_DISABLE_FILE 1
-#define CURL_DISABLE_TELNET 1
-#define CURL_DISABLE_LDAP 1
-
-#define ENOSPC 1
-#define ENOMEM 2
-#define EAGAIN 3
-
-extern int stat(const char *path,struct stat *buffer );
-
-#endif /* __LIB_CONFIG_WIN32CE_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/config.cmake.h.in b/Utilities/cmcurl-7.19.0/lib/config.cmake.h.in
deleted file mode 100644
index cc1927e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config.cmake.h.in
+++ /dev/null
@@ -1,889 +0,0 @@
-/* lib/config.cmake.h.in. . */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0501
-# endif
-# ifndef WINVER
-# define WINVER 0x0501
-# endif
-# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501)
-# error VS2008 does not support Windows build targets prior to WinXP
-# endif
-#endif
-/* ---------------------------------------------------------------- */
-/* LARGE FILE SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#if defined(_MSC_VER) && !defined(_WIN32_WCE)
-# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define USE_WIN32_LARGE_FILES
-# else
-# define USE_WIN32_SMALL_FILES
-# endif
-#endif
-
-#if defined(_WIN32)
-# if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
-# define USE_WIN32_SMALL_FILES
-# endif
-#endif
-
-/* Define to 1 if you have the $func function. */
-#cmakedefine AS_TR_CPP
-
-/* when building libcurl itself */
-#cmakedefine BUILDING_LIBCURL
-
-/* Location of default ca bundle */
-#cmakedefine CURL_CA_BUNDLE
-
-/* Location of default ca path */
-#cmakedefine CURL_CA_PATH
-
-/* to disable cookies support */
-#cmakedefine CURL_DISABLE_COOKIES
-
-/* to disable cryptographic authentication */
-#cmakedefine CURL_DISABLE_CRYPTO_AUTH
-
-/* to disable DICT */
-#cmakedefine CURL_DISABLE_DICT
-
-/* to disable FILE */
-#cmakedefine CURL_DISABLE_FILE
-
-/* to disable FTP */
-#cmakedefine CURL_DISABLE_FTP
-
-/* to disable HTTP */
-#cmakedefine CURL_DISABLE_HTTP
-
-/* to disable LDAP */
-#cmakedefine CURL_DISABLE_LDAP
-
-/* to disable LDAPS */
-#cmakedefine CURL_DISABLE_LDAPS
-
-/* to disable TELNET */
-#cmakedefine CURL_DISABLE_TELNET
-
-/* to disable TFTP */
-#cmakedefine CURL_DISABLE_TFTP
-
-/* to disable verbose strings */
-#cmakedefine CURL_DISABLE_VERBOSE_STRINGS
-
-/* to make a symbol visible */
-#cmakedefine CURL_EXTERN_SYMBOL
-
-/* to enable hidden symbols */
-#cmakedefine CURL_HIDDEN_SYMBOLS
-
-/* W$ LDAP with non-W$ compiler */
-#cmakedefine CURL_LDAP_HYBRID
-
-/* Use W$ LDAP implementation */
-#cmakedefine CURL_LDAP_WIN
-
-/* when not building a shared library */
-#cmakedefine CURL_STATICLIB
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#cmakedefine DISABLED_THREADSAFE
-
-/* your Entropy Gathering Daemon socket pathname */
-#cmakedefine EGD_SOCKET
-
-/* Define if you want to enable IPv6 support */
-#cmakedefine ENABLE_IPV6
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#cmakedefine GETNAMEINFO_QUAL_ARG1
-
-/* Define to the type of arg 1 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG1
-
-/* Define to the type of arg 2 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG2
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG46
-
-/* Define to the type of arg 7 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG7
-
-/* Define to 1 if you have the <alloca.h> header file. */
-#cmakedefine HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#cmakedefine HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the <arpa/tftp.h> header file. */
-#cmakedefine HAVE_ARPA_TFTP_H
-
-/* Define to 1 if you have the <assert.h> header file. */
-#cmakedefine HAVE_ASSERT_H
-
-/* Define to 1 if you have the `basename' function. */
-#cmakedefine HAVE_BASENAME
-
-/* Define to 1 if bool is an available type. */
-#cmakedefine HAVE_BOOL_T
-
-/* Define to 1 if you have the clock_gettime function and monotonic timer. */
-#cmakedefine HAVE_CLOCK_GETTIME_MONOTONIC
-
-/* Define to 1 if you have the `closesocket' function. */
-#cmakedefine HAVE_CLOSESOCKET
-
-/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
-#cmakedefine HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
-
-/* Define to 1 if you have the <crypto.h> header file. */
-#cmakedefine HAVE_CRYPTO_H
-
-/* Define to 1 if you have the <des.h> header file. */
-#cmakedefine HAVE_DES_H
-
-/* disabled non-blocking sockets */
-#cmakedefine HAVE_DISABLED_NONBLOCKING
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#cmakedefine HAVE_DLFCN_H
-
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-#cmakedefine HAVE_ENGINE_LOAD_BUILTIN_ENGINES
-
-/* Define to 1 if you have the <errno.h> header file. */
-#cmakedefine HAVE_ERRNO_H
-
-/* Define to 1 if you have the <err.h> header file. */
-#cmakedefine HAVE_ERR_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#cmakedefine HAVE_FCNTL_H
-
-/* use FIONBIO for non-blocking sockets */
-#cmakedefine HAVE_FIONBIO
-
-/* Define to 1 if you have the `fork' function. */
-#cmakedefine HAVE_FORK
-
-/* Define to 1 if you have the `ftruncate' function. */
-#cmakedefine HAVE_FTRUNCATE
-
-/* Define if getaddrinfo exists and works */
-#cmakedefine HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `geteuid' function. */
-#cmakedefine HAVE_GETEUID
-
-/* Define to 1 if you have the `gethostbyaddr' function. */
-#cmakedefine HAVE_GETHOSTBYADDR
-
-/* If you have gethostbyname */
-#cmakedefine HAVE_GETHOSTBYNAME
-
-/* Define to 1 if you have the gethostbyname_r function. */
-#cmakedefine HAVE_GETHOSTBYNAME_R
-
-/* gethostbyname_r() takes 3 args */
-#cmakedefine HAVE_GETHOSTBYNAME_R_3
-
-/* gethostbyname_r() takes 5 args */
-#cmakedefine HAVE_GETHOSTBYNAME_R_5
-
-/* gethostbyname_r() takes 6 args */
-#cmakedefine HAVE_GETHOSTBYNAME_R_6
-
-/* Define to 1 if you have the getnameinfo function. */
-#cmakedefine HAVE_GETNAMEINFO
-
-/* Define to 1 if you have the `getpass_r' function. */
-#cmakedefine HAVE_GETPASS_R
-
-/* Define to 1 if you have the `getppid' function. */
-#cmakedefine HAVE_GETPPID
-
-/* Define to 1 if you have the `getprotobyname' function. */
-#cmakedefine HAVE_GETPROTOBYNAME
-
-/* Define to 1 if you have the `getpwuid' function. */
-#cmakedefine HAVE_GETPWUID
-
-/* Define to 1 if you have the `getrlimit' function. */
-#cmakedefine HAVE_GETRLIMIT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#cmakedefine HAVE_GETTIMEOFDAY
-
-/* we have a glibc-style strerror_r() */
-#cmakedefine HAVE_GLIBC_STRERROR_R
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#cmakedefine HAVE_GMTIME_R
-
-/* if you have the gssapi libraries */
-#cmakedefine HAVE_GSSAPI
-
-/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
-#cmakedefine HAVE_GSSAPI_GSSAPI_GENERIC_H
-
-/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
-#cmakedefine HAVE_GSSAPI_GSSAPI_H
-
-/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
-#cmakedefine HAVE_GSSAPI_GSSAPI_KRB5_H
-
-/* if you have the GNU gssapi libraries */
-#cmakedefine HAVE_GSSGNU
-
-/* if you have the Heimdal gssapi libraries */
-#cmakedefine HAVE_GSSHEIMDAL
-
-/* if you have the MIT gssapi libraries */
-#cmakedefine HAVE_GSSMIT
-
-/* Define to 1 if you have the `idna_strerror' function. */
-#cmakedefine HAVE_IDNA_STRERROR
-
-/* Define to 1 if you have the `idn_free' function. */
-#cmakedefine HAVE_IDN_FREE
-
-/* Define to 1 if you have the <idn-free.h> header file. */
-#cmakedefine HAVE_IDN_FREE_H
-
-/* Define to 1 if you have the `inet_addr' function. */
-#cmakedefine HAVE_INET_ADDR
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#cmakedefine HAVE_INET_NTOA
-
-/* Define to 1 if you have the `inet_ntoa_r' function. */
-#cmakedefine HAVE_INET_NTOA_R
-
-/* inet_ntoa_r() is declared */
-#cmakedefine HAVE_INET_NTOA_R_DECL
-
-/* Define to 1 if you have the `inet_pton' function. */
-#cmakedefine HAVE_INET_PTON
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#cmakedefine HAVE_INTTYPES_H
-
-/* use ioctlsocket() for non-blocking sockets */
-#cmakedefine HAVE_IOCTLSOCKET
-
-/* use Ioctlsocket() for non-blocking sockets */
-#cmakedefine HAVE_IOCTLSOCKET_CASE
-
-/* Define to 1 if you have the <io.h> header file. */
-#cmakedefine HAVE_IO_H
-
-/* if you have the Kerberos4 libraries (including -ldes) */
-#cmakedefine HAVE_KRB4
-
-/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
-#cmakedefine HAVE_KRB_GET_OUR_IP_FOR_REALM
-
-/* Define to 1 if you have the <krb.h> header file. */
-#cmakedefine HAVE_KRB_H
-
-/* Define to 1 if you have the lber.h header file. */
-#cmakedefine HAVE_LBER_H
-
-/* Define to 1 if you have the ldapssl.h header file. */
-#cmakedefine HAVE_LDAPSSL_H
-
-/* Define to 1 if you have the ldap.h header file. */
-#cmakedefine HAVE_LDAP_H
-
-/* Use LDAPS implementation */
-#cmakedefine HAVE_LDAP_SSL
-
-/* Define to 1 if you have the ldap_ssl.h header file. */
-#cmakedefine HAVE_LDAP_SSL_H
-
-/* Define to 1 if you have the `ldap_url_parse' function. */
-#cmakedefine HAVE_LDAP_URL_PARSE
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#cmakedefine HAVE_LIBGEN_H
-
-/* Define to 1 if you have the `idn' library (-lidn). */
-#cmakedefine HAVE_LIBIDN
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-#cmakedefine HAVE_LIBRESOLV
-
-/* Define to 1 if you have the `resolve' library (-lresolve). */
-#cmakedefine HAVE_LIBRESOLVE
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#cmakedefine HAVE_LIBSOCKET
-
-/* Define to 1 if you have the `ssh2' library (-lssh2). */
-#cmakedefine HAVE_LIBSSH2
-
-/* Define to 1 if you have the <libssh2.h> header file. */
-#cmakedefine HAVE_LIBSSH2_H
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#cmakedefine HAVE_LIBSSL
-
-/* if zlib is available */
-#cmakedefine HAVE_LIBZ
-
-/* Define to 1 if you have the <limits.h> header file. */
-#cmakedefine HAVE_LIMITS_H
-
-/* if your compiler supports LL */
-#cmakedefine HAVE_LL
-
-/* Define to 1 if you have the <locale.h> header file. */
-#cmakedefine HAVE_LOCALE_H
-
-/* Define to 1 if you have the `localtime_r' function. */
-#cmakedefine HAVE_LOCALTIME_R
-
-/* Define to 1 if the compiler supports the 'long long' data type. */
-#cmakedefine HAVE_LONGLONG
-
-/* Define to 1 if you have the malloc.h header file. */
-#cmakedefine HAVE_MALLOC_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#cmakedefine HAVE_MEMORY_H
-
-/* Define to 1 if you have the MSG_NOSIGNAL flag. */
-#cmakedefine HAVE_MSG_NOSIGNAL
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#cmakedefine HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#cmakedefine HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#cmakedefine HAVE_NETINET_TCP_H
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#cmakedefine HAVE_NET_IF_H
-
-/* Define to 1 if NI_WITHSCOPEID exists and works. */
-#cmakedefine HAVE_NI_WITHSCOPEID
-
-/* Defined if no inet_pton() prototype available */
-#cmakedefine HAVE_NO_INET_PTON_PROTO
-
-/* we have no strerror_r() proto */
-#cmakedefine HAVE_NO_STRERROR_R_DECL
-
-/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE
- */
-#cmakedefine HAVE_OLD_GSSMIT
-
-/* Define to 1 if you have the <openssl/crypto.h> header file. */
-#cmakedefine HAVE_OPENSSL_CRYPTO_H
-
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-#cmakedefine HAVE_OPENSSL_ENGINE_H
-
-/* Define to 1 if you have the <openssl/err.h> header file. */
-#cmakedefine HAVE_OPENSSL_ERR_H
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-#cmakedefine HAVE_OPENSSL_PEM_H
-
-/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
-#cmakedefine HAVE_OPENSSL_PKCS12_H
-
-/* Define to 1 if you have the <openssl/rsa.h> header file. */
-#cmakedefine HAVE_OPENSSL_RSA_H
-
-/* Define to 1 if you have the <openssl/ssl.h> header file. */
-#cmakedefine HAVE_OPENSSL_SSL_H
-
-/* Define to 1 if you have the <openssl/x509.h> header file. */
-#cmakedefine HAVE_OPENSSL_X509_H
-
-/* use O_NONBLOCK for non-blocking sockets */
-#cmakedefine HAVE_O_NONBLOCK
-
-/* Define to 1 if you have the <pem.h> header file. */
-#cmakedefine HAVE_PEM_H @HAVE_PEM_H@
-
-/* Define to 1 if you have the `perror' function. */
-#cmakedefine HAVE_PERROR @HAVE_PERROR@
-
-/* Define to 1 if you have the `pipe' function. */
-#cmakedefine HAVE_PIPE @HAVE_PIPE@
-
-/* define if you have process.h */
-#cmakedefine HAVE_PROCESS_H
-
-/* if you have the function PK11_CreateGenericObject */
-#cmakedefine HAVE_PK11_CREATEGENERICOBJECT
-
-/* Define to 1 if you have the `poll' function. */
-#cmakedefine HAVE_POLL
-
-/* If you have a fine poll */
-#cmakedefine HAVE_POLL_FINE
-
-/* Define to 1 if you have the <poll.h> header file. */
-#cmakedefine HAVE_POLL_H
-
-/* we have a POSIX-style strerror_r() */
-#cmakedefine HAVE_POSIX_STRERROR_R
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#cmakedefine HAVE_PWD_H
-
-/* Define to 1 if you have the `RAND_egd' function. */
-#cmakedefine HAVE_RAND_EGD
-
-/* Define to 1 if you have the `RAND_screen' function. */
-#cmakedefine HAVE_RAND_SCREEN
-
-/* Define to 1 if you have the `RAND_status' function. */
-#cmakedefine HAVE_RAND_STATUS
-
-/* Define to 1 if you have the recv function. */
-#cmakedefine HAVE_RECV
-
-/* Define to 1 if you have the recvfrom function. */
-#cmakedefine HAVE_RECVFROM
-
-/* Define to 1 if you have the <rsa.h> header file. */
-#cmakedefine HAVE_RSA_H
-
-/* Define to 1 if you have the select function. */
-#cmakedefine HAVE_SELECT
-
-/* Define to 1 if you have the send function. */
-#cmakedefine HAVE_SEND
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#cmakedefine HAVE_SETJMP_H
-
-/* Define to 1 if you have the `setlocale' function. */
-#cmakedefine HAVE_SETLOCALE
-
-/* Define to 1 if you have the `setmode' function. */
-#cmakedefine HAVE_SETMODE
-
-/* Define to 1 if you have the `setrlimit' function. */
-#cmakedefine HAVE_SETRLIMIT
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-#cmakedefine HAVE_SGTTY_H
-
-/* Define to 1 if you have the `sigaction' function. */
-#cmakedefine HAVE_SIGACTION
-
-/* Define to 1 if you have the `siginterrupt' function. */
-#cmakedefine HAVE_SIGINTERRUPT
-
-/* Define to 1 if you have the `signal' function. */
-#cmakedefine HAVE_SIGNAL
-
-/* Define to 1 if you have the <signal.h> header file. */
-#cmakedefine HAVE_SIGNAL_H
-
-/* If you have sigsetjmp */
-#cmakedefine HAVE_SIGSETJMP
-
-/* Define to 1 if sig_atomic_t is an available typedef. */
-#cmakedefine HAVE_SIG_ATOMIC_T
-
-/* Define to 1 if sig_atomic_t is already defined as volatile. */
-#cmakedefine HAVE_SIG_ATOMIC_T_VOLATILE
-
-/* Define to 1 if you have the `socket' function. */
-#cmakedefine HAVE_SOCKET
-
-/* use SO_NONBLOCK for non-blocking sockets */
-#cmakedefine HAVE_SO_NONBLOCK
-
-/* Define this if you have the SPNEGO library fbopenssl */
-#cmakedefine HAVE_SPNEGO
-
-/* Define to 1 if you have the `SSL_get_shutdown' function. */
-#cmakedefine HAVE_SSL_GET_SHUTDOWN
-
-/* Define to 1 if you have the <ssl.h> header file. */
-#cmakedefine HAVE_SSL_H
-
-/* Define to 1 if you have the <stdbool.h> header file. */
-#cmakedefine HAVE_STDBOOL_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#cmakedefine HAVE_STDIO_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#cmakedefine HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strcasestr' function. */
-#cmakedefine HAVE_STRCASESTR
-
-/* Define to 1 if you have the `strcmpi' function. */
-#cmakedefine HAVE_STRCMPI
-
-/* Define to 1 if you have the `strdup' function. */
-#cmakedefine HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror_r' function. */
-#cmakedefine HAVE_STRERROR_R
-
-/* Define to 1 if you have the `stricmp' function. */
-#cmakedefine HAVE_STRICMP
-
-/* Define to 1 if you have the <strings.h> header file. */
-#cmakedefine HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H
-
-/* Define to 1 if you have the `strlcat' function. */
-#cmakedefine HAVE_STRLCAT
-
-/* Define to 1 if you have the `strlcpy' function. */
-#cmakedefine HAVE_STRLCPY
-
-/* Define to 1 if you have the `strstr' function. */
-#cmakedefine HAVE_STRSTR
-
-/* Define to 1 if you have the `strtok_r' function. */
-#cmakedefine HAVE_STRTOK_R
-
-/* Define to 1 if you have the `strtoll' function. */
-#cmakedefine HAVE_STRTOLL
-
-/* if struct sockaddr_storage is defined */
-#cmakedefine HAVE_STRUCT_SOCKADDR_STORAGE
-
-/* Define to 1 if you have the timeval struct. */
-#cmakedefine HAVE_STRUCT_TIMEVAL
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#cmakedefine HAVE_SYS_FILIO_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#cmakedefine HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#cmakedefine HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-#cmakedefine HAVE_SYS_POLL_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#cmakedefine HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#cmakedefine HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#cmakedefine HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-#cmakedefine HAVE_SYS_SOCKIO_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#cmakedefine HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#cmakedefine HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#cmakedefine HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/utime.h> header file. */
-#cmakedefine HAVE_SYS_UTIME_H
-
-/* Define to 1 if you have the <termios.h> header file. */
-#cmakedefine HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <termio.h> header file. */
-#cmakedefine HAVE_TERMIO_H
-
-/* Define to 1 if you have the <time.h> header file. */
-#cmakedefine HAVE_TIME_H
-
-/* Define to 1 if you have the <tld.h> header file. */
-#cmakedefine HAVE_TLD_H
-
-/* Define to 1 if you have the `tld_strerror' function. */
-#cmakedefine HAVE_TLD_STRERROR
-
-/* Define to 1 if you have the `uname' function. */
-#cmakedefine HAVE_UNAME
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#cmakedefine HAVE_UNISTD_H
-
-/* Define to 1 if you have the `utime' function. */
-#cmakedefine HAVE_UTIME
-
-/* Define to 1 if you have the <utime.h> header file. */
-#cmakedefine HAVE_UTIME_H
-
-/* Define to 1 if compiler supports C99 variadic macro style. */
-#cmakedefine HAVE_VARIADIC_MACROS_C99
-
-/* Define to 1 if compiler supports old gcc variadic macro style. */
-#cmakedefine HAVE_VARIADIC_MACROS_GCC
-
-/* Define to 1 if you have the winber.h header file. */
-#cmakedefine HAVE_WINBER_H
-
-/* Define to 1 if you have the windows.h header file. */
-#cmakedefine HAVE_WINDOWS_H
-
-/* Define to 1 if you have the winldap.h header file. */
-#cmakedefine HAVE_WINLDAP_H
-
-/* Define to 1 if you have the winsock2.h header file. */
-#cmakedefine HAVE_WINSOCK2_H
-
-/* Define to 1 if you have the winsock.h header file. */
-#cmakedefine HAVE_WINSOCK_H
-
-/* Define this symbol if your OS supports changing the contents of argv */
-#cmakedefine HAVE_WRITABLE_ARGV
-
-/* Define to 1 if you have the ws2tcpip.h header file. */
-#cmakedefine HAVE_WS2TCPIP_H
-
-/* Define to 1 if you have the <x509.h> header file. */
-#cmakedefine HAVE_X509_H
-
-/* if you have the zlib.h header file */
-#cmakedefine HAVE_ZLIB_H
-
-/* Define to 1 if you are building a native Windows target. */
-#cmakedefine NATIVE_WINDOWS @NATIVE_WINDOWS@
-
-/* If you lack a fine basename() prototype */
-#cmakedefine NEED_BASENAME_PROTO
-
-/* Define to 1 if you need the lber.h header file even with ldap.h */
-#cmakedefine NEED_LBER_H
-
-/* Define to 1 if you need the malloc.h header file even with stdlib.h */
-#cmakedefine NEED_MALLOC_H
-
-/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
-#cmakedefine NEED_REENTRANT
-
-/* cpu-machine-OS */
-#cmakedefine OS "@OS@"
-
-/* Name of package */
-#cmakedefine PACKAGE @PACKAGE@
-
-/* Define to the address where bug reports for this package should be sent. */
-#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
-
-/* Define to the full name of this package. */
-#cmakedefine PACKAGE_NAME @PACKAGE_NAME@
-
-/* Define to the full name and version of this package. */
-#cmakedefine PACKAGE_STRING @PACKAGE_STRING@
-
-/* Define to the one symbol short name of this package. */
-#cmakedefine PACKAGE_TARNAME @PACKAGE_TARNAME@
-
-/* Define to the version of this package. */
-#cmakedefine PACKAGE_VERSION @PACKAGE_VERSION@
-
-/* a suitable file to read random data from */
-#cmakedefine RANDOM_FILE "@RANDOM_FILE@"
-
-/* Define to the type of arg 1 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG1 @RECVFROM_TYPE_ARG1@
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG2 @RECVFROM_TYPE_ARG2@
-
-/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
-#cmakedefine RECVFROM_TYPE_ARG2_IS_VOID @RECVFROM_TYPE_ARG2_IS_VOID@
-
-/* Define to the type of arg 3 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG3 @RECVFROM_TYPE_ARG3@
-
-/* Define to the type of arg 4 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG4 @RECVFROM_TYPE_ARG4@
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG5 @RECVFROM_TYPE_ARG5@
-
-/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
-#cmakedefine RECVFROM_TYPE_ARG5_IS_VOID @RECVFROM_TYPE_ARG5_IS_VOID@
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG6 @RECVFROM_TYPE_ARG6@
-
-/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
-#cmakedefine RECVFROM_TYPE_ARG6_IS_VOID
-
-/* Define to the function return type for recvfrom. */
-#cmakedefine RECVFROM_TYPE_RETV @RECVFROM_TYPE_RETV@
-
-/* Define to the type of arg 1 for recv. */
-#cmakedefine RECV_TYPE_ARG1 @RECV_TYPE_ARG1@
-
-/* Define to the type of arg 2 for recv. */
-#cmakedefine RECV_TYPE_ARG2 @RECV_TYPE_ARG2@
-
-/* Define to the type of arg 3 for recv. */
-#cmakedefine RECV_TYPE_ARG3 @RECV_TYPE_ARG3@
-
-/* Define to the type of arg 4 for recv. */
-#cmakedefine RECV_TYPE_ARG4 @RECV_TYPE_ARG4@
-
-/* Define to the function return type for recv. */
-#cmakedefine RECV_TYPE_RETV @RECV_TYPE_RETV@
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#cmakedefine RETSIGTYPE @RETSIGTYPE@
-
-/* Define to the type qualifier of arg 5 for select. */
-#cmakedefine SELECT_QUAL_ARG5 @SELECT_QUAL_ARG5@
-
-/* Define to the type of arg 1 for select. */
-#cmakedefine SELECT_TYPE_ARG1 @SELECT_TYPE_ARG1@
-
-/* Define to the type of args 2, 3 and 4 for select. */
-#cmakedefine SELECT_TYPE_ARG234 @SELECT_TYPE_ARG234@
-
-/* Define to the type of arg 5 for select. */
-#cmakedefine SELECT_TYPE_ARG5 @SELECT_TYPE_ARG5@
-
-/* Define to the function return type for select. */
-#cmakedefine SELECT_TYPE_RETV @SELECT_TYPE_RETV@
-
-/* Define to the type qualifier of arg 2 for send. */
-#cmakedefine SEND_QUAL_ARG2 @SEND_QUAL_ARG2@
-
-/* Define to the type of arg 1 for send. */
-#cmakedefine SEND_TYPE_ARG1 @SEND_TYPE_ARG1@
-
-/* Define to the type of arg 2 for send. */
-#cmakedefine SEND_TYPE_ARG2 @SEND_TYPE_ARG2@
-
-/* Define to the type of arg 3 for send. */
-#cmakedefine SEND_TYPE_ARG3 @SEND_TYPE_ARG3@
-
-/* Define to the type of arg 4 for send. */
-#cmakedefine SEND_TYPE_ARG4 @SEND_TYPE_ARG4@
-
-/* Define to the function return type for send. */
-#cmakedefine SEND_TYPE_RETV @SEND_TYPE_RETV@
-
-/* The size of `int', as computed by sizeof. */
-#cmakedefine SIZEOF_INT
-
-/* The size of `long', as computed by sizeof. */
-#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
-
-/* The size of `off_t', as computed by sizeof. */
-#cmakedefine SIZEOF_OFF_T @SIZEOF_OFF_T@
-
-/* The size of `size_t', as computed by sizeof. */
-#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
-
-/* The size of `time_t', as computed by sizeof. */
-#cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@
-
-/* The size of `void*', as computed by sizeof. */
-#cmakedefine SIZEOF_VOIDP @SIZEOF_VOIDP@
-
-/* Define to 1 if you have the ANSI C header files. */
-#cmakedefine STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#cmakedefine TIME_WITH_SYS_TIME
-
-/* Define if you want to enable c-ares support */
-#cmakedefine USE_ARES
-
-/* if GnuTLS is enabled */
-#cmakedefine USE_GNUTLS
-
-/* if libSSH2 is in use */
-#cmakedefine USE_LIBSSH2
-
-/* If you want to build curl with the built-in manual */
-#cmakedefine USE_MANUAL
-
-/* if NSS is enabled */
-#cmakedefine USE_NSS
-
-/* if OpenSSL is in use */
-#cmakedefine USE_OPENSSL
-
-/* if SSL is enabled */
-#cmakedefine USE_SSLEAY
-
-/* Define to 1 if you are building a Windows target without large file
- support. */
-#cmakedefine USE_WIN32_LARGE_FILES
-
-/* to enable SSPI support */
-#cmakedefine USE_WINDOWS_SSPI
-
-/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
-#cmakedefine USE_YASSLEMUL
-
-/* Version number of package */
-#cmakedefine VERSION
-
-/* Define to avoid automatic inclusion of winsock.h */
-#cmakedefine WIN32_LEAN_AND_MEAN
-
-/* Define to 1 if OS is AIX. */
-#ifndef _ALL_SOURCE
-#cmakedefine _ALL_SOURCE
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#cmakedefine _FILE_OFFSET_BITS @_FILE_OFFSET_BITS@
-
-/* Define for large files, on AIX-style hosts. */
-#cmakedefine _LARGE_FILES
-
-/* define this if you need it to compile thread-safe code */
-#cmakedefine _THREAD_SAFE
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#cmakedefine const @const@
-
-/* Type to use in place of in_addr_t when system does not provide it. */
-#cmakedefine in_addr_t @in_addr_t@
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-#cmakedefine inline @inline@
-#endif
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#cmakedefine size_t @size_t@
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#cmakedefine socklen_t @socklen_t@
-
-/* the signed version of size_t */
-#cmakedefine ssize_t @ssize_t@
diff --git a/Utilities/cmcurl-7.19.0/lib/config.dos b/Utilities/cmcurl-7.19.0/lib/config.dos
deleted file mode 100644
index 7e1fe47..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config.dos
+++ /dev/null
@@ -1,150 +0,0 @@
-#ifndef _CURL_CONFIG_DOS_H
-#define _CURL_CONFIG_DOS_H
-
-/* lib/config.dos - Hand crafted config file for MSDOS.
- *
- * $Id$
- */
-#if defined(DJGPP)
- #define OS "MSDOS/djgpp"
-#elif defined(__HIGHC__)
- #define OS "MSDOS/HighC"
-#elif defined(__WATCOMC__)
- #define OS "MSDOS/Watcom"
-#else
- #define OS "MSDOS/?"
-#endif
-
-#define PACKAGE "curl"
-
-#define HAVE_ARPA_INET_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_FIONBIO 1
-#define HAVE_GETPROTOBYNAME 1
-#define HAVE_GETTIMEOFDAY 1
-#define HAVE_IO_H 1
-#define HAVE_IOCTLSOCKET 1
-#define HAVE_INET_PTON 1
-#define HAVE_INET_NTOP 1
-#define HAVE_LOCALE_H 1
-#define HAVE_LONGLONG 1
-#define HAVE_MEMORY_H 1
-#define HAVE_NETDB_H 1
-#define HAVE_NETINET_IN_H 1
-#define HAVE_NETINET_TCP_H 1
-#define HAVE_NET_IF_H 1
-#define HAVE_PROCESS_H 1
-#define HAVE_RECV 1
-#define HAVE_RECVFROM 1
-#define HAVE_SELECT 1
-#define HAVE_SEND 1
-#define HAVE_SETJMP_H 1
-#define HAVE_SETLOCALE 1
-#define HAVE_SETMODE 1
-#define HAVE_SIGNAL 1
-#define HAVE_SOCKET 1
-#define HAVE_SPNEGO 1
-#define HAVE_STRDUP 1
-#define HAVE_STRICMP 1
-#define HAVE_STRTOLL 1
-#define HAVE_STRUCT_TIMEVAL 1
-#define HAVE_STRUCT_IN6_ADDR 1
-#define HAVE_SYS_IOCTL_H 1
-#define HAVE_SYS_SOCKET_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_TERMIOS_H 1
-#define HAVE_TIME_H 1
-#define HAVE_UNISTD_H 1
-
-#define NEED_MALLOC_H 1
-
-#define RETSIGTYPE void
-#define SIZEOF_LONG_DOUBLE 16
-#define STDC_HEADERS 1
-#define TIME_WITH_SYS_TIME 1
-
-/* Qualifiers for send(), recv() and recvfrom(). */
-
-#define SEND_TYPE_ARG1 int
-#define SEND_QUAL_ARG2 const
-#define SEND_TYPE_ARG2 void *
-#define SEND_TYPE_ARG3 int
-#define SEND_TYPE_ARG4 int
-#define SEND_TYPE_RETV int
-
-#define RECV_TYPE_ARG1 int
-#define RECV_TYPE_ARG2 void *
-#define RECV_TYPE_ARG3 int
-#define RECV_TYPE_ARG4 int
-#define RECV_TYPE_RETV int
-
-#define RECVFROM_TYPE_ARG1 int
-#define RECVFROM_TYPE_ARG2 void
-#define RECVFROM_TYPE_ARG3 int
-#define RECVFROM_TYPE_ARG4 int
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-#define RECVFROM_TYPE_ARG6 int
-#define RECVFROM_TYPE_RETV int
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-
-#define BSD
-
-/* #define MALLOCDEBUG */
-
-#ifdef USE_ZLIB /* on cmd-line */
- #define HAVE_ZLIB_H 1
- #define HAVE_LIBZ 1
-#endif
-
-#ifdef USE_SSLEAY /* on cmd-line */
- #define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
- #define HAVE_OPENSSL_ENGINE_H 1
- #define OPENSSL_NO_KRB5 1
- #define USE_OPENSSL 1
-#endif
-
-/* to disable LDAP */
-#define CURL_DISABLE_LDAP 1
-
-#define in_addr_t u_long
-#define socklen_t int
-
-#if defined(__HIGHC__) || \
- (defined(__GNUC__) && __GNUC__ < 4) /* gcc 4.x built-in ? */
-#define ssize_t int
-#endif
-
-#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")
-
-/* Target HAVE_x section
- */
-#if defined(DJGPP)
- #define HAVE_BASENAME 1
- #define HAVE_STRCASECMP 1
- #define HAVE_SIGACTION 1
- #define HAVE_SIGSETJMP 1
- #define HAVE_SYS_TIME_H 1
- #define HAVE_VARIADIC_MACROS_GCC 1
-
- #if (DJGPP_MINOR >= 4)
- #define HAVE_STRLCAT 1
- #endif
-
- /* Because djgpp <= 2.03 doesn't have snprintf() etc. */
- #if (DJGPP_MINOR < 4)
- #define _MPRINTF_REPLACE
- #endif
-
-#elif defined(__WATCOMC__)
- #define HAVE_STRCASECMP 1
-
-#elif defined(__HIGHC__)
- #define HAVE_SYS_TIME_H 1
-#endif
-
-#undef word
-#undef byte
-
-#endif /* _CURL_CONFIG_DOS_H */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/config.h.in b/Utilities/cmcurl-7.19.0/lib/config.h.in
deleted file mode 100644
index 7d1d899..0000000
--- a/Utilities/cmcurl-7.19.0/lib/config.h.in
+++ /dev/null
@@ -1,887 +0,0 @@
-/* lib/config.h.in. generated by cmake. */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0501
-# endif
-# ifndef WINVER
-# define WINVER 0x0501
-# endif
-# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501)
-# error VS2008 does not support Windows build targets prior to WinXP
-# endif
-#endif
-/* ---------------------------------------------------------------- */
-/* LARGE FILE SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#if defined(_MSC_VER) && !defined(_WIN32_WCE)
-# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define USE_WIN32_LARGE_FILES
-# else
-# define USE_WIN32_SMALL_FILES
-# endif
-#endif
-
-#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
-# define USE_WIN32_SMALL_FILES
-#endif
-
-/* Define to 1 if you have the $func function. */
-#cmakedefine AS_TR_CPP
-
-/* when building libcurl itself */
-#cmakedefine BUILDING_LIBCURL
-
-/* Location of default ca bundle */
-#cmakedefine CURL_CA_BUNDLE
-
-/* Location of default ca path */
-#cmakedefine CURL_CA_PATH
-
-/* to disable cookies support */
-#cmakedefine CURL_DISABLE_COOKIES
-
-/* to disable cryptographic authentication */
-#cmakedefine CURL_DISABLE_CRYPTO_AUTH
-
-/* to disable DICT */
-#cmakedefine CURL_DISABLE_DICT
-
-/* to disable FILE */
-#cmakedefine CURL_DISABLE_FILE
-
-/* to disable FTP */
-#cmakedefine CURL_DISABLE_FTP
-
-/* to disable HTTP */
-#cmakedefine CURL_DISABLE_HTTP
-
-/* to disable LDAP */
-#cmakedefine CURL_DISABLE_LDAP
-
-/* to disable LDAPS */
-#cmakedefine CURL_DISABLE_LDAPS
-
-/* to disable TELNET */
-#cmakedefine CURL_DISABLE_TELNET
-
-/* to disable TFTP */
-#cmakedefine CURL_DISABLE_TFTP
-
-/* to disable verbose strings */
-#cmakedefine CURL_DISABLE_VERBOSE_STRINGS
-
-/* to make a symbol visible */
-#cmakedefine CURL_EXTERN_SYMBOL
-
-/* to enable hidden symbols */
-#cmakedefine CURL_HIDDEN_SYMBOLS
-
-/* W$ LDAP with non-W$ compiler */
-#cmakedefine CURL_LDAP_HYBRID
-
-/* Use W$ LDAP implementation */
-#cmakedefine CURL_LDAP_WIN
-
-/* when not building a shared library */
-#cmakedefine CURL_STATICLIB
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#cmakedefine DISABLED_THREADSAFE
-
-/* your Entropy Gathering Daemon socket pathname */
-#cmakedefine EGD_SOCKET
-
-/* Define if you want to enable IPv6 support */
-#cmakedefine ENABLE_IPV6
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#cmakedefine GETNAMEINFO_QUAL_ARG1
-
-/* Define to the type of arg 1 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG1
-
-/* Define to the type of arg 2 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG2
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG46
-
-/* Define to the type of arg 7 for getnameinfo. */
-#cmakedefine GETNAMEINFO_TYPE_ARG7
-
-/* Define to 1 if you have the <alloca.h> header file. */
-#cmakedefine HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#cmakedefine HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the <arpa/tftp.h> header file. */
-#cmakedefine HAVE_ARPA_TFTP_H
-
-/* Define to 1 if you have the <assert.h> header file. */
-#cmakedefine HAVE_ASSERT_H
-
-/* Define to 1 if you have the `basename' function. */
-#cmakedefine HAVE_BASENAME
-
-/* Define to 1 if bool is an available type. */
-#cmakedefine HAVE_BOOL_T
-
-/* Define to 1 if you have the clock_gettime function and monotonic timer. */
-#cmakedefine HAVE_CLOCK_GETTIME_MONOTONIC
-
-/* Define to 1 if you have the `closesocket' function. */
-#cmakedefine HAVE_CLOSESOCKET
-
-/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
-#cmakedefine HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
-
-/* Define to 1 if you have the <crypto.h> header file. */
-#cmakedefine HAVE_CRYPTO_H
-
-/* Define to 1 if you have the <des.h> header file. */
-#cmakedefine HAVE_DES_H
-
-/* disabled non-blocking sockets */
-#cmakedefine HAVE_DISABLED_NONBLOCKING
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#cmakedefine HAVE_DLFCN_H
-
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-#cmakedefine HAVE_ENGINE_LOAD_BUILTIN_ENGINES
-
-/* Define to 1 if you have the <errno.h> header file. */
-#cmakedefine HAVE_ERRNO_H
-
-/* Define to 1 if you have the <err.h> header file. */
-#cmakedefine HAVE_ERR_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#cmakedefine HAVE_FCNTL_H
-
-/* use FIONBIO for non-blocking sockets */
-#cmakedefine HAVE_FIONBIO
-
-/* Define to 1 if you have the `fork' function. */
-#cmakedefine HAVE_FORK
-
-/* Define to 1 if you have the `ftruncate' function. */
-#cmakedefine HAVE_FTRUNCATE
-
-/* Define if getaddrinfo exists and works */
-#cmakedefine HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `geteuid' function. */
-#cmakedefine HAVE_GETEUID
-
-/* Define to 1 if you have the `gethostbyaddr' function. */
-#cmakedefine HAVE_GETHOSTBYADDR
-
-/* If you have gethostbyname */
-#cmakedefine HAVE_GETHOSTBYNAME
-
-/* Define to 1 if you have the gethostbyname_r function. */
-#cmakedefine HAVE_GETHOSTBYNAME_R
-
-/* gethostbyname_r() takes 3 args */
-#cmakedefine HAVE_GETHOSTBYNAME_R_3
-
-/* gethostbyname_r() takes 5 args */
-#cmakedefine HAVE_GETHOSTBYNAME_R_5
-
-/* gethostbyname_r() takes 6 args */
-#cmakedefine HAVE_GETHOSTBYNAME_R_6
-
-/* Define to 1 if you have the getnameinfo function. */
-#cmakedefine HAVE_GETNAMEINFO
-
-/* Define to 1 if you have the `getpass_r' function. */
-#cmakedefine HAVE_GETPASS_R
-
-/* Define to 1 if you have the `getppid' function. */
-#cmakedefine HAVE_GETPPID
-
-/* Define to 1 if you have the `getprotobyname' function. */
-#cmakedefine HAVE_GETPROTOBYNAME
-
-/* Define to 1 if you have the `getpwuid' function. */
-#cmakedefine HAVE_GETPWUID
-
-/* Define to 1 if you have the `getrlimit' function. */
-#cmakedefine HAVE_GETRLIMIT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#cmakedefine HAVE_GETTIMEOFDAY
-
-/* we have a glibc-style strerror_r() */
-#cmakedefine HAVE_GLIBC_STRERROR_R
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#cmakedefine HAVE_GMTIME_R
-
-/* if you have the gssapi libraries */
-#cmakedefine HAVE_GSSAPI
-
-/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
-#cmakedefine HAVE_GSSAPI_GSSAPI_GENERIC_H
-
-/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
-#cmakedefine HAVE_GSSAPI_GSSAPI_H
-
-/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
-#cmakedefine HAVE_GSSAPI_GSSAPI_KRB5_H
-
-/* if you have the GNU gssapi libraries */
-#cmakedefine HAVE_GSSGNU
-
-/* if you have the Heimdal gssapi libraries */
-#cmakedefine HAVE_GSSHEIMDAL
-
-/* if you have the MIT gssapi libraries */
-#cmakedefine HAVE_GSSMIT
-
-/* Define to 1 if you have the `idna_strerror' function. */
-#cmakedefine HAVE_IDNA_STRERROR
-
-/* Define to 1 if you have the `idn_free' function. */
-#cmakedefine HAVE_IDN_FREE
-
-/* Define to 1 if you have the <idn-free.h> header file. */
-#cmakedefine HAVE_IDN_FREE_H
-
-/* Define to 1 if you have the `inet_addr' function. */
-#cmakedefine HAVE_INET_ADDR
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#cmakedefine HAVE_INET_NTOA
-
-/* Define to 1 if you have the `inet_ntoa_r' function. */
-#cmakedefine HAVE_INET_NTOA_R
-
-/* inet_ntoa_r() is declared */
-#cmakedefine HAVE_INET_NTOA_R_DECL
-
-/* Define to 1 if you have the `inet_pton' function. */
-#cmakedefine HAVE_INET_PTON
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#cmakedefine HAVE_INTTYPES_H
-
-/* use ioctlsocket() for non-blocking sockets */
-#cmakedefine HAVE_IOCTLSOCKET
-
-/* use Ioctlsocket() for non-blocking sockets */
-#cmakedefine HAVE_IOCTLSOCKET_CASE
-
-/* Define to 1 if you have the <io.h> header file. */
-#cmakedefine HAVE_IO_H
-
-/* if you have the Kerberos4 libraries (including -ldes) */
-#cmakedefine HAVE_KRB4
-
-/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
-#cmakedefine HAVE_KRB_GET_OUR_IP_FOR_REALM
-
-/* Define to 1 if you have the <krb.h> header file. */
-#cmakedefine HAVE_KRB_H
-
-/* Define to 1 if you have the lber.h header file. */
-#cmakedefine HAVE_LBER_H
-
-/* Define to 1 if you have the ldapssl.h header file. */
-#cmakedefine HAVE_LDAPSSL_H
-
-/* Define to 1 if you have the ldap.h header file. */
-#cmakedefine HAVE_LDAP_H
-
-/* Use LDAPS implementation */
-#cmakedefine HAVE_LDAP_SSL
-
-/* Define to 1 if you have the ldap_ssl.h header file. */
-#cmakedefine HAVE_LDAP_SSL_H
-
-/* Define to 1 if you have the `ldap_url_parse' function. */
-#cmakedefine HAVE_LDAP_URL_PARSE
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#cmakedefine HAVE_LIBGEN_H
-
-/* Define to 1 if you have the `idn' library (-lidn). */
-#cmakedefine HAVE_LIBIDN
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-#cmakedefine HAVE_LIBRESOLV
-
-/* Define to 1 if you have the `resolve' library (-lresolve). */
-#cmakedefine HAVE_LIBRESOLVE
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#cmakedefine HAVE_LIBSOCKET
-
-/* Define to 1 if you have the `ssh2' library (-lssh2). */
-#cmakedefine HAVE_LIBSSH2
-
-/* Define to 1 if you have the <libssh2.h> header file. */
-#cmakedefine HAVE_LIBSSH2_H
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#cmakedefine HAVE_LIBSSL
-
-/* if zlib is available */
-#cmakedefine HAVE_LIBZ
-
-/* Define to 1 if you have the <limits.h> header file. */
-#cmakedefine HAVE_LIMITS_H
-
-/* if your compiler supports LL */
-#cmakedefine HAVE_LL
-
-/* Define to 1 if you have the <locale.h> header file. */
-#cmakedefine HAVE_LOCALE_H
-
-/* Define to 1 if you have the `localtime_r' function. */
-#cmakedefine HAVE_LOCALTIME_R
-
-/* Define to 1 if the compiler supports the 'long long' data type. */
-#cmakedefine HAVE_LONGLONG
-
-/* Define to 1 if you have the malloc.h header file. */
-#cmakedefine HAVE_MALLOC_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#cmakedefine HAVE_MEMORY_H
-
-/* Define to 1 if you have the MSG_NOSIGNAL flag. */
-#cmakedefine HAVE_MSG_NOSIGNAL
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#cmakedefine HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#cmakedefine HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#cmakedefine HAVE_NETINET_TCP_H
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#cmakedefine HAVE_NET_IF_H
-
-/* Define to 1 if NI_WITHSCOPEID exists and works. */
-#cmakedefine HAVE_NI_WITHSCOPEID
-
-/* Defined if no inet_pton() prototype available */
-#cmakedefine HAVE_NO_INET_PTON_PROTO
-
-/* we have no strerror_r() proto */
-#cmakedefine HAVE_NO_STRERROR_R_DECL
-
-/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE
- */
-#cmakedefine HAVE_OLD_GSSMIT
-
-/* Define to 1 if you have the <openssl/crypto.h> header file. */
-#cmakedefine HAVE_OPENSSL_CRYPTO_H
-
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-#cmakedefine HAVE_OPENSSL_ENGINE_H
-
-/* Define to 1 if you have the <openssl/err.h> header file. */
-#cmakedefine HAVE_OPENSSL_ERR_H
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-#cmakedefine HAVE_OPENSSL_PEM_H
-
-/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
-#cmakedefine HAVE_OPENSSL_PKCS12_H
-
-/* Define to 1 if you have the <openssl/rsa.h> header file. */
-#cmakedefine HAVE_OPENSSL_RSA_H
-
-/* Define to 1 if you have the <openssl/ssl.h> header file. */
-#cmakedefine HAVE_OPENSSL_SSL_H
-
-/* Define to 1 if you have the <openssl/x509.h> header file. */
-#cmakedefine HAVE_OPENSSL_X509_H
-
-/* use O_NONBLOCK for non-blocking sockets */
-#cmakedefine HAVE_O_NONBLOCK
-
-/* Define to 1 if you have the <pem.h> header file. */
-#cmakedefine HAVE_PEM_H @HAVE_PEM_H@
-
-/* Define to 1 if you have the `perror' function. */
-#cmakedefine HAVE_PERROR @HAVE_PERROR@
-
-/* Define to 1 if you have the `pipe' function. */
-#cmakedefine HAVE_PIPE @HAVE_PIPE@
-
-/* define if you have process.h */
-#cmakedefine HAVE_PROCESS_H
-
-/* if you have the function PK11_CreateGenericObject */
-#cmakedefine HAVE_PK11_CREATEGENERICOBJECT
-
-/* Define to 1 if you have the `poll' function. */
-#cmakedefine HAVE_POLL
-
-/* If you have a fine poll */
-#cmakedefine HAVE_POLL_FINE
-
-/* Define to 1 if you have the <poll.h> header file. */
-#cmakedefine HAVE_POLL_H
-
-/* we have a POSIX-style strerror_r() */
-#cmakedefine HAVE_POSIX_STRERROR_R
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#cmakedefine HAVE_PWD_H
-
-/* Define to 1 if you have the `RAND_egd' function. */
-#cmakedefine HAVE_RAND_EGD
-
-/* Define to 1 if you have the `RAND_screen' function. */
-#cmakedefine HAVE_RAND_SCREEN
-
-/* Define to 1 if you have the `RAND_status' function. */
-#cmakedefine HAVE_RAND_STATUS
-
-/* Define to 1 if you have the recv function. */
-#cmakedefine HAVE_RECV
-
-/* Define to 1 if you have the recvfrom function. */
-#cmakedefine HAVE_RECVFROM
-
-/* Define to 1 if you have the <rsa.h> header file. */
-#cmakedefine HAVE_RSA_H
-
-/* Define to 1 if you have the select function. */
-#cmakedefine HAVE_SELECT
-
-/* Define to 1 if you have the send function. */
-#cmakedefine HAVE_SEND
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#cmakedefine HAVE_SETJMP_H
-
-/* Define to 1 if you have the `setlocale' function. */
-#cmakedefine HAVE_SETLOCALE
-
-/* Define to 1 if you have the `setmode' function. */
-#cmakedefine HAVE_SETMODE
-
-/* Define to 1 if you have the `setrlimit' function. */
-#cmakedefine HAVE_SETRLIMIT
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-#cmakedefine HAVE_SGTTY_H
-
-/* Define to 1 if you have the `sigaction' function. */
-#cmakedefine HAVE_SIGACTION
-
-/* Define to 1 if you have the `siginterrupt' function. */
-#cmakedefine HAVE_SIGINTERRUPT
-
-/* Define to 1 if you have the `signal' function. */
-#cmakedefine HAVE_SIGNAL
-
-/* Define to 1 if you have the <signal.h> header file. */
-#cmakedefine HAVE_SIGNAL_H
-
-/* If you have sigsetjmp */
-#cmakedefine HAVE_SIGSETJMP
-
-/* Define to 1 if sig_atomic_t is an available typedef. */
-#cmakedefine HAVE_SIG_ATOMIC_T
-
-/* Define to 1 if sig_atomic_t is already defined as volatile. */
-#cmakedefine HAVE_SIG_ATOMIC_T_VOLATILE
-
-/* Define to 1 if you have the `socket' function. */
-#cmakedefine HAVE_SOCKET
-
-/* use SO_NONBLOCK for non-blocking sockets */
-#cmakedefine HAVE_SO_NONBLOCK
-
-/* Define this if you have the SPNEGO library fbopenssl */
-#cmakedefine HAVE_SPNEGO
-
-/* Define to 1 if you have the `SSL_get_shutdown' function. */
-#cmakedefine HAVE_SSL_GET_SHUTDOWN
-
-/* Define to 1 if you have the <ssl.h> header file. */
-#cmakedefine HAVE_SSL_H
-
-/* Define to 1 if you have the <stdbool.h> header file. */
-#cmakedefine HAVE_STDBOOL_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#cmakedefine HAVE_STDIO_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#cmakedefine HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strcasestr' function. */
-#cmakedefine HAVE_STRCASESTR
-
-/* Define to 1 if you have the `strcmpi' function. */
-#cmakedefine HAVE_STRCMPI
-
-/* Define to 1 if you have the `strdup' function. */
-#cmakedefine HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror_r' function. */
-#cmakedefine HAVE_STRERROR_R
-
-/* Define to 1 if you have the `stricmp' function. */
-#cmakedefine HAVE_STRICMP
-
-/* Define to 1 if you have the <strings.h> header file. */
-#cmakedefine HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H
-
-/* Define to 1 if you have the `strlcat' function. */
-#cmakedefine HAVE_STRLCAT
-
-/* Define to 1 if you have the `strlcpy' function. */
-#cmakedefine HAVE_STRLCPY
-
-/* Define to 1 if you have the `strstr' function. */
-#cmakedefine HAVE_STRSTR
-
-/* Define to 1 if you have the `strtok_r' function. */
-#cmakedefine HAVE_STRTOK_R
-
-/* Define to 1 if you have the `strtoll' function. */
-#cmakedefine HAVE_STRTOLL
-
-/* if struct sockaddr_storage is defined */
-#cmakedefine HAVE_STRUCT_SOCKADDR_STORAGE
-
-/* Define to 1 if you have the timeval struct. */
-#cmakedefine HAVE_STRUCT_TIMEVAL
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#cmakedefine HAVE_SYS_FILIO_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#cmakedefine HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#cmakedefine HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-#cmakedefine HAVE_SYS_POLL_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#cmakedefine HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#cmakedefine HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#cmakedefine HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-#cmakedefine HAVE_SYS_SOCKIO_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#cmakedefine HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#cmakedefine HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#cmakedefine HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/utime.h> header file. */
-#cmakedefine HAVE_SYS_UTIME_H
-
-/* Define to 1 if you have the <termios.h> header file. */
-#cmakedefine HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <termio.h> header file. */
-#cmakedefine HAVE_TERMIO_H
-
-/* Define to 1 if you have the <time.h> header file. */
-#cmakedefine HAVE_TIME_H
-
-/* Define to 1 if you have the <tld.h> header file. */
-#cmakedefine HAVE_TLD_H
-
-/* Define to 1 if you have the `tld_strerror' function. */
-#cmakedefine HAVE_TLD_STRERROR
-
-/* Define to 1 if you have the `uname' function. */
-#cmakedefine HAVE_UNAME
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#cmakedefine HAVE_UNISTD_H
-
-/* Define to 1 if you have the `utime' function. */
-#cmakedefine HAVE_UTIME
-
-/* Define to 1 if you have the <utime.h> header file. */
-#cmakedefine HAVE_UTIME_H
-
-/* Define to 1 if compiler supports C99 variadic macro style. */
-#cmakedefine HAVE_VARIADIC_MACROS_C99
-
-/* Define to 1 if compiler supports old gcc variadic macro style. */
-#cmakedefine HAVE_VARIADIC_MACROS_GCC
-
-/* Define to 1 if you have the winber.h header file. */
-#cmakedefine HAVE_WINBER_H
-
-/* Define to 1 if you have the windows.h header file. */
-#cmakedefine HAVE_WINDOWS_H
-
-/* Define to 1 if you have the winldap.h header file. */
-#cmakedefine HAVE_WINLDAP_H
-
-/* Define to 1 if you have the winsock2.h header file. */
-#cmakedefine HAVE_WINSOCK2_H
-
-/* Define to 1 if you have the winsock.h header file. */
-#cmakedefine HAVE_WINSOCK_H
-
-/* Define this symbol if your OS supports changing the contents of argv */
-#cmakedefine HAVE_WRITABLE_ARGV
-
-/* Define to 1 if you have the ws2tcpip.h header file. */
-#cmakedefine HAVE_WS2TCPIP_H
-
-/* Define to 1 if you have the <x509.h> header file. */
-#cmakedefine HAVE_X509_H
-
-/* if you have the zlib.h header file */
-#cmakedefine HAVE_ZLIB_H
-
-/* Define to 1 if you are building a native Windows target. */
-#cmakedefine NATIVE_WINDOWS @NATIVE_WINDOWS@
-
-/* If you lack a fine basename() prototype */
-#cmakedefine NEED_BASENAME_PROTO
-
-/* Define to 1 if you need the lber.h header file even with ldap.h */
-#cmakedefine NEED_LBER_H
-
-/* Define to 1 if you need the malloc.h header file even with stdlib.h */
-#cmakedefine NEED_MALLOC_H
-
-/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
-#cmakedefine NEED_REENTRANT
-
-/* cpu-machine-OS */
-#cmakedefine OS "@OS@"
-
-/* Name of package */
-#cmakedefine PACKAGE @PACKAGE@
-
-/* Define to the address where bug reports for this package should be sent. */
-#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
-
-/* Define to the full name of this package. */
-#cmakedefine PACKAGE_NAME @PACKAGE_NAME@
-
-/* Define to the full name and version of this package. */
-#cmakedefine PACKAGE_STRING @PACKAGE_STRING@
-
-/* Define to the one symbol short name of this package. */
-#cmakedefine PACKAGE_TARNAME @PACKAGE_TARNAME@
-
-/* Define to the version of this package. */
-#cmakedefine PACKAGE_VERSION @PACKAGE_VERSION@
-
-/* a suitable file to read random data from */
-#cmakedefine RANDOM_FILE "@RANDOM_FILE@"
-
-/* Define to the type of arg 1 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG1 @RECVFROM_TYPE_ARG1@
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG2 @RECVFROM_TYPE_ARG2@
-
-/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
-#cmakedefine RECVFROM_TYPE_ARG2_IS_VOID @RECVFROM_TYPE_ARG2_IS_VOID@
-
-/* Define to the type of arg 3 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG3 @RECVFROM_TYPE_ARG3@
-
-/* Define to the type of arg 4 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG4 @RECVFROM_TYPE_ARG4@
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG5 @RECVFROM_TYPE_ARG5@
-
-/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
-#cmakedefine RECVFROM_TYPE_ARG5_IS_VOID @RECVFROM_TYPE_ARG5_IS_VOID@
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#cmakedefine RECVFROM_TYPE_ARG6 @RECVFROM_TYPE_ARG6@
-
-/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
-#cmakedefine RECVFROM_TYPE_ARG6_IS_VOID
-
-/* Define to the function return type for recvfrom. */
-#cmakedefine RECVFROM_TYPE_RETV @RECVFROM_TYPE_RETV@
-
-/* Define to the type of arg 1 for recv. */
-#cmakedefine RECV_TYPE_ARG1 @RECV_TYPE_ARG1@
-
-/* Define to the type of arg 2 for recv. */
-#cmakedefine RECV_TYPE_ARG2 @RECV_TYPE_ARG2@
-
-/* Define to the type of arg 3 for recv. */
-#cmakedefine RECV_TYPE_ARG3 @RECV_TYPE_ARG3@
-
-/* Define to the type of arg 4 for recv. */
-#cmakedefine RECV_TYPE_ARG4 @RECV_TYPE_ARG4@
-
-/* Define to the function return type for recv. */
-#cmakedefine RECV_TYPE_RETV @RECV_TYPE_RETV@
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#cmakedefine RETSIGTYPE @RETSIGTYPE@
-
-/* Define to the type qualifier of arg 5 for select. */
-#cmakedefine SELECT_QUAL_ARG5 @SELECT_QUAL_ARG5@
-
-/* Define to the type of arg 1 for select. */
-#cmakedefine SELECT_TYPE_ARG1 @SELECT_TYPE_ARG1@
-
-/* Define to the type of args 2, 3 and 4 for select. */
-#cmakedefine SELECT_TYPE_ARG234 @SELECT_TYPE_ARG234@
-
-/* Define to the type of arg 5 for select. */
-#cmakedefine SELECT_TYPE_ARG5 @SELECT_TYPE_ARG5@
-
-/* Define to the function return type for select. */
-#cmakedefine SELECT_TYPE_RETV @SELECT_TYPE_RETV@
-
-/* Define to the type qualifier of arg 2 for send. */
-#cmakedefine SEND_QUAL_ARG2 @SEND_QUAL_ARG2@
-
-/* Define to the type of arg 1 for send. */
-#cmakedefine SEND_TYPE_ARG1 @SEND_TYPE_ARG1@
-
-/* Define to the type of arg 2 for send. */
-#cmakedefine SEND_TYPE_ARG2 @SEND_TYPE_ARG2@
-
-/* Define to the type of arg 3 for send. */
-#cmakedefine SEND_TYPE_ARG3 @SEND_TYPE_ARG3@
-
-/* Define to the type of arg 4 for send. */
-#cmakedefine SEND_TYPE_ARG4 @SEND_TYPE_ARG4@
-
-/* Define to the function return type for send. */
-#cmakedefine SEND_TYPE_RETV @SEND_TYPE_RETV@
-
-/* The size of `int', as computed by sizeof. */
-#cmakedefine SIZEOF_INT
-
-/* The size of `long', as computed by sizeof. */
-#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
-
-/* The size of `off_t', as computed by sizeof. */
-#cmakedefine SIZEOF_OFF_T @SIZEOF_OFF_T@
-
-/* The size of `size_t', as computed by sizeof. */
-#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
-
-/* The size of `time_t', as computed by sizeof. */
-#cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@
-
-/* The size of `void*', as computed by sizeof. */
-#cmakedefine SIZEOF_VOIDP @SIZEOF_VOIDP@
-
-/* Define to 1 if you have the ANSI C header files. */
-#cmakedefine STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#cmakedefine TIME_WITH_SYS_TIME
-
-/* Define if you want to enable c-ares support */
-#cmakedefine USE_ARES
-
-/* if GnuTLS is enabled */
-#cmakedefine USE_GNUTLS
-
-/* if libSSH2 is in use */
-#cmakedefine USE_LIBSSH2
-
-/* If you want to build curl with the built-in manual */
-#cmakedefine USE_MANUAL
-
-/* if NSS is enabled */
-#cmakedefine USE_NSS
-
-/* if OpenSSL is in use */
-#cmakedefine USE_OPENSSL
-
-/* if SSL is enabled */
-#cmakedefine USE_SSLEAY
-
-/* Define to 1 if you are building a Windows target without large file
- support. */
-#cmakedefine USE_WIN32_LARGE_FILES
-
-/* to enable SSPI support */
-#cmakedefine USE_WINDOWS_SSPI
-
-/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
-#cmakedefine USE_YASSLEMUL
-
-/* Version number of package */
-#cmakedefine VERSION
-
-/* Define to avoid automatic inclusion of winsock.h */
-#cmakedefine WIN32_LEAN_AND_MEAN
-
-/* Define to 1 if OS is AIX. */
-#ifndef _ALL_SOURCE
-#cmakedefine _ALL_SOURCE
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#cmakedefine _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#cmakedefine _LARGE_FILES
-
-/* define this if you need it to compile thread-safe code */
-#cmakedefine _THREAD_SAFE
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#cmakedefine const @const@
-
-/* Type to use in place of in_addr_t when system does not provide it. */
-#cmakedefine in_addr_t @in_addr_t@
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-#cmakedefine inline @inline@
-#endif
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#cmakedefine size_t @size_t@
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#cmakedefine socklen_t @socklen_t@
-
-/* the signed version of size_t */
-#cmakedefine ssize_t @ssize_t@
diff --git a/Utilities/cmcurl-7.19.0/lib/connect.c b/Utilities/cmcurl-7.19.0/lib/connect.c
deleted file mode 100644
index 860111f..0000000
--- a/Utilities/cmcurl-7.19.0/lib/connect.c
+++ /dev/null
@@ -1,1030 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef WIN32
-/* headers for non-win32 */
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h> /* <netinet/tcp.h> may need it */
-#endif
-#ifdef HAVE_SYS_UN_H
-#include <sys/un.h> /* for sockaddr_un */
-#endif
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h> /* for TCP_NODELAY */
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototype, without it, this crashes */
-#endif /* on macos 68K */
-
-#if (defined(HAVE_FIONBIO) && defined(NETWARE))
-#include <sys/filio.h>
-#endif
-#ifdef NETWARE
-#undef in_addr_t
-#define in_addr_t unsigned long
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#endif
-
-#endif /* !WIN32 */
-
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "urldata.h"
-#include "sendf.h"
-#include "if2ip.h"
-#include "strerror.h"
-#include "connect.h"
-#include "memory.h"
-#include "select.h"
-#include "url.h" /* for Curl_safefree() */
-#include "multiif.h"
-#include "sockaddr.h" /* required for Curl_sockaddr_storage */
-#include "inet_ntop.h"
-#include "inet_pton.h"
-#include "sslgen.h" /* for Curl_ssl_check_cxn() */
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#ifdef __SYMBIAN32__
-/* This isn't actually supported under Symbian OS */
-#undef SO_NOSIGPIPE
-#endif
-
-static bool verifyconnect(curl_socket_t sockfd, int *error);
-
-static curl_socket_t
-singleipconnect(struct connectdata *conn,
- const Curl_addrinfo *ai, /* start connecting to this */
- long timeout_ms,
- bool *connected);
-
-/*
- * Curl_timeleft() returns the amount of milliseconds left allowed for the
- * transfer/connection. If the value is negative, the timeout time has already
- * elapsed.
- *
- * If 'nowp' is non-NULL, it points to the current time.
- * 'duringconnect' is FALSE if not during a connect, as then of course the
- * connect timeout is not taken into account!
- */
-long Curl_timeleft(struct connectdata *conn,
- struct timeval *nowp,
- bool duringconnect)
-{
- struct SessionHandle *data = conn->data;
- int timeout_set = 0;
- long timeout_ms = duringconnect?DEFAULT_CONNECT_TIMEOUT:0;
- struct timeval now;
-
- /* if a timeout is set, use the most restrictive one */
-
- if(data->set.timeout > 0)
- timeout_set |= 1;
- if(duringconnect && (data->set.connecttimeout > 0))
- timeout_set |= 2;
-
- switch (timeout_set) {
- case 1:
- timeout_ms = data->set.timeout;
- break;
- case 2:
- timeout_ms = data->set.connecttimeout;
- break;
- case 3:
- if(data->set.timeout < data->set.connecttimeout)
- timeout_ms = data->set.timeout;
- else
- timeout_ms = data->set.connecttimeout;
- break;
- default:
- /* use the default */
- if(!duringconnect)
- /* if we're not during connect, there's no default timeout so if we're
- at zero we better just return zero and not make it a negative number
- by the math below */
- return 0;
- break;
- }
-
- if(!nowp) {
- now = Curl_tvnow();
- nowp = &now;
- }
-
- /* substract elapsed time */
- timeout_ms -= Curl_tvdiff(*nowp, data->progress.t_startsingle);
-
- return timeout_ms;
-}
-
-
-/*
- * Curl_nonblock() set the given socket to either blocking or non-blocking
- * mode based on the 'nonblock' boolean argument. This function is highly
- * portable.
- */
-int Curl_nonblock(curl_socket_t sockfd, /* operate on this */
- int nonblock /* TRUE or FALSE */)
-{
-#undef SETBLOCK
-#define SETBLOCK 0
-#ifdef HAVE_O_NONBLOCK
- /* most recent unix versions */
- int flags;
-
- flags = fcntl(sockfd, F_GETFL, 0);
- if(FALSE != nonblock)
- return fcntl(sockfd, F_SETFL, flags | O_NONBLOCK);
- else
- return fcntl(sockfd, F_SETFL, flags & (~O_NONBLOCK));
-#undef SETBLOCK
-#define SETBLOCK 1
-#endif
-
-#if defined(HAVE_FIONBIO) && (SETBLOCK == 0)
- /* older unix versions */
- int flags;
-
- flags = nonblock;
- return ioctl(sockfd, FIONBIO, &flags);
-#undef SETBLOCK
-#define SETBLOCK 2
-#endif
-
-#if defined(HAVE_IOCTLSOCKET) && (SETBLOCK == 0)
- /* Windows? */
- unsigned long flags;
- flags = nonblock;
-
- return ioctlsocket(sockfd, FIONBIO, &flags);
-#undef SETBLOCK
-#define SETBLOCK 3
-#endif
-
-#if defined(HAVE_IOCTLSOCKET_CASE) && (SETBLOCK == 0)
- /* presumably for Amiga */
- return IoctlSocket(sockfd, FIONBIO, (long)nonblock);
-#undef SETBLOCK
-#define SETBLOCK 4
-#endif
-
-#if defined(HAVE_SO_NONBLOCK) && (SETBLOCK == 0)
- /* BeOS */
- long b = nonblock ? 1 : 0;
- return setsockopt(sockfd, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
-#undef SETBLOCK
-#define SETBLOCK 5
-#endif
-
-#ifdef HAVE_DISABLED_NONBLOCKING
- return 0; /* returns success */
-#undef SETBLOCK
-#define SETBLOCK 6
-#endif
-
-#if(SETBLOCK == 0)
-#error "no non-blocking method was found/used/set"
-#endif
-}
-
-/*
- * waitconnect() waits for a TCP connect on the given socket for the specified
- * number if milliseconds. It returns:
- * 0 fine connect
- * -1 select() error
- * 1 select() timeout
- * 2 select() returned with an error condition fd_set
- */
-
-#define WAITCONN_CONNECTED 0
-#define WAITCONN_SELECT_ERROR -1
-#define WAITCONN_TIMEOUT 1
-#define WAITCONN_FDSET_ERROR 2
-
-static
-int waitconnect(curl_socket_t sockfd, /* socket */
- long timeout_msec)
-{
- int rc;
-#ifdef mpeix
- /* Call this function once now, and ignore the results. We do this to
- "clear" the error state on the socket so that we can later read it
- reliably. This is reported necessary on the MPE/iX operating system. */
- (void)verifyconnect(sockfd, NULL);
-#endif
-
- /* now select() until we get connect or timeout */
- rc = Curl_socket_ready(CURL_SOCKET_BAD, sockfd, (int)timeout_msec);
- if(-1 == rc)
- /* error, no connect here, try next */
- return WAITCONN_SELECT_ERROR;
-
- else if(0 == rc)
- /* timeout, no connect today */
- return WAITCONN_TIMEOUT;
-
- if(rc & CURL_CSELECT_ERR)
- /* error condition caught */
- return WAITCONN_FDSET_ERROR;
-
- /* we have a connect! */
- return WAITCONN_CONNECTED;
-}
-
-static CURLcode bindlocal(struct connectdata *conn,
- curl_socket_t sockfd)
-{
-#ifdef ENABLE_IPV6
- char ipv6_addr[16];
-#endif
- struct SessionHandle *data = conn->data;
- struct sockaddr_in me;
- struct sockaddr *sock = NULL; /* bind to this address */
- socklen_t socksize; /* size of the data sock points to */
- unsigned short port = data->set.localport; /* use this port number, 0 for
- "random" */
- /* how many port numbers to try to bind to, increasing one at a time */
- int portnum = data->set.localportrange;
- const char *dev = data->set.str[STRING_DEVICE];
-
- /*************************************************************
- * Select device to bind socket to
- *************************************************************/
- if(dev && (strlen(dev)<255) ) {
- struct Curl_dns_entry *h=NULL;
- char myhost[256] = "";
- in_addr_t in;
- int rc;
- bool was_iface = FALSE;
- int in6 = -1;
-
- /* First check if the given name is an IP address */
- in=inet_addr((char *) dev);
-
- if((in == CURL_INADDR_NONE) &&
- Curl_if2ip(dev, myhost, sizeof(myhost))) {
- /*
- * We now have the numerical IPv4-style x.y.z.w in the 'myhost' buffer
- */
- rc = Curl_resolv(conn, myhost, 0, &h);
- if(rc == CURLRESOLV_PENDING)
- (void)Curl_wait_for_resolv(conn, &h);
-
- if(h) {
- was_iface = TRUE;
- Curl_resolv_unlock(data, h);
- }
- }
-
- if(!was_iface) {
- /*
- * This was not an interface, resolve the name as a host name
- * or IP number
- */
- rc = Curl_resolv(conn, dev, 0, &h);
- if(rc == CURLRESOLV_PENDING)
- (void)Curl_wait_for_resolv(conn, &h);
-
- if(h) {
- if(in == CURL_INADDR_NONE)
- /* convert the resolved address, sizeof myhost >= INET_ADDRSTRLEN */
- Curl_printable_address(h->addr, myhost, sizeof myhost);
- else
- /* we know data->set.device is shorter than the myhost array */
- strcpy(myhost, dev);
- Curl_resolv_unlock(data, h);
- }
- }
-
- if(! *myhost) {
- /* need to fix this
- h=Curl_gethost(data,
- getmyhost(*myhost,sizeof(myhost)),
- hostent_buf,
- sizeof(hostent_buf));
- */
- failf(data, "Couldn't bind to '%s'", dev);
- return CURLE_INTERFACE_FAILED;
- }
-
- infof(data, "Bind local address to %s\n", myhost);
-
-#ifdef SO_BINDTODEVICE
- /* I am not sure any other OSs than Linux that provide this feature, and
- * at the least I cannot test. --Ben
- *
- * This feature allows one to tightly bind the local socket to a
- * particular interface. This will force even requests to other local
- * interfaces to go out the external interface.
- *
- */
- if(was_iface) {
- /* Only bind to the interface when specified as interface, not just as a
- * hostname or ip address.
- */
- if(setsockopt(sockfd, SOL_SOCKET, SO_BINDTODEVICE,
- dev, strlen(dev)+1) != 0) {
- /* printf("Failed to BINDTODEVICE, socket: %d device: %s error: %s\n",
- sockfd, dev, Curl_strerror(SOCKERRNO)); */
- infof(data, "SO_BINDTODEVICE %s failed\n", dev);
- /* This is typically "errno 1, error: Operation not permitted" if
- you're not running as root or another suitable privileged user */
- }
- }
-#endif
-
- in=inet_addr(myhost);
-
-#ifdef ENABLE_IPV6
- in6 = Curl_inet_pton (AF_INET6, myhost, (void *)&ipv6_addr);
-#endif
- if(CURL_INADDR_NONE == in && -1 == in6) {
- failf(data,"couldn't find my own IP address (%s)", myhost);
- return CURLE_INTERFACE_FAILED;
- } /* end of inet_addr */
-
- if( h ) {
- Curl_addrinfo *addr = h->addr;
- sock = addr->ai_addr;
- socksize = addr->ai_addrlen;
- }
- else
- return CURLE_INTERFACE_FAILED;
-
- }
- else if(port) {
- /* if a local port number is requested but no local IP, extract the
- address from the socket */
- memset(&me, 0, sizeof(struct sockaddr));
- me.sin_family = AF_INET;
- me.sin_addr.s_addr = INADDR_ANY;
-
- sock = (struct sockaddr *)&me;
- socksize = sizeof(struct sockaddr);
-
- }
- else
- /* no local kind of binding was requested */
- return CURLE_OK;
-
- do {
-
- /* Set port number to bind to, 0 makes the system pick one */
- if(sock->sa_family == AF_INET)
- ((struct sockaddr_in *)sock)->sin_port = htons(port);
-#ifdef ENABLE_IPV6
- else
- ((struct sockaddr_in6 *)sock)->sin6_port = htons(port);
-#endif
-
- if( bind(sockfd, sock, socksize) >= 0) {
- /* we succeeded to bind */
- struct Curl_sockaddr_storage add;
- socklen_t size;
-
- size = sizeof(add);
- if(getsockname(sockfd, (struct sockaddr *) &add, &size) < 0) {
- failf(data, "getsockname() failed");
- return CURLE_INTERFACE_FAILED;
- }
- /* We re-use/clobber the port variable here below */
- if(((struct sockaddr *)&add)->sa_family == AF_INET)
- port = ntohs(((struct sockaddr_in *)&add)->sin_port);
-#ifdef ENABLE_IPV6
- else
- port = ntohs(((struct sockaddr_in6 *)&add)->sin6_port);
-#endif
- infof(data, "Local port: %d\n", port);
- conn->bits.bound = TRUE;
- return CURLE_OK;
- }
- if(--portnum > 0) {
- infof(data, "Bind to local port %d failed, trying next\n", port);
- port++; /* try next port */
- }
- else
- break;
- } while(1);
-
- data->state.os_errno = SOCKERRNO;
- failf(data, "bind failure: %s",
- Curl_strerror(conn, data->state.os_errno));
- return CURLE_INTERFACE_FAILED;
-
-}
-
-/*
- * verifyconnect() returns TRUE if the connect really has happened.
- */
-static bool verifyconnect(curl_socket_t sockfd, int *error)
-{
- bool rc = TRUE;
-#ifdef SO_ERROR
- int err = 0;
- socklen_t errSize = sizeof(err);
-
-#ifdef WIN32
- /*
- * In October 2003 we effectively nullified this function on Windows due to
- * problems with it using all CPU in multi-threaded cases.
- *
- * In May 2004, we bring it back to offer more info back on connect failures.
- * Gisle Vanem could reproduce the former problems with this function, but
- * could avoid them by adding this SleepEx() call below:
- *
- * "I don't have Rational Quantify, but the hint from his post was
- * ntdll::NtRemoveIoCompletion(). So I'd assume the SleepEx (or maybe
- * just Sleep(0) would be enough?) would release whatever
- * mutex/critical-section the ntdll call is waiting on.
- *
- * Someone got to verify this on Win-NT 4.0, 2000."
- */
-
-#ifdef _WIN32_WCE
- Sleep(0);
-#else
- SleepEx(0, FALSE);
-#endif
-
-#endif
-
- if(0 != getsockopt(sockfd, SOL_SOCKET, SO_ERROR, (void *)&err, &errSize))
- err = SOCKERRNO;
-#ifdef _WIN32_WCE
- /* Old WinCE versions don't support SO_ERROR */
- if(WSAENOPROTOOPT == err) {
- SET_SOCKERRNO(0);
- err = 0;
- }
-#endif
-#ifdef __minix
- /* Minix 3.1.x doesn't support getsockopt on UDP sockets */
- if(EBADIOCTL == err) {
- SET_SOCKERRNO(0);
- err = 0;
- }
-#endif
- if((0 == err) || (EISCONN == err))
- /* we are connected, awesome! */
- rc = TRUE;
- else
- /* This wasn't a successful connect */
- rc = FALSE;
- if(error)
- *error = err;
-#else
- (void)sockfd;
- if(error)
- *error = SOCKERRNO;
-#endif
- return rc;
-}
-
-CURLcode Curl_store_ip_addr(struct connectdata *conn)
-{
- char addrbuf[256];
- Curl_printable_address(conn->ip_addr, addrbuf, sizeof(addrbuf));
-
- /* save the string */
- Curl_safefree(conn->ip_addr_str);
- conn->ip_addr_str = strdup(addrbuf);
- if(!conn->ip_addr_str)
- return CURLE_OUT_OF_MEMORY; /* FAIL */
-
-#ifdef PF_INET6
- if(conn->ip_addr->ai_family == PF_INET6)
- conn->bits.ipv6 = TRUE;
-#endif
-
- return CURLE_OK;
-}
-
-/* Used within the multi interface. Try next IP address, return TRUE if no
- more address exists or error */
-static bool trynextip(struct connectdata *conn,
- int sockindex,
- bool *connected)
-{
- curl_socket_t sockfd;
- Curl_addrinfo *ai;
-
- /* first close the failed socket */
- sclose(conn->sock[sockindex]);
- conn->sock[sockindex] = CURL_SOCKET_BAD;
- *connected = FALSE;
-
- if(sockindex != FIRSTSOCKET)
- return TRUE; /* no next */
-
- /* try the next address */
- ai = conn->ip_addr->ai_next;
-
- while(ai) {
- sockfd = singleipconnect(conn, ai, 0L, connected);
- if(sockfd != CURL_SOCKET_BAD) {
- /* store the new socket descriptor */
- conn->sock[sockindex] = sockfd;
- conn->ip_addr = ai;
-
- return Curl_store_ip_addr(conn) != CURLE_OK;
- }
- ai = ai->ai_next;
- }
- return TRUE;
-}
-
-/*
- * Curl_is_connected() is used from the multi interface to check if the
- * firstsocket has connected.
- */
-
-CURLcode Curl_is_connected(struct connectdata *conn,
- int sockindex,
- bool *connected)
-{
- int rc;
- struct SessionHandle *data = conn->data;
- CURLcode code = CURLE_OK;
- curl_socket_t sockfd = conn->sock[sockindex];
- long allow = DEFAULT_CONNECT_TIMEOUT;
-
- DEBUGASSERT(sockindex >= FIRSTSOCKET && sockindex <= SECONDARYSOCKET);
-
- *connected = FALSE; /* a very negative world view is best */
-
- if(conn->bits.tcpconnect) {
- /* we are connected already! */
- long allow_total = 0;
-
- /* subtract the most strict timeout of the ones */
- if(data->set.timeout)
- allow_total = data->set.timeout;
-
- Curl_expire(data, allow_total);
- *connected = TRUE;
- return CURLE_OK;
- }
-
- /* figure out how long time we have left to connect */
- allow = Curl_timeleft(conn, NULL, TRUE);
-
- if(allow < 0) {
- /* time-out, bail out, go home */
- failf(data, "Connection time-out");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- Curl_expire(data, allow);
-
- /* check for connect without timeout as we want to return immediately */
- rc = waitconnect(sockfd, 0);
-
- if(WAITCONN_CONNECTED == rc) {
- int error;
- if(verifyconnect(sockfd, &error)) {
- /* we are connected, awesome! */
- *connected = TRUE;
- return CURLE_OK;
- }
- /* nope, not connected for real */
- data->state.os_errno = error;
- infof(data, "Connection failed\n");
- if(trynextip(conn, sockindex, connected)) {
- failf(data, "Failed connect to %s:%d; %s",
- conn->host.name, conn->port, Curl_strerror(conn, error));
- code = CURLE_COULDNT_CONNECT;
- }
- }
- else if(WAITCONN_TIMEOUT != rc) {
- int error = 0;
-
- /* nope, not connected */
- if(WAITCONN_FDSET_ERROR == rc) {
- (void)verifyconnect(sockfd, &error);
- data->state.os_errno = error;
- infof(data, "%s\n",Curl_strerror(conn,error));
- }
- else
- infof(data, "Connection failed\n");
-
- if(trynextip(conn, sockindex, connected)) {
- error = SOCKERRNO;
- data->state.os_errno = error;
- failf(data, "Failed connect to %s:%d; %s",
- conn->host.name, conn->port, Curl_strerror(conn, error));
- code = CURLE_COULDNT_CONNECT;
- }
- }
- /*
- * If the connection failed here, we should attempt to connect to the "next
- * address" for the given host.
- */
-
- return code;
-}
-
-static void tcpnodelay(struct connectdata *conn,
- curl_socket_t sockfd)
-{
-#ifdef TCP_NODELAY
- struct SessionHandle *data= conn->data;
- socklen_t onoff = (socklen_t) data->set.tcp_nodelay;
- int proto = IPPROTO_TCP;
-
-#if 0
- /* The use of getprotobyname() is disabled since it isn't thread-safe on
- numerous systems. On these getprotobyname_r() should be used instead, but
- that exists in at least one 4 arg version and one 5 arg version, and
- since the proto number rarely changes anyway we now just use the hard
- coded number. The "proper" fix would need a configure check for the
- correct function much in the same style the gethostbyname_r versions are
- detected. */
- struct protoent *pe = getprotobyname("tcp");
- if(pe)
- proto = pe->p_proto;
-#endif
-
- if(setsockopt(sockfd, proto, TCP_NODELAY, (void *)&onoff,
- sizeof(onoff)) < 0)
- infof(data, "Could not set TCP_NODELAY: %s\n",
- Curl_strerror(conn, SOCKERRNO));
- else
- infof(data,"TCP_NODELAY set\n");
-#else
- (void)conn;
- (void)sockfd;
-#endif
-}
-
-#ifdef SO_NOSIGPIPE
-/* The preferred method on Mac OS X (10.2 and later) to prevent SIGPIPEs when
- sending data to a dead peer (instead of relying on the 4th argument to send
- being MSG_NOSIGNAL). Possibly also existing and in use on other BSD
- systems? */
-static void nosigpipe(struct connectdata *conn,
- curl_socket_t sockfd)
-{
- struct SessionHandle *data= conn->data;
- int onoff = 1;
- if(setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&onoff,
- sizeof(onoff)) < 0)
- infof(data, "Could not set SO_NOSIGPIPE: %s\n",
- Curl_strerror(conn, SOCKERRNO));
-}
-#else
-#define nosigpipe(x,y)
-#endif
-
-/* singleipconnect() connects to the given IP only, and it may return without
- having connected if used from the multi interface. */
-static curl_socket_t
-singleipconnect(struct connectdata *conn,
- const Curl_addrinfo *ai,
- long timeout_ms,
- bool *connected)
-{
- char addr_buf[128];
- int rc;
- int error;
- bool isconnected;
- struct SessionHandle *data = conn->data;
- curl_socket_t sockfd;
- CURLcode res;
- /*
- * Curl_sockaddr_storage, which is basically sockaddr_storage has a space
- * for a largest possible struct sockaddr only. We should add some space for
- * the other fields we are using. Hence the addr_storage size math.
- */
- char addr_storage[sizeof(struct curl_sockaddr)-
- sizeof(struct sockaddr)+
- sizeof(struct Curl_sockaddr_storage)];
- struct curl_sockaddr *addr=(struct curl_sockaddr*)&addr_storage;
- const void *iptoprint;
-
- addr->family=ai->ai_family;
- addr->socktype=conn->socktype;
- addr->protocol=ai->ai_protocol;
- addr->addrlen =
- (ai->ai_addrlen < (socklen_t)sizeof(struct Curl_sockaddr_storage)) ?
- (unsigned int)ai->ai_addrlen : sizeof(struct Curl_sockaddr_storage);
- memcpy(&addr->addr, ai->ai_addr, addr->addrlen);
-
- /* If set, use opensocket callback to get the socket */
- if(data->set.fopensocket)
- sockfd = data->set.fopensocket(data->set.opensocket_client,
- CURLSOCKTYPE_IPCXN, addr);
- else
- sockfd = socket(addr->family, addr->socktype, addr->protocol);
- if(sockfd == CURL_SOCKET_BAD)
- return CURL_SOCKET_BAD;
-
- *connected = FALSE; /* default is not connected */
-
-#ifdef CURLRES_IPV6
- if (conn->scope && (addr->family == AF_INET6)) {
- struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)&addr->addr;
- in6->sin6_scope_id = conn->scope;
- }
-#endif
-
- /* FIXME: do we have Curl_printable_address-like with struct sockaddr* as
- argument? */
-#if defined(HAVE_SYS_UN_H) && defined(AF_UNIX)
- if(addr->family==AF_UNIX) {
- infof(data, " Trying %s... ",
- ((const struct sockaddr_un*)(&addr->addr))->sun_path);
- snprintf(data->info.ip, MAX_IPADR_LEN, "%s",
- ((const struct sockaddr_un*)(&addr->addr))->sun_path);
- }
- else
-#endif
- {
-#ifdef ENABLE_IPV6
- if(addr->family==AF_INET6)
- iptoprint= &((const struct sockaddr_in6*)(&addr->addr))->sin6_addr;
- else
-#endif
- iptoprint = &((const struct sockaddr_in*)(&addr->addr))->sin_addr;
-
- if(Curl_inet_ntop(addr->family, iptoprint, addr_buf,
- sizeof(addr_buf)) != NULL) {
- infof(data, " Trying %s... ", addr_buf);
- snprintf(data->info.ip, MAX_IPADR_LEN, "%s", addr_buf);
- }
- }
-
- if(data->set.tcp_nodelay)
- tcpnodelay(conn, sockfd);
-
- nosigpipe(conn, sockfd);
-
- if(data->set.fsockopt) {
- /* activate callback for setting socket options */
- error = data->set.fsockopt(data->set.sockopt_client,
- sockfd,
- CURLSOCKTYPE_IPCXN);
- if(error) {
- sclose(sockfd); /* close the socket and bail out */
- return CURL_SOCKET_BAD;
- }
- }
-
- /* possibly bind the local end to an IP, interface or port */
- res = bindlocal(conn, sockfd);
- if(res) {
- sclose(sockfd); /* close socket and bail out */
- return CURL_SOCKET_BAD;
- }
-
- /* set socket non-blocking */
- Curl_nonblock(sockfd, TRUE);
-
- /* Connect TCP sockets, bind UDP */
- if(conn->socktype == SOCK_STREAM)
- rc = connect(sockfd, &addr->addr, addr->addrlen);
- else
- rc = 0;
-
- if(-1 == rc) {
- error = SOCKERRNO;
-
- switch (error) {
- case EINPROGRESS:
- case EWOULDBLOCK:
-#if defined(EAGAIN) && EAGAIN != EWOULDBLOCK
- /* On some platforms EAGAIN and EWOULDBLOCK are the
- * same value, and on others they are different, hence
- * the odd #if
- */
- case EAGAIN:
-#endif
- rc = waitconnect(sockfd, timeout_ms);
- break;
- default:
- /* unknown error, fallthrough and try another address! */
- failf(data, "Failed to connect to %s: %s",
- addr_buf, Curl_strerror(conn,error));
- data->state.os_errno = error;
- break;
- }
- }
-
- /* The 'WAITCONN_TIMEOUT == rc' comes from the waitconnect(), and not from
- connect(). We can be sure of this since connect() cannot return 1. */
- if((WAITCONN_TIMEOUT == rc) &&
- (data->state.used_interface == Curl_if_multi)) {
- /* Timeout when running the multi interface */
- return sockfd;
- }
-
- isconnected = verifyconnect(sockfd, &error);
-
- if(!rc && isconnected) {
- /* we are connected, awesome! */
- *connected = TRUE; /* this is a true connect */
- infof(data, "connected\n");
- return sockfd;
- }
- else if(WAITCONN_TIMEOUT == rc)
- infof(data, "Timeout\n");
- else {
- data->state.os_errno = error;
- infof(data, "%s\n", Curl_strerror(conn, error));
- }
-
- /* connect failed or timed out */
- sclose(sockfd);
-
- return CURL_SOCKET_BAD;
-}
-
-/*
- * TCP connect to the given host with timeout, proxy or remote doesn't matter.
- * There might be more than one IP address to try out. Fill in the passed
- * pointer with the connected socket.
- */
-
-CURLcode Curl_connecthost(struct connectdata *conn, /* context */
- const struct Curl_dns_entry *remotehost,
- curl_socket_t *sockconn, /* the connected socket */
- Curl_addrinfo **addr, /* the one we used */
- bool *connected) /* really connected? */
-{
- struct SessionHandle *data = conn->data;
- curl_socket_t sockfd = CURL_SOCKET_BAD;
- int aliasindex;
- int num_addr;
- Curl_addrinfo *ai;
- Curl_addrinfo *curr_addr;
-
- struct timeval after;
- struct timeval before = Curl_tvnow();
-
- /*************************************************************
- * Figure out what maximum time we have left
- *************************************************************/
- long timeout_ms;
- long timeout_per_addr;
-
- DEBUGASSERT(sockconn);
- *connected = FALSE; /* default to not connected */
-
- /* get the timeout left */
- timeout_ms = Curl_timeleft(conn, &before, TRUE);
-
- if(timeout_ms < 0) {
- /* a precaution, no need to continue if time already is up */
- failf(data, "Connection time-out");
- return CURLE_OPERATION_TIMEDOUT;
- }
- Curl_expire(data, timeout_ms);
-
- /* Max time for each address */
- num_addr = Curl_num_addresses(remotehost->addr);
- timeout_per_addr = timeout_ms / num_addr;
-
- ai = remotehost->addr;
-
- /* Below is the loop that attempts to connect to all IP-addresses we
- * know for the given host. One by one until one IP succeeds.
- */
-
- if(data->state.used_interface == Curl_if_multi)
- /* don't hang when doing multi */
- timeout_per_addr = 0;
-
- /*
- * Connecting with a Curl_addrinfo chain
- */
- for (curr_addr = ai, aliasindex=0; curr_addr;
- curr_addr = curr_addr->ai_next, aliasindex++) {
-
- /* start connecting to the IP curr_addr points to */
- sockfd = singleipconnect(conn, curr_addr, timeout_per_addr, connected);
-
- if(sockfd != CURL_SOCKET_BAD)
- break;
-
- /* get a new timeout for next attempt */
- after = Curl_tvnow();
- timeout_ms -= Curl_tvdiff(after, before);
- if(timeout_ms < 0) {
- failf(data, "connect() timed out!");
- return CURLE_OPERATION_TIMEDOUT;
- }
- before = after;
- } /* end of connect-to-each-address loop */
-
- *sockconn = sockfd; /* the socket descriptor we've connected */
-
- if(sockfd == CURL_SOCKET_BAD) {
- /* no good connect was made */
- failf(data, "couldn't connect to host");
- return CURLE_COULDNT_CONNECT;
- }
-
- /* leave the socket in non-blocking mode */
-
- /* store the address we use */
- if(addr)
- *addr = curr_addr;
-
- data->info.numconnects++; /* to track the number of connections made */
-
- return CURLE_OK;
-}
-
-/*
- * Used to extract socket and connectdata struct for the most recent
- * transfer on the given SessionHandle.
- *
- * The socket 'long' will be -1 in case of failure!
- */
-CURLcode Curl_getconnectinfo(struct SessionHandle *data,
- long *param_longp,
- struct connectdata **connp)
-{
- if((data->state.lastconnect != -1) &&
- (data->state.connc->connects[data->state.lastconnect] != NULL)) {
- struct connectdata *c =
- data->state.connc->connects[data->state.lastconnect];
- if(connp)
- /* only store this if the caller cares for it */
- *connp = c;
- *param_longp = c->sock[FIRSTSOCKET];
- /* we have a socket connected, let's determine if the server shut down */
- /* determine if ssl */
- if(c->ssl[FIRSTSOCKET].use) {
- /* use the SSL context */
- if(!Curl_ssl_check_cxn(c))
- *param_longp = -1; /* FIN received */
- }
-/* Minix 3.1 doesn't support any flags on recv; just assume socket is OK */
-#ifdef MSG_PEEK
- else {
- /* use the socket */
- char buf;
- if(recv((RECV_TYPE_ARG1)c->sock[FIRSTSOCKET], (RECV_TYPE_ARG2)&buf,
- (RECV_TYPE_ARG3)1, (RECV_TYPE_ARG4)MSG_PEEK) == 0) {
- *param_longp = -1; /* FIN received */
- }
- }
-#endif
- }
- else
- *param_longp = -1;
-
- return CURLE_OK;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/connect.h b/Utilities/cmcurl-7.19.0/lib/connect.h
deleted file mode 100644
index 8e55cc9..0000000
--- a/Utilities/cmcurl-7.19.0/lib/connect.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __CONNECT_H
-#define __CONNECT_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-int Curl_nonblock(curl_socket_t sockfd, /* operate on this */
- int nonblock /* TRUE or FALSE */);
-
-CURLcode Curl_is_connected(struct connectdata *conn,
- int sockindex,
- bool *connected);
-
-CURLcode Curl_connecthost(struct connectdata *conn,
- const struct Curl_dns_entry *host, /* connect to
- this */
- curl_socket_t *sockconn, /* not set if error */
- Curl_addrinfo **addr, /* the one we used */
- bool *connected); /* truly connected? */
-
-CURLcode Curl_store_ip_addr(struct connectdata *conn);
-
-/* generic function that returns how much time there's left to run, according
- to the timeouts set */
-long Curl_timeleft(struct connectdata *conn,
- struct timeval *nowp,
- bool duringconnect);
-
-#define DEFAULT_CONNECT_TIMEOUT 300000 /* milliseconds == five minutes */
-
-/*
- * Used to extract socket and connectdata struct for the most recent
- * transfer on the given SessionHandle.
- *
- * The socket 'long' will be -1 in case of failure!
- */
-CURLcode Curl_getconnectinfo(struct SessionHandle *data,
- long *param_longp,
- struct connectdata **connp);
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/content_encoding.c b/Utilities/cmcurl-7.19.0/lib/content_encoding.c
deleted file mode 100644
index 1d2852b..0000000
--- a/Utilities/cmcurl-7.19.0/lib/content_encoding.c
+++ /dev/null
@@ -1,416 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_LIBZ
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "sendf.h"
-#include "content_encoding.h"
-#include "memory.h"
-
-#include "memdebug.h"
-
-/* Comment this out if zlib is always going to be at least ver. 1.2.0.4
- (doing so will reduce code size slightly). */
-#define OLD_ZLIB_SUPPORT 1
-
-#define DSIZ 0x10000 /* buffer size for decompressed data */
-
-#define GZIP_MAGIC_0 0x1f
-#define GZIP_MAGIC_1 0x8b
-
-/* gzip flag byte */
-#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
-#define HEAD_CRC 0x02 /* bit 1 set: header CRC present */
-#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
-#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
-#define COMMENT 0x10 /* bit 4 set: file comment present */
-#define RESERVED 0xE0 /* bits 5..7: reserved */
-
-static CURLcode
-process_zlib_error(struct connectdata *conn, z_stream *z)
-{
- struct SessionHandle *data = conn->data;
- if(z->msg)
- failf (data, "Error while processing content unencoding: %s",
- z->msg);
- else
- failf (data, "Error while processing content unencoding: "
- "Unknown failure within decompression software.");
-
- return CURLE_BAD_CONTENT_ENCODING;
-}
-
-static CURLcode
-exit_zlib(z_stream *z, zlibInitState *zlib_init, CURLcode result)
-{
- inflateEnd(z);
- *zlib_init = ZLIB_UNINIT;
- return result;
-}
-
-static CURLcode
-inflate_stream(struct connectdata *conn,
- struct SingleRequest *k)
-{
- int allow_restart = 1;
- z_stream *z = &k->z; /* zlib state structure */
- uInt nread = z->avail_in;
- Bytef *orig_in = z->next_in;
- int status; /* zlib status */
- CURLcode result = CURLE_OK; /* Curl_client_write status */
- char *decomp; /* Put the decompressed data here. */
-
- /* Dynamically allocate a buffer for decompression because it's uncommonly
- large to hold on the stack */
- decomp = (char*)malloc(DSIZ);
- if(decomp == NULL) {
- return exit_zlib(z, &k->zlib_init, CURLE_OUT_OF_MEMORY);
- }
-
- /* because the buffer size is fixed, iteratively decompress and transfer to
- the client via client_write. */
- for (;;) {
- /* (re)set buffer for decompressed output for every iteration */
- z->next_out = (Bytef *)decomp;
- z->avail_out = DSIZ;
-
- status = inflate(z, Z_SYNC_FLUSH);
- if(status == Z_OK || status == Z_STREAM_END) {
- allow_restart = 0;
- if(DSIZ - z->avail_out) {
- result = Curl_client_write(conn, CLIENTWRITE_BODY, decomp,
- DSIZ - z->avail_out);
- /* if !CURLE_OK, clean up, return */
- if(result) {
- free(decomp);
- return exit_zlib(z, &k->zlib_init, result);
- }
- }
-
- /* Done? clean up, return */
- if(status == Z_STREAM_END) {
- free(decomp);
- if(inflateEnd(z) == Z_OK)
- return exit_zlib(z, &k->zlib_init, result);
- else
- return exit_zlib(z, &k->zlib_init, process_zlib_error(conn, z));
- }
-
- /* Done with these bytes, exit */
- if(status == Z_OK && z->avail_in == 0) {
- free(decomp);
- return result;
- }
- }
- else if(allow_restart && status == Z_DATA_ERROR) {
- /* some servers seem to not generate zlib headers, so this is an attempt
- to fix and continue anyway */
-
- (void) inflateEnd(z); /* don't care about the return code */
- if(inflateInit2(z, -MAX_WBITS) != Z_OK) {
- return process_zlib_error(conn, z);
- }
- z->next_in = orig_in;
- z->avail_in = nread;
- allow_restart = 0;
- continue;
- }
- else { /* Error; exit loop, handle below */
- free(decomp);
- return exit_zlib(z, &k->zlib_init, process_zlib_error(conn, z));
- }
- }
- /* Will never get here */
-}
-
-CURLcode
-Curl_unencode_deflate_write(struct connectdata *conn,
- struct SingleRequest *k,
- ssize_t nread)
-{
- z_stream *z = &k->z; /* zlib state structure */
-
- /* Initialize zlib? */
- if(k->zlib_init == ZLIB_UNINIT) {
- z->zalloc = (alloc_func)Z_NULL;
- z->zfree = (free_func)Z_NULL;
- z->opaque = 0;
- z->next_in = NULL;
- z->avail_in = 0;
- if(inflateInit(z) != Z_OK)
- return process_zlib_error(conn, z);
- k->zlib_init = ZLIB_INIT;
- }
-
- /* Set the compressed input when this function is called */
- z->next_in = (Bytef *)k->str;
- z->avail_in = (uInt)nread;
-
- /* Now uncompress the data */
- return inflate_stream(conn, k);
-}
-
-#ifdef OLD_ZLIB_SUPPORT
-/* Skip over the gzip header */
-static enum {
- GZIP_OK,
- GZIP_BAD,
- GZIP_UNDERFLOW
-} check_gzip_header(unsigned char const *data, ssize_t len, ssize_t *headerlen)
-{
- int method, flags;
- const ssize_t totallen = len;
-
- /* The shortest header is 10 bytes */
- if(len < 10)
- return GZIP_UNDERFLOW;
-
- if((data[0] != GZIP_MAGIC_0) || (data[1] != GZIP_MAGIC_1))
- return GZIP_BAD;
-
- method = data[2];
- flags = data[3];
-
- if(method != Z_DEFLATED || (flags & RESERVED) != 0) {
- /* Can't handle this compression method or unknown flag */
- return GZIP_BAD;
- }
-
- /* Skip over time, xflags, OS code and all previous bytes */
- len -= 10;
- data += 10;
-
- if(flags & EXTRA_FIELD) {
- ssize_t extra_len;
-
- if(len < 2)
- return GZIP_UNDERFLOW;
-
- extra_len = (data[1] << 8) | data[0];
-
- if(len < (extra_len+2))
- return GZIP_UNDERFLOW;
-
- len -= (extra_len + 2);
- data += (extra_len + 2);
- }
-
- if(flags & ORIG_NAME) {
- /* Skip over NUL-terminated file name */
- while(len && *data) {
- --len;
- ++data;
- }
- if(!len || *data)
- return GZIP_UNDERFLOW;
-
- /* Skip over the NUL */
- --len;
- ++data;
- }
-
- if(flags & COMMENT) {
- /* Skip over NUL-terminated comment */
- while(len && *data) {
- --len;
- ++data;
- }
- if(!len || *data)
- return GZIP_UNDERFLOW;
-
- /* Skip over the NUL */
- --len;
- ++data;
- }
-
- if(flags & HEAD_CRC) {
- if(len < 2)
- return GZIP_UNDERFLOW;
-
- len -= 2;
- data += 2;
- }
-
- *headerlen = totallen - len;
- return GZIP_OK;
-}
-#endif
-
-CURLcode
-Curl_unencode_gzip_write(struct connectdata *conn,
- struct SingleRequest *k,
- ssize_t nread)
-{
- z_stream *z = &k->z; /* zlib state structure */
-
- /* Initialize zlib? */
- if(k->zlib_init == ZLIB_UNINIT) {
- z->zalloc = (alloc_func)Z_NULL;
- z->zfree = (free_func)Z_NULL;
- z->opaque = 0;
- z->next_in = NULL;
- z->avail_in = 0;
-
- if(strcmp(zlibVersion(), "1.2.0.4") >= 0) {
- /* zlib ver. >= 1.2.0.4 supports transparent gzip decompressing */
- if(inflateInit2(z, MAX_WBITS+32) != Z_OK) {
- return process_zlib_error(conn, z);
- }
- k->zlib_init = ZLIB_INIT_GZIP; /* Transparent gzip decompress state */
-
- } else {
- /* we must parse the gzip header ourselves */
- if(inflateInit2(z, -MAX_WBITS) != Z_OK) {
- return process_zlib_error(conn, z);
- }
- k->zlib_init = ZLIB_INIT; /* Initial call state */
- }
- }
-
- if(k->zlib_init == ZLIB_INIT_GZIP) {
- /* Let zlib handle the gzip decompression entirely */
- z->next_in = (Bytef *)k->str;
- z->avail_in = (uInt)nread;
- /* Now uncompress the data */
- return inflate_stream(conn, k);
- }
-
-#ifndef OLD_ZLIB_SUPPORT
- /* Support for old zlib versions is compiled away and we are running with
- an old version, so return an error. */
- return exit_zlib(z, &k->zlib_init, CURLE_FUNCTION_NOT_FOUND);
-
-#else
- /* This next mess is to get around the potential case where there isn't
- * enough data passed in to skip over the gzip header. If that happens, we
- * malloc a block and copy what we have then wait for the next call. If
- * there still isn't enough (this is definitely a worst-case scenario), we
- * make the block bigger, copy the next part in and keep waiting.
- *
- * This is only required with zlib versions < 1.2.0.4 as newer versions
- * can handle the gzip header themselves.
- */
-
- switch (k->zlib_init) {
- /* Skip over gzip header? */
- case ZLIB_INIT:
- {
- /* Initial call state */
- ssize_t hlen;
-
- switch (check_gzip_header((unsigned char *)k->str, nread, &hlen)) {
- case GZIP_OK:
- z->next_in = (Bytef *)k->str + hlen;
- z->avail_in = (uInt)(nread - hlen);
- k->zlib_init = ZLIB_GZIP_INFLATING; /* Inflating stream state */
- break;
-
- case GZIP_UNDERFLOW:
- /* We need more data so we can find the end of the gzip header. It's
- * possible that the memory block we malloc here will never be freed if
- * the transfer abruptly aborts after this point. Since it's unlikely
- * that circumstances will be right for this code path to be followed in
- * the first place, and it's even more unlikely for a transfer to fail
- * immediately afterwards, it should seldom be a problem.
- */
- z->avail_in = (uInt)nread;
- z->next_in = malloc(z->avail_in);
- if(z->next_in == NULL) {
- return exit_zlib(z, &k->zlib_init, CURLE_OUT_OF_MEMORY);
- }
- memcpy(z->next_in, k->str, z->avail_in);
- k->zlib_init = ZLIB_GZIP_HEADER; /* Need more gzip header data state */
- /* We don't have any data to inflate yet */
- return CURLE_OK;
-
- case GZIP_BAD:
- default:
- return exit_zlib(z, &k->zlib_init, process_zlib_error(conn, z));
- }
-
- }
- break;
-
- case ZLIB_GZIP_HEADER:
- {
- /* Need more gzip header data state */
- ssize_t hlen;
- unsigned char *oldblock = z->next_in;
-
- z->avail_in += nread;
- z->next_in = realloc(z->next_in, z->avail_in);
- if(z->next_in == NULL) {
- free(oldblock);
- return exit_zlib(z, &k->zlib_init, CURLE_OUT_OF_MEMORY);
- }
- /* Append the new block of data to the previous one */
- memcpy(z->next_in + z->avail_in - nread, k->str, nread);
-
- switch (check_gzip_header(z->next_in, z->avail_in, &hlen)) {
- case GZIP_OK:
- /* This is the zlib stream data */
- free(z->next_in);
- /* Don't point into the malloced block since we just freed it */
- z->next_in = (Bytef *)k->str + hlen + nread - z->avail_in;
- z->avail_in = (uInt)(z->avail_in - hlen);
- k->zlib_init = ZLIB_GZIP_INFLATING; /* Inflating stream state */
- break;
-
- case GZIP_UNDERFLOW:
- /* We still don't have any data to inflate! */
- return CURLE_OK;
-
- case GZIP_BAD:
- default:
- free(z->next_in);
- return exit_zlib(z, &k->zlib_init, process_zlib_error(conn, z));
- }
-
- }
- break;
-
- case ZLIB_GZIP_INFLATING:
- default:
- /* Inflating stream state */
- z->next_in = (Bytef *)k->str;
- z->avail_in = (uInt)nread;
- break;
- }
-
- if(z->avail_in == 0) {
- /* We don't have any data to inflate; wait until next time */
- return CURLE_OK;
- }
-
- /* We've parsed the header, now uncompress the data */
- return inflate_stream(conn, k);
-#endif
-}
-#endif /* HAVE_LIBZ */
diff --git a/Utilities/cmcurl-7.19.0/lib/content_encoding.h b/Utilities/cmcurl-7.19.0/lib/content_encoding.h
deleted file mode 100644
index aa51420..0000000
--- a/Utilities/cmcurl-7.19.0/lib/content_encoding.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef __CURL_CONTENT_ENCODING_H
-#define __CURL_CONTENT_ENCODING_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-/*
- * Comma-separated list all supported Content-Encodings ('identity' is implied)
- */
-#ifdef HAVE_LIBZ
-#define ALL_CONTENT_ENCODINGS "deflate, gzip"
-#else
-#define ALL_CONTENT_ENCODINGS "identity"
-#endif
-
-CURLcode Curl_unencode_deflate_write(struct connectdata *conn,
- struct SingleRequest *req,
- ssize_t nread);
-
-CURLcode
-Curl_unencode_gzip_write(struct connectdata *conn,
- struct SingleRequest *k,
- ssize_t nread);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/cookie.c b/Utilities/cmcurl-7.19.0/lib/cookie.c
deleted file mode 100644
index 93d088d..0000000
--- a/Utilities/cmcurl-7.19.0/lib/cookie.c
+++ /dev/null
@@ -1,1053 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/***
-
-
-RECEIVING COOKIE INFORMATION
-============================
-
-struct CookieInfo *cookie_init(char *file);
-
- Inits a cookie struct to store data in a local file. This is always
- called before any cookies are set.
-
-int cookies_set(struct CookieInfo *cookie, char *cookie_line);
-
- The 'cookie_line' parameter is a full "Set-cookie:" line as
- received from a server.
-
- The function need to replace previously stored lines that this new
- line superceeds.
-
- It may remove lines that are expired.
-
- It should return an indication of success/error.
-
-
-SENDING COOKIE INFORMATION
-==========================
-
-struct Cookies *cookie_getlist(struct CookieInfo *cookie,
- char *host, char *path, bool secure);
-
- For a given host and path, return a linked list of cookies that
- the client should send to the server if used now. The secure
- boolean informs the cookie if a secure connection is achieved or
- not.
-
- It shall only return cookies that haven't expired.
-
-
-Example set of cookies:
-
- Set-cookie: PRODUCTINFO=webxpress; domain=.fidelity.com; path=/; secure
- Set-cookie: PERSONALIZE=none;expires=Monday, 13-Jun-1988 03:04:55 GMT;
- domain=.fidelity.com; path=/ftgw; secure
- Set-cookie: FidHist=none;expires=Monday, 13-Jun-1988 03:04:55 GMT;
- domain=.fidelity.com; path=/; secure
- Set-cookie: FidOrder=none;expires=Monday, 13-Jun-1988 03:04:55 GMT;
- domain=.fidelity.com; path=/; secure
- Set-cookie: DisPend=none;expires=Monday, 13-Jun-1988 03:04:55 GMT;
- domain=.fidelity.com; path=/; secure
- Set-cookie: FidDis=none;expires=Monday, 13-Jun-1988 03:04:55 GMT;
- domain=.fidelity.com; path=/; secure
- Set-cookie:
- Session_Key@6791a9e0-901a-11d0-a1c8-9b012c88aa77=none;expires=Monday,
- 13-Jun-1988 03:04:55 GMT; domain=.fidelity.com; path=/; secure
-****/
-
-
-#include "setup.h"
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
-
-#include <stdlib.h>
-#include <string.h>
-
-#define _MPRINTF_REPLACE /* without this on windows OS we get undefined reference to snprintf */
-#include <curl/mprintf.h>
-
-#include "urldata.h"
-#include "cookie.h"
-#include "strequal.h"
-#include "strtok.h"
-#include "sendf.h"
-#include "memory.h"
-#include "share.h"
-#include "strtoofft.h"
-
-/* The last #include file should be: */
-#ifdef CURLDEBUG
-#include "memdebug.h"
-#endif
-
-
-static void freecookie(struct Cookie *co)
-{
- if(co->expirestr)
- free(co->expirestr);
- if(co->domain)
- free(co->domain);
- if(co->path)
- free(co->path);
- if(co->name)
- free(co->name);
- if(co->value)
- free(co->value);
- if(co->maxage)
- free(co->maxage);
- if(co->version)
- free(co->version);
-
- free(co);
-}
-
-static bool tailmatch(const char *little, const char *bigone)
-{
- size_t littlelen = strlen(little);
- size_t biglen = strlen(bigone);
-
- if(littlelen > biglen)
- return FALSE;
-
- return (bool)strequal(little, bigone+biglen-littlelen);
-}
-
-/*
- * Load cookies from all given cookie files (CURLOPT_COOKIEFILE).
- */
-void Curl_cookie_loadfiles(struct SessionHandle *data)
-{
- struct curl_slist *list = data->change.cookielist;
- if(list) {
- Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE);
- while(list) {
- data->cookies = Curl_cookie_init(data,
- list->data,
- data->cookies,
- data->set.cookiesession);
- list = list->next;
- }
- Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE);
- curl_slist_free_all(data->change.cookielist); /* clean up list */
- data->change.cookielist = NULL; /* don't do this again! */
- }
-}
-
-/****************************************************************************
- *
- * Curl_cookie_add()
- *
- * Add a single cookie line to the cookie keeping object.
- *
- ***************************************************************************/
-
-struct Cookie *
-Curl_cookie_add(struct SessionHandle *data,
- /* The 'data' pointer here may be NULL at times, and thus
- must only be used very carefully for things that can deal
- with data being NULL. Such as infof() and similar */
-
- struct CookieInfo *c,
- bool httpheader, /* TRUE if HTTP header-style line */
- char *lineptr, /* first character of the line */
- const char *domain, /* default domain */
- const char *path) /* full path used when this cookie is set,
- used to get default path for the cookie
- unless set */
-{
- struct Cookie *clist;
- char name[MAX_NAME];
- struct Cookie *co;
- struct Cookie *lastc=NULL;
- time_t now = time(NULL);
- bool replace_old = FALSE;
- bool badcookie = FALSE; /* cookies are good by default. mmmmm yummy */
-
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
- (void)data;
-#endif
-
- /* First, alloc and init a new struct for it */
- co = (struct Cookie *)calloc(sizeof(struct Cookie), 1);
- if(!co)
- return NULL; /* bail out if we're this low on memory */
-
- if(httpheader) {
- /* This line was read off a HTTP-header */
- const char *ptr;
- const char *sep;
- const char *semiptr;
- char *what;
-
- what = malloc(MAX_COOKIE_LINE);
- if(!what) {
- free(co);
- return NULL;
- }
-
- semiptr=strchr(lineptr, ';'); /* first, find a semicolon */
-
- while(*lineptr && ISBLANK(*lineptr))
- lineptr++;
-
- ptr = lineptr;
- do {
- /* we have a <what>=<this> pair or a 'secure' word here */
- sep = strchr(ptr, '=');
- if(sep && (!semiptr || (semiptr>sep)) ) {
- /*
- * There is a = sign and if there was a semicolon too, which make sure
- * that the semicolon comes _after_ the equal sign.
- */
-
- name[0]=what[0]=0; /* init the buffers */
- if(1 <= sscanf(ptr, "%" MAX_NAME_TXT "[^;=]=%"
- MAX_COOKIE_LINE_TXT "[^;\r\n]",
- name, what)) {
- /* this is a <name>=<what> pair */
-
- const char *whatptr;
-
- /* Strip off trailing whitespace from the 'what' */
- size_t len=strlen(what);
- while(len && ISBLANK(what[len-1])) {
- what[len-1]=0;
- len--;
- }
-
- /* Skip leading whitespace from the 'what' */
- whatptr=what;
- while(*whatptr && ISBLANK(*whatptr)) {
- whatptr++;
- }
-
- if(strequal("path", name)) {
- co->path=strdup(whatptr);
- if(!co->path) {
- badcookie = TRUE; /* out of memory bad */
- break;
- }
- }
- else if(strequal("domain", name)) {
- /* note that this name may or may not have a preceeding dot, but
- we don't care about that, we treat the names the same anyway */
-
- const char *domptr=whatptr;
- int dotcount=1;
-
- /* Count the dots, we need to make sure that there are enough
- of them. */
-
- if('.' == whatptr[0])
- /* don't count the initial dot, assume it */
- domptr++;
-
- do {
- domptr = strchr(domptr, '.');
- if(domptr) {
- domptr++;
- dotcount++;
- }
- } while(domptr);
-
- /* The original Netscape cookie spec defined that this domain name
- MUST have three dots (or two if one of the seven holy TLDs),
- but it seems that these kinds of cookies are in use "out there"
- so we cannot be that strict. I've therefore lowered the check
- to not allow less than two dots. */
-
- if(dotcount < 2) {
- /* Received and skipped a cookie with a domain using too few
- dots. */
- badcookie=TRUE; /* mark this as a bad cookie */
- infof(data, "skipped cookie with illegal dotcount domain: %s\n",
- whatptr);
- }
- else {
- /* Now, we make sure that our host is within the given domain,
- or the given domain is not valid and thus cannot be set. */
-
- if('.' == whatptr[0])
- whatptr++; /* ignore preceeding dot */
-
- if(!domain || tailmatch(whatptr, domain)) {
- const char *tailptr=whatptr;
- if(tailptr[0] == '.')
- tailptr++;
- co->domain=strdup(tailptr); /* don't prefix w/dots
- internally */
- if(!co->domain) {
- badcookie = TRUE;
- break;
- }
- co->tailmatch=TRUE; /* we always do that if the domain name was
- given */
- }
- else {
- /* we did not get a tailmatch and then the attempted set domain
- is not a domain to which the current host belongs. Mark as
- bad. */
- badcookie=TRUE;
- infof(data, "skipped cookie with bad tailmatch domain: %s\n",
- whatptr);
- }
- }
- }
- else if(strequal("version", name)) {
- co->version=strdup(whatptr);
- if(!co->version) {
- badcookie = TRUE;
- break;
- }
- }
- else if(strequal("max-age", name)) {
- /* Defined in RFC2109:
-
- Optional. The Max-Age attribute defines the lifetime of the
- cookie, in seconds. The delta-seconds value is a decimal non-
- negative integer. After delta-seconds seconds elapse, the
- client should discard the cookie. A value of zero means the
- cookie should be discarded immediately.
-
- */
- co->maxage = strdup(whatptr);
- if(!co->maxage) {
- badcookie = TRUE;
- break;
- }
- co->expires =
- atoi((*co->maxage=='\"')?&co->maxage[1]:&co->maxage[0]) + (long)now;
- }
- else if(strequal("expires", name)) {
- co->expirestr=strdup(whatptr);
- if(!co->expirestr) {
- badcookie = TRUE;
- break;
- }
- co->expires = curl_getdate(what, &now);
- }
- else if(!co->name) {
- co->name = strdup(name);
- co->value = strdup(whatptr);
- if(!co->name || !co->value) {
- badcookie = TRUE;
- break;
- }
- }
- /*
- else this is the second (or more) name we don't know
- about! */
- }
- else {
- /* this is an "illegal" <what>=<this> pair */
- }
- }
- else {
- if(sscanf(ptr, "%" MAX_COOKIE_LINE_TXT "[^;\r\n]",
- what)) {
- if(strequal("secure", what)) {
- co->secure = TRUE;
- }
- else if (strequal("httponly", what)) {
- co->httponly = TRUE;
- }
- /* else,
- unsupported keyword without assign! */
-
- }
- }
- if(!semiptr || !*semiptr) {
- /* we already know there are no more cookies */
- semiptr = NULL;
- continue;
- }
-
- ptr=semiptr+1;
- while(ptr && *ptr && ISBLANK(*ptr))
- ptr++;
- semiptr=strchr(ptr, ';'); /* now, find the next semicolon */
-
- if(!semiptr && *ptr)
- /* There are no more semicolons, but there's a final name=value pair
- coming up */
- semiptr=strchr(ptr, '\0');
- } while(semiptr);
-
- if(!badcookie && !co->domain) {
- if(domain) {
- /* no domain was given in the header line, set the default */
- co->domain=strdup(domain);
- if(!co->domain)
- badcookie = TRUE;
- }
- }
-
- if(!badcookie && !co->path && path) {
- /* no path was given in the header line, set the default */
- char *endslash = strrchr(path, '/');
- if(endslash) {
- size_t pathlen = endslash-path+1; /* include the ending slash */
- co->path=malloc(pathlen+1); /* one extra for the zero byte */
- if(co->path) {
- memcpy(co->path, path, pathlen);
- co->path[pathlen]=0; /* zero terminate */
- }
- else
- badcookie = TRUE;
- }
- }
-
- free(what);
-
- if(badcookie || !co->name) {
- /* we didn't get a cookie name or a bad one,
- this is an illegal line, bail out */
- freecookie(co);
- return NULL;
- }
-
- }
- else {
- /* This line is NOT a HTTP header style line, we do offer support for
- reading the odd netscape cookies-file format here */
- char *ptr;
- char *firstptr;
- char *tok_buf;
- int fields;
-
- /* IE introduced HTTP-only cookies to prevent XSS attacks. Cookies
- marked with httpOnly after the domain name are not accessible
- from javascripts, but since curl does not operate at javascript
- level, we include them anyway. In Firefox's cookie files, these
- lines are preceeded with #HttpOnly_ and then everything is
- as usual, so we skip 10 characters of the line..
- */
- if (strncmp(lineptr, "#HttpOnly_", 10) == 0) {
- lineptr += 10;
- co->httponly = TRUE;
- }
-
-
- if(lineptr[0]=='#') {
- /* don't even try the comments */
- free(co);
- return NULL;
- }
- /* strip off the possible end-of-line characters */
- ptr=strchr(lineptr, '\r');
- if(ptr)
- *ptr=0; /* clear it */
- ptr=strchr(lineptr, '\n');
- if(ptr)
- *ptr=0; /* clear it */
-
- firstptr=strtok_r(lineptr, "\t", &tok_buf); /* tokenize it on the TAB */
-
- /* Here's a quick check to eliminate normal HTTP-headers from this */
- if(!firstptr || strchr(firstptr, ':')) {
- free(co);
- return NULL;
- }
-
- /* Now loop through the fields and init the struct we already have
- allocated */
- for(ptr=firstptr, fields=0; ptr && !badcookie;
- ptr=strtok_r(NULL, "\t", &tok_buf), fields++) {
- switch(fields) {
- case 0:
- if(ptr[0]=='.') /* skip preceeding dots */
- ptr++;
- co->domain = strdup(ptr);
- if(!co->domain)
- badcookie = TRUE;
- break;
- case 1:
- /* This field got its explanation on the 23rd of May 2001 by
- Andrés García:
-
- flag: A TRUE/FALSE value indicating if all machines within a given
- domain can access the variable. This value is set automatically by
- the browser, depending on the value you set for the domain.
-
- As far as I can see, it is set to true when the cookie says
- .domain.com and to false when the domain is complete www.domain.com
- */
- co->tailmatch=(bool)strequal(ptr, "TRUE"); /* store information */
- break;
- case 2:
- /* It turns out, that sometimes the file format allows the path
- field to remain not filled in, we try to detect this and work
- around it! Andrés García made us aware of this... */
- if(strcmp("TRUE", ptr) && strcmp("FALSE", ptr)) {
- /* only if the path doesn't look like a boolean option! */
- co->path = strdup(ptr);
- if(!co->path)
- badcookie = TRUE;
- break;
- }
- /* this doesn't look like a path, make one up! */
- co->path = strdup("/");
- if(!co->path)
- badcookie = TRUE;
- fields++; /* add a field and fall down to secure */
- /* FALLTHROUGH */
- case 3:
- co->secure = (bool)strequal(ptr, "TRUE");
- break;
- case 4:
- co->expires = curlx_strtoofft(ptr, NULL, 10);
- break;
- case 5:
- co->name = strdup(ptr);
- if(!co->name)
- badcookie = TRUE;
- break;
- case 6:
- co->value = strdup(ptr);
- if(!co->value)
- badcookie = TRUE;
- break;
- }
- }
- if(6 == fields) {
- /* we got a cookie with blank contents, fix it */
- co->value = strdup("");
- if(!co->value)
- badcookie = TRUE;
- else
- fields++;
- }
-
- if(!badcookie && (7 != fields))
- /* we did not find the sufficient number of fields */
- badcookie = TRUE;
-
- if(badcookie) {
- freecookie(co);
- return NULL;
- }
-
- }
-
- if(!c->running && /* read from a file */
- c->newsession && /* clean session cookies */
- !co->expires) { /* this is a session cookie since it doesn't expire! */
- freecookie(co);
- return NULL;
- }
-
- co->livecookie = c->running;
-
- /* now, we have parsed the incoming line, we must now check if this
- superceeds an already existing cookie, which it may if the previous have
- the same domain and path as this */
-
- clist = c->cookies;
- replace_old = FALSE;
- while(clist) {
- if(strequal(clist->name, co->name)) {
- /* the names are identical */
-
- if(clist->domain && co->domain) {
- if(strequal(clist->domain, co->domain))
- /* The domains are identical */
- replace_old=TRUE;
- }
- else if(!clist->domain && !co->domain)
- replace_old = TRUE;
-
- if(replace_old) {
- /* the domains were identical */
-
- if(clist->path && co->path) {
- if(strequal(clist->path, co->path)) {
- replace_old = TRUE;
- }
- else
- replace_old = FALSE;
- }
- else if(!clist->path && !co->path)
- replace_old = TRUE;
- else
- replace_old = FALSE;
-
- }
-
- if(replace_old && !co->livecookie && clist->livecookie) {
- /* Both cookies matched fine, except that the already present
- cookie is "live", which means it was set from a header, while
- the new one isn't "live" and thus only read from a file. We let
- live cookies stay alive */
-
- /* Free the newcomer and get out of here! */
- freecookie(co);
- return NULL;
- }
-
- if(replace_old) {
- co->next = clist->next; /* get the next-pointer first */
-
- /* then free all the old pointers */
- if(clist->name)
- free(clist->name);
- if(clist->value)
- free(clist->value);
- if(clist->domain)
- free(clist->domain);
- if(clist->path)
- free(clist->path);
- if(clist->expirestr)
- free(clist->expirestr);
-
- if(clist->version)
- free(clist->version);
- if(clist->maxage)
- free(clist->maxage);
-
- *clist = *co; /* then store all the new data */
-
- free(co); /* free the newly alloced memory */
- co = clist; /* point to the previous struct instead */
-
- /* We have replaced a cookie, now skip the rest of the list but
- make sure the 'lastc' pointer is properly set */
- do {
- lastc = clist;
- clist = clist->next;
- } while(clist);
- break;
- }
- }
- lastc = clist;
- clist = clist->next;
- }
-
- if(c->running)
- /* Only show this when NOT reading the cookies from a file */
- infof(data, "%s cookie %s=\"%s\" for domain %s, path %s, expire %d\n",
- replace_old?"Replaced":"Added", co->name, co->value,
- co->domain, co->path, co->expires);
-
- if(!replace_old) {
- /* then make the last item point on this new one */
- if(lastc)
- lastc->next = co;
- else
- c->cookies = co;
- }
-
- c->numcookies++; /* one more cookie in the jar */
- return co;
-}
-
-/*****************************************************************************
- *
- * Curl_cookie_init()
- *
- * Inits a cookie struct to read data from a local file. This is always
- * called before any cookies are set. File may be NULL.
- *
- * If 'newsession' is TRUE, discard all "session cookies" on read from file.
- *
- ****************************************************************************/
-struct CookieInfo *Curl_cookie_init(struct SessionHandle *data,
- const char *file,
- struct CookieInfo *inc,
- bool newsession)
-{
- struct CookieInfo *c;
- FILE *fp;
- bool fromfile=TRUE;
-
- if(NULL == inc) {
- /* we didn't get a struct, create one */
- c = (struct CookieInfo *)calloc(1, sizeof(struct CookieInfo));
- if(!c)
- return NULL; /* failed to get memory */
- c->filename = strdup(file?file:"none"); /* copy the name just in case */
- }
- else {
- /* we got an already existing one, use that */
- c = inc;
- }
- c->running = FALSE; /* this is not running, this is init */
-
- if(file && strequal(file, "-")) {
- fp = stdin;
- fromfile=FALSE;
- }
- else if(file && !*file) {
- /* points to a "" string */
- fp = NULL;
- }
- else
- fp = file?fopen(file, "r"):NULL;
-
- c->newsession = newsession; /* new session? */
-
- if(fp) {
- char *lineptr;
- bool headerline;
-
- char *line = (char *)malloc(MAX_COOKIE_LINE);
- if(line) {
- while(fgets(line, MAX_COOKIE_LINE, fp)) {
- if(checkprefix("Set-Cookie:", line)) {
- /* This is a cookie line, get it! */
- lineptr=&line[11];
- headerline=TRUE;
- }
- else {
- lineptr=line;
- headerline=FALSE;
- }
- while(*lineptr && ISBLANK(*lineptr))
- lineptr++;
-
- Curl_cookie_add(data, c, headerline, lineptr, NULL, NULL);
- }
- free(line); /* free the line buffer */
- }
- if(fromfile)
- fclose(fp);
- }
-
- c->running = TRUE; /* now, we're running */
-
- return c;
-}
-
-/*****************************************************************************
- *
- * Curl_cookie_getlist()
- *
- * For a given host and path, return a linked list of cookies that the
- * client should send to the server if used now. The secure boolean informs
- * the cookie if a secure connection is achieved or not.
- *
- * It shall only return cookies that haven't expired.
- *
- ****************************************************************************/
-
-struct Cookie *Curl_cookie_getlist(struct CookieInfo *c,
- const char *host, const char *path,
- bool secure)
-{
- struct Cookie *newco;
- struct Cookie *co;
- time_t now = time(NULL);
- struct Cookie *mainco=NULL;
-
- if(!c || !c->cookies)
- return NULL; /* no cookie struct or no cookies in the struct */
-
- co = c->cookies;
-
- while(co) {
- /* only process this cookie if it is not expired or had no expire
- date AND that if the cookie requires we're secure we must only
- continue if we are! */
- if( (co->expires<=0 || (co->expires> now)) &&
- (co->secure?secure:TRUE) ) {
-
- /* now check if the domain is correct */
- if(!co->domain ||
- (co->tailmatch && tailmatch(co->domain, host)) ||
- (!co->tailmatch && strequal(host, co->domain)) ) {
- /* the right part of the host matches the domain stuff in the
- cookie data */
-
- /* now check the left part of the path with the cookies path
- requirement */
- if(!co->path ||
- /* not using checkprefix() because matching should be
- case-sensitive */
- !strncmp(co->path, path, strlen(co->path)) ) {
-
- /* and now, we know this is a match and we should create an
- entry for the return-linked-list */
-
- newco = (struct Cookie *)malloc(sizeof(struct Cookie));
- if(newco) {
- /* first, copy the whole source cookie: */
- memcpy(newco, co, sizeof(struct Cookie));
-
- /* then modify our next */
- newco->next = mainco;
-
- /* point the main to us */
- mainco = newco;
- }
- else {
- /* failure, clear up the allocated chain and return NULL */
- while(mainco) {
- co = mainco->next;
- free(mainco);
- mainco = co;
- }
-
- return NULL;
- }
- }
- }
- }
- co = co->next;
- }
-
- return mainco; /* return the new list */
-}
-
-/*****************************************************************************
- *
- * Curl_cookie_clearall()
- *
- * Clear all existing cookies and reset the counter.
- *
- ****************************************************************************/
-void Curl_cookie_clearall(struct CookieInfo *cookies)
-{
- if(cookies) {
- Curl_cookie_freelist(cookies->cookies, TRUE);
- cookies->cookies = NULL;
- cookies->numcookies = 0;
- }
-}
-
-/*****************************************************************************
- *
- * Curl_cookie_freelist()
- *
- * Free a list of cookies previously returned by Curl_cookie_getlist();
- *
- * The 'cookiestoo' argument tells this function whether to just free the
- * list or actually also free all cookies within the list as well.
- *
- ****************************************************************************/
-
-void Curl_cookie_freelist(struct Cookie *co, bool cookiestoo)
-{
- struct Cookie *next;
- if(co) {
- while(co) {
- next = co->next;
- if(cookiestoo)
- freecookie(co);
- else
- free(co); /* we only free the struct since the "members" are all just
- pointed out in the main cookie list! */
- co = next;
- }
- }
-}
-
-
-/*****************************************************************************
- *
- * Curl_cookie_clearsess()
- *
- * Free all session cookies in the cookies list.
- *
- ****************************************************************************/
-void Curl_cookie_clearsess(struct CookieInfo *cookies)
-{
- struct Cookie *first, *curr, *next, *prev = NULL;
-
- if(!cookies->cookies)
- return;
-
- first = curr = prev = cookies->cookies;
-
- for(; curr; curr = next) {
- next = curr->next;
- if(!curr->expires) {
- if(first == curr)
- first = next;
-
- if(prev == curr)
- prev = next;
- else
- prev->next = next;
-
- freecookie(curr);
- cookies->numcookies--;
- }
- else
- prev = curr;
- }
-
- cookies->cookies = first;
-}
-
-
-/*****************************************************************************
- *
- * Curl_cookie_cleanup()
- *
- * Free a "cookie object" previous created with cookie_init().
- *
- ****************************************************************************/
-void Curl_cookie_cleanup(struct CookieInfo *c)
-{
- struct Cookie *co;
- struct Cookie *next;
- if(c) {
- if(c->filename)
- free(c->filename);
- co = c->cookies;
-
- while(co) {
- next = co->next;
- freecookie(co);
- co = next;
- }
- free(c); /* free the base struct as well */
- }
-}
-
-/* get_netscape_format()
- *
- * Formats a string for Netscape output file, w/o a newline at the end.
- *
- * Function returns a char * to a formatted line. Has to be free()d
-*/
-static char *get_netscape_format(const struct Cookie *co)
-{
- return aprintf(
- "%s" /* httponly preamble */
- "%s%s\t" /* domain */
- "%s\t" /* tailmatch */
- "%s\t" /* path */
- "%s\t" /* secure */
- "%" FORMAT_OFF_T "\t" /* expires */
- "%s\t" /* name */
- "%s", /* value */
- co->httponly?"#HttpOnly_":"",
- /* Make sure all domains are prefixed with a dot if they allow
- tailmatching. This is Mozilla-style. */
- (co->tailmatch && co->domain && co->domain[0] != '.')? ".":"",
- co->domain?co->domain:"unknown",
- co->tailmatch?"TRUE":"FALSE",
- co->path?co->path:"/",
- co->secure?"TRUE":"FALSE",
- co->expires,
- co->name,
- co->value?co->value:"");
-}
-
-/*
- * Curl_cookie_output()
- *
- * Writes all internally known cookies to the specified file. Specify
- * "-" as file name to write to stdout.
- *
- * The function returns non-zero on write failure.
- */
-int Curl_cookie_output(struct CookieInfo *c, const char *dumphere)
-{
- struct Cookie *co;
- FILE *out;
- bool use_stdout=FALSE;
-
- if((NULL == c) || (0 == c->numcookies))
- /* If there are no known cookies, we don't write or even create any
- destination file */
- return 0;
-
- if(strequal("-", dumphere)) {
- /* use stdout */
- out = stdout;
- use_stdout=TRUE;
- }
- else {
- out = fopen(dumphere, "w");
- if(!out)
- return 1; /* failure */
- }
-
- if(c) {
- char *format_ptr;
-
- fputs("# Netscape HTTP Cookie File\n"
- "# http://curl.haxx.se/rfc/cookie_spec.html\n"
- "# This file was generated by libcurl! Edit at your own risk.\n\n",
- out);
- co = c->cookies;
-
- while(co) {
- format_ptr = get_netscape_format(co);
- if(format_ptr == NULL) {
- fprintf(out, "#\n# Fatal libcurl error\n");
- fclose(out);
- return 1;
- }
- fprintf(out, "%s\n", format_ptr);
- free(format_ptr);
- co=co->next;
- }
- }
-
- if(!use_stdout)
- fclose(out);
-
- return 0;
-}
-
-struct curl_slist *Curl_cookie_list(struct SessionHandle *data)
-{
- struct curl_slist *list = NULL;
- struct curl_slist *beg;
- struct Cookie *c;
- char *line;
-
- if((data->cookies == NULL) ||
- (data->cookies->numcookies == 0))
- return NULL;
-
- c = data->cookies->cookies;
-
- beg = list;
- while(c) {
- /* fill the list with _all_ the cookies we know */
- line = get_netscape_format(c);
- if(line == NULL) {
- curl_slist_free_all(beg);
- return NULL;
- }
- list = curl_slist_append(list, line);
- free(line);
- if(list == NULL) {
- curl_slist_free_all(beg);
- return NULL;
- }
- else if(beg == NULL) {
- beg = list;
- }
- c = c->next;
- }
-
- return list;
-}
-
-#endif /* CURL_DISABLE_HTTP || CURL_DISABLE_COOKIES */
diff --git a/Utilities/cmcurl-7.19.0/lib/cookie.h b/Utilities/cmcurl-7.19.0/lib/cookie.h
deleted file mode 100644
index a1d1073..0000000
--- a/Utilities/cmcurl-7.19.0/lib/cookie.h
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef __COOKIE_H
-#define __COOKIE_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <stdio.h>
-#if defined(WIN32)
-#include <time.h>
-#else
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#endif
-
-#include <curl/curl.h>
-
-struct Cookie {
- struct Cookie *next; /* next in the chain */
- char *name; /* <this> = value */
- char *value; /* name = <this> */
- char *path; /* path = <this> */
- char *domain; /* domain = <this> */
- curl_off_t expires; /* expires = <this> */
- char *expirestr; /* the plain text version */
- bool tailmatch; /* weather we do tail-matchning of the domain name */
-
- /* RFC 2109 keywords. Version=1 means 2109-compliant cookie sending */
- char *version; /* Version = <value> */
- char *maxage; /* Max-Age = <value> */
-
- bool secure; /* whether the 'secure' keyword was used */
- bool livecookie; /* updated from a server, not a stored file */
- bool httponly; /* true if the httponly directive is present */
-};
-
-struct CookieInfo {
- /* linked list of cookies we know of */
- struct Cookie *cookies;
-
- char *filename; /* file we read from/write to */
- bool running; /* state info, for cookie adding information */
- long numcookies; /* number of cookies in the "jar" */
- bool newsession; /* new session, discard session cookies on load */
-};
-
-/* This is the maximum line length we accept for a cookie line. RFC 2109
- section 6.3 says:
-
- "at least 4096 bytes per cookie (as measured by the size of the characters
- that comprise the cookie non-terminal in the syntax description of the
- Set-Cookie header)"
-
-*/
-#define MAX_COOKIE_LINE 5000
-#define MAX_COOKIE_LINE_TXT "4999"
-
-/* This is the maximum length of a cookie name we deal with: */
-#define MAX_NAME 1024
-#define MAX_NAME_TXT "1023"
-
-struct SessionHandle;
-/*
- * Add a cookie to the internal list of cookies. The domain and path arguments
- * are only used if the header boolean is TRUE.
- */
-
-struct Cookie *Curl_cookie_add(struct SessionHandle *data,
- struct CookieInfo *, bool header, char *lineptr,
- const char *domain, const char *path);
-
-struct CookieInfo *Curl_cookie_init(struct SessionHandle *data,
- const char *, struct CookieInfo *, bool);
-struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *,
- const char *, bool);
-void Curl_cookie_freelist(struct Cookie *cookies, bool cookiestoo);
-void Curl_cookie_clearall(struct CookieInfo *cookies);
-void Curl_cookie_clearsess(struct CookieInfo *cookies);
-void Curl_cookie_cleanup(struct CookieInfo *);
-int Curl_cookie_output(struct CookieInfo *, const char *);
-
-#if defined(CURL_DISABLE_HTTP) || defined(CURL_DISABLE_COOKIES)
-#define Curl_cookie_list(x) NULL
-#define Curl_cookie_loadfiles(x) do { } while (0)
-#else
-struct curl_slist *Curl_cookie_list(struct SessionHandle *data);
-void Curl_cookie_loadfiles(struct SessionHandle *data);
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/curl_base64.h b/Utilities/cmcurl-7.19.0/lib/curl_base64.h
deleted file mode 100644
index c98fd19..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curl_base64.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __CURL_BASE64_H
-#define __CURL_BASE64_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-size_t Curl_base64_encode(struct SessionHandle *data,
- const char *input, size_t size, char **str);
-size_t Curl_base64_decode(const char *source, unsigned char **outptr);
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/curl_ldap.h b/Utilities/cmcurl-7.19.0/lib/curl_ldap.h
deleted file mode 100644
index 7813ae7..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curl_ldap.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __CURL_LDAP_H
-#define __CURL_LDAP_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_LDAP
-extern const struct Curl_handler Curl_handler_ldap;
-
-#ifdef HAVE_LDAP_SSL
-extern const struct Curl_handler Curl_handler_ldaps;
-#endif
-
-#endif
-#endif /* __CURL_LDAP_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/curl_md5.h b/Utilities/cmcurl-7.19.0/lib/curl_md5.h
deleted file mode 100644
index 19c34fb..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curl_md5.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __CURL_MD5_H
-#define __CURL_MD5_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-void Curl_md5it(unsigned char *output,
- const unsigned char *input);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/curllib.dsp b/Utilities/cmcurl-7.19.0/lib/curllib.dsp
deleted file mode 100644
index 1d49da3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curllib.dsp
+++ /dev/null
@@ -1,662 +0,0 @@
-# Microsoft Developer Studio Project File - Name="curllib" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=curllib - Win32 LIB Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "curllib.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "curllib.mak" CFG="curllib - Win32 LIB Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "curllib - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "curllib - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "curllib - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE "curllib - Win32 LIB Release" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "curllib - Win32 DLL Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "DLL-Debug"
-# PROP BASE Intermediate_Dir "DLL-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "DLL-Debug"
-# PROP Intermediate_Dir "DLL-Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /GZ /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"DLL-Debug/libcurld.dll" /implib:"DLL-Debug/libcurld_imp.lib" /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"DLL-Debug/libcurld.dll" /implib:"DLL-Debug/libcurld_imp.lib" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "curllib - Win32 DLL Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "DLL-Release"
-# PROP BASE Intermediate_Dir "DLL-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "DLL-Release"
-# PROP Intermediate_Dir "DLL-Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /pdb:none /machine:I386 /out:"DLL-Release/libcurl.dll" /implib:"DLL-Release/libcurl_imp.lib"
-# ADD LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /pdb:none /machine:I386 /out:"DLL-Release/libcurl.dll" /implib:"DLL-Release/libcurl_imp.lib"
-
-!ELSEIF "$(CFG)" == "curllib - Win32 LIB Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "LIB-Debug"
-# PROP BASE Intermediate_Dir "LIB-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "LIB-Debug"
-# PROP Intermediate_Dir "LIB-Debug"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /GZ /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"LIB-Debug/libcurld.lib" /machine:I386
-# ADD LIB32 /nologo /out:"LIB-Debug/libcurld.lib" /machine:I386
-
-!ELSEIF "$(CFG)" == "curllib - Win32 LIB Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "LIB-Release"
-# PROP BASE Intermediate_Dir "LIB-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "LIB-Release"
-# PROP Intermediate_Dir "LIB-Release"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"LIB-Release/libcurl.lib" /machine:I386
-# ADD LIB32 /nologo /out:"LIB-Release/libcurl.lib" /machine:I386
-
-!ENDIF
-
-# Begin Target
-
-# Name "curllib - Win32 DLL Debug"
-# Name "curllib - Win32 DLL Release"
-# Name "curllib - Win32 LIB Debug"
-# Name "curllib - Win32 LIB Release"
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\base64.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\connect.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\content_encoding.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\cookie.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dict.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\easy.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\escape.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\file.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\formdata.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ftp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getenv.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\gtls.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hash.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostares.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostasyn.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostip4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostip6.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostip.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostsyn.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostthre.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\http.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_chunks.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_digest.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_negotiate.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_ntlm.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\if2ip.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\inet_ntop.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\inet_pton.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\krb4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\krb5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ldap.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\llist.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\md5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\memdebug.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mprintf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\multi.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\netrc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\nss.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\parsedate.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\progress.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\qssl.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\security.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\select.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sendf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\share.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\socks.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\speedcheck.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\splay.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssh.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sslgen.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssluse.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strdup.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strequal.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strerror.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strtok.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strtoofft.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\telnet.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tftp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\timeval.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\transfer.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\url.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\version.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\arpa_telnet.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\config-win32.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\connect.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\content_encoding.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\cookie.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\curl_base64.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\curl_ldap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\curl_md5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\curlx.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\easyif.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\escape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\file.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\formdata.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ftp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\getinfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\gtls.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\hash.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\hostip.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_chunks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_digest.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\http.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_negotiate.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\http_ntlm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\if2ip.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inet_ntoa_r.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inet_ntop.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inet_pton.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\krb4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\llist.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\memdebug.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\memory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multiif.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\netrc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\nssg.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\parsedate.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\progress.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\qssl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\select.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sendf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setup.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setup_once.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\share.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sockaddr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\socks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\speedcheck.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\splay.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssh.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sslgen.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssluse.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\strdup.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\strequal.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\strerror.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\strtok.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\strtoofft.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\telnet.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tftp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\timeval.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\transfer.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\urldata.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\url.h
-# End Source File
-# End Group
-
-# Begin Group "Resource Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\libcurl.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/Utilities/cmcurl-7.19.0/lib/curllib.dsw b/Utilities/cmcurl-7.19.0/lib/curllib.dsw
deleted file mode 100644
index 4d59ca3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curllib.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "curllib"=".\curllib.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Utilities/cmcurl-7.19.0/lib/curllib.vcproj b/Utilities/cmcurl-7.19.0/lib/curllib.vcproj
deleted file mode 100644
index 430e39a..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curllib.vcproj
+++ /dev/null
@@ -1,241 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="curllib"
- ProjectGUID="{87EE9DA4-DE1E-4448-8324-183C98DCA588}"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="4"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool Name="VCPreBuildEventTool"
- />
- <Tool Name="VCCustomBuildTool"
- />
- <Tool Name="VCXMLDataGeneratorTool"
- />
- <Tool Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="true" SuppressStartupBanner="true" TargetEnvironment="1" TypeLibraryName=".\Release/curllib.tlb" HeaderFileName=""
- />
- <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories=".,..\include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;BUILDING_LIBCURL" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" PrecompiledHeaderFile=".\Release/curllib.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" BrowseInformation="1" WarningLevel="0" SuppressStartupBanner="true" DebugInformationFormat="3"
- />
- <Tool Name="VCManagedResourceCompilerTool"
- />
- <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"
- />
- <Tool Name="VCPreLinkEventTool"
- />
- <Tool Name="VCLibrarianTool"
- />
- <Tool Name="VCALinkTool"
- />
- <Tool Name="VCXDCMakeTool"
- />
- <Tool Name="VCBscMakeTool" SuppressStartupBanner="true" OutputFile=".\Release/curllib.bsc"
- />
- <Tool Name="VCFxCopTool"
- />
- <Tool Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="4"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool Name="VCPreBuildEventTool"
- />
- <Tool Name="VCCustomBuildTool"
- />
- <Tool Name="VCXMLDataGeneratorTool"
- />
- <Tool Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="true" SuppressStartupBanner="true" TargetEnvironment="1" TypeLibraryName=".\Debug/curllib.tlb" HeaderFileName=""
- />
- <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=".,..\include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;BUILDING_LIBCURL" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" PrecompiledHeaderFile=".\Debug/curllib.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" BrowseInformation="1" WarningLevel="0" SuppressStartupBanner="true" DebugInformationFormat="3"
- />
- <Tool Name="VCManagedResourceCompilerTool"
- />
- <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"
- />
- <Tool Name="VCPreLinkEventTool"
- />
- <Tool Name="VCLibrarianTool"
- />
- <Tool Name="VCALinkTool"
- />
- <Tool Name="VCXDCMakeTool"
- />
- <Tool Name="VCBscMakeTool" SuppressStartupBanner="true" OutputFile=".\Debug/curllib.bsc"
- />
- <Tool Name="VCFxCopTool"
- />
- <Tool Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- >
-
-<File RelativePath="base64.c"></File>
-<File RelativePath="connect.c"></File>
-<File RelativePath="content_encoding.c"></File>
-<File RelativePath="cookie.c"></File>
-<File RelativePath="dict.c"></File>
-<File RelativePath="easy.c"></File>
-<File RelativePath="escape.c"></File>
-<File RelativePath="file.c"></File>
-<File RelativePath="formdata.c"></File>
-<File RelativePath="ftp.c"></File>
-<File RelativePath="getenv.c"></File>
-<File RelativePath="getinfo.c"></File>
-<File RelativePath="gtls.c"></File>
-<File RelativePath="hash.c"></File>
-<File RelativePath="hostares.c"></File>
-<File RelativePath="hostasyn.c"></File>
-<File RelativePath="hostip4.c"></File>
-<File RelativePath="hostip6.c"></File>
-<File RelativePath="hostip.c"></File>
-<File RelativePath="hostsyn.c"></File>
-<File RelativePath="hostthre.c"></File>
-<File RelativePath="http.c"></File>
-<File RelativePath="http_chunks.c"></File>
-<File RelativePath="http_digest.c"></File>
-<File RelativePath="http_negotiate.c"></File>
-<File RelativePath="http_ntlm.c"></File>
-<File RelativePath="if2ip.c"></File>
-<File RelativePath="inet_ntop.c"></File>
-<File RelativePath="inet_pton.c"></File>
-<File RelativePath="krb4.c"></File>
-<File RelativePath="krb5.c"></File>
-<File RelativePath="ldap.c"></File>
-<File RelativePath="llist.c"></File>
-<File RelativePath="md5.c"></File>
-<File RelativePath="memdebug.c"></File>
-<File RelativePath="mprintf.c"></File>
-<File RelativePath="multi.c"></File>
-<File RelativePath="netrc.c"></File>
-<File RelativePath="nss.c"></File>
-<File RelativePath="parsedate.c"></File>
-<File RelativePath="progress.c"></File>
-<File RelativePath="qssl.c"></File>
-<File RelativePath="security.c"></File>
-<File RelativePath="select.c"></File>
-<File RelativePath="sendf.c"></File>
-<File RelativePath="share.c"></File>
-<File RelativePath="socks.c"></File>
-<File RelativePath="speedcheck.c"></File>
-<File RelativePath="splay.c"></File>
-<File RelativePath="ssh.c"></File>
-<File RelativePath="sslgen.c"></File>
-<File RelativePath="ssluse.c"></File>
-<File RelativePath="strdup.c"></File>
-<File RelativePath="strequal.c"></File>
-<File RelativePath="strerror.c"></File>
-<File RelativePath="strtok.c"></File>
-<File RelativePath="strtoofft.c"></File>
-<File RelativePath="telnet.c"></File>
-<File RelativePath="tftp.c"></File>
-<File RelativePath="timeval.c"></File>
-<File RelativePath="transfer.c"></File>
-<File RelativePath="url.c"></File>
-<File RelativePath="version.c"></File>
-</Filter><Filter Name="Header Files">
-<File RelativePath="arpa_telnet.h"></File>
-<File RelativePath="config-win32.h"></File>
-<File RelativePath="connect.h"></File>
-<File RelativePath="content_encoding.h"></File>
-<File RelativePath="cookie.h"></File>
-<File RelativePath="curl_base64.h"></File>
-<File RelativePath="curl_ldap.h"></File>
-<File RelativePath="curl_md5.h"></File>
-<File RelativePath="curlx.h"></File>
-<File RelativePath="dict.h"></File>
-<File RelativePath="easyif.h"></File>
-<File RelativePath="escape.h"></File>
-<File RelativePath="file.h"></File>
-<File RelativePath="formdata.h"></File>
-<File RelativePath="ftp.h"></File>
-<File RelativePath="getinfo.h"></File>
-<File RelativePath="gtls.h"></File>
-<File RelativePath="hash.h"></File>
-<File RelativePath="hostip.h"></File>
-<File RelativePath="http_chunks.h"></File>
-<File RelativePath="http_digest.h"></File>
-<File RelativePath="http.h"></File>
-<File RelativePath="http_negotiate.h"></File>
-<File RelativePath="http_ntlm.h"></File>
-<File RelativePath="if2ip.h"></File>
-<File RelativePath="inet_ntoa_r.h"></File>
-<File RelativePath="inet_ntop.h"></File>
-<File RelativePath="inet_pton.h"></File>
-<File RelativePath="krb4.h"></File>
-<File RelativePath="llist.h"></File>
-<File RelativePath="memdebug.h"></File>
-<File RelativePath="memory.h"></File>
-<File RelativePath="multiif.h"></File>
-<File RelativePath="netrc.h"></File>
-<File RelativePath="nssg.h"></File>
-<File RelativePath="parsedate.h"></File>
-<File RelativePath="progress.h"></File>
-<File RelativePath="qssl.h"></File>
-<File RelativePath="select.h"></File>
-<File RelativePath="sendf.h"></File>
-<File RelativePath="setup.h"></File>
-<File RelativePath="setup_once.h"></File>
-<File RelativePath="share.h"></File>
-<File RelativePath="sockaddr.h"></File>
-<File RelativePath="socks.h"></File>
-<File RelativePath="speedcheck.h"></File>
-<File RelativePath="splay.h"></File>
-<File RelativePath="ssh.h"></File>
-<File RelativePath="sslgen.h"></File>
-<File RelativePath="ssluse.h"></File>
-<File RelativePath="strdup.h"></File>
-<File RelativePath="strequal.h"></File>
-<File RelativePath="strerror.h"></File>
-<File RelativePath="strtok.h"></File>
-<File RelativePath="strtoofft.h"></File>
-<File RelativePath="telnet.h"></File>
-<File RelativePath="tftp.h"></File>
-<File RelativePath="timeval.h"></File>
-<File RelativePath="transfer.h"></File>
-<File RelativePath="urldata.h"></File>
-<File RelativePath="url.h"></File>
-
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/Utilities/cmcurl-7.19.0/lib/curlx.h b/Utilities/cmcurl-7.19.0/lib/curlx.h
deleted file mode 100644
index 26948d3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/curlx.h
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef __CURLX_H
-#define __CURLX_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Defines protos and includes all header files that provide the curlx_*
- * functions. The curlx_* functions are not part of the libcurl API, but are
- * stand-alone functions whose sources can be built and linked by apps if need
- * be.
- */
-
-#include <curl/mprintf.h>
-/* this is still a public header file that provides the curl_mprintf()
- functions while they still are offered publicly. They will be made library-
- private one day */
-
-#include "strequal.h"
-/* "strequal.h" provides the strequal protos */
-
-#include "strtoofft.h"
-/* "strtoofft.h" provides this function: curlx_strtoofft(), returns a
- curl_off_t number from a given string.
-*/
-
-#include "timeval.h"
-/*
- "timeval.h" sets up a 'struct timeval' even for platforms that otherwise
- don't have one and has protos for these functions:
-
- curlx_tvnow()
- curlx_tvdiff()
- curlx_tvdiff_secs()
-*/
-
-/* Now setup curlx_ * names for the functions that are to become curlx_ and
- be removed from a future libcurl official API:
- curlx_getenv
- curlx_mprintf (and its variations)
- curlx_strequal
- curlx_strnequal
-
-*/
-
-#define curlx_getenv curl_getenv
-#define curlx_strequal curl_strequal
-#define curlx_strnequal curl_strnequal
-#define curlx_mvsnprintf curl_mvsnprintf
-#define curlx_msnprintf curl_msnprintf
-#define curlx_maprintf curl_maprintf
-#define curlx_mvaprintf curl_mvaprintf
-#define curlx_msprintf curl_msprintf
-#define curlx_mprintf curl_mprintf
-#define curlx_mfprintf curl_mfprintf
-#define curlx_mvsprintf curl_mvsprintf
-#define curlx_mvprintf curl_mvprintf
-#define curlx_mvfprintf curl_mvfprintf
-
-#ifdef ENABLE_CURLX_PRINTF
-/* If this define is set, we define all "standard" printf() functions to use
- the curlx_* version instead. It makes the source code transparant and
- easier to understand/patch. Undefine them first in case _MPRINTF_REPLACE
- is set. */
-# undef printf
-# undef fprintf
-# undef sprintf
-# undef snprintf
-# undef vprintf
-# undef vfprintf
-# undef vsprintf
-# undef vsnprintf
-# undef aprintf
-# undef vaprintf
-
-# define printf curlx_mprintf
-# define fprintf curlx_mfprintf
-# define sprintf curlx_msprintf
-# define snprintf curlx_msnprintf
-# define vprintf curlx_mvprintf
-# define vfprintf curlx_mvfprintf
-# define vsprintf curlx_mvsprintf
-# define vsnprintf curlx_mvsnprintf
-# define aprintf curlx_maprintf
-# define vaprintf curlx_mvaprintf
-#endif /* ENABLE_CURLX_PRINTF */
-
-#endif /* __CURLX_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/dict.c b/Utilities/cmcurl-7.19.0/lib/dict.c
deleted file mode 100644
index cf5d7d6..0000000
--- a/Utilities/cmcurl-7.19.0/lib/dict.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_DICT
-
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#ifdef WIN32
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#include <netinet/in.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <netdb.h>
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#include <sys/ioctl.h>
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-
-
-#endif
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "transfer.h"
-#include "sendf.h"
-
-#include "progress.h"
-#include "strequal.h"
-#include "dict.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-
-/*
- * Forward declarations.
- */
-
-static CURLcode dict_do(struct connectdata *conn, bool *done);
-
-/*
- * DICT protocol handler.
- */
-
-const struct Curl_handler Curl_handler_dict = {
- "DICT", /* scheme */
- ZERO_NULL, /* setup_connection */
- dict_do, /* do_it */
- ZERO_NULL, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_DICT, /* defport */
- PROT_DICT /* protocol */
-};
-
-static char *unescape_word(struct SessionHandle *data, const char *inp)
-{
- char *newp;
- char *dictp;
- char *ptr;
- int len;
- char byte;
- int olen=0;
-
- newp = curl_easy_unescape(data, inp, 0, &len);
- if(!newp)
- return NULL;
-
- dictp = malloc(len*2 + 1); /* add one for terminating zero */
- if(dictp) {
- /* According to RFC2229 section 2.2, these letters need to be escaped with
- \[letter] */
- for(ptr = newp;
- (byte = *ptr) != 0;
- ptr++) {
- if((byte <= 32) || (byte == 127) ||
- (byte == '\'') || (byte == '\"') || (byte == '\\')) {
- dictp[olen++] = '\\';
- }
- dictp[olen++] = byte;
- }
- dictp[olen]=0;
-
- free(newp);
- }
- return dictp;
-}
-
-static CURLcode dict_do(struct connectdata *conn, bool *done)
-{
- char *word;
- char *eword;
- char *ppath;
- char *database = NULL;
- char *strategy = NULL;
- char *nthdef = NULL; /* This is not part of the protocol, but required
- by RFC 2229 */
- CURLcode result=CURLE_OK;
- struct SessionHandle *data=conn->data;
- curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
-
- char *path = data->state.path;
- curl_off_t *bytecount = &data->req.bytecount;
-
- *done = TRUE; /* unconditionally */
-
- if(conn->bits.user_passwd) {
- /* AUTH is missing */
- }
-
- if(strnequal(path, DICT_MATCH, sizeof(DICT_MATCH)-1) ||
- strnequal(path, DICT_MATCH2, sizeof(DICT_MATCH2)-1) ||
- strnequal(path, DICT_MATCH3, sizeof(DICT_MATCH3)-1)) {
-
- word = strchr(path, ':');
- if(word) {
- word++;
- database = strchr(word, ':');
- if(database) {
- *database++ = (char)0;
- strategy = strchr(database, ':');
- if(strategy) {
- *strategy++ = (char)0;
- nthdef = strchr(strategy, ':');
- if(nthdef) {
- *nthdef++ = (char)0;
- }
- }
- }
- }
-
- if((word == NULL) || (*word == (char)0)) {
- infof(data, "lookup word is missing");
- word=(char *)"default";
- }
- if((database == NULL) || (*database == (char)0)) {
- database = (char *)"!";
- }
- if((strategy == NULL) || (*strategy == (char)0)) {
- strategy = (char *)".";
- }
-
- eword = unescape_word(data, word);
- if(!eword)
- return CURLE_OUT_OF_MEMORY;
-
- result = Curl_sendf(sockfd, conn,
- "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\r\n"
- "MATCH "
- "%s " /* database */
- "%s " /* strategy */
- "%s\r\n" /* word */
- "QUIT\r\n",
-
- database,
- strategy,
- eword
- );
-
- free(eword);
-
- if(result)
- failf(data, "Failed sending DICT request");
- else
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, FALSE, bytecount,
- -1, NULL); /* no upload */
- if(result)
- return result;
- }
- else if(strnequal(path, DICT_DEFINE, sizeof(DICT_DEFINE)-1) ||
- strnequal(path, DICT_DEFINE2, sizeof(DICT_DEFINE2)-1) ||
- strnequal(path, DICT_DEFINE3, sizeof(DICT_DEFINE3)-1)) {
-
- word = strchr(path, ':');
- if(word) {
- word++;
- database = strchr(word, ':');
- if(database) {
- *database++ = (char)0;
- nthdef = strchr(database, ':');
- if(nthdef) {
- *nthdef++ = (char)0;
- }
- }
- }
-
- if((word == NULL) || (*word == (char)0)) {
- infof(data, "lookup word is missing");
- word=(char *)"default";
- }
- if((database == NULL) || (*database == (char)0)) {
- database = (char *)"!";
- }
-
- eword = unescape_word(data, word);
- if(!eword)
- return CURLE_OUT_OF_MEMORY;
-
- result = Curl_sendf(sockfd, conn,
- "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\r\n"
- "DEFINE "
- "%s " /* database */
- "%s\r\n" /* word */
- "QUIT\r\n",
- database,
- eword);
-
- free(eword);
-
- if(result)
- failf(data, "Failed sending DICT request");
- else
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, FALSE, bytecount,
- -1, NULL); /* no upload */
-
- if(result)
- return result;
-
- }
- else {
-
- ppath = strchr(path, '/');
- if(ppath) {
- int i;
-
- ppath++;
- for (i = 0; ppath[i]; i++) {
- if(ppath[i] == ':')
- ppath[i] = ' ';
- }
- result = Curl_sendf(sockfd, conn,
- "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\r\n"
- "%s\r\n"
- "QUIT\r\n", ppath);
- if(result)
- failf(data, "Failed sending DICT request");
- else
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, FALSE, bytecount,
- -1, NULL);
- if(result)
- return result;
- }
- }
-
- return CURLE_OK;
-}
-#endif /*CURL_DISABLE_DICT*/
diff --git a/Utilities/cmcurl-7.19.0/lib/dict.h b/Utilities/cmcurl-7.19.0/lib/dict.h
deleted file mode 100644
index eb4fb9d..0000000
--- a/Utilities/cmcurl-7.19.0/lib/dict.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __DICT_H
-#define __DICT_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_DICT
-extern const struct Curl_handler Curl_handler_dict;
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/easy.c b/Utilities/cmcurl-7.19.0/lib/easy.c
deleted file mode 100644
index d83a885..0000000
--- a/Utilities/cmcurl-7.19.0/lib/easy.c
+++ /dev/null
@@ -1,1173 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include "strequal.h"
-
-#ifdef WIN32
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#endif /* WIN32 ... */
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "transfer.h"
-#include "sslgen.h"
-#include "url.h"
-#include "getinfo.h"
-#include "hostip.h"
-#include "share.h"
-#include "strdup.h"
-#include "memory.h"
-#include "progress.h"
-#include "easyif.h"
-#include "select.h"
-#include "sendf.h" /* for failf function prototype */
-#include "http_ntlm.h"
-#include "connect.h" /* for Curl_getconnectinfo */
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
-#include <iconv.h>
-/* set default codesets for iconv */
-#ifndef CURL_ICONV_CODESET_OF_NETWORK
-#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-#endif
-#ifndef CURL_ICONV_CODESET_FOR_UTF8
-#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
-#endif
-#define ICONV_ERROR (size_t)-1
-#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* win32_cleanup() is for win32 socket cleanup functionality, the opposite
- of win32_init() */
-static void win32_cleanup(void)
-{
-#ifdef USE_WINSOCK
- WSACleanup();
-#endif
-#ifdef USE_WINDOWS_SSPI
- Curl_ntlm_global_cleanup();
-#endif
-}
-
-/* win32_init() performs win32 socket initialization to properly setup the
- stack to allow networking */
-static CURLcode win32_init(void)
-{
-#ifdef USE_WINSOCK
- WORD wVersionRequested;
- WSADATA wsaData;
- int err;
-
-#if defined(ENABLE_IPV6) && (USE_WINSOCK < 2)
- Error IPV6_requires_winsock2
-#endif
-
- wVersionRequested = MAKEWORD(USE_WINSOCK, USE_WINSOCK);
-
- err = WSAStartup(wVersionRequested, &wsaData);
-
- if(err != 0)
- /* Tell the user that we couldn't find a useable */
- /* winsock.dll. */
- return CURLE_FAILED_INIT;
-
- /* Confirm that the Windows Sockets DLL supports what we need.*/
- /* Note that if the DLL supports versions greater */
- /* than wVersionRequested, it will still return */
- /* wVersionRequested in wVersion. wHighVersion contains the */
- /* highest supported version. */
-
- if( LOBYTE( wsaData.wVersion ) != LOBYTE(wVersionRequested) ||
- HIBYTE( wsaData.wVersion ) != HIBYTE(wVersionRequested) ) {
- /* Tell the user that we couldn't find a useable */
-
- /* winsock.dll. */
- WSACleanup();
- return CURLE_FAILED_INIT;
- }
- /* The Windows Sockets DLL is acceptable. Proceed. */
-#endif
-
-#ifdef USE_WINDOWS_SSPI
- {
- CURLcode err = Curl_ntlm_global_init();
- if (err != CURLE_OK)
- return err;
- }
-#endif
-
- return CURLE_OK;
-}
-
-#ifdef USE_LIBIDN
-/*
- * Initialise use of IDNA library.
- * It falls back to ASCII if $CHARSET isn't defined. This doesn't work for
- * idna_to_ascii_lz().
- */
-static void idna_init (void)
-{
-#ifdef WIN32
- char buf[60];
- UINT cp = GetACP();
-
- if(!getenv("CHARSET") && cp > 0) {
- snprintf(buf, sizeof(buf), "CHARSET=cp%u", cp);
- putenv(buf);
- }
-#else
- /* to do? */
-#endif
-}
-#endif /* USE_LIBIDN */
-
-/* true globals -- for curl_global_init() and curl_global_cleanup() */
-static unsigned int initialized;
-static long init_flags;
-
-/*
- * strdup (and other memory functions) is redefined in complicated
- * ways, but at this point it must be defined as the system-supplied strdup
- * so the callback pointer is initialized correctly.
- */
-#if defined(_WIN32_WCE)
-#define system_strdup _strdup
-#elif !defined(HAVE_STRDUP)
-#define system_strdup curlx_strdup
-#else
-#define system_strdup strdup
-#endif
-
-#if defined(_MSC_VER) && defined(_DLL)
-# pragma warning(disable:4232) /* MSVC extension, dllimport identity */
-#endif
-
-#ifndef __SYMBIAN32__
-/*
- * If a memory-using function (like curl_getenv) is used before
- * curl_global_init() is called, we need to have these pointers set already.
- */
-curl_malloc_callback Curl_cmalloc = (curl_malloc_callback)malloc;
-curl_free_callback Curl_cfree = (curl_free_callback)free;
-curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc;
-curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)system_strdup;
-curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
-#else
-/*
- * Symbian OS doesn't support initialization to code in writeable static data.
- * Initialization will occur in the curl_global_init() call.
- */
-curl_malloc_callback Curl_cmalloc;
-curl_free_callback Curl_cfree;
-curl_realloc_callback Curl_crealloc;
-curl_strdup_callback Curl_cstrdup;
-curl_calloc_callback Curl_ccalloc;
-#endif
-
-#if defined(_MSC_VER) && defined(_DLL)
-# pragma warning(default:4232) /* MSVC extension, dllimport identity */
-#endif
-
-/**
- * curl_global_init() globally initializes cURL given a bitwise set of the
- * different features of what to initialize.
- */
-CURLcode curl_global_init(long flags)
-{
- if(initialized++)
- return CURLE_OK;
-
- /* Setup the default memory functions here (again) */
- Curl_cmalloc = (curl_malloc_callback)malloc;
- Curl_cfree = (curl_free_callback)free;
- Curl_crealloc = (curl_realloc_callback)realloc;
- Curl_cstrdup = (curl_strdup_callback)system_strdup;
- Curl_ccalloc = (curl_calloc_callback)calloc;
-
- if(flags & CURL_GLOBAL_SSL)
- if(!Curl_ssl_init()) {
- DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n"));
- return CURLE_FAILED_INIT;
- }
-
- if(flags & CURL_GLOBAL_WIN32)
- if(win32_init() != CURLE_OK) {
- DEBUGF(fprintf(stderr, "Error: win32_init failed\n"));
- return CURLE_FAILED_INIT;
- }
-
-#ifdef __AMIGA__
- if(!amiga_init()) {
- DEBUGF(fprintf(stderr, "Error: amiga_init failed\n"));
- return CURLE_FAILED_INIT;
- }
-#endif
-
-#ifdef NETWARE
- if(netware_init()) {
- DEBUGF(fprintf(stderr, "Warning: LONG namespace not available\n"));
- }
-#endif
-
-#ifdef USE_LIBIDN
- idna_init();
-#endif
-
- init_flags = flags;
-
- return CURLE_OK;
-}
-
-/*
- * curl_global_init_mem() globally initializes cURL and also registers the
- * user provided callback routines.
- */
-CURLcode curl_global_init_mem(long flags, curl_malloc_callback m,
- curl_free_callback f, curl_realloc_callback r,
- curl_strdup_callback s, curl_calloc_callback c)
-{
- CURLcode code = CURLE_OK;
-
- /* Invalid input, return immediately */
- if(!m || !f || !r || !s || !c)
- return CURLE_FAILED_INIT;
-
- /* Already initialized, don't do it again */
- if( initialized )
- return CURLE_OK;
-
- /* Call the actual init function first */
- code = curl_global_init(flags);
- if(code == CURLE_OK) {
- Curl_cmalloc = m;
- Curl_cfree = f;
- Curl_cstrdup = s;
- Curl_crealloc = r;
- Curl_ccalloc = c;
- }
-
- return code;
-}
-
-/**
- * curl_global_cleanup() globally cleanups cURL, uses the value of
- * "init_flags" to determine what needs to be cleaned up and what doesn't.
- */
-void curl_global_cleanup(void)
-{
- if(!initialized)
- return;
-
- if(--initialized)
- return;
-
- Curl_global_host_cache_dtor();
-
- if(init_flags & CURL_GLOBAL_SSL)
- Curl_ssl_cleanup();
-
- if(init_flags & CURL_GLOBAL_WIN32)
- win32_cleanup();
-
-#ifdef __AMIGA__
- amiga_cleanup();
-#endif
-
- init_flags = 0;
-}
-
-/*
- * curl_easy_init() is the external interface to alloc, setup and init an
- * easy handle that is returned. If anything goes wrong, NULL is returned.
- */
-CURL *curl_easy_init(void)
-{
- CURLcode res;
- struct SessionHandle *data;
-
- /* Make sure we inited the global SSL stuff */
- if(!initialized) {
- res = curl_global_init(CURL_GLOBAL_DEFAULT);
- if(res) {
- /* something in the global init failed, return nothing */
- DEBUGF(fprintf(stderr, "Error: curl_global_init failed\n"));
- return NULL;
- }
- }
-
- /* We use curl_open() with undefined URL so far */
- res = Curl_open(&data);
- if(res != CURLE_OK) {
- DEBUGF(fprintf(stderr, "Error: Curl_open failed\n"));
- return NULL;
- }
-
- return data;
-}
-
-/*
- * curl_easy_setopt() is the external interface for setting options on an
- * easy handle.
- */
-
-#undef curl_easy_setopt
-CURLcode curl_easy_setopt(CURL *curl, CURLoption tag, ...)
-{
- va_list arg;
- struct SessionHandle *data = curl;
- CURLcode ret;
-
- if(!curl)
- return CURLE_BAD_FUNCTION_ARGUMENT;
-
- va_start(arg, tag);
-
- ret = Curl_setopt(data, tag, arg);
-
- va_end(arg);
- return ret;
-}
-
-#ifdef CURL_MULTIEASY
-/***************************************************************************
- * This function is still only for testing purposes. It makes a great way
- * to run the full test suite on the multi interface instead of the easy one.
- ***************************************************************************
- *
- * The *new* curl_easy_perform() is the external interface that performs a
- * transfer previously setup.
- *
- * Wrapper-function that: creates a multi handle, adds the easy handle to it,
- * runs curl_multi_perform() until the transfer is done, then detaches the
- * easy handle, destroys the multi handle and returns the easy handle's return
- * code. This will make everything internally use and assume multi interface.
- */
-CURLcode curl_easy_perform(CURL *easy)
-{
- CURLM *multi;
- CURLMcode mcode;
- CURLcode code = CURLE_OK;
- int still_running;
- struct timeval timeout;
- int rc;
- CURLMsg *msg;
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- if(!easy)
- return CURLE_BAD_FUNCTION_ARGUMENT;
-
- multi = curl_multi_init();
- if(!multi)
- return CURLE_OUT_OF_MEMORY;
-
- mcode = curl_multi_add_handle(multi, easy);
- if(mcode) {
- curl_multi_cleanup(multi);
- if(mcode == CURLM_OUT_OF_MEMORY)
- return CURLE_OUT_OF_MEMORY;
- else
- return CURLE_FAILED_INIT;
- }
-
- /* we start some action by calling perform right away */
-
- do {
- while(CURLM_CALL_MULTI_PERFORM ==
- curl_multi_perform(multi, &still_running));
-
- if(!still_running)
- break;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* timeout once per second */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- /* Old deprecated style: get file descriptors from the transfers */
- curl_multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd);
- rc = Curl_select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- /* The way is to extract the sockets and wait for them without using
- select. This whole alternative version should probably rather use the
- curl_multi_socket() approach. */
-
- if(rc == -1)
- /* select error */
- break;
-
- /* timeout or data to send/receive => loop! */
- } while(still_running);
-
- msg = curl_multi_info_read(multi, &rc);
- if(msg)
- code = msg->data.result;
-
- mcode = curl_multi_remove_handle(multi, easy);
- /* what to do if it fails? */
-
- mcode = curl_multi_cleanup(multi);
- /* what to do if it fails? */
-
- return code;
-}
-#else
-/*
- * curl_easy_perform() is the external interface that performs a transfer
- * previously setup.
- */
-CURLcode curl_easy_perform(CURL *curl)
-{
- struct SessionHandle *data = (struct SessionHandle *)curl;
-
- if(!data)
- return CURLE_BAD_FUNCTION_ARGUMENT;
-
- if( ! (data->share && data->share->hostcache) ) {
- /* this handle is not using a shared dns cache */
-
- if(data->set.global_dns_cache &&
- (data->dns.hostcachetype != HCACHE_GLOBAL)) {
- /* global dns cache was requested but still isn't */
- struct curl_hash *ptr;
-
- if(data->dns.hostcachetype == HCACHE_PRIVATE)
- /* if the current cache is private, kill it first */
- Curl_hash_destroy(data->dns.hostcache);
-
- ptr = Curl_global_host_cache_init();
- if(ptr) {
- /* only do this if the global cache init works */
- data->dns.hostcache = ptr;
- data->dns.hostcachetype = HCACHE_GLOBAL;
- }
- }
-
- if(!data->dns.hostcache) {
- data->dns.hostcachetype = HCACHE_PRIVATE;
- data->dns.hostcache = Curl_mk_dnscache();
-
- if(!data->dns.hostcache)
- /* While we possibly could survive and do good without a host cache,
- the fact that creating it failed indicates that things are truly
- screwed up and we should bail out! */
- return CURLE_OUT_OF_MEMORY;
- }
-
- }
-
- if(!data->state.connc) {
- /* oops, no connection cache, make one up */
- data->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, -1);
- if(!data->state.connc)
- return CURLE_OUT_OF_MEMORY;
- }
-
- return Curl_perform(data);
-}
-#endif
-
-/*
- * curl_easy_cleanup() is the external interface to cleaning/freeing the given
- * easy handle.
- */
-void curl_easy_cleanup(CURL *curl)
-{
- struct SessionHandle *data = (struct SessionHandle *)curl;
-
- if(!data)
- return;
-
- Curl_close(data);
-}
-
-/*
- * Store a pointed to the multi handle within the easy handle's data struct.
- */
-void Curl_easy_addmulti(struct SessionHandle *data,
- void *multi)
-{
- data->multi = multi;
- if(multi == NULL)
- /* the association is cleared, mark the easy handle as not used by an
- interface */
- data->state.used_interface = Curl_if_none;
-}
-
-void Curl_easy_initHandleData(struct SessionHandle *data)
-{
- memset(&data->req, 0, sizeof(struct SingleRequest));
-
- data->req.maxdownload = -1;
-}
-
-/*
- * curl_easy_getinfo() is an external interface that allows an app to retrieve
- * information from a performed transfer and similar.
- */
-#undef curl_easy_getinfo
-CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...)
-{
- va_list arg;
- void *paramp;
- struct SessionHandle *data = (struct SessionHandle *)curl;
-
- va_start(arg, info);
- paramp = va_arg(arg, void *);
-
- return Curl_getinfo(data, info, paramp);
-}
-
-/*
- * curl_easy_duphandle() is an external interface to allow duplication of a
- * given input easy handle. The returned handle will be a new working handle
- * with all options set exactly as the input source handle.
- */
-CURL *curl_easy_duphandle(CURL *incurl)
-{
- bool fail = TRUE;
- struct SessionHandle *data=(struct SessionHandle *)incurl;
-
- struct SessionHandle *outcurl = (struct SessionHandle *)
- calloc(sizeof(struct SessionHandle), 1);
-
- if(NULL == outcurl)
- return NULL; /* failure */
-
- do {
-
- /*
- * We setup a few buffers we need. We should probably make them
- * get setup on-demand in the code, as that would probably decrease
- * the likeliness of us forgetting to init a buffer here in the future.
- */
- outcurl->state.headerbuff=(char*)malloc(HEADERSIZE);
- if(!outcurl->state.headerbuff) {
- break;
- }
- outcurl->state.headersize=HEADERSIZE;
-
- /* copy all userdefined values */
- if(Curl_dupset(outcurl, data) != CURLE_OK)
- break;
-
- if(data->state.used_interface == Curl_if_multi)
- outcurl->state.connc = data->state.connc;
- else
- outcurl->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, -1);
-
- if(!outcurl->state.connc)
- break;
-
- outcurl->state.lastconnect = -1;
-
- outcurl->progress.flags = data->progress.flags;
- outcurl->progress.callback = data->progress.callback;
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
- if(data->cookies) {
- /* If cookies are enabled in the parent handle, we enable them
- in the clone as well! */
- outcurl->cookies = Curl_cookie_init(data,
- data->cookies->filename,
- outcurl->cookies,
- data->set.cookiesession);
- if(!outcurl->cookies) {
- break;
- }
- }
-#endif /* CURL_DISABLE_HTTP */
-
- /* duplicate all values in 'change' */
-
- if(data->change.url) {
- outcurl->change.url = strdup(data->change.url);
- if(!outcurl->change.url)
- break;
- outcurl->change.url_alloc = TRUE;
- }
-
- if(data->change.referer) {
- outcurl->change.referer = strdup(data->change.referer);
- if(!outcurl->change.referer)
- break;
- outcurl->change.referer_alloc = TRUE;
- }
-
-#ifdef USE_ARES
- /* If we use ares, we setup a new ares channel for the new handle */
- if(ARES_SUCCESS != ares_init(&outcurl->state.areschannel))
- break;
-#endif
-
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
- outcurl->inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_OF_NETWORK);
- outcurl->outbound_cd = iconv_open(CURL_ICONV_CODESET_OF_NETWORK,
- CURL_ICONV_CODESET_OF_HOST);
- outcurl->utf8_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_FOR_UTF8);
-#endif
-
- Curl_easy_initHandleData(outcurl);
-
- outcurl->magic = CURLEASY_MAGIC_NUMBER;
-
- fail = FALSE; /* we reach this point and thus we are OK */
-
- } while(0);
-
- if(fail) {
- if(outcurl) {
- if(outcurl->state.connc &&
- (outcurl->state.connc->type == CONNCACHE_PRIVATE))
- Curl_rm_connc(outcurl->state.connc);
- if(outcurl->state.headerbuff)
- free(outcurl->state.headerbuff);
- if(outcurl->change.url)
- free(outcurl->change.url);
- if(outcurl->change.referer)
- free(outcurl->change.referer);
- Curl_freeset(outcurl);
- free(outcurl); /* free the memory again */
- outcurl = NULL;
- }
- }
-
- return outcurl;
-}
-
-/*
- * curl_easy_reset() is an external interface that allows an app to re-
- * initialize a session handle to the default values.
- */
-void curl_easy_reset(CURL *curl)
-{
- struct SessionHandle *data = (struct SessionHandle *)curl;
-
- Curl_safefree(data->state.pathbuffer);
- data->state.pathbuffer=NULL;
-
- Curl_safefree(data->state.proto.generic);
- data->state.proto.generic=NULL;
-
- /* zero out UserDefined data: */
- Curl_freeset(data);
- memset(&data->set, 0, sizeof(struct UserDefined));
-
- /* zero out Progress data: */
- memset(&data->progress, 0, sizeof(struct Progress));
-
- /* init Handle data */
- Curl_easy_initHandleData(data);
-
- /* The remainder of these calls have been taken from Curl_open() */
-
- data->set.out = stdout; /* default output to stdout */
- data->set.in = stdin; /* default input from stdin */
- data->set.err = stderr; /* default stderr to stderr */
-
- /* use fwrite as default function to store output */
- data->set.fwrite_func = (curl_write_callback)fwrite;
-
- /* use fread as default function to read input */
- data->set.fread_func = (curl_read_callback)fread;
-
- data->set.infilesize = -1; /* we don't know any size */
- data->set.postfieldsize = -1; /* unknown size */
- data->set.maxredirs = -1; /* allow any amount by default */
- data->state.current_speed = -1; /* init to negative == impossible */
-
- data->set.httpreq = HTTPREQ_GET; /* Default HTTP request */
- data->set.ftp_use_epsv = TRUE; /* FTP defaults to EPSV operations */
- data->set.ftp_use_eprt = TRUE; /* FTP defaults to EPRT operations */
-
- data->set.dns_cache_timeout = 60; /* Timeout every 60 seconds by default */
-
- /* make libcurl quiet by default: */
- data->set.hide_progress = TRUE; /* CURLOPT_NOPROGRESS changes these */
- data->progress.flags |= PGRS_HIDE;
-
- /* Set the default size of the SSL session ID cache */
- data->set.ssl.numsessions = 5;
-
- data->set.proxyport = CURL_DEFAULT_PROXY_PORT; /* from url.h */
- data->set.proxytype = CURLPROXY_HTTP; /* defaults to HTTP proxy */
- data->set.httpauth = CURLAUTH_BASIC; /* defaults to basic */
- data->set.proxyauth = CURLAUTH_BASIC; /* defaults to basic */
-
- /*
- * libcurl 7.10 introduced SSL verification *by default*! This needs to be
- * switched off unless wanted.
- */
- data->set.ssl.verifypeer = TRUE;
- data->set.ssl.verifyhost = 2;
- /* This is our prefered CA cert bundle/path since install time */
-#if defined(CURL_CA_BUNDLE)
- (void) curl_easy_setopt(curl, CURLOPT_CAINFO, (char *) CURL_CA_BUNDLE);
-#elif defined(CURL_CA_PATH)
- (void) curl_easy_setopt(curl, CURLOPT_CAPATH, (char *) CURL_CA_PATH);
-#endif
-
- data->set.ssh_auth_types = CURLSSH_AUTH_DEFAULT; /* defaults to any auth
- type */
- data->set.new_file_perms = 0644; /* Default permissions */
- data->set.new_directory_perms = 0755; /* Default permissions */
-}
-
-/*
- * curl_easy_pause() allows an application to pause or unpause a specific
- * transfer and direction. This function sets the full new state for the
- * current connection this easy handle operates on.
- *
- * NOTE: if you have the receiving paused and you call this function to remove
- * the pausing, you may get your write callback called at this point.
- *
- * Action is a bitmask consisting of CURLPAUSE_* bits in curl/curl.h
- */
-CURLcode curl_easy_pause(CURL *curl, int action)
-{
- struct SessionHandle *data = (struct SessionHandle *)curl;
- struct SingleRequest *k = &data->req;
- CURLcode result = CURLE_OK;
-
- /* first switch off both pause bits */
- int newstate = k->keepon &~ (KEEP_READ_PAUSE| KEEP_WRITE_PAUSE);
-
- /* set the new desired pause bits */
- newstate |= ((action & CURLPAUSE_RECV)?KEEP_READ_PAUSE:0) |
- ((action & CURLPAUSE_SEND)?KEEP_WRITE_PAUSE:0);
-
- /* put it back in the keepon */
- k->keepon = newstate;
-
- if(!(newstate & KEEP_READ_PAUSE) && data->state.tempwrite) {
- /* we have a buffer for writing that we now seem to be able to deliver since
- the receive pausing is lifted! */
-
- /* get the pointer, type and length in local copies since the function may
- return PAUSE again and then we'll get a new copy allocted and stored in
- the tempwrite variables */
- char *tempwrite = data->state.tempwrite;
- size_t tempsize = data->state.tempwritesize;
- int temptype = data->state.tempwritetype;
- size_t chunklen;
-
- /* clear tempwrite here just to make sure it gets cleared if there's no
- further use of it, and make sure we don't clear it after the function
- invoke as it may have been set to a new value by then */
- data->state.tempwrite = NULL;
-
- /* since the write callback API is define to never exceed
- CURL_MAX_WRITE_SIZE bytes in a single call, and since we may in fact
- have more data than that in our buffer here, we must loop sending the
- data in multiple calls until there's no data left or we get another
- pause returned.
-
- A tricky part is that the function we call will "buffer" the data
- itself when it pauses on a particular buffer, so we may need to do some
- extra trickery if we get a pause return here.
- */
- do {
- chunklen = (tempsize > CURL_MAX_WRITE_SIZE)?CURL_MAX_WRITE_SIZE:tempsize;
-
- result = Curl_client_write(data->state.current_conn,
- temptype, tempwrite, chunklen);
- if(!result)
- /* failures abort the loop at once */
- break;
-
- if(data->state.tempwrite && (tempsize - chunklen)) {
- /* Ouch, the reading is again paused and the block we send is now
- "cached". If this is the final chunk we can leave it like this, but
- if we have more chunks that is cached after this, we need to free
- the newly cached one and put back a version that is truly the entire
- contents that is saved for later
- */
- char *newptr;
-
- free(data->state.tempwrite); /* free the one just cached as it isn't
- enough */
-
- /* note that tempsize is still the size as before the callback was
- used, and thus the whole piece of data to keep */
- newptr = malloc(tempsize);
- if(!newptr) {
- result = CURLE_OUT_OF_MEMORY;
- /* tempwrite will be freed further down */
- break;
- }
- data->state.tempwrite = newptr; /* store new pointer */
- memcpy(newptr, tempwrite, tempsize);
- data->state.tempwritesize = tempsize; /* store new size */
- /* tempwrite will be freed further down */
- break; /* go back to pausing until further notice */
- }
- else {
- tempsize -= chunklen; /* left after the call above */
- tempwrite += chunklen; /* advance the pointer */
- }
-
- } while((result == CURLE_OK) && tempsize);
-
- free(tempwrite); /* this is unconditionally no longer used */
- }
-
- return result;
-}
-
-#ifdef CURL_DOES_CONVERSIONS
-/*
- * Curl_convert_to_network() is an internal function
- * for performing ASCII conversions on non-ASCII platforms.
- */
-CURLcode Curl_convert_to_network(struct SessionHandle *data,
- char *buffer, size_t length)
-{
- CURLcode rc;
-
- if(data->set.convtonetwork) {
- /* use translation callback */
- rc = data->set.convtonetwork(buffer, length);
- if(rc != CURLE_OK) {
- failf(data,
- "CURLOPT_CONV_TO_NETWORK_FUNCTION callback returned %i: %s",
- rc, curl_easy_strerror(rc));
- }
- return(rc);
- } else {
-#ifdef HAVE_ICONV
- /* do the translation ourselves */
- char *input_ptr, *output_ptr;
- size_t in_bytes, out_bytes, rc;
- int error;
-
- /* open an iconv conversion descriptor if necessary */
- if(data->outbound_cd == (iconv_t)-1) {
- data->outbound_cd = iconv_open(CURL_ICONV_CODESET_OF_NETWORK,
- CURL_ICONV_CODESET_OF_HOST);
- if(data->outbound_cd == (iconv_t)-1) {
- error = ERRNO;
- failf(data,
- "The iconv_open(\"%s\", \"%s\") call failed with errno %i: %s",
- CURL_ICONV_CODESET_OF_NETWORK,
- CURL_ICONV_CODESET_OF_HOST,
- error, strerror(error));
- return CURLE_CONV_FAILED;
- }
- }
- /* call iconv */
- input_ptr = output_ptr = buffer;
- in_bytes = out_bytes = length;
- rc = iconv(data->outbound_cd, (const char**)&input_ptr, &in_bytes,
- &output_ptr, &out_bytes);
- if((rc == ICONV_ERROR) || (in_bytes != 0)) {
- error = ERRNO;
- failf(data,
- "The Curl_convert_to_network iconv call failed with errno %i: %s",
- error, strerror(error));
- return CURLE_CONV_FAILED;
- }
-#else
- failf(data, "CURLOPT_CONV_TO_NETWORK_FUNCTION callback required");
- return CURLE_CONV_REQD;
-#endif /* HAVE_ICONV */
- }
-
- return CURLE_OK;
-}
-
-/*
- * Curl_convert_from_network() is an internal function
- * for performing ASCII conversions on non-ASCII platforms.
- */
-CURLcode Curl_convert_from_network(struct SessionHandle *data,
- char *buffer, size_t length)
-{
- CURLcode rc;
-
- if(data->set.convfromnetwork) {
- /* use translation callback */
- rc = data->set.convfromnetwork(buffer, length);
- if(rc != CURLE_OK) {
- failf(data,
- "CURLOPT_CONV_FROM_NETWORK_FUNCTION callback returned %i: %s",
- rc, curl_easy_strerror(rc));
- }
- return(rc);
- }
- else {
-#ifdef HAVE_ICONV
- /* do the translation ourselves */
- char *input_ptr, *output_ptr;
- size_t in_bytes, out_bytes, rc;
- int error;
-
- /* open an iconv conversion descriptor if necessary */
- if(data->inbound_cd == (iconv_t)-1) {
- data->inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_OF_NETWORK);
- if(data->inbound_cd == (iconv_t)-1) {
- error = ERRNO;
- failf(data,
- "The iconv_open(\"%s\", \"%s\") call failed with errno %i: %s",
- CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_OF_NETWORK,
- error, strerror(error));
- return CURLE_CONV_FAILED;
- }
- }
- /* call iconv */
- input_ptr = output_ptr = buffer;
- in_bytes = out_bytes = length;
- rc = iconv(data->inbound_cd, (const char **)&input_ptr, &in_bytes,
- &output_ptr, &out_bytes);
- if((rc == ICONV_ERROR) || (in_bytes != 0)) {
- error = ERRNO;
- failf(data,
- "The Curl_convert_from_network iconv call failed with errno %i: %s",
- error, strerror(error));
- return CURLE_CONV_FAILED;
- }
-#else
- failf(data, "CURLOPT_CONV_FROM_NETWORK_FUNCTION callback required");
- return CURLE_CONV_REQD;
-#endif /* HAVE_ICONV */
- }
-
- return CURLE_OK;
-}
-
-/*
- * Curl_convert_from_utf8() is an internal function
- * for performing UTF-8 conversions on non-ASCII platforms.
- */
-CURLcode Curl_convert_from_utf8(struct SessionHandle *data,
- char *buffer, size_t length)
-{
- CURLcode rc;
-
- if(data->set.convfromutf8) {
- /* use translation callback */
- rc = data->set.convfromutf8(buffer, length);
- if(rc != CURLE_OK) {
- failf(data,
- "CURLOPT_CONV_FROM_UTF8_FUNCTION callback returned %i: %s",
- rc, curl_easy_strerror(rc));
- }
- return(rc);
- } else {
-#ifdef HAVE_ICONV
- /* do the translation ourselves */
- const char *input_ptr;
- char *output_ptr;
- size_t in_bytes, out_bytes, rc;
- int error;
-
- /* open an iconv conversion descriptor if necessary */
- if(data->utf8_cd == (iconv_t)-1) {
- data->utf8_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_FOR_UTF8);
- if(data->utf8_cd == (iconv_t)-1) {
- error = ERRNO;
- failf(data,
- "The iconv_open(\"%s\", \"%s\") call failed with errno %i: %s",
- CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_FOR_UTF8,
- error, strerror(error));
- return CURLE_CONV_FAILED;
- }
- }
- /* call iconv */
- input_ptr = output_ptr = buffer;
- in_bytes = out_bytes = length;
- rc = iconv(data->utf8_cd, &input_ptr, &in_bytes,
- &output_ptr, &out_bytes);
- if((rc == ICONV_ERROR) || (in_bytes != 0)) {
- error = ERRNO;
- failf(data,
- "The Curl_convert_from_utf8 iconv call failed with errno %i: %s",
- error, strerror(error));
- return CURLE_CONV_FAILED;
- }
- if(output_ptr < input_ptr) {
- /* null terminate the now shorter output string */
- *output_ptr = 0x00;
- }
-#else
- failf(data, "CURLOPT_CONV_FROM_UTF8_FUNCTION callback required");
- return CURLE_CONV_REQD;
-#endif /* HAVE_ICONV */
- }
-
- return CURLE_OK;
-}
-
-#endif /* CURL_DOES_CONVERSIONS */
-
-static CURLcode easy_connection(struct SessionHandle *data,
- curl_socket_t *sfd,
- struct connectdata **connp)
-{
- CURLcode ret;
- long sockfd;
-
- if(data == NULL)
- return CURLE_BAD_FUNCTION_ARGUMENT;
-
- /* only allow these to be called on handles with CURLOPT_CONNECT_ONLY */
- if(!data->set.connect_only) {
- failf(data, "CONNECT_ONLY is required!");
- return CURLE_UNSUPPORTED_PROTOCOL;
- }
-
- ret = Curl_getconnectinfo(data, &sockfd, connp);
- if(ret != CURLE_OK)
- return ret;
-
- if(sockfd == -1) {
- failf(data, "Failed to get recent socket");
- return CURLE_UNSUPPORTED_PROTOCOL;
- }
-
- *sfd = (curl_socket_t)sockfd; /* we know that this is actually a socket
- descriptor so the typecast is fine here */
-
- return CURLE_OK;
-}
-
-/*
- * Receives data from the connected socket. Use after successful
- * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
- * Returns CURLE_OK on success, error code on error.
- */
-CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, size_t *n)
-{
- curl_socket_t sfd;
- CURLcode ret;
- int ret1;
- ssize_t n1;
- struct connectdata *c;
- struct SessionHandle *data = (struct SessionHandle *)curl;
-
- ret = easy_connection(data, &sfd, &c);
- if(ret)
- return ret;
-
- *n = 0;
- ret1 = Curl_read(c, sfd, buffer, buflen, &n1);
-
- if(ret1 == -1)
- return CURLE_AGAIN;
-
- if(n1 == -1)
- return CURLE_RECV_ERROR;
-
- *n = (size_t)n1;
-
- return CURLE_OK;
-}
-
-/*
- * Sends data over the connected socket. Use after successful
- * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
- */
-CURLcode curl_easy_send(CURL *curl, const void *buffer, size_t buflen,
- size_t *n)
-{
- curl_socket_t sfd;
- CURLcode ret;
- ssize_t n1;
- struct connectdata *c = NULL;
- struct SessionHandle *data = (struct SessionHandle *)curl;
-
- ret = easy_connection(data, &sfd, &c);
- if(ret)
- return ret;
-
- *n = 0;
- ret = Curl_write(c, sfd, buffer, buflen, &n1);
-
- if(n1 == -1)
- return CURLE_SEND_ERROR;
-
- /* detect EAGAIN */
- if((CURLE_OK == ret) && (0 == n1))
- return CURLE_AGAIN;
-
- *n = (size_t)n1;
-
- return ret;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/easyif.h b/Utilities/cmcurl-7.19.0/lib/easyif.h
deleted file mode 100644
index 4c0f7e7..0000000
--- a/Utilities/cmcurl-7.19.0/lib/easyif.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef __EASYIF_H
-#define __EASYIF_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Prototypes for library-wide functions provided by easy.c
- */
-void Curl_easy_addmulti(struct SessionHandle *data, void *multi);
-
-void Curl_easy_initHandleData(struct SessionHandle *data);
-
-CURLcode Curl_convert_to_network(struct SessionHandle *data,
- char *buffer, size_t length);
-CURLcode Curl_convert_from_network(struct SessionHandle *data,
- char *buffer, size_t length);
-CURLcode Curl_convert_from_utf8(struct SessionHandle *data,
- char *buffer, size_t length);
-
-#endif /* __EASYIF_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/escape.c b/Utilities/cmcurl-7.19.0/lib/escape.c
deleted file mode 100644
index d44bf3c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/escape.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* Escape and unescape URL encoding in strings. The functions return a new
- * allocated string or NULL if an error occurred. */
-
-#include "setup.h"
-#include <ctype.h>
-#include <curl/curl.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "memory.h"
-/* urldata.h and easyif.h are included for Curl_convert_... prototypes */
-#include "urldata.h"
-#include "easyif.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* for ABI-compatibility with previous versions */
-char *curl_escape(const char *string, int inlength)
-{
- return curl_easy_escape(NULL, string, inlength);
-}
-
-/* for ABI-compatibility with previous versions */
-char *curl_unescape(const char *string, int length)
-{
- return curl_easy_unescape(NULL, string, length, NULL);
-}
-
-char *curl_easy_escape(CURL *handle, const char *string, int inlength)
-{
- size_t alloc = (inlength?(size_t)inlength:strlen(string))+1;
- char *ns;
- char *testing_ptr = NULL;
- unsigned char in; /* we need to treat the characters unsigned */
- size_t newlen = alloc;
- int strindex=0;
- size_t length;
-
-#ifndef CURL_DOES_CONVERSIONS
- /* avoid compiler warnings */
- (void)handle;
-#endif
- ns = malloc(alloc);
- if(!ns)
- return NULL;
-
- length = alloc-1;
- while(length--) {
- in = *string;
-
- /* Portable character check (remember EBCDIC). Do not use isalnum() because
- its behavior is altered by the current locale. */
-
- switch (in) {
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- case 'a': case 'b': case 'c': case 'd': case 'e':
- case 'f': case 'g': case 'h': case 'i': case 'j':
- case 'k': case 'l': case 'm': case 'n': case 'o':
- case 'p': case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
- case 'A': case 'B': case 'C': case 'D': case 'E':
- case 'F': case 'G': case 'H': case 'I': case 'J':
- case 'K': case 'L': case 'M': case 'N': case 'O':
- case 'P': case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
- /* just copy this */
- ns[strindex++]=in;
- break;
- default:
- /* encode it */
- newlen += 2; /* the size grows with two, since this'll become a %XX */
- if(newlen > alloc) {
- alloc *= 2;
- testing_ptr = realloc(ns, alloc);
- if(!testing_ptr) {
- free( ns );
- return NULL;
- }
- else {
- ns = testing_ptr;
- }
- }
-
-#ifdef CURL_DOES_CONVERSIONS
-/* escape sequences are always in ASCII so convert them on non-ASCII hosts */
- if(!handle ||
- (Curl_convert_to_network(handle, &in, 1) != CURLE_OK)) {
- /* Curl_convert_to_network calls failf if unsuccessful */
- free(ns);
- return NULL;
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- snprintf(&ns[strindex], 4, "%%%02X", in);
-
- strindex+=3;
- break;
- }
- string++;
- }
- ns[strindex]=0; /* terminate it */
- return ns;
-}
-
-char *curl_easy_unescape(CURL *handle, const char *string, int length,
- int *olen)
-{
- int alloc = (length?length:(int)strlen(string))+1;
- char *ns = malloc(alloc);
- unsigned char in;
- int strindex=0;
- long hex;
-
-#ifndef CURL_DOES_CONVERSIONS
- /* avoid compiler warnings */
- (void)handle;
-#endif
- if( !ns )
- return NULL;
-
- while(--alloc > 0) {
- in = *string;
- if(('%' == in) && ISXDIGIT(string[1]) && ISXDIGIT(string[2])) {
- /* this is two hexadecimal digits following a '%' */
- char hexstr[3];
- char *ptr;
- hexstr[0] = string[1];
- hexstr[1] = string[2];
- hexstr[2] = 0;
-
- hex = strtol(hexstr, &ptr, 16);
-
- in = (unsigned char)hex; /* this long is never bigger than 255 anyway */
-
-#ifdef CURL_DOES_CONVERSIONS
-/* escape sequences are always in ASCII so convert them on non-ASCII hosts */
- if(!handle ||
- (Curl_convert_from_network(handle, &in, 1) != CURLE_OK)) {
- /* Curl_convert_from_network calls failf if unsuccessful */
- free(ns);
- return NULL;
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- string+=2;
- alloc-=2;
- }
-
- ns[strindex++] = in;
- string++;
- }
- ns[strindex]=0; /* terminate it */
-
- if(olen)
- /* store output size */
- *olen = strindex;
- return ns;
-}
-
-/* For operating systems/environments that use different malloc/free
- ssystems for the app and for this library, we provide a free that uses
- the library's memory system */
-void curl_free(void *p)
-{
- if(p)
- free(p);
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/escape.h b/Utilities/cmcurl-7.19.0/lib/escape.h
deleted file mode 100644
index a0a0209..0000000
--- a/Utilities/cmcurl-7.19.0/lib/escape.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef __ESCAPE_H
-#define __ESCAPE_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-/* Escape and unescape URL encoding in strings. The functions return a new
- * allocated string or NULL if an error occurred. */
-
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/file.c b/Utilities/cmcurl-7.19.0/lib/file.c
deleted file mode 100644
index 08d26c5..0000000
--- a/Utilities/cmcurl-7.19.0/lib/file.c
+++ /dev/null
@@ -1,571 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_FILE
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#ifdef WIN32
-#include <time.h>
-#include <io.h>
-#include <fcntl.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#include <sys/ioctl.h>
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#endif /* WIN32 */
-
-#include "strtoofft.h"
-#include "urldata.h"
-#include <curl/curl.h>
-#include "progress.h"
-#include "sendf.h"
-#include "escape.h"
-#include "file.h"
-#include "speedcheck.h"
-#include "getinfo.h"
-#include "transfer.h"
-#include "url.h"
-#include "memory.h"
-#include "parsedate.h" /* for the week day and month names */
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#if defined(WIN32) || defined(MSDOS) || defined(__EMX__) || defined(__SYMBIAN32__)
-#define DOS_FILESYSTEM 1
-#endif
-
-/*
- * Forward declarations.
- */
-
-static CURLcode file_do(struct connectdata *, bool *done);
-static CURLcode file_done(struct connectdata *conn,
- CURLcode status, bool premature);
-static CURLcode file_connect(struct connectdata *conn, bool *done);
-
-/*
- * FILE scheme handler.
- */
-
-const struct Curl_handler Curl_handler_file = {
- "FILE", /* scheme */
- ZERO_NULL, /* setup_connection */
- file_do, /* do_it */
- file_done, /* done */
- ZERO_NULL, /* do_more */
- file_connect, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- 0, /* defport */
- PROT_FILE /* protocol */
-};
-
-
- /*
- Check if this is a range download, and if so, set the internal variables
- properly. This code is copied from the FTP implementation and might as
- well be factored out.
- */
-static CURLcode file_range(struct connectdata *conn)
-{
- curl_off_t from, to;
- curl_off_t totalsize=-1;
- char *ptr;
- char *ptr2;
- struct SessionHandle *data = conn->data;
-
- if(data->state.use_range && data->state.range) {
- from=curlx_strtoofft(data->state.range, &ptr, 0);
- while(ptr && *ptr && (isspace((int)*ptr) || (*ptr=='-')))
- ptr++;
- to=curlx_strtoofft(ptr, &ptr2, 0);
- if(ptr == ptr2) {
- /* we didn't get any digit */
- to=-1;
- }
- if((-1 == to) && (from>=0)) {
- /* X - */
- data->state.resume_from = from;
- DEBUGF(infof(data, "RANGE %" FORMAT_OFF_T " to end of file\n",
- from));
- }
- else if(from < 0) {
- /* -Y */
- totalsize = -from;
- data->req.maxdownload = -from;
- data->state.resume_from = from;
- DEBUGF(infof(data, "RANGE the last %" FORMAT_OFF_T " bytes\n",
- totalsize));
- }
- else {
- /* X-Y */
- totalsize = to-from;
- data->req.maxdownload = totalsize+1; /* include last byte */
- data->state.resume_from = from;
- DEBUGF(infof(data, "RANGE from %" FORMAT_OFF_T
- " getting %" FORMAT_OFF_T " bytes\n",
- from, data->req.maxdownload));
- }
- DEBUGF(infof(data, "range-download from %" FORMAT_OFF_T
- " to %" FORMAT_OFF_T ", totally %" FORMAT_OFF_T " bytes\n",
- from, to, data->req.maxdownload));
- }
- else
- data->req.maxdownload = -1;
- return CURLE_OK;
-}
-
-/*
- * file_connect() gets called from Curl_protocol_connect() to allow us to
- * do protocol-specific actions at connect-time. We emulate a
- * connect-then-transfer protocol and "connect" to the file here
- */
-static CURLcode file_connect(struct connectdata *conn, bool *done)
-{
- struct SessionHandle *data = conn->data;
- char *real_path = curl_easy_unescape(data, data->state.path, 0, NULL);
- struct FILEPROTO *file;
- int fd;
-#ifdef DOS_FILESYSTEM
- int i;
- char *actual_path;
-#endif
-
- if(!real_path)
- return CURLE_OUT_OF_MEMORY;
-
- /* If there already is a protocol-specific struct allocated for this
- sessionhandle, deal with it */
- Curl_reset_reqproto(conn);
-
- if(!data->state.proto.file) {
- file = (struct FILEPROTO *)calloc(sizeof(struct FILEPROTO), 1);
- if(!file) {
- free(real_path);
- return CURLE_OUT_OF_MEMORY;
- }
- data->state.proto.file = file;
- }
- else {
- /* file is not a protocol that can deal with "persistancy" */
- file = data->state.proto.file;
- Curl_safefree(file->freepath);
- if(file->fd != -1)
- close(file->fd);
- file->path = NULL;
- file->freepath = NULL;
- file->fd = -1;
- }
-
-#ifdef DOS_FILESYSTEM
- /* If the first character is a slash, and there's
- something that looks like a drive at the beginning of
- the path, skip the slash. If we remove the initial
- slash in all cases, paths without drive letters end up
- relative to the current directory which isn't how
- browsers work.
-
- Some browsers accept | instead of : as the drive letter
- separator, so we do too.
-
- On other platforms, we need the slash to indicate an
- absolute pathname. On Windows, absolute paths start
- with a drive letter.
- */
- actual_path = real_path;
- if((actual_path[0] == '/') &&
- actual_path[1] &&
- (actual_path[2] == ':' || actual_path[2] == '|'))
- {
- actual_path[2] = ':';
- actual_path++;
- }
-
- /* change path separators from '/' to '\\' for DOS, Windows and OS/2 */
- for (i=0; actual_path[i] != '\0'; ++i)
- if(actual_path[i] == '/')
- actual_path[i] = '\\';
-
- fd = open(actual_path, O_RDONLY | O_BINARY); /* no CR/LF translation! */
- file->path = actual_path;
-#else
- fd = open(real_path, O_RDONLY);
- file->path = real_path;
-#endif
- file->freepath = real_path; /* free this when done */
-
- file->fd = fd;
- if(!data->set.upload && (fd == -1)) {
- failf(data, "Couldn't open file %s", data->state.path);
- file_done(conn, CURLE_FILE_COULDNT_READ_FILE, FALSE);
- return CURLE_FILE_COULDNT_READ_FILE;
- }
- *done = TRUE;
-
- return CURLE_OK;
-}
-
-static CURLcode file_done(struct connectdata *conn,
- CURLcode status, bool premature)
-{
- struct FILEPROTO *file = conn->data->state.proto.file;
- (void)status; /* not used */
- (void)premature; /* not used */
- Curl_safefree(file->freepath);
-
- if(file->fd != -1)
- close(file->fd);
-
- return CURLE_OK;
-}
-
-#ifdef DOS_FILESYSTEM
-#define DIRSEP '\\'
-#else
-#define DIRSEP '/'
-#endif
-
-static CURLcode file_upload(struct connectdata *conn)
-{
- struct FILEPROTO *file = conn->data->state.proto.file;
- const char *dir = strchr(file->path, DIRSEP);
- FILE *fp;
- CURLcode res=CURLE_OK;
- struct SessionHandle *data = conn->data;
- char *buf = data->state.buffer;
- size_t nread;
- size_t nwrite;
- curl_off_t bytecount = 0;
- struct timeval now = Curl_tvnow();
- struct_stat file_stat;
- const char* buf2;
-
- /*
- * Since FILE: doesn't do the full init, we need to provide some extra
- * assignments here.
- */
- conn->fread_func = data->set.fread_func;
- conn->fread_in = data->set.in;
- conn->data->req.upload_fromhere = buf;
-
- if(!dir)
- return CURLE_FILE_COULDNT_READ_FILE; /* fix: better error code */
-
- if(!dir[1])
- return CURLE_FILE_COULDNT_READ_FILE; /* fix: better error code */
-
- if(data->state.resume_from)
- fp = fopen( file->path, "ab" );
- else {
- int fd;
-
-#ifdef DOS_FILESYSTEM
- fd = open(file->path, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,
- conn->data->set.new_file_perms);
-#else
- fd = open(file->path, O_WRONLY|O_CREAT|O_TRUNC,
- conn->data->set.new_file_perms);
-#endif
- if(fd < 0) {
- failf(data, "Can't open %s for writing", file->path);
- return CURLE_WRITE_ERROR;
- }
- fp = fdopen(fd, "wb");
- }
-
- if(!fp) {
- failf(data, "Can't open %s for writing", file->path);
- return CURLE_WRITE_ERROR;
- }
-
- if(-1 != data->set.infilesize)
- /* known size of data to "upload" */
- Curl_pgrsSetUploadSize(data, data->set.infilesize);
-
- /* treat the negative resume offset value as the case of "-" */
- if(data->state.resume_from < 0) {
- if(stat(file->path, &file_stat)) {
- fclose(fp);
- failf(data, "Can't get the size of %s", file->path);
- return CURLE_WRITE_ERROR;
- }
- else
- data->state.resume_from = (curl_off_t)file_stat.st_size;
- }
-
- while(res == CURLE_OK) {
- int readcount;
- res = Curl_fillreadbuffer(conn, BUFSIZE, &readcount);
- if(res)
- break;
-
- if(readcount <= 0) /* fix questionable compare error. curlvms */
- break;
-
- nread = (size_t)readcount;
-
- /*skip bytes before resume point*/
- if(data->state.resume_from) {
- if( (curl_off_t)nread <= data->state.resume_from ) {
- data->state.resume_from -= nread;
- nread = 0;
- buf2 = buf;
- }
- else {
- buf2 = buf + data->state.resume_from;
- nread -= (size_t)data->state.resume_from;
- data->state.resume_from = 0;
- }
- }
- else
- buf2 = buf;
-
- /* write the data to the target */
- nwrite = fwrite(buf2, 1, nread, fp);
- if(nwrite != nread) {
- res = CURLE_SEND_ERROR;
- break;
- }
-
- bytecount += nread;
-
- Curl_pgrsSetUploadCounter(data, bytecount);
-
- if(Curl_pgrsUpdate(conn))
- res = CURLE_ABORTED_BY_CALLBACK;
- else
- res = Curl_speedcheck(data, now);
- }
- if(!res && Curl_pgrsUpdate(conn))
- res = CURLE_ABORTED_BY_CALLBACK;
-
- fclose(fp);
-
- return res;
-}
-
-/*
- * file_do() is the protocol-specific function for the do-phase, separated
- * from the connect-phase above. Other protocols merely setup the transfer in
- * the do-phase, to have it done in the main transfer loop but since some
- * platforms we support don't allow select()ing etc on file handles (as
- * opposed to sockets) we instead perform the whole do-operation in this
- * function.
- */
-static CURLcode file_do(struct connectdata *conn, bool *done)
-{
- /* This implementation ignores the host name in conformance with
- RFC 1738. Only local files (reachable via the standard file system)
- are supported. This means that files on remotely mounted directories
- (via NFS, Samba, NT sharing) can be accessed through a file:// URL
- */
- CURLcode res = CURLE_OK;
- struct_stat statbuf; /* struct_stat instead of struct stat just to allow the
- Windows version to have a different struct without
- having to redefine the simple word 'stat' */
- curl_off_t expected_size=0;
- bool fstated=FALSE;
- ssize_t nread;
- size_t bytestoread;
- struct SessionHandle *data = conn->data;
- char *buf = data->state.buffer;
- curl_off_t bytecount = 0;
- int fd;
- struct timeval now = Curl_tvnow();
-
- *done = TRUE; /* unconditionally */
-
- Curl_initinfo(data);
- Curl_pgrsStartNow(data);
-
- if(data->set.upload)
- return file_upload(conn);
-
- /* get the fd from the connection phase */
- fd = conn->data->state.proto.file->fd;
-
- /* VMS: This only works reliable for STREAMLF files */
- if( -1 != fstat(fd, &statbuf)) {
- /* we could stat it, then read out the size */
- expected_size = statbuf.st_size;
- fstated = TRUE;
- }
-
- /* If we have selected NOBODY and HEADER, it means that we only want file
- information. Which for FILE can't be much more than the file size and
- date. */
- if(data->set.opt_no_body && data->set.include_header && fstated) {
- CURLcode result;
- snprintf(buf, sizeof(data->state.buffer),
- "Content-Length: %" FORMAT_OFF_T "\r\n", expected_size);
- result = Curl_client_write(conn, CLIENTWRITE_BOTH, buf, 0);
- if(result)
- return result;
-
- result = Curl_client_write(conn, CLIENTWRITE_BOTH,
- (char *)"Accept-ranges: bytes\r\n", 0);
- if(result)
- return result;
-
- if(fstated) {
- const struct tm *tm;
- time_t filetime = (time_t)statbuf.st_mtime;
-#ifdef HAVE_GMTIME_R
- struct tm buffer;
- tm = (const struct tm *)gmtime_r(&filetime, &buffer);
-#else
- tm = gmtime(&filetime);
-#endif
- /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */
- snprintf(buf, BUFSIZE-1,
- "Last-Modified: %s, %02d %s %4d %02d:%02d:%02d GMT\r\n",
- Curl_wkday[tm->tm_wday?tm->tm_wday-1:6],
- tm->tm_mday,
- Curl_month[tm->tm_mon],
- tm->tm_year + 1900,
- tm->tm_hour,
- tm->tm_min,
- tm->tm_sec);
- result = Curl_client_write(conn, CLIENTWRITE_BOTH, buf, 0);
- }
- return result;
- }
-
- /* Check whether file range has been specified */
- file_range(conn);
-
- /* Adjust the start offset in case we want to get the N last bytes
- * of the stream iff the filesize could be determined */
- if(data->state.resume_from < 0) {
- if(!fstated) {
- failf(data, "Can't get the size of file.");
- return CURLE_READ_ERROR;
- }
- else
- data->state.resume_from += (curl_off_t)statbuf.st_size;
- }
-
- if(data->state.resume_from <= expected_size)
- expected_size -= data->state.resume_from;
- else {
- failf(data, "failed to resume file:// transfer");
- return CURLE_BAD_DOWNLOAD_RESUME;
- }
-
- /* A high water mark has been specified so we obey... */
- if (data->req.maxdownload > 0)
- expected_size = data->req.maxdownload;
-
- if(fstated && (expected_size == 0))
- return CURLE_OK;
-
- /* The following is a shortcut implementation of file reading
- this is both more efficient than the former call to download() and
- it avoids problems with select() and recv() on file descriptors
- in Winsock */
- if(fstated)
- Curl_pgrsSetDownloadSize(data, expected_size);
-
- if(data->state.resume_from) {
- if(data->state.resume_from !=
- lseek(fd, data->state.resume_from, SEEK_SET))
- return CURLE_BAD_DOWNLOAD_RESUME;
- }
-
- Curl_pgrsTime(data, TIMER_STARTTRANSFER);
-
- while(res == CURLE_OK) {
- /* Don't fill a whole buffer if we want less than all data */
- bytestoread = (expected_size < BUFSIZE-1)?(size_t)expected_size:BUFSIZE-1;
- nread = read(fd, buf, bytestoread);
-
- if( nread > 0)
- buf[nread] = 0;
-
- if (nread <= 0 || expected_size == 0)
- break;
-
- bytecount += nread;
- expected_size -= nread;
-
- res = Curl_client_write(conn, CLIENTWRITE_BODY, buf, nread);
- if(res)
- return res;
-
- Curl_pgrsSetDownloadCounter(data, bytecount);
-
- if(Curl_pgrsUpdate(conn))
- res = CURLE_ABORTED_BY_CALLBACK;
- else
- res = Curl_speedcheck(data, now);
- }
- if(Curl_pgrsUpdate(conn))
- res = CURLE_ABORTED_BY_CALLBACK;
-
- return res;
-}
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/file.h b/Utilities/cmcurl-7.19.0/lib/file.h
deleted file mode 100644
index f779720..0000000
--- a/Utilities/cmcurl-7.19.0/lib/file.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __FILE_H
-#define __FILE_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_FILE
-extern const struct Curl_handler Curl_handler_file;
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/firefox-db2pem.sh b/Utilities/cmcurl-7.19.0/lib/firefox-db2pem.sh
deleted file mode 100755
index 11f641c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/firefox-db2pem.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-# ***************************************************************************
-# * _ _ ____ _
-# * Project ___| | | | _ \| |
-# * / __| | | | |_) | |
-# * | (__| |_| | _ <| |___
-# * \___|\___/|_| \_\_____|
-# *
-# * Copyright (C) 1998 - 2008, 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.
-# *
-# * $Id$
-# ***************************************************************************
-# This shell script creates a fresh ca-bundle.crt file for use with libcurl.
-# It extracts all ca certs it finds in the local Firefox database and converts
-# them all into PEM format.
-#
-db=`ls -1d $HOME/.mozilla/firefox/*default`
-out=$1
-
-if test -z "$out"; then
- out="ca-bundle.crt" # use a sensible default
-fi
-
-currentdate=`date`
-
-cat >$out <<EOF
-##
-## Bundle of CA Root Certificates
-##
-## Converted at: ${currentdate}
-## These were converted from the local Firefox directory by the db2pem script.
-##
-EOF
-
-
-certutil -L -h 'Builtin Object Token' -d $db | \
-grep ' *[CcGTPpu]*,[CcGTPpu]*,[CcGTPpu]* *$' | \
-sed -e 's/ *[CcGTPpu]*,[CcGTPpu]*,[CcGTPpu]* *$//' -e 's/\(.*\)/"\1"/' | \
-sort | \
-while read nickname; \
- do echo $nickname | sed -e "s/Builtin Object Token://g"; \
-eval certutil -d $db -L -n "$nickname" -a ; \
-done >> $out
-
diff --git a/Utilities/cmcurl-7.19.0/lib/formdata.c b/Utilities/cmcurl-7.19.0/lib/formdata.c
deleted file mode 100644
index c5b305a..0000000
--- a/Utilities/cmcurl-7.19.0/lib/formdata.c
+++ /dev/null
@@ -1,1751 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- Debug the form generator stand-alone by compiling this source file with:
-
- gcc -DHAVE_CONFIG_H -I../ -g -D_FORM_DEBUG -DCURLDEBUG -o formdata \
- -I../include formdata.c strequal.c memdebug.c mprintf.c strerror.c
-
- (depending on circumstances you may need further externals added)
-
- run the 'formdata' executable the output should end with:
- All Tests seem to have worked ...
- and the following parts should be there:
-
-Content-Disposition: form-data; name="simple_COPYCONTENTS"
-value for simple COPYCONTENTS
-
-Content-Disposition: form-data; name="COPYCONTENTS_+_CONTENTTYPE"
-Content-Type: image/gif
-value for COPYCONTENTS + CONTENTTYPE
-
-Content-Disposition: form-data; name="PRNAME_+_NAMELENGTH_+_COPYNAME_+_CONTENTSLENGTH"
-vlue for PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH
-(or you might see P^@RNAME and v^@lue at the start)
-
-Content-Disposition: form-data; name="simple_PTRCONTENTS"
-value for simple PTRCONTENTS
-
-Content-Disposition: form-data; name="PTRCONTENTS_+_CONTENTSLENGTH"
-vlue for PTRCONTENTS + CONTENTSLENGTH
-(or you might see v^@lue at the start)
-
-Content-Disposition: form-data; name="PTRCONTENTS_+_CONTENTSLENGTH_+_CONTENTTYPE"
-Content-Type: application/octet-stream
-vlue for PTRCONTENTS + CONTENTSLENGTH + CONTENTTYPE
-(or you might see v^@lue at the start)
-
-Content-Disposition: form-data; name="FILE1_+_CONTENTTYPE"; filename="inet_ntoa_r.h"
-Content-Type: text/html
-...
-
-Content-Disposition: form-data; name="FILE1_+_FILE2"
-Content-Type: multipart/mixed, boundary=curlz1s0dkticx49MV1KGcYP5cvfSsz
-...
-Content-Disposition: attachment; filename="inet_ntoa_r.h"
-Content-Type: application/octet-stream
-...
-Content-Disposition: attachment; filename="Makefile.b32"
-Content-Type: application/octet-stream
-...
-
-Content-Disposition: form-data; name="FILE1_+_FILE2_+_FILE3"
-Content-Type: multipart/mixed, boundary=curlirkYPmPwu6FrJ1vJ1u1BmtIufh1
-...
-Content-Disposition: attachment; filename="inet_ntoa_r.h"
-Content-Type: application/octet-stream
-...
-Content-Disposition: attachment; filename="Makefile.b32"
-Content-Type: application/octet-stream
-...
-Content-Disposition: attachment; filename="inet_ntoa_r.h"
-Content-Type: application/octet-stream
-...
-
-
-Content-Disposition: form-data; name="ARRAY: FILE1_+_FILE2_+_FILE3"
-Content-Type: multipart/mixed, boundary=curlirkYPmPwu6FrJ1vJ1u1BmtIufh1
-...
-Content-Disposition: attachment; filename="inet_ntoa_r.h"
-Content-Type: application/octet-stream
-...
-Content-Disposition: attachment; filename="Makefile.b32"
-Content-Type: application/octet-stream
-...
-Content-Disposition: attachment; filename="inet_ntoa_r.h"
-Content-Type: application/octet-stream
-...
-
-Content-Disposition: form-data; name="FILECONTENT"
-...
-
- */
-
-#include "setup.h"
-#include <curl/curl.h>
-
-/* Length of the random boundary string. */
-#define BOUNDARY_LENGTH 40
-
-#if !defined(CURL_DISABLE_HTTP) || defined(USE_SSLEAY)
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <time.h>
-#if defined(HAVE_LIBGEN_H) && defined(HAVE_BASENAME)
-#include <libgen.h>
-#endif
-#include "urldata.h" /* for struct SessionHandle */
-#include "easyif.h" /* for Curl_convert_... prototypes */
-#include "formdata.h"
-#include "strequal.h"
-#include "memory.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#endif /* !defined(CURL_DISABLE_HTTP) || defined(USE_SSLEAY) */
-
-#ifndef CURL_DISABLE_HTTP
-
-#if defined(HAVE_BASENAME) && defined(NEED_BASENAME_PROTO)
-/* This system has a basename() but no prototype for it! */
-char *basename(char *path);
-#endif
-
-static size_t readfromfile(struct Form *form, char *buffer, size_t size);
-
-/* What kind of Content-Type to use on un-specified files with unrecognized
- extensions. */
-#define HTTPPOST_CONTENTTYPE_DEFAULT "application/octet-stream"
-
-#define FORM_FILE_SEPARATOR ','
-#define FORM_TYPE_SEPARATOR ';'
-
-/***************************************************************************
- *
- * AddHttpPost()
- *
- * Adds a HttpPost structure to the list, if parent_post is given becomes
- * a subpost of parent_post instead of a direct list element.
- *
- * Returns newly allocated HttpPost on success and NULL if malloc failed.
- *
- ***************************************************************************/
-static struct curl_httppost *
-AddHttpPost(char *name, size_t namelength,
- char *value, size_t contentslength,
- char *buffer, size_t bufferlength,
- char *contenttype,
- long flags,
- struct curl_slist* contentHeader,
- char *showfilename, char *userp,
- struct curl_httppost *parent_post,
- struct curl_httppost **httppost,
- struct curl_httppost **last_post)
-{
- struct curl_httppost *post;
- post = (struct curl_httppost *)calloc(sizeof(struct curl_httppost), 1);
- if(post) {
- post->name = name;
- post->namelength = (long)(name?(namelength?namelength:strlen(name)):0);
- post->contents = value;
- post->contentslength = (long)contentslength;
- post->buffer = buffer;
- post->bufferlength = (long)bufferlength;
- post->contenttype = contenttype;
- post->contentheader = contentHeader;
- post->showfilename = showfilename;
- post->userp = userp,
- post->flags = flags;
- }
- else
- return NULL;
-
- if(parent_post) {
- /* now, point our 'more' to the original 'more' */
- post->more = parent_post->more;
-
- /* then move the original 'more' to point to ourselves */
- parent_post->more = post;
- }
- else {
- /* make the previous point to this */
- if(*last_post)
- (*last_post)->next = post;
- else
- (*httppost) = post;
-
- (*last_post) = post;
- }
- return post;
-}
-
-/***************************************************************************
- *
- * AddFormInfo()
- *
- * Adds a FormInfo structure to the list presented by parent_form_info.
- *
- * Returns newly allocated FormInfo on success and NULL if malloc failed/
- * parent_form_info is NULL.
- *
- ***************************************************************************/
-static FormInfo * AddFormInfo(char *value,
- char *contenttype,
- FormInfo *parent_form_info)
-{
- FormInfo *form_info;
- form_info = (FormInfo *)malloc(sizeof(FormInfo));
- if(form_info) {
- memset(form_info, 0, sizeof(FormInfo));
- if(value)
- form_info->value = value;
- if(contenttype)
- form_info->contenttype = contenttype;
- form_info->flags = HTTPPOST_FILENAME;
- }
- else
- return NULL;
-
- if(parent_form_info) {
- /* now, point our 'more' to the original 'more' */
- form_info->more = parent_form_info->more;
-
- /* then move the original 'more' to point to ourselves */
- parent_form_info->more = form_info;
- }
- else
- return NULL;
-
- return form_info;
-}
-
-/***************************************************************************
- *
- * ContentTypeForFilename()
- *
- * Provides content type for filename if one of the known types (else
- * (either the prevtype or the default is returned).
- *
- * Returns some valid contenttype for filename.
- *
- ***************************************************************************/
-static const char * ContentTypeForFilename (const char *filename,
- const char *prevtype)
-{
- const char *contenttype = NULL;
- unsigned int i;
- /*
- * No type was specified, we scan through a few well-known
- * extensions and pick the first we match!
- */
- struct ContentType {
- const char *extension;
- const char *type;
- };
- static const struct ContentType ctts[]={
- {".gif", "image/gif"},
- {".jpg", "image/jpeg"},
- {".jpeg", "image/jpeg"},
- {".txt", "text/plain"},
- {".html", "text/html"}
- };
-
- if(prevtype)
- /* default to the previously set/used! */
- contenttype = prevtype;
- else
- contenttype = HTTPPOST_CONTENTTYPE_DEFAULT;
-
- if(filename) { /* in case a NULL was passed in */
- for(i=0; i<sizeof(ctts)/sizeof(ctts[0]); i++) {
- if(strlen(filename) >= strlen(ctts[i].extension)) {
- if(strequal(filename +
- strlen(filename) - strlen(ctts[i].extension),
- ctts[i].extension)) {
- contenttype = ctts[i].type;
- break;
- }
- }
- }
- }
- /* we have a contenttype by now */
- return contenttype;
-}
-
-/***************************************************************************
- *
- * memdup()
- *
- * Copies the 'source' data to a newly allocated buffer buffer (that is
- * returned). Uses buffer_length if not null, else uses strlen to determine
- * the length of the buffer to be copied
- *
- * Returns the new pointer or NULL on failure.
- *
- ***************************************************************************/
-static char *memdup(const char *src, size_t buffer_length)
-{
- size_t length;
- bool add = FALSE;
- char *buffer;
-
- if(buffer_length)
- length = buffer_length;
- else if(src) {
- length = strlen(src);
- add = TRUE;
- }
- else
- /* no length and a NULL src pointer! */
- return strdup((char *)"");
-
- buffer = (char*)malloc(length+add);
- if(!buffer)
- return NULL; /* fail */
-
- memcpy(buffer, src, length);
-
- /* if length unknown do null termination */
- if(add)
- buffer[length] = '\0';
-
- return buffer;
-}
-
-/***************************************************************************
- *
- * FormAdd()
- *
- * Stores a formpost parameter and builds the appropriate linked list.
- *
- * Has two principal functionalities: using files and byte arrays as
- * post parts. Byte arrays are either copied or just the pointer is stored
- * (as the user requests) while for files only the filename and not the
- * content is stored.
- *
- * While you may have only one byte array for each name, multiple filenames
- * are allowed (and because of this feature CURLFORM_END is needed after
- * using CURLFORM_FILE).
- *
- * Examples:
- *
- * Simple name/value pair with copied contents:
- * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name",
- * CURLFORM_COPYCONTENTS, "value", CURLFORM_END);
- *
- * name/value pair where only the content pointer is remembered:
- * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name",
- * CURLFORM_PTRCONTENTS, ptr, CURLFORM_CONTENTSLENGTH, 10, CURLFORM_END);
- * (if CURLFORM_CONTENTSLENGTH is missing strlen () is used)
- *
- * storing a filename (CONTENTTYPE is optional!):
- * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name",
- * CURLFORM_FILE, "filename1", CURLFORM_CONTENTTYPE, "plain/text",
- * CURLFORM_END);
- *
- * storing multiple filenames:
- * curl_formadd (&post, &last, CURLFORM_COPYNAME, "name",
- * CURLFORM_FILE, "filename1", CURLFORM_FILE, "filename2", CURLFORM_END);
- *
- * Returns:
- * CURL_FORMADD_OK on success
- * CURL_FORMADD_MEMORY if the FormInfo allocation fails
- * CURL_FORMADD_OPTION_TWICE if one option is given twice for one Form
- * CURL_FORMADD_NULL if a null pointer was given for a char
- * CURL_FORMADD_MEMORY if the allocation of a FormInfo struct failed
- * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used
- * CURL_FORMADD_INCOMPLETE if the some FormInfo is not complete (or an error)
- * CURL_FORMADD_MEMORY if a HttpPost struct cannot be allocated
- * CURL_FORMADD_MEMORY if some allocation for string copying failed.
- * CURL_FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array
- *
- ***************************************************************************/
-
-static
-CURLFORMcode FormAdd(struct curl_httppost **httppost,
- struct curl_httppost **last_post,
- va_list params)
-{
- FormInfo *first_form, *current_form, *form = NULL;
- CURLFORMcode return_value = CURL_FORMADD_OK;
- const char *prevtype = NULL;
- struct curl_httppost *post = NULL;
- CURLformoption option;
- struct curl_forms *forms = NULL;
- char *array_value=NULL; /* value read from an array */
-
- /* This is a state variable, that if TRUE means that we're parsing an
- array that we got passed to us. If FALSE we're parsing the input
- va_list arguments. */
- bool array_state = FALSE;
-
- /*
- * We need to allocate the first struct to fill in.
- */
- first_form = (FormInfo *)calloc(sizeof(struct FormInfo), 1);
- if(!first_form)
- return CURL_FORMADD_MEMORY;
-
- current_form = first_form;
-
- /*
- * Loop through all the options set. Break if we have an error to report.
- */
- while(return_value == CURL_FORMADD_OK) {
-
- /* first see if we have more parts of the array param */
- if( array_state ) {
- /* get the upcoming option from the given array */
- option = forms->option;
- array_value = (char *)forms->value;
-
- forms++; /* advance this to next entry */
- if(CURLFORM_END == option) {
- /* end of array state */
- array_state = FALSE;
- continue;
- }
- }
- else {
- /* This is not array-state, get next option */
- option = va_arg(params, CURLformoption);
- if(CURLFORM_END == option)
- break;
- }
-
- switch (option) {
- case CURLFORM_ARRAY:
- if(array_state)
- /* we don't support an array from within an array */
- return_value = CURL_FORMADD_ILLEGAL_ARRAY;
- else {
- forms = va_arg(params, struct curl_forms *);
- if(forms)
- array_state = TRUE;
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
-
- /*
- * Set the Name property.
- */
- case CURLFORM_PTRNAME:
-#ifdef CURL_DOES_CONVERSIONS
- /* treat CURLFORM_PTR like CURLFORM_COPYNAME so we'll
- have safe memory for the eventual conversion */
-#else
- current_form->flags |= HTTPPOST_PTRNAME; /* fall through */
-#endif
- case CURLFORM_COPYNAME:
- if(current_form->name)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else {
- char *name = array_state?
- array_value:va_arg(params, char *);
- if(name)
- current_form->name = name; /* store for the moment */
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
- case CURLFORM_NAMELENGTH:
- if(current_form->namelength)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else
- current_form->namelength =
- array_state?(size_t)array_value:(size_t)va_arg(params, long);
- break;
-
- /*
- * Set the contents property.
- */
- case CURLFORM_PTRCONTENTS:
- current_form->flags |= HTTPPOST_PTRCONTENTS; /* fall through */
- case CURLFORM_COPYCONTENTS:
- if(current_form->value)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else {
- char *value =
- array_state?array_value:va_arg(params, char *);
- if(value)
- current_form->value = value; /* store for the moment */
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
- case CURLFORM_CONTENTSLENGTH:
- if(current_form->contentslength)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else
- current_form->contentslength =
- array_state?(size_t)array_value:(size_t)va_arg(params, long);
- break;
-
- /* Get contents from a given file name */
- case CURLFORM_FILECONTENT:
- if(current_form->flags != 0)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else {
- const char *filename = array_state?
- array_value:va_arg(params, char *);
- if(filename) {
- current_form->value = strdup(filename);
- if(!current_form->value)
- return_value = CURL_FORMADD_MEMORY;
- else {
- current_form->flags |= HTTPPOST_READFILE;
- current_form->value_alloc = TRUE;
- }
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
-
- /* We upload a file */
- case CURLFORM_FILE:
- {
- const char *filename = array_state?array_value:
- va_arg(params, char *);
-
- if(current_form->value) {
- if(current_form->flags & HTTPPOST_FILENAME) {
- if(filename) {
- if((current_form = AddFormInfo(strdup(filename),
- NULL, current_form)) == NULL)
- return_value = CURL_FORMADD_MEMORY;
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- else
- return_value = CURL_FORMADD_OPTION_TWICE;
- }
- else {
- if(filename) {
- current_form->value = strdup(filename);
- if(!current_form->value)
- return_value = CURL_FORMADD_MEMORY;
- else {
- current_form->flags |= HTTPPOST_FILENAME;
- current_form->value_alloc = TRUE;
- }
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
- }
-
- case CURLFORM_BUFFER:
- {
- const char *filename = array_state?array_value:
- va_arg(params, char *);
-
- if(current_form->value) {
- if(current_form->flags & HTTPPOST_BUFFER) {
- if(filename) {
- if((current_form = AddFormInfo(strdup(filename),
- NULL, current_form)) == NULL)
- return_value = CURL_FORMADD_MEMORY;
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- else
- return_value = CURL_FORMADD_OPTION_TWICE;
- }
- else {
- if(filename) {
- current_form->value = strdup(filename);
- if(!current_form->value)
- return_value = CURL_FORMADD_MEMORY;
- }
- else
- return_value = CURL_FORMADD_NULL;
- current_form->flags |= HTTPPOST_BUFFER;
- }
- break;
- }
-
- case CURLFORM_BUFFERPTR:
- current_form->flags |= HTTPPOST_PTRBUFFER;
- if(current_form->buffer)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else {
- char *buffer =
- array_state?array_value:va_arg(params, char *);
- if(buffer)
- current_form->buffer = buffer; /* store for the moment */
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
-
- case CURLFORM_BUFFERLENGTH:
- if(current_form->bufferlength)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else
- current_form->bufferlength =
- array_state?(size_t)array_value:(size_t)va_arg(params, long);
- break;
-
- case CURLFORM_STREAM:
- current_form->flags |= HTTPPOST_CALLBACK;
- if(current_form->userp)
- return_value = CURL_FORMADD_OPTION_TWICE;
- else {
- char *userp =
- array_state?array_value:va_arg(params, char *);
- if(userp) {
- current_form->userp = userp;
- current_form->value = userp; /* this isn't strictly true but we
- derive a value from this later on
- and we need this non-NULL to be
- accepted as a fine form part */
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
-
- case CURLFORM_CONTENTTYPE:
- {
- const char *contenttype =
- array_state?array_value:va_arg(params, char *);
- if(current_form->contenttype) {
- if(current_form->flags & HTTPPOST_FILENAME) {
- if(contenttype) {
- if((current_form = AddFormInfo(NULL,
- strdup(contenttype),
- current_form)) == NULL)
- return_value = CURL_FORMADD_MEMORY;
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- else
- return_value = CURL_FORMADD_OPTION_TWICE;
- }
- else {
- if(contenttype) {
- current_form->contenttype = strdup(contenttype);
- if(!current_form->contenttype)
- return_value = CURL_FORMADD_MEMORY;
- else
- current_form->contenttype_alloc = TRUE;
- }
- else
- return_value = CURL_FORMADD_NULL;
- }
- break;
- }
- case CURLFORM_CONTENTHEADER:
- {
- /* this "cast increases required alignment of target type" but
- we consider it OK anyway */
- struct curl_slist* list = array_state?
- (struct curl_slist*)array_value:
- va_arg(params, struct curl_slist*);
-
- if( current_form->contentheader )
- return_value = CURL_FORMADD_OPTION_TWICE;
- else
- current_form->contentheader = list;
-
- break;
- }
- case CURLFORM_FILENAME:
- {
- const char *filename = array_state?array_value:
- va_arg(params, char *);
- if( current_form->showfilename )
- return_value = CURL_FORMADD_OPTION_TWICE;
- else {
- current_form->showfilename = strdup(filename);
- if(!current_form->showfilename)
- return_value = CURL_FORMADD_MEMORY;
- else
- current_form->showfilename_alloc = TRUE;
- }
- break;
- }
- default:
- return_value = CURL_FORMADD_UNKNOWN_OPTION;
- }
- }
-
- if(CURL_FORMADD_OK == return_value) {
- /* go through the list, check for completeness and if everything is
- * alright add the HttpPost item otherwise set return_value accordingly */
-
- post = NULL;
- for(form = first_form;
- form != NULL;
- form = form->more) {
- if( ((!form->name || !form->value) && !post) ||
- ( (form->contentslength) &&
- (form->flags & HTTPPOST_FILENAME) ) ||
- ( (form->flags & HTTPPOST_FILENAME) &&
- (form->flags & HTTPPOST_PTRCONTENTS) ) ||
-
- ( (!form->buffer) &&
- (form->flags & HTTPPOST_BUFFER) &&
- (form->flags & HTTPPOST_PTRBUFFER) ) ||
-
- ( (form->flags & HTTPPOST_READFILE) &&
- (form->flags & HTTPPOST_PTRCONTENTS) )
- ) {
- return_value = CURL_FORMADD_INCOMPLETE;
- break;
- }
- else {
- if( ((form->flags & HTTPPOST_FILENAME) ||
- (form->flags & HTTPPOST_BUFFER)) &&
- !form->contenttype ) {
- /* our contenttype is missing */
- form->contenttype
- = strdup(ContentTypeForFilename(form->value, prevtype));
- if(!form->contenttype) {
- return_value = CURL_FORMADD_MEMORY;
- break;
- }
- form->contenttype_alloc = TRUE;
- }
- if( !(form->flags & HTTPPOST_PTRNAME) &&
- (form == first_form) ) {
- /* copy name (without strdup; possibly contains null characters) */
- form->name = memdup(form->name, form->namelength);
- if(!form->name) {
- return_value = CURL_FORMADD_MEMORY;
- break;
- }
- form->name_alloc = TRUE;
- }
- if( !(form->flags & (HTTPPOST_FILENAME | HTTPPOST_READFILE |
- HTTPPOST_PTRCONTENTS | HTTPPOST_PTRBUFFER |
- HTTPPOST_CALLBACK)) ) {
- /* copy value (without strdup; possibly contains null characters) */
- form->value = memdup(form->value, form->contentslength);
- if(!form->value) {
- return_value = CURL_FORMADD_MEMORY;
- break;
- }
- form->value_alloc = TRUE;
- }
- post = AddHttpPost(form->name, form->namelength,
- form->value, form->contentslength,
- form->buffer, form->bufferlength,
- form->contenttype, form->flags,
- form->contentheader, form->showfilename,
- form->userp,
- post, httppost,
- last_post);
-
- if(!post) {
- return_value = CURL_FORMADD_MEMORY;
- break;
- }
-
- if(form->contenttype)
- prevtype = form->contenttype;
- }
- }
- }
-
- if(return_value) {
- /* we return on error, free possibly allocated fields */
- if(!form)
- form = current_form;
- if(form) {
- if(form->name_alloc)
- free(form->name);
- if(form->value_alloc)
- free(form->value);
- if(form->contenttype_alloc)
- free(form->contenttype);
- if(form->showfilename_alloc)
- free(form->showfilename);
- }
- }
-
- /* always delete the allocated memory before returning */
- form = first_form;
- while(form != NULL) {
- FormInfo *delete_form;
-
- delete_form = form;
- form = form->more;
- free (delete_form);
- }
-
- return return_value;
-}
-
-/*
- * curl_formadd() is a public API to add a section to the multipart formpost.
- */
-
-CURLFORMcode curl_formadd(struct curl_httppost **httppost,
- struct curl_httppost **last_post,
- ...)
-{
- va_list arg;
- CURLFORMcode result;
- va_start(arg, last_post);
- result = FormAdd(httppost, last_post, arg);
- va_end(arg);
- return result;
-}
-
-/*
- * AddFormData() adds a chunk of data to the FormData linked list.
- *
- * size is incremented by the chunk length, unless it is NULL
- */
-static CURLcode AddFormData(struct FormData **formp,
- enum formtype type,
- const void *line,
- size_t length,
- curl_off_t *size)
-{
- struct FormData *newform = (struct FormData *)
- malloc(sizeof(struct FormData));
- if(!newform)
- return CURLE_OUT_OF_MEMORY;
- newform->next = NULL;
-
- if(type <= FORM_CONTENT) {
- /* we make it easier for plain strings: */
- if(!length)
- length = strlen((char *)line);
-
- newform->line = (char *)malloc(length+1);
- if(!newform->line) {
- free(newform);
- return CURLE_OUT_OF_MEMORY;
- }
- memcpy(newform->line, line, length);
- newform->length = length;
- newform->line[length]=0; /* zero terminate for easier debugging */
- }
- else
- /* For callbacks and files we don't have any actual data so we just keep a
- pointer to whatever this points to */
- newform->line = (char *)line;
-
- newform->type = type;
-
- if(*formp) {
- (*formp)->next = newform;
- *formp = newform;
- }
- else
- *formp = newform;
-
- if(size) {
- if(type != FORM_FILE)
- /* for static content as well as callback data we add the size given
- as input argument */
- *size += length;
- else {
- /* Since this is a file to be uploaded here, add the size of the actual
- file */
- if(!strequal("-", newform->line)) {
- struct_stat file;
- if(!stat(newform->line, &file)) {
- *size += file.st_size;
- }
- }
- }
- }
- return CURLE_OK;
-}
-
-/*
- * AddFormDataf() adds printf()-style formatted data to the formdata chain.
- */
-
-static CURLcode AddFormDataf(struct FormData **formp,
- curl_off_t *size,
- const char *fmt, ...)
-{
- char s[4096];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(s, sizeof(s), fmt, ap);
- va_end(ap);
-
- return AddFormData(formp, FORM_DATA, s, 0, size);
-}
-
-/*
- * Curl_formclean() is used from http.c, this cleans a built FormData linked
- * list
- */
-void Curl_formclean(struct FormData **form_ptr)
-{
- struct FormData *next, *form;
-
- form = *form_ptr;
- if(!form)
- return;
-
- do {
- next=form->next; /* the following form line */
- if(form->type <= FORM_CONTENT)
- free(form->line); /* free the line */
- free(form); /* free the struct */
-
- } while((form = next) != NULL); /* continue */
-
- *form_ptr = NULL;
-}
-
-#ifdef CURL_DOES_CONVERSIONS
-/*
- * Curl_formcovert() is used from http.c, this converts any
- form items that need to be sent in the network encoding.
- Returns CURLE_OK on success.
- */
-CURLcode Curl_formconvert(struct SessionHandle *data, struct FormData *form)
-{
- struct FormData *next;
- CURLcode rc;
-
- if(!form)
- return CURLE_OK;
-
- if(!data)
- return CURLE_BAD_FUNCTION_ARGUMENT;
-
- do {
- next=form->next; /* the following form line */
- if(form->type == FORM_DATA) {
- rc = Curl_convert_to_network(data, form->line, form->length);
- /* Curl_convert_to_network calls failf if unsuccessful */
- if(rc != CURLE_OK)
- return rc;
- }
- } while((form = next) != NULL); /* continue */
- return CURLE_OK;
-}
-#endif /* CURL_DOES_CONVERSIONS */
-
-/*
- * curl_formget()
- * Serialize a curl_httppost struct.
- * Returns 0 on success.
- */
-int curl_formget(struct curl_httppost *form, void *arg,
- curl_formget_callback append)
-{
- CURLcode rc;
- curl_off_t size;
- struct FormData *data, *ptr;
-
- rc = Curl_getFormData(&data, form, NULL, &size);
- if(rc != CURLE_OK)
- return (int)rc;
-
- for (ptr = data; ptr; ptr = ptr->next) {
- if(ptr->type == FORM_FILE) {
- char buffer[8192];
- size_t nread;
- struct Form temp;
-
- Curl_FormInit(&temp, ptr);
-
- do {
- nread = readfromfile(&temp, buffer, sizeof(buffer));
- if((nread == (size_t) -1) || (nread != append(arg, buffer, nread))) {
- if(temp.fp) {
- fclose(temp.fp);
- }
- Curl_formclean(&data);
- return -1;
- }
- } while(nread == sizeof(buffer));
- } else {
- if(ptr->length != append(arg, ptr->line, ptr->length)) {
- Curl_formclean(&data);
- return -1;
- }
- }
- }
- Curl_formclean(&data);
- return 0;
-}
-
-/*
- * curl_formfree() is an external function to free up a whole form post
- * chain
- */
-void curl_formfree(struct curl_httppost *form)
-{
- struct curl_httppost *next;
-
- if(!form)
- /* no form to free, just get out of this */
- return;
-
- do {
- next=form->next; /* the following form line */
-
- /* recurse to sub-contents */
- if(form->more)
- curl_formfree(form->more);
-
- if( !(form->flags & HTTPPOST_PTRNAME) && form->name)
- free(form->name); /* free the name */
- if( !(form->flags & (HTTPPOST_PTRCONTENTS|HTTPPOST_CALLBACK)) &&
- form->contents)
- free(form->contents); /* free the contents */
- if(form->contenttype)
- free(form->contenttype); /* free the content type */
- if(form->showfilename)
- free(form->showfilename); /* free the faked file name */
- free(form); /* free the struct */
-
- } while((form = next) != NULL); /* continue */
-}
-
-#ifndef HAVE_BASENAME
-/*
- (Quote from The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004
- Edition)
-
- The basename() function shall take the pathname pointed to by path and
- return a pointer to the final component of the pathname, deleting any
- trailing '/' characters.
-
- If the string pointed to by path consists entirely of the '/' character,
- basename() shall return a pointer to the string "/". If the string pointed
- to by path is exactly "//", it is implementation-defined whether '/' or "//"
- is returned.
-
- If path is a null pointer or points to an empty string, basename() shall
- return a pointer to the string ".".
-
- The basename() function may modify the string pointed to by path, and may
- return a pointer to static storage that may then be overwritten by a
- subsequent call to basename().
-
- The basename() function need not be reentrant. A function that is not
- required to be reentrant is not required to be thread-safe.
-
-*/
-static char *basename(char *path)
-{
- /* Ignore all the details above for now and make a quick and simple
- implementaion here */
- char *s1;
- char *s2;
-
- s1=strrchr(path, '/');
- s2=strrchr(path, '\\');
-
- if(s1 && s2) {
- path = (s1 > s2? s1 : s2)+1;
- }
- else if(s1)
- path = s1 + 1;
- else if(s2)
- path = s2 + 1;
-
- return path;
-}
-#endif
-
-static char *strippath(const char *fullfile)
-{
- char *filename;
- char *base;
- filename = strdup(fullfile); /* duplicate since basename() may ruin the
- buffer it works on */
- if(!filename)
- return NULL;
- base = strdup(basename(filename));
-
- free(filename); /* free temporary buffer */
-
- return base; /* returns an allocated string! */
-}
-
-/*
- * Curl_getFormData() converts a linked list of "meta data" into a complete
- * (possibly huge) multipart formdata. The input list is in 'post', while the
- * output resulting linked lists gets stored in '*finalform'. *sizep will get
- * the total size of the whole POST.
- * A multipart/form_data content-type is built, unless a custom content-type
- * is passed in 'custom_content_type'.
- */
-
-CURLcode Curl_getFormData(struct FormData **finalform,
- struct curl_httppost *post,
- const char *custom_content_type,
- curl_off_t *sizep)
-{
- struct FormData *form = NULL;
- struct FormData *firstform;
- struct curl_httppost *file;
- CURLcode result = CURLE_OK;
-
- curl_off_t size=0; /* support potentially ENORMOUS formposts */
- char *boundary;
- char *fileboundary=NULL;
- struct curl_slist* curList;
-
- *finalform=NULL; /* default form is empty */
-
- if(!post)
- return result; /* no input => no output! */
-
- boundary = Curl_FormBoundary();
- if(!boundary)
- return CURLE_OUT_OF_MEMORY;
-
- /* Make the first line of the output */
- result = AddFormDataf(&form, NULL,
- "%s; boundary=%s\r\n",
- custom_content_type?custom_content_type:
- "Content-Type: multipart/form-data",
- boundary);
-
- if(result) {
- free(boundary);
- return result;
- }
- /* we DO NOT include that line in the total size of the POST, since it'll be
- part of the header! */
-
- firstform = form;
-
- do {
-
- if(size) {
- result = AddFormDataf(&form, &size, "\r\n");
- if(result)
- break;
- }
-
- /* boundary */
- result = AddFormDataf(&form, &size, "--%s\r\n", boundary);
- if(result)
- break;
-
- /* Maybe later this should be disabled when a custom_content_type is
- passed, since Content-Disposition is not meaningful for all multipart
- types.
- */
- result = AddFormDataf(&form, &size,
- "Content-Disposition: form-data; name=\"");
- if(result)
- break;
-
- result = AddFormData(&form, FORM_DATA, post->name, post->namelength,
- &size);
- if(result)
- break;
-
- result = AddFormDataf(&form, &size, "\"");
- if(result)
- break;
-
- if(post->more) {
- /* If used, this is a link to more file names, we must then do
- the magic to include several files with the same field name */
-
- fileboundary = Curl_FormBoundary();
-
- result = AddFormDataf(&form, &size,
- "\r\nContent-Type: multipart/mixed,"
- " boundary=%s\r\n",
- fileboundary);
- if(result)
- break;
- }
-
- file = post;
-
- do {
-
- /* If 'showfilename' is set, that is a faked name passed on to us
- to use to in the formpost. If that is not set, the actually used
- local file name should be added. */
-
- if(post->more) {
- /* if multiple-file */
- char *filebasename=
- (!file->showfilename)?strippath(file->contents):NULL;
-
- result = AddFormDataf(&form, &size,
- "\r\n--%s\r\nContent-Disposition: "
- "attachment; filename=\"%s\"",
- fileboundary,
- (file->showfilename?file->showfilename:
- filebasename));
- if(filebasename)
- free(filebasename);
- if(result)
- break;
- }
- else if(post->flags & (HTTPPOST_FILENAME|HTTPPOST_BUFFER|
- HTTPPOST_CALLBACK)) {
- /* it should be noted that for the HTTPPOST_FILENAME and
- HTTPPOST_CALLBACK cases the ->showfilename struct member is always
- assigned at this point */
- char *filebasename=
- (!post->showfilename)?strippath(post->contents):NULL;
-
- result = AddFormDataf(&form, &size,
- "; filename=\"%s\"",
- (post->showfilename?post->showfilename:
- filebasename));
- if(filebasename)
- free(filebasename);
-
- if(result)
- break;
- }
-
- if(file->contenttype) {
- /* we have a specified type */
- result = AddFormDataf(&form, &size,
- "\r\nContent-Type: %s",
- file->contenttype);
- if(result)
- break;
- }
-
- curList = file->contentheader;
- while( curList ) {
- /* Process the additional headers specified for this form */
- result = AddFormDataf( &form, &size, "\r\n%s", curList->data );
- if(result)
- break;
- curList = curList->next;
- }
- if(result) {
- Curl_formclean(&firstform);
- free(boundary);
- return result;
- }
-
-#if 0
- /* The header Content-Transfer-Encoding: seems to confuse some receivers
- * (like the built-in PHP engine). While I can't see any reason why it
- * should, I can just as well skip this to the benefit of the users who
- * are using such confused receivers.
- */
-
- if(file->contenttype &&
- !checkprefix("text/", file->contenttype)) {
- /* this is not a text content, mention our binary encoding */
- result = AddFormDataf(&form, &size,
- "\r\nContent-Transfer-Encoding: binary");
- if(result)
- break;
- }
-#endif
-
- result = AddFormDataf(&form, &size, "\r\n\r\n");
- if(result)
- break;
-
- if((post->flags & HTTPPOST_FILENAME) ||
- (post->flags & HTTPPOST_READFILE)) {
- /* we should include the contents from the specified file */
- FILE *fileread;
-
- fileread = strequal("-", file->contents)?
- stdin:fopen(file->contents, "rb"); /* binary read for win32 */
-
- /*
- * VMS: This only allows for stream files on VMS. Stream files are
- * OK, as are FIXED & VAR files WITHOUT implied CC For implied CC,
- * every record needs to have a \n appended & 1 added to SIZE
- */
-
- if(fileread) {
- if(fileread != stdin) {
- /* close the file again */
- fclose(fileread);
- /* add the file name only - for later reading from this */
- result = AddFormData(&form, FORM_FILE, file->contents, 0, &size);
- }
- else {
- /* When uploading from stdin, we can't know the size of the file,
- * thus must read the full file as before. We *could* use chunked
- * transfer-encoding, but that only works for HTTP 1.1 and we
- * can't be sure we work with such a server.
- */
- size_t nread;
- char buffer[512];
- while((nread = fread(buffer, 1, sizeof(buffer), fileread)) != 0) {
- result = AddFormData(&form, FORM_CONTENT, buffer, nread, &size);
- if(result)
- break;
- }
- }
-
- if(result) {
- Curl_formclean(&firstform);
- free(boundary);
- return result;
- }
-
- }
- else {
-#ifdef _FORM_DEBUG
- fprintf(stderr,
- "\n==> Curl_getFormData couldn't open/read \"%s\"\n",
- file->contents);
-#endif
- Curl_formclean(&firstform);
- free(boundary);
- *finalform = NULL;
- return CURLE_READ_ERROR;
- }
-
- }
- else if(post->flags & HTTPPOST_BUFFER) {
- /* include contents of buffer */
- result = AddFormData(&form, FORM_CONTENT, post->buffer,
- post->bufferlength, &size);
- if(result)
- break;
- }
- else if(post->flags & HTTPPOST_CALLBACK) {
- /* the contents should be read with the callback and the size
- is set with the contentslength */
- result = AddFormData(&form, FORM_CALLBACK, post->userp,
- post->contentslength, &size);
- if(result)
- break;
- }
- else {
- /* include the contents we got */
- result = AddFormData(&form, FORM_CONTENT, post->contents,
- post->contentslength, &size);
- if(result)
- break;
- }
- } while((file = file->more) != NULL); /* for each specified file for this field */
- if(result) {
- Curl_formclean(&firstform);
- free(boundary);
- return result;
- }
-
- if(post->more) {
- /* this was a multiple-file inclusion, make a termination file
- boundary: */
- result = AddFormDataf(&form, &size,
- "\r\n--%s--",
- fileboundary);
- free(fileboundary);
- if(result)
- break;
- }
-
- } while((post = post->next) != NULL); /* for each field */
- if(result) {
- Curl_formclean(&firstform);
- free(boundary);
- return result;
- }
-
- /* end-boundary for everything */
- result = AddFormDataf(&form, &size,
- "\r\n--%s--\r\n",
- boundary);
- if(result) {
- Curl_formclean(&firstform);
- free(boundary);
- return result;
- }
-
- *sizep = size;
-
- free(boundary);
-
- *finalform=firstform;
-
- return result;
-}
-
-/*
- * Curl_FormInit() inits the struct 'form' points to with the 'formdata'
- * and resets the 'sent' counter.
- */
-int Curl_FormInit(struct Form *form, struct FormData *formdata )
-{
- if(!formdata)
- return 1; /* error */
-
- form->data = formdata;
- form->sent = 0;
- form->fp = NULL;
-
- return 0;
-}
-
-static size_t readfromfile(struct Form *form, char *buffer,
- size_t size)
-{
- size_t nread;
- bool callback = (bool)(form->data->type == FORM_CALLBACK);
-
- if(callback)
- nread = form->fread_func(buffer, 1, size, form->data->line);
- else {
- if(!form->fp) {
- /* this file hasn't yet been opened */
- form->fp = fopen(form->data->line, "rb"); /* b is for binary */
- if(!form->fp)
- return (size_t)-1; /* failure */
- }
- nread = fread(buffer, 1, size, form->fp);
- }
- if(!nread || nread > size) {
- /* this is the last chunk from the file, move on */
- if(!callback) {
- fclose(form->fp);
- form->fp = NULL;
- }
- form->data = form->data->next;
- }
-
- return nread;
-}
-
-/*
- * Curl_FormReader() is the fread() emulation function that will be used to
- * deliver the formdata to the transfer loop and then sent away to the peer.
- */
-size_t Curl_FormReader(char *buffer,
- size_t size,
- size_t nitems,
- FILE *mydata)
-{
- struct Form *form;
- size_t wantedsize;
- size_t gotsize = 0;
-
- form=(struct Form *)mydata;
-
- wantedsize = size * nitems;
-
- if(!form->data)
- return 0; /* nothing, error, empty */
-
- if((form->data->type == FORM_FILE) ||
- (form->data->type == FORM_CALLBACK)) {
- gotsize = readfromfile(form, buffer, wantedsize);
-
- if(gotsize)
- /* If positive or -1, return. If zero, continue! */
- return gotsize;
- }
- do {
-
- if( (form->data->length - form->sent ) > wantedsize - gotsize) {
-
- memcpy(buffer + gotsize , form->data->line + form->sent,
- wantedsize - gotsize);
-
- form->sent += wantedsize-gotsize;
-
- return wantedsize;
- }
-
- memcpy(buffer+gotsize,
- form->data->line + form->sent,
- (form->data->length - form->sent) );
- gotsize += form->data->length - form->sent;
-
- form->sent = 0;
-
- form->data = form->data->next; /* advance */
-
- } while(form->data && (form->data->type < FORM_CALLBACK));
- /* If we got an empty line and we have more data, we proceed to the next
- line immediately to avoid returning zero before we've reached the end. */
-
- return gotsize;
-}
-
-/*
- * Curl_formpostheader() returns the first line of the formpost, the
- * request-header part (which is not part of the request-body like the rest of
- * the post).
- */
-char *Curl_formpostheader(void *formp, size_t *len)
-{
- char *header;
- struct Form *form=(struct Form *)formp;
-
- if(!form->data)
- return 0; /* nothing, ERROR! */
-
- header = form->data->line;
- *len = form->data->length;
-
- form->data = form->data->next; /* advance */
-
- return header;
-}
-
-
-#ifdef _FORM_DEBUG
-int FormAddTest(const char * errormsg,
- struct curl_httppost **httppost,
- struct curl_httppost **last_post,
- ...)
-{
- int result;
- va_list arg;
- va_start(arg, last_post);
- if((result = FormAdd(httppost, last_post, arg)))
- fprintf (stderr, "ERROR doing FormAdd ret: %d action: %s\n", result,
- errormsg);
- va_end(arg);
- return result;
-}
-
-
-int main(int argc, argv_item_t argv[])
-{
- char name1[] = "simple_COPYCONTENTS";
- char name2[] = "COPYCONTENTS_+_CONTENTTYPE";
- char name3[] = "PTRNAME_+_NAMELENGTH_+_COPYNAME_+_CONTENTSLENGTH";
- char name4[] = "simple_PTRCONTENTS";
- char name5[] = "PTRCONTENTS_+_CONTENTSLENGTH";
- char name6[] = "PTRCONTENTS_+_CONTENTSLENGTH_+_CONTENTTYPE";
- char name7[] = "FILE1_+_CONTENTTYPE";
- char name8[] = "FILE1_+_FILE2";
- char name9[] = "FILE1_+_FILE2_+_FILE3";
- char name10[] = "ARRAY: FILE1_+_FILE2_+_FILE3";
- char name11[] = "FILECONTENT";
- char value1[] = "value for simple COPYCONTENTS";
- char value2[] = "value for COPYCONTENTS + CONTENTTYPE";
- char value3[] = "value for PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH";
- char value4[] = "value for simple PTRCONTENTS";
- char value5[] = "value for PTRCONTENTS + CONTENTSLENGTH";
- char value6[] = "value for PTRCONTENTS + CONTENTSLENGTH + CONTENTTYPE";
- char value7[] = "inet_ntoa_r.h";
- char value8[] = "Makefile.b32";
- char type2[] = "image/gif";
- char type6[] = "text/plain";
- char type7[] = "text/html";
- int name3length = strlen(name3);
- int value3length = strlen(value3);
- int value5length = strlen(value5);
- int value6length = strlen(value6);
- int errors = 0;
- CURLcode rc;
- curl_off_t size;
- size_t nread;
- char buffer[4096];
- struct curl_httppost *httppost=NULL;
- struct curl_httppost *last_post=NULL;
- struct curl_forms forms[4];
-
- struct FormData *form;
- struct Form formread;
-
- (void) argc;
- (void) argv;
-
- if(FormAddTest("simple COPYCONTENTS test", &httppost, &last_post,
- CURLFORM_COPYNAME, name1, CURLFORM_COPYCONTENTS, value1,
- CURLFORM_END))
- ++errors;
- if(FormAddTest("COPYCONTENTS + CONTENTTYPE test", &httppost, &last_post,
- CURLFORM_COPYNAME, name2, CURLFORM_COPYCONTENTS, value2,
- CURLFORM_CONTENTTYPE, type2, CURLFORM_END))
- ++errors;
- /* make null character at start to check that contentslength works
- correctly */
- name3[1] = '\0';
- value3[1] = '\0';
- if(FormAddTest("PTRNAME + NAMELENGTH + COPYNAME + CONTENTSLENGTH test",
- &httppost, &last_post,
- CURLFORM_PTRNAME, name3, CURLFORM_COPYCONTENTS, value3,
- CURLFORM_CONTENTSLENGTH, value3length,
- CURLFORM_NAMELENGTH, name3length, CURLFORM_END))
- ++errors;
- if(FormAddTest("simple PTRCONTENTS test", &httppost, &last_post,
- CURLFORM_COPYNAME, name4, CURLFORM_PTRCONTENTS, value4,
- CURLFORM_END))
- ++errors;
- /* make null character at start to check that contentslength works
- correctly */
- value5[1] = '\0';
- if(FormAddTest("PTRCONTENTS + CONTENTSLENGTH test", &httppost, &last_post,
- CURLFORM_COPYNAME, name5, CURLFORM_PTRCONTENTS, value5,
- CURLFORM_CONTENTSLENGTH, value5length, CURLFORM_END))
- ++errors;
- /* make null character at start to check that contentslength works
- correctly */
- value6[1] = '\0';
- if(FormAddTest("PTRCONTENTS + CONTENTSLENGTH + CONTENTTYPE test",
- &httppost, &last_post,
- CURLFORM_COPYNAME, name6, CURLFORM_PTRCONTENTS, value6,
- CURLFORM_CONTENTSLENGTH, value6length,
- CURLFORM_CONTENTTYPE, type6, CURLFORM_END))
- ++errors;
- if(FormAddTest("FILE + CONTENTTYPE test", &httppost, &last_post,
- CURLFORM_COPYNAME, name7, CURLFORM_FILE, value7,
- CURLFORM_CONTENTTYPE, type7, CURLFORM_END))
- ++errors;
- if(FormAddTest("FILE1 + FILE2 test", &httppost, &last_post,
- CURLFORM_COPYNAME, name8, CURLFORM_FILE, value7,
- CURLFORM_FILE, value8, CURLFORM_END))
- ++errors;
- if(FormAddTest("FILE1 + FILE2 + FILE3 test", &httppost, &last_post,
- CURLFORM_COPYNAME, name9, CURLFORM_FILE, value7,
- CURLFORM_FILE, value8, CURLFORM_FILE, value7, CURLFORM_END))
- ++errors;
- forms[0].option = CURLFORM_FILE;
- forms[0].value = value7;
- forms[1].option = CURLFORM_FILE;
- forms[1].value = value8;
- forms[2].option = CURLFORM_FILE;
- forms[2].value = value7;
- forms[3].option = CURLFORM_END;
- if(FormAddTest("FILE1 + FILE2 + FILE3 ARRAY test", &httppost, &last_post,
- CURLFORM_COPYNAME, name10, CURLFORM_ARRAY, forms,
- CURLFORM_END))
- ++errors;
- if(FormAddTest("FILECONTENT test", &httppost, &last_post,
- CURLFORM_COPYNAME, name11, CURLFORM_FILECONTENT, value7,
- CURLFORM_END))
- ++errors;
-
- rc = Curl_getFormData(&form, httppost, NULL, &size);
- if(rc != CURLE_OK) {
- if(rc != CURLE_READ_ERROR) {
- const char *errortext = curl_easy_strerror(rc);
- fprintf(stdout, "\n==> Curl_getFormData error: %s\n", errortext);
- }
- return 0;
- }
-
- Curl_FormInit(&formread, form);
-
- do {
- nread = Curl_FormReader(buffer, 1, sizeof(buffer),
- (FILE *)&formread);
-
- if(nread < 1)
- break;
- fwrite(buffer, nread, 1, stdout);
- } while(1);
-
- fprintf(stdout, "size: ");
- fprintf(stdout, "%" FORMAT_OFF_T, size);
- fprintf(stdout, "\n");
- if(errors)
- fprintf(stdout, "\n==> %d Test(s) failed!\n", errors);
- else
- fprintf(stdout, "\nAll Tests seem to have worked (please check output)\n");
-
- return 0;
-}
-
-#endif /* _FORM_DEBUG */
-
-#else /* CURL_DISABLE_HTTP */
-CURLFORMcode curl_formadd(struct curl_httppost **httppost,
- struct curl_httppost **last_post,
- ...)
-{
- (void)httppost;
- (void)last_post;
- return CURL_FORMADD_DISABLED;
-}
-
-int curl_formget(struct curl_httppost *form, void *arg,
- curl_formget_callback append)
-{
- (void) form;
- (void) arg;
- (void) append;
- return CURL_FORMADD_DISABLED;
-}
-
-void curl_formfree(struct curl_httppost *form)
-{
- (void)form;
- /* does nothing HTTP is disabled */
-}
-
-#endif /* CURL_DISABLE_HTTP */
-
-#if !defined(CURL_DISABLE_HTTP) || defined(USE_SSLEAY)
-
-/*
- * Curl_FormBoundary() creates a suitable boundary string and returns an
- * allocated one. This is also used by SSL-code so it must be present even
- * if HTTP is disabled!
- */
-char *Curl_FormBoundary(void)
-{
- char *retstring;
- static int randomizer; /* this is just so that two boundaries within
- the same form won't be identical */
- size_t i;
-
- static const char table16[]="abcdef0123456789";
-
- retstring = (char *)malloc(BOUNDARY_LENGTH+1);
-
- if(!retstring)
- return NULL; /* failed */
-
- srand((unsigned int)time(NULL)+randomizer++); /* seed */
-
- strcpy(retstring, "----------------------------");
-
- for(i=strlen(retstring); i<BOUNDARY_LENGTH; i++)
- retstring[i] = table16[rand()%16];
-
- /* 28 dashes and 12 hexadecimal digits makes 12^16 (184884258895036416)
- combinations */
- retstring[BOUNDARY_LENGTH]=0; /* zero terminate */
-
- return retstring;
-}
-
-#endif /* !defined(CURL_DISABLE_HTTP) || defined(USE_SSLEAY) */
diff --git a/Utilities/cmcurl-7.19.0/lib/formdata.h b/Utilities/cmcurl-7.19.0/lib/formdata.h
deleted file mode 100644
index 04f1393..0000000
--- a/Utilities/cmcurl-7.19.0/lib/formdata.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef __FORMDATA_H
-#define __FORMDATA_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-enum formtype {
- FORM_DATA, /* form metadata (convert to network encoding if necessary) */
- FORM_CONTENT, /* form content (never convert) */
- FORM_CALLBACK, /* 'line' points to the custom pointer we pass to the callback
- */
- FORM_FILE /* 'line' points to a file name we should read from
- to create the form data (never convert) */
-};
-
-/* plain and simple linked list with lines to send */
-struct FormData {
- struct FormData *next;
- enum formtype type;
- char *line;
- size_t length;
-};
-
-struct Form {
- struct FormData *data; /* current form line to send */
- size_t sent; /* number of bytes of the current line that has
- already been sent in a previous invoke */
- FILE *fp; /* file to read from */
- curl_read_callback fread_func; /* fread callback pointer */
-};
-
-/* used by FormAdd for temporary storage */
-typedef struct FormInfo {
- char *name;
- bool name_alloc;
- size_t namelength;
- char *value;
- bool value_alloc;
- size_t contentslength;
- char *contenttype;
- bool contenttype_alloc;
- long flags;
- char *buffer; /* pointer to existing buffer used for file upload */
- size_t bufferlength;
- char *showfilename; /* The file name to show. If not set, the actual
- file name will be used */
- bool showfilename_alloc;
- char *userp; /* pointer for the read callback */
- struct curl_slist* contentheader;
- struct FormInfo *more;
-} FormInfo;
-
-int Curl_FormInit(struct Form *form, struct FormData *formdata );
-
-CURLcode
-Curl_getFormData(struct FormData **,
- struct curl_httppost *post,
- const char *custom_contenttype,
- curl_off_t *size);
-
-/* fread() emulation */
-size_t Curl_FormReader(char *buffer,
- size_t size,
- size_t nitems,
- FILE *mydata);
-
-/*
- * Curl_formpostheader() returns the first line of the formpost, the
- * request-header part (which is not part of the request-body like the rest of
- * the post).
- */
-char *Curl_formpostheader(void *formp, size_t *len);
-
-char *Curl_FormBoundary(void);
-
-void Curl_formclean(struct FormData **);
-
-CURLcode Curl_formconvert(struct SessionHandle *, struct FormData *);
-
-#endif
-
diff --git a/Utilities/cmcurl-7.19.0/lib/ftp.c b/Utilities/cmcurl-7.19.0/lib/ftp.c
deleted file mode 100644
index d53134d..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ftp.c
+++ /dev/null
@@ -1,4191 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_FTP
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <ctype.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifndef WIN32
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_UTSNAME_H
-#include <sys/utsname.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#endif
-#endif /* !WIN32 */
-
-#if (defined(NETWARE) && defined(__NOVELL_LIBC__))
-#undef in_addr_t
-#define in_addr_t unsigned long
-#endif
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "sendf.h"
-#include "easyif.h" /* for Curl_convert_... prototypes */
-
-#include "if2ip.h"
-#include "hostip.h"
-#include "progress.h"
-#include "transfer.h"
-#include "escape.h"
-#include "http.h" /* for HTTP proxy tunnel stuff */
-#include "socks.h"
-#include "ftp.h"
-
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
-#include "krb4.h"
-#endif
-
-#include "strtoofft.h"
-#include "strequal.h"
-#include "sslgen.h"
-#include "connect.h"
-#include "strerror.h"
-#include "memory.h"
-#include "inet_ntop.h"
-#include "select.h"
-#include "parsedate.h" /* for the week day and month names */
-#include "sockaddr.h" /* required for Curl_sockaddr_storage */
-#include "multiif.h"
-#include "url.h"
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#ifdef CURLDEBUG
-#include "memdebug.h"
-#endif
-
-#ifdef HAVE_NI_WITHSCOPEID
-#define NIFLAGS NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID
-#else
-#define NIFLAGS NI_NUMERICHOST | NI_NUMERICSERV
-#endif
-
-#ifdef __SYMBIAN32__
-/* Symbian OS panics when given a timeout much greater than 1/2 hour */
-#define RESP_TIMEOUT (1800*1000)
-#else
-/* Default response timeout in milliseconds */
-#define RESP_TIMEOUT (3600*1000)
-#endif
-
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define ftp_pasv_verbose(a,b,c,d) do { } while(0)
-#endif
-
-/* Local API functions */
-static CURLcode ftp_sendquote(struct connectdata *conn,
- struct curl_slist *quote);
-static CURLcode ftp_quit(struct connectdata *conn);
-static CURLcode ftp_parse_url_path(struct connectdata *conn);
-static CURLcode ftp_regular_transfer(struct connectdata *conn, bool *done);
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
-static void ftp_pasv_verbose(struct connectdata *conn,
- Curl_addrinfo *ai,
- char *newhost, /* ascii version */
- int port);
-#endif
-static CURLcode ftp_state_post_rest(struct connectdata *conn);
-static CURLcode ftp_state_post_cwd(struct connectdata *conn);
-static CURLcode ftp_state_quote(struct connectdata *conn,
- bool init, ftpstate instate);
-static CURLcode ftp_nb_type(struct connectdata *conn,
- bool ascii, ftpstate newstate);
-static int ftp_need_type(struct connectdata *conn,
- bool ascii);
-static CURLcode ftp_do(struct connectdata *conn, bool *done);
-static CURLcode ftp_done(struct connectdata *conn,
- CURLcode, bool premature);
-static CURLcode ftp_connect(struct connectdata *conn, bool *done);
-static CURLcode ftp_disconnect(struct connectdata *conn);
-static CURLcode ftp_nextconnect(struct connectdata *conn);
-static CURLcode ftp_multi_statemach(struct connectdata *conn, bool *done);
-static int ftp_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-static CURLcode ftp_doing(struct connectdata *conn,
- bool *dophase_done);
-static CURLcode ftp_setup_connection(struct connectdata * conn);
-#ifdef USE_SSL
-static CURLcode ftps_setup_connection(struct connectdata * conn);
-#endif
-
-/* easy-to-use macro: */
-#define FTPSENDF(x,y,z) if((result = Curl_ftpsendf(x,y,z)) != CURLE_OK) \
- return result
-#define NBFTPSENDF(x,y,z) if((result = Curl_nbftpsendf(x,y,z)) != CURLE_OK) \
- return result
-
-
-/*
- * FTP protocol handler.
- */
-
-const struct Curl_handler Curl_handler_ftp = {
- "FTP", /* scheme */
- ftp_setup_connection, /* setup_connection */
- ftp_do, /* do_it */
- ftp_done, /* done */
- ftp_nextconnect, /* do_more */
- ftp_connect, /* connect_it */
- ftp_multi_statemach, /* connecting */
- ftp_doing, /* doing */
- ftp_getsock, /* proto_getsock */
- ftp_getsock, /* doing_getsock */
- ftp_disconnect, /* disconnect */
- PORT_FTP, /* defport */
- PROT_FTP /* protocol */
-};
-
-
-#ifdef USE_SSL
-/*
- * FTPS protocol handler.
- */
-
-const struct Curl_handler Curl_handler_ftps = {
- "FTPS", /* scheme */
- ftps_setup_connection, /* setup_connection */
- ftp_do, /* do_it */
- ftp_done, /* done */
- ftp_nextconnect, /* do_more */
- ftp_connect, /* connect_it */
- ftp_multi_statemach, /* connecting */
- ftp_doing, /* doing */
- ftp_getsock, /* proto_getsock */
- ftp_getsock, /* doing_getsock */
- ftp_disconnect, /* disconnect */
- PORT_FTPS, /* defport */
- PROT_FTP | PROT_FTPS | PROT_SSL /* protocol */
-};
-#endif
-
-#ifndef CURL_DISABLE_HTTP
-/*
- * HTTP-proxyed FTP protocol handler.
- */
-
-const struct Curl_handler Curl_handler_ftp_proxy = {
- "FTP", /* scheme */
- ZERO_NULL, /* setup_connection */
- Curl_http, /* do_it */
- Curl_http_done, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_FTP, /* defport */
- PROT_HTTP /* protocol */
-};
-
-
-#ifdef USE_SSL
-/*
- * HTTP-proxyed FTPS protocol handler.
- */
-
-const struct Curl_handler Curl_handler_ftps_proxy = {
- "FTPS", /* scheme */
- ZERO_NULL, /* setup_connection */
- Curl_http, /* do_it */
- Curl_http_done, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_FTPS, /* defport */
- PROT_HTTP /* protocol */
-};
-#endif
-#endif
-
-
-/*
- * NOTE: back in the old days, we added code in the FTP code that made NOBODY
- * requests on files respond with headers passed to the client/stdout that
- * looked like HTTP ones.
- *
- * This approach is not very elegant, it causes confusion and is error-prone.
- * It is subject for removal at the next (or at least a future) soname bump.
- * Until then you can test the effects of the removal by undefining the
- * following define named CURL_FTP_HTTPSTYLE_HEAD.
- */
-#define CURL_FTP_HTTPSTYLE_HEAD 1
-
-static void freedirs(struct ftp_conn *ftpc)
-{
- int i;
- if(ftpc->dirs) {
- for (i=0; i < ftpc->dirdepth; i++){
- if(ftpc->dirs[i]) {
- free(ftpc->dirs[i]);
- ftpc->dirs[i]=NULL;
- }
- }
- free(ftpc->dirs);
- ftpc->dirs = NULL;
- ftpc->dirdepth = 0;
- }
- if(ftpc->file) {
- free(ftpc->file);
- ftpc->file = NULL;
- }
-}
-
-/* Returns non-zero if the given string contains CR (\r) or LF (\n),
- which are not allowed within RFC 959 <string>.
- Note: The input string is in the client's encoding which might
- not be ASCII, so escape sequences \r & \n must be used instead
- of hex values 0x0d & 0x0a.
-*/
-static bool isBadFtpString(const char *string)
-{
- return (bool)((NULL != strchr(string, '\r')) || (NULL != strchr(string, '\n')));
-}
-
-/***********************************************************************
- *
- * AllowServerConnect()
- *
- * When we've issue the PORT command, we have told the server to connect
- * to us. This function will sit and wait here until the server has
- * connected.
- *
- */
-static CURLcode AllowServerConnect(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- curl_socket_t sock = conn->sock[SECONDARYSOCKET];
- long timeout_ms = Curl_timeleft(conn, NULL, TRUE);
-
- if(timeout_ms < 0) {
- /* if a timeout was already reached, bail out */
- failf(data, "Timed out before server could connect to us");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- switch (Curl_socket_ready(sock, CURL_SOCKET_BAD, (int)timeout_ms)) {
- case -1: /* error */
- /* let's die here */
- failf(data, "Error while waiting for server connect");
- return CURLE_FTP_PORT_FAILED;
- case 0: /* timeout */
- /* let's die here */
- failf(data, "Timeout while waiting for server connect");
- return CURLE_FTP_PORT_FAILED;
- default:
- /* we have received data here */
- {
- curl_socket_t s = CURL_SOCKET_BAD;
-#ifdef ENABLE_IPV6
- struct Curl_sockaddr_storage add;
-#else
- struct sockaddr_in add;
-#endif
- socklen_t size = (socklen_t) sizeof(add);
-
- if(0 == getsockname(sock, (struct sockaddr *) &add, &size)) {
- size = sizeof(add);
-
- s=accept(sock, (struct sockaddr *) &add, &size);
- }
- sclose(sock); /* close the first socket */
-
- if(CURL_SOCKET_BAD == s) {
- /* DIE! */
- failf(data, "Error accept()ing server connect");
- return CURLE_FTP_PORT_FAILED;
- }
- infof(data, "Connection accepted from server\n");
-
- conn->sock[SECONDARYSOCKET] = s;
- Curl_nonblock(s, TRUE); /* enable non-blocking */
- }
- break;
- }
-
- return CURLE_OK;
-}
-
-/* initialize stuff to prepare for reading a fresh new response */
-static void ftp_respinit(struct connectdata *conn)
-{
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- ftpc->nread_resp = 0;
- ftpc->linestart_resp = conn->data->state.buffer;
-}
-
-/* macro to check for a three-digit ftp status code at the start of the
- given string */
-#define STATUSCODE(line) (ISDIGIT(line[0]) && ISDIGIT(line[1]) && \
- ISDIGIT(line[2]))
-
-/* macro to check for the last line in an FTP server response */
-#define LASTLINE(line) (STATUSCODE(line) && (' ' == line[3]))
-
-static CURLcode ftp_readresp(curl_socket_t sockfd,
- struct connectdata *conn,
- int *ftpcode, /* return the ftp-code if done */
- size_t *size) /* size of the response */
-{
- ssize_t perline; /* count bytes per line */
- bool keepon=TRUE;
- ssize_t gotbytes;
- char *ptr;
- struct SessionHandle *data = conn->data;
- char * const buf = data->state.buffer;
- CURLcode result = CURLE_OK;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- int code = 0;
-
- *ftpcode = 0; /* 0 for errors or not done */
- *size = 0;
-
- ptr=buf + ftpc->nread_resp;
-
- /* number of bytes in the current line, so far */
- perline = (ssize_t)(ptr-ftpc->linestart_resp);
-
- keepon=TRUE;
-
- while((ftpc->nread_resp<BUFSIZE) && (keepon && !result)) {
-
- if(ftpc->cache) {
- /* we had data in the "cache", copy that instead of doing an actual
- * read
- *
- * ftp->cache_size is cast to int here. This should be safe,
- * because it would have been populated with something of size
- * int to begin with, even though its datatype may be larger
- * than an int.
- */
- DEBUGASSERT((ptr+ftpc->cache_size) <= (buf+BUFSIZE+1));
- memcpy(ptr, ftpc->cache, (int)ftpc->cache_size);
- gotbytes = (int)ftpc->cache_size;
- free(ftpc->cache); /* free the cache */
- ftpc->cache = NULL; /* clear the pointer */
- ftpc->cache_size = 0; /* zero the size just in case */
- }
- else {
- int res;
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- enum protection_level prot = conn->data_prot;
-
- conn->data_prot = 0;
-#endif
- DEBUGASSERT((ptr+BUFSIZE-ftpc->nread_resp) <= (buf+BUFSIZE+1));
- res = Curl_read(conn, sockfd, ptr, BUFSIZE-ftpc->nread_resp,
- &gotbytes);
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- conn->data_prot = prot;
-#endif
- if(res < 0)
- /* EWOULDBLOCK */
- return CURLE_OK; /* return */
-
-#ifdef CURL_DOES_CONVERSIONS
- if((res == CURLE_OK) && (gotbytes > 0)) {
- /* convert from the network encoding */
- result = res = Curl_convert_from_network(data, ptr, gotbytes);
- /* Curl_convert_from_network calls failf if unsuccessful */
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- if(CURLE_OK != res)
- keepon = FALSE;
- }
-
- if(!keepon)
- ;
- else if(gotbytes <= 0) {
- keepon = FALSE;
- result = CURLE_RECV_ERROR;
- failf(data, "FTP response reading failed");
- }
- else {
- /* we got a whole chunk of data, which can be anything from one
- * byte to a set of lines and possible just a piece of the last
- * line */
- ssize_t i;
- ssize_t clipamount = 0;
- bool restart = FALSE;
-
- data->req.headerbytecount += gotbytes;
-
- ftpc->nread_resp += gotbytes;
- for(i = 0; i < gotbytes; ptr++, i++) {
- perline++;
- if(*ptr=='\n') {
- /* a newline is CRLF in ftp-talk, so the CR is ignored as
- the line isn't really terminated until the LF comes */
-
- /* output debug output if that is requested */
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- if(!conn->sec_complete)
-#endif
- if(data->set.verbose)
- Curl_debug(data, CURLINFO_HEADER_IN,
- ftpc->linestart_resp, (size_t)perline, conn);
-
- /*
- * We pass all response-lines to the callback function registered
- * for "headers". The response lines can be seen as a kind of
- * headers.
- */
- result = Curl_client_write(conn, CLIENTWRITE_HEADER,
- ftpc->linestart_resp, perline);
- if(result)
- return result;
-
- if(perline>3 && LASTLINE(ftpc->linestart_resp)) {
- /* This is the end of the last line, copy the last line to the
- start of the buffer and zero terminate, for old times sake (and
- krb4)! */
- char *meow;
- int n;
- for(meow=ftpc->linestart_resp, n=0; meow<ptr; meow++, n++)
- buf[n] = *meow;
- *meow=0; /* zero terminate */
- keepon=FALSE;
- ftpc->linestart_resp = ptr+1; /* advance pointer */
- i++; /* skip this before getting out */
-
- *size = ftpc->nread_resp; /* size of the response */
- ftpc->nread_resp = 0; /* restart */
- break;
- }
- perline=0; /* line starts over here */
- ftpc->linestart_resp = ptr+1;
- }
- }
-
- if(!keepon && (i != gotbytes)) {
- /* We found the end of the response lines, but we didn't parse the
- full chunk of data we have read from the server. We therefore need
- to store the rest of the data to be checked on the next invoke as
- it may actually contain another end of response already! */
- clipamount = gotbytes - i;
- restart = TRUE;
- }
- else if(keepon) {
-
- if((perline == gotbytes) && (gotbytes > BUFSIZE/2)) {
- /* We got an excessive line without newlines and we need to deal
- with it. First, check if it seems to start with a valid status
- code and then we keep just that in the line cache. Then throw
- away the rest. */
- infof(data, "Excessive FTP response line length received, %zd bytes."
- " Stripping\n", gotbytes);
- restart = TRUE;
- if(STATUSCODE(ftpc->linestart_resp))
- /* we copy 4 bytes since after the three-digit number there is a
- dash or a space and it is significant */
- clipamount = 4;
- }
- else if(ftpc->nread_resp > BUFSIZE/2) {
- /* We got a large chunk of data and there's potentially still trailing
- data to take care of, so we put any such part in the "cache", clear
- the buffer to make space and restart. */
- clipamount = perline;
- restart = TRUE;
- }
- }
- else if(i == gotbytes)
- restart = TRUE;
-
- if(clipamount) {
- ftpc->cache_size = clipamount;
- ftpc->cache = (char *)malloc((int)ftpc->cache_size);
- if(ftpc->cache)
- memcpy(ftpc->cache, ftpc->linestart_resp, (int)ftpc->cache_size);
- else
- return CURLE_OUT_OF_MEMORY;
- }
- if(restart) {
- /* now reset a few variables to start over nicely from the start of
- the big buffer */
- ftpc->nread_resp = 0; /* start over from scratch in the buffer */
- ptr = ftpc->linestart_resp = buf;
- perline = 0;
- }
-
- } /* there was data */
-
- } /* while there's buffer left and loop is requested */
-
- if(!result)
- code = atoi(buf);
-
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- /* handle the security-oriented responses 6xx ***/
- /* FIXME: some errorchecking perhaps... ***/
- switch(code) {
- case 631:
- code = Curl_sec_read_msg(conn, buf, prot_safe);
- break;
- case 632:
- code = Curl_sec_read_msg(conn, buf, prot_private);
- break;
- case 633:
- code = Curl_sec_read_msg(conn, buf, prot_confidential);
- break;
- default:
- /* normal ftp stuff we pass through! */
- break;
- }
-#endif
-
- *ftpcode=code; /* return the initial number like this */
-
- /* store the latest code for later retrieval */
- conn->data->info.httpcode=code;
-
- return result;
-}
-
-/* --- parse FTP server responses --- */
-
-/*
- * Curl_GetFTPResponse() is a BLOCKING function to read the full response
- * from a server after a command.
- *
- */
-
-CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
- struct connectdata *conn,
- int *ftpcode) /* return the ftp-code */
-{
- /*
- * We cannot read just one byte per read() and then go back to select() as
- * the OpenSSL read() doesn't grok that properly.
- *
- * Alas, read as much as possible, split up into lines, use the ending
- * line in a response or continue reading. */
-
- curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
- long timeout; /* timeout in milliseconds */
- long interval_ms;
- struct SessionHandle *data = conn->data;
- CURLcode result = CURLE_OK;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- struct timeval now = Curl_tvnow();
- size_t nread;
- int cache_skip=0;
- int value_to_be_ignored=0;
-
- if(ftpcode)
- *ftpcode = 0; /* 0 for errors */
- else
- /* make the pointer point to something for the rest of this function */
- ftpcode = &value_to_be_ignored;
-
- *nreadp=0;
-
- while(!*ftpcode && !result) {
- /* check and reset timeout value every lap */
- if(data->set.ftp_response_timeout )
- /* if CURLOPT_FTP_RESPONSE_TIMEOUT is set, use that to determine
- remaining time. Also, use "now" as opposed to "conn->now"
- because ftp_response_timeout is only supposed to govern
- the response for any given ftp response, not for the time
- from connect to the given ftp response. */
- timeout = data->set.ftp_response_timeout - /* timeout time */
- Curl_tvdiff(Curl_tvnow(), now); /* spent time */
- else if(data->set.timeout)
- /* if timeout is requested, find out how much remaining time we have */
- timeout = data->set.timeout - /* timeout time */
- Curl_tvdiff(Curl_tvnow(), conn->now); /* spent time */
- else
- /* Even without a requested timeout, we only wait response_time
- seconds for the full response to arrive before we bail out */
- timeout = ftpc->response_time -
- Curl_tvdiff(Curl_tvnow(), now); /* spent time */
-
- if(timeout <=0 ) {
- failf(data, "FTP response timeout");
- return CURLE_OPERATION_TIMEDOUT; /* already too little time */
- }
-
- interval_ms = 1 * 1000; /* use 1 second timeout intervals */
- if(timeout < interval_ms)
- interval_ms = timeout;
-
- /*
- * Since this function is blocking, we need to wait here for input on the
- * connection and only then we call the response reading function. We do
- * timeout at least every second to make the timeout check run.
- *
- * A caution here is that the ftp_readresp() function has a cache that may
- * contain pieces of a response from the previous invoke and we need to
- * make sure we don't just wait for input while there is unhandled data in
- * that cache. But also, if the cache is there, we call ftp_readresp() and
- * the cache wasn't good enough to continue we must not just busy-loop
- * around this function.
- *
- */
-
- if(ftpc->cache && (cache_skip < 2)) {
- /*
- * There's a cache left since before. We then skipping the wait for
- * socket action, unless this is the same cache like the previous round
- * as then the cache was deemed not enough to act on and we then need to
- * wait for more data anyway.
- */
- }
- else {
- switch (Curl_socket_ready(sockfd, CURL_SOCKET_BAD, (int)interval_ms)) {
- case -1: /* select() error, stop reading */
- failf(data, "FTP response aborted due to select/poll error: %d",
- SOCKERRNO);
- return CURLE_RECV_ERROR;
-
- case 0: /* timeout */
- if(Curl_pgrsUpdate(conn))
- return CURLE_ABORTED_BY_CALLBACK;
- continue; /* just continue in our loop for the timeout duration */
-
- default: /* for clarity */
- break;
- }
- }
- result = ftp_readresp(sockfd, conn, ftpcode, &nread);
- if(result)
- break;
-
- if(!nread && ftpc->cache)
- /* bump cache skip counter as on repeated skips we must wait for more
- data */
- cache_skip++;
- else
- /* when we got data or there is no cache left, we reset the cache skip
- counter */
- cache_skip=0;
-
- *nreadp += nread;
-
- } /* while there's buffer left and loop is requested */
-
- return result;
-}
-
-/* This is the ONLY way to change FTP state! */
-static void state(struct connectdata *conn,
- ftpstate newstate)
-{
-#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
- /* for debug purposes */
- static const char * const names[]={
- "STOP",
- "WAIT220",
- "AUTH",
- "USER",
- "PASS",
- "ACCT",
- "PBSZ",
- "PROT",
- "CCC",
- "PWD",
- "QUOTE",
- "RETR_PREQUOTE",
- "STOR_PREQUOTE",
- "POSTQUOTE",
- "CWD",
- "MKD",
- "MDTM",
- "TYPE",
- "LIST_TYPE",
- "RETR_TYPE",
- "STOR_TYPE",
- "SIZE",
- "RETR_SIZE",
- "STOR_SIZE",
- "REST",
- "RETR_REST",
- "PORT",
- "PASV",
- "LIST",
- "RETR",
- "STOR",
- "QUIT"
- };
-#endif
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
- if(ftpc->state != newstate)
- infof(conn->data, "FTP %p state change from %s to %s\n",
- ftpc, names[ftpc->state], names[newstate]);
-#endif
- ftpc->state = newstate;
-}
-
-static CURLcode ftp_state_user(struct connectdata *conn)
-{
- CURLcode result;
- struct FTP *ftp = conn->data->state.proto.ftp;
- /* send USER */
- NBFTPSENDF(conn, "USER %s", ftp->user?ftp->user:"");
-
- state(conn, FTP_USER);
- conn->data->state.ftp_trying_alternative = FALSE;
-
- return CURLE_OK;
-}
-
-static CURLcode ftp_state_pwd(struct connectdata *conn)
-{
- CURLcode result;
-
- /* send PWD to discover our entry point */
- NBFTPSENDF(conn, "PWD", NULL);
- state(conn, FTP_PWD);
-
- return CURLE_OK;
-}
-
-/* For the FTP "protocol connect" and "doing" phases only */
-static int ftp_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if(!numsocks)
- return GETSOCK_BLANK;
-
- socks[0] = conn->sock[FIRSTSOCKET];
-
- if(ftpc->sendleft) {
- /* write mode */
- return GETSOCK_WRITESOCK(0);
- }
-
- /* read mode */
- return GETSOCK_READSOCK(0);
-}
-
-/* This is called after the FTP_QUOTE state is passed.
-
- ftp_state_cwd() sends the range of PWD commands to the server to change to
- the correct directory. It may also need to send MKD commands to create
- missing ones, if that option is enabled.
-*/
-static CURLcode ftp_state_cwd(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if(ftpc->cwddone)
- /* already done and fine */
- result = ftp_state_post_cwd(conn);
- else {
- ftpc->count2 = 0;
- if(conn->bits.reuse && ftpc->entrypath) {
- /* This is a re-used connection. Since we change directory to where the
- transfer is taking place, we must first get back to the original dir
- where we ended up after login: */
- ftpc->count1 = 0; /* we count this as the first path, then we add one
- for all upcoming ones in the ftp->dirs[] array */
- NBFTPSENDF(conn, "CWD %s", ftpc->entrypath);
- state(conn, FTP_CWD);
- }
- else {
- if(ftpc->dirdepth) {
- ftpc->count1 = 1;
- /* issue the first CWD, the rest is sent when the CWD responses are
- received... */
- NBFTPSENDF(conn, "CWD %s", ftpc->dirs[ftpc->count1 -1]);
- state(conn, FTP_CWD);
- }
- else {
- /* No CWD necessary */
- result = ftp_state_post_cwd(conn);
- }
- }
- }
- return result;
-}
-
-typedef enum {
- EPRT,
- PORT,
- DONE
-} ftpport;
-
-static CURLcode ftp_state_use_port(struct connectdata *conn,
- ftpport fcmd) /* start with this */
-
-{
- CURLcode result = CURLE_OK;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- struct SessionHandle *data=conn->data;
- curl_socket_t portsock= CURL_SOCKET_BAD;
- char myhost[256] = "";
-
-#ifdef ENABLE_IPV6
- /******************************************************************
- * IPv6-specific section
- */
- struct Curl_sockaddr_storage ss;
- struct addrinfo *res, *ai;
- socklen_t sslen;
- char hbuf[NI_MAXHOST];
- struct sockaddr *sa=(struct sockaddr *)&ss;
- char tmp[1024];
- static const char * const mode[] = { "EPRT", "PORT", NULL };
- int rc;
- int error;
- char *host=NULL;
- struct Curl_dns_entry *h=NULL;
- unsigned short port = 0;
-
- /* Step 1, figure out what address that is requested */
-
- if(data->set.str[STRING_FTPPORT] &&
- (strlen(data->set.str[STRING_FTPPORT]) > 1)) {
- /* attempt to get the address of the given interface name */
- if(!Curl_if2ip(data->set.str[STRING_FTPPORT], hbuf, sizeof(hbuf)))
- /* not an interface, use the given string as host name instead */
- host = data->set.str[STRING_FTPPORT];
- else
- host = hbuf; /* use the hbuf for host name */
- } /* data->set.ftpport */
-
- if(!host) {
- /* not an interface and not a host name, get default by extracting
- the IP from the control connection */
-
- sslen = sizeof(ss);
- if(getsockname(conn->sock[FIRSTSOCKET], (struct sockaddr *)&ss, &sslen)) {
- failf(data, "getsockname() failed: %s",
- Curl_strerror(conn, SOCKERRNO) );
- return CURLE_FTP_PORT_FAILED;
- }
-
- if(sslen > (socklen_t)sizeof(ss))
- sslen = sizeof(ss);
- rc = getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf), NULL,
- 0, NIFLAGS);
- if(rc) {
- failf(data, "getnameinfo() returned %d", rc);
- return CURLE_FTP_PORT_FAILED;
- }
- host = hbuf; /* use this host name */
- }
-
- rc = Curl_resolv(conn, host, 0, &h);
- if(rc == CURLRESOLV_PENDING)
- rc = Curl_wait_for_resolv(conn, &h);
- if(h) {
- res = h->addr;
- /* when we return from this function, we can forget about this entry
- to we can unlock it now already */
- Curl_resolv_unlock(data, h);
- } /* (h) */
- else
- res = NULL; /* failure! */
-
-
- /* step 2, create a socket for the requested address */
-
- portsock = CURL_SOCKET_BAD;
- error = 0;
- for (ai = res; ai; ai = ai->ai_next) {
- /*
- * Workaround for AIX5 getaddrinfo() problem (it doesn't set ai_socktype):
- */
- if(ai->ai_socktype == 0)
- ai->ai_socktype = conn->socktype;
-
- portsock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
- if(portsock == CURL_SOCKET_BAD) {
- error = SOCKERRNO;
- continue;
- }
- break;
- }
- if(!ai) {
- failf(data, "socket failure: %s", Curl_strerror(conn, error));
- return CURLE_FTP_PORT_FAILED;
- }
-
- /* step 3, bind to a suitable local address */
-
- /* Try binding the given address. */
- if(bind(portsock, ai->ai_addr, ai->ai_addrlen)) {
-
- /* It failed. Bind the address used for the control connection instead */
- sslen = sizeof(ss);
- if(getsockname(conn->sock[FIRSTSOCKET],
- (struct sockaddr *)sa, &sslen)) {
- failf(data, "getsockname() failed: %s",
- Curl_strerror(conn, SOCKERRNO) );
- sclose(portsock);
- return CURLE_FTP_PORT_FAILED;
- }
-
- /* set port number to zero to make bind() pick "any" */
- if(((struct sockaddr *)sa)->sa_family == AF_INET)
- ((struct sockaddr_in *)sa)->sin_port=0;
- else
- ((struct sockaddr_in6 *)sa)->sin6_port =0;
-
- if(sslen > (socklen_t)sizeof(ss))
- sslen = sizeof(ss);
-
- if(bind(portsock, (struct sockaddr *)sa, sslen)) {
- failf(data, "bind failed: %s", Curl_strerror(conn, SOCKERRNO));
- sclose(portsock);
- return CURLE_FTP_PORT_FAILED;
- }
- }
-
- /* get the name again after the bind() so that we can extract the
- port number it uses now */
- sslen = sizeof(ss);
- if(getsockname(portsock, (struct sockaddr *)sa, &sslen)) {
- failf(data, "getsockname() failed: %s",
- Curl_strerror(conn, SOCKERRNO) );
- sclose(portsock);
- return CURLE_FTP_PORT_FAILED;
- }
-
- /* step 4, listen on the socket */
-
- if(listen(portsock, 1)) {
- failf(data, "socket failure: %s", Curl_strerror(conn, SOCKERRNO));
- sclose(portsock);
- return CURLE_FTP_PORT_FAILED;
- }
-
- /* step 5, send the proper FTP command */
-
- /* get a plain printable version of the numerical address to work with
- below */
- Curl_printable_address(ai, myhost, sizeof(myhost));
-
-#ifdef PF_INET6
- if(!conn->bits.ftp_use_eprt && conn->bits.ipv6)
- /* EPRT is disabled but we are connected to a IPv6 host, so we ignore the
- request and enable EPRT again! */
- conn->bits.ftp_use_eprt = TRUE;
-#endif
-
- for (; fcmd != DONE; fcmd++) {
-
- if(!conn->bits.ftp_use_eprt && (EPRT == fcmd))
- /* if disabled, goto next */
- continue;
-
- switch (sa->sa_family) {
- case AF_INET:
- port = ntohs(((struct sockaddr_in *)sa)->sin_port);
- break;
- case AF_INET6:
- port = ntohs(((struct sockaddr_in6 *)sa)->sin6_port);
- break;
- default:
- break;
- }
-
- if(EPRT == fcmd) {
- /*
- * Two fine examples from RFC2428;
- *
- * EPRT |1|132.235.1.2|6275|
- *
- * EPRT |2|1080::8:800:200C:417A|5282|
- */
-
- result = Curl_nbftpsendf(conn, "%s |%d|%s|%d|", mode[fcmd],
- ai->ai_family == AF_INET?1:2,
- myhost, port);
- if(result)
- return result;
- break;
- }
- else if(PORT == fcmd) {
- char *source = myhost;
- char *dest = tmp;
-
- if((PORT == fcmd) && ai->ai_family != AF_INET)
- continue;
-
- /* translate x.x.x.x to x,x,x,x */
- while(source && *source) {
- if(*source == '.')
- *dest=',';
- else
- *dest = *source;
- dest++;
- source++;
- }
- *dest = 0;
- snprintf(dest, 20, ",%d,%d", port>>8, port&0xff);
-
- result = Curl_nbftpsendf(conn, "%s %s", mode[fcmd], tmp);
- if(result)
- return result;
- break;
- }
- }
-
- /* store which command was sent */
- ftpc->count1 = fcmd;
-
- /* we set the secondary socket variable to this for now, it is only so that
- the cleanup function will close it in case we fail before the true
- secondary stuff is made */
- if(CURL_SOCKET_BAD != conn->sock[SECONDARYSOCKET])
- sclose(conn->sock[SECONDARYSOCKET]);
- conn->sock[SECONDARYSOCKET] = portsock;
-
-#else
- /******************************************************************
- * IPv4-specific section
- */
- struct sockaddr_in sa;
- unsigned short porttouse;
- bool sa_filled_in = FALSE;
- Curl_addrinfo *addr = NULL;
- unsigned short ip[4];
- bool freeaddr = TRUE;
- socklen_t sslen = sizeof(sa);
- const char *ftpportstr = data->set.str[STRING_FTPPORT];
-
- (void)fcmd; /* not used in the IPv4 code */
- if(ftpportstr) {
- in_addr_t in;
-
- /* First check if the given name is an IP address */
- in=inet_addr(ftpportstr);
-
- if(in != CURL_INADDR_NONE)
- /* this is an IPv4 address */
- addr = Curl_ip2addr(in, ftpportstr, 0);
- else {
- if(Curl_if2ip(ftpportstr, myhost, sizeof(myhost))) {
- /* The interface to IP conversion provided a dotted address */
- in=inet_addr(myhost);
- addr = Curl_ip2addr(in, myhost, 0);
- }
- else if(strlen(ftpportstr)> 1) {
- /* might be a host name! */
- struct Curl_dns_entry *h=NULL;
- int rc = Curl_resolv(conn, ftpportstr, 0, &h);
- if(rc == CURLRESOLV_PENDING)
- /* BLOCKING */
- rc = Curl_wait_for_resolv(conn, &h);
- if(h) {
- addr = h->addr;
- /* when we return from this function, we can forget about this entry
- so we can unlock it now already */
- Curl_resolv_unlock(data, h);
-
- freeaddr = FALSE; /* make sure we don't free 'addr' in this function
- since it points to a DNS cache entry! */
- } /* (h) */
- else {
- infof(data, "Failed to resolve host name %s\n", ftpportstr);
- }
- } /* strlen */
- } /* CURL_INADDR_NONE */
- } /* ftpportstr */
-
- if(!addr) {
- /* pick a suitable default here */
-
- if(getsockname(conn->sock[FIRSTSOCKET],
- (struct sockaddr *)&sa, &sslen)) {
- failf(data, "getsockname() failed: %s",
- Curl_strerror(conn, SOCKERRNO) );
- return CURLE_FTP_PORT_FAILED;
- }
- if(sslen > (socklen_t)sizeof(sa))
- sslen = sizeof(sa);
-
- sa_filled_in = TRUE; /* the sa struct is filled in */
- }
-
- if(addr || sa_filled_in) {
- portsock = socket(AF_INET, SOCK_STREAM, 0);
- if(CURL_SOCKET_BAD != portsock) {
-
- /* we set the secondary socket variable to this for now, it
- is only so that the cleanup function will close it in case
- we fail before the true secondary stuff is made */
- if(CURL_SOCKET_BAD != conn->sock[SECONDARYSOCKET])
- sclose(conn->sock[SECONDARYSOCKET]);
- conn->sock[SECONDARYSOCKET] = portsock;
-
- if(!sa_filled_in) {
- memcpy(&sa, addr->ai_addr, sslen);
- sa.sin_addr.s_addr = INADDR_ANY;
- }
-
- sa.sin_port = 0;
- sslen = sizeof(sa);
-
- if(bind(portsock, (struct sockaddr *)&sa, sslen) == 0) {
- /* we succeeded to bind */
- struct sockaddr_in add;
- socklen_t socksize = sizeof(add);
-
- if(getsockname(portsock, (struct sockaddr *) &add,
- &socksize)) {
- failf(data, "getsockname() failed: %s",
- Curl_strerror(conn, SOCKERRNO) );
- return CURLE_FTP_PORT_FAILED;
- }
- porttouse = ntohs(add.sin_port);
-
- if( listen(portsock, 1) < 0 ) {
- failf(data, "listen(2) failed on socket");
- return CURLE_FTP_PORT_FAILED;
- }
- }
- else {
- failf(data, "bind(2) failed on socket");
- return CURLE_FTP_PORT_FAILED;
- }
- }
- else {
- failf(data, "socket(2) failed (%s)");
- return CURLE_FTP_PORT_FAILED;
- }
- }
- else {
- failf(data, "couldn't find IP address to use");
- return CURLE_FTP_PORT_FAILED;
- }
-
- if(sa_filled_in)
- Curl_inet_ntop(AF_INET, &((struct sockaddr_in *)&sa)->sin_addr,
- myhost, sizeof(myhost));
- else
- Curl_printable_address(addr, myhost, sizeof(myhost));
-
- if(4 == sscanf(myhost, "%hu.%hu.%hu.%hu",
- &ip[0], &ip[1], &ip[2], &ip[3])) {
-
- infof(data, "Telling server to connect to %d.%d.%d.%d:%d\n",
- ip[0], ip[1], ip[2], ip[3], porttouse);
-
- result=Curl_nbftpsendf(conn, "PORT %d,%d,%d,%d,%d,%d",
- ip[0], ip[1], ip[2], ip[3],
- porttouse >> 8, porttouse & 255);
- if(result)
- return result;
- }
- else
- return CURLE_FTP_PORT_FAILED;
-
- if(freeaddr)
- Curl_freeaddrinfo(addr);
-
- ftpc->count1 = PORT;
-
-#endif /* end of ipv4-specific code */
-
- /* this tcpconnect assignment below is a hackish work-around to make the
- multi interface with active FTP work - as it will not wait for a
- (passive) connect in Curl_is_connected().
-
- The *proper* fix is to make sure that the active connection from the
- server is done in a non-blocking way. Currently, it is still BLOCKING.
- */
- conn->bits.tcpconnect = TRUE;
-
- state(conn, FTP_PORT);
- return result;
-}
-
-static CURLcode ftp_state_use_pasv(struct connectdata *conn)
-{
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- CURLcode result = CURLE_OK;
- /*
- Here's the excecutive summary on what to do:
-
- PASV is RFC959, expect:
- 227 Entering Passive Mode (a1,a2,a3,a4,p1,p2)
-
- LPSV is RFC1639, expect:
- 228 Entering Long Passive Mode (4,4,a1,a2,a3,a4,2,p1,p2)
-
- EPSV is RFC2428, expect:
- 229 Entering Extended Passive Mode (|||port|)
-
- */
-
- static const char * const mode[] = { "EPSV", "PASV", NULL };
- int modeoff;
-
-#ifdef PF_INET6
- if(!conn->bits.ftp_use_epsv && conn->bits.ipv6)
- /* EPSV is disabled but we are connected to a IPv6 host, so we ignore the
- request and enable EPSV again! */
- conn->bits.ftp_use_epsv = TRUE;
-#endif
-
- modeoff = conn->bits.ftp_use_epsv?0:1;
-
- result = Curl_nbftpsendf(conn, "%s", mode[modeoff]);
- if(result)
- return result;
-
- ftpc->count1 = modeoff;
- state(conn, FTP_PASV);
- infof(conn->data, "Connect data stream passively\n");
-
- return result;
-}
-
-/* REST is the last command in the chain of commands when a "head"-like
- request is made. Thus, if an actual transfer is to be made this is where
- we take off for real. */
-static CURLcode ftp_state_post_rest(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct FTP *ftp = conn->data->state.proto.ftp;
- struct SessionHandle *data = conn->data;
-
- if(ftp->transfer != FTPTRANSFER_BODY) {
- /* doesn't transfer any data */
-
- /* still possibly do PRE QUOTE jobs */
- state(conn, FTP_RETR_PREQUOTE);
- result = ftp_state_quote(conn, TRUE, FTP_RETR_PREQUOTE);
- }
- else if(data->set.ftp_use_port) {
- /* We have chosen to use the PORT (or similar) command */
- result = ftp_state_use_port(conn, EPRT);
- }
- else {
- /* We have chosen (this is default) to use the PASV (or similar) command */
- result = ftp_state_use_pasv(conn);
- }
- return result;
-}
-
-static CURLcode ftp_state_post_size(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct FTP *ftp = conn->data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if((ftp->transfer != FTPTRANSFER_BODY) && ftpc->file) {
- /* if a "head"-like request is being made (on a file) */
-
- /* Determine if server can respond to REST command and therefore
- whether it supports range */
- NBFTPSENDF(conn, "REST %d", 0);
-
- state(conn, FTP_REST);
- }
- else
- result = ftp_state_post_rest(conn);
-
- return result;
-}
-
-static CURLcode ftp_state_post_type(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct FTP *ftp = conn->data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if((ftp->transfer == FTPTRANSFER_INFO) && ftpc->file) {
- /* if a "head"-like request is being made (on a file) */
-
- /* we know ftpc->file is a valid pointer to a file name */
- NBFTPSENDF(conn, "SIZE %s", ftpc->file);
-
- state(conn, FTP_SIZE);
- }
- else
- result = ftp_state_post_size(conn);
-
- return result;
-}
-
-static CURLcode ftp_state_post_listtype(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
-
- /* If this output is to be machine-parsed, the NLST command might be better
- to use, since the LIST command output is not specified or standard in any
- way. It has turned out that the NLST list output is not the same on all
- servers either... */
-
- /*
- if FTPFILE_NOCWD was specified, we are currently in
- the user's home directory, so we should add the path
- as argument for the LIST / NLST / or custom command.
- Whether the server will support this, is uncertain.
-
- The other ftp_filemethods will CWD into dir/dir/ first and
- then just do LIST (in that case: nothing to do here)
- */
- char *cmd,*lstArg,*slashPos;
-
- lstArg = NULL;
- if((data->set.ftp_filemethod == FTPFILE_NOCWD) &&
- data->state.path &&
- data->state.path[0] &&
- strchr(data->state.path,'/')) {
-
- lstArg = strdup(data->state.path);
- if(!lstArg)
- return CURLE_OUT_OF_MEMORY;
-
- /* Check if path does not end with /, as then we cut off the file part */
- if(lstArg[strlen(lstArg) - 1] != '/') {
-
- /* chop off the file part if format is dir/dir/file */
- slashPos = strrchr(lstArg,'/');
- *(slashPos+1) = '\0';
- }
- }
-
- cmd = aprintf( "%s%s%s",
- data->set.str[STRING_CUSTOMREQUEST]?
- data->set.str[STRING_CUSTOMREQUEST]:
- (data->set.ftp_list_only?"NLST":"LIST"),
- lstArg? " ": "",
- lstArg? lstArg: "" );
-
- if(!cmd) {
- if(lstArg)
- free(lstArg);
- return CURLE_OUT_OF_MEMORY;
- }
-
- NBFTPSENDF(conn, "%s",cmd);
-
- if(lstArg)
- free(lstArg);
-
- free(cmd);
-
- state(conn, FTP_LIST);
-
- return result;
-}
-
-static CURLcode ftp_state_post_retrtype(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
-
- /* We've sent the TYPE, now we must send the list of prequote strings */
-
- result = ftp_state_quote(conn, TRUE, FTP_RETR_PREQUOTE);
-
- return result;
-}
-
-static CURLcode ftp_state_post_stortype(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
-
- /* We've sent the TYPE, now we must send the list of prequote strings */
-
- result = ftp_state_quote(conn, TRUE, FTP_STOR_PREQUOTE);
-
- return result;
-}
-
-static CURLcode ftp_state_post_mdtm(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct FTP *ftp = conn->data->state.proto.ftp;
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- /* If we have selected NOBODY and HEADER, it means that we only want file
- information. Which in FTP can't be much more than the file size and
- date. */
- if(data->set.opt_no_body && ftpc->file &&
- ftp_need_type(conn, data->set.prefer_ascii)) {
- /* The SIZE command is _not_ RFC 959 specified, and therefor many servers
- may not support it! It is however the only way we have to get a file's
- size! */
-
- ftp->transfer = FTPTRANSFER_INFO;
- /* this means no actual transfer will be made */
-
- /* Some servers return different sizes for different modes, and thus we
- must set the proper type before we check the size */
- result = ftp_nb_type(conn, data->set.prefer_ascii, FTP_TYPE);
- if(result)
- return result;
- }
- else
- result = ftp_state_post_type(conn);
-
- return result;
-}
-
-/* This is called after the CWD commands have been done in the beginning of
- the DO phase */
-static CURLcode ftp_state_post_cwd(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- /* Requested time of file or time-depended transfer? */
- if((data->set.get_filetime || data->set.timecondition) && ftpc->file) {
-
- /* we have requested to get the modified-time of the file, this is a white
- spot as the MDTM is not mentioned in RFC959 */
- NBFTPSENDF(conn, "MDTM %s", ftpc->file);
-
- state(conn, FTP_MDTM);
- }
- else
- result = ftp_state_post_mdtm(conn);
-
- return result;
-}
-
-
-/* This is called after the TYPE and possible quote commands have been sent */
-static CURLcode ftp_state_ul_setup(struct connectdata *conn,
- bool sizechecked)
-{
- CURLcode result = CURLE_OK;
- struct FTP *ftp = conn->data->state.proto.ftp;
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if((data->state.resume_from && !sizechecked) ||
- ((data->state.resume_from > 0) && sizechecked)) {
- /* we're about to continue the uploading of a file */
- /* 1. get already existing file's size. We use the SIZE command for this
- which may not exist in the server! The SIZE command is not in
- RFC959. */
-
- /* 2. This used to set REST. But since we can do append, we
- don't another ftp command. We just skip the source file
- offset and then we APPEND the rest on the file instead */
-
- /* 3. pass file-size number of bytes in the source file */
- /* 4. lower the infilesize counter */
- /* => transfer as usual */
-
- if(data->state.resume_from < 0 ) {
- /* Got no given size to start from, figure it out */
- NBFTPSENDF(conn, "SIZE %s", ftpc->file);
- state(conn, FTP_STOR_SIZE);
- return result;
- }
-
- /* enable append */
- data->set.ftp_append = TRUE;
-
- /* Let's read off the proper amount of bytes from the input. */
- if(conn->seek_func) {
- curl_off_t readthisamountnow = data->state.resume_from;
-
- if(conn->seek_func(conn->seek_client,
- readthisamountnow, SEEK_SET) != 0) {
- failf(data, "Could not seek stream");
- return CURLE_FTP_COULDNT_USE_REST;
- }
- }
-
- else {
- curl_off_t passed=0;
- do {
- curl_off_t readthisamountnow = (data->state.resume_from - passed);
- curl_off_t actuallyread;
-
- if(readthisamountnow > BUFSIZE)
- readthisamountnow = BUFSIZE;
-
- actuallyread = (curl_off_t)
- conn->fread_func(data->state.buffer, 1, (size_t)readthisamountnow,
- conn->fread_in);
-
- passed += actuallyread;
- if((actuallyread <= 0) || (actuallyread > readthisamountnow)) {
- /* this checks for greater-than only to make sure that the
- CURL_READFUNC_ABORT return code still aborts */
- failf(data, "Failed to read data");
- return CURLE_FTP_COULDNT_USE_REST;
- }
- } while(passed < data->state.resume_from);
- }
-
- /* now, decrease the size of the read */
- if(data->set.infilesize>0) {
- data->set.infilesize -= data->state.resume_from;
-
- if(data->set.infilesize <= 0) {
- infof(data, "File already completely uploaded\n");
-
- /* no data to transfer */
- result=Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
-
- /* Set ->transfer so that we won't get any error in
- * ftp_done() because we didn't transfer anything! */
- ftp->transfer = FTPTRANSFER_NONE;
-
- state(conn, FTP_STOP);
- return CURLE_OK;
- }
- }
- /* we've passed, proceed as normal */
- } /* resume_from */
-
- NBFTPSENDF(conn, data->set.ftp_append?"APPE %s":"STOR %s",
- ftpc->file);
-
- state(conn, FTP_STOR);
-
- return result;
-}
-
-static CURLcode ftp_state_quote(struct connectdata *conn,
- bool init,
- ftpstate instate)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- bool quote=FALSE;
- struct curl_slist *item;
-
- switch(instate) {
- case FTP_QUOTE:
- default:
- item = data->set.quote;
- break;
- case FTP_RETR_PREQUOTE:
- case FTP_STOR_PREQUOTE:
- item = data->set.prequote;
- break;
- case FTP_POSTQUOTE:
- item = data->set.postquote;
- break;
- }
-
- if(init)
- ftpc->count1 = 0;
- else
- ftpc->count1++;
-
- if(item) {
- int i = 0;
-
- /* Skip count1 items in the linked list */
- while((i< ftpc->count1) && item) {
- item = item->next;
- i++;
- }
- if(item) {
- NBFTPSENDF(conn, "%s", item->data);
- state(conn, instate);
- quote = TRUE;
- }
- }
-
- if(!quote) {
- /* No more quote to send, continue to ... */
- switch(instate) {
- case FTP_QUOTE:
- default:
- result = ftp_state_cwd(conn);
- break;
- case FTP_RETR_PREQUOTE:
- if(ftp->transfer != FTPTRANSFER_BODY)
- state(conn, FTP_STOP);
- else {
- NBFTPSENDF(conn, "SIZE %s", ftpc->file);
- state(conn, FTP_RETR_SIZE);
- }
- break;
- case FTP_STOR_PREQUOTE:
- result = ftp_state_ul_setup(conn, FALSE);
- break;
- case FTP_POSTQUOTE:
- break;
- }
- }
-
- return result;
-}
-
-static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
- int ftpcode)
-{
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- CURLcode result;
- struct SessionHandle *data=conn->data;
- Curl_addrinfo *conninfo;
- struct Curl_dns_entry *addr=NULL;
- int rc;
- unsigned short connectport; /* the local port connect() should use! */
- unsigned short newport=0; /* remote port */
- bool connected;
-
- /* newhost must be able to hold a full IP-style address in ASCII, which
- in the IPv6 case means 5*8-1 = 39 letters */
-#define NEWHOST_BUFSIZE 48
- char newhost[NEWHOST_BUFSIZE];
- char *str=&data->state.buffer[4]; /* start on the first letter */
-
- if((ftpc->count1 == 0) &&
- (ftpcode == 229)) {
- /* positive EPSV response */
- char *ptr = strchr(str, '(');
- if(ptr) {
- unsigned int num;
- char separator[4];
- ptr++;
- if(5 == sscanf(ptr, "%c%c%c%u%c",
- &separator[0],
- &separator[1],
- &separator[2],
- &num,
- &separator[3])) {
- const char sep1 = separator[0];
- int i;
-
- /* The four separators should be identical, or else this is an oddly
- formatted reply and we bail out immediately. */
- for(i=1; i<4; i++) {
- if(separator[i] != sep1) {
- ptr=NULL; /* set to NULL to signal error */
- break;
- }
- }
- if(ptr) {
- newport = (unsigned short)(num & 0xffff);
-
- if(conn->bits.tunnel_proxy ||
- data->set.proxytype == CURLPROXY_SOCKS5 ||
- data->set.proxytype == CURLPROXY_SOCKS5_HOSTNAME ||
- data->set.proxytype == CURLPROXY_SOCKS4 ||
- data->set.proxytype == CURLPROXY_SOCKS4A)
- /* proxy tunnel -> use other host info because ip_addr_str is the
- proxy address not the ftp host */
- snprintf(newhost, sizeof(newhost), "%s", conn->host.name);
- else
- /* use the same IP we are already connected to */
- snprintf(newhost, NEWHOST_BUFSIZE, "%s", conn->ip_addr_str);
- }
- }
- else
- ptr=NULL;
- }
- if(!ptr) {
- failf(data, "Weirdly formatted EPSV reply");
- return CURLE_FTP_WEIRD_PASV_REPLY;
- }
- }
- else if((ftpc->count1 == 1) &&
- (ftpcode == 227)) {
- /* positive PASV response */
- int ip[4];
- int port[2];
-
- /*
- * Scan for a sequence of six comma-separated numbers and use them as
- * IP+port indicators.
- *
- * Found reply-strings include:
- * "227 Entering Passive Mode (127,0,0,1,4,51)"
- * "227 Data transfer will passively listen to 127,0,0,1,4,51"
- * "227 Entering passive mode. 127,0,0,1,4,51"
- */
- while(*str) {
- if(6 == sscanf(str, "%d,%d,%d,%d,%d,%d",
- &ip[0], &ip[1], &ip[2], &ip[3],
- &port[0], &port[1]))
- break;
- str++;
- }
-
- if(!*str) {
- failf(data, "Couldn't interpret the 227-response");
- return CURLE_FTP_WEIRD_227_FORMAT;
- }
-
- /* we got OK from server */
- if(data->set.ftp_skip_ip) {
- /* told to ignore the remotely given IP but instead use the one we used
- for the control connection */
- infof(data, "Skips %d.%d.%d.%d for data connection, uses %s instead\n",
- ip[0], ip[1], ip[2], ip[3],
- conn->ip_addr_str);
- if(conn->bits.tunnel_proxy ||
- data->set.proxytype == CURLPROXY_SOCKS5 ||
- data->set.proxytype == CURLPROXY_SOCKS5_HOSTNAME ||
- data->set.proxytype == CURLPROXY_SOCKS4 ||
- data->set.proxytype == CURLPROXY_SOCKS4A)
- /* proxy tunnel -> use other host info because ip_addr_str is the
- proxy address not the ftp host */
- snprintf(newhost, sizeof(newhost), "%s", conn->host.name);
- else
- snprintf(newhost, sizeof(newhost), "%s", conn->ip_addr_str);
- }
- else
- snprintf(newhost, sizeof(newhost),
- "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
- newport = (unsigned short)(((port[0]<<8) + port[1]) & 0xffff);
- }
- else if(ftpc->count1 == 0) {
- /* EPSV failed, move on to PASV */
-
- /* disable it for next transfer */
- conn->bits.ftp_use_epsv = FALSE;
- infof(data, "disabling EPSV usage\n");
-
- NBFTPSENDF(conn, "PASV", NULL);
- ftpc->count1++;
- /* remain in the FTP_PASV state */
- return result;
- }
- else {
- failf(data, "Bad PASV/EPSV response: %03d", ftpcode);
- return CURLE_FTP_WEIRD_PASV_REPLY;
- }
-
- if(data->set.str[STRING_PROXY] && *data->set.str[STRING_PROXY]) {
- /*
- * This is a tunnel through a http proxy and we need to connect to the
- * proxy again here.
- *
- * We don't want to rely on a former host lookup that might've expired
- * now, instead we remake the lookup here and now!
- */
- rc = Curl_resolv(conn, conn->proxy.name, (int)conn->port, &addr);
- if(rc == CURLRESOLV_PENDING)
- /* BLOCKING */
- rc = Curl_wait_for_resolv(conn, &addr);
-
- connectport =
- (unsigned short)conn->port; /* we connect to the proxy's port */
-
- }
- else {
- /* normal, direct, ftp connection */
- rc = Curl_resolv(conn, newhost, newport, &addr);
- if(rc == CURLRESOLV_PENDING)
- /* BLOCKING */
- rc = Curl_wait_for_resolv(conn, &addr);
-
- if(!addr) {
- failf(data, "Can't resolve new host %s:%d", newhost, newport);
- return CURLE_FTP_CANT_GET_HOST;
- }
- connectport = newport; /* we connect to the remote port */
- }
-
- result = Curl_connecthost(conn,
- addr,
- &conn->sock[SECONDARYSOCKET],
- &conninfo,
- &connected);
-
- Curl_resolv_unlock(data, addr); /* we're done using this address */
-
- if(result && ftpc->count1 == 0 && ftpcode == 229) {
- infof(data, "got positive EPSV response, but can't connect. "
- "Disabling EPSV\n");
- /* disable it for next transfer */
- conn->bits.ftp_use_epsv = FALSE;
- data->state.errorbuf = FALSE; /* allow error message to get rewritten */
- NBFTPSENDF(conn, "PASV", NULL);
- ftpc->count1++;
- /* remain in the FTP_PASV state */
- return result;
- }
-
- if(result)
- return result;
-
- conn->bits.tcpconnect = connected; /* simply TRUE or FALSE */
-
- /*
- * When this is used from the multi interface, this might've returned with
- * the 'connected' set to FALSE and thus we are now awaiting a non-blocking
- * connect to connect and we should not be "hanging" here waiting.
- */
-
- if(data->set.verbose)
- /* this just dumps information about this second connection */
- ftp_pasv_verbose(conn, conninfo, newhost, connectport);
-
- switch(data->set.proxytype) {
- case CURLPROXY_SOCKS5:
- case CURLPROXY_SOCKS5_HOSTNAME:
- result = Curl_SOCKS5(conn->proxyuser, conn->proxypasswd, newhost, newport,
- SECONDARYSOCKET, conn);
- break;
- case CURLPROXY_HTTP:
- /* do nothing here. handled later. */
- break;
- case CURLPROXY_SOCKS4:
- result = Curl_SOCKS4(conn->proxyuser, newhost, newport,
- SECONDARYSOCKET, conn, FALSE);
- break;
- case CURLPROXY_SOCKS4A:
- result = Curl_SOCKS4(conn->proxyuser, newhost, newport,
- SECONDARYSOCKET, conn, TRUE);
- break;
- default:
- failf(data, "unknown proxytype option given");
- result = CURLE_COULDNT_CONNECT;
- break;
- }
-#ifndef CURL_DISABLE_HTTP
- if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
- /* FIX: this MUST wait for a proper connect first if 'connected' is
- * FALSE */
-
- /* BLOCKING */
- /* We want "seamless" FTP operations through HTTP proxy tunnel */
-
- /* Curl_proxyCONNECT is based on a pointer to a struct HTTP at the member
- * conn->proto.http; we want FTP through HTTP and we have to change the
- * member temporarily for connecting to the HTTP proxy. After
- * Curl_proxyCONNECT we have to set back the member to the original struct
- * FTP pointer
- */
- struct HTTP http_proxy;
- struct FTP *ftp_save = data->state.proto.ftp;
- memset(&http_proxy, 0, sizeof(http_proxy));
- data->state.proto.http = &http_proxy;
-
- result = Curl_proxyCONNECT(conn, SECONDARYSOCKET, newhost, newport);
-
- data->state.proto.ftp = ftp_save;
-
- if(CURLE_OK != result)
- return result;
- }
-#endif /* CURL_DISABLE_HTTP */
-
- state(conn, FTP_STOP); /* this phase is completed */
-
- return result;
-}
-
-static CURLcode ftp_state_port_resp(struct connectdata *conn,
- int ftpcode)
-{
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- ftpport fcmd = (ftpport)ftpc->count1;
- CURLcode result = CURLE_OK;
-
- if(ftpcode != 200) {
- /* the command failed */
-
- if(EPRT == fcmd) {
- infof(data, "disabling EPRT usage\n");
- conn->bits.ftp_use_eprt = FALSE;
- }
- fcmd++;
-
- if(fcmd == DONE) {
- failf(data, "Failed to do PORT");
- result = CURLE_FTP_PORT_FAILED;
- }
- else
- /* try next */
- result = ftp_state_use_port(conn, fcmd);
- }
- else {
- infof(data, "Connect data stream actively\n");
- state(conn, FTP_STOP); /* end of DO phase */
- }
-
- return result;
-}
-
-static CURLcode ftp_state_mdtm_resp(struct connectdata *conn,
- int ftpcode)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data=conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- switch(ftpcode) {
- case 213:
- {
- /* we got a time. Format should be: "YYYYMMDDHHMMSS[.sss]" where the
- last .sss part is optional and means fractions of a second */
- int year, month, day, hour, minute, second;
- char *buf = data->state.buffer;
- if(6 == sscanf(buf+4, "%04d%02d%02d%02d%02d%02d",
- &year, &month, &day, &hour, &minute, &second)) {
- /* we have a time, reformat it */
- time_t secs=time(NULL);
- /* using the good old yacc/bison yuck */
- snprintf(buf, sizeof(conn->data->state.buffer),
- "%04d%02d%02d %02d:%02d:%02d GMT",
- year, month, day, hour, minute, second);
- /* now, convert this into a time() value: */
- data->info.filetime = (long)curl_getdate(buf, &secs);
- }
-
-#ifdef CURL_FTP_HTTPSTYLE_HEAD
- /* If we asked for a time of the file and we actually got one as well,
- we "emulate" a HTTP-style header in our output. */
-
- if(data->set.opt_no_body &&
- ftpc->file &&
- data->set.get_filetime &&
- (data->info.filetime>=0) ) {
- struct tm *tm;
- time_t filetime = (time_t)data->info.filetime;
-#ifdef HAVE_GMTIME_R
- struct tm buffer;
- tm = (struct tm *)gmtime_r(&filetime, &buffer);
-#else
- tm = gmtime(&filetime);
-#endif
- /* format: "Tue, 15 Nov 1994 12:45:26" */
- snprintf(buf, BUFSIZE-1,
- "Last-Modified: %s, %02d %s %4d %02d:%02d:%02d GMT\r\n",
- Curl_wkday[tm->tm_wday?tm->tm_wday-1:6],
- tm->tm_mday,
- Curl_month[tm->tm_mon],
- tm->tm_year + 1900,
- tm->tm_hour,
- tm->tm_min,
- tm->tm_sec);
- result = Curl_client_write(conn, CLIENTWRITE_BOTH, buf, 0);
- if(result)
- return result;
- } /* end of a ridiculous amount of conditionals */
-#endif
- }
- break;
- default:
- infof(data, "unsupported MDTM reply format\n");
- break;
- case 550: /* "No such file or directory" */
- failf(data, "Given file does not exist");
- result = CURLE_FTP_COULDNT_RETR_FILE;
- break;
- }
-
- if(data->set.timecondition) {
- if((data->info.filetime > 0) && (data->set.timevalue > 0)) {
- switch(data->set.timecondition) {
- case CURL_TIMECOND_IFMODSINCE:
- default:
- if(data->info.filetime <= data->set.timevalue) {
- infof(data, "The requested document is not new enough\n");
- ftp->transfer = FTPTRANSFER_NONE; /* mark this to not transfer data */
- state(conn, FTP_STOP);
- return CURLE_OK;
- }
- break;
- case CURL_TIMECOND_IFUNMODSINCE:
- if(data->info.filetime > data->set.timevalue) {
- infof(data, "The requested document is not old enough\n");
- ftp->transfer = FTPTRANSFER_NONE; /* mark this to not transfer data */
- state(conn, FTP_STOP);
- return CURLE_OK;
- }
- break;
- } /* switch */
- }
- else {
- infof(data, "Skipping time comparison\n");
- }
- }
-
- if(!result)
- result = ftp_state_post_mdtm(conn);
-
- return result;
-}
-
-static CURLcode ftp_state_type_resp(struct connectdata *conn,
- int ftpcode,
- ftpstate instate)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data=conn->data;
-
- if(ftpcode/100 != 2) {
- /* "sasserftpd" and "(u)r(x)bot ftpd" both responds with 226 after a
- successful 'TYPE I'. While that is not as RFC959 says, it is still a
- positive response code and we allow that. */
- failf(data, "Couldn't set desired mode");
- return CURLE_FTP_COULDNT_SET_TYPE;
- }
- if(ftpcode != 200)
- infof(data, "Got a %03d response code instead of the assumed 200\n",
- ftpcode);
-
- if(instate == FTP_TYPE)
- result = ftp_state_post_type(conn);
- else if(instate == FTP_LIST_TYPE)
- result = ftp_state_post_listtype(conn);
- else if(instate == FTP_RETR_TYPE)
- result = ftp_state_post_retrtype(conn);
- else if(instate == FTP_STOR_TYPE)
- result = ftp_state_post_stortype(conn);
-
- return result;
-}
-
-static CURLcode ftp_state_post_retr_size(struct connectdata *conn,
- curl_off_t filesize)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data=conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if(data->set.max_filesize && (filesize > data->set.max_filesize)) {
- failf(data, "Maximum file size exceeded");
- return CURLE_FILESIZE_EXCEEDED;
- }
- ftp->downloadsize = filesize;
-
- if(data->state.resume_from) {
- /* We always (attempt to) get the size of downloads, so it is done before
- this even when not doing resumes. */
- if(filesize == -1) {
- infof(data, "ftp server doesn't support SIZE\n");
- /* We couldn't get the size and therefore we can't know if there really
- is a part of the file left to get, although the server will just
- close the connection when we start the connection so it won't cause
- us any harm, just not make us exit as nicely. */
- }
- else {
- /* We got a file size report, so we check that there actually is a
- part of the file left to get, or else we go home. */
- if(data->state.resume_from< 0) {
- /* We're supposed to download the last abs(from) bytes */
- if(filesize < -data->state.resume_from) {
- failf(data, "Offset (%" FORMAT_OFF_T
- ") was beyond file size (%" FORMAT_OFF_T ")",
- data->state.resume_from, filesize);
- return CURLE_BAD_DOWNLOAD_RESUME;
- }
- /* convert to size to download */
- ftp->downloadsize = -data->state.resume_from;
- /* download from where? */
- data->state.resume_from = filesize - ftp->downloadsize;
- }
- else {
- if(filesize < data->state.resume_from) {
- failf(data, "Offset (%" FORMAT_OFF_T
- ") was beyond file size (%" FORMAT_OFF_T ")",
- data->state.resume_from, filesize);
- return CURLE_BAD_DOWNLOAD_RESUME;
- }
- /* Now store the number of bytes we are expected to download */
- ftp->downloadsize = filesize-data->state.resume_from;
- }
- }
-
- if(ftp->downloadsize == 0) {
- /* no data to transfer */
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
- infof(data, "File already completely downloaded\n");
-
- /* Set ->transfer so that we won't get any error in ftp_done()
- * because we didn't transfer the any file */
- ftp->transfer = FTPTRANSFER_NONE;
- state(conn, FTP_STOP);
- return CURLE_OK;
- }
-
- /* Set resume file transfer offset */
- infof(data, "Instructs server to resume from offset %" FORMAT_OFF_T
- "\n", data->state.resume_from);
-
- NBFTPSENDF(conn, "REST %" FORMAT_OFF_T, data->state.resume_from);
-
- state(conn, FTP_RETR_REST);
-
- }
- else {
- /* no resume */
- NBFTPSENDF(conn, "RETR %s", ftpc->file);
- state(conn, FTP_RETR);
- }
-
- return result;
-}
-
-static CURLcode ftp_state_size_resp(struct connectdata *conn,
- int ftpcode,
- ftpstate instate)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data=conn->data;
- curl_off_t filesize;
- char *buf = data->state.buffer;
-
- /* get the size from the ascii string: */
- filesize = (ftpcode == 213)?curlx_strtoofft(buf+4, NULL, 0):-1;
-
- if(instate == FTP_SIZE) {
-#ifdef CURL_FTP_HTTPSTYLE_HEAD
- if(-1 != filesize) {
- snprintf(buf, sizeof(data->state.buffer),
- "Content-Length: %" FORMAT_OFF_T "\r\n", filesize);
- result = Curl_client_write(conn, CLIENTWRITE_BOTH, buf, 0);
- if(result)
- return result;
- }
-#endif
- Curl_pgrsSetDownloadSize(data, filesize);
- result = ftp_state_post_size(conn);
- }
- else if(instate == FTP_RETR_SIZE) {
- Curl_pgrsSetDownloadSize(data, filesize);
- result = ftp_state_post_retr_size(conn, filesize);
- }
- else if(instate == FTP_STOR_SIZE) {
- data->state.resume_from = filesize;
- result = ftp_state_ul_setup(conn, TRUE);
- }
-
- return result;
-}
-
-static CURLcode ftp_state_rest_resp(struct connectdata *conn,
- int ftpcode,
- ftpstate instate)
-{
- CURLcode result = CURLE_OK;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- switch(instate) {
- case FTP_REST:
- default:
-#ifdef CURL_FTP_HTTPSTYLE_HEAD
- if(ftpcode == 350) {
- char buffer[24]= { "Accept-ranges: bytes\r\n" };
- result = Curl_client_write(conn, CLIENTWRITE_BOTH, buffer, 0);
- if(result)
- return result;
- }
-#endif
- result = ftp_state_post_rest(conn);
- break;
-
- case FTP_RETR_REST:
- if(ftpcode != 350) {
- failf(conn->data, "Couldn't use REST");
- result = CURLE_FTP_COULDNT_USE_REST;
- }
- else {
- NBFTPSENDF(conn, "RETR %s", ftpc->file);
- state(conn, FTP_RETR);
- }
- break;
- }
-
- return result;
-}
-
-static CURLcode ftp_state_stor_resp(struct connectdata *conn,
- int ftpcode)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct FTP *ftp = data->state.proto.ftp;
-
- if(ftpcode>=400) {
- failf(data, "Failed FTP upload: %0d", ftpcode);
- /* oops, we never close the sockets! */
- return CURLE_UPLOAD_FAILED;
- }
-
- if(data->set.ftp_use_port) {
- /* BLOCKING */
- /* PORT means we are now awaiting the server to connect to us. */
- result = AllowServerConnect(conn);
- if( result )
- return result;
- }
-
- if(conn->ssl[SECONDARYSOCKET].use) {
- /* since we only have a plaintext TCP connection here, we must now
- do the TLS stuff */
- infof(data, "Doing the SSL/TLS handshake on the data stream\n");
- /* BLOCKING */
- result = Curl_ssl_connect(conn, SECONDARYSOCKET);
- if(result)
- return result;
- }
-
- *(ftp->bytecountp)=0;
-
- /* When we know we're uploading a specified file, we can get the file
- size prior to the actual upload. */
-
- Curl_pgrsSetUploadSize(data, data->set.infilesize);
-
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, /* no download */
- SECONDARYSOCKET, ftp->bytecountp);
- state(conn, FTP_STOP);
-
- return result;
-}
-
-/* for LIST and RETR responses */
-static CURLcode ftp_state_get_resp(struct connectdata *conn,
- int ftpcode,
- ftpstate instate)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- char *buf = data->state.buffer;
-
- if((ftpcode == 150) || (ftpcode == 125)) {
-
- /*
- A;
- 150 Opening BINARY mode data connection for /etc/passwd (2241
- bytes). (ok, the file is being transfered)
-
- B:
- 150 Opening ASCII mode data connection for /bin/ls
-
- C:
- 150 ASCII data connection for /bin/ls (137.167.104.91,37445) (0 bytes).
-
- D:
- 150 Opening ASCII mode data connection for /linux/fisk/kpanelrc (0.0.0.0,0) (545 bytes).
-
- E:
- 125 Data connection already open; Transfer starting. */
-
- curl_off_t size=-1; /* default unknown size */
-
-
- /*
- * It appears that there are FTP-servers that return size 0 for files when
- * SIZE is used on the file while being in BINARY mode. To work around
- * that (stupid) behavior, we attempt to parse the RETR response even if
- * the SIZE returned size zero.
- *
- * Debugging help from Salvatore Sorrentino on February 26, 2003.
- */
-
- if((instate != FTP_LIST) &&
- !data->set.prefer_ascii &&
- (ftp->downloadsize < 1)) {
- /*
- * It seems directory listings either don't show the size or very
- * often uses size 0 anyway. ASCII transfers may very well turn out
- * that the transfered amount of data is not the same as this line
- * tells, why using this number in those cases only confuses us.
- *
- * Example D above makes this parsing a little tricky */
- char *bytes;
- bytes=strstr(buf, " bytes");
- if(bytes--) {
- long in=(long)(bytes-buf);
- /* this is a hint there is size information in there! ;-) */
- while(--in) {
- /* scan for the left parenthesis and break there */
- if('(' == *bytes)
- break;
- /* skip only digits */
- if(!ISDIGIT(*bytes)) {
- bytes=NULL;
- break;
- }
- /* one more estep backwards */
- bytes--;
- }
- /* if we have nothing but digits: */
- if(bytes++) {
- /* get the number! */
- size = curlx_strtoofft(bytes, NULL, 0);
- }
- }
- }
- else if(ftp->downloadsize > -1)
- size = ftp->downloadsize;
-
- if(data->set.ftp_use_port) {
- /* BLOCKING */
- result = AllowServerConnect(conn);
- if( result )
- return result;
- }
-
- if(conn->ssl[SECONDARYSOCKET].use) {
- /* since we only have a plaintext TCP connection here, we must now
- do the TLS stuff */
- infof(data, "Doing the SSL/TLS handshake on the data stream\n");
- result = Curl_ssl_connect(conn, SECONDARYSOCKET);
- if(result)
- return result;
- }
-
- if(size > data->req.maxdownload && data->req.maxdownload > 0)
- size = data->req.size = data->req.maxdownload;
-
- infof(data, "Maxdownload = %" FORMAT_OFF_T "\n", data->req.maxdownload);
-
- if(instate != FTP_LIST)
- infof(data, "Getting file with size: %" FORMAT_OFF_T "\n", size);
-
- /* FTP download: */
- result=Curl_setup_transfer(conn, SECONDARYSOCKET, size, FALSE,
- ftp->bytecountp,
- -1, NULL); /* no upload here */
- if(result)
- return result;
-
- state(conn, FTP_STOP);
- }
- else {
- if((instate == FTP_LIST) && (ftpcode == 450)) {
- /* simply no matching files in the dir listing */
- ftp->transfer = FTPTRANSFER_NONE; /* don't download anything */
- state(conn, FTP_STOP); /* this phase is over */
- }
- else {
- failf(data, "RETR response: %03d", ftpcode);
- return CURLE_FTP_COULDNT_RETR_FILE;
- }
- }
-
- return result;
-}
-
-/* after USER, PASS and ACCT */
-static CURLcode ftp_state_loggedin(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
-
-#ifdef HAVE_KRB4
- if(conn->data->set.krb) {
- /* We may need to issue a KAUTH here to have access to the files
- * do it if user supplied a password
- */
- if(conn->passwd && *conn->passwd) {
- /* BLOCKING */
- result = Curl_krb_kauth(conn);
- if(result)
- return result;
- }
- }
-#endif
- if(conn->ssl[FIRSTSOCKET].use) {
- /* PBSZ = PROTECTION BUFFER SIZE.
-
- The 'draft-murray-auth-ftp-ssl' (draft 12, page 7) says:
-
- Specifically, the PROT command MUST be preceded by a PBSZ
- command and a PBSZ command MUST be preceded by a successful
- security data exchange (the TLS negotiation in this case)
-
- ... (and on page 8):
-
- Thus the PBSZ command must still be issued, but must have a
- parameter of '0' to indicate that no buffering is taking place
- and the data connection should not be encapsulated.
- */
- NBFTPSENDF(conn, "PBSZ %d", 0);
- state(conn, FTP_PBSZ);
- }
- else {
- result = ftp_state_pwd(conn);
- }
- return result;
-}
-
-/* for USER and PASS responses */
-static CURLcode ftp_state_user_resp(struct connectdata *conn,
- int ftpcode,
- ftpstate instate)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- (void)instate; /* no use for this yet */
-
- /* some need password anyway, and others just return 2xx ignored */
- if((ftpcode == 331) && (ftpc->state == FTP_USER)) {
- /* 331 Password required for ...
- (the server requires to send the user's password too) */
- NBFTPSENDF(conn, "PASS %s", ftp->passwd?ftp->passwd:"");
- state(conn, FTP_PASS);
- }
- else if(ftpcode/100 == 2) {
- /* 230 User ... logged in.
- (the user logged in with or without password) */
- result = ftp_state_loggedin(conn);
- }
- else if(ftpcode == 332) {
- if(data->set.str[STRING_FTP_ACCOUNT]) {
- NBFTPSENDF(conn, "ACCT %s", data->set.str[STRING_FTP_ACCOUNT]);
- state(conn, FTP_ACCT);
- }
- else {
- failf(data, "ACCT requested but none available");
- result = CURLE_LOGIN_DENIED;
- }
- }
- else {
- /* All other response codes, like:
-
- 530 User ... access denied
- (the server denies to log the specified user) */
-
- if(conn->data->set.str[STRING_FTP_ALTERNATIVE_TO_USER] &&
- !conn->data->state.ftp_trying_alternative) {
- /* Ok, USER failed. Let's try the supplied command. */
- NBFTPSENDF(conn, "%s",
- conn->data->set.str[STRING_FTP_ALTERNATIVE_TO_USER]);
- conn->data->state.ftp_trying_alternative = TRUE;
- state(conn, FTP_USER);
- result = CURLE_OK;
- }
- else {
- failf(data, "Access denied: %03d", ftpcode);
- result = CURLE_LOGIN_DENIED;
- }
- }
- return result;
-}
-
-/* for ACCT response */
-static CURLcode ftp_state_acct_resp(struct connectdata *conn,
- int ftpcode)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- if(ftpcode != 230) {
- failf(data, "ACCT rejected by server: %03d", ftpcode);
- result = CURLE_FTP_WEIRD_PASS_REPLY; /* FIX */
- }
- else
- result = ftp_state_loggedin(conn);
-
- return result;
-}
-
-
-static CURLcode ftp_statemach_act(struct connectdata *conn)
-{
- CURLcode result;
- curl_socket_t sock = conn->sock[FIRSTSOCKET];
- struct SessionHandle *data=conn->data;
- int ftpcode;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- static const char * const ftpauth[] = {
- "SSL", "TLS"
- };
- size_t nread = 0;
-
- if(ftpc->sendleft) {
- /* we have a piece of a command still left to send */
- ssize_t written;
- result = Curl_write(conn, sock, ftpc->sendthis + ftpc->sendsize -
- ftpc->sendleft, ftpc->sendleft, &written);
- if(result)
- return result;
-
- if(written != (ssize_t)ftpc->sendleft) {
- /* only a fraction was sent */
- ftpc->sendleft -= written;
- }
- else {
- free(ftpc->sendthis);
- ftpc->sendthis=NULL;
- ftpc->sendleft = ftpc->sendsize = 0;
- ftpc->response = Curl_tvnow();
- }
- return CURLE_OK;
- }
-
- /* we read a piece of response */
- result = ftp_readresp(sock, conn, &ftpcode, &nread);
- if(result)
- return result;
-
- if(ftpcode) {
- /* we have now received a full FTP server response */
- switch(ftpc->state) {
- case FTP_WAIT220:
- if(ftpcode != 220) {
- failf(data, "Got a %03d ftp-server response when 220 was expected",
- ftpcode);
- return CURLE_FTP_WEIRD_SERVER_REPLY;
- }
-
- /* We have received a 220 response fine, now we proceed. */
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- if(data->set.krb) {
- /* If not anonymous login, try a secure login. Note that this
- procedure is still BLOCKING. */
-
- Curl_sec_request_prot(conn, "private");
- /* We set private first as default, in case the line below fails to
- set a valid level */
- Curl_sec_request_prot(conn, data->set.str[STRING_KRB_LEVEL]);
-
- if(Curl_sec_login(conn) != 0)
- infof(data, "Logging in with password in cleartext!\n");
- else
- infof(data, "Authentication successful\n");
- }
-#endif
-
- if(data->set.ftp_ssl && !conn->ssl[FIRSTSOCKET].use) {
- /* We don't have a SSL/TLS connection yet, but FTPS is
- requested. Try a FTPS connection now */
-
- ftpc->count3=0;
- switch(data->set.ftpsslauth) {
- case CURLFTPAUTH_DEFAULT:
- case CURLFTPAUTH_SSL:
- ftpc->count2 = 1; /* add one to get next */
- ftpc->count1 = 0;
- break;
- case CURLFTPAUTH_TLS:
- ftpc->count2 = -1; /* subtract one to get next */
- ftpc->count1 = 1;
- break;
- default:
- failf(data, "unsupported parameter to CURLOPT_FTPSSLAUTH: %d",
- data->set.ftpsslauth);
- return CURLE_FAILED_INIT; /* we don't know what to do */
- }
- NBFTPSENDF(conn, "AUTH %s", ftpauth[ftpc->count1]);
- state(conn, FTP_AUTH);
- }
- else {
- result = ftp_state_user(conn);
- if(result)
- return result;
- }
-
- break;
-
- case FTP_AUTH:
- /* we have gotten the response to a previous AUTH command */
-
- /* RFC2228 (page 5) says:
- *
- * If the server is willing to accept the named security mechanism,
- * and does not require any security data, it must respond with
- * reply code 234/334.
- */
-
- if((ftpcode == 234) || (ftpcode == 334)) {
- /* Curl_ssl_connect is BLOCKING */
- result = Curl_ssl_connect(conn, FIRSTSOCKET);
- if(CURLE_OK == result) {
- conn->protocol |= PROT_FTPS;
- conn->ssl[SECONDARYSOCKET].use = FALSE; /* clear-text data */
- result = ftp_state_user(conn);
- }
- }
- else if(ftpc->count3 < 1) {
- ftpc->count3++;
- ftpc->count1 += ftpc->count2; /* get next attempt */
- result = Curl_nbftpsendf(conn, "AUTH %s", ftpauth[ftpc->count1]);
- /* remain in this same state */
- }
- else {
- if(data->set.ftp_ssl > CURLUSESSL_TRY)
- /* we failed and CURLUSESSL_CONTROL or CURLUSESSL_ALL is set */
- result = CURLE_USE_SSL_FAILED;
- else
- /* ignore the failure and continue */
- result = ftp_state_user(conn);
- }
-
- if(result)
- return result;
- break;
-
- case FTP_USER:
- case FTP_PASS:
- result = ftp_state_user_resp(conn, ftpcode, ftpc->state);
- break;
-
- case FTP_ACCT:
- result = ftp_state_acct_resp(conn, ftpcode);
- break;
-
- case FTP_PBSZ:
- /* FIX: check response code */
-
- /* For TLS, the data connection can have one of two security levels.
-
- 1) Clear (requested by 'PROT C')
-
- 2)Private (requested by 'PROT P')
- */
- if(!conn->ssl[SECONDARYSOCKET].use) {
- NBFTPSENDF(conn, "PROT %c",
- data->set.ftp_ssl == CURLUSESSL_CONTROL ? 'C' : 'P');
- state(conn, FTP_PROT);
- }
- else {
- result = ftp_state_pwd(conn);
- if(result)
- return result;
- }
-
- break;
-
- case FTP_PROT:
- if(ftpcode/100 == 2)
- /* We have enabled SSL for the data connection! */
- conn->ssl[SECONDARYSOCKET].use =
- (bool)(data->set.ftp_ssl != CURLUSESSL_CONTROL);
- /* FTP servers typically responds with 500 if they decide to reject
- our 'P' request */
- else if(data->set.ftp_ssl > CURLUSESSL_CONTROL)
- /* we failed and bails out */
- return CURLE_USE_SSL_FAILED;
-
- if(data->set.ftp_ccc) {
- /* CCC - Clear Command Channel
- */
- NBFTPSENDF(conn, "CCC", NULL);
- state(conn, FTP_CCC);
- }
- else {
- result = ftp_state_pwd(conn);
- if(result)
- return result;
- }
- break;
-
- case FTP_CCC:
- if(ftpcode < 500) {
- /* First shut down the SSL layer (note: this call will block) */
- result = Curl_ssl_shutdown(conn, FIRSTSOCKET);
-
- if(result) {
- failf(conn->data, "Failed to clear the command channel (CCC)");
- return result;
- }
- }
-
- /* Then continue as normal */
- result = ftp_state_pwd(conn);
- if(result)
- return result;
- break;
-
- case FTP_PWD:
- if(ftpcode == 257) {
- char *dir = (char *)malloc(nread+1);
- char *store=dir;
- char *ptr=&data->state.buffer[4]; /* start on the first letter */
-
- if(!dir)
- return CURLE_OUT_OF_MEMORY;
-
- /* Reply format is like
- 257<space>"<directory-name>"<space><commentary> and the RFC959
- says
-
- The directory name can contain any character; embedded
- double-quotes should be escaped by double-quotes (the
- "quote-doubling" convention).
- */
- if('\"' == *ptr) {
- /* it started good */
- ptr++;
- while(ptr && *ptr) {
- if('\"' == *ptr) {
- if('\"' == ptr[1]) {
- /* "quote-doubling" */
- *store = ptr[1];
- ptr++;
- }
- else {
- /* end of path */
- *store = '\0'; /* zero terminate */
- break; /* get out of this loop */
- }
- }
- else
- *store = *ptr;
- store++;
- ptr++;
- }
- ftpc->entrypath =dir; /* remember this */
- infof(data, "Entry path is '%s'\n", ftpc->entrypath);
- /* also save it where getinfo can access it: */
- data->state.most_recent_ftp_entrypath = ftpc->entrypath;
- }
- else {
- /* couldn't get the path */
- free(dir);
- infof(data, "Failed to figure out path\n");
- }
- }
- state(conn, FTP_STOP); /* we are done with the CONNECT phase! */
- DEBUGF(infof(data, "protocol connect phase DONE\n"));
- break;
-
- case FTP_QUOTE:
- case FTP_POSTQUOTE:
- case FTP_RETR_PREQUOTE:
- case FTP_STOR_PREQUOTE:
- if(ftpcode >= 400) {
- failf(conn->data, "QUOT command failed with %03d", ftpcode);
- return CURLE_QUOTE_ERROR;
- }
- result = ftp_state_quote(conn, FALSE, ftpc->state);
- if(result)
- return result;
-
- break;
-
- case FTP_CWD:
- if(ftpcode/100 != 2) {
- /* failure to CWD there */
- if(conn->data->set.ftp_create_missing_dirs &&
- ftpc->count1 && !ftpc->count2) {
- /* try making it */
- ftpc->count2++; /* counter to prevent CWD-MKD loops */
- NBFTPSENDF(conn, "MKD %s", ftpc->dirs[ftpc->count1 - 1]);
- state(conn, FTP_MKD);
- }
- else {
- /* return failure */
- failf(data, "Server denied you to change to the given directory");
- ftpc->cwdfail = TRUE; /* don't remember this path as we failed
- to enter it */
- return CURLE_REMOTE_ACCESS_DENIED;
- }
- }
- else {
- /* success */
- ftpc->count2=0;
- if(++ftpc->count1 <= ftpc->dirdepth) {
- /* send next CWD */
- NBFTPSENDF(conn, "CWD %s", ftpc->dirs[ftpc->count1 - 1]);
- }
- else {
- result = ftp_state_post_cwd(conn);
- if(result)
- return result;
- }
- }
- break;
-
- case FTP_MKD:
- if(ftpcode/100 != 2) {
- /* failure to MKD the dir */
- failf(data, "Failed to MKD dir: %03d", ftpcode);
- return CURLE_REMOTE_ACCESS_DENIED;
- }
- state(conn, FTP_CWD);
- /* send CWD */
- NBFTPSENDF(conn, "CWD %s", ftpc->dirs[ftpc->count1 - 1]);
- break;
-
- case FTP_MDTM:
- result = ftp_state_mdtm_resp(conn, ftpcode);
- break;
-
- case FTP_TYPE:
- case FTP_LIST_TYPE:
- case FTP_RETR_TYPE:
- case FTP_STOR_TYPE:
- result = ftp_state_type_resp(conn, ftpcode, ftpc->state);
- break;
-
- case FTP_SIZE:
- case FTP_RETR_SIZE:
- case FTP_STOR_SIZE:
- result = ftp_state_size_resp(conn, ftpcode, ftpc->state);
- break;
-
- case FTP_REST:
- case FTP_RETR_REST:
- result = ftp_state_rest_resp(conn, ftpcode, ftpc->state);
- break;
-
- case FTP_PASV:
- result = ftp_state_pasv_resp(conn, ftpcode);
- break;
-
- case FTP_PORT:
- result = ftp_state_port_resp(conn, ftpcode);
- break;
-
- case FTP_LIST:
- case FTP_RETR:
- result = ftp_state_get_resp(conn, ftpcode, ftpc->state);
- break;
-
- case FTP_STOR:
- result = ftp_state_stor_resp(conn, ftpcode);
- break;
-
- case FTP_QUIT:
- /* fallthrough, just stop! */
- default:
- /* internal error */
- state(conn, FTP_STOP);
- break;
- }
- } /* if(ftpcode) */
-
- return result;
-}
-
-/* Returns timeout in ms. 0 or negative number means the timeout has already
- triggered */
-static long ftp_state_timeout(struct connectdata *conn)
-{
- struct SessionHandle *data=conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- long timeout_ms=360000; /* in milliseconds */
-
- if(data->set.ftp_response_timeout )
- /* if CURLOPT_FTP_RESPONSE_TIMEOUT is set, use that to determine remaining
- time. Also, use ftp->response because FTP_RESPONSE_TIMEOUT is supposed
- to govern the response for any given ftp response, not for the time
- from connect to the given ftp response. */
- timeout_ms = data->set.ftp_response_timeout - /* timeout time */
- Curl_tvdiff(Curl_tvnow(), ftpc->response); /* spent time */
- else if(data->set.timeout)
- /* if timeout is requested, find out how much remaining time we have */
- timeout_ms = data->set.timeout - /* timeout time */
- Curl_tvdiff(Curl_tvnow(), conn->now); /* spent time */
- else
- /* Without a requested timeout, we only wait 'response_time' seconds for
- the full response to arrive before we bail out */
- timeout_ms = ftpc->response_time -
- Curl_tvdiff(Curl_tvnow(), ftpc->response); /* spent time */
-
- return timeout_ms;
-}
-
-
-/* called repeatedly until done from multi.c */
-static CURLcode ftp_multi_statemach(struct connectdata *conn,
- bool *done)
-{
- curl_socket_t sock = conn->sock[FIRSTSOCKET];
- int rc;
- struct SessionHandle *data=conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- CURLcode result = CURLE_OK;
- long timeout_ms = ftp_state_timeout(conn);
-
- *done = FALSE; /* default to not done yet */
-
- if(timeout_ms <= 0) {
- failf(data, "FTP response timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- rc = Curl_socket_ready(ftpc->sendleft?CURL_SOCKET_BAD:sock, /* reading */
- ftpc->sendleft?sock:CURL_SOCKET_BAD, /* writing */
- 0);
-
- if(rc == -1) {
- failf(data, "select/poll error");
- return CURLE_OUT_OF_MEMORY;
- }
- else if(rc != 0) {
- result = ftp_statemach_act(conn);
- *done = (bool)(ftpc->state == FTP_STOP);
- }
- /* if rc == 0, then select() timed out */
-
- return result;
-}
-
-static CURLcode ftp_easy_statemach(struct connectdata *conn)
-{
- curl_socket_t sock = conn->sock[FIRSTSOCKET];
- int rc;
- struct SessionHandle *data=conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- CURLcode result = CURLE_OK;
-
- while(ftpc->state != FTP_STOP) {
- long timeout_ms = ftp_state_timeout(conn);
-
- if(timeout_ms <=0 ) {
- failf(data, "FTP response timeout");
- return CURLE_OPERATION_TIMEDOUT; /* already too little time */
- }
-
- rc = Curl_socket_ready(ftpc->sendleft?CURL_SOCKET_BAD:sock, /* reading */
- ftpc->sendleft?sock:CURL_SOCKET_BAD, /* writing */
- (int)timeout_ms);
-
- if(rc == -1) {
- failf(data, "select/poll error");
- return CURLE_OUT_OF_MEMORY;
- }
- else if(rc == 0) {
- result = CURLE_OPERATION_TIMEDOUT;
- break;
- }
- else {
- result = ftp_statemach_act(conn);
- if(result)
- break;
- }
- }
-
- return result;
-}
-
-/*
- * Allocate and initialize the struct FTP for the current SessionHandle. If
- * need be.
- */
-static CURLcode ftp_init(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- if(!ftp) {
- ftp = (struct FTP *)calloc(sizeof(struct FTP), 1);
- if(!ftp)
- return CURLE_OUT_OF_MEMORY;
-
- data->state.proto.ftp = ftp;
- }
-
- /* get some initial data into the ftp struct */
- ftp->bytecountp = &data->req.bytecount;
-
- /* No need to duplicate user+password, the connectdata struct won't change
- during a session, but we re-init them here since on subsequent inits
- since the conn struct may have changed or been replaced.
- */
- ftp->user = conn->user;
- ftp->passwd = conn->passwd;
- if(isBadFtpString(ftp->user) || isBadFtpString(ftp->passwd))
- return CURLE_URL_MALFORMAT;
-
- return CURLE_OK;
-}
-
-/*
- * ftp_connect() should do everything that is to be considered a part of
- * the connection phase.
- *
- * The variable 'done' points to will be TRUE if the protocol-layer connect
- * phase is done when this function returns, or FALSE is not. When called as
- * a part of the easy interface, it will always be TRUE.
- */
-static CURLcode ftp_connect(struct connectdata *conn,
- bool *done) /* see description above */
-{
- CURLcode result;
-#ifndef CURL_DISABLE_HTTP
- /* for FTP over HTTP proxy */
- struct HTTP http_proxy;
- struct FTP *ftp_save;
-#endif /* CURL_DISABLE_HTTP */
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- struct SessionHandle *data=conn->data;
-
- *done = FALSE; /* default to not done yet */
-
- /* If there already is a protocol-specific struct allocated for this
- sessionhandle, deal with it */
- Curl_reset_reqproto(conn);
-
- result = ftp_init(conn);
- if(result)
- return result;
-
- /* We always support persistant connections on ftp */
- conn->bits.close = FALSE;
-
- ftpc->response_time = RESP_TIMEOUT; /* set default response time-out */
-
-#ifndef CURL_DISABLE_HTTP
- if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
- /* BLOCKING */
- /* We want "seamless" FTP operations through HTTP proxy tunnel */
-
- /* Curl_proxyCONNECT is based on a pointer to a struct HTTP at the member
- * conn->proto.http; we want FTP through HTTP and we have to change the
- * member temporarily for connecting to the HTTP proxy. After
- * Curl_proxyCONNECT we have to set back the member to the original struct
- * FTP pointer
- */
- ftp_save = data->state.proto.ftp;
- memset(&http_proxy, 0, sizeof(http_proxy));
- data->state.proto.http = &http_proxy;
-
- result = Curl_proxyCONNECT(conn, FIRSTSOCKET,
- conn->host.name, conn->remote_port);
-
- data->state.proto.ftp = ftp_save;
-
- if(CURLE_OK != result)
- return result;
- }
-#endif /* CURL_DISABLE_HTTP */
-
- if(conn->protocol & PROT_FTPS) {
- /* BLOCKING */
- /* FTPS is simply ftp with SSL for the control channel */
- /* now, perform the SSL initialization for this socket */
- result = Curl_ssl_connect(conn, FIRSTSOCKET);
- if(result)
- return result;
- }
-
- /* When we connect, we start in the state where we await the 220
- response */
- ftp_respinit(conn); /* init the response reader stuff */
- state(conn, FTP_WAIT220);
- ftpc->response = Curl_tvnow(); /* start response time-out now! */
-
- if(data->state.used_interface == Curl_if_multi)
- result = ftp_multi_statemach(conn, done);
- else {
- result = ftp_easy_statemach(conn);
- if(!result)
- *done = TRUE;
- }
-
- return result;
-}
-
-/***********************************************************************
- *
- * ftp_done()
- *
- * The DONE function. This does what needs to be done after a single DO has
- * performed.
- *
- * Input argument is already checked for validity.
- */
-static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
- bool premature)
-{
- struct SessionHandle *data = conn->data;
- struct FTP *ftp = data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- ssize_t nread;
- int ftpcode;
- CURLcode result=CURLE_OK;
- bool was_ctl_valid = ftpc->ctl_valid;
- char *path;
- char *path_to_use = data->state.path;
-
- if(!ftp)
- /* When the easy handle is removed from the multi while libcurl is still
- * trying to resolve the host name, it seems that the ftp struct is not
- * yet initialized, but the removal action calls Curl_done() which calls
- * this function. So we simply return success if no ftp pointer is set.
- */
- return CURLE_OK;
-
- switch(status) {
- case CURLE_BAD_DOWNLOAD_RESUME:
- case CURLE_FTP_WEIRD_PASV_REPLY:
- case CURLE_FTP_PORT_FAILED:
- case CURLE_FTP_COULDNT_SET_TYPE:
- case CURLE_FTP_COULDNT_RETR_FILE:
- case CURLE_UPLOAD_FAILED:
- case CURLE_REMOTE_ACCESS_DENIED:
- case CURLE_FILESIZE_EXCEEDED:
- /* the connection stays alive fine even though this happened */
- /* fall-through */
- case CURLE_OK: /* doesn't affect the control connection's status */
- if(!premature) {
- ftpc->ctl_valid = was_ctl_valid;
- break;
- }
- /* until we cope better with prematurely ended requests, let them
- * fallback as if in complete failure */
- default: /* by default, an error means the control connection is
- wedged and should not be used anymore */
- ftpc->ctl_valid = FALSE;
- ftpc->cwdfail = TRUE; /* set this TRUE to prevent us to remember the
- current path, as this connection is going */
- conn->bits.close = TRUE; /* marked for closure */
- break;
- }
-
- /* now store a copy of the directory we are in */
- if(ftpc->prevpath)
- free(ftpc->prevpath);
-
- /* get the "raw" path */
- path = curl_easy_unescape(data, path_to_use, 0, NULL);
- if(!path) {
- /* out of memory, but we can limp along anyway (and should try to
- * since we're in the out of memory cleanup path) */
- ftpc->prevpath = NULL; /* no path */
-
- } else {
- size_t flen = ftpc->file?strlen(ftpc->file):0; /* file is "raw" already */
- size_t dlen = strlen(path)-flen;
- if(!ftpc->cwdfail) {
- if(dlen && (data->set.ftp_filemethod != FTPFILE_NOCWD)) {
- ftpc->prevpath = path;
- if(flen)
- /* if 'path' is not the whole string */
- ftpc->prevpath[dlen]=0; /* terminate */
- }
- else {
- /* we never changed dir */
- ftpc->prevpath=strdup("");
- free(path);
- }
- infof(data, "Remembering we are in dir \"%s\"\n", ftpc->prevpath);
- }
- else {
- ftpc->prevpath = NULL; /* no path */
- free(path);
- }
- }
- /* free the dir tree and file parts */
- freedirs(ftpc);
-
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- Curl_sec_fflush_fd(conn, conn->sock[SECONDARYSOCKET]);
-#endif
-
- /* shut down the socket to inform the server we're done */
-
-#ifdef _WIN32_WCE
- shutdown(conn->sock[SECONDARYSOCKET],2); /* SD_BOTH */
-#endif
-
- if(conn->sock[SECONDARYSOCKET] != CURL_SOCKET_BAD) {
- if(conn->ssl[SECONDARYSOCKET].use) {
- /* The secondary socket is using SSL so we must close down that part first
- before we close the socket for real */
- Curl_ssl_close(conn, SECONDARYSOCKET);
-
- /* Note that we keep "use" set to TRUE since that (next) connection is
- still requested to use SSL */
- }
- sclose(conn->sock[SECONDARYSOCKET]);
-
- conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD;
- }
-
- if((ftp->transfer == FTPTRANSFER_BODY) && !status && !premature) {
- /*
- * Let's see what the server says about the transfer we just performed,
- * but lower the timeout as sometimes this connection has died while the
- * data has been transfered. This happens when doing through NATs etc that
- * abandon old silent connections.
- */
- long old_time = ftpc->response_time;
-
- ftpc->response_time = 60*1000; /* give it only a minute for now */
-
- result = Curl_GetFTPResponse(&nread, conn, &ftpcode);
-
- ftpc->response_time = old_time; /* set this back to previous value */
-
- if(!nread && (CURLE_OPERATION_TIMEDOUT == result)) {
- failf(data, "control connection looks dead");
- ftpc->ctl_valid = FALSE; /* mark control connection as bad */
- conn->bits.close = TRUE; /* mark for closure */
- }
-
- if(result)
- return result;
-
- if(!ftpc->dont_check) {
- /* 226 Transfer complete, 250 Requested file action okay, completed. */
- if((ftpcode != 226) && (ftpcode != 250)) {
- failf(data, "server did not report OK, got %d", ftpcode);
- result = CURLE_PARTIAL_FILE;
- }
- }
- }
-
- if(result || premature)
- /* the response code from the transfer showed an error already so no
- use checking further */
- ;
- else if(data->set.upload) {
- if((-1 != data->set.infilesize) &&
- (data->set.infilesize != *ftp->bytecountp) &&
- !data->set.crlf &&
- (ftp->transfer == FTPTRANSFER_BODY)) {
- failf(data, "Uploaded unaligned file size (%" FORMAT_OFF_T
- " out of %" FORMAT_OFF_T " bytes)",
- *ftp->bytecountp, data->set.infilesize);
- result = CURLE_PARTIAL_FILE;
- }
- }
- else {
- if((-1 != data->req.size) &&
- (data->req.size != *ftp->bytecountp) &&
-#ifdef CURL_DO_LINEEND_CONV
- /* Most FTP servers don't adjust their file SIZE response for CRLFs, so
- * we'll check to see if the discrepancy can be explained by the number
- * of CRLFs we've changed to LFs.
- */
- ((data->req.size + data->state.crlf_conversions) !=
- *ftp->bytecountp) &&
-#endif /* CURL_DO_LINEEND_CONV */
- (data->req.maxdownload != *ftp->bytecountp)) {
- failf(data, "Received only partial file: %" FORMAT_OFF_T " bytes",
- *ftp->bytecountp);
- result = CURLE_PARTIAL_FILE;
- }
- else if(!ftpc->dont_check &&
- !*ftp->bytecountp &&
- (data->req.size>0)) {
- failf(data, "No data was received!");
- result = CURLE_FTP_COULDNT_RETR_FILE;
- }
- }
-
- /* clear these for next connection */
- ftp->transfer = FTPTRANSFER_BODY;
- ftpc->dont_check = FALSE;
-
- /* Send any post-transfer QUOTE strings? */
- if(!status && !result && !premature && data->set.postquote)
- result = ftp_sendquote(conn, data->set.postquote);
-
- return result;
-}
-
-/***********************************************************************
- *
- * ftp_sendquote()
- *
- * Where a 'quote' means a list of custom commands to send to the server.
- * The quote list is passed as an argument.
- */
-
-static
-CURLcode ftp_sendquote(struct connectdata *conn, struct curl_slist *quote)
-{
- struct curl_slist *item;
- ssize_t nread;
- int ftpcode;
- CURLcode result;
-
- item = quote;
- while(item) {
- if(item->data) {
- FTPSENDF(conn, "%s", item->data);
-
- result = Curl_GetFTPResponse(&nread, conn, &ftpcode);
- if(result)
- return result;
-
- if(ftpcode >= 400) {
- failf(conn->data, "QUOT string not accepted: %s", item->data);
- return CURLE_QUOTE_ERROR;
- }
- }
-
- item = item->next;
- }
-
- return CURLE_OK;
-}
-
-/***********************************************************************
- *
- * ftp_need_type()
- *
- * Returns TRUE if we in the current situation should send TYPE
- */
-static int ftp_need_type(struct connectdata *conn,
- bool ascii_wanted)
-{
- return conn->proto.ftpc.transfertype != (ascii_wanted?'A':'I');
-}
-
-/***********************************************************************
- *
- * ftp_nb_type()
- *
- * Set TYPE. We only deal with ASCII or BINARY so this function
- * sets one of them.
- * If the transfer type is not sent, simulate on OK response in newstate
- */
-static CURLcode ftp_nb_type(struct connectdata *conn,
- bool ascii, ftpstate newstate)
-{
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- CURLcode result;
- char want = (char)(ascii?'A':'I');
-
- if(ftpc->transfertype == want) {
- state(conn, newstate);
- return ftp_state_type_resp(conn, 200, newstate);
- }
-
- NBFTPSENDF(conn, "TYPE %c", want);
- state(conn, newstate);
-
- /* keep track of our current transfer type */
- ftpc->transfertype = want;
- return CURLE_OK;
-}
-
-/***************************************************************************
- *
- * ftp_pasv_verbose()
- *
- * This function only outputs some informationals about this second connection
- * when we've issued a PASV command before and thus we have connected to a
- * possibly new IP address.
- *
- */
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
-static void
-ftp_pasv_verbose(struct connectdata *conn,
- Curl_addrinfo *ai,
- char *newhost, /* ascii version */
- int port)
-{
- char buf[256];
- Curl_printable_address(ai, buf, sizeof(buf));
- infof(conn->data, "Connecting to %s (%s) port %d\n", newhost, buf, port);
-}
-#endif
-
-/*
- Check if this is a range download, and if so, set the internal variables
- properly.
- */
-
-static CURLcode ftp_range(struct connectdata *conn)
-{
- curl_off_t from, to;
- curl_off_t totalsize=-1;
- char *ptr;
- char *ptr2;
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if(data->state.use_range && data->state.range) {
- from=curlx_strtoofft(data->state.range, &ptr, 0);
- while(ptr && *ptr && (ISSPACE(*ptr) || (*ptr=='-')))
- ptr++;
- to=curlx_strtoofft(ptr, &ptr2, 0);
- if(ptr == ptr2) {
- /* we didn't get any digit */
- to=-1;
- }
- if((-1 == to) && (from>=0)) {
- /* X - */
- data->state.resume_from = from;
- DEBUGF(infof(conn->data, "FTP RANGE %" FORMAT_OFF_T " to end of file\n",
- from));
- }
- else if(from < 0) {
- /* -Y */
- totalsize = -from;
- data->req.maxdownload = -from;
- data->state.resume_from = from;
- DEBUGF(infof(conn->data, "FTP RANGE the last %" FORMAT_OFF_T " bytes\n",
- totalsize));
- }
- else {
- /* X-Y */
- totalsize = to-from;
- data->req.maxdownload = totalsize+1; /* include last byte */
- data->state.resume_from = from;
- DEBUGF(infof(conn->data, "FTP RANGE from %" FORMAT_OFF_T
- " getting %" FORMAT_OFF_T " bytes\n",
- from, data->req.maxdownload));
- }
- DEBUGF(infof(conn->data, "range-download from %" FORMAT_OFF_T
- " to %" FORMAT_OFF_T ", totally %" FORMAT_OFF_T " bytes\n",
- from, to, data->req.maxdownload));
- ftpc->dont_check = TRUE; /* dont check for successful transfer */
- }
- else
- data->req.maxdownload = -1;
- return CURLE_OK;
-}
-
-
-/*
- * ftp_nextconnect()
- *
- * This function shall be called when the second FTP (data) connection is
- * connected.
- */
-
-static CURLcode ftp_nextconnect(struct connectdata *conn)
-{
- struct SessionHandle *data=conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- CURLcode result = CURLE_OK;
-
- /* the ftp struct is inited in ftp_connect() */
- struct FTP *ftp = data->state.proto.ftp;
-
- DEBUGF(infof(data, "DO-MORE phase starts\n"));
-
- if(ftp->transfer <= FTPTRANSFER_INFO) {
- /* a transfer is about to take place, or if not a file name was given
- so we'll do a SIZE on it later and then we need the right TYPE first */
-
- if(data->set.upload) {
- result = ftp_nb_type(conn, data->set.prefer_ascii, FTP_STOR_TYPE);
- if(result)
- return result;
- }
- else {
- /* download */
- ftp->downloadsize = -1; /* unknown as of yet */
-
- result = ftp_range(conn);
- if(result)
- ;
- else if(data->set.ftp_list_only || !ftpc->file) {
- /* The specified path ends with a slash, and therefore we think this
- is a directory that is requested, use LIST. But before that we
- need to set ASCII transfer mode. */
-
- /* But only if a body transfer was requested. */
- if(ftp->transfer == FTPTRANSFER_BODY) {
- result = ftp_nb_type(conn, 1, FTP_LIST_TYPE);
- if(result)
- return result;
- }
- /* otherwise just fall through */
- }
- else {
- result = ftp_nb_type(conn, data->set.prefer_ascii, FTP_RETR_TYPE);
- if(result)
- return result;
- }
- }
- result = ftp_easy_statemach(conn);
- }
-
- if((result == CURLE_OK) && (ftp->transfer != FTPTRANSFER_BODY))
- /* no data to transfer. FIX: it feels like a kludge to have this here
- too! */
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
-
- /* end of transfer */
- DEBUGF(infof(data, "DO-MORE phase ends with %d\n", result));
-
- return result;
-}
-
-
-
-/***********************************************************************
- *
- * ftp_perform()
- *
- * This is the actual DO function for FTP. Get a file/directory according to
- * the options previously setup.
- */
-
-static
-CURLcode ftp_perform(struct connectdata *conn,
- bool *connected, /* connect status after PASV / PORT */
- bool *dophase_done)
-{
- /* this is FTP and no proxy */
- CURLcode result=CURLE_OK;
-
- DEBUGF(infof(conn->data, "DO phase starts\n"));
-
- if(conn->data->set.opt_no_body) {
- /* requested no body means no transfer... */
- struct FTP *ftp = conn->data->state.proto.ftp;
- ftp->transfer = FTPTRANSFER_INFO;
- }
-
-
- *dophase_done = FALSE; /* not done yet */
-
- /* start the first command in the DO phase */
- result = ftp_state_quote(conn, TRUE, FTP_QUOTE);
- if(result)
- return result;
-
- /* run the state-machine */
- if(conn->data->state.used_interface == Curl_if_multi)
- result = ftp_multi_statemach(conn, dophase_done);
- else {
- result = ftp_easy_statemach(conn);
- *dophase_done = TRUE; /* with the easy interface we are done here */
- }
- *connected = conn->bits.tcpconnect;
-
- if(*dophase_done)
- DEBUGF(infof(conn->data, "DO phase is complete\n"));
-
- return result;
-}
-
-/***********************************************************************
- *
- * ftp_do()
- *
- * This function is registered as 'curl_do' function. It decodes the path
- * parts etc as a wrapper to the actual DO function (ftp_perform).
- *
- * The input argument is already checked for validity.
- */
-static CURLcode ftp_do(struct connectdata *conn, bool *done)
-{
- CURLcode retcode = CURLE_OK;
-
- *done = FALSE; /* default to false */
-
- /*
- Since connections can be re-used between SessionHandles, this might be a
- connection already existing but on a fresh SessionHandle struct so we must
- make sure we have a good 'struct FTP' to play with. For new connections,
- the struct FTP is allocated and setup in the ftp_connect() function.
- */
- Curl_reset_reqproto(conn);
- retcode = ftp_init(conn);
- if(retcode)
- return retcode;
-
- retcode = ftp_parse_url_path(conn);
- if(retcode)
- return retcode;
-
- retcode = ftp_regular_transfer(conn, done);
-
- return retcode;
-}
-
-/***********************************************************************
- *
- * Curl_(nb)ftpsendf()
- *
- * Sends the formated string as a ftp command to a ftp server
- *
- * NOTE: we build the command in a fixed-length buffer, which sets length
- * restrictions on the command!
- *
- * The "nb" version is made to Never Block.
- */
-CURLcode Curl_nbftpsendf(struct connectdata *conn,
- const char *fmt, ...)
-{
- ssize_t bytes_written;
-/* may still not be big enough for some krb5 tokens */
-#define SBUF_SIZE 1024
- char s[SBUF_SIZE];
- size_t write_len;
- char *sptr=s;
- CURLcode res = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- enum protection_level data_sec = conn->data_prot;
-#endif
-
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(s, SBUF_SIZE-3, fmt, ap);
- va_end(ap);
-
- strcat(s, "\r\n"); /* append a trailing CRLF */
-
- bytes_written=0;
- write_len = strlen(s);
-
- ftp_respinit(conn);
-
-#ifdef CURL_DOES_CONVERSIONS
- res = Curl_convert_to_network(data, s, write_len);
- /* Curl_convert_to_network calls failf if unsuccessful */
- if(res != CURLE_OK) {
- return res;
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- conn->data_prot = prot_cmd;
-#endif
- res = Curl_write(conn, conn->sock[FIRSTSOCKET], sptr, write_len,
- &bytes_written);
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- conn->data_prot = data_sec;
-#endif
-
- if(CURLE_OK != res)
- return res;
-
- if(conn->data->set.verbose)
- Curl_debug(conn->data, CURLINFO_HEADER_OUT,
- sptr, (size_t)bytes_written, conn);
-
- if(bytes_written != (ssize_t)write_len) {
- /* the whole chunk was not sent, store the rest of the data */
- write_len -= bytes_written;
- sptr += bytes_written;
- ftpc->sendthis = malloc(write_len);
- if(ftpc->sendthis) {
- memcpy(ftpc->sendthis, sptr, write_len);
- ftpc->sendsize = ftpc->sendleft = write_len;
- }
- else {
- failf(data, "out of memory");
- res = CURLE_OUT_OF_MEMORY;
- }
- }
- else
- ftpc->response = Curl_tvnow();
-
- return res;
-}
-
-CURLcode Curl_ftpsendf(struct connectdata *conn,
- const char *fmt, ...)
-{
- ssize_t bytes_written;
- char s[SBUF_SIZE];
- size_t write_len;
- char *sptr=s;
- CURLcode res = CURLE_OK;
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- enum protection_level data_sec = conn->data_prot;
-#endif
-
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(s, SBUF_SIZE-3, fmt, ap);
- va_end(ap);
-
- strcat(s, "\r\n"); /* append a trailing CRLF */
-
- bytes_written=0;
- write_len = strlen(s);
-
-#ifdef CURL_DOES_CONVERSIONS
- res = Curl_convert_to_network(conn->data, s, write_len);
- /* Curl_convert_to_network calls failf if unsuccessful */
- if(res != CURLE_OK) {
- return(res);
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- while(1) {
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- conn->data_prot = prot_cmd;
-#endif
- res = Curl_write(conn, conn->sock[FIRSTSOCKET], sptr, write_len,
- &bytes_written);
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- conn->data_prot = data_sec;
-#endif
-
- if(CURLE_OK != res)
- break;
-
- if(conn->data->set.verbose)
- Curl_debug(conn->data, CURLINFO_HEADER_OUT,
- sptr, (size_t)bytes_written, conn);
-
- if(bytes_written != (ssize_t)write_len) {
- write_len -= bytes_written;
- sptr += bytes_written;
- }
- else
- break;
- }
-
- return res;
-}
-
-/***********************************************************************
- *
- * ftp_quit()
- *
- * This should be called before calling sclose() on an ftp control connection
- * (not data connections). We should then wait for the response from the
- * server before returning. The calling code should then try to close the
- * connection.
- *
- */
-static CURLcode ftp_quit(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
-
- if(conn->proto.ftpc.ctl_valid) {
- NBFTPSENDF(conn, "QUIT", NULL);
- state(conn, FTP_QUIT);
-
- result = ftp_easy_statemach(conn);
- }
-
- return result;
-}
-
-/***********************************************************************
- *
- * ftp_disconnect()
- *
- * Disconnect from an FTP server. Cleanup protocol-specific per-connection
- * resources. BLOCKING.
- */
-static CURLcode ftp_disconnect(struct connectdata *conn)
-{
- struct ftp_conn *ftpc= &conn->proto.ftpc;
-
- /* We cannot send quit unconditionally. If this connection is stale or
- bad in any way, sending quit and waiting around here will make the
- disconnect wait in vain and cause more problems than we need to.
-
- ftp_quit() will check the state of ftp->ctl_valid. If it's ok it
- will try to send the QUIT command, otherwise it will just return.
- */
-
- /* The FTP session may or may not have been allocated/setup at this point! */
- (void)ftp_quit(conn); /* ignore errors on the QUIT */
-
- if(ftpc->entrypath) {
- struct SessionHandle *data = conn->data;
- if(data->state.most_recent_ftp_entrypath == ftpc->entrypath) {
- data->state.most_recent_ftp_entrypath = NULL;
- }
- free(ftpc->entrypath);
- ftpc->entrypath = NULL;
- }
- if(ftpc->cache) {
- free(ftpc->cache);
- ftpc->cache = NULL;
- }
- freedirs(ftpc);
- if(ftpc->prevpath) {
- free(ftpc->prevpath);
- ftpc->prevpath = NULL;
- }
-
- return CURLE_OK;
-}
-
-/***********************************************************************
- *
- * ftp_parse_url_path()
- *
- * Parse the URL path into separate path components.
- *
- */
-static
-CURLcode ftp_parse_url_path(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- /* the ftp struct is already inited in ftp_connect() */
- struct FTP *ftp = data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- size_t dlen;
- char *slash_pos; /* position of the first '/' char in curpos */
- char *path_to_use = data->state.path;
- char *cur_pos;
-
- cur_pos = path_to_use; /* current position in path. point at the begin
- of next path component */
-
- ftpc->ctl_valid = FALSE;
- ftpc->cwdfail = FALSE;
-
- switch(data->set.ftp_filemethod) {
- case FTPFILE_NOCWD:
- /* fastest, but less standard-compliant */
-
- /*
- The best time to check whether the path is a file or directory is right
- here. so:
-
- the first condition in the if() right here, is there just in case
- someone decides to set path to NULL one day
- */
- if(data->state.path &&
- data->state.path[0] &&
- (data->state.path[strlen(data->state.path) - 1] != '/') )
- ftpc->file = data->state.path; /* this is a full file path */
- else
- ftpc->file = NULL;
- /*
- ftpc->file is not used anywhere other than for operations on a file.
- In other words, never for directory operations.
- So we can safely set it to NULL here and use it as a
- argument in dir/file decisions.
- */
- break;
-
- case FTPFILE_SINGLECWD:
- /* get the last slash */
- if(!path_to_use[0]) {
- /* no dir, no file */
- ftpc->dirdepth = 0;
- ftpc->file = NULL;
- break;
- }
- slash_pos=strrchr(cur_pos, '/');
- if(slash_pos || !*cur_pos) {
- ftpc->dirs = (char **)calloc(1, sizeof(ftpc->dirs[0]));
- if(!ftpc->dirs)
- return CURLE_OUT_OF_MEMORY;
-
- ftpc->dirs[0] = curl_easy_unescape(conn->data, slash_pos ? cur_pos : "/",
- slash_pos?(int)(slash_pos-cur_pos):1,
- NULL);
- if(!ftpc->dirs[0]) {
- freedirs(ftpc);
- return CURLE_OUT_OF_MEMORY;
- }
- ftpc->dirdepth = 1; /* we consider it to be a single dir */
- ftpc->file = slash_pos ? slash_pos+1 : cur_pos; /* rest is file name */
- }
- else
- ftpc->file = cur_pos; /* this is a file name only */
- break;
-
- default: /* allow pretty much anything */
- case FTPFILE_MULTICWD:
- ftpc->dirdepth = 0;
- ftpc->diralloc = 5; /* default dir depth to allocate */
- ftpc->dirs = (char **)calloc(ftpc->diralloc, sizeof(ftpc->dirs[0]));
- if(!ftpc->dirs)
- return CURLE_OUT_OF_MEMORY;
-
- /* we have a special case for listing the root dir only */
- if(strequal(path_to_use, "/")) {
- cur_pos++; /* make it point to the zero byte */
- ftpc->dirs[0] = strdup("/");
- ftpc->dirdepth++;
- }
- else {
- /* parse the URL path into separate path components */
- while((slash_pos = strchr(cur_pos, '/')) != NULL) {
- /* 1 or 0 to indicate absolute directory */
- bool absolute_dir = (bool)((cur_pos - data->state.path > 0) &&
- (ftpc->dirdepth == 0));
-
- /* seek out the next path component */
- if(slash_pos-cur_pos) {
- /* we skip empty path components, like "x//y" since the FTP command
- CWD requires a parameter and a non-existant parameter a) doesn't
- work on many servers and b) has no effect on the others. */
- int len = (int)(slash_pos - cur_pos + absolute_dir);
- ftpc->dirs[ftpc->dirdepth] =
- curl_easy_unescape(conn->data, cur_pos - absolute_dir, len, NULL);
- if(!ftpc->dirs[ftpc->dirdepth]) { /* run out of memory ... */
- failf(data, "no memory");
- freedirs(ftpc);
- return CURLE_OUT_OF_MEMORY;
- }
- if(isBadFtpString(ftpc->dirs[ftpc->dirdepth])) {
- free(ftpc->dirs[ftpc->dirdepth]);
- freedirs(ftpc);
- return CURLE_URL_MALFORMAT;
- }
- }
- else {
- cur_pos = slash_pos + 1; /* jump to the rest of the string */
- continue;
- }
-
- cur_pos = slash_pos + 1; /* jump to the rest of the string */
- if(++ftpc->dirdepth >= ftpc->diralloc) {
- /* enlarge array */
- char *bigger;
- ftpc->diralloc *= 2; /* double the size each time */
- bigger = realloc(ftpc->dirs, ftpc->diralloc * sizeof(ftpc->dirs[0]));
- if(!bigger) {
- freedirs(ftpc);
- return CURLE_OUT_OF_MEMORY;
- }
- ftpc->dirs = (char **)bigger;
- }
- }
- }
- ftpc->file = cur_pos; /* the rest is the file name */
- }
-
- if(ftpc->file && *ftpc->file) {
- ftpc->file = curl_easy_unescape(conn->data, ftpc->file, 0, NULL);
- if(NULL == ftpc->file) {
- freedirs(ftpc);
- failf(data, "no memory");
- return CURLE_OUT_OF_MEMORY;
- }
- if(isBadFtpString(ftpc->file)) {
- freedirs(ftpc);
- return CURLE_URL_MALFORMAT;
- }
- }
- else
- ftpc->file=NULL; /* instead of point to a zero byte, we make it a NULL
- pointer */
-
- if(data->set.upload && !ftpc->file && (ftp->transfer == FTPTRANSFER_BODY)) {
- /* We need a file name when uploading. Return error! */
- failf(data, "Uploading to a URL without a file name!");
- return CURLE_URL_MALFORMAT;
- }
-
- ftpc->cwddone = FALSE; /* default to not done */
-
- if(ftpc->prevpath) {
- /* prevpath is "raw" so we convert the input path before we compare the
- strings */
- char *path = curl_easy_unescape(conn->data, data->state.path, 0, NULL);
- if(!path) {
- freedirs(ftpc);
- return CURLE_OUT_OF_MEMORY;
- }
-
- dlen = strlen(path) - (ftpc->file?strlen(ftpc->file):0);
- if((dlen == strlen(ftpc->prevpath)) &&
- curl_strnequal(path, ftpc->prevpath, dlen)) {
- infof(data, "Request has same path as previous transfer\n");
- ftpc->cwddone = TRUE;
- }
- free(path);
- }
-
- return CURLE_OK;
-}
-
-/* call this when the DO phase has completed */
-static CURLcode ftp_dophase_done(struct connectdata *conn,
- bool connected)
-{
- CURLcode result = CURLE_OK;
- struct FTP *ftp = conn->data->state.proto.ftp;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
-
- if(connected)
- result = ftp_nextconnect(conn);
-
- if(result && (conn->sock[SECONDARYSOCKET] != CURL_SOCKET_BAD)) {
- /* Failure detected, close the second socket if it was created already */
- sclose(conn->sock[SECONDARYSOCKET]);
- conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD;
- return result;
- }
-
- if(ftp->transfer != FTPTRANSFER_BODY)
- /* no data to transfer */
- result=Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
- else if(!connected)
- /* since we didn't connect now, we want do_more to get called */
- conn->bits.do_more = TRUE;
-
- ftpc->ctl_valid = TRUE; /* seems good */
-
- return result;
-}
-
-/* called from multi.c while DOing */
-static CURLcode ftp_doing(struct connectdata *conn,
- bool *dophase_done)
-{
- CURLcode result;
- result = ftp_multi_statemach(conn, dophase_done);
-
- if(*dophase_done) {
- result = ftp_dophase_done(conn, FALSE /* not connected */);
-
- DEBUGF(infof(conn->data, "DO phase is complete\n"));
- }
- return result;
-}
-
-/***********************************************************************
- *
- * ftp_regular_transfer()
- *
- * The input argument is already checked for validity.
- *
- * Performs all commands done before a regular transfer between a local and a
- * remote host.
- *
- * ftp->ctl_valid starts out as FALSE, and gets set to TRUE if we reach the
- * ftp_done() function without finding any major problem.
- */
-static
-CURLcode ftp_regular_transfer(struct connectdata *conn,
- bool *dophase_done)
-{
- CURLcode result=CURLE_OK;
- bool connected=0;
- struct SessionHandle *data = conn->data;
- struct ftp_conn *ftpc = &conn->proto.ftpc;
- data->req.size = -1; /* make sure this is unknown at this point */
-
- Curl_pgrsSetUploadCounter(data, 0);
- Curl_pgrsSetDownloadCounter(data, 0);
- Curl_pgrsSetUploadSize(data, 0);
- Curl_pgrsSetDownloadSize(data, 0);
-
- ftpc->ctl_valid = TRUE; /* starts good */
-
- result = ftp_perform(conn,
- &connected, /* have we connected after PASV/PORT */
- dophase_done); /* all commands in the DO-phase done? */
-
- if(CURLE_OK == result) {
-
- if(!*dophase_done)
- /* the DO phase has not completed yet */
- return CURLE_OK;
-
- result = ftp_dophase_done(conn, connected);
- if(result)
- return result;
- }
- else
- freedirs(ftpc);
-
- return result;
-}
-
-static CURLcode ftp_setup_connection(struct connectdata * conn)
-{
- struct SessionHandle *data = conn->data;
- char * type;
- char command;
-
- if(conn->bits.httpproxy && !data->set.tunnel_thru_httpproxy) {
- /* Unless we have asked to tunnel ftp operations through the proxy, we
- switch and use HTTP operations only */
-#ifndef CURL_DISABLE_HTTP
- if(conn->handler == &Curl_handler_ftp)
- conn->handler = &Curl_handler_ftp_proxy;
- else {
-#ifdef USE_SSL
- conn->handler = &Curl_handler_ftps_proxy;
-#else
- failf(data, "FTPS not supported!");
- return CURLE_UNSUPPORTED_PROTOCOL;
-#endif
- }
-
-#else
- failf(data, "FTP over http proxy requires HTTP support built-in!");
- return CURLE_UNSUPPORTED_PROTOCOL;
-#endif
- }
-
- data->state.path++; /* don't include the initial slash */
-
- /* FTP URLs support an extension like ";type=<typecode>" that
- * we'll try to get now! */
- type = strstr(data->state.path, ";type=");
-
- if(!type)
- type = strstr(conn->host.rawalloc, ";type=");
-
- if(type) {
- *type = 0; /* it was in the middle of the hostname */
- command = (char) toupper((int) type[6]);
-
- switch (command) {
- case 'A': /* ASCII mode */
- data->set.prefer_ascii = TRUE;
- break;
-
- case 'D': /* directory mode */
- data->set.ftp_list_only = TRUE;
- break;
-
- case 'I': /* binary mode */
- default:
- /* switch off ASCII */
- data->set.prefer_ascii = FALSE;
- break;
- }
- }
-
- return CURLE_OK;
-}
-
-#ifdef USE_SSL
-static CURLcode ftps_setup_connection(struct connectdata * conn)
-{
- struct SessionHandle *data = conn->data;
-
- conn->ssl[SECONDARYSOCKET].use = data->set.ftp_ssl != CURLUSESSL_CONTROL;
- return ftp_setup_connection(conn);
-}
-#endif
-
-#endif /* CURL_DISABLE_FTP */
diff --git a/Utilities/cmcurl-7.19.0/lib/ftp.h b/Utilities/cmcurl-7.19.0/lib/ftp.h
deleted file mode 100644
index 13652ac..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ftp.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef __FTP_H
-#define __FTP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifndef CURL_DISABLE_FTP
-extern const struct Curl_handler Curl_handler_ftp;
-
-#ifdef USE_SSL
-extern const struct Curl_handler Curl_handler_ftps;
-#endif
-
-#ifndef CURL_DISABLE_HTTP
-extern const struct Curl_handler Curl_handler_ftp_proxy;
-
-# ifdef USE_SSL
-extern const struct Curl_handler Curl_handler_ftps_proxy;
-# endif
-#endif
-
-CURLcode Curl_ftpsendf(struct connectdata *, const char *fmt, ...);
-CURLcode Curl_nbftpsendf(struct connectdata *, const char *fmt, ...);
-CURLcode Curl_GetFTPResponse(ssize_t *nread, struct connectdata *conn,
- int *ftpcode);
-#endif /* CURL_DISABLE_FTP */
-#endif /* __FTP_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/getenv.c b/Utilities/cmcurl-7.19.0/lib/getenv.c
deleted file mode 100644
index 6bd0e07..0000000
--- a/Utilities/cmcurl-7.19.0/lib/getenv.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef VMS
-#include <unixlib.h>
-#endif
-
-#include <curl/curl.h>
-#include "memory.h"
-
-#include "memdebug.h"
-
-static
-char *GetEnv(const char *variable)
-{
-#ifdef _WIN32_WCE
- return NULL;
-#else
-#ifdef WIN32
- char env[MAX_PATH]; /* MAX_PATH is from windef.h */
- char *temp = getenv(variable);
- env[0] = '\0';
- if(temp != NULL)
- ExpandEnvironmentStrings(temp, env, sizeof(env));
- return (env[0] != '\0')?strdup(env):NULL;
-#else
- char *env = getenv(variable);
-#ifdef VMS
- if(env && strcmp("HOME",variable) == 0)
- env = decc$translate_vms(env);
-#endif
- return (env && env[0])?strdup(env):NULL;
-#endif
-#endif
-}
-
-char *curl_getenv(const char *v)
-{
- return GetEnv(v);
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/getinfo.c b/Utilities/cmcurl-7.19.0/lib/getinfo.c
deleted file mode 100644
index 2b7b08a..0000000
--- a/Utilities/cmcurl-7.19.0/lib/getinfo.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <curl/curl.h>
-
-#include "urldata.h"
-#include "getinfo.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "memory.h"
-#include "sslgen.h"
-#include "connect.h" /* Curl_getconnectinfo() */
-
-/* Make this the last #include */
-#include "memdebug.h"
-
-/*
- * This is supposed to be called in the beginning of a perform() session
- * and should reset all session-info variables
- */
-CURLcode Curl_initinfo(struct SessionHandle *data)
-{
- struct Progress *pro = &data->progress;
- struct PureInfo *info =&data->info;
-
- pro->t_nslookup = 0;
- pro->t_connect = 0;
- pro->t_pretransfer = 0;
- pro->t_starttransfer = 0;
- pro->timespent = 0;
- pro->t_redirect = 0;
-
- info->httpcode = 0;
- info->httpversion=0;
- info->filetime=-1; /* -1 is an illegal time and thus means unknown */
-
- if(info->contenttype)
- free(info->contenttype);
- info->contenttype = NULL;
-
- info->header_size = 0;
- info->request_size = 0;
- info->numconnects = 0;
- return CURLE_OK;
-}
-
-CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...)
-{
- va_list arg;
- long *param_longp=NULL;
- double *param_doublep=NULL;
- char **param_charp=NULL;
- struct curl_slist **param_slistp=NULL;
- int type;
-
- if(!data)
- return CURLE_BAD_FUNCTION_ARGUMENT;
-
- va_start(arg, info);
-
- type = CURLINFO_TYPEMASK & (int)info;
- switch(type) {
- case CURLINFO_STRING:
- param_charp = va_arg(arg, char **);
- if(NULL == param_charp)
- return CURLE_BAD_FUNCTION_ARGUMENT;
- break;
- case CURLINFO_LONG:
- param_longp = va_arg(arg, long *);
- if(NULL == param_longp)
- return CURLE_BAD_FUNCTION_ARGUMENT;
- break;
- case CURLINFO_DOUBLE:
- param_doublep = va_arg(arg, double *);
- if(NULL == param_doublep)
- return CURLE_BAD_FUNCTION_ARGUMENT;
- break;
- case CURLINFO_SLIST:
- param_slistp = va_arg(arg, struct curl_slist **);
- if(NULL == param_slistp)
- return CURLE_BAD_FUNCTION_ARGUMENT;
- break;
- default:
- return CURLE_BAD_FUNCTION_ARGUMENT;
- }
-
- switch(info) {
- case CURLINFO_EFFECTIVE_URL:
- *param_charp = data->change.url?data->change.url:(char *)"";
- break;
- case CURLINFO_RESPONSE_CODE:
- *param_longp = data->info.httpcode;
- break;
- case CURLINFO_HTTP_CONNECTCODE:
- *param_longp = data->info.httpproxycode;
- break;
- case CURLINFO_FILETIME:
- *param_longp = data->info.filetime;
- break;
- case CURLINFO_HEADER_SIZE:
- *param_longp = data->info.header_size;
- break;
- case CURLINFO_REQUEST_SIZE:
- *param_longp = data->info.request_size;
- break;
- case CURLINFO_TOTAL_TIME:
- *param_doublep = data->progress.timespent;
- break;
- case CURLINFO_NAMELOOKUP_TIME:
- *param_doublep = data->progress.t_nslookup;
- break;
- case CURLINFO_CONNECT_TIME:
- *param_doublep = data->progress.t_connect;
- break;
- case CURLINFO_APPCONNECT_TIME:
- *param_doublep = data->progress.t_appconnect;
- break;
- case CURLINFO_PRETRANSFER_TIME:
- *param_doublep = data->progress.t_pretransfer;
- break;
- case CURLINFO_STARTTRANSFER_TIME:
- *param_doublep = data->progress.t_starttransfer;
- break;
- case CURLINFO_SIZE_UPLOAD:
- *param_doublep = (double)data->progress.uploaded;
- break;
- case CURLINFO_SIZE_DOWNLOAD:
- *param_doublep = (double)data->progress.downloaded;
- break;
- case CURLINFO_SPEED_DOWNLOAD:
- *param_doublep = (double)data->progress.dlspeed;
- break;
- case CURLINFO_SPEED_UPLOAD:
- *param_doublep = (double)data->progress.ulspeed;
- break;
- case CURLINFO_SSL_VERIFYRESULT:
- *param_longp = data->set.ssl.certverifyresult;
- break;
- case CURLINFO_CONTENT_LENGTH_DOWNLOAD:
- *param_doublep = (double)data->progress.size_dl;
- break;
- case CURLINFO_CONTENT_LENGTH_UPLOAD:
- *param_doublep = (double)data->progress.size_ul;
- break;
- case CURLINFO_REDIRECT_TIME:
- *param_doublep = data->progress.t_redirect;
- break;
- case CURLINFO_REDIRECT_COUNT:
- *param_longp = data->set.followlocation;
- break;
- case CURLINFO_CONTENT_TYPE:
- *param_charp = data->info.contenttype;
- break;
- case CURLINFO_PRIVATE:
- *param_charp = (char *) data->set.private_data;
- break;
- case CURLINFO_HTTPAUTH_AVAIL:
- *param_longp = data->info.httpauthavail;
- break;
- case CURLINFO_PROXYAUTH_AVAIL:
- *param_longp = data->info.proxyauthavail;
- break;
- case CURLINFO_OS_ERRNO:
- *param_longp = data->state.os_errno;
- break;
- case CURLINFO_NUM_CONNECTS:
- *param_longp = data->info.numconnects;
- break;
- case CURLINFO_SSL_ENGINES:
- *param_slistp = Curl_ssl_engines_list(data);
- break;
- case CURLINFO_COOKIELIST:
- *param_slistp = Curl_cookie_list(data);
- break;
- case CURLINFO_FTP_ENTRY_PATH:
- /* Return the entrypath string from the most recent connection.
- This pointer was copied from the connectdata structure by FTP.
- The actual string may be free()ed by subsequent libcurl calls so
- it must be copied to a safer area before the next libcurl call.
- Callers must never free it themselves. */
- *param_charp = data->state.most_recent_ftp_entrypath;
- break;
- case CURLINFO_LASTSOCKET:
- (void)Curl_getconnectinfo(data, param_longp, NULL);
- break;
- case CURLINFO_REDIRECT_URL:
- /* Return the URL this request would have been redirected to if that
- option had been enabled! */
- *param_charp = data->info.wouldredirect;
- break;
- case CURLINFO_PRIMARY_IP:
- /* Return the ip address of the most recent (primary) connection */
- *param_charp = data->info.ip;
- break;
- default:
- return CURLE_BAD_FUNCTION_ARGUMENT;
- }
- return CURLE_OK;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/getinfo.h b/Utilities/cmcurl-7.19.0/lib/getinfo.h
deleted file mode 100644
index 2fe1b5c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/getinfo.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __GETINFO_H
-#define __GETINFO_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...);
-CURLcode Curl_initinfo(struct SessionHandle *data);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/gtls.c b/Utilities/cmcurl-7.19.0/lib/gtls.c
deleted file mode 100644
index 89a8079..0000000
--- a/Utilities/cmcurl-7.19.0/lib/gtls.c
+++ /dev/null
@@ -1,773 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Source file for all GnuTLS-specific code for the TLS/SSL layer. No code
- * but sslgen.c should ever call or use these functions.
- *
- * Note: don't use the GnuTLS' *_t variable type names in this source code,
- * since they were not present in 1.0.X.
- */
-
-#include "setup.h"
-#ifdef USE_GNUTLS
-#include <gnutls/gnutls.h>
-#include <gnutls/x509.h>
-
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "inet_pton.h"
-#include "gtls.h"
-#include "sslgen.h"
-#include "parsedate.h"
-#include "connect.h" /* for the connect timeout */
-#include "select.h"
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* Enable GnuTLS debugging by defining GTLSDEBUG */
-/*#define GTLSDEBUG */
-
-#ifdef GTLSDEBUG
-static void tls_log_func(int level, const char *str)
-{
- fprintf(stderr, "|<%d>| %s", level, str);
-}
-#endif
-static bool gtls_inited = FALSE;
-/*
- * Custom push and pull callback functions used by GNU TLS to read and write
- * to the socket. These functions are simple wrappers to send() and recv()
- * (although here using the sread/swrite macros as defined by setup_once.h).
- * We use custom functions rather than the GNU TLS defaults because it allows
- * us to get specific about the fourth "flags" argument, and to use arbitrary
- * private data with gnutls_transport_set_ptr if we wish.
- */
-static ssize_t Curl_gtls_push(void *s, const void *buf, size_t len)
-{
- return swrite(s, buf, len);
-}
-
-static ssize_t Curl_gtls_pull(void *s, void *buf, size_t len)
-{
- return sread(s, buf, len);
-}
-
-/* Global GnuTLS init, called from Curl_ssl_init() */
-int Curl_gtls_init(void)
-{
-/* Unfortunately we can not init here, things like curl --version will
- * fail to work if there is no egd socket available because libgcrypt
- * will EXIT the application!!
- * By doing the actual init later (before actually trying to use GnuTLS),
- * we can at least provide basic info etc.
- */
- return 1;
-}
-
-static int _Curl_gtls_init(void)
-{
- int ret = 1;
- if(!gtls_inited) {
- ret = gnutls_global_init()?0:1;
-#ifdef GTLSDEBUG
- gnutls_global_set_log_function(tls_log_func);
- gnutls_global_set_log_level(2);
-#endif
- gtls_inited = TRUE;
- }
- return ret;
-}
-
-int Curl_gtls_cleanup(void)
-{
- if(gtls_inited) {
- gnutls_global_deinit();
- gtls_inited = FALSE;
- }
- return 1;
-}
-
-static void showtime(struct SessionHandle *data,
- const char *text,
- time_t stamp)
-{
- struct tm *tm;
-#ifdef HAVE_GMTIME_R
- struct tm buffer;
- tm = (struct tm *)gmtime_r(&stamp, &buffer);
-#else
- tm = gmtime(&stamp);
-#endif
- snprintf(data->state.buffer,
- BUFSIZE,
- "\t %s: %s, %02d %s %4d %02d:%02d:%02d GMT\n",
- text,
- Curl_wkday[tm->tm_wday?tm->tm_wday-1:6],
- tm->tm_mday,
- Curl_month[tm->tm_mon],
- tm->tm_year + 1900,
- tm->tm_hour,
- tm->tm_min,
- tm->tm_sec);
- infof(data, "%s", data->state.buffer);
-}
-
-static gnutls_datum load_file (const char *file)
-{
- FILE *f;
- gnutls_datum loaded_file = { NULL, 0 };
- long filelen;
- void *ptr;
-
- if (!(f = fopen(file, "r"))
- || fseek(f, 0, SEEK_END) != 0
- || (filelen = ftell(f)) < 0
- || fseek(f, 0, SEEK_SET) != 0
- || !(ptr = malloc((size_t)filelen))
- || fread(ptr, 1, (size_t)filelen, f) < (size_t)filelen) {
- return loaded_file;
- }
-
- loaded_file.data = ptr;
- loaded_file.size = (unsigned int)filelen;
- return loaded_file;
-}
-
-static void unload_file(gnutls_datum data) {
- free(data.data);
-}
-
-
-/* this function does a BLOCKING SSL/TLS (re-)handshake */
-static CURLcode handshake(struct connectdata *conn,
- gnutls_session session,
- int sockindex,
- bool duringconnect)
-{
- struct SessionHandle *data = conn->data;
- int rc;
- if(!gtls_inited)
- _Curl_gtls_init();
- do {
- rc = gnutls_handshake(session);
-
- if((rc == GNUTLS_E_AGAIN) || (rc == GNUTLS_E_INTERRUPTED)) {
- long timeout_ms = Curl_timeleft(conn, NULL, duringconnect);
-
- if(timeout_ms < 0) {
- /* a precaution, no need to continue if time already is up */
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- rc = Curl_socket_ready(conn->sock[sockindex],
- conn->sock[sockindex], (int)timeout_ms);
- if(rc > 0)
- /* reabable or writable, go loop*/
- continue;
- else if(0 == rc) {
- /* timeout */
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
- else {
- /* anything that gets here is fatally bad */
- failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
- return CURLE_SSL_CONNECT_ERROR;
- }
- }
- else
- break;
- } while(1);
-
- if(rc < 0) {
- failf(data, "gnutls_handshake() failed: %s", gnutls_strerror(rc));
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- return CURLE_OK;
-}
-
-static gnutls_x509_crt_fmt do_file_type(const char *type)
-{
- if(!type || !type[0])
- return GNUTLS_X509_FMT_PEM;
- if(curl_strequal(type, "PEM"))
- return GNUTLS_X509_FMT_PEM;
- if(curl_strequal(type, "DER"))
- return GNUTLS_X509_FMT_DER;
- return -1;
-}
-
-
-/*
- * This function is called after the TCP connect has completed. Setup the TLS
- * layer and do all necessary magic.
- */
-CURLcode
-Curl_gtls_connect(struct connectdata *conn,
- int sockindex)
-
-{
- static const int cert_type_priority[] = { GNUTLS_CRT_X509, 0 };
- struct SessionHandle *data = conn->data;
- gnutls_session session;
- int rc;
- unsigned int cert_list_size;
- const gnutls_datum *chainp;
- unsigned int verify_status;
- gnutls_x509_crt x509_cert,x509_issuer;
- gnutls_datum issuerp;
- char certbuf[256]; /* big enough? */
- size_t size;
- unsigned int algo;
- unsigned int bits;
- time_t certclock;
- const char *ptr;
- void *ssl_sessionid;
- size_t ssl_idsize;
-#ifdef ENABLE_IPV6
- struct in6_addr addr;
-#else
- struct in_addr addr;
-#endif
-
- if(!gtls_inited)
- _Curl_gtls_init();
-
- /* GnuTLS only supports SSLv3 and TLSv1 */
- if(data->set.ssl.version == CURL_SSLVERSION_SSLv2) {
- failf(data, "GnuTLS does not support SSLv2");
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- /* allocate a cred struct */
- rc = gnutls_certificate_allocate_credentials(&conn->ssl[sockindex].cred);
- if(rc < 0) {
- failf(data, "gnutls_cert_all_cred() failed: %s", gnutls_strerror(rc));
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- if(data->set.ssl.CAfile) {
- /* set the trusted CA cert bundle file */
- gnutls_certificate_set_verify_flags(conn->ssl[sockindex].cred,
- GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
-
- rc = gnutls_certificate_set_x509_trust_file(conn->ssl[sockindex].cred,
- data->set.ssl.CAfile,
- GNUTLS_X509_FMT_PEM);
- if(rc < 0) {
- infof(data, "error reading ca cert file %s (%s)\n",
- data->set.ssl.CAfile, gnutls_strerror(rc));
- if(data->set.ssl.verifypeer)
- return CURLE_SSL_CACERT_BADFILE;
- }
- else
- infof(data, "found %d certificates in %s\n",
- rc, data->set.ssl.CAfile);
- }
-
- if(data->set.ssl.CRLfile) {
- /* set the CRL list file */
- rc = gnutls_certificate_set_x509_crl_file(conn->ssl[sockindex].cred,
- data->set.ssl.CRLfile,
- GNUTLS_X509_FMT_PEM);
- if(rc < 0) {
- failf(data, "error reading crl file %s (%s)\n",
- data->set.ssl.CRLfile, gnutls_strerror(rc));
- return CURLE_SSL_CRL_BADFILE;
- }
- else
- infof(data, "found %d CRL in %s\n",
- rc, data->set.ssl.CRLfile);
- }
-
- /* Initialize TLS session as a client */
- rc = gnutls_init(&conn->ssl[sockindex].session, GNUTLS_CLIENT);
- if(rc) {
- failf(data, "gnutls_init() failed: %d", rc);
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- /* convenient assign */
- session = conn->ssl[sockindex].session;
-
- if ((0 == Curl_inet_pton(AF_INET, conn->host.name, &addr)) &&
-#ifdef ENABLE_IPV6
- (0 == Curl_inet_pton(AF_INET6, conn->host.name, &addr)) &&
-#endif
- (gnutls_server_name_set(session, GNUTLS_NAME_DNS, conn->host.name,
- strlen(conn->host.name)) < 0))
- infof(data, "WARNING: failed to configure server name indication (SNI) "
- "TLS extension\n");
-
- /* Use default priorities */
- rc = gnutls_set_default_priority(session);
- if(rc < 0)
- return CURLE_SSL_CONNECT_ERROR;
-
- if(data->set.ssl.version == CURL_SSLVERSION_SSLv3) {
- int protocol_priority[] = { GNUTLS_SSL3, 0 };
- gnutls_protocol_set_priority(session, protocol_priority);
- if(rc < 0)
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- /* Sets the priority on the certificate types supported by gnutls. Priority
- is higher for types specified before others. After specifying the types
- you want, you must append a 0. */
- rc = gnutls_certificate_type_set_priority(session, cert_type_priority);
- if(rc < 0)
- return CURLE_SSL_CONNECT_ERROR;
-
- if(data->set.str[STRING_CERT]) {
- if( gnutls_certificate_set_x509_key_file(
- conn->ssl[sockindex].cred,
- data->set.str[STRING_CERT],
- data->set.str[STRING_KEY] ?
- data->set.str[STRING_KEY] : data->set.str[STRING_CERT],
- do_file_type(data->set.str[STRING_CERT_TYPE]) ) ) {
- failf(data, "error reading X.509 key or certificate file");
- return CURLE_SSL_CONNECT_ERROR;
- }
- }
-
- /* put the credentials to the current session */
- rc = gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE,
- conn->ssl[sockindex].cred);
-
- /* set the connection handle (file descriptor for the socket) */
- gnutls_transport_set_ptr(session,
- (gnutls_transport_ptr)conn->sock[sockindex]);
-
- /* register callback functions to send and receive data. */
- gnutls_transport_set_push_function(session, Curl_gtls_push);
- gnutls_transport_set_pull_function(session, Curl_gtls_pull);
-
- /* lowat must be set to zero when using custom push and pull functions. */
- gnutls_transport_set_lowat(session, 0);
-
- /* This might be a reconnect, so we check for a session ID in the cache
- to speed up things */
-
- if(!Curl_ssl_getsessionid(conn, &ssl_sessionid, &ssl_idsize)) {
- /* we got a session id, use it! */
- gnutls_session_set_data(session, ssl_sessionid, ssl_idsize);
-
- /* Informational message */
- infof (data, "SSL re-using session ID\n");
- }
-
- rc = handshake(conn, session, sockindex, TRUE);
- if(rc)
- /* handshake() sets its own error message with failf() */
- return rc;
-
- /* This function will return the peer's raw certificate (chain) as sent by
- the peer. These certificates are in raw format (DER encoded for
- X.509). In case of a X.509 then a certificate list may be present. The
- first certificate in the list is the peer's certificate, following the
- issuer's certificate, then the issuer's issuer etc. */
-
- chainp = gnutls_certificate_get_peers(session, &cert_list_size);
- if(!chainp) {
- if(data->set.ssl.verifypeer ||
- data->set.ssl.verifyhost ||
- data->set.ssl.issuercert) {
- failf(data, "failed to get server cert");
- return CURLE_PEER_FAILED_VERIFICATION;
- }
- infof(data, "\t common name: WARNING couldn't obtain\n");
- }
-
- if(data->set.ssl.verifypeer) {
- /* This function will try to verify the peer's certificate and return its
- status (trusted, invalid etc.). The value of status should be one or
- more of the gnutls_certificate_status_t enumerated elements bitwise
- or'd. To avoid denial of service attacks some default upper limits
- regarding the certificate key size and chain size are set. To override
- them use gnutls_certificate_set_verify_limits(). */
-
- rc = gnutls_certificate_verify_peers2(session, &verify_status);
- if(rc < 0) {
- failf(data, "server cert verify failed: %d", rc);
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- /* verify_status is a bitmask of gnutls_certificate_status bits */
- if(verify_status & GNUTLS_CERT_INVALID) {
- if(data->set.ssl.verifypeer) {
- failf(data, "server certificate verification failed. CAfile: %s "
- "CRLfile: %s", data->set.ssl.CAfile?data->set.ssl.CAfile:"none",
- data->set.ssl.CRLfile?data->set.ssl.CRLfile:"none");
- return CURLE_SSL_CACERT;
- }
- else
- infof(data, "\t server certificate verification FAILED\n");
- }
- else
- infof(data, "\t server certificate verification OK\n");
- }
- else
- infof(data, "\t server certificate verification SKIPPED\n");
-
- /* initialize an X.509 certificate structure. */
- gnutls_x509_crt_init(&x509_cert);
-
- /* convert the given DER or PEM encoded Certificate to the native
- gnutls_x509_crt_t format */
- gnutls_x509_crt_import(x509_cert, chainp, GNUTLS_X509_FMT_DER);
-
- if (data->set.ssl.issuercert) {
- gnutls_x509_crt_init(&x509_issuer);
- issuerp = load_file(data->set.ssl.issuercert);
- gnutls_x509_crt_import(x509_issuer, &issuerp, GNUTLS_X509_FMT_PEM);
- rc = gnutls_x509_crt_check_issuer(x509_cert,x509_issuer);
- unload_file(issuerp);
- if (rc <= 0) {
- failf(data, "server certificate issuer check failed (IssuerCert: %s)",
- data->set.ssl.issuercert?data->set.ssl.issuercert:"none");
- return CURLE_SSL_ISSUER_ERROR;
- }
- infof(data,"\t server certificate issuer check OK (Issuer Cert: %s)\n",
- data->set.ssl.issuercert?data->set.ssl.issuercert:"none");
- }
-
- size=sizeof(certbuf);
- rc = gnutls_x509_crt_get_dn_by_oid(x509_cert, GNUTLS_OID_X520_COMMON_NAME,
- 0, /* the first and only one */
- FALSE,
- certbuf,
- &size);
- if(rc) {
- infof(data, "error fetching CN from cert:%s\n",
- gnutls_strerror(rc));
- }
-
- /* This function will check if the given certificate's subject matches the
- given hostname. This is a basic implementation of the matching described
- in RFC2818 (HTTPS), which takes into account wildcards, and the subject
- alternative name PKIX extension. Returns non zero on success, and zero on
- failure. */
- rc = gnutls_x509_crt_check_hostname(x509_cert, conn->host.name);
-
- if(!rc) {
- if(data->set.ssl.verifyhost > 1) {
- failf(data, "SSL: certificate subject name (%s) does not match "
- "target host name '%s'", certbuf, conn->host.dispname);
- gnutls_x509_crt_deinit(x509_cert);
- return CURLE_PEER_FAILED_VERIFICATION;
- }
- else
- infof(data, "\t common name: %s (does not match '%s')\n",
- certbuf, conn->host.dispname);
- }
- else
- infof(data, "\t common name: %s (matched)\n", certbuf);
-
- /* Check for time-based validity */
- certclock = gnutls_x509_crt_get_expiration_time(x509_cert);
-
- if(certclock == (time_t)-1) {
- failf(data, "server cert expiration date verify failed");
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- if(certclock < time(NULL)) {
- if(data->set.ssl.verifypeer) {
- failf(data, "server certificate expiration date has passed.");
- return CURLE_PEER_FAILED_VERIFICATION;
- }
- else
- infof(data, "\t server certificate expiration date FAILED\n");
- }
- else
- infof(data, "\t server certificate expiration date OK\n");
-
- certclock = gnutls_x509_crt_get_activation_time(x509_cert);
-
- if(certclock == (time_t)-1) {
- failf(data, "server cert activation date verify failed");
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- if(certclock > time(NULL)) {
- if(data->set.ssl.verifypeer) {
- failf(data, "server certificate not activated yet.");
- return CURLE_PEER_FAILED_VERIFICATION;
- }
- else
- infof(data, "\t server certificate activation date FAILED\n");
- }
- else
- infof(data, "\t server certificate activation date OK\n");
-
- /* Show:
-
- - ciphers used
- - subject
- - start date
- - expire date
- - common name
- - issuer
-
- */
-
- /* public key algorithm's parameters */
- algo = gnutls_x509_crt_get_pk_algorithm(x509_cert, &bits);
- infof(data, "\t certificate public key: %s\n",
- gnutls_pk_algorithm_get_name(algo));
-
- /* version of the X.509 certificate. */
- infof(data, "\t certificate version: #%d\n",
- gnutls_x509_crt_get_version(x509_cert));
-
-
- size = sizeof(certbuf);
- gnutls_x509_crt_get_dn(x509_cert, certbuf, &size);
- infof(data, "\t subject: %s\n", certbuf);
-
- certclock = gnutls_x509_crt_get_activation_time(x509_cert);
- showtime(data, "start date", certclock);
-
- certclock = gnutls_x509_crt_get_expiration_time(x509_cert);
- showtime(data, "expire date", certclock);
-
- size = sizeof(certbuf);
- gnutls_x509_crt_get_issuer_dn(x509_cert, certbuf, &size);
- infof(data, "\t issuer: %s\n", certbuf);
-
- gnutls_x509_crt_deinit(x509_cert);
-
- /* compression algorithm (if any) */
- ptr = gnutls_compression_get_name(gnutls_compression_get(session));
- /* the *_get_name() says "NULL" if GNUTLS_COMP_NULL is returned */
- infof(data, "\t compression: %s\n", ptr);
-
- /* the name of the cipher used. ie 3DES. */
- ptr = gnutls_cipher_get_name(gnutls_cipher_get(session));
- infof(data, "\t cipher: %s\n", ptr);
-
- /* the MAC algorithms name. ie SHA1 */
- ptr = gnutls_mac_get_name(gnutls_mac_get(session));
- infof(data, "\t MAC: %s\n", ptr);
-
- conn->ssl[sockindex].state = ssl_connection_complete;
-
- if(!ssl_sessionid) {
- /* this session was not previously in the cache, add it now */
-
- /* get the session ID data size */
- gnutls_session_get_data(session, NULL, &ssl_idsize);
- ssl_sessionid = malloc(ssl_idsize); /* get a buffer for it */
-
- if(ssl_sessionid) {
- /* extract session ID to the allocated buffer */
- gnutls_session_get_data(session, ssl_sessionid, &ssl_idsize);
-
- /* store this session id */
- return Curl_ssl_addsessionid(conn, ssl_sessionid, ssl_idsize);
- }
- }
-
- return CURLE_OK;
-}
-
-
-/* return number of sent (non-SSL) bytes */
-ssize_t Curl_gtls_send(struct connectdata *conn,
- int sockindex,
- const void *mem,
- size_t len)
-{
- ssize_t rc = gnutls_record_send(conn->ssl[sockindex].session, mem, len);
-
- if(rc < 0 ) {
- if(rc == GNUTLS_E_AGAIN)
- return 0; /* EWOULDBLOCK equivalent */
- rc = -1; /* generic error code for send failure */
- }
-
- return rc;
-}
-
-void Curl_gtls_close_all(struct SessionHandle *data)
-{
- /* FIX: make the OpenSSL code more generic and use parts of it here */
- (void)data;
-}
-
-static void close_one(struct connectdata *conn,
- int idx)
-{
- if(conn->ssl[idx].session) {
- gnutls_bye(conn->ssl[idx].session, GNUTLS_SHUT_RDWR);
- gnutls_deinit(conn->ssl[idx].session);
- conn->ssl[idx].session = NULL;
- }
- if(conn->ssl[idx].cred) {
- gnutls_certificate_free_credentials(conn->ssl[idx].cred);
- conn->ssl[idx].cred = NULL;
- }
-}
-
-void Curl_gtls_close(struct connectdata *conn, int sockindex)
-{
- close_one(conn, sockindex);
-}
-
-/*
- * This function is called to shut down the SSL layer but keep the
- * socket open (CCC - Clear Command Channel)
- */
-int Curl_gtls_shutdown(struct connectdata *conn, int sockindex)
-{
- int result;
- int retval = 0;
- struct SessionHandle *data = conn->data;
- int done = 0;
- char buf[120];
-
- /* This has only been tested on the proftpd server, and the mod_tls code
- sends a close notify alert without waiting for a close notify alert in
- response. Thus we wait for a close notify alert from the server, but
- we do not send one. Let's hope other servers do the same... */
-
- if(data->set.ftp_ccc == CURLFTPSSL_CCC_ACTIVE)
- gnutls_bye(conn->ssl[sockindex].session, GNUTLS_SHUT_WR);
-
- if(conn->ssl[sockindex].session) {
- while(!done) {
- int what = Curl_socket_ready(conn->sock[sockindex],
- CURL_SOCKET_BAD, SSL_SHUTDOWN_TIMEOUT);
- if(what > 0) {
- /* Something to read, let's do it and hope that it is the close
- notify alert from the server */
- result = gnutls_record_recv(conn->ssl[sockindex].session,
- buf, sizeof(buf));
- switch(result) {
- case 0:
- /* This is the expected response. There was no data but only
- the close notify alert */
- done = 1;
- break;
- case GNUTLS_E_AGAIN:
- case GNUTLS_E_INTERRUPTED:
- infof(data, "GNUTLS_E_AGAIN || GNUTLS_E_INTERRUPTED\n");
- break;
- default:
- retval = -1;
- done = 1;
- break;
- }
- }
- else if(0 == what) {
- /* timeout */
- failf(data, "SSL shutdown timeout");
- done = 1;
- break;
- }
- else {
- /* anything that gets here is fatally bad */
- failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
- retval = -1;
- done = 1;
- }
- }
- gnutls_deinit(conn->ssl[sockindex].session);
- }
- gnutls_certificate_free_credentials(conn->ssl[sockindex].cred);
-
- conn->ssl[sockindex].cred = NULL;
- conn->ssl[sockindex].session = NULL;
-
- return retval;
-}
-
-/*
- * If the read would block we return -1 and set 'wouldblock' to TRUE.
- * Otherwise we return the amount of data read. Other errors should return -1
- * and set 'wouldblock' to FALSE.
- */
-ssize_t Curl_gtls_recv(struct connectdata *conn, /* connection data */
- int num, /* socketindex */
- char *buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool *wouldblock)
-{
- ssize_t ret;
-
- ret = gnutls_record_recv(conn->ssl[num].session, buf, buffersize);
- if((ret == GNUTLS_E_AGAIN) || (ret == GNUTLS_E_INTERRUPTED)) {
- *wouldblock = TRUE;
- return -1;
- }
-
- if(ret == GNUTLS_E_REHANDSHAKE) {
- /* BLOCKING call, this is bad but a work-around for now. Fixing this "the
- proper way" takes a whole lot of work. */
- CURLcode rc = handshake(conn, conn->ssl[num].session, num, FALSE);
- if(rc)
- /* handshake() writes error message on its own */
- return rc;
- *wouldblock = TRUE; /* then return as if this was a wouldblock */
- return -1;
- }
-
- *wouldblock = FALSE;
- if(!ret) {
- failf(conn->data, "Peer closed the TLS connection");
- return -1;
- }
-
- if(ret < 0) {
- failf(conn->data, "GnuTLS recv error (%d): %s",
- (int)ret, gnutls_strerror(ret));
- return -1;
- }
-
- return ret;
-}
-
-void Curl_gtls_session_free(void *ptr)
-{
- free(ptr);
-}
-
-size_t Curl_gtls_version(char *buffer, size_t size)
-{
- return snprintf(buffer, size, "GnuTLS/%s", gnutls_check_version(NULL));
-}
-
-#endif /* USE_GNUTLS */
diff --git a/Utilities/cmcurl-7.19.0/lib/gtls.h b/Utilities/cmcurl-7.19.0/lib/gtls.h
deleted file mode 100644
index 49e39c5..0000000
--- a/Utilities/cmcurl-7.19.0/lib/gtls.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef __GTLS_H
-#define __GTLS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef USE_GNUTLS
-
-int Curl_gtls_init(void);
-int Curl_gtls_cleanup(void);
-CURLcode Curl_gtls_connect(struct connectdata *conn, int sockindex);
-
-/* tell GnuTLS to close down all open information regarding connections (and
- thus session ID caching etc) */
-void Curl_gtls_close_all(struct SessionHandle *data);
-
- /* close a SSL connection */
-void Curl_gtls_close(struct connectdata *conn, int sockindex);
-
-/* return number of sent (non-SSL) bytes */
-ssize_t Curl_gtls_send(struct connectdata *conn, int sockindex,
- const void *mem, size_t len);
-ssize_t Curl_gtls_recv(struct connectdata *conn, /* connection data */
- int num, /* socketindex */
- char *buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool *wouldblock);
-void Curl_gtls_session_free(void *ptr);
-size_t Curl_gtls_version(char *buffer, size_t size);
-int Curl_gtls_shutdown(struct connectdata *conn, int sockindex);
-
-/* API setup for GnuTLS */
-#define curlssl_init Curl_gtls_init
-#define curlssl_cleanup Curl_gtls_cleanup
-#define curlssl_connect Curl_gtls_connect
-#define curlssl_session_free(x) Curl_gtls_session_free(x)
-#define curlssl_close_all Curl_gtls_close_all
-#define curlssl_close Curl_gtls_close
-#define curlssl_shutdown(x,y) Curl_gtls_shutdown(x,y)
-#define curlssl_set_engine(x,y) (x=x, y=y, CURLE_FAILED_INIT)
-#define curlssl_set_engine_default(x) (x=x, CURLE_FAILED_INIT)
-#define curlssl_engines_list(x) (x=x, NULL)
-#define curlssl_send Curl_gtls_send
-#define curlssl_recv Curl_gtls_recv
-#define curlssl_version Curl_gtls_version
-#define curlssl_check_cxn(x) (x=x, -1)
-#define curlssl_data_pending(x,y) (x=x, y=y, 0)
-
-#endif /* USE_GNUTLS */
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/hash.c b/Utilities/cmcurl-7.19.0/lib/hash.c
deleted file mode 100644
index 8496803..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hash.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-#include <stdlib.h>
-
-#include "hash.h"
-#include "llist.h"
-#include "memory.h"
-
-/* this must be the last include file */
-#include "memdebug.h"
-
-static void
-hash_element_dtor(void *user, void *element)
-{
- struct curl_hash *h = (struct curl_hash *) user;
- struct curl_hash_element *e = (struct curl_hash_element *) element;
-
- if(e->key)
- free(e->key);
-
- h->dtor(e->ptr);
-
- free(e);
-}
-
-/* return 1 on error, 0 is fine */
-int
-Curl_hash_init(struct curl_hash *h,
- int slots,
- hash_function hfunc,
- comp_function comparator,
- curl_hash_dtor dtor)
-{
- int i;
-
- if(!slots || !hfunc || !comparator ||!dtor) {
- return 1; /* failure */
- }
-
- h->hash_func = hfunc;
- h->comp_func = comparator;
- h->dtor = dtor;
- h->size = 0;
- h->slots = slots;
-
- h->table = (struct curl_llist **) malloc(slots * sizeof(struct curl_llist *));
- if(h->table) {
- for (i = 0; i < slots; ++i) {
- h->table[i] = Curl_llist_alloc((curl_llist_dtor) hash_element_dtor);
- if(!h->table[i]) {
- while(i--)
- Curl_llist_destroy(h->table[i], NULL);
- free(h->table);
- return 1; /* failure */
- }
- }
- return 0; /* fine */
- }
- else
- return 1; /* failure */
-}
-
-struct curl_hash *
-Curl_hash_alloc(int slots,
- hash_function hfunc,
- comp_function comparator,
- curl_hash_dtor dtor)
-{
- struct curl_hash *h;
-
- if(!slots || !hfunc || !comparator ||!dtor) {
- return NULL; /* failure */
- }
-
- h = (struct curl_hash *) malloc(sizeof(struct curl_hash));
- if(h) {
- if(Curl_hash_init(h, slots, hfunc, comparator, dtor)) {
- /* failure */
- free(h);
- h = NULL;
- }
- }
-
- return h;
-}
-
-
-
-static struct curl_hash_element *
-mk_hash_element(const void *key, size_t key_len, const void *p)
-{
- struct curl_hash_element *he =
- (struct curl_hash_element *) malloc(sizeof(struct curl_hash_element));
-
- if(he) {
- void *dupkey = malloc(key_len);
- if(dupkey) {
- /* copy the key */
- memcpy(dupkey, key, key_len);
-
- he->key = dupkey;
- he->key_len = key_len;
- he->ptr = (void *) p;
- }
- else {
- /* failed to duplicate the key, free memory and fail */
- free(he);
- he = NULL;
- }
- }
- return he;
-}
-
-#define FETCH_LIST(x,y,z) x->table[x->hash_func(y, z, x->slots)]
-
-/* Return the data in the hash. If there already was a match in the hash,
- that data is returned. */
-void *
-Curl_hash_add(struct curl_hash *h, void *key, size_t key_len, void *p)
-{
- struct curl_hash_element *he;
- struct curl_llist_element *le;
- struct curl_llist *l = FETCH_LIST (h, key, key_len);
-
- for (le = l->head; le; le = le->next) {
- he = (struct curl_hash_element *) le->ptr;
- if(h->comp_func(he->key, he->key_len, key, key_len)) {
- h->dtor(p); /* remove the NEW entry */
- return he->ptr; /* return the EXISTING entry */
- }
- }
-
- he = mk_hash_element(key, key_len, p);
- if(he) {
- if(Curl_llist_insert_next(l, l->tail, he)) {
- ++h->size;
- return p; /* return the new entry */
- }
- /*
- * Couldn't insert it, destroy the 'he' element and the key again. We
- * don't call hash_element_dtor() since that would also call the
- * "destructor" for the actual data 'p'. When we fail, we shall not touch
- * that data.
- */
- free(he->key);
- free(he);
- }
-
- return NULL; /* failure */
-}
-
-/* remove the identified hash entry, returns non-zero on failure */
-int Curl_hash_delete(struct curl_hash *h, void *key, size_t key_len)
-{
- struct curl_llist_element *le;
- struct curl_hash_element *he;
- struct curl_llist *l = FETCH_LIST(h, key, key_len);
-
- for (le = l->head; le; le = le->next) {
- he = le->ptr;
- if(h->comp_func(he->key, he->key_len, key, key_len)) {
- Curl_llist_remove(l, le, (void *) h);
- return 0;
- }
- }
- return 1;
-}
-
-void *
-Curl_hash_pick(struct curl_hash *h, void *key, size_t key_len)
-{
- struct curl_llist_element *le;
- struct curl_hash_element *he;
- struct curl_llist *l = FETCH_LIST(h, key, key_len);
-
- for (le = l->head; le; le = le->next) {
- he = le->ptr;
- if(h->comp_func(he->key, he->key_len, key, key_len)) {
- return he->ptr;
- }
- }
-
- return NULL;
-}
-
-#if defined(CURLDEBUG) && defined(AGGRESIVE_TEST)
-void
-Curl_hash_apply(curl_hash *h, void *user,
- void (*cb)(void *user, void *ptr))
-{
- struct curl_llist_element *le;
- int i;
-
- for (i = 0; i < h->slots; ++i) {
- for (le = (h->table[i])->head;
- le;
- le = le->next) {
- curl_hash_element *el = le->ptr;
- cb(user, el->ptr);
- }
- }
-}
-#endif
-
-void
-Curl_hash_clean(struct curl_hash *h)
-{
- int i;
-
- for (i = 0; i < h->slots; ++i) {
- Curl_llist_destroy(h->table[i], (void *) h);
- }
-
- free(h->table);
-}
-
-void
-Curl_hash_clean_with_criterium(struct curl_hash *h, void *user,
- int (*comp)(void *, void *))
-{
- struct curl_llist_element *le;
- struct curl_llist_element *lnext;
- struct curl_llist *list;
- int i;
-
- for (i = 0; i < h->slots; ++i) {
- list = h->table[i];
- le = list->head; /* get first list entry */
- while(le) {
- struct curl_hash_element *he = le->ptr;
- lnext = le->next;
- /* ask the callback function if we shall remove this entry or not */
- if(comp(user, he->ptr)) {
- Curl_llist_remove(list, le, (void *) h);
- --h->size; /* one less entry in the hash now */
- }
- le = lnext;
- }
- }
-}
-
-void
-Curl_hash_destroy(struct curl_hash *h)
-{
- if(!h)
- return;
-
- Curl_hash_clean(h);
- free(h);
-}
-
-size_t Curl_hash_str(void* key, size_t key_length, size_t slots_num)
-{
- const char* key_str = (const char *) key;
- const char *end = key_str + key_length;
- unsigned long h = 5381;
-
- while(key_str < end) {
- h += h << 5;
- h ^= (unsigned long) *key_str++;
- }
-
- return (h % slots_num);
-}
-
-size_t Curl_str_key_compare(void*k1, size_t key1_len, void*k2, size_t key2_len)
-{
- char *key1 = (char *)k1;
- char *key2 = (char *)k2;
-
- if(key1_len == key2_len &&
- *key1 == *key2 &&
- memcmp(key1, key2, key1_len) == 0) {
- return 1;
- }
-
- return 0;
-}
-
-#if 0 /* useful function for debugging hashes and their contents */
-void Curl_hash_print(struct curl_hash *h,
- void (*func)(void *))
-{
- int i;
- struct curl_llist_element *le;
- struct curl_llist *list;
- struct curl_hash_element *he;
- if(!h)
- return;
-
- fprintf(stderr, "=Hash dump=\n");
-
- for (i = 0; i < h->slots; i++) {
- list = h->table[i];
- le = list->head; /* get first list entry */
- if(le) {
- fprintf(stderr, "index %d:", i);
- while(le) {
- he = le->ptr;
- if(func)
- func(he->ptr);
- else
- fprintf(stderr, " [%p]", he->ptr);
- le = le->next;
- }
- fprintf(stderr, "\n");
- }
- }
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/hash.h b/Utilities/cmcurl-7.19.0/lib/hash.h
deleted file mode 100644
index 1e2e5df..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hash.h
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef __HASH_H
-#define __HASH_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stddef.h>
-
-#include "llist.h"
-
-/* Hash function prototype */
-typedef size_t (*hash_function) (void* key,
- size_t key_length,
- size_t slots_num);
-
-/*
- Comparator function prototype. Compares two keys.
-*/
-typedef size_t (*comp_function) (void* key1,
- size_t key1_len,
- void*key2,
- size_t key2_len);
-
-typedef void (*curl_hash_dtor)(void *);
-
-struct curl_hash {
- struct curl_llist **table;
-
- /* Hash function to be used for this hash table */
- hash_function hash_func;
-
- /* Comparator function to compare keys */
- comp_function comp_func;
- curl_hash_dtor dtor;
- int slots;
- size_t size;
-};
-
-struct curl_hash_element {
- void *ptr;
- char *key;
- size_t key_len;
-};
-
-
-int Curl_hash_init(struct curl_hash *h,
- int slots,
- hash_function hfunc,
- comp_function comparator,
- curl_hash_dtor dtor);
-
-struct curl_hash *Curl_hash_alloc(int slots,
- hash_function hfunc,
- comp_function comparator,
- curl_hash_dtor dtor);
-
-void *Curl_hash_add(struct curl_hash *h, void *key, size_t key_len, void *p);
-int Curl_hash_delete(struct curl_hash *h, void *key, size_t key_len);
-void *Curl_hash_pick(struct curl_hash *, void * key, size_t key_len);
-void Curl_hash_apply(struct curl_hash *h, void *user,
- void (*cb)(void *user, void *ptr));
-int Curl_hash_count(struct curl_hash *h);
-void Curl_hash_clean(struct curl_hash *h);
-void Curl_hash_clean_with_criterium(struct curl_hash *h, void *user,
- int (*comp)(void *, void *));
-void Curl_hash_destroy(struct curl_hash *h);
-
-size_t Curl_hash_str(void* key, size_t key_length, size_t slots_num);
-size_t Curl_str_key_compare(void*k1, size_t key1_len, void*k2,
- size_t key2_len);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/hostares.c b/Utilities/cmcurl-7.19.0/lib/hostares.c
deleted file mode 100644
index e283bbf..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostares.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#if (defined(NETWARE) && defined(__NOVELL_LIBC__))
-#undef in_addr_t
-#define in_addr_t unsigned long
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-#include "multiif.h"
-#include "inet_pton.h"
-#include "connect.h"
-#include "select.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#include "memory.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/***********************************************************************
- * Only for ares-enabled builds
- **********************************************************************/
-
-#ifdef CURLRES_ARES
-
-/*
- * Curl_resolv_fdset() is called when someone from the outside world (using
- * curl_multi_fdset()) wants to get our fd_set setup and we're talking with
- * ares. The caller must make sure that this function is only called when we
- * have a working ares channel.
- *
- * Returns: CURLE_OK always!
- */
-
-int Curl_resolv_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-
-{
- struct timeval maxtime;
- struct timeval timebuf;
- struct timeval *timeout;
- int max = ares_getsock(conn->data->state.areschannel,
- (int *)socks, numsocks);
-
-
- maxtime.tv_sec = CURL_TIMEOUT_RESOLVE;
- maxtime.tv_usec = 0;
-
- timeout = ares_timeout(conn->data->state.areschannel, &maxtime, &timebuf);
-
- Curl_expire(conn->data,
- (timeout->tv_sec * 1000) + (timeout->tv_usec/1000));
-
- return max;
-}
-
-/*
- * ares_waitperform()
- *
- * 1) Ask ares what sockets it currently plays with, then
- * 2) wait for the timeout period to check for action on ares' sockets.
- * 3) tell ares to act on all the sockets marked as "with action"
- *
- * return number of sockets it worked on
- */
-
-static int ares_waitperform(struct connectdata *conn, int timeout_ms)
-{
- struct SessionHandle *data = conn->data;
- int nfds;
- int bitmask;
- int socks[ARES_GETSOCK_MAXNUM];
- struct pollfd pfd[ARES_GETSOCK_MAXNUM];
- int i;
- int num = 0;
-
- bitmask = ares_getsock(data->state.areschannel, socks, ARES_GETSOCK_MAXNUM);
-
- for(i=0; i < ARES_GETSOCK_MAXNUM; i++) {
- pfd[i].events = 0;
- pfd[i].revents = 0;
- if(ARES_GETSOCK_READABLE(bitmask, i)) {
- pfd[i].fd = socks[i];
- pfd[i].events |= POLLRDNORM|POLLIN;
- }
- if(ARES_GETSOCK_WRITABLE(bitmask, i)) {
- pfd[i].fd = socks[i];
- pfd[i].events |= POLLWRNORM|POLLOUT;
- }
- if(pfd[i].events != 0)
- num++;
- else
- break;
- }
-
- if(num)
- nfds = Curl_poll(pfd, num, timeout_ms);
- else
- nfds = 0;
-
- if(!nfds)
- /* Call ares_process() unconditonally here, even if we simply timed out
- above, as otherwise the ares name resolve won't timeout! */
- ares_process_fd(data->state.areschannel, ARES_SOCKET_BAD, ARES_SOCKET_BAD);
- else {
- /* move through the descriptors and ask for processing on them */
- for(i=0; i < num; i++)
- ares_process_fd(data->state.areschannel,
- pfd[i].revents & (POLLRDNORM|POLLIN)?
- pfd[i].fd:ARES_SOCKET_BAD,
- pfd[i].revents & (POLLWRNORM|POLLOUT)?
- pfd[i].fd:ARES_SOCKET_BAD);
- }
- return nfds;
-}
-
-/*
- * Curl_is_resolved() is called repeatedly to check if a previous name resolve
- * request has completed. It should also make sure to time-out if the
- * operation seems to take too long.
- *
- * Returns normal CURLcode errors.
- */
-CURLcode Curl_is_resolved(struct connectdata *conn,
- struct Curl_dns_entry **dns)
-{
- struct SessionHandle *data = conn->data;
-
- *dns = NULL;
-
- ares_waitperform(conn, 0);
-
- if(conn->async.done) {
- /* we're done, kill the ares handle */
- if(!conn->async.dns) {
- failf(data, "Could not resolve host: %s (%s)", conn->host.dispname,
- ares_strerror(conn->async.status));
- return CURLE_COULDNT_RESOLVE_HOST;
- }
- *dns = conn->async.dns;
- }
-
- return CURLE_OK;
-}
-
-/*
- * Curl_wait_for_resolv() waits for a resolve to finish. This function should
- * be avoided since using this risk getting the multi interface to "hang".
- *
- * If 'entry' is non-NULL, make it point to the resolved dns entry
- *
- * Returns CURLE_COULDNT_RESOLVE_HOST if the host was not resolved, and
- * CURLE_OPERATION_TIMEDOUT if a time-out occurred.
- */
-CURLcode Curl_wait_for_resolv(struct connectdata *conn,
- struct Curl_dns_entry **entry)
-{
- CURLcode rc=CURLE_OK;
- struct SessionHandle *data = conn->data;
- long timeout;
- struct timeval now = Curl_tvnow();
-
- /* now, see if there's a connect timeout or a regular timeout to
- use instead of the default one */
- if(conn->data->set.connecttimeout)
- timeout = conn->data->set.connecttimeout;
- else if(conn->data->set.timeout)
- timeout = conn->data->set.timeout;
- else
- timeout = CURL_TIMEOUT_RESOLVE * 1000; /* default name resolve timeout */
-
- /* Wait for the name resolve query to complete. */
- while(1) {
- struct timeval *tvp, tv, store;
- long timediff;
- int itimeout;
-
- itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeout;
-
- store.tv_sec = itimeout/1000;
- store.tv_usec = (itimeout%1000)*1000;
-
- tvp = ares_timeout(data->state.areschannel, &store, &tv);
-
- /* use the timeout period ares returned to us above */
- ares_waitperform(conn, (int)(tvp->tv_sec * 1000 + tvp->tv_usec/1000));
-
- if(conn->async.done)
- break;
-
- timediff = Curl_tvdiff(Curl_tvnow(), now); /* spent time */
- timeout -= timediff?timediff:1; /* always deduct at least 1 */
- if(timeout < 0) {
- /* our timeout, so we cancel the ares operation */
- ares_cancel(data->state.areschannel);
- break;
- }
- }
-
- /* Operation complete, if the lookup was successful we now have the entry
- in the cache. */
-
- if(entry)
- *entry = conn->async.dns;
-
- if(!conn->async.dns) {
- /* a name was not resolved */
- if((timeout < 0) || (conn->async.status == ARES_ETIMEOUT)) {
- failf(data, "Resolving host timed out: %s", conn->host.dispname);
- rc = CURLE_COULDNT_RESOLVE_HOST;
- }
- else if(conn->async.done) {
- failf(data, "Could not resolve host: %s (%s)", conn->host.dispname,
- ares_strerror(conn->async.status));
- rc = CURLE_COULDNT_RESOLVE_HOST;
- }
- else
- rc = CURLE_OPERATION_TIMEDOUT;
-
- /* close the connection, since we can't return failure here without
- cleaning up this connection properly */
- conn->bits.close = TRUE;
- }
-
- return rc;
-}
-
-#ifdef ENABLE_IPV6 /* CURLRES_IPV6 */
-/*
- * Curl_ip2addr6() takes an ipv6 internet address as input parameter
- * together with a pointer to the string version of the address, and it
- * returns a Curl_addrinfo chain filled in correctly with information for this
- * address/host.
- *
- * The input parameters ARE NOT checked for validity but they are expected
- * to have been checked already when this is called.
- */
-Curl_addrinfo *Curl_ip2addr6(struct in6_addr *in,
- const char *hostname, int port)
-{
- Curl_addrinfo *ai;
-
-#if defined(VMS) && defined(__INITIAL_POINTER_SIZE) && \
- (__INITIAL_POINTER_SIZE == 64)
-#pragma pointer_size save
-#pragma pointer_size short
-#pragma message disable PTRMISMATCH
-#endif
-
- struct hostent *h;
- struct in6_addr *addrentry;
- struct namebuf6 {
- struct hostent hostentry;
- char *h_addr_list[2];
- struct in6_addr addrentry;
- char hostname[1];
- };
- struct namebuf6 *buf = malloc(sizeof (struct namebuf6) + strlen(hostname));
-
- if(!buf)
- return NULL;
-
- h = &buf->hostentry;
- h->h_addr_list = &buf->h_addr_list[0];
- addrentry = &buf->addrentry;
- memcpy(addrentry, in, sizeof (*in));
- h->h_addr_list[0] = (char*)addrentry;
- h->h_addr_list[1] = NULL; /* terminate list of entries */
- h->h_name = &buf->hostname[0];
- h->h_aliases = NULL;
- h->h_addrtype = AF_INET6;
-
- /* Now store the dotted version of the address */
- strcpy (h->h_name, hostname);
-
-#if defined(VMS) && defined(__INITIAL_POINTER_SIZE) && \
- (__INITIAL_POINTER_SIZE == 64)
-#pragma pointer_size restore
-#pragma message enable PTRMISMATCH
-#endif
-
- ai = Curl_he2ai(h, port);
-
- free(buf);
-
- return ai;
-}
-#endif /* CURLRES_IPV6 */
-
-
-
-/*
- * Curl_getaddrinfo() - when using ares
- *
- * Returns name information about the given hostname and port number. If
- * successful, the 'hostent' is returned and the forth argument will point to
- * memory we need to free after use. That memory *MUST* be freed with
- * Curl_freeaddrinfo(), nothing else.
- */
-Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
- const char *hostname,
- int port,
- int *waitp)
-{
- char *bufp;
- struct SessionHandle *data = conn->data;
- in_addr_t in = inet_addr(hostname);
- int family = PF_INET;
-#ifdef ENABLE_IPV6 /* CURLRES_IPV6 */
- struct in6_addr in6;
-#endif /* CURLRES_IPV6 */
- *waitp = FALSE;
-
- if(in != CURL_INADDR_NONE) {
- /* This is a dotted IP address 123.123.123.123-style */
- return Curl_ip2addr(in, hostname, port);
- }
-
-#ifdef ENABLE_IPV6 /* CURLRES_IPV6 */
- if (Curl_inet_pton (AF_INET6, hostname, &in6) > 0) {
- /* This must be an IPv6 address literal. */
- return Curl_ip2addr6(&in6, hostname, port);
- }
-
- switch(data->set.ip_version) {
- case CURL_IPRESOLVE_V4:
- family = PF_INET;
- break;
- default: /* by default we try ipv6, as PF_UNSPEC isn't supported by (c-)ares */
- case CURL_IPRESOLVE_V6:
- family = PF_INET6;
- break;
- }
-#endif /* CURLRES_IPV6 */
-
- bufp = strdup(hostname);
-
- if(bufp) {
- Curl_safefree(conn->async.hostname);
- conn->async.hostname = bufp;
- conn->async.port = port;
- conn->async.done = FALSE; /* not done */
- conn->async.status = 0; /* clear */
- conn->async.dns = NULL; /* clear */
-
- /* areschannel is already setup in the Curl_open() function */
- ares_gethostbyname(data->state.areschannel, hostname, family,
- (ares_host_callback)Curl_addrinfo4_callback, conn);
-
- *waitp = TRUE; /* please wait for the response */
- }
- return NULL; /* no struct yet */
-}
-#endif /* CURLRES_ARES */
diff --git a/Utilities/cmcurl-7.19.0/lib/hostasyn.c b/Utilities/cmcurl-7.19.0/lib/hostasyn.c
deleted file mode 100644
index b7fff89..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostasyn.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/***********************************************************************
- * Only for builds using asynchronous name resolves
- **********************************************************************/
-#ifdef CURLRES_ASYNCH
-/*
- * addrinfo_callback() gets called by ares, gethostbyname_thread() or
- * getaddrinfo_thread() when we got the name resolved (or not!).
- *
- * If the status argument is CURL_ASYNC_SUCCESS, we might need to copy the
- * address field since it might be freed when this function returns. This
- * operation stores the resolved data in the DNS cache.
- *
- * NOTE: for IPv6 operations, Curl_addrinfo_copy() returns the same
- * pointer it is given as argument!
- *
- * The storage operation locks and unlocks the DNS cache.
- */
-static CURLcode addrinfo_callback(void *arg, /* "struct connectdata *" */
- int status,
- void *addr)
-{
- struct connectdata *conn = (struct connectdata *)arg;
- struct Curl_dns_entry *dns = NULL;
- CURLcode rc = CURLE_OK;
-
- conn->async.status = status;
-
- if(CURL_ASYNC_SUCCESS == status) {
-
- /*
- * IPv4/ares: Curl_addrinfo_copy() copies the address and returns an
- * allocated version.
- *
- * IPv6: Curl_addrinfo_copy() returns the input pointer!
- */
- Curl_addrinfo *ai = Curl_addrinfo_copy(addr, conn->async.port);
- if(ai) {
- struct SessionHandle *data = conn->data;
-
- if(data->share)
- Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
-
- dns = Curl_cache_addr(data, ai,
- conn->async.hostname,
- conn->async.port);
- if(!dns) {
- /* failed to store, cleanup and return error */
- Curl_freeaddrinfo(ai);
- rc = CURLE_OUT_OF_MEMORY;
- }
-
- if(data->share)
- Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
- }
- else
- rc = CURLE_OUT_OF_MEMORY;
- }
-
- conn->async.dns = dns;
-
- /* Set async.done TRUE last in this function since it may be used multi-
- threaded and once this is TRUE the other thread may read fields from the
- async struct */
- conn->async.done = TRUE;
-
- /* ipv4: The input hostent struct will be freed by ares when we return from
- this function */
- return rc;
-}
-
-CURLcode Curl_addrinfo4_callback(void *arg, /* "struct connectdata *" */
- int status,
-#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
- int timeouts,
-#endif
- struct hostent *hostent)
-{
-#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
- (void)timeouts; /* ignored */
-#endif
- return addrinfo_callback(arg, status, hostent);
-}
-
-#ifdef CURLRES_IPV6
-CURLcode Curl_addrinfo6_callback(void *arg, /* "struct connectdata *" */
- int status,
-#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
- int timeouts,
-#endif
- struct addrinfo *ai)
-{
- /* NOTE: for CURLRES_ARES, the 'ai' argument is really a
- * 'struct hostent' pointer.
- */
-#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
- (void)timeouts; /* ignored */
-#endif
- return addrinfo_callback(arg, status, ai);
-}
-#endif
-
-#endif /* CURLRES_ASYNC */
diff --git a/Utilities/cmcurl-7.19.0/lib/hostip.c b/Utilities/cmcurl-7.19.0/lib/hostip.c
deleted file mode 100644
index 4e0df25..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostip.c
+++ /dev/null
@@ -1,748 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-#include "inet_ntop.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/*
- * hostip.c explained
- * ==================
- *
- * The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c
- * source file are these:
- *
- * CURLRES_IPV6 - this host has getaddrinfo() and family, and thus we use
- * that. The host may not be able to resolve IPv6, but we don't really have to
- * take that into account. Hosts that aren't IPv6-enabled have CURLRES_IPV4
- * defined.
- *
- * CURLRES_ARES - is defined if libcurl is built to use c-ares for
- * asynchronous name resolves. This can be Windows or *nix.
- *
- * CURLRES_THREADED - is defined if libcurl is built to run under (native)
- * Windows, and then the name resolve will be done in a new thread, and the
- * supported API will be the same as for ares-builds.
- *
- * If any of the two previous are defined, CURLRES_ASYNCH is defined too. If
- * libcurl is not built to use an asynchronous resolver, CURLRES_SYNCH is
- * defined.
- *
- * The host*.c sources files are split up like this:
- *
- * hostip.c - method-independent resolver functions and utility functions
- * hostasyn.c - functions for asynchronous name resolves
- * hostsyn.c - functions for synchronous name resolves
- * hostares.c - functions for ares-using name resolves
- * hostthre.c - functions for threaded name resolves
- * hostip4.c - ipv4-specific functions
- * hostip6.c - ipv6-specific functions
- *
- * The hostip.h is the united header file for all this. It defines the
- * CURLRES_* defines based on the config*.h and setup.h defines.
- */
-
-/* These two symbols are for the global DNS cache */
-static struct curl_hash hostname_cache;
-static int host_cache_initialized;
-
-static void freednsentry(void *freethis);
-
-/*
- * Curl_global_host_cache_init() initializes and sets up a global DNS cache.
- * Global DNS cache is general badness. Do not use. This will be removed in
- * a future version. Use the share interface instead!
- *
- * Returns a struct curl_hash pointer on success, NULL on failure.
- */
-struct curl_hash *Curl_global_host_cache_init(void)
-{
- int rc = 0;
- if(!host_cache_initialized) {
- rc = Curl_hash_init(&hostname_cache, 7, Curl_hash_str,
- Curl_str_key_compare, freednsentry);
- if(!rc)
- host_cache_initialized = 1;
- }
- return rc?NULL:&hostname_cache;
-}
-
-/*
- * Destroy and cleanup the global DNS cache
- */
-void Curl_global_host_cache_dtor(void)
-{
- if(host_cache_initialized) {
- Curl_hash_clean(&hostname_cache);
- host_cache_initialized = 0;
- }
-}
-
-/*
- * Return # of adresses in a Curl_addrinfo struct
- */
-int Curl_num_addresses(const Curl_addrinfo *addr)
-{
- int i;
- for (i = 0; addr; addr = addr->ai_next, i++)
- ; /* empty loop */
- return i;
-}
-
-/*
- * Curl_printable_address() returns a printable version of the 1st address
- * given in the 'ip' argument. The result will be stored in the buf that is
- * bufsize bytes big.
- *
- * If the conversion fails, it returns NULL.
- */
-const char *Curl_printable_address(const Curl_addrinfo *ip,
- char *buf, size_t bufsize)
-{
- const void *ip4 = &((const struct sockaddr_in*)ip->ai_addr)->sin_addr;
- int af = ip->ai_family;
-#ifdef CURLRES_IPV6
- const void *ip6 = &((const struct sockaddr_in6*)ip->ai_addr)->sin6_addr;
-#else
- const void *ip6 = NULL;
-#endif
-
- return Curl_inet_ntop(af, af == AF_INET ? ip4 : ip6, buf, bufsize);
-}
-
-/*
- * Return a hostcache id string for the providing host + port, to be used by
- * the DNS caching.
- */
-static char *
-create_hostcache_id(const char *server, int port)
-{
- /* create and return the new allocated entry */
- return aprintf("%s:%d", server, port);
-}
-
-struct hostcache_prune_data {
- long cache_timeout;
- time_t now;
-};
-
-/*
- * This function is set as a callback to be called for every entry in the DNS
- * cache when we want to prune old unused entries.
- *
- * Returning non-zero means remove the entry, return 0 to keep it in the
- * cache.
- */
-static int
-hostcache_timestamp_remove(void *datap, void *hc)
-{
- struct hostcache_prune_data *data =
- (struct hostcache_prune_data *) datap;
- struct Curl_dns_entry *c = (struct Curl_dns_entry *) hc;
-
- if((data->now - c->timestamp < data->cache_timeout) ||
- c->inuse) {
- /* please don't remove */
- return 0;
- }
-
- /* fine, remove */
- return 1;
-}
-
-/*
- * Prune the DNS cache. This assumes that a lock has already been taken.
- */
-static void
-hostcache_prune(struct curl_hash *hostcache, long cache_timeout, time_t now)
-{
- struct hostcache_prune_data user;
-
- user.cache_timeout = cache_timeout;
- user.now = now;
-
- Curl_hash_clean_with_criterium(hostcache,
- (void *) &user,
- hostcache_timestamp_remove);
-}
-
-/*
- * Library-wide function for pruning the DNS cache. This function takes and
- * returns the appropriate locks.
- */
-void Curl_hostcache_prune(struct SessionHandle *data)
-{
- time_t now;
-
- if((data->set.dns_cache_timeout == -1) || !data->dns.hostcache)
- /* cache forever means never prune, and NULL hostcache means
- we can't do it */
- return;
-
- if(data->share)
- Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
-
- time(&now);
-
- /* Remove outdated and unused entries from the hostcache */
- hostcache_prune(data->dns.hostcache,
- data->set.dns_cache_timeout,
- now);
-
- if(data->share)
- Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
-}
-
-/*
- * Check if the entry should be pruned. Assumes a locked cache.
- */
-static int
-remove_entry_if_stale(struct SessionHandle *data, struct Curl_dns_entry *dns)
-{
- struct hostcache_prune_data user;
-
- if( !dns || (data->set.dns_cache_timeout == -1) || !data->dns.hostcache)
- /* cache forever means never prune, and NULL hostcache means
- we can't do it */
- return 0;
-
- time(&user.now);
- user.cache_timeout = data->set.dns_cache_timeout;
-
- if( !hostcache_timestamp_remove(&user,dns) )
- return 0;
-
- Curl_hash_clean_with_criterium(data->dns.hostcache,
- (void *) &user,
- hostcache_timestamp_remove);
-
- return 1;
-}
-
-
-#ifdef HAVE_SIGSETJMP
-/* Beware this is a global and unique instance. This is used to store the
- return address that we can jump back to from inside a signal handler. This
- is not thread-safe stuff. */
-sigjmp_buf curl_jmpenv;
-#endif
-
-
-/*
- * Curl_cache_addr() stores a 'Curl_addrinfo' struct in the DNS cache.
- *
- * When calling Curl_resolv() has resulted in a response with a returned
- * address, we call this function to store the information in the dns
- * cache etc
- *
- * Returns the Curl_dns_entry entry pointer or NULL if the storage failed.
- */
-struct Curl_dns_entry *
-Curl_cache_addr(struct SessionHandle *data,
- Curl_addrinfo *addr,
- const char *hostname,
- int port)
-{
- char *entry_id;
- size_t entry_len;
- struct Curl_dns_entry *dns;
- struct Curl_dns_entry *dns2;
- time_t now;
-
- /* Create an entry id, based upon the hostname and port */
- entry_id = create_hostcache_id(hostname, port);
- /* If we can't create the entry id, fail */
- if(!entry_id)
- return NULL;
- entry_len = strlen(entry_id);
-
- /* Create a new cache entry */
- dns = (struct Curl_dns_entry *) calloc(sizeof(struct Curl_dns_entry), 1);
- if(!dns) {
- free(entry_id);
- return NULL;
- }
-
- dns->inuse = 0; /* init to not used */
- dns->addr = addr; /* this is the address(es) */
-
- /* Store the resolved data in our DNS cache. This function may return a
- pointer to an existing struct already present in the hash, and it may
- return the same argument we pass in. Make no assumptions. */
- dns2 = Curl_hash_add(data->dns.hostcache, entry_id, entry_len+1,
- (void *)dns);
- if(!dns2) {
- /* Major badness, run away. */
- free(dns);
- free(entry_id);
- return NULL;
- }
- time(&now);
- dns = dns2;
-
- dns->timestamp = now; /* used now */
- dns->inuse++; /* mark entry as in-use */
-
- /* free the allocated entry_id again */
- free(entry_id);
-
- return dns;
-}
-
-/*
- * Curl_resolv() is the main name resolve function within libcurl. It resolves
- * a name and returns a pointer to the entry in the 'entry' argument (if one
- * is provided). This function might return immediately if we're using asynch
- * resolves. See the return codes.
- *
- * The cache entry we return will get its 'inuse' counter increased when this
- * function is used. You MUST call Curl_resolv_unlock() later (when you're
- * done using this struct) to decrease the counter again.
- *
- * Return codes:
- *
- * CURLRESOLV_ERROR (-1) = error, no pointer
- * CURLRESOLV_RESOLVED (0) = OK, pointer provided
- * CURLRESOLV_PENDING (1) = waiting for response, no pointer
- */
-
-int Curl_resolv(struct connectdata *conn,
- const char *hostname,
- int port,
- struct Curl_dns_entry **entry)
-{
- char *entry_id = NULL;
- struct Curl_dns_entry *dns = NULL;
- size_t entry_len;
- struct SessionHandle *data = conn->data;
- CURLcode result;
- int rc = CURLRESOLV_ERROR; /* default to failure */
- *entry = NULL;
-
-#ifdef HAVE_SIGSETJMP
- /* this allows us to time-out from the name resolver, as the timeout
- will generate a signal and we will siglongjmp() from that here */
- if(!data->set.no_signal) {
- if(sigsetjmp(curl_jmpenv, 1)) {
- /* this is coming from a siglongjmp() */
- failf(data, "name lookup timed out");
- return rc;
- }
- }
-#endif
-
- /* Create an entry id, based upon the hostname and port */
- entry_id = create_hostcache_id(hostname, port);
- /* If we can't create the entry id, fail */
- if(!entry_id)
- return rc;
-
- entry_len = strlen(entry_id);
-
- if(data->share)
- Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
-
- /* See if its already in our dns cache */
- dns = Curl_hash_pick(data->dns.hostcache, entry_id, entry_len+1);
-
- /* See whether the returned entry is stale. Done before we release lock */
- if( remove_entry_if_stale(data, dns) )
- dns = NULL; /* the memory deallocation is being handled by the hash */
-
- if(dns) {
- dns->inuse++; /* we use it! */
- rc = CURLRESOLV_RESOLVED;
- }
-
- if(data->share)
- Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
-
- /* free the allocated entry_id again */
- free(entry_id);
-
- if(!dns) {
- /* The entry was not in the cache. Resolve it to IP address */
-
- Curl_addrinfo *addr;
- int respwait;
-
- /* Check what IP specifics the app has requested and if we can provide it.
- * If not, bail out. */
- if(!Curl_ipvalid(data))
- return CURLRESOLV_ERROR;
-
- /* If Curl_getaddrinfo() returns NULL, 'respwait' might be set to a
- non-zero value indicating that we need to wait for the response to the
- resolve call */
- addr = Curl_getaddrinfo(conn, hostname, port, &respwait);
-
- if(!addr) {
- if(respwait) {
- /* the response to our resolve call will come asynchronously at
- a later time, good or bad */
- /* First, check that we haven't received the info by now */
- result = Curl_is_resolved(conn, &dns);
- if(result) /* error detected */
- return CURLRESOLV_ERROR;
- if(dns)
- rc = CURLRESOLV_RESOLVED; /* pointer provided */
- else
- rc = CURLRESOLV_PENDING; /* no info yet */
- }
- }
- else {
- if(data->share)
- Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
-
- /* we got a response, store it in the cache */
- dns = Curl_cache_addr(data, addr, hostname, port);
-
- if(data->share)
- Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
-
- if(!dns)
- /* returned failure, bail out nicely */
- Curl_freeaddrinfo(addr);
- else
- rc = CURLRESOLV_RESOLVED;
- }
- }
-
- *entry = dns;
-
- return rc;
-}
-
-/*
- * Curl_resolv_unlock() unlocks the given cached DNS entry. When this has been
- * made, the struct may be destroyed due to pruning. It is important that only
- * one unlock is made for each Curl_resolv() call.
- */
-void Curl_resolv_unlock(struct SessionHandle *data, struct Curl_dns_entry *dns)
-{
- DEBUGASSERT(dns && (dns->inuse>0));
-
- if(data->share)
- Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
-
- dns->inuse--;
-
- if(data->share)
- Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
-}
-
-/*
- * File-internal: free a cache dns entry.
- */
-static void freednsentry(void *freethis)
-{
- struct Curl_dns_entry *p = (struct Curl_dns_entry *) freethis;
-
- Curl_freeaddrinfo(p->addr);
-
- free(p);
-}
-
-/*
- * Curl_mk_dnscache() creates a new DNS cache and returns the handle for it.
- */
-struct curl_hash *Curl_mk_dnscache(void)
-{
- return Curl_hash_alloc(7, Curl_hash_str, Curl_str_key_compare, freednsentry);
-}
-
-#ifdef CURLRES_ADDRINFO_COPY
-
-/* align on even 64bit boundaries */
-#define MEMALIGN(x) ((x)+(8-(((unsigned long)(x))&0x7)))
-
-/*
- * Curl_addrinfo_copy() performs a "deep" copy of a hostent into a buffer and
- * returns a pointer to the malloc()ed copy. You need to call free() on the
- * returned buffer when you're done with it.
- */
-Curl_addrinfo *Curl_addrinfo_copy(const void *org, int port)
-{
- const struct hostent *orig = org;
-
- return Curl_he2ai(orig, port);
-}
-#endif /* CURLRES_ADDRINFO_COPY */
-
-/***********************************************************************
- * Only for plain-ipv4 and c-ares builds (NOTE: c-ares builds can be IPv6
- * enabled)
- **********************************************************************/
-
-#if defined(CURLRES_IPV4) || defined(CURLRES_ARES)
-/*
- * This is a function for freeing name information in a protocol independent
- * way.
- */
-void Curl_freeaddrinfo(Curl_addrinfo *ai)
-{
- Curl_addrinfo *next;
-
- /* walk over the list and free all entries */
- while(ai) {
- next = ai->ai_next;
- if(ai->ai_canonname)
- free(ai->ai_canonname);
- free(ai);
- ai = next;
- }
-}
-
-struct namebuf {
- struct hostent hostentry;
- char *h_addr_list[2];
- struct in_addr addrentry;
- char h_name[16]; /* 123.123.123.123 = 15 letters is maximum */
-};
-
-/*
- * Curl_ip2addr() takes a 32bit ipv4 internet address as input parameter
- * together with a pointer to the string version of the address, and it
- * returns a Curl_addrinfo chain filled in correctly with information for this
- * address/host.
- *
- * The input parameters ARE NOT checked for validity but they are expected
- * to have been checked already when this is called.
- */
-Curl_addrinfo *Curl_ip2addr(in_addr_t num, const char *hostname, int port)
-{
- Curl_addrinfo *ai;
-
-#if defined(VMS) && \
- defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
-#pragma pointer_size save
-#pragma pointer_size short
-#pragma message disable PTRMISMATCH
-#endif
-
- struct hostent *h;
- struct in_addr *addrentry;
- struct namebuf buffer;
- struct namebuf *buf = &buffer;
-
- h = &buf->hostentry;
- h->h_addr_list = &buf->h_addr_list[0];
- addrentry = &buf->addrentry;
-#ifdef _CRAYC
- /* On UNICOS, s_addr is a bit field and for some reason assigning to it
- * doesn't work. There must be a better fix than this ugly hack.
- */
- memcpy(addrentry, &num, SIZEOF_in_addr);
-#else
- addrentry->s_addr = num;
-#endif
- h->h_addr_list[0] = (char*)addrentry;
- h->h_addr_list[1] = NULL;
- h->h_addrtype = AF_INET;
- h->h_length = sizeof(*addrentry);
- h->h_name = &buf->h_name[0];
- h->h_aliases = NULL;
-
- /* Now store the dotted version of the address */
- snprintf((char *)h->h_name, 16, "%s", hostname);
-
-#if defined(VMS) && \
- defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
-#pragma pointer_size restore
-#pragma message enable PTRMISMATCH
-#endif
-
- ai = Curl_he2ai(h, port);
-
- return ai;
-}
-
-/*
- * Curl_he2ai() translates from a hostent struct to a Curl_addrinfo struct.
- * The Curl_addrinfo is meant to work like the addrinfo struct does for IPv6
- * stacks, but for all hosts and environments.
- *
- * Curl_addrinfo defined in "lib/hostip.h"
- *
- * struct Curl_addrinfo {
- * int ai_flags;
- * int ai_family;
- * int ai_socktype;
- * int ai_protocol;
- * socklen_t ai_addrlen; * Follow rfc3493 struct addrinfo *
- * char *ai_canonname;
- * struct sockaddr *ai_addr;
- * struct Curl_addrinfo *ai_next;
- * };
- *
- * hostent defined in <netdb.h>
- *
- * struct hostent {
- * char *h_name;
- * char **h_aliases;
- * int h_addrtype;
- * int h_length;
- * char **h_addr_list;
- * };
- *
- * for backward compatibility:
- *
- * #define h_addr h_addr_list[0]
- */
-
-Curl_addrinfo *Curl_he2ai(const struct hostent *he, int port)
-{
- Curl_addrinfo *ai;
- Curl_addrinfo *prevai = NULL;
- Curl_addrinfo *firstai = NULL;
- struct sockaddr_in *addr;
-#ifdef CURLRES_IPV6
- struct sockaddr_in6 *addr6;
-#endif /* CURLRES_IPV6 */
- int i;
- struct in_addr *curr;
-
- if(!he)
- /* no input == no output! */
- return NULL;
-
- for(i=0; (curr = (struct in_addr *)he->h_addr_list[i]) != NULL; i++) {
-
- int ss_size;
-#ifdef CURLRES_IPV6
- if (he->h_addrtype == AF_INET6)
- ss_size = sizeof (struct sockaddr_in6);
- else
-#endif /* CURLRES_IPV6 */
- ss_size = sizeof (struct sockaddr_in);
-
- ai = calloc(1, sizeof(Curl_addrinfo) + ss_size);
-
- if(!ai)
- break;
-
- if(!firstai)
- /* store the pointer we want to return from this function */
- firstai = ai;
-
- if(prevai)
- /* make the previous entry point to this */
- prevai->ai_next = ai;
-
- ai->ai_family = he->h_addrtype;
-
- /* we return all names as STREAM, so when using this address for TFTP
- the type must be ignored and conn->socktype be used instead! */
- ai->ai_socktype = SOCK_STREAM;
-
- ai->ai_addrlen = ss_size;
- /* make the ai_addr point to the address immediately following this struct
- and use that area to store the address */
- ai->ai_addr = (struct sockaddr *) ((char*)ai + sizeof(Curl_addrinfo));
-
- /* need to free this eventually */
- ai->ai_canonname = strdup(he->h_name);
-
- /* leave the rest of the struct filled with zero */
-
- switch (ai->ai_family) {
- case AF_INET:
- addr = (struct sockaddr_in *)ai->ai_addr; /* storage area for this info */
-
- memcpy((char *)&(addr->sin_addr), curr, sizeof(struct in_addr));
- addr->sin_family = (unsigned short)(he->h_addrtype);
- addr->sin_port = htons((unsigned short)port);
- break;
-
-#ifdef CURLRES_IPV6
- case AF_INET6:
- addr6 = (struct sockaddr_in6 *)ai->ai_addr; /* storage area for this info */
-
- memcpy((char *)&(addr6->sin6_addr), curr, sizeof(struct in6_addr));
- addr6->sin6_family = (unsigned short)(he->h_addrtype);
- addr6->sin6_port = htons((unsigned short)port);
- break;
-#endif /* CURLRES_IPV6 */
- }
-
- prevai = ai;
- }
- return firstai;
-}
-
-#endif /* CURLRES_IPV4 || CURLRES_ARES */
diff --git a/Utilities/cmcurl-7.19.0/lib/hostip.h b/Utilities/cmcurl-7.19.0/lib/hostip.h
deleted file mode 100644
index d37203c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostip.h
+++ /dev/null
@@ -1,293 +0,0 @@
-#ifndef __HOSTIP_H
-#define __HOSTIP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-#include "hash.h"
-
-#ifdef NETWARE
-#undef in_addr_t
-#define in_addr_t unsigned long
-#endif
-
-/*
- * Setup comfortable CURLRES_* defines to use in the host*.c sources.
- */
-
-#ifdef USE_ARES
-#include <ares_version.h>
-#endif
-
-#ifdef USE_ARES
-#define CURLRES_ASYNCH
-#define CURLRES_ARES
-#endif
-
-#ifdef USE_THREADING_GETHOSTBYNAME
-#define CURLRES_ASYNCH
-#define CURLRES_THREADED
-#endif
-
-#ifdef USE_THREADING_GETADDRINFO
-#define CURLRES_ASYNCH
-#define CURLRES_THREADED
-#endif
-
-#ifdef ENABLE_IPV6
-#define CURLRES_IPV6
-#else
-#define CURLRES_IPV4
-#endif
-
-#if defined(CURLRES_IPV4) || defined(CURLRES_ARES)
-#if !defined(HAVE_GETHOSTBYNAME_R) || defined(CURLRES_ASYNCH)
-/* If built for ipv4 and missing gethostbyname_r(), or if using async name
- resolve, we need the Curl_addrinfo_copy() function (which itself needs the
- Curl_he2ai() function)) */
-#define CURLRES_ADDRINFO_COPY
-#endif
-#endif /* IPv4/ares-only */
-
-#ifndef CURLRES_ASYNCH
-#define CURLRES_SYNCH
-#endif
-
-#ifndef USE_LIBIDN
-#define CURLRES_IDN
-#endif
-
-/* Allocate enough memory to hold the full name information structs and
- * everything. OSF1 is known to require at least 8872 bytes. The buffer
- * required for storing all possible aliases and IP numbers is according to
- * Stevens' Unix Network Programming 2nd edition, p. 304: 8192 bytes!
- */
-#define CURL_HOSTENT_SIZE 9000
-
-#define CURL_TIMEOUT_RESOLVE 300 /* when using asynch methods, we allow this
- many seconds for a name resolve */
-
-#ifdef CURLRES_ARES
-#define CURL_ASYNC_SUCCESS ARES_SUCCESS
-#if ARES_VERSION >= 0x010500
-/* c-ares 1.5.0 or later, the callback proto is modified */
-#define HAVE_CARES_CALLBACK_TIMEOUTS 1
-#endif
-#else
-#define CURL_ASYNC_SUCCESS CURLE_OK
-#define ares_cancel(x) do {} while(0)
-#define ares_destroy(x) do {} while(0)
-#endif
-
-/*
- * Curl_addrinfo MUST be used for all name resolved info.
- */
-#ifdef CURLRES_IPV6
-typedef struct addrinfo Curl_addrinfo;
-#ifdef CURLRES_ARES
-Curl_addrinfo *Curl_ip2addr6(struct in6_addr *in,
- const char *hostname, int port);
-#endif
-#else
-/* OK, so some ipv4-only include tree probably have the addrinfo struct, but
- to work even on those that don't, we provide our own look-alike! */
-struct Curl_addrinfo {
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- socklen_t ai_addrlen; /* Follow rfc3493 struct addrinfo */
- char *ai_canonname;
- struct sockaddr *ai_addr;
- struct Curl_addrinfo *ai_next;
-};
-typedef struct Curl_addrinfo Curl_addrinfo;
-#endif
-
-struct addrinfo;
-struct hostent;
-struct SessionHandle;
-struct connectdata;
-
-/*
- * Curl_global_host_cache_init() initializes and sets up a global DNS cache.
- * Global DNS cache is general badness. Do not use. This will be removed in
- * a future version. Use the share interface instead!
- *
- * Returns a struct curl_hash pointer on success, NULL on failure.
- */
-struct curl_hash *Curl_global_host_cache_init(void);
-void Curl_global_host_cache_dtor(void);
-
-struct Curl_dns_entry {
- Curl_addrinfo *addr;
- time_t timestamp;
- long inuse; /* use-counter, make very sure you decrease this
- when you're done using the address you received */
-};
-
-/*
- * Curl_resolv() returns an entry with the info for the specified host
- * and port.
- *
- * The returned data *MUST* be "unlocked" with Curl_resolv_unlock() after
- * use, or we'll leak memory!
- */
-/* return codes */
-#define CURLRESOLV_ERROR -1
-#define CURLRESOLV_RESOLVED 0
-#define CURLRESOLV_PENDING 1
-int Curl_resolv(struct connectdata *conn, const char *hostname,
- int port, struct Curl_dns_entry **dnsentry);
-
-/*
- * Curl_ipvalid() checks what CURL_IPRESOLVE_* requirements that might've
- * been set and returns TRUE if they are OK.
- */
-bool Curl_ipvalid(struct SessionHandle *data);
-
-/*
- * Curl_getaddrinfo() is the generic low-level name resolve API within this
- * source file. There are several versions of this function - for different
- * name resolve layers (selected at build-time). They all take this same set
- * of arguments
- */
-Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
- const char *hostname,
- int port,
- int *waitp);
-
-CURLcode Curl_is_resolved(struct connectdata *conn,
- struct Curl_dns_entry **dns);
-CURLcode Curl_wait_for_resolv(struct connectdata *conn,
- struct Curl_dns_entry **dnsentry);
-
-/* Curl_resolv_getsock() is a generic function that exists in multiple
- versions depending on what name resolve technology we've built to use. The
- function is called from the multi_getsock() function. 'sock' is a pointer
- to an array to hold the file descriptors, with 'numsock' being the size of
- that array (in number of entries). This function is supposed to return
- bitmask indicating what file descriptors (referring to array indexes in the
- 'sock' array) to wait for, read/write. */
-int Curl_resolv_getsock(struct connectdata *conn, curl_socket_t *sock,
- int numsocks);
-
-/* unlock a previously resolved dns entry */
-void Curl_resolv_unlock(struct SessionHandle *data,
- struct Curl_dns_entry *dns);
-
-/* for debugging purposes only: */
-void Curl_scan_cache_used(void *user, void *ptr);
-
-/* free name info */
-void Curl_freeaddrinfo(Curl_addrinfo *freeaddr);
-
-/* make a new dns cache and return the handle */
-struct curl_hash *Curl_mk_dnscache(void);
-
-/* prune old entries from the DNS cache */
-void Curl_hostcache_prune(struct SessionHandle *data);
-
-/* Return # of adresses in a Curl_addrinfo struct */
-int Curl_num_addresses (const Curl_addrinfo *addr);
-
-#ifdef CURLDEBUG
-void curl_dofreeaddrinfo(struct addrinfo *freethis,
- int line, const char *source);
-int curl_dogetaddrinfo(const char *hostname, const char *service,
- struct addrinfo *hints,
- struct addrinfo **result,
- int line, const char *source);
-#ifdef HAVE_GETNAMEINFO
-int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
- GETNAMEINFO_TYPE_ARG2 salen,
- char *host, GETNAMEINFO_TYPE_ARG46 hostlen,
- char *serv, GETNAMEINFO_TYPE_ARG46 servlen,
- GETNAMEINFO_TYPE_ARG7 flags,
- int line, const char *source);
-#endif
-#endif
-
-/* This is the callback function that is used when we build with asynch
- resolve, ipv4 */
-CURLcode Curl_addrinfo4_callback(void *arg,
- int status,
-#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
- int timeouts,
-#endif
- struct hostent *hostent);
-/* This is the callback function that is used when we build with asynch
- resolve, ipv6 */
-CURLcode Curl_addrinfo6_callback(void *arg,
- int status,
-#ifdef HAVE_CARES_CALLBACK_TIMEOUTS
- int timeouts,
-#endif
- struct addrinfo *ai);
-
-
-/* [ipv4/ares only] Creates a Curl_addrinfo struct from a numerical-only IP
- address */
-Curl_addrinfo *Curl_ip2addr(in_addr_t num, const char *hostname, int port);
-
-/* [ipv4/ares only] Curl_he2ai() converts a struct hostent to a Curl_addrinfo chain
- and returns it */
-Curl_addrinfo *Curl_he2ai(const struct hostent *, int port);
-
-/* Clone a Curl_addrinfo struct, works protocol independently */
-Curl_addrinfo *Curl_addrinfo_copy(const void *orig, int port);
-
-/*
- * Curl_printable_address() returns a printable version of the 1st address
- * given in the 'ip' argument. The result will be stored in the buf that is
- * bufsize bytes big.
- */
-const char *Curl_printable_address(const Curl_addrinfo *ip,
- char *buf, size_t bufsize);
-
-/*
- * Curl_cache_addr() stores a 'Curl_addrinfo' struct in the DNS cache.
- *
- * Returns the Curl_dns_entry entry pointer or NULL if the storage failed.
- */
-struct Curl_dns_entry *
-Curl_cache_addr(struct SessionHandle *data, Curl_addrinfo *addr,
- const char *hostname, int port);
-
-/*
- * Curl_destroy_thread_data() cleans up async resolver data.
- * Complementary of ares_destroy.
- */
-struct Curl_async; /* forward-declaration */
-void Curl_destroy_thread_data(struct Curl_async *async);
-
-#ifndef INADDR_NONE
-#define CURL_INADDR_NONE (in_addr_t) ~0
-#else
-#define CURL_INADDR_NONE INADDR_NONE
-#endif
-
-
-
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/hostip4.c b/Utilities/cmcurl-7.19.0/lib/hostip4.c
deleted file mode 100644
index b3c3588..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostip4.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-#include <errno.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-#include "inet_pton.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/***********************************************************************
- * Only for plain-ipv4 builds
- **********************************************************************/
-#ifdef CURLRES_IPV4 /* plain ipv4 code coming up */
-/*
- * Curl_ipvalid() checks what CURL_IPRESOLVE_* requirements that might've
- * been set and returns TRUE if they are OK.
- */
-bool Curl_ipvalid(struct SessionHandle *data)
-{
- if(data->set.ip_version == CURL_IPRESOLVE_V6)
- /* an ipv6 address was requested and we can't get/use one */
- return FALSE;
-
- return TRUE; /* OK, proceed */
-}
-
-#ifdef CURLRES_SYNCH /* the functions below are for synchronous resolves */
-
-/*
- * Curl_getaddrinfo() - the ipv4 synchronous version.
- *
- * The original code to this function was from the Dancer source code, written
- * by Bjorn Reese, it has since been patched and modified considerably.
- *
- * gethostbyname_r() is the thread-safe version of the gethostbyname()
- * function. When we build for plain IPv4, we attempt to use this
- * function. There are _three_ different gethostbyname_r() versions, and we
- * detect which one this platform supports in the configure script and set up
- * the HAVE_GETHOSTBYNAME_R_3, HAVE_GETHOSTBYNAME_R_5 or
- * HAVE_GETHOSTBYNAME_R_6 defines accordingly. Note that HAVE_GETADDRBYNAME
- * has the corresponding rules. This is primarily on *nix. Note that some unix
- * flavours have thread-safe versions of the plain gethostbyname() etc.
- *
- */
-Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
- const char *hostname,
- int port,
- int *waitp)
-{
-#if defined(HAVE_GETHOSTBYNAME_R_3)
- int res;
-#endif
- Curl_addrinfo *ai = NULL;
- struct hostent *h = NULL;
- in_addr_t in;
- struct hostent *buf = NULL;
-
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
- (void)conn;
-#endif
-
- (void)port; /* unused in IPv4 code */
-
- *waitp = 0; /* don't wait, we act synchronously */
-
- if(1 == Curl_inet_pton(AF_INET, hostname, &in))
- /* This is a dotted IP address 123.123.123.123-style */
- return Curl_ip2addr(in, hostname, port);
-
-#if defined(HAVE_GETHOSTBYNAME_R)
- /*
- * gethostbyname_r() is the preferred resolve function for many platforms.
- * Since there are three different versions of it, the following code is
- * somewhat #ifdef-ridden.
- */
- else {
- int h_errnop;
-
- buf = (struct hostent *)calloc(CURL_HOSTENT_SIZE, 1);
- if(!buf)
- return NULL; /* major failure */
- /*
- * The clearing of the buffer is a workaround for a gethostbyname_r bug in
- * qnx nto and it is also _required_ for some of these functions on some
- * platforms.
- */
-
-#ifdef HAVE_GETHOSTBYNAME_R_5
- /* Solaris, IRIX and more */
- h = gethostbyname_r(hostname,
- (struct hostent *)buf,
- (char *)buf + sizeof(struct hostent),
- CURL_HOSTENT_SIZE - sizeof(struct hostent),
- &h_errnop);
-
- /* If the buffer is too small, it returns NULL and sets errno to
- * ERANGE. The errno is thread safe if this is compiled with
- * -D_REENTRANT as then the 'errno' variable is a macro defined to get
- * used properly for threads.
- */
-
- if(h) {
- ;
- }
- else
-#endif /* HAVE_GETHOSTBYNAME_R_5 */
-#ifdef HAVE_GETHOSTBYNAME_R_6
- /* Linux */
-
- (void)gethostbyname_r(hostname,
- (struct hostent *)buf,
- (char *)buf + sizeof(struct hostent),
- CURL_HOSTENT_SIZE - sizeof(struct hostent),
- &h, /* DIFFERENCE */
- &h_errnop);
- /* Redhat 8, using glibc 2.2.93 changed the behavior. Now all of a
- * sudden this function returns EAGAIN if the given buffer size is too
- * small. Previous versions are known to return ERANGE for the same
- * problem.
- *
- * This wouldn't be such a big problem if older versions wouldn't
- * sometimes return EAGAIN on a common failure case. Alas, we can't
- * assume that EAGAIN *or* ERANGE means ERANGE for any given version of
- * glibc.
- *
- * For now, we do that and thus we may call the function repeatedly and
- * fail for older glibc versions that return EAGAIN, until we run out of
- * buffer size (step_size grows beyond CURL_HOSTENT_SIZE).
- *
- * If anyone has a better fix, please tell us!
- *
- * -------------------------------------------------------------------
- *
- * On October 23rd 2003, Dan C dug up more details on the mysteries of
- * gethostbyname_r() in glibc:
- *
- * In glibc 2.2.5 the interface is different (this has also been
- * discovered in glibc 2.1.1-6 as shipped by Redhat 6). What I can't
- * explain, is that tests performed on glibc 2.2.4-34 and 2.2.4-32
- * (shipped/upgraded by Redhat 7.2) don't show this behavior!
- *
- * In this "buggy" version, the return code is -1 on error and 'errno'
- * is set to the ERANGE or EAGAIN code. Note that 'errno' is not a
- * thread-safe variable.
- */
-
- if(!h) /* failure */
-#endif/* HAVE_GETHOSTBYNAME_R_6 */
-#ifdef HAVE_GETHOSTBYNAME_R_3
- /* AIX, Digital Unix/Tru64, HPUX 10, more? */
-
- /* For AIX 4.3 or later, we don't use gethostbyname_r() at all, because of
- * the plain fact that it does not return unique full buffers on each
- * call, but instead several of the pointers in the hostent structs will
- * point to the same actual data! This have the unfortunate down-side that
- * our caching system breaks down horribly. Luckily for us though, AIX 4.3
- * and more recent versions have a "completely thread-safe"[*] libc where
- * all the data is stored in thread-specific memory areas making calls to
- * the plain old gethostbyname() work fine even for multi-threaded
- * programs.
- *
- * This AIX 4.3 or later detection is all made in the configure script.
- *
- * Troels Walsted Hansen helped us work this out on March 3rd, 2003.
- *
- * [*] = much later we've found out that it isn't at all "completely
- * thread-safe", but at least the gethostbyname() function is.
- */
-
- if(CURL_HOSTENT_SIZE >=
- (sizeof(struct hostent)+sizeof(struct hostent_data))) {
-
- /* August 22nd, 2000: Albert Chin-A-Young brought an updated version
- * that should work! September 20: Richard Prescott worked on the buffer
- * size dilemma.
- */
-
- res = gethostbyname_r(hostname,
- (struct hostent *)buf,
- (struct hostent_data *)((char *)buf +
- sizeof(struct hostent)));
- h_errnop = SOCKERRNO; /* we don't deal with this, but set it anyway */
- }
- else
- res = -1; /* failure, too smallish buffer size */
-
- if(!res) { /* success */
-
- h = buf; /* result expected in h */
-
- /* This is the worst kind of the different gethostbyname_r() interfaces.
- * Since we don't know how big buffer this particular lookup required,
- * we can't realloc down the huge alloc without doing closer analysis of
- * the returned data. Thus, we always use CURL_HOSTENT_SIZE for every
- * name lookup. Fixing this would require an extra malloc() and then
- * calling Curl_addrinfo_copy() that subsequent realloc()s down the new
- * memory area to the actually used amount.
- */
- }
- else
-#endif /* HAVE_GETHOSTBYNAME_R_3 */
- {
- infof(conn->data, "gethostbyname_r(2) failed for %s\n", hostname);
- h = NULL; /* set return code to NULL */
- free(buf);
- }
-#else /* HAVE_GETHOSTBYNAME_R */
- /*
- * Here is code for platforms that don't have gethostbyname_r() or for
- * which the gethostbyname() is the preferred() function.
- */
- else {
-#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
- h = gethostbyname((char*)hostname);
-#else
- h = gethostbyname(hostname);
-#endif
- if(!h)
- infof(conn->data, "gethostbyname(2) failed for %s\n", hostname);
-#endif /*HAVE_GETHOSTBYNAME_R */
- }
-
- if(h) {
- ai = Curl_he2ai(h, port);
-
- if(buf) /* used a *_r() function */
- free(buf);
- }
-
- return ai;
-}
-
-#endif /* CURLRES_SYNCH */
-#endif /* CURLRES_IPV4 */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/hostip6.c b/Utilities/cmcurl-7.19.0/lib/hostip6.c
deleted file mode 100644
index 0d63f72..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostip6.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-#include "inet_pton.h"
-#include "connect.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/***********************************************************************
- * Only for ipv6-enabled builds
- **********************************************************************/
-#ifdef CURLRES_IPV6
-#ifndef CURLRES_ARES
-/*
- * This is a wrapper function for freeing name information in a protocol
- * independent way. This takes care of using the appropriate underlaying
- * function.
- */
-void Curl_freeaddrinfo(Curl_addrinfo *p)
-{
- freeaddrinfo(p);
-}
-
-#ifdef CURLRES_ASYNCH
-/*
- * Curl_addrinfo_copy() is used by the asynch callback to copy a given
- * address. But this is an ipv6 build and then we don't copy the address, we
- * just return the same pointer!
- */
-Curl_addrinfo *Curl_addrinfo_copy(const void *orig, int port)
-{
- (void) port;
- return (Curl_addrinfo*)orig;
-}
-#endif /* CURLRES_ASYNCH */
-#endif /* CURLRES_ARES */
-
-#ifdef CURLDEBUG
-/* These are strictly for memory tracing and are using the same style as the
- * family otherwise present in memdebug.c. I put these ones here since they
- * require a bunch of structs I didn't wanna include in memdebug.c
- */
-int curl_dogetaddrinfo(const char *hostname, const char *service,
- struct addrinfo *hints,
- struct addrinfo **result,
- int line, const char *source)
-{
- int res=(getaddrinfo)(hostname, service, hints, result);
- if(0 == res) {
- /* success */
- if(logfile)
- fprintf(logfile, "ADDR %s:%d getaddrinfo() = %p\n",
- source, line, (void *)*result);
- }
- else {
- if(logfile)
- fprintf(logfile, "ADDR %s:%d getaddrinfo() failed\n",
- source, line);
- }
- return res;
-}
-
-/*
- * For CURLRES_ARS, this should be written using ares_gethostbyaddr()
- * (ignoring the fact c-ares doesn't return 'serv').
- */
-#ifdef HAVE_GETNAMEINFO
-int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
- GETNAMEINFO_TYPE_ARG2 salen,
- char *host, GETNAMEINFO_TYPE_ARG46 hostlen,
- char *serv, GETNAMEINFO_TYPE_ARG46 servlen,
- GETNAMEINFO_TYPE_ARG7 flags,
- int line, const char *source)
-{
- int res = (getnameinfo)(sa, salen,
- host, hostlen,
- serv, servlen,
- flags);
- if(0 == res) {
- /* success */
- if(logfile)
- fprintf(logfile, "GETNAME %s:%d getnameinfo()\n",
- source, line);
- }
- else {
- if(logfile)
- fprintf(logfile, "GETNAME %s:%d getnameinfo() failed = %d\n",
- source, line, res);
- }
- return res;
-}
-#endif
-
-void curl_dofreeaddrinfo(struct addrinfo *freethis,
- int line, const char *source)
-{
- (freeaddrinfo)(freethis);
- if(logfile)
- fprintf(logfile, "ADDR %s:%d freeaddrinfo(%p)\n",
- source, line, (void *)freethis);
-}
-#endif /* CURLDEBUG */
-
-/*
- * Curl_ipvalid() checks what CURL_IPRESOLVE_* requirements that might've
- * been set and returns TRUE if they are OK.
- */
-bool Curl_ipvalid(struct SessionHandle *data)
-{
- if(data->set.ip_version == CURL_IPRESOLVE_V6) {
- /* see if we have an IPv6 stack */
- curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0);
- if(s == CURL_SOCKET_BAD)
- /* an ipv6 address was requested and we can't get/use one */
- return FALSE;
- sclose(s);
- }
- return TRUE;
-}
-
-#if !defined(USE_THREADING_GETADDRINFO) && !defined(CURLRES_ARES)
-
-#ifdef DEBUG_ADDRINFO
-static void dump_addrinfo(struct connectdata *conn, const struct addrinfo *ai)
-{
- printf("dump_addrinfo:\n");
- for ( ; ai; ai = ai->ai_next) {
- char buf[INET6_ADDRSTRLEN];
-
- printf(" fam %2d, CNAME %s, ",
- ai->ai_family, ai->ai_canonname ? ai->ai_canonname : "<none>");
- if(Curl_printable_address(ai, buf, sizeof(buf)))
- printf("%s\n", buf);
- else
- printf("failed; %s\n", Curl_strerror(conn, SOCKERRNO));
- }
-}
-#else
-#define dump_addrinfo(x,y)
-#endif
-
-/*
- * Curl_getaddrinfo() when built ipv6-enabled (non-threading and
- * non-ares version).
- *
- * Returns name information about the given hostname and port number. If
- * successful, the 'addrinfo' is returned and the forth argument will point to
- * memory we need to free after use. That memory *MUST* be freed with
- * Curl_freeaddrinfo(), nothing else.
- */
-Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
- const char *hostname,
- int port,
- int *waitp)
-{
- struct addrinfo hints, *res;
- int error;
- char sbuf[NI_MAXSERV];
- char *sbufptr = NULL;
- char addrbuf[128];
- int pf;
- struct SessionHandle *data = conn->data;
-
- *waitp=0; /* don't wait, we have the response now */
-
- /*
- * Check if a limited name resolve has been requested.
- */
- switch(data->set.ip_version) {
- case CURL_IPRESOLVE_V4:
- pf = PF_INET;
- break;
- case CURL_IPRESOLVE_V6:
- pf = PF_INET6;
- break;
- default:
- pf = PF_UNSPEC;
- break;
- }
-
- if (pf != PF_INET) {
- /* see if we have an IPv6 stack */
- curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0);
- if(s == CURL_SOCKET_BAD) {
- /* Some non-IPv6 stacks have been found to make very slow name resolves
- * when PF_UNSPEC is used, so thus we switch to a mere PF_INET lookup if
- * the stack seems to be a non-ipv6 one. */
-
- pf = PF_INET;
- }
- else {
- /* This seems to be an IPv6-capable stack, use PF_UNSPEC for the widest
- * possible checks. And close the socket again.
- */
- sclose(s);
- }
- }
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = pf;
- hints.ai_socktype = conn->socktype;
-
- if((1 == Curl_inet_pton(AF_INET, hostname, addrbuf)) ||
- (1 == Curl_inet_pton(AF_INET6, hostname, addrbuf))) {
- /* the given address is numerical only, prevent a reverse lookup */
- hints.ai_flags = AI_NUMERICHOST;
- }
-#ifdef HAVE_GSSAPI
- if(conn->data->set.krb)
- /* if krb is used, we (might) need the canonical host name */
- hints.ai_flags |= AI_CANONNAME;
-#endif
-
- if(port) {
- snprintf(sbuf, sizeof(sbuf), "%d", port);
- sbufptr=sbuf;
- }
- error = getaddrinfo(hostname, sbufptr, &hints, &res);
- if(error) {
- infof(data, "getaddrinfo(3) failed for %s:%d\n", hostname, port);
- return NULL;
- }
-
- dump_addrinfo(conn, res);
-
- return res;
-}
-#endif /* !USE_THREADING_GETADDRINFO && !CURLRES_ARES */
-#endif /* ipv6 */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/hostsyn.c b/Utilities/cmcurl-7.19.0/lib/hostsyn.c
deleted file mode 100644
index 83d062e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostsyn.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/***********************************************************************
- * Only for builds using synchronous name resolves
- **********************************************************************/
-#ifdef CURLRES_SYNCH
-
-/*
- * Curl_wait_for_resolv() for synch-builds. Curl_resolv() can never return
- * wait==TRUE, so this function will never be called. If it still gets called,
- * we return failure at once.
- *
- * We provide this function only to allow multi.c to remain unaware if we are
- * doing asynch resolves or not.
- */
-CURLcode Curl_wait_for_resolv(struct connectdata *conn,
- struct Curl_dns_entry **entry)
-{
- (void)conn;
- *entry=NULL;
- return CURLE_COULDNT_RESOLVE_HOST;
-}
-
-/*
- * This function will never be called when synch-built. If it still gets
- * called, we return failure at once.
- *
- * We provide this function only to allow multi.c to remain unaware if we are
- * doing asynch resolves or not.
- */
-CURLcode Curl_is_resolved(struct connectdata *conn,
- struct Curl_dns_entry **dns)
-{
- (void)conn;
- *dns = NULL;
-
- return CURLE_COULDNT_RESOLVE_HOST;
-}
-
-/*
- * We just return OK, this function is never actually used for synch builds.
- * It is present here to keep #ifdefs out from multi.c
- */
-
-int Curl_resolv_getsock(struct connectdata *conn,
- curl_socket_t *sock,
- int numsocks)
-{
- (void)conn;
- (void)sock;
- (void)numsocks;
-
- return 0; /* no bits since we don't use any socks */
-}
-
-#endif /* truly sync */
diff --git a/Utilities/cmcurl-7.19.0/lib/hostthre.c b/Utilities/cmcurl-7.19.0/lib/hostthre.c
deleted file mode 100644
index ff31948..0000000
--- a/Utilities/cmcurl-7.19.0/lib/hostthre.c
+++ /dev/null
@@ -1,778 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-#include <errno.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* required for free() prototypes */
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for the close() proto */
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifdef HAVE_PROCESS_H
-#include <process.h>
-#endif
-
-#if (defined(NETWARE) && defined(__NOVELL_LIBC__))
-#undef in_addr_t
-#define in_addr_t unsigned long
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "hostip.h"
-#include "hash.h"
-#include "share.h"
-#include "strerror.h"
-#include "url.h"
-#include "multiif.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "inet_ntop.h"
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#if defined(_MSC_VER) && defined(CURL_NO__BEGINTHREADEX)
-#pragma message ("No _beginthreadex() available in this RTL")
-#endif
-
-/***********************************************************************
- * Only for Windows threaded name resolves builds
- **********************************************************************/
-#ifdef CURLRES_THREADED
-
-/* This function is used to init a threaded resolve */
-static bool init_resolve_thread(struct connectdata *conn,
- const char *hostname, int port,
- const Curl_addrinfo *hints);
-
-#ifdef CURLRES_IPV4
- #define THREAD_FUNC gethostbyname_thread
- #define THREAD_NAME "gethostbyname_thread"
-#else
- #define THREAD_FUNC getaddrinfo_thread
- #define THREAD_NAME "getaddrinfo_thread"
-#endif
-
-struct thread_data {
- HANDLE thread_hnd;
- unsigned thread_id;
- DWORD thread_status;
- curl_socket_t dummy_sock; /* dummy for Curl_resolv_fdset() */
- HANDLE mutex_waiting; /* marks that we are still waiting for a resolve */
- HANDLE event_resolved; /* marks that the thread obtained the information */
- HANDLE event_thread_started; /* marks that the thread has initialized and
- started */
- HANDLE mutex_terminate; /* serializes access to flag_terminate */
- HANDLE event_terminate; /* flag for thread to terminate instead of calling
- callbacks */
-#ifdef CURLRES_IPV6
- struct addrinfo hints;
-#endif
-};
-
-/* Data for synchronization between resolver thread and its parent */
-struct thread_sync_data {
- HANDLE mutex_waiting; /* thread_data.mutex_waiting duplicate */
- HANDLE mutex_terminate; /* thread_data.mutex_terminate duplicate */
- HANDLE event_terminate; /* thread_data.event_terminate duplicate */
- char * hostname; /* hostname to resolve, Curl_async.hostname
- duplicate */
-};
-
-/* Destroy resolver thread synchronization data */
-static
-void destroy_thread_sync_data(struct thread_sync_data * tsd)
-{
- if(tsd->hostname)
- free(tsd->hostname);
- if(tsd->event_terminate)
- CloseHandle(tsd->event_terminate);
- if(tsd->mutex_terminate)
- CloseHandle(tsd->mutex_terminate);
- if(tsd->mutex_waiting)
- CloseHandle(tsd->mutex_waiting);
- memset(tsd,0,sizeof(*tsd));
-}
-
-/* Initialize resolver thread synchronization data */
-static
-BOOL init_thread_sync_data(struct thread_data * td,
- const char * hostname,
- struct thread_sync_data * tsd)
-{
- HANDLE curr_proc = GetCurrentProcess();
-
- memset(tsd, 0, sizeof(*tsd));
- if(!DuplicateHandle(curr_proc, td->mutex_waiting,
- curr_proc, &tsd->mutex_waiting, 0, FALSE,
- DUPLICATE_SAME_ACCESS)) {
- /* failed to duplicate the mutex, no point in continuing */
- destroy_thread_sync_data(tsd);
- return FALSE;
- }
- if(!DuplicateHandle(curr_proc, td->mutex_terminate,
- curr_proc, &tsd->mutex_terminate, 0, FALSE,
- DUPLICATE_SAME_ACCESS)) {
- /* failed to duplicate the mutex, no point in continuing */
- destroy_thread_sync_data(tsd);
- return FALSE;
- }
- if(!DuplicateHandle(curr_proc, td->event_terminate,
- curr_proc, &tsd->event_terminate, 0, FALSE,
- DUPLICATE_SAME_ACCESS)) {
- /* failed to duplicate the event, no point in continuing */
- destroy_thread_sync_data(tsd);
- return FALSE;
- }
- /* Copying hostname string because original can be destroyed by parent
- * thread during gethostbyname execution.
- */
- tsd->hostname = strdup(hostname);
- if(!tsd->hostname) {
- /* Memory allocation failed */
- destroy_thread_sync_data(tsd);
- return FALSE;
- }
- return TRUE;
-}
-
-/* acquire resolver thread synchronization */
-static
-BOOL acquire_thread_sync(struct thread_sync_data * tsd)
-{
- /* is the thread initiator still waiting for us ? */
- if(WaitForSingleObject(tsd->mutex_waiting, 0) == WAIT_TIMEOUT) {
- /* yes, it is */
-
- /* Waiting access to event_terminate */
- if(WaitForSingleObject(tsd->mutex_terminate, INFINITE) != WAIT_OBJECT_0) {
- /* Something went wrong - now just ignoring */
- }
- else {
- if(WaitForSingleObject(tsd->event_terminate, 0) != WAIT_TIMEOUT) {
- /* Parent thread signaled us to terminate.
- * This means that all data in conn->async is now destroyed
- * and we cannot use it.
- */
- }
- else {
- return TRUE;
- }
- }
- }
- return FALSE;
-}
-
-/* release resolver thread synchronization */
-static
-void release_thread_sync(struct thread_sync_data * tsd)
-{
- ReleaseMutex(tsd->mutex_terminate);
-}
-
-#if defined(CURLRES_IPV4)
-/*
- * gethostbyname_thread() resolves a name, calls the Curl_addrinfo4_callback
- * and then exits.
- *
- * For builds without ARES/ENABLE_IPV6, create a resolver thread and wait on
- * it.
- */
-static unsigned __stdcall gethostbyname_thread (void *arg)
-{
- struct connectdata *conn = (struct connectdata*) arg;
- struct thread_data *td = (struct thread_data*) conn->async.os_specific;
- struct hostent *he;
- int rc = 0;
-
- /* Duplicate the passed mutex and event handles.
- * This allows us to use it even after the container gets destroyed
- * due to a resolver timeout.
- */
- struct thread_sync_data tsd = { 0,0,0,NULL };
-
- if(!init_thread_sync_data(td, conn->async.hostname, &tsd)) {
- /* thread synchronization data initialization failed */
- return (unsigned)-1;
- }
-
- conn->async.status = NO_DATA; /* pending status */
- SET_SOCKERRNO(conn->async.status);
-
- /* Signaling that we have initialized all copies of data and handles we
- need */
- SetEvent(td->event_thread_started);
-
- he = gethostbyname (tsd.hostname);
-
- /* is parent thread waiting for us and are we able to access conn members? */
- if(acquire_thread_sync(&tsd)) {
- /* Mark that we have obtained the information, and that we are calling
- * back with it. */
- SetEvent(td->event_resolved);
- if(he) {
- rc = Curl_addrinfo4_callback(conn, CURL_ASYNC_SUCCESS, he);
- }
- else {
- rc = Curl_addrinfo4_callback(conn, SOCKERRNO, NULL);
- }
- release_thread_sync(&tsd);
- }
-
- /* clean up */
- destroy_thread_sync_data(&tsd);
-
- return (rc);
- /* An implicit _endthreadex() here */
-}
-
-#elif defined(CURLRES_IPV6)
-
-/*
- * getaddrinfo_thread() resolves a name, calls Curl_addrinfo6_callback and then
- * exits.
- *
- * For builds without ARES, but with ENABLE_IPV6, create a resolver thread
- * and wait on it.
- */
-static unsigned __stdcall getaddrinfo_thread (void *arg)
-{
- struct connectdata *conn = (struct connectdata*) arg;
- struct thread_data *td = (struct thread_data*) conn->async.os_specific;
- struct addrinfo *res;
- char service [NI_MAXSERV];
- int rc;
- struct addrinfo hints = td->hints;
-
- /* Duplicate the passed mutex handle.
- * This allows us to use it even after the container gets destroyed
- * due to a resolver timeout.
- */
- struct thread_sync_data tsd = { 0,0,0,NULL };
-
- if(!init_thread_sync_data(td, conn->async.hostname, &tsd)) {
- /* thread synchronization data initialization failed */
- return -1;
- }
-
- itoa(conn->async.port, service, 10);
-
- conn->async.status = NO_DATA; /* pending status */
- SET_SOCKERRNO(conn->async.status);
-
- /* Signaling that we have initialized all copies of data and handles we
- need */
- SetEvent(td->event_thread_started);
-
- rc = getaddrinfo(tsd.hostname, service, &hints, &res);
-
- /* is parent thread waiting for us and are we able to access conn members? */
- if(acquire_thread_sync(&tsd)) {
- /* Mark that we have obtained the information, and that we are calling
- back with it. */
- SetEvent(td->event_resolved);
-
- if(rc == 0) {
- rc = Curl_addrinfo6_callback(conn, CURL_ASYNC_SUCCESS, res);
- }
- else {
- rc = Curl_addrinfo6_callback(conn, SOCKERRNO, NULL);
- }
- release_thread_sync(&tsd);
- }
-
- /* clean up */
- destroy_thread_sync_data(&tsd);
-
- return (rc);
- /* An implicit _endthreadex() here */
-}
-#endif
-
-/*
- * Curl_destroy_thread_data() cleans up async resolver data and thread handle.
- * Complementary of ares_destroy.
- */
-void Curl_destroy_thread_data (struct Curl_async *async)
-{
- if(async->hostname)
- free(async->hostname);
-
- if(async->os_specific) {
- struct thread_data *td = (struct thread_data*) async->os_specific;
- curl_socket_t sock = td->dummy_sock;
-
- if(td->mutex_terminate && td->event_terminate) {
- /* Signaling resolver thread to terminate */
- if(WaitForSingleObject(td->mutex_terminate, INFINITE) == WAIT_OBJECT_0) {
- SetEvent(td->event_terminate);
- ReleaseMutex(td->mutex_terminate);
- }
- else {
- /* Something went wrong - just ignoring it */
- }
- }
-
- if(td->mutex_terminate)
- CloseHandle(td->mutex_terminate);
- if(td->event_terminate)
- CloseHandle(td->event_terminate);
- if(td->event_thread_started)
- CloseHandle(td->event_thread_started);
-
- if(sock != CURL_SOCKET_BAD)
- sclose(sock);
-
- /* destroy the synchronization objects */
- if(td->mutex_waiting)
- CloseHandle(td->mutex_waiting);
- td->mutex_waiting = NULL;
- if(td->event_resolved)
- CloseHandle(td->event_resolved);
-
- if(td->thread_hnd)
- CloseHandle(td->thread_hnd);
-
- free(async->os_specific);
- }
- async->hostname = NULL;
- async->os_specific = NULL;
-}
-
-/*
- * init_resolve_thread() starts a new thread that performs the actual
- * resolve. This function returns before the resolve is done.
- *
- * Returns FALSE in case of failure, otherwise TRUE.
- */
-static bool init_resolve_thread (struct connectdata *conn,
- const char *hostname, int port,
- const Curl_addrinfo *hints)
-{
- struct thread_data *td = calloc(sizeof(*td), 1);
- HANDLE thread_and_event[2] = {0};
-
- if(!td) {
- SET_ERRNO(ENOMEM);
- return FALSE;
- }
-
- Curl_safefree(conn->async.hostname);
- conn->async.hostname = strdup(hostname);
- if(!conn->async.hostname) {
- free(td);
- SET_ERRNO(ENOMEM);
- return FALSE;
- }
-
- conn->async.port = port;
- conn->async.done = FALSE;
- conn->async.status = 0;
- conn->async.dns = NULL;
- conn->async.os_specific = (void*) td;
- td->dummy_sock = CURL_SOCKET_BAD;
-
- /* Create the mutex used to inform the resolver thread that we're
- * still waiting, and take initial ownership.
- */
- td->mutex_waiting = CreateMutex(NULL, TRUE, NULL);
- if(td->mutex_waiting == NULL) {
- Curl_destroy_thread_data(&conn->async);
- SET_ERRNO(EAGAIN);
- return FALSE;
- }
-
- /* Create the event that the thread uses to inform us that it's
- * done resolving. Do not signal it.
- */
- td->event_resolved = CreateEvent(NULL, TRUE, FALSE, NULL);
- if(td->event_resolved == NULL) {
- Curl_destroy_thread_data(&conn->async);
- SET_ERRNO(EAGAIN);
- return FALSE;
- }
- /* Create the mutex used to serialize access to event_terminated
- * between us and resolver thread.
- */
- td->mutex_terminate = CreateMutex(NULL, FALSE, NULL);
- if(td->mutex_terminate == NULL) {
- Curl_destroy_thread_data(&conn->async);
- SET_ERRNO(EAGAIN);
- return FALSE;
- }
- /* Create the event used to signal thread that it should terminate.
- */
- td->event_terminate = CreateEvent(NULL, TRUE, FALSE, NULL);
- if(td->event_terminate == NULL) {
- Curl_destroy_thread_data(&conn->async);
- SET_ERRNO(EAGAIN);
- return FALSE;
- }
- /* Create the event used by thread to inform it has initialized its own data.
- */
- td->event_thread_started = CreateEvent(NULL, TRUE, FALSE, NULL);
- if(td->event_thread_started == NULL) {
- Curl_destroy_thread_data(&conn->async);
- SET_ERRNO(EAGAIN);
- return FALSE;
- }
-
-#ifdef _WIN32_WCE
- td->thread_hnd = (HANDLE) CreateThread(NULL, 0,
- (LPTHREAD_START_ROUTINE) THREAD_FUNC,
- conn, 0, &td->thread_id);
-#else
- td->thread_hnd = (HANDLE) _beginthreadex(NULL, 0, THREAD_FUNC,
- conn, 0, &td->thread_id);
-#endif
-
-#ifdef CURLRES_IPV6
- DEBUGASSERT(hints);
- td->hints = *hints;
-#else
- (void) hints;
-#endif
-
- if(!td->thread_hnd) {
-#ifndef _WIN32_WCE
- SET_ERRNO(errno);
-#endif
- Curl_destroy_thread_data(&conn->async);
- return FALSE;
- }
- /* Waiting until the thread will initialize its data or it will exit due errors.
- */
- thread_and_event[0] = td->thread_hnd;
- thread_and_event[1] = td->event_thread_started;
- if(WaitForMultipleObjects(sizeof(thread_and_event) /
- sizeof(thread_and_event[0]),
- (const HANDLE*)thread_and_event, FALSE,
- INFINITE) == WAIT_FAILED) {
- /* The resolver thread has been created,
- * most probably it works now - ignoring this "minor" error
- */
- }
- /* This socket is only to keep Curl_resolv_fdset() and select() happy;
- * should never become signalled for read/write since it's unbound but
- * Windows needs atleast 1 socket in select().
- */
- td->dummy_sock = socket(AF_INET, SOCK_DGRAM, 0);
- return TRUE;
-}
-
-
-/*
- * Curl_wait_for_resolv() waits for a resolve to finish. This function should
- * be avoided since using this risk getting the multi interface to "hang".
- *
- * If 'entry' is non-NULL, make it point to the resolved dns entry
- *
- * This is the version for resolves-in-a-thread.
- */
-CURLcode Curl_wait_for_resolv(struct connectdata *conn,
- struct Curl_dns_entry **entry)
-{
- struct thread_data *td = (struct thread_data*) conn->async.os_specific;
- struct SessionHandle *data = conn->data;
- long timeout;
- DWORD status;
- CURLcode rc;
-
- DEBUGASSERT(conn && td);
-
- /* now, see if there's a connect timeout or a regular timeout to
- use instead of the default one */
- timeout =
- conn->data->set.connecttimeout ? conn->data->set.connecttimeout :
- conn->data->set.timeout ? conn->data->set.timeout :
- CURL_TIMEOUT_RESOLVE * 1000; /* default name resolve timeout */
-
- /* wait for the thread to resolve the name */
- status = WaitForSingleObject(td->event_resolved, timeout);
-
- /* mark that we are now done waiting */
- ReleaseMutex(td->mutex_waiting);
-
- /* close our handle to the mutex, no point in hanging on to it */
- CloseHandle(td->mutex_waiting);
- td->mutex_waiting = NULL;
-
- /* close the event handle, it's useless now */
- CloseHandle(td->event_resolved);
- td->event_resolved = NULL;
-
- /* has the resolver thread succeeded in resolving our query ? */
- if(status == WAIT_OBJECT_0) {
- /* wait for the thread to exit, it's in the callback sequence */
- if(WaitForSingleObject(td->thread_hnd, 5000) == WAIT_TIMEOUT) {
- TerminateThread(td->thread_hnd, 0);
- conn->async.done = TRUE;
- td->thread_status = (DWORD)-1;
- }
- else {
- /* Thread finished before timeout; propagate Winsock error to this
- * thread. 'conn->async.done = TRUE' is set in
- * Curl_addrinfo4/6_callback().
- */
- SET_SOCKERRNO(conn->async.status);
- GetExitCodeThread(td->thread_hnd, &td->thread_status);
- }
- }
- else {
- conn->async.done = TRUE;
- td->thread_status = (DWORD)-1;
- }
-
- if(entry)
- *entry = conn->async.dns;
-
- rc = CURLE_OK;
-
- if(!conn->async.dns) {
- /* a name was not resolved */
- if(td->thread_status == CURLE_OUT_OF_MEMORY) {
- rc = CURLE_OUT_OF_MEMORY;
- failf(data, "Could not resolve host: %s", curl_easy_strerror(rc));
- }
- else if(conn->async.done) {
- if(conn->bits.httpproxy) {
- failf(data, "Could not resolve proxy: %s; %s",
- conn->proxy.dispname, Curl_strerror(conn, conn->async.status));
- rc = CURLE_COULDNT_RESOLVE_PROXY;
- }
- else {
- failf(data, "Could not resolve host: %s; %s",
- conn->host.name, Curl_strerror(conn, conn->async.status));
- rc = CURLE_COULDNT_RESOLVE_HOST;
- }
- }
- else if(td->thread_status == (DWORD)-1 || conn->async.status == NO_DATA) {
- failf(data, "Resolving host timed out: %s", conn->host.name);
- rc = CURLE_OPERATION_TIMEDOUT;
- }
- else
- rc = CURLE_OPERATION_TIMEDOUT;
- }
-
- Curl_destroy_thread_data(&conn->async);
-
- if(!conn->async.dns)
- conn->bits.close = TRUE;
-
- return (rc);
-}
-
-/*
- * Curl_is_resolved() is called repeatedly to check if a previous name resolve
- * request has completed. It should also make sure to time-out if the
- * operation seems to take too long.
- */
-CURLcode Curl_is_resolved(struct connectdata *conn,
- struct Curl_dns_entry **entry)
-{
- struct SessionHandle *data = conn->data;
-
- *entry = NULL;
-
- if(conn->async.done) {
- /* we're done */
- Curl_destroy_thread_data(&conn->async);
- if(!conn->async.dns) {
- failf(data, "Could not resolve host: %s; %s",
- conn->host.name, Curl_strerror(conn, conn->async.status));
- return CURLE_COULDNT_RESOLVE_HOST;
- }
- *entry = conn->async.dns;
- }
- return CURLE_OK;
-}
-
-int Curl_resolv_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- const struct thread_data *td =
- (const struct thread_data *) conn->async.os_specific;
-
- if(td && td->dummy_sock != CURL_SOCKET_BAD) {
- if(numsocks) {
- /* return one socket waiting for writable, even though this is just
- a dummy */
- socks[0] = td->dummy_sock;
- return GETSOCK_WRITESOCK(0);
- }
- }
- return 0;
-}
-
-#ifdef CURLRES_IPV4
-/*
- * Curl_getaddrinfo() - for Windows threading without ENABLE_IPV6.
- */
-Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
- const char *hostname,
- int port,
- int *waitp)
-{
- struct hostent *h = NULL;
- struct SessionHandle *data = conn->data;
- in_addr_t in;
-
- *waitp = 0; /* don't wait, we act synchronously */
-
- in = inet_addr(hostname);
- if(in != CURL_INADDR_NONE)
- /* This is a dotted IP address 123.123.123.123-style */
- return Curl_ip2addr(in, hostname, port);
-
- /* fire up a new resolver thread! */
- if(init_resolve_thread(conn, hostname, port, NULL)) {
- *waitp = TRUE; /* please wait for the response */
- return NULL;
- }
-
- /* fall-back to blocking version */
- infof(data, "init_resolve_thread() failed for %s; %s\n",
- hostname, Curl_strerror(conn, ERRNO));
-
- h = gethostbyname(hostname);
- if(!h) {
- infof(data, "gethostbyname(2) failed for %s:%d; %s\n",
- hostname, port, Curl_strerror(conn, SOCKERRNO));
- return NULL;
- }
- return Curl_he2ai(h, port);
-}
-#endif /* CURLRES_IPV4 */
-
-#ifdef CURLRES_IPV6
-/*
- * Curl_getaddrinfo() - for Windows threading IPv6 enabled
- */
-Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
- const char *hostname,
- int port,
- int *waitp)
-{
- struct addrinfo hints, *res;
- int error;
- char sbuf[NI_MAXSERV];
- int pf;
- struct SessionHandle *data = conn->data;
-
- *waitp = FALSE; /* default to synch response */
-
- /*
- * Check if a limited name resolve has been requested.
- */
- switch(data->set.ip_version) {
- case CURL_IPRESOLVE_V4:
- pf = PF_INET;
- break;
- case CURL_IPRESOLVE_V6:
- pf = PF_INET6;
- break;
- default:
- pf = PF_UNSPEC;
- break;
- }
-
- if (pf != PF_INET) {
- /* see if we have an IPv6 stack */
- curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0);
- if(s == CURL_SOCKET_BAD) {
- /* Some non-IPv6 stacks have been found to make very slow name resolves
- * when PF_UNSPEC is used, so thus we switch to a mere PF_INET lookup if
- * the stack seems to be a non-ipv6 one. */
-
- pf = PF_INET;
- }
- else {
- /* This seems to be an IPv6-capable stack, use PF_UNSPEC for the widest
- * possible checks. And close the socket again.
- */
- sclose(s);
- }
- }
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = pf;
- hints.ai_socktype = conn->socktype;
-#if 0 /* removed nov 8 2005 before 7.15.1 */
- hints.ai_flags = AI_CANONNAME;
-#endif
- itoa(port, sbuf, 10);
-
- /* fire up a new resolver thread! */
- if(init_resolve_thread(conn, hostname, port, &hints)) {
- *waitp = TRUE; /* please wait for the response */
- return NULL;
- }
-
- /* fall-back to blocking version */
- infof(data, "init_resolve_thread() failed for %s; %s\n",
- hostname, Curl_strerror(conn, ERRNO));
-
- error = getaddrinfo(hostname, sbuf, &hints, &res);
- if(error) {
- infof(data, "getaddrinfo() failed for %s:%d; %s\n",
- hostname, port, Curl_strerror(conn, SOCKERRNO));
- return NULL;
- }
- return res;
-}
-#endif /* CURLRES_IPV6 */
-#endif /* CURLRES_THREADED */
diff --git a/Utilities/cmcurl-7.19.0/lib/http.c b/Utilities/cmcurl-7.19.0/lib/http.c
deleted file mode 100644
index fde46dd..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http.c
+++ /dev/null
@@ -1,2900 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_HTTP
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#ifdef WIN32
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_TIME_H
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#endif
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "transfer.h"
-#include "sendf.h"
-#include "easyif.h" /* for Curl_convert_... prototypes */
-#include "formdata.h"
-#include "progress.h"
-#include "curl_base64.h"
-#include "cookie.h"
-#include "strequal.h"
-#include "sslgen.h"
-#include "http_digest.h"
-#include "http_ntlm.h"
-#include "http_negotiate.h"
-#include "url.h"
-#include "share.h"
-#include "hostip.h"
-#include "http.h"
-#include "memory.h"
-#include "select.h"
-#include "parsedate.h" /* for the week day and month names */
-#include "strtoofft.h"
-#include "multiif.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* Default proxy timeout in milliseconds */
-#define PROXY_TIMEOUT (3600*1000)
-
-/*
- * Forward declarations.
- */
-
-static int http_getsock_do(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-static CURLcode https_connecting(struct connectdata *conn, bool *done);
-#ifdef USE_SSL
-static int https_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-#endif
-
-/*
- * HTTP handler interface.
- */
-const struct Curl_handler Curl_handler_http = {
- "HTTP", /* scheme */
- ZERO_NULL, /* setup_connection */
- Curl_http, /* do_it */
- Curl_http_done, /* done */
- ZERO_NULL, /* do_more */
- Curl_http_connect, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- http_getsock_do, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_HTTP, /* defport */
- PROT_HTTP, /* protocol */
-};
-
-#ifdef USE_SSL
-/*
- * HTTPS handler interface.
- */
-const struct Curl_handler Curl_handler_https = {
- "HTTPS", /* scheme */
- ZERO_NULL, /* setup_connection */
- Curl_http, /* do_it */
- Curl_http_done, /* done */
- ZERO_NULL, /* do_more */
- Curl_http_connect, /* connect_it */
- https_connecting, /* connecting */
- ZERO_NULL, /* doing */
- https_getsock, /* proto_getsock */
- http_getsock_do, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_HTTPS, /* defport */
- PROT_HTTP | PROT_HTTPS | PROT_SSL /* protocol */
-};
-#endif
-
-
-/*
- * checkheaders() checks the linked list of custom HTTP headers for a
- * particular header (prefix).
- *
- * Returns a pointer to the first matching header or NULL if none matched.
- */
-static char *checkheaders(struct SessionHandle *data, const char *thisheader)
-{
- struct curl_slist *head;
- size_t thislen = strlen(thisheader);
-
- for(head = data->set.headers; head; head=head->next) {
- if(strnequal(head->data, thisheader, thislen))
- return head->data;
- }
- return NULL;
-}
-
-/*
- * Strip off leading and trailing whitespace from the value in the
- * given HTTP header line and return a strdupped copy. Returns NULL in
- * case of allocation failure. Returns an empty string if the header value
- * consists entirely of whitespace.
- */
-char *Curl_copy_header_value(const char *h)
-{
- const char *start;
- const char *end;
- char *value;
- size_t len;
-
- DEBUGASSERT(h);
-
- /* Find the end of the header name */
- while (*h && (*h != ':'))
- ++h;
-
- if (*h)
- /* Skip over colon */
- ++h;
-
- /* Find the first non-space letter */
- for(start=h;
- *start && ISSPACE(*start);
- start++)
- ; /* empty loop */
-
- /* data is in the host encoding so
- use '\r' and '\n' instead of 0x0d and 0x0a */
- end = strchr(start, '\r');
- if(!end)
- end = strchr(start, '\n');
- if(!end)
- end = strchr(start, '\0');
-
- /* skip all trailing space letters */
- for(; ISSPACE(*end) && (end > start); end--)
- ; /* empty loop */
-
- /* get length of the type */
- len = end-start+1;
-
- value = malloc(len + 1);
- if(!value)
- return NULL;
-
- memcpy(value, start, len);
- value[len] = 0; /* zero terminate */
-
- return value;
-}
-
-/*
- * http_output_basic() sets up an Authorization: header (or the proxy version)
- * for HTTP Basic authentication.
- *
- * Returns CURLcode.
- */
-static CURLcode http_output_basic(struct connectdata *conn, bool proxy)
-{
- char *authorization;
- struct SessionHandle *data=conn->data;
- char **userp;
- char *user;
- char *pwd;
-
- if(proxy) {
- userp = &conn->allocptr.proxyuserpwd;
- user = conn->proxyuser;
- pwd = conn->proxypasswd;
- }
- else {
- userp = &conn->allocptr.userpwd;
- user = conn->user;
- pwd = conn->passwd;
- }
-
- snprintf(data->state.buffer, sizeof(data->state.buffer), "%s:%s", user, pwd);
- if(Curl_base64_encode(data, data->state.buffer,
- strlen(data->state.buffer),
- &authorization) > 0) {
- if(*userp)
- free(*userp);
- *userp = aprintf( "%sAuthorization: Basic %s\r\n",
- proxy?"Proxy-":"",
- authorization);
- free(authorization);
- if(!*userp)
- return CURLE_OUT_OF_MEMORY;
- }
- else
- return CURLE_OUT_OF_MEMORY;
- return CURLE_OK;
-}
-
-/* pickoneauth() selects the most favourable authentication method from the
- * ones available and the ones we want.
- *
- * return TRUE if one was picked
- */
-static bool pickoneauth(struct auth *pick)
-{
- bool picked;
- /* only deal with authentication we want */
- long avail = pick->avail & pick->want;
- picked = TRUE;
-
- /* The order of these checks is highly relevant, as this will be the order
- of preference in case of the existance of multiple accepted types. */
- if(avail & CURLAUTH_GSSNEGOTIATE)
- pick->picked = CURLAUTH_GSSNEGOTIATE;
- else if(avail & CURLAUTH_DIGEST)
- pick->picked = CURLAUTH_DIGEST;
- else if(avail & CURLAUTH_NTLM)
- pick->picked = CURLAUTH_NTLM;
- else if(avail & CURLAUTH_BASIC)
- pick->picked = CURLAUTH_BASIC;
- else {
- pick->picked = CURLAUTH_PICKNONE; /* we select to use nothing */
- picked = FALSE;
- }
- pick->avail = CURLAUTH_NONE; /* clear it here */
-
- return picked;
-}
-
-/*
- * Curl_http_perhapsrewind()
- *
- * If we are doing POST or PUT {
- * If we have more data to send {
- * If we are doing NTLM {
- * Keep sending since we must not disconnect
- * }
- * else {
- * If there is more than just a little data left to send, close
- * the current connection by force.
- * }
- * }
- * If we have sent any data {
- * If we don't have track of all the data {
- * call app to tell it to rewind
- * }
- * else {
- * rewind internally so that the operation can restart fine
- * }
- * }
- * }
- */
-CURLcode Curl_http_perhapsrewind(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- struct HTTP *http = data->state.proto.http;
- curl_off_t bytessent;
- curl_off_t expectsend = -1; /* default is unknown */
-
- if(!http || !(conn->protocol & PROT_HTTP))
- /* If this is still NULL, we have not reach very far and we can
- safely skip this rewinding stuff, or this is attempted to get used
- when HTTP isn't activated */
- return CURLE_OK;
-
- switch(data->set.httpreq) {
- case HTTPREQ_GET:
- case HTTPREQ_HEAD:
- return CURLE_OK;
- default:
- break;
- }
-
- bytessent = http->writebytecount;
-
- if(conn->bits.authneg)
- /* This is a state where we are known to be negotiating and we don't send
- any data then. */
- expectsend = 0;
- else {
- /* figure out how much data we are expected to send */
- switch(data->set.httpreq) {
- case HTTPREQ_POST:
- if(data->set.postfieldsize != -1)
- expectsend = data->set.postfieldsize;
- break;
- case HTTPREQ_PUT:
- if(data->set.infilesize != -1)
- expectsend = data->set.infilesize;
- break;
- case HTTPREQ_POST_FORM:
- expectsend = http->postsize;
- break;
- default:
- break;
- }
- }
-
- conn->bits.rewindaftersend = FALSE; /* default */
-
- if((expectsend == -1) || (expectsend > bytessent)) {
- /* There is still data left to send */
- if((data->state.authproxy.picked == CURLAUTH_NTLM) ||
- (data->state.authhost.picked == CURLAUTH_NTLM)) {
- if(((expectsend - bytessent) < 2000) ||
- (conn->ntlm.state != NTLMSTATE_NONE)) {
- /* The NTLM-negotiation has started *OR* there is just a little (<2K)
- data left to send, keep on sending. */
-
- /* rewind data when completely done sending! */
- if(!conn->bits.authneg)
- conn->bits.rewindaftersend = TRUE;
-
- return CURLE_OK;
- }
- if(conn->bits.close)
- /* this is already marked to get closed */
- return CURLE_OK;
-
- infof(data, "NTLM send, close instead of sending %" FORMAT_OFF_T
- " bytes\n", (curl_off_t)(expectsend - bytessent));
- }
-
- /* This is not NTLM or NTLM with many bytes left to send: close
- */
- conn->bits.close = TRUE;
- data->req.size = 0; /* don't download any more than 0 bytes */
-
- /* There still is data left to send, but this connection is marked for
- closure so we can safely do the rewind right now */
- }
-
- if(bytessent)
- /* we rewind now at once since if we already sent something */
- return Curl_readrewind(conn);
-
- return CURLE_OK;
-}
-
-/*
- * Curl_http_auth_act() gets called when a all HTTP headers have been received
- * and it checks what authentication methods that are available and decides
- * which one (if any) to use. It will set 'newurl' if an auth metod was
- * picked.
- */
-
-CURLcode Curl_http_auth_act(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- bool pickhost = FALSE;
- bool pickproxy = FALSE;
- CURLcode code = CURLE_OK;
-
- if(100 <= data->req.httpcode && 199 >= data->req.httpcode)
- /* this is a transient response code, ignore */
- return CURLE_OK;
-
- if(data->state.authproblem)
- return data->set.http_fail_on_error?CURLE_HTTP_RETURNED_ERROR:CURLE_OK;
-
- if(conn->bits.user_passwd &&
- ((data->req.httpcode == 401) ||
- (conn->bits.authneg && data->req.httpcode < 300))) {
- pickhost = pickoneauth(&data->state.authhost);
- if(!pickhost)
- data->state.authproblem = TRUE;
- }
- if(conn->bits.proxy_user_passwd &&
- ((data->req.httpcode == 407) ||
- (conn->bits.authneg && data->req.httpcode < 300))) {
- pickproxy = pickoneauth(&data->state.authproxy);
- if(!pickproxy)
- data->state.authproblem = TRUE;
- }
-
- if(pickhost || pickproxy) {
- data->req.newurl = strdup(data->change.url); /* clone URL */
- if(!data->req.newurl)
- return CURLE_OUT_OF_MEMORY;
-
- if((data->set.httpreq != HTTPREQ_GET) &&
- (data->set.httpreq != HTTPREQ_HEAD) &&
- !conn->bits.rewindaftersend) {
- code = Curl_http_perhapsrewind(conn);
- if(code)
- return code;
- }
- }
-
- else if((data->req.httpcode < 300) &&
- (!data->state.authhost.done) &&
- conn->bits.authneg) {
- /* no (known) authentication available,
- authentication is not "done" yet and
- no authentication seems to be required and
- we didn't try HEAD or GET */
- if((data->set.httpreq != HTTPREQ_GET) &&
- (data->set.httpreq != HTTPREQ_HEAD)) {
- data->req.newurl = strdup(data->change.url); /* clone URL */
- if(!data->req.newurl)
- return CURLE_OUT_OF_MEMORY;
- data->state.authhost.done = TRUE;
- }
- }
- if(Curl_http_should_fail(conn)) {
- failf (data, "The requested URL returned error: %d",
- data->req.httpcode);
- code = CURLE_HTTP_RETURNED_ERROR;
- }
-
- return code;
-}
-
-/**
- * Curl_http_output_auth() setups the authentication headers for the
- * host/proxy and the correct authentication
- * method. conn->data->state.authdone is set to TRUE when authentication is
- * done.
- *
- * @param conn all information about the current connection
- * @param request pointer to the request keyword
- * @param path pointer to the requested path
- * @param proxytunnel boolean if this is the request setting up a "proxy
- * tunnel"
- *
- * @returns CURLcode
- */
-static CURLcode
-http_output_auth(struct connectdata *conn,
- const char *request,
- const char *path,
- bool proxytunnel) /* TRUE if this is the request setting
- up the proxy tunnel */
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- const char *auth=NULL;
- struct auth *authhost;
- struct auth *authproxy;
-
- DEBUGASSERT(data);
-
- authhost = &data->state.authhost;
- authproxy = &data->state.authproxy;
-
- if((conn->bits.httpproxy && conn->bits.proxy_user_passwd) ||
- conn->bits.user_passwd)
- /* continue please */ ;
- else {
- authhost->done = TRUE;
- authproxy->done = TRUE;
- return CURLE_OK; /* no authentication with no user or password */
- }
-
- if(authhost->want && !authhost->picked)
- /* The app has selected one or more methods, but none has been picked
- so far by a server round-trip. Then we set the picked one to the
- want one, and if this is one single bit it'll be used instantly. */
- authhost->picked = authhost->want;
-
- if(authproxy->want && !authproxy->picked)
- /* The app has selected one or more methods, but none has been picked so
- far by a proxy round-trip. Then we set the picked one to the want one,
- and if this is one single bit it'll be used instantly. */
- authproxy->picked = authproxy->want;
-
- /* Send proxy authentication header if needed */
- if(conn->bits.httpproxy &&
- (conn->bits.tunnel_proxy == proxytunnel)) {
-#ifdef HAVE_GSSAPI
- if((authproxy->picked == CURLAUTH_GSSNEGOTIATE) &&
- data->state.negotiate.context &&
- !GSS_ERROR(data->state.negotiate.status)) {
- auth="GSS-Negotiate";
- result = Curl_output_negotiate(conn, TRUE);
- if(result)
- return result;
- authproxy->done = TRUE;
- }
- else
-#endif
-#ifdef USE_NTLM
- if(authproxy->picked == CURLAUTH_NTLM) {
- auth="NTLM";
- result = Curl_output_ntlm(conn, TRUE);
- if(result)
- return result;
- }
- else
-#endif
- if(authproxy->picked == CURLAUTH_BASIC) {
- /* Basic */
- if(conn->bits.proxy_user_passwd &&
- !checkheaders(data, "Proxy-authorization:")) {
- auth="Basic";
- result = http_output_basic(conn, TRUE);
- if(result)
- return result;
- }
- /* NOTE: http_output_basic() should set 'done' TRUE, as the other auth
- functions work that way */
- authproxy->done = TRUE;
- }
-#ifndef CURL_DISABLE_CRYPTO_AUTH
- else if(authproxy->picked == CURLAUTH_DIGEST) {
- auth="Digest";
- result = Curl_output_digest(conn,
- TRUE, /* proxy */
- (const unsigned char *)request,
- (const unsigned char *)path);
- if(result)
- return result;
- }
-#endif
- if(auth) {
- infof(data, "Proxy auth using %s with user '%s'\n",
- auth, conn->proxyuser?conn->proxyuser:"");
- authproxy->multi = (bool)(!authproxy->done);
- }
- else
- authproxy->multi = FALSE;
- }
- else
- /* we have no proxy so let's pretend we're done authenticating
- with it */
- authproxy->done = TRUE;
-
- /* To prevent the user+password to get sent to other than the original
- host due to a location-follow, we do some weirdo checks here */
- if(!data->state.this_is_a_follow ||
- conn->bits.netrc ||
- !data->state.first_host ||
- curl_strequal(data->state.first_host, conn->host.name) ||
- data->set.http_disable_hostname_check_before_authentication) {
-
- /* Send web authentication header if needed */
- {
- auth = NULL;
-#ifdef HAVE_GSSAPI
- if((authhost->picked == CURLAUTH_GSSNEGOTIATE) &&
- data->state.negotiate.context &&
- !GSS_ERROR(data->state.negotiate.status)) {
- auth="GSS-Negotiate";
- result = Curl_output_negotiate(conn, FALSE);
- if(result)
- return result;
- authhost->done = TRUE;
- }
- else
-#endif
-#ifdef USE_NTLM
- if(authhost->picked == CURLAUTH_NTLM) {
- auth="NTLM";
- result = Curl_output_ntlm(conn, FALSE);
- if(result)
- return result;
- }
- else
-#endif
- {
-#ifndef CURL_DISABLE_CRYPTO_AUTH
- if(authhost->picked == CURLAUTH_DIGEST) {
- auth="Digest";
- result = Curl_output_digest(conn,
- FALSE, /* not a proxy */
- (const unsigned char *)request,
- (const unsigned char *)path);
- if(result)
- return result;
- } else
-#endif
- if(authhost->picked == CURLAUTH_BASIC) {
- if(conn->bits.user_passwd &&
- !checkheaders(data, "Authorization:")) {
- auth="Basic";
- result = http_output_basic(conn, FALSE);
- if(result)
- return result;
- }
- /* basic is always ready */
- authhost->done = TRUE;
- }
- }
- if(auth) {
- infof(data, "Server auth using %s with user '%s'\n",
- auth, conn->user);
-
- authhost->multi = (bool)(!authhost->done);
- }
- else
- authhost->multi = FALSE;
- }
- }
- else
- authhost->done = TRUE;
-
- return result;
-}
-
-
-/*
- * Curl_http_input_auth() deals with Proxy-Authenticate: and WWW-Authenticate:
- * headers. They are dealt with both in the transfer.c main loop and in the
- * proxy CONNECT loop.
- */
-
-CURLcode Curl_http_input_auth(struct connectdata *conn,
- int httpcode,
- const char *header) /* the first non-space */
-{
- /*
- * This resource requires authentication
- */
- struct SessionHandle *data = conn->data;
-
- long *availp;
- const char *start;
- struct auth *authp;
-
- if(httpcode == 407) {
- start = header+strlen("Proxy-authenticate:");
- availp = &data->info.proxyauthavail;
- authp = &data->state.authproxy;
- }
- else {
- start = header+strlen("WWW-Authenticate:");
- availp = &data->info.httpauthavail;
- authp = &data->state.authhost;
- }
-
- /* pass all white spaces */
- while(*start && ISSPACE(*start))
- start++;
-
- /*
- * Here we check if we want the specific single authentication (using ==) and
- * if we do, we initiate usage of it.
- *
- * If the provided authentication is wanted as one out of several accepted
- * types (using &), we OR this authentication type to the authavail
- * variable.
- */
-
-#ifdef HAVE_GSSAPI
- if(checkprefix("GSS-Negotiate", start) ||
- checkprefix("Negotiate", start)) {
- *availp |= CURLAUTH_GSSNEGOTIATE;
- authp->avail |= CURLAUTH_GSSNEGOTIATE;
- if(authp->picked == CURLAUTH_GSSNEGOTIATE) {
- /* if exactly this is wanted, go */
- int neg = Curl_input_negotiate(conn, (bool)(httpcode == 407), start);
- if(neg == 0) {
- DEBUGASSERT(!data->req.newurl);
- data->req.newurl = strdup(data->change.url);
- data->state.authproblem = (data->req.newurl == NULL);
- }
- else {
- infof(data, "Authentication problem. Ignoring this.\n");
- data->state.authproblem = TRUE;
- }
- }
- }
- else
-#endif
-#ifdef USE_NTLM
- /* NTLM support requires the SSL crypto libs */
- if(checkprefix("NTLM", start)) {
- *availp |= CURLAUTH_NTLM;
- authp->avail |= CURLAUTH_NTLM;
- if(authp->picked == CURLAUTH_NTLM) {
- /* NTLM authentication is picked and activated */
- CURLntlm ntlm =
- Curl_input_ntlm(conn, (bool)(httpcode == 407), start);
-
- if(CURLNTLM_BAD != ntlm)
- data->state.authproblem = FALSE;
- else {
- infof(data, "Authentication problem. Ignoring this.\n");
- data->state.authproblem = TRUE;
- }
- }
- }
- else
-#endif
-#ifndef CURL_DISABLE_CRYPTO_AUTH
- if(checkprefix("Digest", start)) {
- if((authp->avail & CURLAUTH_DIGEST) != 0) {
- infof(data, "Ignoring duplicate digest auth header.\n");
- }
- else {
- CURLdigest dig;
- *availp |= CURLAUTH_DIGEST;
- authp->avail |= CURLAUTH_DIGEST;
-
- /* We call this function on input Digest headers even if Digest
- * authentication isn't activated yet, as we need to store the
- * incoming data from this header in case we are gonna use Digest. */
- dig = Curl_input_digest(conn, (bool)(httpcode == 407), start);
-
- if(CURLDIGEST_FINE != dig) {
- infof(data, "Authentication problem. Ignoring this.\n");
- data->state.authproblem = TRUE;
- }
- }
- }
- else
-#endif
- if(checkprefix("Basic", start)) {
- *availp |= CURLAUTH_BASIC;
- authp->avail |= CURLAUTH_BASIC;
- if(authp->picked == CURLAUTH_BASIC) {
- /* We asked for Basic authentication but got a 40X back
- anyway, which basicly means our name+password isn't
- valid. */
- authp->avail = CURLAUTH_NONE;
- infof(data, "Authentication problem. Ignoring this.\n");
- data->state.authproblem = TRUE;
- }
- }
-
- return CURLE_OK;
-}
-
-/**
- * Curl_http_should_fail() determines whether an HTTP response has gotten us
- * into an error state or not.
- *
- * @param conn all information about the current connection
- *
- * @retval 0 communications should continue
- *
- * @retval 1 communications should not continue
- */
-int Curl_http_should_fail(struct connectdata *conn)
-{
- struct SessionHandle *data;
- int httpcode;
-
- DEBUGASSERT(conn);
- data = conn->data;
- DEBUGASSERT(data);
-
- httpcode = data->req.httpcode;
-
- /*
- ** If we haven't been asked to fail on error,
- ** don't fail.
- */
- if(!data->set.http_fail_on_error)
- return 0;
-
- /*
- ** Any code < 400 is never terminal.
- */
- if(httpcode < 400)
- return 0;
-
- if(data->state.resume_from &&
- (data->set.httpreq==HTTPREQ_GET) &&
- (httpcode == 416)) {
- /* "Requested Range Not Satisfiable", just proceed and
- pretend this is no error */
- return 0;
- }
-
- /*
- ** Any code >= 400 that's not 401 or 407 is always
- ** a terminal error
- */
- if((httpcode != 401) &&
- (httpcode != 407))
- return 1;
-
- /*
- ** All we have left to deal with is 401 and 407
- */
- DEBUGASSERT((httpcode == 401) || (httpcode == 407));
-
- /*
- ** Examine the current authentication state to see if this
- ** is an error. The idea is for this function to get
- ** called after processing all the headers in a response
- ** message. So, if we've been to asked to authenticate a
- ** particular stage, and we've done it, we're OK. But, if
- ** we're already completely authenticated, it's not OK to
- ** get another 401 or 407.
- **
- ** It is possible for authentication to go stale such that
- ** the client needs to reauthenticate. Once that info is
- ** available, use it here.
- */
-#if 0 /* set to 1 when debugging this functionality */
- infof(data,"%s: authstage = %d\n",__FUNCTION__,data->state.authstage);
- infof(data,"%s: authwant = 0x%08x\n",__FUNCTION__,data->state.authwant);
- infof(data,"%s: authavail = 0x%08x\n",__FUNCTION__,data->state.authavail);
- infof(data,"%s: httpcode = %d\n",__FUNCTION__,k->httpcode);
- infof(data,"%s: authdone = %d\n",__FUNCTION__,data->state.authdone);
- infof(data,"%s: newurl = %s\n",__FUNCTION__,data->req.newurl ?
- data->req.newurl : "(null)");
- infof(data,"%s: authproblem = %d\n",__FUNCTION__,data->state.authproblem);
-#endif
-
- /*
- ** Either we're not authenticating, or we're supposed to
- ** be authenticating something else. This is an error.
- */
- if((httpcode == 401) && !conn->bits.user_passwd)
- return TRUE;
- if((httpcode == 407) && !conn->bits.proxy_user_passwd)
- return TRUE;
-
- return data->state.authproblem;
-}
-
-/*
- * readmoredata() is a "fread() emulation" to provide POST and/or request
- * data. It is used when a huge POST is to be made and the entire chunk wasn't
- * sent in the first send(). This function will then be called from the
- * transfer.c loop when more data is to be sent to the peer.
- *
- * Returns the amount of bytes it filled the buffer with.
- */
-static size_t readmoredata(char *buffer,
- size_t size,
- size_t nitems,
- void *userp)
-{
- struct connectdata *conn = (struct connectdata *)userp;
- struct HTTP *http = conn->data->state.proto.http;
- size_t fullsize = size * nitems;
-
- if(0 == http->postsize)
- /* nothing to return */
- return 0;
-
- /* make sure that a HTTP request is never sent away chunked! */
- conn->data->req.forbidchunk = (bool)(http->sending == HTTPSEND_REQUEST);
-
- if(http->postsize <= (curl_off_t)fullsize) {
- memcpy(buffer, http->postdata, (size_t)http->postsize);
- fullsize = (size_t)http->postsize;
-
- if(http->backup.postsize) {
- /* move backup data into focus and continue on that */
- http->postdata = http->backup.postdata;
- http->postsize = http->backup.postsize;
- conn->fread_func = http->backup.fread_func;
- conn->fread_in = http->backup.fread_in;
-
- http->sending++; /* move one step up */
-
- http->backup.postsize=0;
- }
- else
- http->postsize = 0;
-
- return fullsize;
- }
-
- memcpy(buffer, http->postdata, fullsize);
- http->postdata += fullsize;
- http->postsize -= fullsize;
-
- return fullsize;
-}
-
-/* ------------------------------------------------------------------------- */
-/*
- * The add_buffer series of functions are used to build one large memory chunk
- * from repeated function invokes. Used so that the entire HTTP request can
- * be sent in one go.
- */
-
-struct send_buffer {
- char *buffer;
- size_t size_max;
- size_t size_used;
-};
-typedef struct send_buffer send_buffer;
-
-static CURLcode add_custom_headers(struct connectdata *conn,
- send_buffer *req_buffer);
-static CURLcode
- add_buffer(send_buffer *in, const void *inptr, size_t size);
-
-/*
- * add_buffer_init() sets up and returns a fine buffer struct
- */
-static
-send_buffer *add_buffer_init(void)
-{
- send_buffer *blonk;
- blonk=(send_buffer *)malloc(sizeof(send_buffer));
- if(blonk) {
- memset(blonk, 0, sizeof(send_buffer));
- return blonk;
- }
- return NULL; /* failed, go home */
-}
-
-/*
- * add_buffer_send() sends a header buffer and frees all associated memory.
- * Body data may be appended to the header data if desired.
- *
- * Returns CURLcode
- */
-static
-CURLcode add_buffer_send(send_buffer *in,
- struct connectdata *conn,
- long *bytes_written, /* add the number of sent bytes
- to this counter */
- size_t included_body_bytes, /* how much of the buffer
- contains body data */
- int socketindex)
-
-{
- ssize_t amount;
- CURLcode res;
- char *ptr;
- size_t size;
- struct HTTP *http = conn->data->state.proto.http;
- size_t sendsize;
- curl_socket_t sockfd;
- size_t headersize;
-
- DEBUGASSERT(socketindex <= SECONDARYSOCKET);
-
- sockfd = conn->sock[socketindex];
-
- /* The looping below is required since we use non-blocking sockets, but due
- to the circumstances we will just loop and try again and again etc */
-
- ptr = in->buffer;
- size = in->size_used;
-
- headersize = size - included_body_bytes; /* the initial part that isn't body
- is header */
-
- DEBUGASSERT(size > included_body_bytes);
-
-#ifdef CURL_DOES_CONVERSIONS
- res = Curl_convert_to_network(conn->data, ptr, headersize);
- /* Curl_convert_to_network calls failf if unsuccessful */
- if(res != CURLE_OK) {
- /* conversion failed, free memory and return to the caller */
- if(in->buffer)
- free(in->buffer);
- free(in);
- return res;
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- if(conn->protocol & PROT_HTTPS) {
- /* We never send more than CURL_MAX_WRITE_SIZE bytes in one single chunk
- when we speak HTTPS, as if only a fraction of it is sent now, this data
- needs to fit into the normal read-callback buffer later on and that
- buffer is using this size.
- */
-
- sendsize= (size > CURL_MAX_WRITE_SIZE)?CURL_MAX_WRITE_SIZE:size;
-
- /* OpenSSL is very picky and we must send the SAME buffer pointer to the
- library when we attempt to re-send this buffer. Sending the same data
- is not enough, we must use the exact same address. For this reason, we
- must copy the data to the uploadbuffer first, since that is the buffer
- we will be using if this send is retried later.
- */
- memcpy(conn->data->state.uploadbuffer, ptr, sendsize);
- ptr = conn->data->state.uploadbuffer;
- }
- else
- sendsize = size;
-
- res = Curl_write(conn, sockfd, ptr, sendsize, &amount);
-
- if(CURLE_OK == res) {
- /*
- * Note that we may not send the entire chunk at once, and we have a set
- * number of data bytes at the end of the big buffer (out of which we may
- * only send away a part).
- */
- /* how much of the header that was sent */
- size_t headlen = (size_t)amount>headersize?headersize:(size_t)amount;
- size_t bodylen = amount - headlen;
-
- if(conn->data->set.verbose) {
- /* this data _may_ contain binary stuff */
- Curl_debug(conn->data, CURLINFO_HEADER_OUT, ptr, headlen, conn);
- if((size_t)amount > headlen) {
- /* there was body data sent beyond the initial header part, pass that
- on to the debug callback too */
- Curl_debug(conn->data, CURLINFO_DATA_OUT,
- ptr+headlen, bodylen, conn);
- }
- }
- if(bodylen)
- /* since we sent a piece of the body here, up the byte counter for it
- accordingly */
- http->writebytecount += bodylen;
-
- *bytes_written += amount;
-
- if(http) {
- if((size_t)amount != size) {
- /* The whole request could not be sent in one system call. We must
- queue it up and send it later when we get the chance. We must not
- loop here and wait until it might work again. */
-
- size -= amount;
-
- ptr = in->buffer + amount;
-
- /* backup the currently set pointers */
- http->backup.fread_func = conn->fread_func;
- http->backup.fread_in = conn->fread_in;
- http->backup.postdata = http->postdata;
- http->backup.postsize = http->postsize;
-
- /* set the new pointers for the request-sending */
- conn->fread_func = (curl_read_callback)readmoredata;
- conn->fread_in = (void *)conn;
- http->postdata = ptr;
- http->postsize = (curl_off_t)size;
-
- http->send_buffer = in;
- http->sending = HTTPSEND_REQUEST;
-
- return CURLE_OK;
- }
- http->sending = HTTPSEND_BODY;
- /* the full buffer was sent, clean up and return */
- }
- else {
- if((size_t)amount != size)
- /* We have no continue-send mechanism now, fail. This can only happen
- when this function is used from the CONNECT sending function. We
- currently (stupidly) assume that the whole request is always sent
- away in the first single chunk.
-
- This needs FIXing.
- */
- return CURLE_SEND_ERROR;
- else
- conn->writechannel_inuse = FALSE;
- }
- }
- if(in->buffer)
- free(in->buffer);
- free(in);
-
- return res;
-}
-
-
-/*
- * add_bufferf() add the formatted input to the buffer.
- */
-static
-CURLcode add_bufferf(send_buffer *in, const char *fmt, ...)
-{
- char *s;
- va_list ap;
- va_start(ap, fmt);
- s = vaprintf(fmt, ap); /* this allocs a new string to append */
- va_end(ap);
-
- if(s) {
- CURLcode result = add_buffer(in, s, strlen(s));
- free(s);
- return result;
- }
- /* If we failed, we cleanup the whole buffer and return error */
- if(in->buffer)
- free(in->buffer);
- free(in);
- return CURLE_OUT_OF_MEMORY;
-}
-
-/*
- * add_buffer() appends a memory chunk to the existing buffer
- */
-static
-CURLcode add_buffer(send_buffer *in, const void *inptr, size_t size)
-{
- char *new_rb;
- size_t new_size;
-
- if(~size < in->size_used) {
- /* If resulting used size of send buffer would wrap size_t, cleanup
- the whole buffer and return error. Otherwise the required buffer
- size will fit into a single allocatable memory chunk */
- Curl_safefree(in->buffer);
- free(in);
- return CURLE_OUT_OF_MEMORY;
- }
-
- if(!in->buffer ||
- ((in->size_used + size) > (in->size_max - 1))) {
-
- /* If current buffer size isn't enough to hold the result, use a
- buffer size that doubles the required size. If this new size
- would wrap size_t, then just use the largest possible one */
-
- if((size > (size_t)-1/2) || (in->size_used > (size_t)-1/2) ||
- (~(size*2) < (in->size_used*2)))
- new_size = (size_t)-1;
- else
- new_size = (in->size_used+size)*2;
-
- if(in->buffer)
- /* we have a buffer, enlarge the existing one */
- new_rb = (char *)realloc(in->buffer, new_size);
- else
- /* create a new buffer */
- new_rb = (char *)malloc(new_size);
-
- if(!new_rb) {
- /* If we failed, we cleanup the whole buffer and return error */
- Curl_safefree(in->buffer);
- free(in);
- return CURLE_OUT_OF_MEMORY;
- }
-
- in->buffer = new_rb;
- in->size_max = new_size;
- }
- memcpy(&in->buffer[in->size_used], inptr, size);
-
- in->size_used += size;
-
- return CURLE_OK;
-}
-
-/* end of the add_buffer functions */
-/* ------------------------------------------------------------------------- */
-
-/*
- * Curl_compareheader()
- *
- * Returns TRUE if 'headerline' contains the 'header' with given 'content'.
- * Pass headers WITH the colon.
- */
-bool
-Curl_compareheader(const char *headerline, /* line to check */
- const char *header, /* header keyword _with_ colon */
- const char *content) /* content string to find */
-{
- /* RFC2616, section 4.2 says: "Each header field consists of a name followed
- * by a colon (":") and the field value. Field names are case-insensitive.
- * The field value MAY be preceded by any amount of LWS, though a single SP
- * is preferred." */
-
- size_t hlen = strlen(header);
- size_t clen;
- size_t len;
- const char *start;
- const char *end;
-
- if(!strnequal(headerline, header, hlen))
- return FALSE; /* doesn't start with header */
-
- /* pass the header */
- start = &headerline[hlen];
-
- /* pass all white spaces */
- while(*start && ISSPACE(*start))
- start++;
-
- /* find the end of the header line */
- end = strchr(start, '\r'); /* lines end with CRLF */
- if(!end) {
- /* in case there's a non-standard compliant line here */
- end = strchr(start, '\n');
-
- if(!end)
- /* hm, there's no line ending here, use the zero byte! */
- end = strchr(start, '\0');
- }
-
- len = end-start; /* length of the content part of the input line */
- clen = strlen(content); /* length of the word to find */
-
- /* find the content string in the rest of the line */
- for(;len>=clen;len--, start++) {
- if(strnequal(start, content, clen))
- return TRUE; /* match! */
- }
-
- return FALSE; /* no match */
-}
-
-/*
- * Curl_proxyCONNECT() requires that we're connected to a HTTP proxy. This
- * function will issue the necessary commands to get a seamless tunnel through
- * this proxy. After that, the socket can be used just as a normal socket.
- *
- * This badly needs to be rewritten. CONNECT should be sent and dealt with
- * like any ordinary HTTP request, and not specially crafted like this. This
- * function only remains here like this for now since the rewrite is a bit too
- * much work to do at the moment.
- *
- * This function is BLOCKING which is nasty for all multi interface using apps.
- */
-
-CURLcode Curl_proxyCONNECT(struct connectdata *conn,
- int sockindex,
- const char *hostname,
- unsigned short remote_port)
-{
- int subversion=0;
- struct SessionHandle *data=conn->data;
- struct SingleRequest *k = &data->req;
- CURLcode result;
- int res;
- long timeout =
- data->set.timeout?data->set.timeout:PROXY_TIMEOUT; /* in milliseconds */
- curl_socket_t tunnelsocket = conn->sock[sockindex];
- curl_off_t cl=0;
- bool closeConnection = FALSE;
- bool chunked_encoding = FALSE;
- long check;
-
-#define SELECT_OK 0
-#define SELECT_ERROR 1
-#define SELECT_TIMEOUT 2
- int error = SELECT_OK;
-
- conn->bits.proxy_connect_closed = FALSE;
-
- do {
- if(!conn->bits.tunnel_connecting) { /* BEGIN CONNECT PHASE */
- char *host_port;
- send_buffer *req_buffer;
-
- infof(data, "Establish HTTP proxy tunnel to %s:%d\n",
- hostname, remote_port);
-
- if(data->req.newurl) {
- /* This only happens if we've looped here due to authentication
- reasons, and we don't really use the newly cloned URL here
- then. Just free() it. */
- free(data->req.newurl);
- data->req.newurl = NULL;
- }
-
- /* initialize a dynamic send-buffer */
- req_buffer = add_buffer_init();
-
- if(!req_buffer)
- return CURLE_OUT_OF_MEMORY;
-
- host_port = aprintf("%s:%d", hostname, remote_port);
- if(!host_port) {
- free(req_buffer);
- return CURLE_OUT_OF_MEMORY;
- }
-
- /* Setup the proxy-authorization header, if any */
- result = http_output_auth(conn, (char *)"CONNECT", host_port, TRUE);
-
- if(CURLE_OK == result) {
- char *host=(char *)"";
- const char *proxyconn="";
- const char *useragent="";
-
- if(!checkheaders(data, "Host:")) {
- host = aprintf("Host: %s\r\n", host_port);
- if(!host) {
- free(req_buffer);
- free(host_port);
- return CURLE_OUT_OF_MEMORY;
- }
- }
- if(!checkheaders(data, "Proxy-Connection:"))
- proxyconn = "Proxy-Connection: Keep-Alive\r\n";
-
- if(!checkheaders(data, "User-Agent:") &&
- data->set.str[STRING_USERAGENT])
- useragent = conn->allocptr.uagent;
-
- /* Send the connect request to the proxy */
- /* BLOCKING */
- result =
- add_bufferf(req_buffer,
- "CONNECT %s:%d HTTP/1.0\r\n"
- "%s" /* Host: */
- "%s" /* Proxy-Authorization */
- "%s" /* User-Agent */
- "%s", /* Proxy-Connection */
- hostname, remote_port,
- host,
- conn->allocptr.proxyuserpwd?
- conn->allocptr.proxyuserpwd:"",
- useragent,
- proxyconn);
-
- if(host && *host)
- free(host);
-
- if(CURLE_OK == result)
- result = add_custom_headers(conn, req_buffer);
-
- if(CURLE_OK == result)
- /* CRLF terminate the request */
- result = add_bufferf(req_buffer, "\r\n");
-
- if(CURLE_OK == result) {
- /* Now send off the request */
- result = add_buffer_send(req_buffer, conn,
- &data->info.request_size, 0, sockindex);
- }
- req_buffer = NULL;
- if(result)
- failf(data, "Failed sending CONNECT to proxy");
- }
- free(host_port);
- Curl_safefree(req_buffer);
- if(result)
- return result;
-
- conn->bits.tunnel_connecting = TRUE;
- } /* END CONNECT PHASE */
-
- /* now we've issued the CONNECT and we're waiting to hear back -
- we try not to block here in multi-mode because that might be a LONG
- wait if the proxy cannot connect-through to the remote host. */
-
- /* if timeout is requested, find out how much remaining time we have */
- check = timeout - /* timeout time */
- Curl_tvdiff(Curl_tvnow(), conn->now); /* spent time */
- if(check <=0 ) {
- failf(data, "Proxy CONNECT aborted due to timeout");
- error = SELECT_TIMEOUT; /* already too little time */
- break;
- }
-
- /* if we're in multi-mode and we would block, return instead for a retry */
- if(Curl_if_multi == data->state.used_interface) {
- if(0 == Curl_socket_ready(tunnelsocket, CURL_SOCKET_BAD, 0))
- /* return so we'll be called again polling-style */
- return CURLE_OK;
- else {
- DEBUGF(infof(data,
- "Multi mode finished polling for response from "
- "proxy CONNECT."));
- }
- }
- else {
- DEBUGF(infof(data, "Easy mode waiting for response from proxy CONNECT."));
- }
-
- /* at this point, either:
- 1) we're in easy-mode and so it's okay to block waiting for a CONNECT
- response
- 2) we're in multi-mode and we didn't block - it's either an error or we
- now have some data waiting.
- In any case, the tunnel_connecting phase is over. */
- conn->bits.tunnel_connecting = FALSE;
-
- { /* BEGIN NEGOTIATION PHASE */
- size_t nread; /* total size read */
- int perline; /* count bytes per line */
- int keepon=TRUE;
- ssize_t gotbytes;
- char *ptr;
- char *line_start;
-
- ptr=data->state.buffer;
- line_start = ptr;
-
- nread=0;
- perline=0;
- keepon=TRUE;
-
- while((nread<BUFSIZE) && (keepon && !error)) {
-
- /* if timeout is requested, find out how much remaining time we have */
- check = timeout - /* timeout time */
- Curl_tvdiff(Curl_tvnow(), conn->now); /* spent time */
- if(check <= 0) {
- failf(data, "Proxy CONNECT aborted due to timeout");
- error = SELECT_TIMEOUT; /* already too little time */
- break;
- }
-
- /* loop every second at least, less if the timeout is near */
- switch (Curl_socket_ready(tunnelsocket, CURL_SOCKET_BAD,
- check<1000L?(int)check:1000)) {
- case -1: /* select() error, stop reading */
- error = SELECT_ERROR;
- failf(data, "Proxy CONNECT aborted due to select/poll error");
- break;
- case 0: /* timeout */
- break;
- default:
- DEBUGASSERT(ptr+BUFSIZE-nread <= data->state.buffer+BUFSIZE+1);
- res = Curl_read(conn, tunnelsocket, ptr, BUFSIZE-nread, &gotbytes);
- if(res< 0)
- /* EWOULDBLOCK */
- continue; /* go loop yourself */
- else if(res)
- keepon = FALSE;
- else if(gotbytes <= 0) {
- keepon = FALSE;
- if(data->set.proxyauth && data->state.authproxy.avail) {
- /* proxy auth was requested and there was proxy auth available,
- then deem this as "mere" proxy disconnect */
- conn->bits.proxy_connect_closed = TRUE;
- }
- else {
- error = SELECT_ERROR;
- failf(data, "Proxy CONNECT aborted");
- }
- }
- else {
- /*
- * We got a whole chunk of data, which can be anything from one
- * byte to a set of lines and possibly just a piece of the last
- * line.
- */
- int i;
-
- nread += gotbytes;
-
- if(keepon > TRUE) {
- /* This means we are currently ignoring a response-body */
-
- nread = 0; /* make next read start over in the read buffer */
- ptr=data->state.buffer;
- if(cl) {
- /* A Content-Length based body: simply count down the counter
- and make sure to break out of the loop when we're done! */
- cl -= gotbytes;
- if(cl<=0) {
- keepon = FALSE;
- break;
- }
- }
- else {
- /* chunked-encoded body, so we need to do the chunked dance
- properly to know when the end of the body is reached */
- CHUNKcode r;
- ssize_t tookcareof=0;
-
- /* now parse the chunked piece of data so that we can
- properly tell when the stream ends */
- r = Curl_httpchunk_read(conn, ptr, gotbytes, &tookcareof);
- if(r == CHUNKE_STOP) {
- /* we're done reading chunks! */
- infof(data, "chunk reading DONE\n");
- keepon = FALSE;
- }
- else
- infof(data, "Read %d bytes of chunk, continue\n",
- tookcareof);
- }
- }
- else
- for(i = 0; i < gotbytes; ptr++, i++) {
- perline++; /* amount of bytes in this line so far */
- if(*ptr=='\n') {
- char letter;
- int writetype;
-
- /* output debug if that is requested */
- if(data->set.verbose)
- Curl_debug(data, CURLINFO_HEADER_IN,
- line_start, (size_t)perline, conn);
-
- /* send the header to the callback */
- writetype = CLIENTWRITE_HEADER;
- if(data->set.include_header)
- writetype |= CLIENTWRITE_BODY;
-
- result = Curl_client_write(conn, writetype, line_start,
- perline);
- if(result)
- return result;
-
- /* Newlines are CRLF, so the CR is ignored as the line isn't
- really terminated until the LF comes. Treat a following CR
- as end-of-headers as well.*/
-
- if(('\r' == line_start[0]) ||
- ('\n' == line_start[0])) {
- /* end of response-headers from the proxy */
- nread = 0; /* make next read start over in the read
- buffer */
- ptr=data->state.buffer;
- if((407 == k->httpcode) && !data->state.authproblem) {
- /* If we get a 407 response code with content length
- when we have no auth problem, we must ignore the
- whole response-body */
- keepon = 2;
-
- if(cl) {
-
- infof(data, "Ignore %" FORMAT_OFF_T
- " bytes of response-body\n", cl);
- /* remove the remaining chunk of what we already
- read */
- cl -= (gotbytes - i);
-
- if(cl<=0)
- /* if the whole thing was already read, we are done!
- */
- keepon=FALSE;
- }
- else if(chunked_encoding) {
- CHUNKcode r;
- /* We set ignorebody true here since the chunked
- decoder function will acknowledge that. Pay
- attention so that this is cleared again when this
- function returns! */
- k->ignorebody = TRUE;
- infof(data, "%d bytes of chunk left\n", gotbytes-i);
-
- if(line_start[1] == '\n') {
- /* this can only be a LF if the letter at index 0
- was a CR */
- line_start++;
- i++;
- }
-
- /* now parse the chunked piece of data so that we can
- properly tell when the stream ends */
- r = Curl_httpchunk_read(conn, line_start+1,
- gotbytes -i, &gotbytes);
- if(r == CHUNKE_STOP) {
- /* we're done reading chunks! */
- infof(data, "chunk reading DONE\n");
- keepon = FALSE;
- }
- else
- infof(data, "Read %d bytes of chunk, continue\n",
- gotbytes);
- }
- else {
- /* without content-length or chunked encoding, we
- can't keep the connection alive since the close is
- the end signal so we bail out at once instead */
- keepon=FALSE;
- }
- }
- else
- keepon = FALSE;
- break; /* breaks out of for-loop, not switch() */
- }
-
- /* keep a backup of the position we are about to blank */
- letter = line_start[perline];
- line_start[perline]=0; /* zero terminate the buffer */
- if((checkprefix("WWW-Authenticate:", line_start) &&
- (401 == k->httpcode)) ||
- (checkprefix("Proxy-authenticate:", line_start) &&
- (407 == k->httpcode))) {
- result = Curl_http_input_auth(conn, k->httpcode,
- line_start);
- if(result)
- return result;
- }
- else if(checkprefix("Content-Length:", line_start)) {
- cl = curlx_strtoofft(line_start + strlen("Content-Length:"),
- NULL, 10);
- }
- else if(Curl_compareheader(line_start,
- "Connection:", "close"))
- closeConnection = TRUE;
- else if(Curl_compareheader(line_start,
- "Transfer-Encoding:", "chunked")) {
- infof(data, "CONNECT responded chunked\n");
- chunked_encoding = TRUE;
- /* init our chunky engine */
- Curl_httpchunk_init(conn);
- }
- else if(Curl_compareheader(line_start,
- "Proxy-Connection:", "close"))
- closeConnection = TRUE;
- else if(2 == sscanf(line_start, "HTTP/1.%d %d",
- &subversion,
- &k->httpcode)) {
- /* store the HTTP code from the proxy */
- data->info.httpproxycode = k->httpcode;
- }
- /* put back the letter we blanked out before */
- line_start[perline]= letter;
-
- perline=0; /* line starts over here */
- line_start = ptr+1; /* this skips the zero byte we wrote */
- }
- }
- }
- break;
- } /* switch */
- if(Curl_pgrsUpdate(conn))
- return CURLE_ABORTED_BY_CALLBACK;
- } /* while there's buffer left and loop is requested */
-
- if(error)
- return CURLE_RECV_ERROR;
-
- if(data->info.httpproxycode != 200) {
- /* Deal with the possibly already received authenticate
- headers. 'newurl' is set to a new URL if we must loop. */
- result = Curl_http_auth_act(conn);
- if(result)
- return result;
-
- if(conn->bits.close)
- /* the connection has been marked for closure, most likely in the
- Curl_http_auth_act() function and thus we can kill it at once
- below
- */
- closeConnection = TRUE;
- }
-
- if(closeConnection && data->req.newurl) {
- /* Connection closed by server. Don't use it anymore */
- sclose(conn->sock[sockindex]);
- conn->sock[sockindex] = CURL_SOCKET_BAD;
- break;
- }
- } /* END NEGOTIATION PHASE */
- } while(data->req.newurl);
-
- if(200 != data->req.httpcode) {
- failf(data, "Received HTTP code %d from proxy after CONNECT",
- data->req.httpcode);
-
- if(closeConnection && data->req.newurl)
- conn->bits.proxy_connect_closed = TRUE;
-
- return CURLE_RECV_ERROR;
- }
-
- /* If a proxy-authorization header was used for the proxy, then we should
- make sure that it isn't accidentally used for the document request
- after we've connected. So let's free and clear it here. */
- Curl_safefree(conn->allocptr.proxyuserpwd);
- conn->allocptr.proxyuserpwd = NULL;
-
- data->state.authproxy.done = TRUE;
-
- infof (data, "Proxy replied OK to CONNECT request\n");
- data->req.ignorebody = FALSE; /* put it (back) to non-ignore state */
- return CURLE_OK;
-}
-
-/*
- * Curl_http_connect() performs HTTP stuff to do at connect-time, called from
- * the generic Curl_connect().
- */
-CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
-{
- struct SessionHandle *data;
- CURLcode result;
-
- data=conn->data;
-
- /* We default to persistent connections. We set this already in this connect
- function to make the re-use checks properly be able to check this bit. */
- conn->bits.close = FALSE;
-
- /* If we are not using a proxy and we want a secure connection, perform SSL
- * initialization & connection now. If using a proxy with https, then we
- * must tell the proxy to CONNECT to the host we want to talk to. Only
- * after the connect has occurred, can we start talking SSL
- */
-
- if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
-
- /* either SSL over proxy, or explicitly asked for */
- result = Curl_proxyCONNECT(conn, FIRSTSOCKET,
- conn->host.name,
- conn->remote_port);
- if(CURLE_OK != result)
- return result;
- }
-
- if(conn->bits.tunnel_connecting) {
- /* nothing else to do except wait right now - we're not done here. */
- return CURLE_OK;
- }
-
- if(!data->state.this_is_a_follow) {
- /* this is not a followed location, get the original host name */
- if(data->state.first_host)
- /* Free to avoid leaking memory on multiple requests*/
- free(data->state.first_host);
-
- data->state.first_host = strdup(conn->host.name);
- if(!data->state.first_host)
- return CURLE_OUT_OF_MEMORY;
- }
-
- if(conn->protocol & PROT_HTTPS) {
- /* perform SSL initialization */
- if(data->state.used_interface == Curl_if_multi) {
- result = https_connecting(conn, done);
- if(result)
- return result;
- }
- else {
- /* BLOCKING */
- result = Curl_ssl_connect(conn, FIRSTSOCKET);
- if(result)
- return result;
- *done = TRUE;
- }
- }
- else {
- *done = TRUE;
- }
-
- return CURLE_OK;
-}
-
-/* this returns the socket to wait for in the DO and DOING state for the multi
- interface and then we're always _sending_ a request and thus we wait for
- the single socket to become writable only */
-static int http_getsock_do(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- /* write mode */
- (void)numsocks; /* unused, we trust it to be at least 1 */
- socks[0] = conn->sock[FIRSTSOCKET];
- return GETSOCK_WRITESOCK(0);
-}
-
-static CURLcode https_connecting(struct connectdata *conn, bool *done)
-{
- CURLcode result;
- DEBUGASSERT((conn) && (conn->protocol & PROT_HTTPS));
-
- /* perform SSL initialization for this socket */
- result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, done);
- if(result) {
- conn->bits.close = TRUE; /* a failed connection is marked for closure
- to prevent (bad) re-use or similar */
- return result;
- }
-
- return CURLE_OK;
-}
-
-#ifdef USE_SSLEAY
-/* This function is OpenSSL-specific. It should be made to query the generic
- SSL layer instead. */
-static int https_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- if(conn->protocol & PROT_HTTPS) {
- struct ssl_connect_data *connssl = &conn->ssl[FIRSTSOCKET];
-
- if(!numsocks)
- return GETSOCK_BLANK;
-
- if(connssl->connecting_state == ssl_connect_2_writing) {
- /* write mode */
- socks[0] = conn->sock[FIRSTSOCKET];
- return GETSOCK_WRITESOCK(0);
- }
- else if(connssl->connecting_state == ssl_connect_2_reading) {
- /* read mode */
- socks[0] = conn->sock[FIRSTSOCKET];
- return GETSOCK_READSOCK(0);
- }
- }
- return CURLE_OK;
-}
-#else
-#ifdef USE_GNUTLS
-static int https_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- (void)conn;
- (void)socks;
- (void)numsocks;
- return GETSOCK_BLANK;
-}
-#else
-#ifdef USE_NSS
-static int https_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- (void)conn;
- (void)socks;
- (void)numsocks;
- return GETSOCK_BLANK;
-}
-#else
-#ifdef USE_QSOSSL
-static int https_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- (void)conn;
- (void)socks;
- (void)numsocks;
- return GETSOCK_BLANK;
-}
-#endif
-#endif
-#endif
-#endif
-
-/*
- * Curl_http_done() gets called from Curl_done() after a single HTTP request
- * has been performed.
- */
-
-CURLcode Curl_http_done(struct connectdata *conn,
- CURLcode status, bool premature)
-{
- struct SessionHandle *data = conn->data;
- struct HTTP *http =data->state.proto.http;
- (void)premature; /* not used */
-
- /* set the proper values (possibly modified on POST) */
- conn->fread_func = data->set.fread_func; /* restore */
- conn->fread_in = data->set.in; /* restore */
- conn->seek_func = data->set.seek_func; /* restore */
- conn->seek_client = data->set.seek_client; /* restore */
-
- if(http == NULL)
- return CURLE_OK;
-
- if(http->send_buffer) {
- send_buffer *buff = http->send_buffer;
-
- free(buff->buffer);
- free(buff);
- http->send_buffer = NULL; /* clear the pointer */
- }
-
- if(HTTPREQ_POST_FORM == data->set.httpreq) {
- data->req.bytecount = http->readbytecount + http->writebytecount;
-
- Curl_formclean(&http->sendit); /* Now free that whole lot */
- if(http->form.fp) {
- /* a file being uploaded was left opened, close it! */
- fclose(http->form.fp);
- http->form.fp = NULL;
- }
- }
- else if(HTTPREQ_PUT == data->set.httpreq)
- data->req.bytecount = http->readbytecount + http->writebytecount;
-
- if(status != CURLE_OK)
- return (status);
-
- if(!premature && /* this check is pointless when DONE is called before the
- entire operation is complete */
- !conn->bits.retry &&
- ((http->readbytecount +
- data->req.headerbytecount -
- data->req.deductheadercount)) <= 0) {
- /* If this connection isn't simply closed to be retried, AND nothing was
- read from the HTTP server (that counts), this can't be right so we
- return an error here */
- failf(data, "Empty reply from server");
- return CURLE_GOT_NOTHING;
- }
-
- return CURLE_OK;
-}
-
-/* check and possibly add an Expect: header */
-static CURLcode expect100(struct SessionHandle *data,
- send_buffer *req_buffer)
-{
- CURLcode result = CURLE_OK;
- data->state.expect100header = FALSE; /* default to false unless it is set
- to TRUE below */
- if((data->set.httpversion != CURL_HTTP_VERSION_1_0) &&
- !checkheaders(data, "Expect:")) {
- /* if not doing HTTP 1.0 or disabled explicitly, we add a Expect:
- 100-continue to the headers which actually speeds up post
- operations (as there is one packet coming back from the web
- server) */
- result = add_bufferf(req_buffer,
- "Expect: 100-continue\r\n");
- if(result == CURLE_OK)
- data->state.expect100header = TRUE;
- }
- return result;
-}
-
-static CURLcode add_custom_headers(struct connectdata *conn,
- send_buffer *req_buffer)
-{
- char *ptr;
- struct curl_slist *headers=conn->data->set.headers;
-
- while(headers) {
- ptr = strchr(headers->data, ':');
- if(ptr) {
- /* we require a colon for this to be a true header */
-
- ptr++; /* pass the colon */
- while(*ptr && ISSPACE(*ptr))
- ptr++;
-
- if(*ptr) {
- /* only send this if the contents was non-blank */
-
- if(conn->allocptr.host &&
- /* a Host: header was sent already, don't pass on any custom Host:
- header as that will produce *two* in the same request! */
- curl_strnequal("Host:", headers->data, 5))
- ;
- else if(conn->data->set.httpreq == HTTPREQ_POST_FORM &&
- /* this header (extended by formdata.c) is sent later */
- curl_strnequal("Content-Type:", headers->data,
- strlen("Content-Type:")))
- ;
- else {
- CURLcode result = add_bufferf(req_buffer, "%s\r\n", headers->data);
- if(result)
- return result;
- }
- }
- }
- headers = headers->next;
- }
- return CURLE_OK;
-}
-
-/*
- * Curl_http() gets called from the generic Curl_do() function when a HTTP
- * request is to be performed. This creates and sends a properly constructed
- * HTTP request.
- */
-CURLcode Curl_http(struct connectdata *conn, bool *done)
-{
- struct SessionHandle *data=conn->data;
- char *buf = data->state.buffer; /* this is a short cut to the buffer */
- CURLcode result=CURLE_OK;
- struct HTTP *http;
- char *ppath = data->state.path;
- char ftp_typecode[sizeof(";type=?")] = "";
- char *host = conn->host.name;
- const char *te = ""; /* transfer-encoding */
- char *ptr;
- char *request;
- Curl_HttpReq httpreq = data->set.httpreq;
- char *addcookies = NULL;
- curl_off_t included_body = 0;
- const char *httpstring;
- send_buffer *req_buffer;
- curl_off_t postsize; /* off_t type to be able to hold a large file size */
-
-
- /* Always consider the DO phase done after this function call, even if there
- may be parts of the request that is not yet sent, since we can deal with
- the rest of the request in the PERFORM phase. */
- *done = TRUE;
-
- /* If there already is a protocol-specific struct allocated for this
- sessionhandle, deal with it */
- Curl_reset_reqproto(conn);
-
- if(!data->state.proto.http) {
- /* Only allocate this struct if we don't already have it! */
-
- http = (struct HTTP *)calloc(sizeof(struct HTTP), 1);
- if(!http)
- return CURLE_OUT_OF_MEMORY;
- data->state.proto.http = http;
- }
- else
- http = data->state.proto.http;
-
- if( (conn->protocol&(PROT_HTTP|PROT_FTP)) &&
- data->set.upload) {
- httpreq = HTTPREQ_PUT;
- }
-
- /* Now set the 'request' pointer to the proper request string */
- if(data->set.str[STRING_CUSTOMREQUEST])
- request = data->set.str[STRING_CUSTOMREQUEST];
- else {
- if(data->set.opt_no_body)
- request = (char *)"HEAD";
- else {
- DEBUGASSERT((httpreq > HTTPREQ_NONE) && (httpreq < HTTPREQ_LAST));
- switch(httpreq) {
- case HTTPREQ_POST:
- case HTTPREQ_POST_FORM:
- request = (char *)"POST";
- break;
- case HTTPREQ_PUT:
- request = (char *)"PUT";
- break;
- default: /* this should never happen */
- case HTTPREQ_GET:
- request = (char *)"GET";
- break;
- case HTTPREQ_HEAD:
- request = (char *)"HEAD";
- break;
- }
- }
- }
-
- /* The User-Agent string might have been allocated in url.c already, because
- it might have been used in the proxy connect, but if we have got a header
- with the user-agent string specified, we erase the previously made string
- here. */
- if(checkheaders(data, "User-Agent:") && conn->allocptr.uagent) {
- free(conn->allocptr.uagent);
- conn->allocptr.uagent=NULL;
- }
-
- /* setup the authentication headers */
- result = http_output_auth(conn, request, ppath, FALSE);
- if(result)
- return result;
-
- if((data->state.authhost.multi || data->state.authproxy.multi) &&
- (httpreq != HTTPREQ_GET) &&
- (httpreq != HTTPREQ_HEAD)) {
- /* Auth is required and we are not authenticated yet. Make a PUT or POST
- with content-length zero as a "probe". */
- conn->bits.authneg = TRUE;
- }
- else
- conn->bits.authneg = FALSE;
-
- Curl_safefree(conn->allocptr.ref);
- if(data->change.referer && !checkheaders(data, "Referer:"))
- conn->allocptr.ref = aprintf("Referer: %s\r\n", data->change.referer);
- else
- conn->allocptr.ref = NULL;
-
- if(data->set.str[STRING_COOKIE] && !checkheaders(data, "Cookie:"))
- addcookies = data->set.str[STRING_COOKIE];
-
- if(!checkheaders(data, "Accept-Encoding:") &&
- data->set.str[STRING_ENCODING]) {
- Curl_safefree(conn->allocptr.accept_encoding);
- conn->allocptr.accept_encoding =
- aprintf("Accept-Encoding: %s\r\n", data->set.str[STRING_ENCODING]);
- if(!conn->allocptr.accept_encoding)
- return CURLE_OUT_OF_MEMORY;
- }
-
- ptr = checkheaders(data, "Transfer-Encoding:");
- if(ptr) {
- /* Some kind of TE is requested, check if 'chunked' is chosen */
- data->req.upload_chunky =
- Curl_compareheader(ptr, "Transfer-Encoding:", "chunked");
- }
- else {
- if((conn->protocol&PROT_HTTP) &&
- data->set.upload &&
- (data->set.infilesize == -1) &&
- (data->set.httpversion != CURL_HTTP_VERSION_1_0)) {
- /* HTTP, upload, unknown file size and not HTTP 1.0 */
- data->req.upload_chunky = TRUE;
- }
- else {
- /* else, no chunky upload */
- data->req.upload_chunky = FALSE;
- }
-
- if(data->req.upload_chunky)
- te = "Transfer-Encoding: chunked\r\n";
- }
-
- Curl_safefree(conn->allocptr.host);
-
- ptr = checkheaders(data, "Host:");
- if(ptr && (!data->state.this_is_a_follow ||
- curl_strequal(data->state.first_host, conn->host.name))) {
-#if !defined(CURL_DISABLE_COOKIES)
- /* If we have a given custom Host: header, we extract the host name in
- order to possibly use it for cookie reasons later on. We only allow the
- custom Host: header if this is NOT a redirect, as setting Host: in the
- redirected request is being out on thin ice. Except if the host name
- is the same as the first one! */
- char *cookiehost = Curl_copy_header_value(ptr);
- if (!cookiehost)
- return CURLE_OUT_OF_MEMORY;
- if (!*cookiehost)
- /* ignore empty data */
- free(cookiehost);
- else {
- char *colon = strchr(cookiehost, ':');
- if (colon)
- *colon = 0; /* The host must not include an embedded port number */
- Curl_safefree(conn->allocptr.cookiehost);
- conn->allocptr.cookiehost = cookiehost;
- }
-#endif
-
- conn->allocptr.host = NULL;
- }
- else {
- /* When building Host: headers, we must put the host name within
- [brackets] if the host name is a plain IPv6-address. RFC2732-style. */
-
- if(((conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTPS)) ||
- (!(conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTP)) )
- /* if(HTTPS on port 443) OR (non-HTTPS on port 80) then don't include
- the port number in the host string */
- conn->allocptr.host = aprintf("Host: %s%s%s\r\n",
- conn->bits.ipv6_ip?"[":"",
- host,
- conn->bits.ipv6_ip?"]":"");
- else
- conn->allocptr.host = aprintf("Host: %s%s%s:%d\r\n",
- conn->bits.ipv6_ip?"[":"",
- host,
- conn->bits.ipv6_ip?"]":"",
- conn->remote_port);
-
- if(!conn->allocptr.host)
- /* without Host: we can't make a nice request */
- return CURLE_OUT_OF_MEMORY;
- }
-
- if(conn->bits.httpproxy && !conn->bits.tunnel_proxy) {
- /* Using a proxy but does not tunnel through it */
-
- /* The path sent to the proxy is in fact the entire URL. But if the remote
- host is a IDN-name, we must make sure that the request we produce only
- uses the encoded host name! */
- if(conn->host.dispname != conn->host.name) {
- char *url = data->change.url;
- ptr = strstr(url, conn->host.dispname);
- if(ptr) {
- /* This is where the display name starts in the URL, now replace this
- part with the encoded name. TODO: This method of replacing the host
- name is rather crude as I believe there's a slight risk that the
- user has entered a user name or password that contain the host name
- string. */
- size_t currlen = strlen(conn->host.dispname);
- size_t newlen = strlen(conn->host.name);
- size_t urllen = strlen(url);
-
- char *newurl;
-
- newurl = malloc(urllen + newlen - currlen + 1);
- if(newurl) {
- /* copy the part before the host name */
- memcpy(newurl, url, ptr - url);
- /* append the new host name instead of the old */
- memcpy(newurl + (ptr - url), conn->host.name, newlen);
- /* append the piece after the host name */
- memcpy(newurl + newlen + (ptr - url),
- ptr + currlen, /* copy the trailing zero byte too */
- urllen - (ptr-url) - currlen + 1);
- if(data->change.url_alloc)
- free(data->change.url);
- data->change.url = newurl;
- data->change.url_alloc = TRUE;
- }
- else
- return CURLE_OUT_OF_MEMORY;
- }
- }
- ppath = data->change.url;
- if (data->set.proxy_transfer_mode) {
- /* when doing ftp, append ;type=<a|i> if not present */
- if(checkprefix("ftp://", ppath) || checkprefix("ftps://", ppath)) {
- char *p = strstr(ppath, ";type=");
- if(p && p[6] && p[7] == 0) {
- switch (toupper((int)((unsigned char)p[6]))) {
- case 'A':
- case 'D':
- case 'I':
- break;
- default:
- p = NULL;
- }
- }
- if(!p)
- snprintf(ftp_typecode, sizeof(ftp_typecode), ";type=%c",
- data->set.prefer_ascii ? 'a' : 'i');
- }
- }
- }
- if(HTTPREQ_POST_FORM == httpreq) {
- /* we must build the whole darned post sequence first, so that we have
- a size of the whole shebang before we start to send it */
- result = Curl_getFormData(&http->sendit, data->set.httppost,
- checkheaders(data, "Content-Type:"),
- &http->postsize);
- if(CURLE_OK != result) {
- /* Curl_getFormData() doesn't use failf() */
- failf(data, "failed creating formpost data");
- return result;
- }
- }
-
-
- http->p_pragma =
- (!checkheaders(data, "Pragma:") &&
- (conn->bits.httpproxy && !conn->bits.tunnel_proxy) )?
- "Pragma: no-cache\r\n":NULL;
-
- http->p_accept = checkheaders(data, "Accept:")?NULL:"Accept: */*\r\n";
-
- if(( (HTTPREQ_POST == httpreq) ||
- (HTTPREQ_POST_FORM == httpreq) ||
- (HTTPREQ_PUT == httpreq) ) &&
- data->state.resume_from) {
- /**********************************************************************
- * Resuming upload in HTTP means that we PUT or POST and that we have
- * got a resume_from value set. The resume value has already created
- * a Range: header that will be passed along. We need to "fast forward"
- * the file the given number of bytes and decrease the assume upload
- * file size before we continue this venture in the dark lands of HTTP.
- *********************************************************************/
-
- if(data->state.resume_from < 0 ) {
- /*
- * This is meant to get the size of the present remote-file by itself.
- * We don't support this now. Bail out!
- */
- data->state.resume_from = 0;
- }
-
- if(data->state.resume_from && !data->state.this_is_a_follow) {
- /* do we still game? */
-
- /* Now, let's read off the proper amount of bytes from the
- input. */
- if(conn->seek_func) {
- curl_off_t readthisamountnow = data->state.resume_from;
-
- if(conn->seek_func(conn->seek_client,
- readthisamountnow, SEEK_SET) != 0) {
- failf(data, "Could not seek stream");
- return CURLE_READ_ERROR;
- }
- }
- else {
- curl_off_t passed=0;
-
- do {
- size_t readthisamountnow = (size_t)(data->state.resume_from - passed);
- size_t actuallyread;
-
- if(readthisamountnow > BUFSIZE)
- readthisamountnow = BUFSIZE;
-
- actuallyread = data->set.fread_func(data->state.buffer, 1,
- (size_t)readthisamountnow,
- data->set.in);
-
- passed += actuallyread;
- if(actuallyread != readthisamountnow) {
- failf(data, "Could only read %" FORMAT_OFF_T
- " bytes from the input",
- passed);
- return CURLE_READ_ERROR;
- }
- } while(passed != data->state.resume_from); /* loop until done */
- }
-
- /* now, decrease the size of the read */
- if(data->set.infilesize>0) {
- data->set.infilesize -= data->state.resume_from;
-
- if(data->set.infilesize <= 0) {
- failf(data, "File already completely uploaded");
- return CURLE_PARTIAL_FILE;
- }
- }
- /* we've passed, proceed as normal */
- }
- }
- if(data->state.use_range) {
- /*
- * A range is selected. We use different headers whether we're downloading
- * or uploading and we always let customized headers override our internal
- * ones if any such are specified.
- */
- if(((httpreq == HTTPREQ_GET) || (httpreq == HTTPREQ_HEAD)) &&
- !checkheaders(data, "Range:")) {
- /* if a line like this was already allocated, free the previous one */
- if(conn->allocptr.rangeline)
- free(conn->allocptr.rangeline);
- conn->allocptr.rangeline = aprintf("Range: bytes=%s\r\n",
- data->state.range);
- }
- else if((httpreq != HTTPREQ_GET) &&
- !checkheaders(data, "Content-Range:")) {
-
- /* if a line like this was already allocated, free the previous one */
- if(conn->allocptr.rangeline)
- free(conn->allocptr.rangeline);
-
- if(data->set.set_resume_from < 0) {
- /* Upload resume was asked for, but we don't know the size of the
- remote part so we tell the server (and act accordingly) that we
- upload the whole file (again) */
- conn->allocptr.rangeline =
- aprintf("Content-Range: bytes 0-%" FORMAT_OFF_T
- "/%" FORMAT_OFF_T "\r\n",
- data->set.infilesize - 1, data->set.infilesize);
-
- }
- else if(data->state.resume_from) {
- /* This is because "resume" was selected */
- curl_off_t total_expected_size=
- data->state.resume_from + data->set.infilesize;
- conn->allocptr.rangeline =
- aprintf("Content-Range: bytes %s%" FORMAT_OFF_T
- "/%" FORMAT_OFF_T "\r\n",
- data->state.range, total_expected_size-1,
- total_expected_size);
- }
- else {
- /* Range was selected and then we just pass the incoming range and
- append total size */
- conn->allocptr.rangeline =
- aprintf("Content-Range: bytes %s/%" FORMAT_OFF_T "\r\n",
- data->state.range, data->set.infilesize);
- }
- if(!conn->allocptr.rangeline)
- return CURLE_OUT_OF_MEMORY;
- }
- }
-
- /* Use 1.1 unless the use specificly asked for 1.0 */
- httpstring= data->set.httpversion==CURL_HTTP_VERSION_1_0?"1.0":"1.1";
-
- /* initialize a dynamic send-buffer */
- req_buffer = add_buffer_init();
-
- if(!req_buffer)
- return CURLE_OUT_OF_MEMORY;
-
- /* add the main request stuff */
- result =
- add_bufferf(req_buffer,
- "%s " /* GET/HEAD/POST/PUT */
- "%s%s HTTP/%s\r\n" /* path + HTTP version */
- "%s" /* proxyuserpwd */
- "%s" /* userpwd */
- "%s" /* range */
- "%s" /* user agent */
- "%s" /* host */
- "%s" /* pragma */
- "%s" /* accept */
- "%s" /* accept-encoding */
- "%s" /* referer */
- "%s" /* Proxy-Connection */
- "%s",/* transfer-encoding */
-
- request,
- ppath,
- ftp_typecode,
- httpstring,
- conn->allocptr.proxyuserpwd?
- conn->allocptr.proxyuserpwd:"",
- conn->allocptr.userpwd?conn->allocptr.userpwd:"",
- (data->state.use_range && conn->allocptr.rangeline)?
- conn->allocptr.rangeline:"",
- (data->set.str[STRING_USERAGENT] &&
- *data->set.str[STRING_USERAGENT] && conn->allocptr.uagent)?
- conn->allocptr.uagent:"",
- (conn->allocptr.host?conn->allocptr.host:""), /* Host: host */
- http->p_pragma?http->p_pragma:"",
- http->p_accept?http->p_accept:"",
- (data->set.str[STRING_ENCODING] &&
- *data->set.str[STRING_ENCODING] &&
- conn->allocptr.accept_encoding)?
- conn->allocptr.accept_encoding:"",
- (data->change.referer && conn->allocptr.ref)?
- conn->allocptr.ref:"" /* Referer: <data> */,
- (conn->bits.httpproxy &&
- !conn->bits.tunnel_proxy &&
- !checkheaders(data, "Proxy-Connection:"))?
- "Proxy-Connection: Keep-Alive\r\n":"",
- te
- );
-
- /*
- * Free userpwd now --- cannot reuse this for Negotiate and possibly NTLM
- * with basic and digest, it will be freed anyway by the next request
- */
-
- Curl_safefree (conn->allocptr.userpwd);
- conn->allocptr.userpwd = NULL;
-
- if(result)
- return result;
-
-#if !defined(CURL_DISABLE_COOKIES)
- if(data->cookies || addcookies) {
- struct Cookie *co=NULL; /* no cookies from start */
- int count=0;
-
- if(data->cookies) {
- Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE);
- co = Curl_cookie_getlist(data->cookies,
- conn->allocptr.cookiehost?
- conn->allocptr.cookiehost:host,
- data->state.path,
- (bool)(conn->protocol&PROT_HTTPS?TRUE:FALSE));
- Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE);
- }
- if(co) {
- struct Cookie *store=co;
- /* now loop through all cookies that matched */
- while(co) {
- if(co->value) {
- if(0 == count) {
- result = add_bufferf(req_buffer, "Cookie: ");
- if(result)
- break;
- }
- result = add_bufferf(req_buffer,
- "%s%s=%s", count?"; ":"",
- co->name, co->value);
- if(result)
- break;
- count++;
- }
- co = co->next; /* next cookie please */
- }
- Curl_cookie_freelist(store, FALSE); /* free the cookie list */
- }
- if(addcookies && (CURLE_OK == result)) {
- if(!count)
- result = add_bufferf(req_buffer, "Cookie: ");
- if(CURLE_OK == result) {
- result = add_bufferf(req_buffer, "%s%s",
- count?"; ":"",
- addcookies);
- count++;
- }
- }
- if(count && (CURLE_OK == result))
- result = add_buffer(req_buffer, "\r\n", 2);
-
- if(result)
- return result;
- }
-#endif
-
- if(data->set.timecondition) {
- struct tm *tm;
-
- /* The If-Modified-Since header family should have their times set in
- * GMT as RFC2616 defines: "All HTTP date/time stamps MUST be
- * represented in Greenwich Mean Time (GMT), without exception. For the
- * purposes of HTTP, GMT is exactly equal to UTC (Coordinated Universal
- * Time)." (see page 20 of RFC2616).
- */
-
-#ifdef HAVE_GMTIME_R
- /* thread-safe version */
- struct tm keeptime;
- tm = (struct tm *)gmtime_r(&data->set.timevalue, &keeptime);
-#else
- tm = gmtime(&data->set.timevalue);
-#endif
-
- /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */
- snprintf(buf, BUFSIZE-1,
- "%s, %02d %s %4d %02d:%02d:%02d GMT",
- Curl_wkday[tm->tm_wday?tm->tm_wday-1:6],
- tm->tm_mday,
- Curl_month[tm->tm_mon],
- tm->tm_year + 1900,
- tm->tm_hour,
- tm->tm_min,
- tm->tm_sec);
-
- switch(data->set.timecondition) {
- case CURL_TIMECOND_IFMODSINCE:
- default:
- result = add_bufferf(req_buffer,
- "If-Modified-Since: %s\r\n", buf);
- break;
- case CURL_TIMECOND_IFUNMODSINCE:
- result = add_bufferf(req_buffer,
- "If-Unmodified-Since: %s\r\n", buf);
- break;
- case CURL_TIMECOND_LASTMOD:
- result = add_bufferf(req_buffer,
- "Last-Modified: %s\r\n", buf);
- break;
- }
- if(result)
- return result;
- }
-
- result = add_custom_headers(conn, req_buffer);
- if(result)
- return result;
-
- http->postdata = NULL; /* nothing to post at this point */
- Curl_pgrsSetUploadSize(data, 0); /* upload size is 0 atm */
-
- /* If 'authdone' is FALSE, we must not set the write socket index to the
- Curl_transfer() call below, as we're not ready to actually upload any
- data yet. */
-
- switch(httpreq) {
-
- case HTTPREQ_POST_FORM:
- if(!http->sendit || conn->bits.authneg) {
- /* nothing to post! */
- result = add_bufferf(req_buffer, "Content-Length: 0\r\n\r\n");
- if(result)
- return result;
-
- result = add_buffer_send(req_buffer, conn,
- &data->info.request_size, 0, FIRSTSOCKET);
- if(result)
- failf(data, "Failed sending POST request");
- else
- /* setup variables for the upcoming transfer */
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, TRUE,
- &http->readbytecount,
- -1, NULL);
- break;
- }
-
- if(Curl_FormInit(&http->form, http->sendit)) {
- failf(data, "Internal HTTP POST error!");
- return CURLE_HTTP_POST_ERROR;
- }
-
- /* Get the currently set callback function pointer and store that in the
- form struct since we might want the actual user-provided callback later
- on. The conn->fread_func pointer itself will be changed for the
- multipart case to the function that returns a multipart formatted
- stream. */
- http->form.fread_func = conn->fread_func;
-
- /* Set the read function to read from the generated form data */
- conn->fread_func = (curl_read_callback)Curl_FormReader;
- conn->fread_in = &http->form;
-
- http->sending = HTTPSEND_BODY;
-
- if(!data->req.upload_chunky) {
- /* only add Content-Length if not uploading chunked */
- result = add_bufferf(req_buffer,
- "Content-Length: %" FORMAT_OFF_T "\r\n",
- http->postsize);
- if(result)
- return result;
- }
-
- result = expect100(data, req_buffer);
- if(result)
- return result;
-
- {
-
- /* Get Content-Type: line from Curl_formpostheader.
- */
- char *contentType;
- size_t linelength=0;
- contentType = Curl_formpostheader((void *)&http->form,
- &linelength);
- if(!contentType) {
- failf(data, "Could not get Content-Type header line!");
- return CURLE_HTTP_POST_ERROR;
- }
-
- result = add_buffer(req_buffer, contentType, linelength);
- if(result)
- return result;
- }
-
- /* make the request end in a true CRLF */
- result = add_buffer(req_buffer, "\r\n", 2);
- if(result)
- return result;
-
- /* set upload size to the progress meter */
- Curl_pgrsSetUploadSize(data, http->postsize);
-
- /* fire away the whole request to the server */
- result = add_buffer_send(req_buffer, conn,
- &data->info.request_size, 0, FIRSTSOCKET);
- if(result)
- failf(data, "Failed sending POST request");
- else
- /* setup variables for the upcoming transfer */
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, TRUE,
- &http->readbytecount,
- FIRSTSOCKET,
- &http->writebytecount);
-
- if(result) {
- Curl_formclean(&http->sendit); /* free that whole lot */
- return result;
- }
-#ifdef CURL_DOES_CONVERSIONS
-/* time to convert the form data... */
- result = Curl_formconvert(data, http->sendit);
- if(result) {
- Curl_formclean(&http->sendit); /* free that whole lot */
- return result;
- }
-#endif /* CURL_DOES_CONVERSIONS */
- break;
-
- case HTTPREQ_PUT: /* Let's PUT the data to the server! */
-
- if(conn->bits.authneg)
- postsize = 0;
- else
- postsize = data->set.infilesize;
-
- if((postsize != -1) && !data->req.upload_chunky) {
- /* only add Content-Length if not uploading chunked */
- result = add_bufferf(req_buffer,
- "Content-Length: %" FORMAT_OFF_T "\r\n",
- postsize );
- if(result)
- return result;
- }
-
- result = expect100(data, req_buffer);
- if(result)
- return result;
-
- result = add_buffer(req_buffer, "\r\n", 2); /* end of headers */
- if(result)
- return result;
-
- /* set the upload size to the progress meter */
- Curl_pgrsSetUploadSize(data, postsize);
-
- /* this sends the buffer and frees all the buffer resources */
- result = add_buffer_send(req_buffer, conn,
- &data->info.request_size, 0, FIRSTSOCKET);
- if(result)
- failf(data, "Failed sending PUT request");
- else
- /* prepare for transfer */
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, TRUE,
- &http->readbytecount,
- postsize?FIRSTSOCKET:-1,
- postsize?&http->writebytecount:NULL);
- if(result)
- return result;
- break;
-
- case HTTPREQ_POST:
- /* this is the simple POST, using x-www-form-urlencoded style */
-
- if(conn->bits.authneg)
- postsize = 0;
- else
- /* figure out the size of the postfields */
- postsize = (data->set.postfieldsize != -1)?
- data->set.postfieldsize:
- (data->set.postfields? (curl_off_t)strlen(data->set.postfields):0);
-
- if(!data->req.upload_chunky) {
- /* We only set Content-Length and allow a custom Content-Length if
- we don't upload data chunked, as RFC2616 forbids us to set both
- kinds of headers (Transfer-Encoding: chunked and Content-Length) */
-
- if(!checkheaders(data, "Content-Length:")) {
- /* we allow replacing this header, although it isn't very wise to
- actually set your own */
- result = add_bufferf(req_buffer,
- "Content-Length: %" FORMAT_OFF_T"\r\n",
- postsize);
- if(result)
- return result;
- }
- }
-
- if(!checkheaders(data, "Content-Type:")) {
- result = add_bufferf(req_buffer,
- "Content-Type: application/x-www-form-urlencoded\r\n");
- if(result)
- return result;
- }
-
- /* For really small posts we don't use Expect: headers at all, and for
- the somewhat bigger ones we allow the app to disable it. Just make
- sure that the expect100header is always set to the preferred value
- here. */
- if(postsize > TINY_INITIAL_POST_SIZE) {
- result = expect100(data, req_buffer);
- if(result)
- return result;
- }
- else
- data->state.expect100header = FALSE;
-
- if(data->set.postfields) {
-
- if(!data->state.expect100header &&
- (postsize < MAX_INITIAL_POST_SIZE)) {
- /* if we don't use expect: 100 AND
- postsize is less than MAX_INITIAL_POST_SIZE
-
- then append the post data to the HTTP request header. This limit
- is no magic limit but only set to prevent really huge POSTs to
- get the data duplicated with malloc() and family. */
-
- result = add_buffer(req_buffer, "\r\n", 2); /* end of headers! */
- if(result)
- return result;
-
- if(!data->req.upload_chunky) {
- /* We're not sending it 'chunked', append it to the request
- already now to reduce the number if send() calls */
- result = add_buffer(req_buffer, data->set.postfields,
- (size_t)postsize);
- included_body = postsize;
- }
- else {
- /* Append the POST data chunky-style */
- result = add_bufferf(req_buffer, "%x\r\n", (int)postsize);
- if(CURLE_OK == result)
- result = add_buffer(req_buffer, data->set.postfields,
- (size_t)postsize);
- if(CURLE_OK == result)
- result = add_buffer(req_buffer,
- "\x0d\x0a\x30\x0d\x0a\x0d\x0a", 7);
- /* CR LF 0 CR LF CR LF */
- included_body = postsize + 7;
- }
- if(result)
- return result;
- }
- else {
- /* A huge POST coming up, do data separate from the request */
- http->postsize = postsize;
- http->postdata = data->set.postfields;
-
- http->sending = HTTPSEND_BODY;
-
- conn->fread_func = (curl_read_callback)readmoredata;
- conn->fread_in = (void *)conn;
-
- /* set the upload size to the progress meter */
- Curl_pgrsSetUploadSize(data, http->postsize);
-
- result = add_buffer(req_buffer, "\r\n", 2); /* end of headers! */
- if(result)
- return result;
- }
- }
- else {
- result = add_buffer(req_buffer, "\r\n", 2); /* end of headers! */
- if(result)
- return result;
-
- if(data->set.postfieldsize) {
- /* set the upload size to the progress meter */
- Curl_pgrsSetUploadSize(data, postsize?postsize:-1);
-
- /* set the pointer to mark that we will send the post body using the
- read callback, but only if we're not in authenticate
- negotiation */
- if(!conn->bits.authneg) {
- http->postdata = (char *)&http->postdata;
- http->postsize = postsize;
- }
- }
- }
- /* issue the request */
- result = add_buffer_send(req_buffer, conn, &data->info.request_size,
- (size_t)included_body, FIRSTSOCKET);
-
- if(result)
- failf(data, "Failed sending HTTP POST request");
- else
- result =
- Curl_setup_transfer(conn, FIRSTSOCKET, -1, TRUE,
- &http->readbytecount,
- http->postdata?FIRSTSOCKET:-1,
- http->postdata?&http->writebytecount:NULL);
- break;
-
- default:
- result = add_buffer(req_buffer, "\r\n", 2);
- if(result)
- return result;
-
- /* issue the request */
- result = add_buffer_send(req_buffer, conn,
- &data->info.request_size, 0, FIRSTSOCKET);
-
- if(result)
- failf(data, "Failed sending HTTP request");
- else
- /* HTTP GET/HEAD download: */
- result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, TRUE,
- &http->readbytecount,
- http->postdata?FIRSTSOCKET:-1,
- http->postdata?&http->writebytecount:NULL);
- }
- if(result)
- return result;
-
- if(http->writebytecount) {
- /* if a request-body has been sent off, we make sure this progress is noted
- properly */
- Curl_pgrsSetUploadCounter(data, http->writebytecount);
- if(Curl_pgrsUpdate(conn))
- result = CURLE_ABORTED_BY_CALLBACK;
- }
-
- return result;
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http.h b/Utilities/cmcurl-7.19.0/lib/http.h
deleted file mode 100644
index 1c53120..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http.h
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef __HTTP_H
-#define __HTTP_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_HTTP
-
-extern const struct Curl_handler Curl_handler_http;
-
-#ifdef USE_SSL
-extern const struct Curl_handler Curl_handler_https;
-#endif
-
-bool Curl_compareheader(const char *headerline, /* line to check */
- const char *header, /* header keyword _with_ colon */
- const char *content); /* content string to find */
-
-char *Curl_copy_header_value(const char *h);
-
-/* ftp can use this as well */
-CURLcode Curl_proxyCONNECT(struct connectdata *conn,
- int tunnelsocket,
- const char *hostname, unsigned short remote_port);
-
-/* protocol-specific functions set up to be called by the main engine */
-CURLcode Curl_http(struct connectdata *conn, bool *done);
-CURLcode Curl_http_done(struct connectdata *, CURLcode, bool premature);
-CURLcode Curl_http_connect(struct connectdata *conn, bool *done);
-
-/* The following functions are defined in http_chunks.c */
-void Curl_httpchunk_init(struct connectdata *conn);
-CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap,
- ssize_t length, ssize_t *wrote);
-
-/* These functions are in http.c */
-void Curl_http_auth_stage(struct SessionHandle *data, int stage);
-CURLcode Curl_http_input_auth(struct connectdata *conn,
- int httpcode, const char *header);
-CURLcode Curl_http_auth_act(struct connectdata *conn);
-CURLcode Curl_http_perhapsrewind(struct connectdata *conn);
-
-int Curl_http_should_fail(struct connectdata *conn);
-
-/* If only the PICKNONE bit is set, there has been a round-trip and we
- selected to use no auth at all. Ie, we actively select no auth, as opposed
- to not having one selected. The other CURLAUTH_* defines are present in the
- public curl/curl.h header. */
-#define CURLAUTH_PICKNONE (1<<30) /* don't use auth */
-
-/* MAX_INITIAL_POST_SIZE indicates the number of bytes that will make the POST
- data get included in the initial data chunk sent to the server. If the
- data is larger than this, it will automatically get split up in multiple
- system calls.
-
- This value used to be fairly big (100K), but we must take into account that
- if the server rejects the POST due for authentication reasons, this data
- will always be uncondtionally sent and thus it may not be larger than can
- always be afforded to send twice.
-
- It must not be greater than 64K to work on VMS.
-*/
-#ifndef MAX_INITIAL_POST_SIZE
-#define MAX_INITIAL_POST_SIZE (64*1024)
-#endif
-
-#ifndef TINY_INITIAL_POST_SIZE
-#define TINY_INITIAL_POST_SIZE 1024
-#endif
-
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http_chunks.c b/Utilities/cmcurl-7.19.0/lib/http_chunks.c
deleted file mode 100644
index ad97834..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_chunks.c
+++ /dev/null
@@ -1,418 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-#ifndef CURL_DISABLE_HTTP
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include "urldata.h" /* it includes http_chunks.h */
-#include "sendf.h" /* for the client write stuff */
-
-#include "content_encoding.h"
-#include "http.h"
-#include "memory.h"
-#include "easyif.h" /* for Curl_convert_to_network prototype */
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/*
- * Chunk format (simplified):
- *
- * <HEX SIZE>[ chunk extension ] CRLF
- * <DATA> CRLF
- *
- * Highlights from RFC2616 section 3.6 say:
-
- The chunked encoding modifies the body of a message in order to
- transfer it as a series of chunks, each with its own size indicator,
- followed by an OPTIONAL trailer containing entity-header fields. This
- allows dynamically produced content to be transferred along with the
- information necessary for the recipient to verify that it has
- received the full message.
-
- Chunked-Body = *chunk
- last-chunk
- trailer
- CRLF
-
- chunk = chunk-size [ chunk-extension ] CRLF
- chunk-data CRLF
- chunk-size = 1*HEX
- last-chunk = 1*("0") [ chunk-extension ] CRLF
-
- chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
- chunk-ext-name = token
- chunk-ext-val = token | quoted-string
- chunk-data = chunk-size(OCTET)
- trailer = *(entity-header CRLF)
-
- The chunk-size field is a string of hex digits indicating the size of
- the chunk. The chunked encoding is ended by any chunk whose size is
- zero, followed by the trailer, which is terminated by an empty line.
-
- */
-
-
-void Curl_httpchunk_init(struct connectdata *conn)
-{
- struct Curl_chunker *chunk = &conn->chunk;
- chunk->hexindex=0; /* start at 0 */
- chunk->dataleft=0; /* no data left yet! */
- chunk->state = CHUNK_HEX; /* we get hex first! */
-}
-
-/*
- * chunk_read() returns a OK for normal operations, or a positive return code
- * for errors. STOP means this sequence of chunks is complete. The 'wrote'
- * argument is set to tell the caller how many bytes we actually passed to the
- * client (for byte-counting and whatever).
- *
- * The states and the state-machine is further explained in the header file.
- *
- * This function always uses ASCII hex values to accommodate non-ASCII hosts.
- * For example, 0x0d and 0x0a are used instead of '\r' and '\n'.
- */
-CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
- char *datap,
- ssize_t datalen,
- ssize_t *wrotep)
-{
- CURLcode result=CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct Curl_chunker *ch = &conn->chunk;
- struct SingleRequest *k = &data->req;
- size_t piece;
- size_t length = (size_t)datalen;
- size_t *wrote = (size_t *)wrotep;
-
- *wrote = 0; /* nothing's written yet */
-
- /* the original data is written to the client, but we go on with the
- chunk read process, to properly calculate the content length*/
- if(data->set.http_te_skip && !k->ignorebody) {
- result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, datalen);
- if(result)
- return CHUNKE_WRITE_ERROR;
- }
-
- while(length) {
- switch(ch->state) {
- case CHUNK_HEX:
- /* Check for an ASCII hex digit.
- We avoid the use of isxdigit to accommodate non-ASCII hosts. */
- if((*datap >= 0x30 && *datap <= 0x39) /* 0-9 */
- || (*datap >= 0x41 && *datap <= 0x46) /* A-F */
- || (*datap >= 0x61 && *datap <= 0x66)) { /* a-f */
- if(ch->hexindex < MAXNUM_SIZE) {
- ch->hexbuffer[ch->hexindex] = *datap;
- datap++;
- length--;
- ch->hexindex++;
- }
- else {
- return CHUNKE_TOO_LONG_HEX; /* longer hex than we support */
- }
- }
- else {
- if(0 == ch->hexindex) {
- /* This is illegal data, we received junk where we expected
- a hexadecimal digit. */
- return CHUNKE_ILLEGAL_HEX;
- }
- /* length and datap are unmodified */
- ch->hexbuffer[ch->hexindex]=0;
-#ifdef CURL_DOES_CONVERSIONS
- /* convert to host encoding before calling strtoul */
- result = Curl_convert_from_network(conn->data,
- ch->hexbuffer,
- ch->hexindex);
- if(result != CURLE_OK) {
- /* Curl_convert_from_network calls failf if unsuccessful */
- /* Treat it as a bad hex character */
- return(CHUNKE_ILLEGAL_HEX);
- }
-#endif /* CURL_DOES_CONVERSIONS */
- ch->datasize=strtoul(ch->hexbuffer, NULL, 16);
- ch->state = CHUNK_POSTHEX;
- }
- break;
-
- case CHUNK_POSTHEX:
- /* In this state, we're waiting for CRLF to arrive. We support
- this to allow so called chunk-extensions to show up here
- before the CRLF comes. */
- if(*datap == 0x0d)
- ch->state = CHUNK_CR;
- length--;
- datap++;
- break;
-
- case CHUNK_CR:
- /* waiting for the LF */
- if(*datap == 0x0a) {
- /* we're now expecting data to come, unless size was zero! */
- if(0 == ch->datasize) {
- if(k->trailerhdrpresent!=TRUE) {
- /* No Trailer: header found - revert to original Curl processing */
- ch->state = CHUNK_STOPCR;
-
- /* We need to increment the datap here since we bypass the
- increment below with the immediate break */
- length--;
- datap++;
-
- /* This is the final byte, continue to read the final CRLF */
- break;
- }
- else {
- ch->state = CHUNK_TRAILER; /* attempt to read trailers */
- conn->trlPos=0;
- }
- }
- else {
- ch->state = CHUNK_DATA;
- }
- }
- else
- /* previously we got a fake CR, go back to CR waiting! */
- ch->state = CHUNK_CR;
- datap++;
- length--;
- break;
-
- case CHUNK_DATA:
- /* we get pure and fine data
-
- We expect another 'datasize' of data. We have 'length' right now,
- it can be more or less than 'datasize'. Get the smallest piece.
- */
- piece = (ch->datasize >= length)?length:ch->datasize;
-
- /* Write the data portion available */
-#ifdef HAVE_LIBZ
- switch (conn->data->set.http_ce_skip?
- IDENTITY : data->req.content_encoding) {
- case IDENTITY:
-#endif
- if(!k->ignorebody) {
- if( !data->set.http_te_skip )
- result = Curl_client_write(conn, CLIENTWRITE_BODY, datap,
- piece);
- else
- result = CURLE_OK;
- }
-#ifdef HAVE_LIBZ
- break;
-
- case DEFLATE:
- /* update data->req.keep.str to point to the chunk data. */
- data->req.str = datap;
- result = Curl_unencode_deflate_write(conn, &data->req,
- (ssize_t)piece);
- break;
-
- case GZIP:
- /* update data->req.keep.str to point to the chunk data. */
- data->req.str = datap;
- result = Curl_unencode_gzip_write(conn, &data->req,
- (ssize_t)piece);
- break;
-
- case COMPRESS:
- default:
- failf (conn->data,
- "Unrecognized content encoding type. "
- "libcurl understands `identity', `deflate' and `gzip' "
- "content encodings.");
- return CHUNKE_BAD_ENCODING;
- }
-#endif
-
- if(result)
- return CHUNKE_WRITE_ERROR;
-
- *wrote += piece;
-
- ch->datasize -= piece; /* decrease amount left to expect */
- datap += piece; /* move read pointer forward */
- length -= piece; /* decrease space left in this round */
-
- if(0 == ch->datasize)
- /* end of data this round, we now expect a trailing CRLF */
- ch->state = CHUNK_POSTCR;
- break;
-
- case CHUNK_POSTCR:
- if(*datap == 0x0d) {
- ch->state = CHUNK_POSTLF;
- datap++;
- length--;
- }
- else {
- return CHUNKE_BAD_CHUNK;
- }
- break;
-
- case CHUNK_POSTLF:
- if(*datap == 0x0a) {
- /*
- * The last one before we go back to hex state and start all
- * over.
- */
- Curl_httpchunk_init(conn);
- datap++;
- length--;
- }
- else {
- return CHUNKE_BAD_CHUNK;
- }
-
- break;
-
- case CHUNK_TRAILER:
- /* conn->trailer is assumed to be freed in url.c on a
- connection basis */
- if(conn->trlPos >= conn->trlMax) {
- char *ptr;
- if(conn->trlMax) {
- conn->trlMax *= 2;
- ptr = (char*)realloc(conn->trailer,conn->trlMax);
- }
- else {
- conn->trlMax=128;
- ptr = (char*)malloc(conn->trlMax);
- }
- if(!ptr)
- return CHUNKE_OUT_OF_MEMORY;
- conn->trailer = ptr;
- }
- conn->trailer[conn->trlPos++]=*datap;
-
- if(*datap == 0x0d)
- ch->state = CHUNK_TRAILER_CR;
- else {
- datap++;
- length--;
- }
- break;
-
- case CHUNK_TRAILER_CR:
- if(*datap == 0x0d) {
- ch->state = CHUNK_TRAILER_POSTCR;
- datap++;
- length--;
- }
- else
- return CHUNKE_BAD_CHUNK;
- break;
-
- case CHUNK_TRAILER_POSTCR:
- if(*datap == 0x0a) {
- conn->trailer[conn->trlPos++]=0x0a;
- conn->trailer[conn->trlPos]=0;
- if(conn->trlPos==2) {
- ch->state = CHUNK_STOP;
- datap++;
- length--;
-
- /*
- * Note that this case skips over the final STOP states since we've
- * already read the final CRLF and need to return
- */
-
- ch->dataleft = length;
-
- return CHUNKE_STOP; /* return stop */
- }
- else {
-#ifdef CURL_DOES_CONVERSIONS
- /* Convert to host encoding before calling Curl_client_write */
- result = Curl_convert_from_network(conn->data,
- conn->trailer,
- conn->trlPos);
- if(result != CURLE_OK) {
- /* Curl_convert_from_network calls failf if unsuccessful */
- /* Treat it as a bad chunk */
- return(CHUNKE_BAD_CHUNK);
- }
-#endif /* CURL_DOES_CONVERSIONS */
- if(!data->set.http_te_skip) {
- result = Curl_client_write(conn, CLIENTWRITE_HEADER,
- conn->trailer, conn->trlPos);
- if(result)
- return CHUNKE_WRITE_ERROR;
- }
- }
- ch->state = CHUNK_TRAILER;
- conn->trlPos=0;
- datap++;
- length--;
- }
- else
- return CHUNKE_BAD_CHUNK;
- break;
-
- case CHUNK_STOPCR:
- /* Read the final CRLF that ends all chunk bodies */
-
- if(*datap == 0x0d) {
- ch->state = CHUNK_STOP;
- datap++;
- length--;
- }
- else {
- return CHUNKE_BAD_CHUNK;
- }
- break;
-
- case CHUNK_STOP:
- if(*datap == 0x0a) {
- datap++;
- length--;
-
- /* Record the length of any data left in the end of the buffer
- even if there's no more chunks to read */
-
- ch->dataleft = length;
- return CHUNKE_STOP; /* return stop */
- }
- else {
- return CHUNKE_BAD_CHUNK;
- }
-
- default:
- return CHUNKE_STATE_ERROR;
- }
- }
- return CHUNKE_OK;
-}
-#endif /* CURL_DISABLE_HTTP */
diff --git a/Utilities/cmcurl-7.19.0/lib/http_chunks.h b/Utilities/cmcurl-7.19.0/lib/http_chunks.h
deleted file mode 100644
index c478799..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_chunks.h
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef __HTTP_CHUNKS_H
-#define __HTTP_CHUNKS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-/*
- * The longest possible hexadecimal number we support in a chunked transfer.
- * Weird enough, RFC2616 doesn't set a maximum size! Since we use strtoul()
- * to convert it, we "only" support 2^32 bytes chunk data.
- */
-#define MAXNUM_SIZE 16
-
-typedef enum {
- CHUNK_FIRST, /* never use */
-
- /* In this we await and buffer all hexadecimal digits until we get one
- that isn't a hexadecimal digit. When done, we go POSTHEX */
- CHUNK_HEX,
-
- /* We have received the hexadecimal digit and we eat all characters until
- we get a CRLF pair. When we see a CR we go to the CR state. */
- CHUNK_POSTHEX,
-
- /* A single CR has been found and we should get a LF right away in this
- state or we go back to POSTHEX. When LF is received, we go to DATA.
- If the size given was zero, we set state to STOP and return. */
- CHUNK_CR,
-
- /* We eat the amount of data specified. When done, we move on to the
- POST_CR state. */
- CHUNK_DATA,
-
- /* POSTCR should get a CR and nothing else, then move to POSTLF */
- CHUNK_POSTCR,
-
- /* POSTLF should get a LF and nothing else, then move back to HEX as the
- CRLF combination marks the end of a chunk */
- CHUNK_POSTLF,
-
- /* Each Chunk body should end with a CRLF. Read a CR and nothing else,
- then move to CHUNK_STOP */
- CHUNK_STOPCR,
-
- /* This is mainly used to really mark that we're out of the game.
- NOTE: that there's a 'dataleft' field in the struct that will tell how
- many bytes that were not passed to the client in the end of the last
- buffer! */
- CHUNK_STOP,
-
- /* At this point optional trailer headers can be found, unless the next line
- is CRLF */
- CHUNK_TRAILER,
-
- /* A trailer CR has been found - next state is CHUNK_TRAILER_POSTCR.
- Next char must be a LF */
- CHUNK_TRAILER_CR,
-
- /* A trailer LF must be found now, otherwise CHUNKE_BAD_CHUNK will be
- signalled If this is an empty trailer CHUNKE_STOP will be signalled.
- Otherwise the trailer will be broadcasted via Curl_client_write() and the
- next state will be CHUNK_TRAILER */
- CHUNK_TRAILER_POSTCR,
-
- CHUNK_LAST /* never use */
-
-} ChunkyState;
-
-typedef enum {
- CHUNKE_STOP = -1,
- CHUNKE_OK = 0,
- CHUNKE_TOO_LONG_HEX = 1,
- CHUNKE_ILLEGAL_HEX,
- CHUNKE_BAD_CHUNK,
- CHUNKE_WRITE_ERROR,
- CHUNKE_STATE_ERROR,
- CHUNKE_BAD_ENCODING,
- CHUNKE_OUT_OF_MEMORY,
- CHUNKE_LAST
-} CHUNKcode;
-
-struct Curl_chunker {
- char hexbuffer[ MAXNUM_SIZE + 1];
- int hexindex;
- ChunkyState state;
- size_t datasize;
- size_t dataleft; /* untouched data amount at the end of the last buffer */
-};
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http_digest.c b/Utilities/cmcurl-7.19.0/lib/http_digest.c
deleted file mode 100644
index 82096c3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_digest.c
+++ /dev/null
@@ -1,510 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH)
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include "urldata.h"
-#include "sendf.h"
-#include "strequal.h"
-#include "curl_base64.h"
-#include "curl_md5.h"
-#include "http_digest.h"
-#include "strtok.h"
-#include "url.h" /* for Curl_safefree() */
-#include "memory.h"
-#include "easyif.h" /* included for Curl_convert_... prototypes */
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* Test example headers:
-
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604598"
-Proxy-Authenticate: Digest realm="testrealm", nonce="1053604598"
-
-*/
-
-CURLdigest Curl_input_digest(struct connectdata *conn,
- bool proxy,
- const char *header) /* rest of the *-authenticate:
- header */
-{
- bool more = TRUE;
- char *token = NULL;
- char *tmp = NULL;
- bool foundAuth = FALSE;
- bool foundAuthInt = FALSE;
- struct SessionHandle *data=conn->data;
- bool before = FALSE; /* got a nonce before */
- struct digestdata *d;
-
- if(proxy) {
- d = &data->state.proxydigest;
- }
- else {
- d = &data->state.digest;
- }
-
- /* skip initial whitespaces */
- while(*header && ISSPACE(*header))
- header++;
-
- if(checkprefix("Digest", header)) {
- header += strlen("Digest");
-
- /* If we already have received a nonce, keep that in mind */
- if(d->nonce)
- before = TRUE;
-
- /* clear off any former leftovers and init to defaults */
- Curl_digest_cleanup_one(d);
-
- while(more) {
- char value[256];
- char content[1024];
- size_t totlen=0;
-
- while(*header && ISSPACE(*header))
- header++;
-
- /* how big can these strings be? */
- if((2 == sscanf(header, "%255[^=]=\"%1023[^\"]\"",
- value, content)) ||
- /* try the same scan but without quotes around the content but don't
- include the possibly trailing comma, newline or carriage return */
- (2 == sscanf(header, "%255[^=]=%1023[^\r\n,]",
- value, content)) ) {
- if(strequal(value, "nonce")) {
- d->nonce = strdup(content);
- if(!d->nonce)
- return CURLDIGEST_NOMEM;
- }
- else if(strequal(value, "stale")) {
- if(strequal(content, "true")) {
- d->stale = TRUE;
- d->nc = 1; /* we make a new nonce now */
- }
- }
- else if(strequal(value, "realm")) {
- d->realm = strdup(content);
- if(!d->realm)
- return CURLDIGEST_NOMEM;
- }
- else if(strequal(value, "opaque")) {
- d->opaque = strdup(content);
- if(!d->opaque)
- return CURLDIGEST_NOMEM;
- }
- else if(strequal(value, "qop")) {
- char *tok_buf;
- /* tokenize the list and choose auth if possible, use a temporary
- clone of the buffer since strtok_r() ruins it */
- tmp = strdup(content);
- if(!tmp)
- return CURLDIGEST_NOMEM;
- token = strtok_r(tmp, ",", &tok_buf);
- while(token != NULL) {
- if(strequal(token, "auth")) {
- foundAuth = TRUE;
- }
- else if(strequal(token, "auth-int")) {
- foundAuthInt = TRUE;
- }
- token = strtok_r(NULL, ",", &tok_buf);
- }
- free(tmp);
- /*select only auth o auth-int. Otherwise, ignore*/
- if(foundAuth) {
- d->qop = strdup("auth");
- if(!d->qop)
- return CURLDIGEST_NOMEM;
- }
- else if(foundAuthInt) {
- d->qop = strdup("auth-int");
- if(!d->qop)
- return CURLDIGEST_NOMEM;
- }
- }
- else if(strequal(value, "algorithm")) {
- d->algorithm = strdup(content);
- if(!d->algorithm)
- return CURLDIGEST_NOMEM;
- if(strequal(content, "MD5-sess"))
- d->algo = CURLDIGESTALGO_MD5SESS;
- else if(strequal(content, "MD5"))
- d->algo = CURLDIGESTALGO_MD5;
- else
- return CURLDIGEST_BADALGO;
- }
- else {
- /* unknown specifier, ignore it! */
- }
- totlen = strlen(value)+strlen(content)+1;
-
- if(header[strlen(value)+1] == '\"')
- /* the contents were within quotes, then add 2 for them to the
- length */
- totlen += 2;
- }
- else
- break; /* we're done here */
-
- header += totlen;
- /* pass all additional spaces here */
- while(*header && ISSPACE(*header))
- header++;
- if(',' == *header)
- /* allow the list to be comma-separated */
- header++;
- }
- /* We had a nonce since before, and we got another one now without
- 'stale=true'. This means we provided bad credentials in the previous
- request */
- if(before && !d->stale)
- return CURLDIGEST_BAD;
-
- /* We got this header without a nonce, that's a bad Digest line! */
- if(!d->nonce)
- return CURLDIGEST_BAD;
- }
- else
- /* else not a digest, get out */
- return CURLDIGEST_NONE;
-
- return CURLDIGEST_FINE;
-}
-
-/* convert md5 chunk to RFC2617 (section 3.1.3) -suitable ascii string*/
-static void md5_to_ascii(unsigned char *source, /* 16 bytes */
- unsigned char *dest) /* 33 bytes */
-{
- int i;
- for(i=0; i<16; i++)
- snprintf((char *)&dest[i*2], 3, "%02x", source[i]);
-}
-
-CURLcode Curl_output_digest(struct connectdata *conn,
- bool proxy,
- const unsigned char *request,
- const unsigned char *uripath)
-{
- /* We have a Digest setup for this, use it! Now, to get all the details for
- this sorted out, I must urge you dear friend to read up on the RFC2617
- section 3.2.2, */
- unsigned char md5buf[16]; /* 16 bytes/128 bits */
- unsigned char request_digest[33];
- unsigned char *md5this;
- unsigned char *ha1;
- unsigned char ha2[33];/* 32 digits and 1 zero byte */
- char cnoncebuf[7];
- char *cnonce;
- char *tmp = NULL;
- struct timeval now;
-
- char **allocuserpwd;
- char *userp;
- char *passwdp;
- struct auth *authp;
-
- struct SessionHandle *data = conn->data;
- struct digestdata *d;
-#ifdef CURL_DOES_CONVERSIONS
- CURLcode rc;
-/* The CURL_OUTPUT_DIGEST_CONV macro below is for non-ASCII machines.
- It converts digest text to ASCII so the MD5 will be correct for
- what ultimately goes over the network.
-*/
-#define CURL_OUTPUT_DIGEST_CONV(a, b) \
- rc = Curl_convert_to_network(a, (char *)b, strlen((const char*)b)); \
- if(rc != CURLE_OK) { \
- free(b); \
- return rc; \
- }
-#else
-#define CURL_OUTPUT_DIGEST_CONV(a, b)
-#endif /* CURL_DOES_CONVERSIONS */
-
- if(proxy) {
- d = &data->state.proxydigest;
- allocuserpwd = &conn->allocptr.proxyuserpwd;
- userp = conn->proxyuser;
- passwdp = conn->proxypasswd;
- authp = &data->state.authproxy;
- }
- else {
- d = &data->state.digest;
- allocuserpwd = &conn->allocptr.userpwd;
- userp = conn->user;
- passwdp = conn->passwd;
- authp = &data->state.authhost;
- }
-
- if(*allocuserpwd) {
- Curl_safefree(*allocuserpwd);
- *allocuserpwd = NULL;
- }
-
- /* not set means empty */
- if(!userp)
- userp=(char *)"";
-
- if(!passwdp)
- passwdp=(char *)"";
-
- if(!d->nonce) {
- authp->done = FALSE;
- return CURLE_OK;
- }
- authp->done = TRUE;
-
- if(!d->nc)
- d->nc = 1;
-
- if(!d->cnonce) {
- /* Generate a cnonce */
- now = Curl_tvnow();
- snprintf(cnoncebuf, sizeof(cnoncebuf), "%06ld", now.tv_sec);
- if(Curl_base64_encode(data, cnoncebuf, strlen(cnoncebuf), &cnonce))
- d->cnonce = cnonce;
- else
- return CURLE_OUT_OF_MEMORY;
- }
-
- /*
- if the algorithm is "MD5" or unspecified (which then defaults to MD5):
-
- A1 = unq(username-value) ":" unq(realm-value) ":" passwd
-
- if the algorithm is "MD5-sess" then:
-
- A1 = H( unq(username-value) ":" unq(realm-value) ":" passwd )
- ":" unq(nonce-value) ":" unq(cnonce-value)
- */
-
- md5this = (unsigned char *)
- aprintf("%s:%s:%s", userp, d->realm, passwdp);
- if(!md5this)
- return CURLE_OUT_OF_MEMORY;
-
- CURL_OUTPUT_DIGEST_CONV(data, md5this); /* convert on non-ASCII machines */
- Curl_md5it(md5buf, md5this);
- free(md5this); /* free this again */
-
- ha1 = (unsigned char *)malloc(33); /* 32 digits and 1 zero byte */
- if(!ha1)
- return CURLE_OUT_OF_MEMORY;
-
- md5_to_ascii(md5buf, ha1);
-
- if(d->algo == CURLDIGESTALGO_MD5SESS) {
- /* nonce and cnonce are OUTSIDE the hash */
- tmp = aprintf("%s:%s:%s", ha1, d->nonce, d->cnonce);
- if(!tmp)
- return CURLE_OUT_OF_MEMORY;
- CURL_OUTPUT_DIGEST_CONV(data, tmp); /* convert on non-ASCII machines */
- Curl_md5it(md5buf, (unsigned char *)tmp);
- free(tmp); /* free this again */
- md5_to_ascii(md5buf, ha1);
- }
-
- /*
- If the "qop" directive's value is "auth" or is unspecified, then A2 is:
-
- A2 = Method ":" digest-uri-value
-
- If the "qop" value is "auth-int", then A2 is:
-
- A2 = Method ":" digest-uri-value ":" H(entity-body)
-
- (The "Method" value is the HTTP request method as specified in section
- 5.1.1 of RFC 2616)
- */
-
- md5this = (unsigned char *)aprintf("%s:%s", request, uripath);
- if(!md5this) {
- free(ha1);
- return CURLE_OUT_OF_MEMORY;
- }
-
- if(d->qop && strequal(d->qop, "auth-int")) {
- /* We don't support auth-int at the moment. I can't see a easy way to get
- entity-body here */
- /* TODO: Append H(entity-body)*/
- }
- CURL_OUTPUT_DIGEST_CONV(data, md5this); /* convert on non-ASCII machines */
- Curl_md5it(md5buf, md5this);
- free(md5this); /* free this again */
- md5_to_ascii(md5buf, ha2);
-
- if(d->qop) {
- md5this = (unsigned char *)aprintf("%s:%s:%08x:%s:%s:%s",
- ha1,
- d->nonce,
- d->nc,
- d->cnonce,
- d->qop,
- ha2);
- }
- else {
- md5this = (unsigned char *)aprintf("%s:%s:%s",
- ha1,
- d->nonce,
- ha2);
- }
- free(ha1);
- if(!md5this)
- return CURLE_OUT_OF_MEMORY;
-
- CURL_OUTPUT_DIGEST_CONV(data, md5this); /* convert on non-ASCII machines */
- Curl_md5it(md5buf, md5this);
- free(md5this); /* free this again */
- md5_to_ascii(md5buf, request_digest);
-
- /* for test case 64 (snooped from a Mozilla 1.3a request)
-
- Authorization: Digest username="testuser", realm="testrealm", \
- nonce="1053604145", uri="/64", response="c55f7f30d83d774a3d2dcacf725abaca"
- */
-
- if(d->qop) {
- *allocuserpwd =
- aprintf( "%sAuthorization: Digest "
- "username=\"%s\", "
- "realm=\"%s\", "
- "nonce=\"%s\", "
- "uri=\"%s\", "
- "cnonce=\"%s\", "
- "nc=%08x, "
- "qop=\"%s\", "
- "response=\"%s\"",
- proxy?"Proxy-":"",
- userp,
- d->realm,
- d->nonce,
- uripath, /* this is the PATH part of the URL */
- d->cnonce,
- d->nc,
- d->qop,
- request_digest);
-
- if(strequal(d->qop, "auth"))
- d->nc++; /* The nc (from RFC) has to be a 8 hex digit number 0 padded
- which tells to the server how many times you are using the
- same nonce in the qop=auth mode. */
- }
- else {
- *allocuserpwd =
- aprintf( "%sAuthorization: Digest "
- "username=\"%s\", "
- "realm=\"%s\", "
- "nonce=\"%s\", "
- "uri=\"%s\", "
- "response=\"%s\"",
- proxy?"Proxy-":"",
- userp,
- d->realm,
- d->nonce,
- uripath, /* this is the PATH part of the URL */
- request_digest);
- }
- if(!*allocuserpwd)
- return CURLE_OUT_OF_MEMORY;
-
- /* Add optional fields */
- if(d->opaque) {
- /* append opaque */
- tmp = aprintf("%s, opaque=\"%s\"", *allocuserpwd, d->opaque);
- if(!tmp)
- return CURLE_OUT_OF_MEMORY;
- free(*allocuserpwd);
- *allocuserpwd = tmp;
- }
-
- if(d->algorithm) {
- /* append algorithm */
- tmp = aprintf("%s, algorithm=\"%s\"", *allocuserpwd, d->algorithm);
- if(!tmp)
- return CURLE_OUT_OF_MEMORY;
- free(*allocuserpwd);
- *allocuserpwd = tmp;
- }
-
- /* append CRLF to the userpwd header */
- tmp = (char*) realloc(*allocuserpwd, strlen(*allocuserpwd) + 3 + 1);
- if(!tmp)
- return CURLE_OUT_OF_MEMORY;
- strcat(tmp, "\r\n");
- *allocuserpwd = tmp;
-
- return CURLE_OK;
-}
-
-void Curl_digest_cleanup_one(struct digestdata *d)
-{
- if(d->nonce)
- free(d->nonce);
- d->nonce = NULL;
-
- if(d->cnonce)
- free(d->cnonce);
- d->cnonce = NULL;
-
- if(d->realm)
- free(d->realm);
- d->realm = NULL;
-
- if(d->opaque)
- free(d->opaque);
- d->opaque = NULL;
-
- if(d->qop)
- free(d->qop);
- d->qop = NULL;
-
- if(d->algorithm)
- free(d->algorithm);
- d->algorithm = NULL;
-
- d->nc = 0;
- d->algo = CURLDIGESTALGO_MD5; /* default algorithm */
- d->stale = FALSE; /* default means normal, not stale */
-}
-
-
-void Curl_digest_cleanup(struct SessionHandle *data)
-{
- Curl_digest_cleanup_one(&data->state.digest);
- Curl_digest_cleanup_one(&data->state.proxydigest);
-}
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http_digest.h b/Utilities/cmcurl-7.19.0/lib/http_digest.h
deleted file mode 100644
index c83cb1e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_digest.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef __HTTP_DIGEST_H
-#define __HTTP_DIGEST_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-typedef enum {
- CURLDIGEST_NONE, /* not a digest */
- CURLDIGEST_BAD, /* a digest, but one we don't like */
- CURLDIGEST_BADALGO, /* unsupported algorithm requested */
- CURLDIGEST_NOMEM,
- CURLDIGEST_FINE, /* a digest we act on */
-
- CURLDIGEST_LAST /* last entry in this enum, don't use */
-} CURLdigest;
-
-enum {
- CURLDIGESTALGO_MD5,
- CURLDIGESTALGO_MD5SESS
-};
-
-/* this is for digest header input */
-CURLdigest Curl_input_digest(struct connectdata *conn,
- bool proxy, const char *header);
-
-/* this is for creating digest header output */
-CURLcode Curl_output_digest(struct connectdata *conn,
- bool proxy,
- const unsigned char *request,
- const unsigned char *uripath);
-void Curl_digest_cleanup_one(struct digestdata *dig);
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH)
-void Curl_digest_cleanup(struct SessionHandle *data);
-#else
-#define Curl_digest_cleanup(x) do {} while(0)
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http_negotiate.c b/Utilities/cmcurl-7.19.0/lib/http_negotiate.c
deleted file mode 100644
index 80c00a1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_negotiate.c
+++ /dev/null
@@ -1,359 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-#ifdef HAVE_GSSAPI
-#ifdef HAVE_OLD_GSSMIT
-#define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
-#endif
-
-#ifndef CURL_DISABLE_HTTP
- /* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include "urldata.h"
-#include "sendf.h"
-#include "strequal.h"
-#include "curl_base64.h"
-#include "http_negotiate.h"
-#include "memory.h"
-
-#ifdef HAVE_SPNEGO
-# include <spnegohelp.h>
-# ifdef USE_SSLEAY
-# ifdef USE_OPENSSL
-# include <openssl/objects.h>
-# else
-# include <objects.h>
-# endif
-# else
-# error "Can't compile SPNEGO support without OpenSSL."
-# endif
-#endif
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-static int
-get_gss_name(struct connectdata *conn, bool proxy, gss_name_t *server)
-{
- struct negotiatedata *neg_ctx = proxy?&conn->data->state.proxyneg:
- &conn->data->state.negotiate;
- OM_uint32 major_status, minor_status;
- gss_buffer_desc token = GSS_C_EMPTY_BUFFER;
- char name[2048];
- const char* service;
-
- /* GSSAPI implementation by Globus (known as GSI) requires the name to be
- of form "<service>/<fqdn>" instead of <service>@<fqdn> (ie. slash instead
- of at-sign). Also GSI servers are often identified as 'host' not 'khttp'.
- Change following lines if you want to use GSI */
-
- /* IIS uses the <service>@<fqdn> form but uses 'http' as the service name */
-
- if(neg_ctx->gss)
- service = "KHTTP";
- else
- service = "HTTP";
-
- token.length = strlen(service) + 1 + strlen(proxy ? conn->proxy.name :
- conn->host.name) + 1;
- if(token.length + 1 > sizeof(name))
- return EMSGSIZE;
-
- snprintf(name, sizeof(name), "%s@%s", service, proxy ? conn->proxy.name :
- conn->host.name);
-
- token.value = (void *) name;
- major_status = gss_import_name(&minor_status,
- &token,
- GSS_C_NT_HOSTBASED_SERVICE,
- server);
-
- return GSS_ERROR(major_status) ? -1 : 0;
-}
-
-static void
-log_gss_error(struct connectdata *conn, OM_uint32 error_status, char *prefix)
-{
- OM_uint32 maj_stat, min_stat;
- OM_uint32 msg_ctx = 0;
- gss_buffer_desc status_string;
- char buf[1024];
- size_t len;
-
- snprintf(buf, sizeof(buf), "%s", prefix);
- len = strlen(buf);
- do {
- maj_stat = gss_display_status(&min_stat,
- error_status,
- GSS_C_MECH_CODE,
- GSS_C_NO_OID,
- &msg_ctx,
- &status_string);
- if(sizeof(buf) > len + status_string.length + 1) {
- snprintf(buf + len, sizeof(buf) - len,
- ": %s", (char*) status_string.value);
- len += status_string.length;
- }
- gss_release_buffer(&min_stat, &status_string);
- } while(!GSS_ERROR(maj_stat) && msg_ctx != 0);
-
- infof(conn->data, "%s", buf);
-}
-
-/* returning zero (0) means success, everything else is treated as "failure"
- with no care exactly what the failure was */
-int Curl_input_negotiate(struct connectdata *conn, bool proxy,
- const char *header)
-{
- struct negotiatedata *neg_ctx = proxy?&conn->data->state.proxyneg:
- &conn->data->state.negotiate;
- OM_uint32 major_status, minor_status, minor_status2;
- gss_buffer_desc input_token = GSS_C_EMPTY_BUFFER;
- gss_buffer_desc output_token = GSS_C_EMPTY_BUFFER;
- int ret;
- size_t len;
- bool gss;
- const char* protocol;
-
- while(*header && ISSPACE(*header))
- header++;
- if(checkprefix("GSS-Negotiate", header)) {
- protocol = "GSS-Negotiate";
- gss = TRUE;
- }
- else if(checkprefix("Negotiate", header)) {
- protocol = "Negotiate";
- gss = FALSE;
- }
- else
- return -1;
-
- if(neg_ctx->context) {
- if(neg_ctx->gss != gss) {
- return -1;
- }
- }
- else {
- neg_ctx->protocol = protocol;
- neg_ctx->gss = gss;
- }
-
- if(neg_ctx->context && neg_ctx->status == GSS_S_COMPLETE) {
- /* We finished succesfully our part of authentication, but server
- * rejected it (since we're again here). Exit with an error since we
- * can't invent anything better */
- Curl_cleanup_negotiate(conn->data);
- return -1;
- }
-
- if(neg_ctx->server_name == NULL &&
- (ret = get_gss_name(conn, proxy, &neg_ctx->server_name)))
- return ret;
-
- header += strlen(neg_ctx->protocol);
- while(*header && ISSPACE(*header))
- header++;
-
- len = strlen(header);
- if(len > 0) {
- int rawlen = Curl_base64_decode(header,
- (unsigned char **)&input_token.value);
- if(rawlen < 0)
- return -1;
- input_token.length = rawlen;
-
-#ifdef HAVE_SPNEGO /* Handle SPNEGO */
- if(checkprefix("Negotiate", header)) {
- ASN1_OBJECT * object = NULL;
- int rc = 1;
- unsigned char * spnegoToken = NULL;
- size_t spnegoTokenLength = 0;
- unsigned char * mechToken = NULL;
- size_t mechTokenLength = 0;
-
- if(input_token.value == NULL)
- return CURLE_OUT_OF_MEMORY;
-
- spnegoToken = malloc(input_token.length);
- if(spnegoToken == NULL)
- return CURLE_OUT_OF_MEMORY;
-
- spnegoTokenLength = input_token.length;
-
- object = OBJ_txt2obj ("1.2.840.113554.1.2.2", 1);
- if(!parseSpnegoTargetToken(spnegoToken,
- spnegoTokenLength,
- NULL,
- NULL,
- &mechToken,
- &mechTokenLength,
- NULL,
- NULL)) {
- free(spnegoToken);
- spnegoToken = NULL;
- infof(conn->data, "Parse SPNEGO Target Token failed\n");
- }
- else {
- free(input_token.value);
- input_token.value = malloc(mechTokenLength);
- if (input_token.value == NULL)
- return CURLE_OUT_OF_MEMORY;
-
- memcpy(input_token.value, mechToken,mechTokenLength);
- input_token.length = mechTokenLength;
- free(mechToken);
- mechToken = NULL;
- infof(conn->data, "Parse SPNEGO Target Token succeeded\n");
- }
- }
-#endif
- }
-
- major_status = gss_init_sec_context(&minor_status,
- GSS_C_NO_CREDENTIAL,
- &neg_ctx->context,
- neg_ctx->server_name,
- GSS_C_NO_OID,
- GSS_C_DELEG_FLAG,
- 0,
- GSS_C_NO_CHANNEL_BINDINGS,
- &input_token,
- NULL,
- &output_token,
- NULL,
- NULL);
- if(input_token.length > 0)
- gss_release_buffer(&minor_status2, &input_token);
- neg_ctx->status = major_status;
- if(GSS_ERROR(major_status)) {
- /* Curl_cleanup_negotiate(conn->data) ??? */
- log_gss_error(conn, minor_status,
- (char *)"gss_init_sec_context() failed: ");
- return -1;
- }
-
- if(output_token.length == 0) {
- return -1;
- }
-
- neg_ctx->output_token = output_token;
- /* conn->bits.close = FALSE; */
-
- return 0;
-}
-
-
-CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy)
-{
- struct negotiatedata *neg_ctx = proxy?&conn->data->state.proxyneg:
- &conn->data->state.negotiate;
- char *encoded = NULL;
- int len;
-
-#ifdef HAVE_SPNEGO /* Handle SPNEGO */
- if(checkprefix("Negotiate", neg_ctx->protocol)) {
- ASN1_OBJECT * object = NULL;
- int rc = 1;
- unsigned char * spnegoToken = NULL;
- size_t spnegoTokenLength = 0;
- unsigned char * responseToken = NULL;
- size_t responseTokenLength = 0;
-
- responseToken = malloc(neg_ctx->output_token.length);
- if( responseToken == NULL)
- return CURLE_OUT_OF_MEMORY;
- memcpy(responseToken, neg_ctx->output_token.value,
- neg_ctx->output_token.length);
- responseTokenLength = neg_ctx->output_token.length;
-
- object=OBJ_txt2obj ("1.2.840.113554.1.2.2", 1);
- if(!makeSpnegoInitialToken (object,
- responseToken,
- responseTokenLength,
- &spnegoToken,
- &spnegoTokenLength)) {
- free(responseToken);
- responseToken = NULL;
- infof(conn->data, "Make SPNEGO Initial Token failed\n");
- }
- else {
- free(neg_ctx->output_token.value);
- responseToken = NULL;
- neg_ctx->output_token.value = malloc(spnegoTokenLength);
- memcpy(neg_ctx->output_token.value, spnegoToken,spnegoTokenLength);
- neg_ctx->output_token.length = spnegoTokenLength;
- free(spnegoToken);
- spnegoToken = NULL;
- infof(conn->data, "Make SPNEGO Initial Token succeeded\n");
- }
- }
-#endif
- len = Curl_base64_encode(conn->data,
- neg_ctx->output_token.value,
- neg_ctx->output_token.length,
- &encoded);
-
- if(len == 0)
- return CURLE_OUT_OF_MEMORY;
-
- conn->allocptr.userpwd =
- aprintf("%sAuthorization: %s %s\r\n", proxy ? "Proxy-" : "",
- neg_ctx->protocol, encoded);
- free(encoded);
- Curl_cleanup_negotiate (conn->data);
- return (conn->allocptr.userpwd == NULL) ? CURLE_OUT_OF_MEMORY : CURLE_OK;
-}
-
-static void cleanup(struct negotiatedata *neg_ctx)
-{
- OM_uint32 minor_status;
- if(neg_ctx->context != GSS_C_NO_CONTEXT)
- gss_delete_sec_context(&minor_status, &neg_ctx->context, GSS_C_NO_BUFFER);
-
- if(neg_ctx->output_token.length != 0)
- gss_release_buffer(&minor_status, &neg_ctx->output_token);
-
- if(neg_ctx->server_name != GSS_C_NO_NAME)
- gss_release_name(&minor_status, &neg_ctx->server_name);
-
- memset(neg_ctx, 0, sizeof(*neg_ctx));
-}
-
-void Curl_cleanup_negotiate(struct SessionHandle *data)
-{
- cleanup(&data->state.negotiate);
- cleanup(&data->state.proxyneg);
-}
-
-
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http_negotiate.h b/Utilities/cmcurl-7.19.0/lib/http_negotiate.h
deleted file mode 100644
index 669fee5..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_negotiate.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef __HTTP_NEGOTIATE_H
-#define __HTTP_NEGOTIATE_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef HAVE_GSSAPI
-
-/* this is for Negotiate header input */
-int Curl_input_negotiate(struct connectdata *conn, bool proxy, const char *header);
-
-/* this is for creating Negotiate header output */
-CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy);
-
-void Curl_cleanup_negotiate(struct SessionHandle *data);
-
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/http_ntlm.c b/Utilities/cmcurl-7.19.0/lib/http_ntlm.c
deleted file mode 100644
index 8db1030..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_ntlm.c
+++ /dev/null
@@ -1,1157 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-/* NTLM details:
-
- http://davenport.sourceforge.net/ntlm.html
- http://www.innovation.ch/java/ntlm.html
-
- Another implementation:
- http://lxr.mozilla.org/mozilla/source/security/manager/ssl/src/nsNTLMAuthModule.cpp
-
-*/
-
-#ifndef CURL_DISABLE_HTTP
-#ifdef USE_NTLM
-
-#define DEBUG_ME 0
-
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
-#include <netdb.h>
-#endif
-
-#include "urldata.h"
-#include "easyif.h" /* for Curl_convert_... prototypes */
-#include "sendf.h"
-#include "strequal.h"
-#include "curl_base64.h"
-#include "http_ntlm.h"
-#include "url.h"
-#include "memory.h"
-#include "ssluse.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* "NTLMSSP" signature is always in ASCII regardless of the platform */
-#define NTLMSSP_SIGNATURE "\x4e\x54\x4c\x4d\x53\x53\x50"
-
-#ifndef USE_WINDOWS_SSPI
-
-# ifdef USE_SSLEAY
-# ifdef USE_OPENSSL
-# include <openssl/des.h>
-# include <openssl/md4.h>
-# include <openssl/md5.h>
-# include <openssl/ssl.h>
-# include <openssl/rand.h>
-# else
-# include <des.h>
-# include <md4.h>
-# include <md5.h>
-# include <ssl.h>
-# include <rand.h>
-# endif
-# else
-# error "Can't compile NTLM support without OpenSSL."
-# endif
-
-#if OPENSSL_VERSION_NUMBER < 0x00907001L
-#define DES_key_schedule des_key_schedule
-#define DES_cblock des_cblock
-#define DES_set_odd_parity des_set_odd_parity
-#define DES_set_key des_set_key
-#define DES_ecb_encrypt des_ecb_encrypt
-
-/* This is how things were done in the old days */
-#define DESKEY(x) x
-#define DESKEYARG(x) x
-#else
-/* Modern version */
-#define DESKEYARG(x) *x
-#define DESKEY(x) &x
-#endif
-
-#else
-
-#include <rpc.h>
-
-/* Handle of security.dll or secur32.dll, depending on Windows version */
-static HMODULE s_hSecDll = NULL;
-/* Pointer to SSPI dispatch table */
-static PSecurityFunctionTable s_pSecFn = NULL;
-
-#endif
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* Define this to make the type-3 message include the NT response message */
-#define USE_NTRESPONSES 1
-
-/* Define this to make the type-3 message include the NTLM2Session response
- message, requires USE_NTRESPONSES. */
-#define USE_NTLM2SESSION 1
-
-#ifndef USE_WINDOWS_SSPI
-/* this function converts from the little endian format used in the incoming
- package to whatever endian format we're using natively */
-static unsigned int readint_le(unsigned char *buf) /* must point to a
- 4 bytes buffer*/
-{
- return ((unsigned int)buf[0]) | ((unsigned int)buf[1] << 8) |
- ((unsigned int)buf[2] << 16) | ((unsigned int)buf[3] << 24);
-}
-#endif
-
-#if DEBUG_ME
-# define DEBUG_OUT(x) x
-static void print_flags(FILE *handle, unsigned long flags)
-{
- if(flags & NTLMFLAG_NEGOTIATE_UNICODE)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_UNICODE ");
- if(flags & NTLMFLAG_NEGOTIATE_OEM)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_OEM ");
- if(flags & NTLMFLAG_REQUEST_TARGET)
- fprintf(handle, "NTLMFLAG_REQUEST_TARGET ");
- if(flags & (1<<3))
- fprintf(handle, "NTLMFLAG_UNKNOWN_3 ");
- if(flags & NTLMFLAG_NEGOTIATE_SIGN)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_SIGN ");
- if(flags & NTLMFLAG_NEGOTIATE_SEAL)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_SEAL ");
- if(flags & NTLMFLAG_NEGOTIATE_DATAGRAM_STYLE)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_DATAGRAM_STYLE ");
- if(flags & NTLMFLAG_NEGOTIATE_LM_KEY)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_LM_KEY ");
- if(flags & NTLMFLAG_NEGOTIATE_NETWARE)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_NETWARE ");
- if(flags & NTLMFLAG_NEGOTIATE_NTLM_KEY)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_NTLM_KEY ");
- if(flags & (1<<10))
- fprintf(handle, "NTLMFLAG_UNKNOWN_10 ");
- if(flags & NTLMFLAG_NEGOTIATE_ANONYMOUS)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_ANONYMOUS ");
- if(flags & NTLMFLAG_NEGOTIATE_DOMAIN_SUPPLIED)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_DOMAIN_SUPPLIED ");
- if(flags & NTLMFLAG_NEGOTIATE_WORKSTATION_SUPPLIED)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_WORKSTATION_SUPPLIED ");
- if(flags & NTLMFLAG_NEGOTIATE_LOCAL_CALL)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_LOCAL_CALL ");
- if(flags & NTLMFLAG_NEGOTIATE_ALWAYS_SIGN)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_ALWAYS_SIGN ");
- if(flags & NTLMFLAG_TARGET_TYPE_DOMAIN)
- fprintf(handle, "NTLMFLAG_TARGET_TYPE_DOMAIN ");
- if(flags & NTLMFLAG_TARGET_TYPE_SERVER)
- fprintf(handle, "NTLMFLAG_TARGET_TYPE_SERVER ");
- if(flags & NTLMFLAG_TARGET_TYPE_SHARE)
- fprintf(handle, "NTLMFLAG_TARGET_TYPE_SHARE ");
- if(flags & NTLMFLAG_NEGOTIATE_NTLM2_KEY)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_NTLM2_KEY ");
- if(flags & NTLMFLAG_REQUEST_INIT_RESPONSE)
- fprintf(handle, "NTLMFLAG_REQUEST_INIT_RESPONSE ");
- if(flags & NTLMFLAG_REQUEST_ACCEPT_RESPONSE)
- fprintf(handle, "NTLMFLAG_REQUEST_ACCEPT_RESPONSE ");
- if(flags & NTLMFLAG_REQUEST_NONNT_SESSION_KEY)
- fprintf(handle, "NTLMFLAG_REQUEST_NONNT_SESSION_KEY ");
- if(flags & NTLMFLAG_NEGOTIATE_TARGET_INFO)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_TARGET_INFO ");
- if(flags & (1<<24))
- fprintf(handle, "NTLMFLAG_UNKNOWN_24 ");
- if(flags & (1<<25))
- fprintf(handle, "NTLMFLAG_UNKNOWN_25 ");
- if(flags & (1<<26))
- fprintf(handle, "NTLMFLAG_UNKNOWN_26 ");
- if(flags & (1<<27))
- fprintf(handle, "NTLMFLAG_UNKNOWN_27 ");
- if(flags & (1<<28))
- fprintf(handle, "NTLMFLAG_UNKNOWN_28 ");
- if(flags & NTLMFLAG_NEGOTIATE_128)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_128 ");
- if(flags & NTLMFLAG_NEGOTIATE_KEY_EXCHANGE)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_KEY_EXCHANGE ");
- if(flags & NTLMFLAG_NEGOTIATE_56)
- fprintf(handle, "NTLMFLAG_NEGOTIATE_56 ");
-}
-
-static void print_hex(FILE *handle, const char *buf, size_t len)
-{
- const char *p = buf;
- fprintf(stderr, "0x");
- while(len-- > 0)
- fprintf(stderr, "%02.2x", (unsigned int)*p++);
-}
-#else
-# define DEBUG_OUT(x)
-#endif
-
-/*
- (*) = A "security buffer" is a triplet consisting of two shorts and one
- long:
-
- 1. a 'short' containing the length of the buffer in bytes
- 2. a 'short' containing the allocated space for the buffer in bytes
- 3. a 'long' containing the offset to the start of the buffer from the
- beginning of the NTLM message, in bytes.
-*/
-
-
-CURLntlm Curl_input_ntlm(struct connectdata *conn,
- bool proxy, /* if proxy or not */
- const char *header) /* rest of the www-authenticate:
- header */
-{
- /* point to the correct struct with this */
- struct ntlmdata *ntlm;
-#ifndef USE_WINDOWS_SSPI
- static const char type2_marker[] = { 0x02, 0x00, 0x00, 0x00 };
-#endif
-
- ntlm = proxy?&conn->proxyntlm:&conn->ntlm;
-
- /* skip initial whitespaces */
- while(*header && ISSPACE(*header))
- header++;
-
- if(checkprefix("NTLM", header)) {
- header += strlen("NTLM");
-
- while(*header && ISSPACE(*header))
- header++;
-
- if(*header) {
- /* We got a type-2 message here:
-
- Index Description Content
- 0 NTLMSSP Signature Null-terminated ASCII "NTLMSSP"
- (0x4e544c4d53535000)
- 8 NTLM Message Type long (0x02000000)
- 12 Target Name security buffer(*)
- 20 Flags long
- 24 Challenge 8 bytes
- (32) Context (optional) 8 bytes (two consecutive longs)
- (40) Target Information (optional) security buffer(*)
- 32 (48) start of data block
- */
- size_t size;
- unsigned char *buffer;
- size = Curl_base64_decode(header, &buffer);
- if(!buffer)
- return CURLNTLM_BAD;
-
- ntlm->state = NTLMSTATE_TYPE2; /* we got a type-2 */
-
-#ifdef USE_WINDOWS_SSPI
- ntlm->type_2 = malloc(size+1);
- if(ntlm->type_2 == NULL) {
- free(buffer);
- return CURLE_OUT_OF_MEMORY;
- }
- ntlm->n_type_2 = size;
- memcpy(ntlm->type_2, buffer, size);
-#else
- ntlm->flags = 0;
-
- if((size < 32) ||
- (memcmp(buffer, NTLMSSP_SIGNATURE, 8) != 0) ||
- (memcmp(buffer+8, type2_marker, sizeof(type2_marker)) != 0)) {
- /* This was not a good enough type-2 message */
- free(buffer);
- return CURLNTLM_BAD;
- }
-
- ntlm->flags = readint_le(&buffer[20]);
- memcpy(ntlm->nonce, &buffer[24], 8);
-
- DEBUG_OUT({
- fprintf(stderr, "**** TYPE2 header flags=0x%08.8lx ", ntlm->flags);
- print_flags(stderr, ntlm->flags);
- fprintf(stderr, "\n nonce=");
- print_hex(stderr, (char *)ntlm->nonce, 8);
- fprintf(stderr, "\n****\n");
- fprintf(stderr, "**** Header %s\n ", header);
- });
-
- free(buffer);
-#endif
- }
- else {
- if(ntlm->state >= NTLMSTATE_TYPE1)
- return CURLNTLM_BAD;
-
- ntlm->state = NTLMSTATE_TYPE1; /* we should sent away a type-1 */
- }
- }
- return CURLNTLM_FINE;
-}
-
-#ifndef USE_WINDOWS_SSPI
-
-/*
- * Turns a 56 bit key into the 64 bit, odd parity key and sets the key. The
- * key schedule ks is also set.
- */
-static void setup_des_key(unsigned char *key_56,
- DES_key_schedule DESKEYARG(ks))
-{
- DES_cblock key;
-
- key[0] = key_56[0];
- key[1] = (unsigned char)(((key_56[0] << 7) & 0xFF) | (key_56[1] >> 1));
- key[2] = (unsigned char)(((key_56[1] << 6) & 0xFF) | (key_56[2] >> 2));
- key[3] = (unsigned char)(((key_56[2] << 5) & 0xFF) | (key_56[3] >> 3));
- key[4] = (unsigned char)(((key_56[3] << 4) & 0xFF) | (key_56[4] >> 4));
- key[5] = (unsigned char)(((key_56[4] << 3) & 0xFF) | (key_56[5] >> 5));
- key[6] = (unsigned char)(((key_56[5] << 2) & 0xFF) | (key_56[6] >> 6));
- key[7] = (unsigned char) ((key_56[6] << 1) & 0xFF);
-
- DES_set_odd_parity(&key);
- DES_set_key(&key, ks);
-}
-
- /*
- * takes a 21 byte array and treats it as 3 56-bit DES keys. The
- * 8 byte plaintext is encrypted with each key and the resulting 24
- * bytes are stored in the results array.
- */
-static void lm_resp(unsigned char *keys,
- unsigned char *plaintext,
- unsigned char *results)
-{
- DES_key_schedule ks;
-
- setup_des_key(keys, DESKEY(ks));
- DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) results,
- DESKEY(ks), DES_ENCRYPT);
-
- setup_des_key(keys+7, DESKEY(ks));
- DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) (results+8),
- DESKEY(ks), DES_ENCRYPT);
-
- setup_des_key(keys+14, DESKEY(ks));
- DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) (results+16),
- DESKEY(ks), DES_ENCRYPT);
-}
-
-
-/*
- * Set up lanmanager hashed password
- */
-static void mk_lm_hash(struct SessionHandle *data,
- char *password,
- unsigned char *lmbuffer /* 21 bytes */)
-{
- unsigned char pw[14];
- static const unsigned char magic[] = {
- 0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25 /* i.e. KGS!@#$% */
- };
- unsigned int i;
- size_t len = strlen(password);
-
- if(len > 14)
- len = 14;
-
- for (i=0; i<len; i++)
- pw[i] = (unsigned char)toupper(password[i]);
-
- for (; i<14; i++)
- pw[i] = 0;
-
-#ifdef CURL_DOES_CONVERSIONS
- /*
- * The LanManager hashed password needs to be created using the
- * password in the network encoding not the host encoding.
- */
- if(data)
- Curl_convert_to_network(data, (char *)pw, 14);
-#else
- (void)data;
-#endif
-
- {
- /* Create LanManager hashed password. */
-
- DES_key_schedule ks;
-
- setup_des_key(pw, DESKEY(ks));
- DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer,
- DESKEY(ks), DES_ENCRYPT);
-
- setup_des_key(pw+7, DESKEY(ks));
- DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)(lmbuffer+8),
- DESKEY(ks), DES_ENCRYPT);
-
- memset(lmbuffer + 16, 0, 21 - 16);
- }
- }
-
-#if USE_NTRESPONSES
-static void utf8_to_unicode_le(unsigned char *dest, const char *src,
- size_t srclen)
-{
- size_t i;
- for (i=0; i<srclen; i++) {
- dest[2*i] = (unsigned char)src[i];
- dest[2*i+1] = '\0';
- }
-}
-
-/*
- * Set up nt hashed passwords
- */
-static CURLcode mk_nt_hash(struct SessionHandle *data,
- char *password,
- unsigned char *ntbuffer /* 21 bytes */)
-{
- size_t len = strlen(password);
- unsigned char *pw = malloc(len*2);
- if(!pw)
- return CURLE_OUT_OF_MEMORY;
-
- utf8_to_unicode_le(pw, password, len);
-
-#ifdef CURL_DOES_CONVERSIONS
- /*
- * The NT hashed password needs to be created using the
- * password in the network encoding not the host encoding.
- */
- if(data)
- Curl_convert_to_network(data, (char *)pw, len*2);
-#else
- (void)data;
-#endif
-
- {
- /* Create NT hashed password. */
- MD4_CTX MD4pw;
-
- MD4_Init(&MD4pw);
- MD4_Update(&MD4pw, pw, 2*len);
- MD4_Final(ntbuffer, &MD4pw);
-
- memset(ntbuffer + 16, 0, 21 - 16);
- }
-
- free(pw);
- return CURLE_OK;
-}
-#endif
-
-
-#endif
-
-#ifdef USE_WINDOWS_SSPI
-
-static void
-ntlm_sspi_cleanup(struct ntlmdata *ntlm)
-{
- if(ntlm->type_2) {
- free(ntlm->type_2);
- ntlm->type_2 = NULL;
- }
- if(ntlm->has_handles) {
- s_pSecFn->DeleteSecurityContext(&ntlm->c_handle);
- s_pSecFn->FreeCredentialsHandle(&ntlm->handle);
- ntlm->has_handles = 0;
- }
- if(ntlm->p_identity) {
- if(ntlm->identity.User) free(ntlm->identity.User);
- if(ntlm->identity.Password) free(ntlm->identity.Password);
- if(ntlm->identity.Domain) free(ntlm->identity.Domain);
- ntlm->p_identity = NULL;
- }
-}
-
-#endif
-
-#define SHORTPAIR(x) ((x) & 0xff), (((x) >> 8) & 0xff)
-#define LONGQUARTET(x) ((x) & 0xff), (((x) >> 8)&0xff), \
- (((x) >>16)&0xff), (((x)>>24) & 0xff)
-
-#define HOSTNAME_MAX 1024
-
-/* this is for creating ntlm header output */
-CURLcode Curl_output_ntlm(struct connectdata *conn,
- bool proxy)
-{
- const char *domain=""; /* empty */
- char host [HOSTNAME_MAX+ 1] = ""; /* empty */
-#ifndef USE_WINDOWS_SSPI
- size_t domlen = strlen(domain);
- size_t hostlen = strlen(host);
- size_t hostoff; /* host name offset */
- size_t domoff; /* domain name offset */
-#endif
- size_t size;
- char *base64=NULL;
- unsigned char ntlmbuf[1024]; /* enough, unless the user+host+domain is very
- long */
-
- /* point to the address of the pointer that holds the string to sent to the
- server, which is for a plain host or for a HTTP proxy */
- char **allocuserpwd;
-
- /* point to the name and password for this */
- char *userp;
- char *passwdp;
- /* point to the correct struct with this */
- struct ntlmdata *ntlm;
- struct auth *authp;
-
- DEBUGASSERT(conn);
- DEBUGASSERT(conn->data);
-
- if(proxy) {
- allocuserpwd = &conn->allocptr.proxyuserpwd;
- userp = conn->proxyuser;
- passwdp = conn->proxypasswd;
- ntlm = &conn->proxyntlm;
- authp = &conn->data->state.authproxy;
- }
- else {
- allocuserpwd = &conn->allocptr.userpwd;
- userp = conn->user;
- passwdp = conn->passwd;
- ntlm = &conn->ntlm;
- authp = &conn->data->state.authhost;
- }
- authp->done = FALSE;
-
- /* not set means empty */
- if(!userp)
- userp=(char *)"";
-
- if(!passwdp)
- passwdp=(char *)"";
-
-#ifdef USE_WINDOWS_SSPI
- if (s_hSecDll == NULL) {
- /* not thread safe and leaks - use curl_global_init() to avoid */
- CURLcode err = Curl_ntlm_global_init();
- if (s_hSecDll == NULL)
- return err;
- }
-#endif
-
- switch(ntlm->state) {
- case NTLMSTATE_TYPE1:
- default: /* for the weird cases we (re)start here */
-#ifdef USE_WINDOWS_SSPI
- {
- SecBuffer buf;
- SecBufferDesc desc;
- SECURITY_STATUS status;
- ULONG attrs;
- const char *user;
- int domlen;
- TimeStamp tsDummy; /* For Windows 9x compatibility of SPPI calls */
-
- ntlm_sspi_cleanup(ntlm);
-
- user = strchr(userp, '\\');
- if(!user)
- user = strchr(userp, '/');
-
- if(user) {
- domain = userp;
- domlen = user - userp;
- user++;
- }
- else {
- user = userp;
- domain = "";
- domlen = 0;
- }
-
- if(user && *user) {
- /* note: initialize all of this before doing the mallocs so that
- * it can be cleaned up later without leaking memory.
- */
- ntlm->p_identity = &ntlm->identity;
- memset(ntlm->p_identity, 0, sizeof(*ntlm->p_identity));
- if((ntlm->identity.User = (unsigned char *)strdup(user)) == NULL)
- return CURLE_OUT_OF_MEMORY;
- ntlm->identity.UserLength = strlen(user);
- if((ntlm->identity.Password = (unsigned char *)strdup(passwdp)) == NULL)
- return CURLE_OUT_OF_MEMORY;
- ntlm->identity.PasswordLength = strlen(passwdp);
- if((ntlm->identity.Domain = malloc(domlen+1)) == NULL)
- return CURLE_OUT_OF_MEMORY;
- strncpy((char *)ntlm->identity.Domain, domain, domlen);
- ntlm->identity.Domain[domlen] = '\0';
- ntlm->identity.DomainLength = domlen;
- ntlm->identity.Flags = SEC_WINNT_AUTH_IDENTITY_ANSI;
- }
- else {
- ntlm->p_identity = NULL;
- }
-
- if(s_pSecFn->AcquireCredentialsHandle(
- NULL, (char *)"NTLM", SECPKG_CRED_OUTBOUND, NULL, ntlm->p_identity,
- NULL, NULL, &ntlm->handle, &tsDummy
- ) != SEC_E_OK) {
- return CURLE_OUT_OF_MEMORY;
- }
-
- desc.ulVersion = SECBUFFER_VERSION;
- desc.cBuffers = 1;
- desc.pBuffers = &buf;
- buf.cbBuffer = sizeof(ntlmbuf);
- buf.BufferType = SECBUFFER_TOKEN;
- buf.pvBuffer = ntlmbuf;
-
- status = s_pSecFn->InitializeSecurityContext(&ntlm->handle, NULL,
- (char *) host,
- ISC_REQ_CONFIDENTIALITY |
- ISC_REQ_REPLAY_DETECT |
- ISC_REQ_CONNECTION,
- 0, SECURITY_NETWORK_DREP,
- NULL, 0,
- &ntlm->c_handle, &desc,
- &attrs, &tsDummy);
-
- if(status == SEC_I_COMPLETE_AND_CONTINUE ||
- status == SEC_I_CONTINUE_NEEDED) {
- s_pSecFn->CompleteAuthToken(&ntlm->c_handle, &desc);
- }
- else if(status != SEC_E_OK) {
- s_pSecFn->FreeCredentialsHandle(&ntlm->handle);
- return CURLE_RECV_ERROR;
- }
-
- ntlm->has_handles = 1;
- size = buf.cbBuffer;
- }
-#else
- hostoff = 0;
- domoff = hostoff + hostlen; /* This is 0: remember that host and domain
- are empty */
-
- /* Create and send a type-1 message:
-
- Index Description Content
- 0 NTLMSSP Signature Null-terminated ASCII "NTLMSSP"
- (0x4e544c4d53535000)
- 8 NTLM Message Type long (0x01000000)
- 12 Flags long
- 16 Supplied Domain security buffer(*)
- 24 Supplied Workstation security buffer(*)
- 32 start of data block
-
- */
-#if USE_NTLM2SESSION
-#define NTLM2FLAG NTLMFLAG_NEGOTIATE_NTLM2_KEY
-#else
-#define NTLM2FLAG 0
-#endif
- snprintf((char *)ntlmbuf, sizeof(ntlmbuf), NTLMSSP_SIGNATURE "%c"
- "\x01%c%c%c" /* 32-bit type = 1 */
- "%c%c%c%c" /* 32-bit NTLM flag field */
- "%c%c" /* domain length */
- "%c%c" /* domain allocated space */
- "%c%c" /* domain name offset */
- "%c%c" /* 2 zeroes */
- "%c%c" /* host length */
- "%c%c" /* host allocated space */
- "%c%c" /* host name offset */
- "%c%c" /* 2 zeroes */
- "%s" /* host name */
- "%s", /* domain string */
- 0, /* trailing zero */
- 0,0,0, /* part of type-1 long */
-
- LONGQUARTET(
- NTLMFLAG_NEGOTIATE_OEM|
- NTLMFLAG_REQUEST_TARGET|
- NTLMFLAG_NEGOTIATE_NTLM_KEY|
- NTLM2FLAG|
- NTLMFLAG_NEGOTIATE_ALWAYS_SIGN
- ),
- SHORTPAIR(domlen),
- SHORTPAIR(domlen),
- SHORTPAIR(domoff),
- 0,0,
- SHORTPAIR(hostlen),
- SHORTPAIR(hostlen),
- SHORTPAIR(hostoff),
- 0,0,
- host /* this is empty */, domain /* this is empty */);
-
- /* initial packet length */
- size = 32 + hostlen + domlen;
-#endif
-
- DEBUG_OUT({
- fprintf(stderr, "**** TYPE1 header flags=0x%02.2x%02.2x%02.2x%02.2x 0x%08.8x ",
- LONGQUARTET(NTLMFLAG_NEGOTIATE_OEM|
- NTLMFLAG_REQUEST_TARGET|
- NTLMFLAG_NEGOTIATE_NTLM_KEY|
- NTLM2FLAG|
- NTLMFLAG_NEGOTIATE_ALWAYS_SIGN),
- NTLMFLAG_NEGOTIATE_OEM|
- NTLMFLAG_REQUEST_TARGET|
- NTLMFLAG_NEGOTIATE_NTLM_KEY|
- NTLM2FLAG|
- NTLMFLAG_NEGOTIATE_ALWAYS_SIGN);
- print_flags(stderr,
- NTLMFLAG_NEGOTIATE_OEM|
- NTLMFLAG_REQUEST_TARGET|
- NTLMFLAG_NEGOTIATE_NTLM_KEY|
- NTLM2FLAG|
- NTLMFLAG_NEGOTIATE_ALWAYS_SIGN);
- fprintf(stderr, "\n****\n");
- });
-
- /* now size is the size of the base64 encoded package size */
- size = Curl_base64_encode(NULL, (char *)ntlmbuf, size, &base64);
-
- if(size >0 ) {
- Curl_safefree(*allocuserpwd);
- *allocuserpwd = aprintf("%sAuthorization: NTLM %s\r\n",
- proxy?"Proxy-":"",
- base64);
- DEBUG_OUT(fprintf(stderr, "**** Header %s\n ", *allocuserpwd));
- free(base64);
- }
- else
- return CURLE_OUT_OF_MEMORY; /* FIX TODO */
-
- break;
-
- case NTLMSTATE_TYPE2:
- /* We received the type-2 message already, create a type-3 message:
-
- Index Description Content
- 0 NTLMSSP Signature Null-terminated ASCII "NTLMSSP"
- (0x4e544c4d53535000)
- 8 NTLM Message Type long (0x03000000)
- 12 LM/LMv2 Response security buffer(*)
- 20 NTLM/NTLMv2 Response security buffer(*)
- 28 Domain Name security buffer(*)
- 36 User Name security buffer(*)
- 44 Workstation Name security buffer(*)
- (52) Session Key (optional) security buffer(*)
- (60) Flags (optional) long
- 52 (64) start of data block
-
- */
-
- {
-#ifdef USE_WINDOWS_SSPI
- SecBuffer type_2, type_3;
- SecBufferDesc type_2_desc, type_3_desc;
- SECURITY_STATUS status;
- ULONG attrs;
- TimeStamp tsDummy; /* For Windows 9x compatibility of SPPI calls */
-
- type_2_desc.ulVersion = type_3_desc.ulVersion = SECBUFFER_VERSION;
- type_2_desc.cBuffers = type_3_desc.cBuffers = 1;
- type_2_desc.pBuffers = &type_2;
- type_3_desc.pBuffers = &type_3;
-
- type_2.BufferType = SECBUFFER_TOKEN;
- type_2.pvBuffer = ntlm->type_2;
- type_2.cbBuffer = ntlm->n_type_2;
- type_3.BufferType = SECBUFFER_TOKEN;
- type_3.pvBuffer = ntlmbuf;
- type_3.cbBuffer = sizeof(ntlmbuf);
-
- status = s_pSecFn->InitializeSecurityContext(&ntlm->handle, &ntlm->c_handle,
- (char *) host,
- ISC_REQ_CONFIDENTIALITY |
- ISC_REQ_REPLAY_DETECT |
- ISC_REQ_CONNECTION,
- 0, SECURITY_NETWORK_DREP, &type_2_desc,
- 0, &ntlm->c_handle, &type_3_desc,
- &attrs, &tsDummy);
-
- if(status != SEC_E_OK)
- return CURLE_RECV_ERROR;
-
- size = type_3.cbBuffer;
-
- ntlm_sspi_cleanup(ntlm);
-
-#else
- int lmrespoff;
- unsigned char lmresp[24]; /* fixed-size */
-#if USE_NTRESPONSES
- int ntrespoff;
- unsigned char ntresp[24]; /* fixed-size */
-#endif
- size_t useroff;
- const char *user;
- size_t userlen;
-
- user = strchr(userp, '\\');
- if(!user)
- user = strchr(userp, '/');
-
- if(user) {
- domain = userp;
- domlen = (user - domain);
- user++;
- }
- else
- user = userp;
- userlen = strlen(user);
-
- if(gethostname(host, HOSTNAME_MAX)) {
- infof(conn->data, "gethostname() failed, continuing without!");
- hostlen = 0;
- }
- else {
- /* If the workstation if configured with a full DNS name (i.e.
- * workstation.somewhere.net) gethostname() returns the fully qualified
- * name, which NTLM doesn't like.
- */
- char *dot = strchr(host, '.');
- if(dot)
- *dot = '\0';
- hostlen = strlen(host);
- }
-
-#if USE_NTLM2SESSION
- /* We don't support NTLM2 if we don't have USE_NTRESPONSES */
- if(ntlm->flags & NTLMFLAG_NEGOTIATE_NTLM2_KEY) {
- unsigned char ntbuffer[0x18];
- unsigned char tmp[0x18];
- unsigned char md5sum[MD5_DIGEST_LENGTH];
- MD5_CTX MD5pw;
- unsigned char entropy[8];
-
- /* Need to create 8 bytes random data */
- Curl_ossl_seed(conn->data); /* Initiate the seed if not already done */
- RAND_bytes(entropy,8);
-
- /* 8 bytes random data as challenge in lmresp */
- memcpy(lmresp,entropy,8);
- /* Pad with zeros */
- memset(lmresp+8,0,0x10);
-
- /* Fill tmp with challenge(nonce?) + entropy */
- memcpy(tmp,&ntlm->nonce[0],8);
- memcpy(tmp+8,entropy,8);
-
- MD5_Init(&MD5pw);
- MD5_Update(&MD5pw, tmp, 16);
- MD5_Final(md5sum, &MD5pw);
- /* We shall only use the first 8 bytes of md5sum,
- but the des code in lm_resp only encrypt the first 8 bytes */
- if(mk_nt_hash(conn->data, passwdp, ntbuffer) == CURLE_OUT_OF_MEMORY)
- return CURLE_OUT_OF_MEMORY;
- lm_resp(ntbuffer, md5sum, ntresp);
-
- /* End of NTLM2 Session code */
- }
- else {
-#endif
-
-#if USE_NTRESPONSES
- unsigned char ntbuffer[0x18];
-#endif
- unsigned char lmbuffer[0x18];
-
-#if USE_NTRESPONSES
- if(mk_nt_hash(conn->data, passwdp, ntbuffer) == CURLE_OUT_OF_MEMORY)
- return CURLE_OUT_OF_MEMORY;
- lm_resp(ntbuffer, &ntlm->nonce[0], ntresp);
-#endif
-
- mk_lm_hash(conn->data, passwdp, lmbuffer);
- lm_resp(lmbuffer, &ntlm->nonce[0], lmresp);
- /* A safer but less compatible alternative is:
- * lm_resp(ntbuffer, &ntlm->nonce[0], lmresp);
- * See http://davenport.sourceforge.net/ntlm.html#ntlmVersion2 */
-#if USE_NTLM2SESSION
- }
-#endif
-
- lmrespoff = 64; /* size of the message header */
-#if USE_NTRESPONSES
- ntrespoff = lmrespoff + 0x18;
- domoff = ntrespoff + 0x18;
-#else
- domoff = lmrespoff + 0x18;
-#endif
- useroff = domoff + domlen;
- hostoff = useroff + userlen;
-
- /*
- * In the case the server sets the flag NTLMFLAG_NEGOTIATE_UNICODE, we
- * need to filter it off because libcurl doesn't UNICODE encode the
- * strings it packs into the NTLM authenticate packet.
- */
- ntlm->flags &= ~NTLMFLAG_NEGOTIATE_UNICODE;
-
- /* Create the big type-3 message binary blob */
- size = snprintf((char *)ntlmbuf, sizeof(ntlmbuf),
- NTLMSSP_SIGNATURE "%c"
- "\x03%c%c%c" /* type-3, 32 bits */
-
- "%c%c" /* LanManager length */
- "%c%c" /* LanManager allocated space */
- "%c%c" /* LanManager offset */
- "%c%c" /* 2 zeroes */
-
- "%c%c" /* NT-response length */
- "%c%c" /* NT-response allocated space */
- "%c%c" /* NT-response offset */
- "%c%c" /* 2 zeroes */
-
- "%c%c" /* domain length */
- "%c%c" /* domain allocated space */
- "%c%c" /* domain name offset */
- "%c%c" /* 2 zeroes */
-
- "%c%c" /* user length */
- "%c%c" /* user allocated space */
- "%c%c" /* user offset */
- "%c%c" /* 2 zeroes */
-
- "%c%c" /* host length */
- "%c%c" /* host allocated space */
- "%c%c" /* host offset */
- "%c%c" /* 2 zeroes */
-
- "%c%c" /* session key length (unknown purpose) */
- "%c%c" /* session key allocated space (unknown purpose) */
- "%c%c" /* session key offset (unknown purpose) */
- "%c%c" /* 2 zeroes */
-
- "%c%c%c%c" /* flags */
-
- /* domain string */
- /* user string */
- /* host string */
- /* LanManager response */
- /* NT response */
- ,
- 0, /* zero termination */
- 0,0,0, /* type-3 long, the 24 upper bits */
-
- SHORTPAIR(0x18), /* LanManager response length, twice */
- SHORTPAIR(0x18),
- SHORTPAIR(lmrespoff),
- 0x0, 0x0,
-
-#if USE_NTRESPONSES
- SHORTPAIR(0x18), /* NT-response length, twice */
- SHORTPAIR(0x18),
- SHORTPAIR(ntrespoff),
- 0x0, 0x0,
-#else
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-#endif
- SHORTPAIR(domlen),
- SHORTPAIR(domlen),
- SHORTPAIR(domoff),
- 0x0, 0x0,
-
- SHORTPAIR(userlen),
- SHORTPAIR(userlen),
- SHORTPAIR(useroff),
- 0x0, 0x0,
-
- SHORTPAIR(hostlen),
- SHORTPAIR(hostlen),
- SHORTPAIR(hostoff),
- 0x0, 0x0,
-
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
- 0x0, 0x0,
-
- LONGQUARTET(ntlm->flags));
- DEBUGASSERT(size==64);
-
- DEBUGASSERT(size == (size_t)lmrespoff);
- /* We append the binary hashes */
- if(size < (sizeof(ntlmbuf) - 0x18)) {
- memcpy(&ntlmbuf[size], lmresp, 0x18);
- size += 0x18;
- }
-
- DEBUG_OUT({
- fprintf(stderr, "**** TYPE3 header lmresp=");
- print_hex(stderr, (char *)&ntlmbuf[lmrespoff], 0x18);
- });
-
-#if USE_NTRESPONSES
- if(size < (sizeof(ntlmbuf) - 0x18)) {
- DEBUGASSERT(size == (size_t)ntrespoff);
- memcpy(&ntlmbuf[size], ntresp, 0x18);
- size += 0x18;
- }
-
- DEBUG_OUT({
- fprintf(stderr, "\n ntresp=");
- print_hex(stderr, (char *)&ntlmbuf[ntrespoff], 0x18);
- });
-
-#endif
-
- DEBUG_OUT({
- fprintf(stderr, "\n flags=0x%02.2x%02.2x%02.2x%02.2x 0x%08.8x ",
- LONGQUARTET(ntlm->flags), ntlm->flags);
- print_flags(stderr, ntlm->flags);
- fprintf(stderr, "\n****\n");
- });
-
-
- /* Make sure that the domain, user and host strings fit in the target
- buffer before we copy them there. */
- if(size + userlen + domlen + hostlen >= sizeof(ntlmbuf)) {
- failf(conn->data, "user + domain + host name too big");
- return CURLE_OUT_OF_MEMORY;
- }
-
- DEBUGASSERT(size == domoff);
- memcpy(&ntlmbuf[size], domain, domlen);
- size += domlen;
-
- DEBUGASSERT(size == useroff);
- memcpy(&ntlmbuf[size], user, userlen);
- size += userlen;
-
- DEBUGASSERT(size == hostoff);
- memcpy(&ntlmbuf[size], host, hostlen);
- size += hostlen;
-
-#ifdef CURL_DOES_CONVERSIONS
- /* convert domain, user, and host to ASCII but leave the rest as-is */
- if(CURLE_OK != Curl_convert_to_network(conn->data,
- (char *)&ntlmbuf[domoff],
- size-domoff)) {
- return CURLE_CONV_FAILED;
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
-#endif
-
- /* convert the binary blob into base64 */
- size = Curl_base64_encode(NULL, (char *)ntlmbuf, size, &base64);
-
- if(size >0 ) {
- Curl_safefree(*allocuserpwd);
- *allocuserpwd = aprintf("%sAuthorization: NTLM %s\r\n",
- proxy?"Proxy-":"",
- base64);
- DEBUG_OUT(fprintf(stderr, "**** %s\n ", *allocuserpwd));
- free(base64);
- }
- else
- return CURLE_OUT_OF_MEMORY; /* FIX TODO */
-
- ntlm->state = NTLMSTATE_TYPE3; /* we sent a type-3 */
- authp->done = TRUE;
- }
- break;
-
- case NTLMSTATE_TYPE3:
- /* connection is already authenticated,
- * don't send a header in future requests */
- if(*allocuserpwd) {
- free(*allocuserpwd);
- *allocuserpwd=NULL;
- }
- authp->done = TRUE;
- break;
- }
-
- return CURLE_OK;
-}
-
-
-void
-Curl_ntlm_cleanup(struct connectdata *conn)
-{
-#ifdef USE_WINDOWS_SSPI
- ntlm_sspi_cleanup(&conn->ntlm);
- ntlm_sspi_cleanup(&conn->proxyntlm);
-#else
- (void)conn;
-#endif
-}
-
-#ifdef USE_WINDOWS_SSPI
-CURLcode Curl_ntlm_global_init()
-{
- /* If security interface is not yet initialized try to do this */
- if(s_hSecDll == NULL) {
- /* Determine Windows version. Security functions are located in
- * security.dll on WinNT 4.0 and in secur32.dll on Win9x. Win2K and XP
- * contain both these DLLs (security.dll just forwards calls to
- * secur32.dll)
- */
- OSVERSIONINFO osver;
- osver.dwOSVersionInfoSize = sizeof(osver);
- GetVersionEx(&osver);
- if(osver.dwPlatformId == VER_PLATFORM_WIN32_NT
- && osver.dwMajorVersion == 4)
- s_hSecDll = LoadLibrary("security.dll");
- else
- s_hSecDll = LoadLibrary("secur32.dll");
- if(s_hSecDll != NULL) {
- INIT_SECURITY_INTERFACE pInitSecurityInterface;
- pInitSecurityInterface =
- (INIT_SECURITY_INTERFACE)GetProcAddress(s_hSecDll,
- "InitSecurityInterfaceA");
- if(pInitSecurityInterface != NULL)
- s_pSecFn = pInitSecurityInterface();
- }
- }
- if(s_pSecFn == NULL)
- return CURLE_RECV_ERROR;
-
- return CURLE_OK;
-}
-
-void Curl_ntlm_global_cleanup()
-{
- if(s_hSecDll != NULL) {
- FreeLibrary(s_hSecDll);
- s_hSecDll = NULL;
- s_pSecFn = NULL;
- }
-}
-#endif
-
-#endif /* USE_NTLM */
-#endif /* !CURL_DISABLE_HTTP */
diff --git a/Utilities/cmcurl-7.19.0/lib/http_ntlm.h b/Utilities/cmcurl-7.19.0/lib/http_ntlm.h
deleted file mode 100644
index c5e73ed..0000000
--- a/Utilities/cmcurl-7.19.0/lib/http_ntlm.h
+++ /dev/null
@@ -1,155 +0,0 @@
-#ifndef __HTTP_NTLM_H
-#define __HTTP_NTLM_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-typedef enum {
- CURLNTLM_NONE, /* not a ntlm */
- CURLNTLM_BAD, /* an ntlm, but one we don't like */
- CURLNTLM_FIRST, /* the first 401-reply we got with NTLM */
- CURLNTLM_FINE, /* an ntlm we act on */
-
- CURLNTLM_LAST /* last entry in this enum, don't use */
-} CURLntlm;
-
-/* this is for ntlm header input */
-CURLntlm Curl_input_ntlm(struct connectdata *conn, bool proxy,
- const char *header);
-
-/* this is for creating ntlm header output */
-CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy);
-
-void Curl_ntlm_cleanup(struct connectdata *conn);
-#ifndef USE_NTLM
-#define Curl_ntlm_cleanup(x)
-#endif
-
-#ifdef USE_WINDOWS_SSPI
-CURLcode Curl_ntlm_global_init();
-void Curl_ntlm_global_cleanup();
-#endif
-
-/* Flag bits definitions based on http://davenport.sourceforge.net/ntlm.html */
-
-#define NTLMFLAG_NEGOTIATE_UNICODE (1<<0)
-/* Indicates that Unicode strings are supported for use in security buffer
- data. */
-
-#define NTLMFLAG_NEGOTIATE_OEM (1<<1)
-/* Indicates that OEM strings are supported for use in security buffer data. */
-
-#define NTLMFLAG_REQUEST_TARGET (1<<2)
-/* Requests that the server's authentication realm be included in the Type 2
- message. */
-
-/* unknown (1<<3) */
-#define NTLMFLAG_NEGOTIATE_SIGN (1<<4)
-/* Specifies that authenticated communication between the client and server
- should carry a digital signature (message integrity). */
-
-#define NTLMFLAG_NEGOTIATE_SEAL (1<<5)
-/* Specifies that authenticated communication between the client and server
- should be encrypted (message confidentiality). */
-
-#define NTLMFLAG_NEGOTIATE_DATAGRAM_STYLE (1<<6)
-/* Indicates that datagram authentication is being used. */
-
-#define NTLMFLAG_NEGOTIATE_LM_KEY (1<<7)
-/* Indicates that the LAN Manager session key should be used for signing and
- sealing authenticated communications. */
-
-#define NTLMFLAG_NEGOTIATE_NETWARE (1<<8)
-/* unknown purpose */
-
-#define NTLMFLAG_NEGOTIATE_NTLM_KEY (1<<9)
-/* Indicates that NTLM authentication is being used. */
-
-/* unknown (1<<10) */
-
-#define NTLMFLAG_NEGOTIATE_ANONYMOUS (1<<11)
-/* Sent by the client in the Type 3 message to indicate that an anonymous
- context has been established. This also affects the response fields. */
-
-#define NTLMFLAG_NEGOTIATE_DOMAIN_SUPPLIED (1<<12)
-/* Sent by the client in the Type 1 message to indicate that a desired
- authentication realm is included in the message. */
-
-#define NTLMFLAG_NEGOTIATE_WORKSTATION_SUPPLIED (1<<13)
-/* Sent by the client in the Type 1 message to indicate that the client
- workstation's name is included in the message. */
-
-#define NTLMFLAG_NEGOTIATE_LOCAL_CALL (1<<14)
-/* Sent by the server to indicate that the server and client are on the same
- machine. Implies that the client may use a pre-established local security
- context rather than responding to the challenge. */
-
-#define NTLMFLAG_NEGOTIATE_ALWAYS_SIGN (1<<15)
-/* Indicates that authenticated communication between the client and server
- should be signed with a "dummy" signature. */
-
-#define NTLMFLAG_TARGET_TYPE_DOMAIN (1<<16)
-/* Sent by the server in the Type 2 message to indicate that the target
- authentication realm is a domain. */
-
-#define NTLMFLAG_TARGET_TYPE_SERVER (1<<17)
-/* Sent by the server in the Type 2 message to indicate that the target
- authentication realm is a server. */
-
-#define NTLMFLAG_TARGET_TYPE_SHARE (1<<18)
-/* Sent by the server in the Type 2 message to indicate that the target
- authentication realm is a share. Presumably, this is for share-level
- authentication. Usage is unclear. */
-
-#define NTLMFLAG_NEGOTIATE_NTLM2_KEY (1<<19)
-/* Indicates that the NTLM2 signing and sealing scheme should be used for
- protecting authenticated communications. */
-
-#define NTLMFLAG_REQUEST_INIT_RESPONSE (1<<20)
-/* unknown purpose */
-
-#define NTLMFLAG_REQUEST_ACCEPT_RESPONSE (1<<21)
-/* unknown purpose */
-
-#define NTLMFLAG_REQUEST_NONNT_SESSION_KEY (1<<22)
-/* unknown purpose */
-
-#define NTLMFLAG_NEGOTIATE_TARGET_INFO (1<<23)
-/* Sent by the server in the Type 2 message to indicate that it is including a
- Target Information block in the message. */
-
-/* unknown (1<24) */
-/* unknown (1<25) */
-/* unknown (1<26) */
-/* unknown (1<27) */
-/* unknown (1<28) */
-
-#define NTLMFLAG_NEGOTIATE_128 (1<<29)
-/* Indicates that 128-bit encryption is supported. */
-
-#define NTLMFLAG_NEGOTIATE_KEY_EXCHANGE (1<<30)
-/* Indicates that the client will provide an encrypted master key in
- the "Session Key" field of the Type 3 message. */
-
-#define NTLMFLAG_NEGOTIATE_56 (1<<31)
-/* Indicates that 56-bit encryption is supported. */
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/if2ip.c b/Utilities/cmcurl-7.19.0/lib/if2ip.c
deleted file mode 100644
index 94a09c1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/if2ip.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "if2ip.h"
-
-/*
- * This test can probably be simplified to #if defined(SIOCGIFADDR) and
- * moved after the following includes.
- */
-#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN__) && \
- !defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
- !defined(__AMIGA__) && !defined(__minix) && !defined(__SYMBIAN32__) && \
- !defined(__WATCOMC__)
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-/* This must be before net/if.h for AIX 3.2 to enjoy life */
-#include <sys/time.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKIO_H
-#include <sys/sockio.h>
-#endif
-
-#ifdef VMS
-#include <inet.h>
-#endif
-
-#include "inet_ntop.h"
-#include "memory.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#define SYS_ERROR -1
-
-char *Curl_if2ip(const char *interface, char *buf, int buf_size)
-{
- int dummy;
- char *ip=NULL;
-
- if(!interface)
- return NULL;
-
- dummy = socket(AF_INET, SOCK_STREAM, 0);
- if(SYS_ERROR == dummy) {
- return NULL;
- }
- else {
- struct ifreq req;
- size_t len = strlen(interface);
- memset(&req, 0, sizeof(req));
- if(len >= sizeof(req.ifr_name)) {
- sclose(dummy);
- return NULL; /* this can't be a fine interface name */
- }
- memcpy(req.ifr_name, interface, len+1);
- req.ifr_addr.sa_family = AF_INET;
-#ifdef IOCTL_3_ARGS
- if(SYS_ERROR == ioctl(dummy, SIOCGIFADDR, &req)) {
-#else
- if(SYS_ERROR == ioctl(dummy, SIOCGIFADDR, &req, sizeof(req))) {
-#endif
- sclose(dummy);
- return NULL;
- }
- else {
- struct in_addr in;
-
- struct sockaddr_in *s = (struct sockaddr_in *)&req.ifr_dstaddr;
- memcpy(&in, &s->sin_addr, sizeof(in));
- ip = (char *) Curl_inet_ntop(s->sin_family, &in, buf, buf_size);
- }
- sclose(dummy);
- }
- return ip;
-}
-
-/* -- end of if2ip() -- */
-#else
-char *Curl_if2ip(const char *interf, char *buf, int buf_size)
-{
- (void) interf;
- (void) buf;
- (void) buf_size;
- return NULL;
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/if2ip.h b/Utilities/cmcurl-7.19.0/lib/if2ip.h
deleted file mode 100644
index 4e86e2b..0000000
--- a/Utilities/cmcurl-7.19.0/lib/if2ip.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef __IF2IP_H
-#define __IF2IP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-extern char *Curl_if2ip(const char *interf, char *buf, int buf_size);
-
-#ifdef __INTERIX
-#include <sys/socket.h>
-
-/* Nedelcho Stanev's work-around for SFU 3.0 */
-struct ifreq {
-#define IFNAMSIZ 16
-#define IFHWADDRLEN 6
- union {
- char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- } ifr_ifrn;
-
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
- short ifru_flags;
- int ifru_metric;
- int ifru_mtu;
- } ifr_ifru;
-};
-
-/* This define was added by Daniel to avoid an extra #ifdef INTERIX in the
- C code. */
-#define ifr_dstaddr ifr_addr
-
-#define ifr_name ifr_ifrn.ifrn_name /* interface name */
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
-#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
-#define ifr_metric ifr_ifru.ifru_metric /* metric */
-#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
-
-#define SIOCGIFADDR _IOW('s', 102, struct ifreq) /* Get if addr */
-#endif /* interix */
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/inet_ntoa_r.h b/Utilities/cmcurl-7.19.0/lib/inet_ntoa_r.h
deleted file mode 100644
index c6c9bd8..0000000
--- a/Utilities/cmcurl-7.19.0/lib/inet_ntoa_r.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef __INET_NTOA_R_H
-#define __INET_NTOA_R_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_INET_NTOA_R_2_ARGS
-/*
- * uClibc 0.9.26 (at least) doesn't define this prototype. The buffer
- * must be at least 16 characters long.
- */
-char *inet_ntoa_r(const struct in_addr in, char buffer[]);
-
-#else
-/*
- * My solaris 5.6 system running gcc 2.8.1 does *not* have this prototype
- * in any system include file! Isn't that weird?
- */
-char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen);
-
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/inet_ntop.c b/Utilities/cmcurl-7.19.0/lib/inet_ntop.c
deleted file mode 100644
index 9501bfa..0000000
--- a/Utilities/cmcurl-7.19.0/lib/inet_ntop.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright (C) 1996-2001 Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-/*
- * Original code by Paul Vixie. "curlified" by Gisle Vanem.
- */
-
-#include "setup.h"
-
-#ifndef HAVE_INET_NTOP
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#include <string.h>
-#include <errno.h>
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "inet_ntop.h"
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-/* this platform has a inet_ntoa_r() function, but no proto declared anywhere
- so we include our own proto to make compilers happy */
-#include "inet_ntoa_r.h"
-#endif
-
-#define IN6ADDRSZ 16
-#define INADDRSZ 4
-#define INT16SZ 2
-
-/*
- * Format an IPv4 address, more or less like inet_ntoa().
- *
- * Returns `dst' (as a const)
- * Note:
- * - uses no statics
- * - takes a unsigned char* not an in_addr as input
- */
-static char *inet_ntop4 (const unsigned char *src, char *dst, size_t size)
-{
-#if defined(HAVE_INET_NTOA_R_2_ARGS)
- const char *ptr;
- DEBUGASSERT(size >= 16);
- ptr = inet_ntoa_r(*(struct in_addr*)src, dst);
- return (char *)memmove(dst, ptr, strlen(ptr)+1);
-
-#elif defined(HAVE_INET_NTOA_R)
-
-#if defined(HAVE_INT_INET_NTOA_R)
- return inet_ntoa_r(*(struct in_addr*)src, dst, size)? NULL: dst;
-#else
- return inet_ntoa_r(*(struct in_addr*)src, dst, size);
-#endif
-
-#else
- const char *addr = inet_ntoa(*(struct in_addr*)src);
-
- if(strlen(addr) >= size)
- {
- SET_ERRNO(ENOSPC);
- return (NULL);
- }
- return strcpy(dst, addr);
-#endif
-}
-
-#ifdef ENABLE_IPV6
-/*
- * Convert IPv6 binary address into presentation (printable) format.
- */
-static char *inet_ntop6 (const unsigned char *src, char *dst, size_t size)
-{
- /*
- * Note that int32_t and int16_t need only be "at least" large enough
- * to contain a value of the specified size. On some systems, like
- * Crays, there is no such thing as an integer variable with 16 bits.
- * Keep this in mind if you think this function should have been coded
- * to use pointer overlays. All the world's not a VAX.
- */
- char tmp[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
- char *tp;
- struct {
- long base;
- long len;
- } best, cur;
- unsigned long words[IN6ADDRSZ / INT16SZ];
- int i;
-
- /* Preprocess:
- * Copy the input (bytewise) array into a wordwise array.
- * Find the longest run of 0x00's in src[] for :: shorthanding.
- */
- memset(words, '\0', sizeof(words));
- for (i = 0; i < IN6ADDRSZ; i++)
- words[i/2] |= (src[i] << ((1 - (i % 2)) << 3));
-
- best.base = -1;
- cur.base = -1;
- best.len = 0;
- cur.len = 0;
-
- for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
- {
- if(words[i] == 0)
- {
- if(cur.base == -1)
- cur.base = i, cur.len = 1;
- else
- cur.len++;
- }
- else if(cur.base != -1)
- {
- if(best.base == -1 || cur.len > best.len)
- best = cur;
- cur.base = -1;
- }
- }
- if((cur.base != -1) && (best.base == -1 || cur.len > best.len))
- best = cur;
- if(best.base != -1 && best.len < 2)
- best.base = -1;
-
- /* Format the result.
- */
- tp = tmp;
- for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
- {
- /* Are we inside the best run of 0x00's?
- */
- if(best.base != -1 && i >= best.base && i < (best.base + best.len))
- {
- if(i == best.base)
- *tp++ = ':';
- continue;
- }
-
- /* Are we following an initial run of 0x00s or any real hex?
- */
- if(i != 0)
- *tp++ = ':';
-
- /* Is this address an encapsulated IPv4?
- */
- if(i == 6 && best.base == 0 &&
- (best.len == 6 || (best.len == 5 && words[5] == 0xffff)))
- {
- if(!inet_ntop4(src+12, tp, sizeof(tmp) - (tp - tmp)))
- {
- SET_ERRNO(ENOSPC);
- return (NULL);
- }
- tp += strlen(tp);
- break;
- }
- tp += snprintf(tp, 5, "%lx", words[i]);
- }
-
- /* Was it a trailing run of 0x00's?
- */
- if(best.base != -1 && (best.base + best.len) == (IN6ADDRSZ / INT16SZ))
- *tp++ = ':';
- *tp++ = '\0';
-
- /* Check for overflow, copy, and we're done.
- */
- if((size_t)(tp - tmp) > size)
- {
- SET_ERRNO(ENOSPC);
- return (NULL);
- }
- return strcpy (dst, tmp);
-}
-#endif /* ENABLE_IPV6 */
-
-/*
- * Convert a network format address to presentation format.
- *
- * Returns pointer to presentation format address (`buf').
- * Returns NULL on error and errno set with the specific
- * error, EAFNOSUPPORT or ENOSPC.
- *
- * On Windows we store the error in the thread errno, not
- * in the winsock error code. This is to avoid loosing the
- * actual last winsock error. So use macro ERRNO to fetch the
- * errno this funtion sets when returning NULL, not SOCKERRNO.
- */
-char *Curl_inet_ntop(int af, const void *src, char *buf, size_t size)
-{
- switch (af) {
- case AF_INET:
- return inet_ntop4((const unsigned char*)src, buf, size);
-#ifdef ENABLE_IPV6
- case AF_INET6:
- return inet_ntop6((const unsigned char*)src, buf, size);
-#endif
- default:
- SET_ERRNO(EAFNOSUPPORT);
- return NULL;
- }
-}
-#endif /* HAVE_INET_NTOP */
diff --git a/Utilities/cmcurl-7.19.0/lib/inet_ntop.h b/Utilities/cmcurl-7.19.0/lib/inet_ntop.h
deleted file mode 100644
index 54d64bd..0000000
--- a/Utilities/cmcurl-7.19.0/lib/inet_ntop.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __INET_NTOP_H
-#define __INET_NTOP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-char *Curl_inet_ntop(int af, const void *addr, char *buf, size_t size);
-
-#ifdef HAVE_INET_NTOP
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#define Curl_inet_ntop(af,addr,buf,size) inet_ntop(af,addr,buf,size)
-#endif
-
-#endif /* __INET_NTOP_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/inet_pton.c b/Utilities/cmcurl-7.19.0/lib/inet_pton.c
deleted file mode 100644
index 26a1372..0000000
--- a/Utilities/cmcurl-7.19.0/lib/inet_pton.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/* This is from the BIND 4.9.4 release, modified to compile by itself */
-
-/* Copyright (c) 1996 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-#include "setup.h"
-
-#ifndef HAVE_INET_PTON
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#include <string.h>
-#include <errno.h>
-
-#include "inet_pton.h"
-
-#define IN6ADDRSZ 16
-#define INADDRSZ 4
-#define INT16SZ 2
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static int inet_pton4(const char *src, unsigned char *dst);
-#ifdef ENABLE_IPV6
-static int inet_pton6(const char *src, unsigned char *dst);
-#endif
-
-/* int
- * inet_pton(af, src, dst)
- * convert from presentation format (which usually means ASCII printable)
- * to network format (which is usually some kind of binary format).
- * return:
- * 1 if the address was valid for the specified address family
- * 0 if the address wasn't valid (`dst' is untouched in this case)
- * -1 if some other error occurred (`dst' is untouched in this case, too)
- * notice:
- * On Windows we store the error in the thread errno, not
- * in the winsock error code. This is to avoid loosing the
- * actual last winsock error. So use macro ERRNO to fetch the
- * errno this funtion sets when returning (-1), not SOCKERRNO.
- * author:
- * Paul Vixie, 1996.
- */
-int
-Curl_inet_pton(int af, const char *src, void *dst)
-{
- switch (af) {
- case AF_INET:
- return (inet_pton4(src, (unsigned char *)dst));
-#ifdef ENABLE_IPV6
-#ifndef AF_INET6
-#define AF_INET6 (AF_MAX+1) /* just to let this compile */
-#endif
- case AF_INET6:
- return (inet_pton6(src, (unsigned char *)dst));
-#endif
- default:
- SET_ERRNO(EAFNOSUPPORT);
- return (-1);
- }
- /* NOTREACHED */
-}
-
-/* int
- * inet_pton4(src, dst)
- * like inet_aton() but without all the hexadecimal and shorthand.
- * return:
- * 1 if `src' is a valid dotted quad, else 0.
- * notice:
- * does not touch `dst' unless it's returning 1.
- * author:
- * Paul Vixie, 1996.
- */
-static int
-inet_pton4(const char *src, unsigned char *dst)
-{
- static const char digits[] = "0123456789";
- int saw_digit, octets, ch;
- unsigned char tmp[INADDRSZ], *tp;
-
- saw_digit = 0;
- octets = 0;
- tp = tmp;
- *tp = 0;
- while((ch = *src++) != '\0') {
- const char *pch;
-
- if((pch = strchr(digits, ch)) != NULL) {
- unsigned int val = *tp * 10 + (unsigned int)(pch - digits);
-
- if(val > 255)
- return (0);
- *tp = (unsigned char)val;
- if(! saw_digit) {
- if(++octets > 4)
- return (0);
- saw_digit = 1;
- }
- }
- else if(ch == '.' && saw_digit) {
- if(octets == 4)
- return (0);
- *++tp = 0;
- saw_digit = 0;
- }
- else
- return (0);
- }
- if(octets < 4)
- return (0);
- /* bcopy(tmp, dst, INADDRSZ); */
- memcpy(dst, tmp, INADDRSZ);
- return (1);
-}
-
-#ifdef ENABLE_IPV6
-/* int
- * inet_pton6(src, dst)
- * convert presentation level address to network order binary form.
- * return:
- * 1 if `src' is a valid [RFC1884 2.2] address, else 0.
- * notice:
- * (1) does not touch `dst' unless it's returning 1.
- * (2) :: in a full address is silently ignored.
- * credit:
- * inspired by Mark Andrews.
- * author:
- * Paul Vixie, 1996.
- */
-static int
-inet_pton6(const char *src, unsigned char *dst)
-{
- static const char xdigits_l[] = "0123456789abcdef",
- xdigits_u[] = "0123456789ABCDEF";
- unsigned char tmp[IN6ADDRSZ], *tp, *endp, *colonp;
- const char *xdigits, *curtok;
- int ch, saw_xdigit;
- unsigned int val;
-
- memset((tp = tmp), 0, IN6ADDRSZ);
- endp = tp + IN6ADDRSZ;
- colonp = NULL;
- /* Leading :: requires some special handling. */
- if(*src == ':')
- if(*++src != ':')
- return (0);
- curtok = src;
- saw_xdigit = 0;
- val = 0;
- while((ch = *src++) != '\0') {
- const char *pch;
-
- if((pch = strchr((xdigits = xdigits_l), ch)) == NULL)
- pch = strchr((xdigits = xdigits_u), ch);
- if(pch != NULL) {
- val <<= 4;
- val |= (pch - xdigits);
- if(val > 0xffff)
- return (0);
- saw_xdigit = 1;
- continue;
- }
- if(ch == ':') {
- curtok = src;
- if(!saw_xdigit) {
- if(colonp)
- return (0);
- colonp = tp;
- continue;
- }
- if(tp + INT16SZ > endp)
- return (0);
- *tp++ = (unsigned char) (val >> 8) & 0xff;
- *tp++ = (unsigned char) val & 0xff;
- saw_xdigit = 0;
- val = 0;
- continue;
- }
- if(ch == '.' && ((tp + INADDRSZ) <= endp) &&
- inet_pton4(curtok, tp) > 0) {
- tp += INADDRSZ;
- saw_xdigit = 0;
- break; /* '\0' was seen by inet_pton4(). */
- }
- return (0);
- }
- if(saw_xdigit) {
- if(tp + INT16SZ > endp)
- return (0);
- *tp++ = (unsigned char) (val >> 8) & 0xff;
- *tp++ = (unsigned char) val & 0xff;
- }
- if(colonp != NULL) {
- /*
- * Since some memmove()'s erroneously fail to handle
- * overlapping regions, we'll do the shift by hand.
- */
- const int n = tp - colonp;
- int i;
-
- for (i = 1; i <= n; i++) {
- endp[- i] = colonp[n - i];
- colonp[n - i] = 0;
- }
- tp = endp;
- }
- if(tp != endp)
- return (0);
- /* bcopy(tmp, dst, IN6ADDRSZ); */
- memcpy(dst, tmp, IN6ADDRSZ);
- return (1);
-}
-#endif /* ENABLE_IPV6 */
-
-#endif /* HAVE_INET_PTON */
diff --git a/Utilities/cmcurl-7.19.0/lib/inet_pton.h b/Utilities/cmcurl-7.19.0/lib/inet_pton.h
deleted file mode 100644
index a659a97..0000000
--- a/Utilities/cmcurl-7.19.0/lib/inet_pton.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __INET_PTON_H
-#define __INET_PTON_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-int Curl_inet_pton(int, const char *, void *);
-
-#ifdef HAVE_INET_PTON
-
-#if defined(HAVE_NO_INET_PTON_PROTO)
-int inet_pton(int af, const char *src, void *dst);
-#endif
-
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#define Curl_inet_pton(x,y,z) inet_pton(x,y,z)
-#endif
-
-#endif /* __INET_PTON_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/krb4.c b/Utilities/cmcurl-7.19.0/lib/krb4.c
deleted file mode 100644
index 84ce9e6..0000000
--- a/Utilities/cmcurl-7.19.0/lib/krb4.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/* This source code was modified by Martin Hedenfalk <mhe@stacken.kth.se> for
- * use in Curl. Martin's latest changes were done 2000-09-18.
- *
- * It has since been patched away like a madman by Daniel Stenberg to make it
- * better applied to curl conditions, and to make it not use globals, pollute
- * name space and more.
- *
- * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
- * (Royal Institute of Technology, Stockholm, Sweden).
- * Copyright (c) 2004 - 2008 Daniel Stenberg
- * 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 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. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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.
- *
- * $Id$
- */
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_FTP
-#ifdef HAVE_KRB4
-
-#include <stdlib.h>
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#include <string.h>
-#include <krb.h>
-#include <des.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h> /* for getpid() */
-#endif
-
-#include "urldata.h"
-#include "curl_base64.h"
-#include "ftp.h"
-#include "sendf.h"
-#include "krb4.h"
-#include "memory.h"
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#define LOCAL_ADDR (&conn->local_addr)
-#define REMOTE_ADDR conn->ip_addr->ai_addr
-#define myctladdr LOCAL_ADDR
-#define hisctladdr REMOTE_ADDR
-
-struct krb4_data {
- des_cblock key;
- des_key_schedule schedule;
- char name[ANAME_SZ];
- char instance[INST_SZ];
- char realm[REALM_SZ];
-};
-
-#ifndef HAVE_STRLCPY
-/* if it ever goes non-static, make it Curl_ prefixed! */
-static size_t
-strlcpy (char *dst, const char *src, size_t dst_sz)
-{
- size_t n;
- char *p;
-
- for (p = dst, n = 0;
- n + 1 < dst_sz && *src != '\0';
- ++p, ++src, ++n)
- *p = *src;
- *p = '\0';
- if(*src == '\0')
- return n;
- else
- return n + strlen (src);
-}
-#else
-size_t strlcpy (char *dst, const char *src, size_t dst_sz);
-#endif
-
-static int
-krb4_check_prot(void *app_data, int level)
-{
- app_data = NULL; /* prevent compiler warning */
- if(level == prot_confidential)
- return -1;
- return 0;
-}
-
-static int
-krb4_decode(void *app_data, void *buf, int len, int level,
- struct connectdata *conn)
-{
- MSG_DAT m;
- int e;
- struct krb4_data *d = app_data;
-
- if(level == prot_safe)
- e = krb_rd_safe(buf, len, &d->key,
- (struct sockaddr_in *)REMOTE_ADDR,
- (struct sockaddr_in *)LOCAL_ADDR, &m);
- else
- e = krb_rd_priv(buf, len, d->schedule, &d->key,
- (struct sockaddr_in *)REMOTE_ADDR,
- (struct sockaddr_in *)LOCAL_ADDR, &m);
- if(e) {
- struct SessionHandle *data = conn->data;
- infof(data, "krb4_decode: %s\n", krb_get_err_text(e));
- return -1;
- }
- memmove(buf, m.app_data, m.app_length);
- return m.app_length;
-}
-
-static int
-krb4_overhead(void *app_data, int level, int len)
-{
- /* no arguments are used, just init them to prevent compiler warnings */
- app_data = NULL;
- level = 0;
- len = 0;
- return 31;
-}
-
-static int
-krb4_encode(void *app_data, const void *from, int length, int level, void **to,
- struct connectdata *conn)
-{
- struct krb4_data *d = app_data;
- *to = malloc(length + 31);
- if(level == prot_safe)
- /* NOTE that the void* cast is safe, krb_mk_safe/priv don't modify the
- * input buffer
- */
- return krb_mk_safe((void*)from, *to, length, &d->key,
- (struct sockaddr_in *)LOCAL_ADDR,
- (struct sockaddr_in *)REMOTE_ADDR);
- else if(level == prot_private)
- return krb_mk_priv((void*)from, *to, length, d->schedule, &d->key,
- (struct sockaddr_in *)LOCAL_ADDR,
- (struct sockaddr_in *)REMOTE_ADDR);
- else
- return -1;
-}
-
-static int
-mk_auth(struct krb4_data *d, KTEXT adat,
- const char *service, char *host, int checksum)
-{
- int ret;
- CREDENTIALS cred;
- char sname[SNAME_SZ], inst[INST_SZ], realm[REALM_SZ];
-
- strlcpy(sname, service, sizeof(sname));
- strlcpy(inst, krb_get_phost(host), sizeof(inst));
- strlcpy(realm, krb_realmofhost(host), sizeof(realm));
- ret = krb_mk_req(adat, sname, inst, realm, checksum);
- if(ret)
- return ret;
- strlcpy(sname, service, sizeof(sname));
- strlcpy(inst, krb_get_phost(host), sizeof(inst));
- strlcpy(realm, krb_realmofhost(host), sizeof(realm));
- ret = krb_get_cred(sname, inst, realm, &cred);
- memmove(&d->key, &cred.session, sizeof(des_cblock));
- des_key_sched(&d->key, d->schedule);
- memset(&cred, 0, sizeof(cred));
- return ret;
-}
-
-#ifdef HAVE_KRB_GET_OUR_IP_FOR_REALM
-int krb_get_our_ip_for_realm(char *, struct in_addr *);
-#endif
-
-static int
-krb4_auth(void *app_data, struct connectdata *conn)
-{
- int ret;
- char *p;
- unsigned char *ptr;
- size_t len;
- KTEXT_ST adat;
- MSG_DAT msg_data;
- int checksum;
- u_int32_t cs;
- struct krb4_data *d = app_data;
- char *host = conn->host.name;
- ssize_t nread;
- int l = sizeof(conn->local_addr);
- struct SessionHandle *data = conn->data;
- CURLcode result;
-
- if(getsockname(conn->sock[FIRSTSOCKET],
- (struct sockaddr *)LOCAL_ADDR, &l) < 0)
- perror("getsockname()");
-
- checksum = getpid();
- ret = mk_auth(d, &adat, "ftp", host, checksum);
- if(ret == KDC_PR_UNKNOWN)
- ret = mk_auth(d, &adat, "rcmd", host, checksum);
- if(ret) {
- infof(data, "%s\n", krb_get_err_text(ret));
- return AUTH_CONTINUE;
- }
-
-#ifdef HAVE_KRB_GET_OUR_IP_FOR_REALM
- if(krb_get_config_bool("nat_in_use")) {
- struct sockaddr_in *localaddr = (struct sockaddr_in *)LOCAL_ADDR;
- struct in_addr natAddr;
-
- if(krb_get_our_ip_for_realm(krb_realmofhost(host),
- &natAddr) != KSUCCESS
- && krb_get_our_ip_for_realm(NULL, &natAddr) != KSUCCESS)
- infof(data, "Can't get address for realm %s\n",
- krb_realmofhost(host));
- else {
- if(natAddr.s_addr != localaddr->sin_addr.s_addr) {
-#ifdef HAVE_INET_NTOA_R
- char ntoa_buf[64];
- char *ip = (char *)inet_ntoa_r(natAddr, ntoa_buf, sizeof(ntoa_buf));
-#else
- char *ip = (char *)inet_ntoa(natAddr);
-#endif
- infof(data, "Using NAT IP address (%s) for kerberos 4\n", ip);
- localaddr->sin_addr = natAddr;
- }
- }
- }
-#endif
-
- if(Curl_base64_encode(conn->data, (char *)adat.dat, adat.length, &p) < 1) {
- Curl_failf(data, "Out of memory base64-encoding");
- return AUTH_CONTINUE;
- }
-
- result = Curl_ftpsendf(conn, "ADAT %s", p);
-
- free(p);
-
- if(result)
- return -2;
-
- if(Curl_GetFTPResponse(&nread, conn, NULL))
- return -1;
-
- if(data->state.buffer[0] != '2'){
- Curl_failf(data, "Server didn't accept auth data");
- return AUTH_ERROR;
- }
-
- p = strstr(data->state.buffer, "ADAT=");
- if(!p) {
- Curl_failf(data, "Remote host didn't send adat reply");
- return AUTH_ERROR;
- }
- p += 5;
- len = Curl_base64_decode(p, &ptr);
- if(len > sizeof(adat.dat)-1) {
- free(ptr);
- len=0;
- }
- if(!len || !ptr) {
- Curl_failf(data, "Failed to decode base64 from server");
- return AUTH_ERROR;
- }
- memcpy((char *)adat.dat, ptr, len);
- free(ptr);
- adat.length = len;
- ret = krb_rd_safe(adat.dat, adat.length, &d->key,
- (struct sockaddr_in *)hisctladdr,
- (struct sockaddr_in *)myctladdr, &msg_data);
- if(ret) {
- Curl_failf(data, "Error reading reply from server: %s",
- krb_get_err_text(ret));
- return AUTH_ERROR;
- }
- krb_get_int(msg_data.app_data, &cs, 4, 0);
- if(cs - checksum != 1) {
- Curl_failf(data, "Bad checksum returned from server");
- return AUTH_ERROR;
- }
- return AUTH_OK;
-}
-
-struct Curl_sec_client_mech Curl_krb4_client_mech = {
- "KERBEROS_V4",
- sizeof(struct krb4_data),
- NULL, /* init */
- krb4_auth,
- NULL, /* end */
- krb4_check_prot,
- krb4_overhead,
- krb4_encode,
- krb4_decode
-};
-
-CURLcode Curl_krb_kauth(struct connectdata *conn)
-{
- des_cblock key;
- des_key_schedule schedule;
- KTEXT_ST tkt, tktcopy;
- char *name;
- char *p;
- char passwd[100];
- size_t tmp;
- ssize_t nread;
- int save;
- CURLcode result;
- unsigned char *ptr;
-
- save = Curl_set_command_prot(conn, prot_private);
-
- result = Curl_ftpsendf(conn, "SITE KAUTH %s", conn->user);
-
- if(result)
- return result;
-
- result = Curl_GetFTPResponse(&nread, conn, NULL);
- if(result)
- return result;
-
- if(conn->data->state.buffer[0] != '3'){
- Curl_set_command_prot(conn, save);
- return CURLE_FTP_WEIRD_SERVER_REPLY;
- }
-
- p = strstr(conn->data->state.buffer, "T=");
- if(!p) {
- Curl_failf(conn->data, "Bad reply from server");
- Curl_set_command_prot(conn, save);
- return CURLE_FTP_WEIRD_SERVER_REPLY;
- }
-
- p += 2;
- tmp = Curl_base64_decode(p, &ptr);
- if(tmp >= sizeof(tkt.dat)) {
- free(ptr);
- tmp=0;
- }
- if(!tmp || !ptr) {
- Curl_failf(conn->data, "Failed to decode base64 in reply");
- Curl_set_command_prot(conn, save);
- return CURLE_FTP_WEIRD_SERVER_REPLY;
- }
- memcpy((char *)tkt.dat, ptr, tmp);
- free(ptr);
- tkt.length = tmp;
- tktcopy.length = tkt.length;
-
- p = strstr(conn->data->state.buffer, "P=");
- if(!p) {
- Curl_failf(conn->data, "Bad reply from server");
- Curl_set_command_prot(conn, save);
- return CURLE_FTP_WEIRD_SERVER_REPLY;
- }
- name = p + 2;
- for(; *p && *p != ' ' && *p != '\r' && *p != '\n'; p++);
- *p = 0;
-
- des_string_to_key (conn->passwd, &key);
- des_key_sched(&key, schedule);
-
- des_pcbc_encrypt((void *)tkt.dat, (void *)tktcopy.dat,
- tkt.length,
- schedule, &key, DES_DECRYPT);
- if(strcmp ((char*)tktcopy.dat + 8,
- KRB_TICKET_GRANTING_TICKET) != 0) {
- afs_string_to_key(passwd,
- krb_realmofhost(conn->host.name),
- &key);
- des_key_sched(&key, schedule);
- des_pcbc_encrypt((void *)tkt.dat, (void *)tktcopy.dat,
- tkt.length,
- schedule, &key, DES_DECRYPT);
- }
- memset(key, 0, sizeof(key));
- memset(schedule, 0, sizeof(schedule));
- memset(passwd, 0, sizeof(passwd));
- if(Curl_base64_encode(conn->data, (char *)tktcopy.dat, tktcopy.length, &p)
- < 1) {
- failf(conn->data, "Out of memory base64-encoding.");
- Curl_set_command_prot(conn, save);
- return CURLE_OUT_OF_MEMORY;
- }
- memset (tktcopy.dat, 0, tktcopy.length);
-
- result = Curl_ftpsendf(conn, "SITE KAUTH %s %s", name, p);
- free(p);
- if(result)
- return result;
-
- result = Curl_GetFTPResponse(&nread, conn, NULL);
- if(result)
- return result;
- Curl_set_command_prot(conn, save);
-
- return CURLE_OK;
-}
-
-#endif /* HAVE_KRB4 */
-#endif /* CURL_DISABLE_FTP */
diff --git a/Utilities/cmcurl-7.19.0/lib/krb4.h b/Utilities/cmcurl-7.19.0/lib/krb4.h
deleted file mode 100644
index 43cf78d..0000000
--- a/Utilities/cmcurl-7.19.0/lib/krb4.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef __KRB4_H
-#define __KRB4_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-struct Curl_sec_client_mech {
- const char *name;
- size_t size;
- int (*init)(void *);
- int (*auth)(void *, struct connectdata *);
- void (*end)(void *);
- int (*check_prot)(void *, int);
- int (*overhead)(void *, int, int);
- int (*encode)(void *, const void*, int, int, void**, struct connectdata *);
- int (*decode)(void *, void*, int, int, struct connectdata *);
-};
-
-
-#define AUTH_OK 0
-#define AUTH_CONTINUE 1
-#define AUTH_ERROR 2
-
-#ifdef HAVE_KRB4
-extern struct Curl_sec_client_mech Curl_krb4_client_mech;
-#endif
-#ifdef HAVE_GSSAPI
-extern struct Curl_sec_client_mech Curl_krb5_client_mech;
-#endif
-
-CURLcode Curl_krb_kauth(struct connectdata *conn);
-int Curl_sec_fflush_fd(struct connectdata *conn, int fd);
-int Curl_sec_fprintf (struct connectdata *, FILE *, const char *, ...);
-int Curl_sec_getc (struct connectdata *conn, FILE *);
-int Curl_sec_putc (struct connectdata *conn, int, FILE *);
-int Curl_sec_read (struct connectdata *conn, int, void *, int);
-int Curl_sec_read_msg (struct connectdata *conn, char *, int);
-
-int Curl_sec_vfprintf(struct connectdata *, FILE *, const char *, va_list);
-int Curl_sec_fprintf2(struct connectdata *conn, FILE *f, const char *fmt, ...);
-int Curl_sec_vfprintf2(struct connectdata *conn, FILE *, const char *, va_list);
-ssize_t Curl_sec_send(struct connectdata *conn, int, const char *, int);
-int Curl_sec_write(struct connectdata *conn, int, const char *, int);
-
-void Curl_sec_end (struct connectdata *);
-int Curl_sec_login (struct connectdata *);
-void Curl_sec_prot (int, char **);
-int Curl_sec_request_prot (struct connectdata *conn, const char *level);
-void Curl_sec_set_protection_level(struct connectdata *conn);
-void Curl_sec_status (void);
-
-enum protection_level Curl_set_command_prot(struct connectdata *,
- enum protection_level);
-
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/krb5.c b/Utilities/cmcurl-7.19.0/lib/krb5.c
deleted file mode 100644
index 5b921d9..0000000
--- a/Utilities/cmcurl-7.19.0/lib/krb5.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/* GSSAPI/krb5 support for FTP - loosely based on old krb4.c
- *
- * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
- * (Royal Institute of Technology, Stockholm, Sweden).
- * Copyright (c) 2004 - 2008 Daniel Stenberg
- * 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 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. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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 "setup.h"
-
-#ifndef CURL_DISABLE_FTP
-#ifdef HAVE_GSSAPI
-
-#ifdef HAVE_OLD_GSSMIT
-#define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
-#endif
-
-#include <stdlib.h>
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#include <string.h>
-#ifdef HAVE_GSSMIT
-/* MIT style */
-#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
-#include <gssapi/gssapi_krb5.h>
-#else
-/* Heimdal-style */
-#include <gssapi.h>
-#endif
-
-#include "urldata.h"
-#include "curl_base64.h"
-#include "ftp.h"
-#include "sendf.h"
-#include "krb4.h"
-#include "memory.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#define LOCAL_ADDR (&conn->local_addr)
-#define REMOTE_ADDR conn->ip_addr->ai_addr
-
-static int
-krb5_check_prot(void *app_data, int level)
-{
- app_data = NULL; /* prevent compiler warning */
- if(level == prot_confidential)
- return -1;
- return 0;
-}
-
-static int
-krb5_decode(void *app_data, void *buf, int len, int level,
- struct connectdata *conn)
-{
- gss_ctx_id_t *context = app_data;
- OM_uint32 maj, min;
- gss_buffer_desc enc, dec;
-
- /* shut gcc up */
- level = 0;
- conn = NULL;
-
- enc.value = buf;
- enc.length = len;
- maj = gss_unseal(&min, *context, &enc, &dec, NULL, NULL);
- if(maj != GSS_S_COMPLETE) {
- if(len >= 4)
- strcpy(buf, "599 ");
- return -1;
- }
-
- memcpy(buf, dec.value, dec.length);
- len = dec.length;
- gss_release_buffer(&min, &dec);
-
- return len;
-}
-
-static int
-krb5_overhead(void *app_data, int level, int len)
-{
- /* no arguments are used, just init them to prevent compiler warnings */
- app_data = NULL;
- level = 0;
- len = 0;
- return 0;
-}
-
-static int
-krb5_encode(void *app_data, const void *from, int length, int level, void **to,
- struct connectdata *conn)
-{
- gss_ctx_id_t *context = app_data;
- gss_buffer_desc dec, enc;
- OM_uint32 maj, min;
- int state;
- int len;
-
- /* shut gcc up */
- conn = NULL;
-
- /* NOTE that the cast is safe, neither of the krb5, gnu gss and heimdal
- * libraries modify the input buffer in gss_seal()
- */
- dec.value = (void*)from;
- dec.length = length;
- maj = gss_seal(&min, *context,
- level == prot_private,
- GSS_C_QOP_DEFAULT,
- &dec, &state, &enc);
-
- if(maj != GSS_S_COMPLETE)
- return -1;
-
- /* malloc a new buffer, in case gss_release_buffer doesn't work as expected */
- *to = malloc(enc.length);
- if(!*to)
- return -1;
- memcpy(*to, enc.value, enc.length);
- len = enc.length;
- gss_release_buffer(&min, &enc);
- return len;
-}
-
-static int
-krb5_auth(void *app_data, struct connectdata *conn)
-{
- int ret;
- char *p;
- const char *host = conn->dns_entry->addr->ai_canonname;
- ssize_t nread;
- socklen_t l = sizeof(conn->local_addr);
- struct SessionHandle *data = conn->data;
- CURLcode result;
- const char *service = "ftp", *srv_host = "host";
- gss_buffer_desc gssbuf, _gssresp, *gssresp;
- OM_uint32 maj, min;
- gss_name_t gssname;
- gss_ctx_id_t *context = app_data;
- struct gss_channel_bindings_struct chan;
-
- if(getsockname(conn->sock[FIRSTSOCKET],
- (struct sockaddr *)LOCAL_ADDR, &l) < 0)
- perror("getsockname()");
-
- chan.initiator_addrtype = GSS_C_AF_INET;
- chan.initiator_address.length = l - 4;
- chan.initiator_address.value = &((struct sockaddr_in *)LOCAL_ADDR)->sin_addr.s_addr;
- chan.acceptor_addrtype = GSS_C_AF_INET;
- chan.acceptor_address.length = l - 4;
- chan.acceptor_address.value = &((struct sockaddr_in *)REMOTE_ADDR)->sin_addr.s_addr;
- chan.application_data.length = 0;
- chan.application_data.value = NULL;
-
- /* this loop will execute twice (once for service, once for host) */
- while(1) {
- /* this really shouldn't be repeated here, but can't help it */
- if(service == srv_host) {
- result = Curl_ftpsendf(conn, "AUTH GSSAPI");
-
- if(result)
- return -2;
- if(Curl_GetFTPResponse(&nread, conn, NULL))
- return -1;
-
- if(data->state.buffer[0] != '3')
- return -1;
- }
-
- gssbuf.value = data->state.buffer;
- gssbuf.length = snprintf(gssbuf.value, BUFSIZE, "%s@%s", service, host);
- maj = gss_import_name(&min, &gssbuf, GSS_C_NT_HOSTBASED_SERVICE, &gssname);
- if(maj != GSS_S_COMPLETE) {
- gss_release_name(&min, &gssname);
- if(service == srv_host) {
- Curl_failf(data, "Error importing service name %s", gssbuf.value);
- return AUTH_ERROR;
- }
- service = srv_host;
- continue;
- }
- {
- gss_OID t;
- gss_display_name(&min, gssname, &gssbuf, &t);
- Curl_infof(data, "Trying against %s\n", gssbuf.value);
- gss_release_buffer(&min, &gssbuf);
- }
- gssresp = GSS_C_NO_BUFFER;
- *context = GSS_C_NO_CONTEXT;
-
- do {
- ret = AUTH_OK;
- maj = gss_init_sec_context(&min,
- GSS_C_NO_CREDENTIAL,
- context,
- gssname,
- GSS_C_NO_OID,
- GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG,
- 0,
- &chan,
- gssresp,
- NULL,
- &gssbuf,
- NULL,
- NULL);
-
- if(gssresp) {
- free(_gssresp.value);
- gssresp = NULL;
- }
-
- if(maj != GSS_S_COMPLETE && maj != GSS_S_CONTINUE_NEEDED) {
- Curl_infof(data, "Error creating security context");
- ret = AUTH_ERROR;
- break;
- }
-
- if(gssbuf.length != 0) {
- if(Curl_base64_encode(data, (char *)gssbuf.value, gssbuf.length, &p) < 1) {
- Curl_infof(data, "Out of memory base64-encoding");
- ret = AUTH_CONTINUE;
- break;
- }
-
- result = Curl_ftpsendf(conn, "ADAT %s", p);
-
- free(p);
-
- if(result) {
- ret = -2;
- break;
- }
-
- if(Curl_GetFTPResponse(&nread, conn, NULL)) {
- ret = -1;
- break;
- }
-
- if(data->state.buffer[0] != '2' && data->state.buffer[0] != '3'){
- Curl_infof(data, "Server didn't accept auth data\n");
- ret = AUTH_ERROR;
- break;
- }
-
- p = data->state.buffer + 4;
- p = strstr(p, "ADAT=");
- if(p) {
- _gssresp.length = Curl_base64_decode(p + 5, (unsigned char **)&_gssresp.value);
- if(_gssresp.length < 1) {
- Curl_failf(data, "Out of memory base64-encoding");
- ret = AUTH_CONTINUE;
- break;
- }
- }
-
- gssresp = &_gssresp;
- }
- } while(maj == GSS_S_CONTINUE_NEEDED);
-
- gss_release_name(&min, &gssname);
-
- if(gssresp)
- free(_gssresp.value);
-
- if(ret == AUTH_OK || service == srv_host)
- return ret;
-
- service = srv_host;
- }
-}
-
-struct Curl_sec_client_mech Curl_krb5_client_mech = {
- "GSSAPI",
- sizeof(gss_ctx_id_t),
- NULL, /* init */
- krb5_auth,
- NULL, /* end */
- krb5_check_prot,
- krb5_overhead,
- krb5_encode,
- krb5_decode
-};
-
-#endif /* HAVE_GSSAPI */
-#endif /* CURL_DISABLE_FTP */
diff --git a/Utilities/cmcurl-7.19.0/lib/ldap.c b/Utilities/cmcurl-7.19.0/lib/ldap.c
deleted file mode 100644
index 816b46f..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ldap.c
+++ /dev/null
@@ -1,707 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_LDAP
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#include <errno.h>
-
-#ifdef CURL_LDAP_HYBRID /* If W$ definitions are needed. */
-# include <windows.h>
- /* Remember we are NOT in a W$ compiler! */
-# undef WIN32
-# undef _WIN32
-# undef __WIN32__
-#endif
-
-#ifdef CURL_LDAP_WIN /* Use W$ LDAP implementation. */
-# include <winldap.h>
-# ifndef LDAP_VENDOR_NAME
-# error Your Platform SDK is NOT sufficient for LDAP support! Update your Platform SDK, or disable LDAP LDAP support!
-# else
-# include <winber.h>
-# endif
-#else
-#define LDAP_DEPRECATED 1 /* Be sure ldap_init() is defined. */
-#ifdef HAVE_LBER_H
-# include <lber.h>
-#endif
-# include <ldap.h>
-#if (defined(HAVE_LDAP_SSL) && defined(HAVE_LDAP_SSL_H))
-# include <ldap_ssl.h>
-#endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "sendf.h"
-#include "escape.h"
-#include "transfer.h"
-#include "strequal.h"
-#include "strtok.h"
-#include "curl_ldap.h"
-#include "memory.h"
-#include "curl_base64.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "memdebug.h"
-
-#ifndef HAVE_LDAP_URL_PARSE
-
-/* Use our own implementation. */
-
-typedef struct {
- char *lud_host;
- int lud_port;
- char *lud_dn;
- char **lud_attrs;
- int lud_scope;
- char *lud_filter;
- char **lud_exts;
-} CURL_LDAPURLDesc;
-
-#undef LDAPURLDesc
-#define LDAPURLDesc CURL_LDAPURLDesc
-
-static int _ldap_url_parse (const struct connectdata *conn,
- LDAPURLDesc **ludp);
-static void _ldap_free_urldesc (LDAPURLDesc *ludp);
-
-#undef ldap_free_urldesc
-#define ldap_free_urldesc _ldap_free_urldesc
-#endif
-
-#ifdef DEBUG_LDAP
- #define LDAP_TRACE(x) do { \
- _ldap_trace ("%u: ", __LINE__); \
- _ldap_trace x; \
- } while(0)
-
- static void _ldap_trace (const char *fmt, ...);
-#else
- #define LDAP_TRACE(x) ((void)0)
-#endif
-
-
-static CURLcode Curl_ldap(struct connectdata *conn, bool *done);
-
-/*
- * LDAP protocol handler.
- */
-
-const struct Curl_handler Curl_handler_ldap = {
- "LDAP", /* scheme */
- ZERO_NULL, /* setup_connection */
- Curl_ldap, /* do_it */
- ZERO_NULL, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_LDAP, /* defport */
- PROT_LDAP /* protocol */
-};
-
-#ifdef HAVE_LDAP_SSL
-/*
- * LDAPS protocol handler.
- */
-
-const struct Curl_handler Curl_handler_ldaps = {
- "LDAPS", /* scheme */
- ZERO_NULL, /* setup_connection */
- Curl_ldap, /* do_it */
- ZERO_NULL, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_LDAPS, /* defport */
- PROT_LDAP | PROT_SSL /* protocol */
-};
-#endif
-
-
-static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
-{
- CURLcode status = CURLE_OK;
- int rc = 0;
- LDAP *server = NULL;
- LDAPURLDesc *ludp = NULL;
- LDAPMessage *result = NULL;
- LDAPMessage *entryIterator;
- int num = 0;
- struct SessionHandle *data=conn->data;
- int ldap_proto = LDAP_VERSION3;
- int ldap_ssl = 0;
- char *val_b64;
- size_t val_b64_sz;
-#ifdef LDAP_OPT_NETWORK_TIMEOUT
- struct timeval ldap_timeout = {10,0}; /* 10 sec connection/search timeout */
-#endif
-
- *done = TRUE; /* unconditionally */
- infof(data, "LDAP local: LDAP Vendor = %s ; LDAP Version = %d\n",
- LDAP_VENDOR_NAME, LDAP_VENDOR_VERSION);
- infof(data, "LDAP local: %s\n", data->change.url);
-
-#ifdef HAVE_LDAP_URL_PARSE
- rc = ldap_url_parse(data->change.url, &ludp);
-#else
- rc = _ldap_url_parse(conn, &ludp);
-#endif
- if(rc != 0) {
- failf(data, "LDAP local: %s", ldap_err2string(rc));
- status = CURLE_LDAP_INVALID_URL;
- goto quit;
- }
-
- /* Get the URL scheme ( either ldap or ldaps ) */
- if(strequal(conn->protostr, "LDAPS"))
- ldap_ssl = 1;
- infof(data, "LDAP local: trying to establish %s connection\n",
- ldap_ssl ? "encrypted" : "cleartext");
-
-#ifdef LDAP_OPT_NETWORK_TIMEOUT
- ldap_set_option(NULL, LDAP_OPT_NETWORK_TIMEOUT, &ldap_timeout);
-#endif
- ldap_set_option(NULL, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto);
-
- if(ldap_ssl) {
-#ifdef HAVE_LDAP_SSL
-#ifdef CURL_LDAP_WIN
- /* Win32 LDAP SDK doesnt support insecure mode without CA! */
- server = ldap_sslinit(conn->host.name, (int)conn->port, 1);
- ldap_set_option(server, LDAP_OPT_SSL, LDAP_OPT_ON);
-#else
- int ldap_option;
- char* ldap_ca = data->set.str[STRING_SSL_CAFILE];
-#if defined(CURL_HAS_NOVELL_LDAPSDK)
- rc = ldapssl_client_init(NULL, NULL);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ldapssl_client_init %s", ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- if(data->set.ssl.verifypeer) {
- /* Novell SDK supports DER or BASE64 files. */
- int cert_type = LDAPSSL_CERT_FILETYPE_B64;
- if((data->set.str[STRING_CERT_TYPE]) &&
- (strequal(data->set.str[STRING_CERT_TYPE], "DER")))
- cert_type = LDAPSSL_CERT_FILETYPE_DER;
- if(!ldap_ca) {
- failf(data, "LDAP local: ERROR %s CA cert not set!",
- (cert_type == LDAPSSL_CERT_FILETYPE_DER ? "DER" : "PEM"));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- infof(data, "LDAP local: using %s CA cert '%s'\n",
- (cert_type == LDAPSSL_CERT_FILETYPE_DER ? "DER" : "PEM"),
- ldap_ca);
- rc = ldapssl_add_trusted_cert(ldap_ca, cert_type);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ERROR setting %s CA cert: %s",
- (cert_type == LDAPSSL_CERT_FILETYPE_DER ? "DER" : "PEM"),
- ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- ldap_option = LDAPSSL_VERIFY_SERVER;
- } else {
- ldap_option = LDAPSSL_VERIFY_NONE;
- }
- rc = ldapssl_set_verify_mode(ldap_option);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ERROR setting cert verify mode: %s",
- ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- server = ldapssl_init(conn->host.name, (int)conn->port, 1);
- if(server == NULL) {
- failf(data, "LDAP local: Cannot connect to %s:%d",
- conn->host.name, conn->port);
- status = CURLE_COULDNT_CONNECT;
- goto quit;
- }
-#elif defined(LDAP_OPT_X_TLS)
- if(data->set.ssl.verifypeer) {
- /* OpenLDAP SDK supports BASE64 files. */
- if((data->set.str[STRING_CERT_TYPE]) &&
- (!strequal(data->set.str[STRING_CERT_TYPE], "PEM"))) {
- failf(data, "LDAP local: ERROR OpenLDAP does only support PEM cert-type!");
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- if(!ldap_ca) {
- failf(data, "LDAP local: ERROR PEM CA cert not set!");
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- infof(data, "LDAP local: using PEM CA cert: %s\n", ldap_ca);
- rc = ldap_set_option(NULL, LDAP_OPT_X_TLS_CACERTFILE, ldap_ca);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ERROR setting PEM CA cert: %s",
- ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- ldap_option = LDAP_OPT_X_TLS_DEMAND;
- } else {
- ldap_option = LDAP_OPT_X_TLS_NEVER;
- }
- rc = ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, &ldap_option);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ERROR setting cert verify mode: %s",
- ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
- server = ldap_init(conn->host.name, (int)conn->port);
- if(server == NULL) {
- failf(data, "LDAP local: Cannot connect to %s:%d",
- conn->host.name, conn->port);
- status = CURLE_COULDNT_CONNECT;
- goto quit;
- }
- ldap_option = LDAP_OPT_X_TLS_HARD;
- rc = ldap_set_option(server, LDAP_OPT_X_TLS, &ldap_option);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ERROR setting SSL/TLS mode: %s",
- ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
-/*
- rc = ldap_start_tls_s(server, NULL, NULL);
- if(rc != LDAP_SUCCESS) {
- failf(data, "LDAP local: ERROR starting SSL/TLS mode: %s",
- ldap_err2string(rc));
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
- }
-*/
-#else
- /* we should probably never come up to here since configure
- should check in first place if we can support LDAP SSL/TLS */
- failf(data, "LDAP local: SSL/TLS not supported with this version "
- "of the OpenLDAP toolkit\n");
- status = CURLE_SSL_CERTPROBLEM;
- goto quit;
-#endif
-#endif
-#endif /* CURL_LDAP_USE_SSL */
- } else {
- server = ldap_init(conn->host.name, (int)conn->port);
- if(server == NULL) {
- failf(data, "LDAP local: Cannot connect to %s:%d",
- conn->host.name, conn->port);
- status = CURLE_COULDNT_CONNECT;
- goto quit;
- }
- }
-#ifdef CURL_LDAP_WIN
- ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto);
-#endif
-
- rc = ldap_simple_bind_s(server,
- conn->bits.user_passwd ? conn->user : NULL,
- conn->bits.user_passwd ? conn->passwd : NULL);
- if(!ldap_ssl && rc != 0) {
- ldap_proto = LDAP_VERSION2;
- ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto);
- rc = ldap_simple_bind_s(server,
- conn->bits.user_passwd ? conn->user : NULL,
- conn->bits.user_passwd ? conn->passwd : NULL);
- }
- if(rc != 0) {
- failf(data, "LDAP local: ldap_simple_bind_s %s", ldap_err2string(rc));
- status = CURLE_LDAP_CANNOT_BIND;
- goto quit;
- }
-
- rc = ldap_search_s(server, ludp->lud_dn, ludp->lud_scope,
- ludp->lud_filter, ludp->lud_attrs, 0, &result);
-
- if(rc != 0 && rc != LDAP_SIZELIMIT_EXCEEDED) {
- failf(data, "LDAP remote: %s", ldap_err2string(rc));
- status = CURLE_LDAP_SEARCH_FAILED;
- goto quit;
- }
-
- for(num = 0, entryIterator = ldap_first_entry(server, result);
- entryIterator;
- entryIterator = ldap_next_entry(server, entryIterator), num++)
- {
- BerElement *ber = NULL;
- char *attribute; /*! suspicious that this isn't 'const' */
- char *dn = ldap_get_dn(server, entryIterator);
- int i;
-
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"DN: ", 4);
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)dn, 0);
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"\n", 1);
-
- for (attribute = ldap_first_attribute(server, entryIterator, &ber);
- attribute;
- attribute = ldap_next_attribute(server, entryIterator, ber))
- {
- BerValue **vals = ldap_get_values_len(server, entryIterator, attribute);
-
- if(vals != NULL)
- {
- for (i = 0; (vals[i] != NULL); i++)
- {
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"\t", 1);
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *) attribute, 0);
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)": ", 2);
- if((strlen(attribute) > 7) &&
- (strcmp(";binary",
- (char *)attribute +
- (strlen((char *)attribute) - 7)) == 0)) {
- /* Binary attribute, encode to base64. */
- val_b64_sz = Curl_base64_encode(conn->data,
- vals[i]->bv_val,
- vals[i]->bv_len,
- &val_b64);
- if(val_b64_sz > 0) {
- Curl_client_write(conn, CLIENTWRITE_BODY, val_b64, val_b64_sz);
- free(val_b64);
- }
- } else
- Curl_client_write(conn, CLIENTWRITE_BODY, vals[i]->bv_val,
- vals[i]->bv_len);
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"\n", 0);
- }
-
- /* Free memory used to store values */
- ldap_value_free_len(vals);
- }
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"\n", 1);
-
- ldap_memfree(attribute);
- }
- ldap_memfree(dn);
- if(ber)
- ber_free(ber, 0);
- }
-
-quit:
- if(result) {
- ldap_msgfree(result);
- LDAP_TRACE (("Received %d entries\n", num));
- }
- if(rc == LDAP_SIZELIMIT_EXCEEDED)
- infof(data, "There are more than %d entries\n", num);
- if(ludp)
- ldap_free_urldesc(ludp);
- if(server)
- ldap_unbind_s(server);
-#if defined(HAVE_LDAP_SSL) && defined(CURL_HAS_NOVELL_LDAPSDK)
- if(ldap_ssl)
- ldapssl_client_deinit();
-#endif /* HAVE_LDAP_SSL && CURL_HAS_NOVELL_LDAPSDK */
-
- /* no data to transfer */
- Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
- conn->bits.close = TRUE;
-
- return status;
-}
-
-#ifdef DEBUG_LDAP
-static void _ldap_trace (const char *fmt, ...)
-{
- static int do_trace = -1;
- va_list args;
-
- if(do_trace == -1) {
- const char *env = getenv("CURL_TRACE");
- do_trace = (env && atoi(env) > 0);
- }
- if(!do_trace)
- return;
-
- va_start (args, fmt);
- vfprintf (stderr, fmt, args);
- va_end (args);
-}
-#endif
-
-#ifndef HAVE_LDAP_URL_PARSE
-
-/*
- * Return scope-value for a scope-string.
- */
-static int str2scope (const char *p)
-{
- if(!stricmp(p, "one"))
- return LDAP_SCOPE_ONELEVEL;
- if(!stricmp(p, "onetree"))
- return LDAP_SCOPE_ONELEVEL;
- if(!stricmp(p, "base"))
- return LDAP_SCOPE_BASE;
- if(!stricmp(p, "sub"))
- return LDAP_SCOPE_SUBTREE;
- if(!stricmp( p, "subtree"))
- return LDAP_SCOPE_SUBTREE;
- return (-1);
-}
-
-/*
- * Split 'str' into strings separated by commas.
- * Note: res[] points into 'str'.
- */
-static char **split_str (char *str)
-{
- char **res, *lasts, *s;
- int i;
-
- for (i = 2, s = strchr(str,','); s; i++)
- s = strchr(++s,',');
-
- res = calloc(i, sizeof(char*));
- if(!res)
- return NULL;
-
- for (i = 0, s = strtok_r(str, ",", &lasts); s;
- s = strtok_r(NULL, ",", &lasts), i++)
- res[i] = s;
- return res;
-}
-
-/*
- * Unescape the LDAP-URL components
- */
-static bool unescape_elements (void *data, LDAPURLDesc *ludp)
-{
- int i;
-
- if(ludp->lud_filter) {
- ludp->lud_filter = curl_easy_unescape(data, ludp->lud_filter, 0, NULL);
- if(!ludp->lud_filter)
- return (FALSE);
- }
-
- for (i = 0; ludp->lud_attrs && ludp->lud_attrs[i]; i++) {
- ludp->lud_attrs[i] = curl_easy_unescape(data, ludp->lud_attrs[i], 0, NULL);
- if(!ludp->lud_attrs[i])
- return (FALSE);
- }
-
- for (i = 0; ludp->lud_exts && ludp->lud_exts[i]; i++) {
- ludp->lud_exts[i] = curl_easy_unescape(data, ludp->lud_exts[i], 0, NULL);
- if(!ludp->lud_exts[i])
- return (FALSE);
- }
-
- if(ludp->lud_dn) {
- char *dn = ludp->lud_dn;
- char *new_dn = curl_easy_unescape(data, dn, 0, NULL);
-
- free(dn);
- ludp->lud_dn = new_dn;
- if(!new_dn)
- return (FALSE);
- }
- return (TRUE);
-}
-
-/*
- * Break apart the pieces of an LDAP URL.
- * Syntax:
- * ldap://<hostname>:<port>/<base_dn>?<attributes>?<scope>?<filter>?<ext>
- *
- * <hostname> already known from 'conn->host.name'.
- * <port> already known from 'conn->remote_port'.
- * extract the rest from 'conn->data->state.path+1'. All fields are optional.
- * e.g.
- * ldap://<hostname>:<port>/?<attributes>?<scope>?<filter>
- * yields ludp->lud_dn = "".
- *
- * Ref. http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm#2831915
- */
-static int _ldap_url_parse2 (const struct connectdata *conn, LDAPURLDesc *ludp)
-{
- char *p, *q;
- int i;
-
- if(!conn->data ||
- !conn->data->state.path ||
- conn->data->state.path[0] != '/' ||
- !checkprefix(conn->protostr, conn->data->change.url))
- return LDAP_INVALID_SYNTAX;
-
- ludp->lud_scope = LDAP_SCOPE_BASE;
- ludp->lud_port = conn->remote_port;
- ludp->lud_host = conn->host.name;
-
- /* parse DN (Distinguished Name).
- */
- ludp->lud_dn = strdup(conn->data->state.path+1);
- if(!ludp->lud_dn)
- return LDAP_NO_MEMORY;
-
- p = strchr(ludp->lud_dn, '?');
- LDAP_TRACE (("DN '%.*s'\n", p ? (size_t)(p-ludp->lud_dn) :
- strlen(ludp->lud_dn), ludp->lud_dn));
-
- if(!p)
- goto success;
-
- *p++ = '\0';
-
- /* parse attributes. skip "??".
- */
- q = strchr(p, '?');
- if(q)
- *q++ = '\0';
-
- if(*p && *p != '?') {
- ludp->lud_attrs = split_str(p);
- if(!ludp->lud_attrs)
- return LDAP_NO_MEMORY;
-
- for (i = 0; ludp->lud_attrs[i]; i++)
- LDAP_TRACE (("attr[%d] '%s'\n", i, ludp->lud_attrs[i]));
- }
-
- p = q;
- if(!p)
- goto success;
-
- /* parse scope. skip "??"
- */
- q = strchr(p, '?');
- if(q)
- *q++ = '\0';
-
- if(*p && *p != '?') {
- ludp->lud_scope = str2scope(p);
- if(ludp->lud_scope == -1)
- return LDAP_INVALID_SYNTAX;
- LDAP_TRACE (("scope %d\n", ludp->lud_scope));
- }
-
- p = q;
- if(!p)
- goto success;
-
- /* parse filter
- */
- q = strchr(p, '?');
- if(q)
- *q++ = '\0';
- if(!*p)
- return LDAP_INVALID_SYNTAX;
-
- ludp->lud_filter = p;
- LDAP_TRACE (("filter '%s'\n", ludp->lud_filter));
-
- p = q;
- if(!p)
- goto success;
-
- /* parse extensions
- */
- ludp->lud_exts = split_str(p);
- if(!ludp->lud_exts)
- return LDAP_NO_MEMORY;
-
- for (i = 0; ludp->lud_exts[i]; i++)
- LDAP_TRACE (("exts[%d] '%s'\n", i, ludp->lud_exts[i]));
-
- success:
- if(!unescape_elements(conn->data, ludp))
- return LDAP_NO_MEMORY;
- return LDAP_SUCCESS;
-}
-
-static int _ldap_url_parse (const struct connectdata *conn,
- LDAPURLDesc **ludpp)
-{
- LDAPURLDesc *ludp = calloc(sizeof(*ludp), 1);
- int rc;
-
- *ludpp = NULL;
- if(!ludp)
- return LDAP_NO_MEMORY;
-
- rc = _ldap_url_parse2 (conn, ludp);
- if(rc != LDAP_SUCCESS) {
- _ldap_free_urldesc(ludp);
- ludp = NULL;
- }
- *ludpp = ludp;
- return (rc);
-}
-
-static void _ldap_free_urldesc (LDAPURLDesc *ludp)
-{
- int i;
-
- if(!ludp)
- return;
-
- if(ludp->lud_dn)
- free(ludp->lud_dn);
-
- if(ludp->lud_filter)
- free(ludp->lud_filter);
-
- if(ludp->lud_attrs) {
- for (i = 0; ludp->lud_attrs[i]; i++)
- free(ludp->lud_attrs[i]);
- free(ludp->lud_attrs);
- }
-
- if(ludp->lud_exts) {
- for (i = 0; ludp->lud_exts[i]; i++)
- free(ludp->lud_exts[i]);
- free(ludp->lud_exts);
- }
- free (ludp);
-}
-#endif /* !HAVE_LDAP_URL_PARSE */
-#endif /* CURL_DISABLE_LDAP */
diff --git a/Utilities/cmcurl-7.19.0/lib/libcurl.framework.make b/Utilities/cmcurl-7.19.0/lib/libcurl.framework.make
deleted file mode 100644
index f37df3e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/libcurl.framework.make
+++ /dev/null
@@ -1,137 +0,0 @@
-# to build Mac OS X framework call the following line with the directory set
-# properly to lib:
-# make build -e -f libcurl.framework.make
-TMP_DIR = ../lib/.lib
-LIB_DIR = ../lib
-
-# Sets the SDK. 10.4u.sdk is the minimum for building a Universal Binary.
-SDK = /Developer/SDKs/MacOSX10.4u.sdk
-
-# Sets the minimum OSX version where the framework will work.
-ENVP = MACOSX_DEPLOYMENT_TARGET=10.3
-
-# for debug symbols add the -g option. Remove the -O2 option for best debuggin.
-# Can be compiled with -O3 optimizations.
-C_OPTIONS = -isysroot $(SDK) \
- -fno-common \
- -Os \
- -DHAVE_CONFIG_H \
- -DPIC \
- -I../lib \
- -I../include \
- -Wall \
- -arch ppc \
- -arch i386
-
-LIBRARIES = $(SDK)/usr/lib/libssl.dylib \
- $(SDK)/usr/lib/libcrypto.dylib \
- -lz
-
-# These libtool options are needed for a framework.
-# @executable_path tells the application that links to this library where to find it.
-# On Mac OS X frameworks are usually iniside the application bundle in a frameworks folder.
-# Define a seg1addr so prebinding does not overlap with other frameworks or bundles.
-# For prebinding 0x10400000 was chosen a bit at random.
-# If this overlaps one of you current libs just change in the makefile.
-# This address is safe for all built in frameworks.
-LINK_OPTIONS = \
- -Wl,-syslibroot,$(SDK) \
- -arch ppc \
- -arch i386 \
- -prebind \
- -seg1addr 0x10400000 \
- -dynamiclib \
- -install_name @executable_path/../Frameworks/libcurl.framework/libcurl
-
-# This is the file list. It is not dynamically generated so this must be updated if new files are added to the build.
-OBJECTS = $(TMP_DIR)/base64.o \
- $(TMP_DIR)/connect.o \
- $(TMP_DIR)/content_encoding.o \
- $(TMP_DIR)/cookie.o \
- $(TMP_DIR)/dict.o \
- $(TMP_DIR)/easy.o \
- $(TMP_DIR)/escape.o \
- $(TMP_DIR)/file.o \
- $(TMP_DIR)/formdata.o \
- $(TMP_DIR)/ftp.o \
- $(TMP_DIR)/getenv.o \
- $(TMP_DIR)/getinfo.o \
- $(TMP_DIR)/gtls.o \
- $(TMP_DIR)/hash.o \
- $(TMP_DIR)/hostares.o \
- $(TMP_DIR)/hostasyn.o \
- $(TMP_DIR)/hostip.o \
- $(TMP_DIR)/hostip4.o \
- $(TMP_DIR)/hostip6.o \
- $(TMP_DIR)/hostsyn.o \
- $(TMP_DIR)/hostthre.o \
- $(TMP_DIR)/http.o \
- $(TMP_DIR)/http_chunks.o \
- $(TMP_DIR)/http_digest.o \
- $(TMP_DIR)/http_negotiate.o \
- $(TMP_DIR)/http_ntlm.o \
- $(TMP_DIR)/if2ip.o \
- $(TMP_DIR)/inet_ntop.o \
- $(TMP_DIR)/inet_pton.o \
- $(TMP_DIR)/krb4.o \
- $(TMP_DIR)/ldap.o \
- $(TMP_DIR)/llist.o \
- $(TMP_DIR)/md5.o \
- $(TMP_DIR)/memdebug.o \
- $(TMP_DIR)/mprintf.o \
- $(TMP_DIR)/multi.o \
- $(TMP_DIR)/netrc.o \
- $(TMP_DIR)/parsedate.o \
- $(TMP_DIR)/progress.o \
- $(TMP_DIR)/security.o \
- $(TMP_DIR)/select.o \
- $(TMP_DIR)/sendf.o \
- $(TMP_DIR)/share.o \
- $(TMP_DIR)/speedcheck.o \
- $(TMP_DIR)/sslgen.o \
- $(TMP_DIR)/ssluse.o \
- $(TMP_DIR)/strequal.o \
- $(TMP_DIR)/strerror.o \
- $(TMP_DIR)/strtok.o \
- $(TMP_DIR)/strtoofft.o \
- $(TMP_DIR)/telnet.o \
- $(TMP_DIR)/tftp.o \
- $(TMP_DIR)/timeval.o \
- $(TMP_DIR)/transfer.o \
- $(TMP_DIR)/url.o \
- $(TMP_DIR)/version.o \
- $(TMP_DIR)/splay.o \
- $(TMP_DIR)/socks.o
-
-build: $(TMP_DIR) $(LIB_DIR) $(LIB_DIR)/libcurl.framework
-
-$(TMP_DIR) :
- mkdir -p $(TMP_DIR)
-
-$(LIB_DIR) :
- mkdir -p $(LIB_DIR)
-
-# This builds the framework structure and links everything properly
-$(LIB_DIR)/libcurl.framework: $(OBJECTS) $(LIB_DIR)/libcurl.plist
- mkdir -p $(LIB_DIR)/libcurl.framework/Versions/A/Resources
- $(ENVP) $(CC) $(LINK_OPTIONS) $(LIBRARIES) $(OBJECTS) \
- -o $(LIB_DIR)/libcurl.framework/Versions/A/libcurl
- cp $(LIB_DIR)/libcurl.plist $(LIB_DIR)/libcurl.framework/Versions/A/Resources/Info.plist
- mkdir -p $(LIB_DIR)/libcurl.framework/Versions/A/Headers
- cp $(LIB_DIR)/../include/curl/*.h $(LIB_DIR)/libcurl.framework/Versions/A/Headers
- cd $(LIB_DIR)/libcurl.framework; \
- ln -fs Versions/A/libcurl libcurl; \
- ln -fs Versions/A/Resources Resources; \
- ln -fs Versions/A/Headers Headers
- cd $(LIB_DIR)/libcurl.framework/Versions; \
- ln -fs A Current
-
-$(OBJECTS) : $(TMP_DIR)/%.o: $(LIB_DIR)/%.c
- $(CC) $(C_OPTIONS) -c $< -o $@
-
-clean:
- rm -fr $(LIB_DIR)/libcurl.framework
- rm -f $(OBJECTS)
-
-
-
diff --git a/Utilities/cmcurl-7.19.0/lib/libcurl.imp b/Utilities/cmcurl-7.19.0/lib/libcurl.imp
deleted file mode 100644
index 9984a8b..0000000
--- a/Utilities/cmcurl-7.19.0/lib/libcurl.imp
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# Definition file for the NLM version of the LIBCURL library from curl
-#
-# (LIBCURL)
- curl_easy_cleanup,
- curl_easy_escape,
- curl_easy_unescape,
- curl_easy_getinfo,
- curl_easy_init,
- curl_easy_perform,
- curl_easy_setopt,
- curl_escape,
- curl_unescape,
- curl_formfree,
- curl_getdate,
- curl_getenv,
- curl_global_cleanup,
- curl_global_init,
- curl_slist_append,
- curl_slist_free_all,
- curl_version,
- curl_maprintf,
- curl_mfprintf,
- curl_mprintf,
- curl_msprintf,
- curl_msnprintf,
- curl_mvfprintf,
- curl_mvsnprintf,
- curl_strequal,
- curl_strnequal,
- curl_easy_duphandle,
- curl_formadd,
- curl_multi_init,
- curl_multi_add_handle,
- curl_multi_remove_handle,
- curl_multi_fdset,
- curl_multi_perform,
- curl_multi_cleanup,
- curl_multi_info_read,
- curl_free,
- curl_version_info,
- curl_share_init,
- curl_share_setopt,
- curl_share_cleanup,
- curl_global_init_mem,
- curl_easy_strerror,
- curl_multi_strerror,
- curl_share_strerror,
- curl_easy_reset
-
diff --git a/Utilities/cmcurl-7.19.0/lib/libcurl.plist b/Utilities/cmcurl-7.19.0/lib/libcurl.plist
deleted file mode 100644
index 7115570..0000000
--- a/Utilities/cmcurl-7.19.0/lib/libcurl.plist
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
-
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
-
- <key>CFBundleExecutable</key>
- <string>curl</string>
-
- <key>CFBundleIdentifier</key>
- <string>com.libcurl.libcurl</string>
-
- <key>CFBundleVersion</key>
- <string>7.19.0</string>
-
- <key>CFBundleName</key>
- <string>libcurl</string>
-
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
-
- <key>CFBundleSignature</key>
- <string>????</string>
-
- <key>CFBundleShortVersionString</key>
- <string>libcurl 7.19.0</string>
-
- <key>CFBundleGetInfoString</key>
- <string>libcurl.plist 7.19.0</string>
-</dict>
-</plist> \ No newline at end of file
diff --git a/Utilities/cmcurl-7.19.0/lib/libcurl.rc b/Utilities/cmcurl-7.19.0/lib/libcurl.rc
deleted file mode 100644
index 161a45d..0000000
--- a/Utilities/cmcurl-7.19.0/lib/libcurl.rc
+++ /dev/null
@@ -1,64 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include <winver.h>
-#include "../include/curl/curlver.h"
-
-LANGUAGE 0x09,0x01
-
-#define RC_VERSION LIBCURL_VERSION_MAJOR, LIBCURL_VERSION_MINOR, LIBCURL_VERSION_PATCH, 0
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION RC_VERSION
- PRODUCTVERSION RC_VERSION
- FILEFLAGSMASK 0x3fL
-#if defined(CURLDEBUG) || defined(_DEBUG)
- FILEFLAGS 1
-#else
- FILEFLAGS 0
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_DLL
- FILESUBTYPE 0x0L
-
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "CompanyName", "The cURL library, http://curl.haxx.se/\0"
- VALUE "FileDescription", "libcurl Shared Library\0"
- VALUE "FileVersion", LIBCURL_VERSION "\0"
- VALUE "InternalName", "libcurl\0"
- VALUE "OriginalFilename", "libcurl.dll\0"
- VALUE "ProductName", "The cURL library\0"
- VALUE "ProductVersion", LIBCURL_VERSION "\0"
- VALUE "LegalCopyright", "© " LIBCURL_COPYRIGHT "\0"
- VALUE "License", "http://curl.haxx.se/docs/copyright.html\0"
- END
- END
-
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/Utilities/cmcurl-7.19.0/lib/llist.c b/Utilities/cmcurl-7.19.0/lib/llist.c
deleted file mode 100644
index 43d4623..0000000
--- a/Utilities/cmcurl-7.19.0/lib/llist.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-#include <stdlib.h>
-
-#include "llist.h"
-#include "memory.h"
-
-/* this must be the last include file */
-#include "memdebug.h"
-
-void
-Curl_llist_init(struct curl_llist *l, curl_llist_dtor dtor)
-{
- l->size = 0;
- l->dtor = dtor;
- l->head = NULL;
- l->tail = NULL;
-}
-
-struct curl_llist *
-Curl_llist_alloc(curl_llist_dtor dtor)
-{
- struct curl_llist *list;
-
- list = (struct curl_llist *)malloc(sizeof(struct curl_llist));
- if(NULL == list)
- return NULL;
-
- Curl_llist_init(list, dtor);
-
- return list;
-}
-
-/*
- * Curl_llist_insert_next() returns 1 on success and 0 on failure.
- */
-int
-Curl_llist_insert_next(struct curl_llist *list, struct curl_llist_element *e,
- const void *p)
-{
- struct curl_llist_element *ne =
- (struct curl_llist_element *) malloc(sizeof(struct curl_llist_element));
- if(!ne)
- return 0;
-
- ne->ptr = (void *) p;
- if(list->size == 0) {
- list->head = ne;
- list->head->prev = NULL;
- list->head->next = NULL;
- list->tail = ne;
- }
- else {
- ne->next = e->next;
- ne->prev = e;
- if(e->next) {
- e->next->prev = ne;
- }
- else {
- list->tail = ne;
- }
- e->next = ne;
- }
-
- ++list->size;
-
- return 1;
-}
-
-int
-Curl_llist_remove(struct curl_llist *list, struct curl_llist_element *e,
- void *user)
-{
- if(e == NULL || list->size == 0)
- return 1;
-
- if(e == list->head) {
- list->head = e->next;
-
- if(list->head == NULL)
- list->tail = NULL;
- else
- e->next->prev = NULL;
- } else {
- e->prev->next = e->next;
- if(!e->next)
- list->tail = e->prev;
- else
- e->next->prev = e->prev;
- }
-
- list->dtor(user, e->ptr);
- free(e);
- --list->size;
-
- return 1;
-}
-
-void
-Curl_llist_destroy(struct curl_llist *list, void *user)
-{
- if(list) {
- while(list->size > 0)
- Curl_llist_remove(list, list->tail, user);
-
- free(list);
- }
-}
-
-size_t
-Curl_llist_count(struct curl_llist *list)
-{
- return list->size;
-}
-
-int Curl_llist_move(struct curl_llist *list, struct curl_llist_element *e,
- struct curl_llist *to_list, struct curl_llist_element *to_e)
-{
- /* Remove element from list */
- if(e == NULL || list->size == 0)
- return 0;
-
- if(e == list->head) {
- list->head = e->next;
-
- if(list->head == NULL)
- list->tail = NULL;
- else
- e->next->prev = NULL;
- }
- else {
- e->prev->next = e->next;
- if(!e->next)
- list->tail = e->prev;
- else
- e->next->prev = e->prev;
- }
-
- --list->size;
-
- /* Add element to to_list after to_e */
- if(to_list->size == 0) {
- to_list->head = e;
- to_list->head->prev = NULL;
- to_list->head->next = NULL;
- to_list->tail = e;
- }
- else {
- e->next = to_e->next;
- e->prev = to_e;
- if(to_e->next) {
- to_e->next->prev = e;
- }
- else {
- to_list->tail = e;
- }
- to_e->next = e;
- }
-
- ++to_list->size;
-
- return 1;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/llist.h b/Utilities/cmcurl-7.19.0/lib/llist.h
deleted file mode 100644
index bf01389..0000000
--- a/Utilities/cmcurl-7.19.0/lib/llist.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef __LLIST_H
-#define __LLIST_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-#include <stddef.h>
-
-typedef void (*curl_llist_dtor)(void *, void *);
-
-struct curl_llist_element {
- void *ptr;
-
- struct curl_llist_element *prev;
- struct curl_llist_element *next;
-};
-
-struct curl_llist {
- struct curl_llist_element *head;
- struct curl_llist_element *tail;
-
- curl_llist_dtor dtor;
-
- size_t size;
-};
-
-void Curl_llist_init(struct curl_llist *, curl_llist_dtor);
-struct curl_llist *Curl_llist_alloc(curl_llist_dtor);
-int Curl_llist_insert_next(struct curl_llist *, struct curl_llist_element *,
- const void *);
-int Curl_llist_insert_prev(struct curl_llist *, struct curl_llist_element *,
- const void *);
-int Curl_llist_remove(struct curl_llist *, struct curl_llist_element *,
- void *);
-int Curl_llist_remove_next(struct curl_llist *, struct curl_llist_element *,
- void *);
-size_t Curl_llist_count(struct curl_llist *);
-void Curl_llist_destroy(struct curl_llist *, void *);
-int Curl_llist_move(struct curl_llist *, struct curl_llist_element *,
- struct curl_llist *, struct curl_llist_element *);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/makefile.amiga b/Utilities/cmcurl-7.19.0/lib/makefile.amiga
deleted file mode 100644
index 49cb80c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/makefile.amiga
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# $VER: LibcURL Makefile for AmigaOS ...
-#
-
-# change the follow to where you have the AmiTCP SDK v4.3 includes:
-
-ATCPSDKI= /GG/netinclude
-
-
-CC = m68k-amigaos-gcc
-CFLAGS = -I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall
-
-OBJS = amigaos.c base64.c connect.c content_encoding.c cookie.c dict.c easy.c \
- escape.c file.c formdata.c ftp.c getenv.c getinfo.c hash.c hostip.c \
- hostip4.c hostsyn.c http.c http_chunks.c http_digest.c \
- http_negotiate.c http_ntlm.c if2ip.c inet_ntop.c inet_pton.c krb4.c \
- ldap.c llist.c md5.c memdebug.c mprintf.c multi.c netrc.c parsedate.c \
- progress.c security.c select.c sendf.c share.c speedcheck.c ssluse.c \
- strequal.c strtok.c telnet.c timeval.c transfer.c url.c version.c \
- sslgen.c gtls.c strerror.c
-
-all: $(OBJS:.c=.o)
- ar cru libcurl.a $(OBJS:.c=.o)
- ranlib libcurl.a
-
-install:
- $(INSTALL) -c ./libcurl.a /lib/libcurl.a
diff --git a/Utilities/cmcurl-7.19.0/lib/makefile.dj b/Utilities/cmcurl-7.19.0/lib/makefile.dj
deleted file mode 100644
index 54d51e2..0000000
--- a/Utilities/cmcurl-7.19.0/lib/makefile.dj
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Adapted for djgpp2 / Watt-32 / DOS by
-# Gisle Vanem <giva@bgnett.no>
-#
-# $Id$
-
-DEPEND_PREREQ = config.h
-TOPDIR = ..
-
-include ../packages/DOS/common.dj
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-OBJECTS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(strip $(CSOURCES)))
-
-CURL_LIB = libcurl.a
-
-all: $(OBJ_DIR) ../include/curl/curlbuild.h config.h $(CURL_LIB)
-
-$(CURL_LIB): $(OBJECTS)
- ar rs $@ $?
-
-config.h: config.dos
- cp $^ $@
-
-../include/curl/curlbuild.h: ../include/curl/curlbuild.h.dist
- cp $^ $@
-
-clean:
- - rm -f $(OBJECTS)
-
-realclean vclean: clean
- - rm -f config.h depend.dj $(CURL_LIB)
-
--include depend.dj
-
diff --git a/Utilities/cmcurl-7.19.0/lib/md5.c b/Utilities/cmcurl-7.19.0/lib/md5.c
deleted file mode 100644
index 9655780..0000000
--- a/Utilities/cmcurl-7.19.0/lib/md5.c
+++ /dev/null
@@ -1,355 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_CRYPTO_AUTH
-
-#include <string.h>
-
-#ifdef USE_SSLEAY
-/* When OpenSSL is available we use the MD5-function from OpenSSL */
-
-# ifdef USE_OPENSSL
-# include <openssl/md5.h>
-# else
-# include <md5.h>
-# endif
-
-#else /* USE_SSLEAY */
-/* When OpenSSL is not available we use this code segment */
-
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
- */
-
-/* UINT4 defines a four byte word */
-typedef unsigned int UINT4;
-
-/* MD5 context. */
-struct md5_ctx {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
-};
-
-typedef struct md5_ctx MD5_CTX;
-
-static void MD5_Init(struct md5_ctx *);
-static void MD5_Update(struct md5_ctx *, const unsigned char *, unsigned int);
-static void MD5_Final(unsigned char [16], struct md5_ctx *);
-
-/* Constants for MD5Transform routine.
- */
-
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-
-static void MD5Transform(UINT4 [4], const unsigned char [64]);
-static void Encode(unsigned char *, UINT4 *, unsigned int);
-static void Decode(UINT4 *, const unsigned char *, unsigned int);
-
-static const unsigned char PADDING[64] = {
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/* F, G, H and I are basic MD5 functions.
- */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits.
- */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
-Rotation is separate from addition to prevent recomputation.
- */
-#define FF(a, b, c, d, x, s, ac) { \
- (a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define GG(a, b, c, d, x, s, ac) { \
- (a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define HH(a, b, c, d, x, s, ac) { \
- (a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define II(a, b, c, d, x, s, ac) { \
- (a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-
-/* MD5 initialization. Begins an MD5 operation, writing a new context.
- */
-static void MD5_Init(struct md5_ctx *context)
-{
- context->count[0] = context->count[1] = 0;
- /* Load magic initialization constants. */
- context->state[0] = 0x67452301;
- context->state[1] = 0xefcdab89;
- context->state[2] = 0x98badcfe;
- context->state[3] = 0x10325476;
-}
-
-/* MD5 block update operation. Continues an MD5 message-digest
- operation, processing another message block, and updating the
- context.
- */
-static void MD5_Update (struct md5_ctx *context, /* context */
- const unsigned char *input, /* input block */
- unsigned int inputLen) /* length of input block */
-{
- unsigned int i, bufindex, partLen;
-
- /* Compute number of bytes mod 64 */
- bufindex = (unsigned int)((context->count[0] >> 3) & 0x3F);
-
- /* Update number of bits */
- if((context->count[0] += ((UINT4)inputLen << 3))
- < ((UINT4)inputLen << 3))
- context->count[1]++;
- context->count[1] += ((UINT4)inputLen >> 29);
-
- partLen = 64 - bufindex;
-
- /* Transform as many times as possible. */
- if(inputLen >= partLen) {
- memcpy((void *)&context->buffer[bufindex], (void *)input, partLen);
- MD5Transform(context->state, context->buffer);
-
- for (i = partLen; i + 63 < inputLen; i += 64)
- MD5Transform(context->state, &input[i]);
-
- bufindex = 0;
- }
- else
- i = 0;
-
- /* Buffer remaining input */
- memcpy((void *)&context->buffer[bufindex], (void *)&input[i], inputLen-i);
-}
-
-/* MD5 finalization. Ends an MD5 message-digest operation, writing the
- the message digest and zeroizing the context.
-*/
-static void MD5_Final(unsigned char digest[16], /* message digest */
- struct md5_ctx *context) /* context */
-{
- unsigned char bits[8];
- unsigned int count, padLen;
-
- /* Save number of bits */
- Encode (bits, context->count, 8);
-
- /* Pad out to 56 mod 64. */
- count = (unsigned int)((context->count[0] >> 3) & 0x3f);
- padLen = (count < 56) ? (56 - count) : (120 - count);
- MD5_Update (context, PADDING, padLen);
-
- /* Append length (before padding) */
- MD5_Update (context, bits, 8);
-
- /* Store state in digest */
- Encode (digest, context->state, 16);
-
- /* Zeroize sensitive information. */
- memset ((void *)context, 0, sizeof (*context));
-}
-
-/* MD5 basic transformation. Transforms state based on block. */
-static void MD5Transform(UINT4 state[4],
- const unsigned char block[64])
-{
- UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
- Decode (x, block, 64);
-
- /* Round 1 */
- FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
- FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
- FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
- FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
- FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
- FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
- FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
- FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
- FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
- FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
-
- /* Round 2 */
- GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
- GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
- GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
- GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
- GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
- GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
- GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
- GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
- GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
- GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
-
- /* Round 3 */
- HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
- HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
- HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
- HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
- HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
- HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
-
- /* Round 4 */
- II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
- II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
- II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
- II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
- II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
- II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
- II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
- II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
- II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
- II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
- II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
- II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
-
- state[0] += a;
- state[1] += b;
- state[2] += c;
- state[3] += d;
-
- /* Zeroize sensitive information. */
- memset((void *)x, 0, sizeof (x));
-}
-
-/* Encodes input (UINT4) into output (unsigned char). Assumes len is
- a multiple of 4.
- */
-static void Encode (unsigned char *output,
- UINT4 *input,
- unsigned int len)
-{
- unsigned int i, j;
-
- for (i = 0, j = 0; j < len; i++, j += 4) {
- output[j] = (unsigned char)(input[i] & 0xff);
- output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
- output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
- output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
- }
-}
-
-/* Decodes input (unsigned char) into output (UINT4). Assumes len is
- a multiple of 4.
-*/
-static void Decode (UINT4 *output,
- const unsigned char *input,
- unsigned int len)
-{
- unsigned int i, j;
-
- for (i = 0, j = 0; j < len; i++, j += 4)
- output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
- (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
-}
-
-#endif /* USE_SSLEAY */
-
-#include "curl_md5.h"
-
-void Curl_md5it(unsigned char *outbuffer, /* 16 bytes */
- const unsigned char *input)
-{
- MD5_CTX ctx;
- MD5_Init(&ctx);
- MD5_Update(&ctx, input, (unsigned int)strlen((char *)input));
- MD5_Final(outbuffer, &ctx);
-}
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/memdebug.c b/Utilities/cmcurl-7.19.0/lib/memdebug.c
deleted file mode 100644
index 7742d5e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/memdebug.c
+++ /dev/null
@@ -1,315 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef CURLDEBUG
-#include <curl/curl.h>
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#define _MPRINTF_REPLACE
-#include <curl/mprintf.h>
-#include "urldata.h"
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#define MEMDEBUG_NODEFINES /* don't redefine the standard functions */
-#include "memory.h"
-#include "memdebug.h"
-
-struct memdebug {
- size_t size;
- union {
- double d;
- void * p;
- } mem[1];
- /* I'm hoping this is the thing with the strictest alignment
- * requirements. That also means we waste some space :-( */
-};
-
-/*
- * Note that these debug functions are very simple and they are meant to
- * remain so. For advanced analysis, record a log file and write perl scripts
- * to analyze them!
- *
- * Don't use these with multithreaded test programs!
- */
-
-#define logfile curl_debuglogfile
-FILE *curl_debuglogfile = NULL;
-static bool memlimit = FALSE; /* enable memory limit */
-static long memsize = 0; /* set number of mallocs allowed */
-
-/* this sets the log file name */
-void curl_memdebug(const char *logname)
-{
- if(!logfile) {
- if(logname)
- logfile = fopen(logname, "w");
- else
- logfile = stderr;
-#ifdef MEMDEBUG_LOG_SYNC
- /* Flush the log file after every line so the log isn't lost in a crash */
- setvbuf(logfile, (char *)NULL, _IOLBF, 0);
-#endif
- }
-}
-
-/* This function sets the number of malloc() calls that should return
- successfully! */
-void curl_memlimit(long limit)
-{
- if(!memlimit) {
- memlimit = TRUE;
- memsize = limit;
- }
-}
-
-/* returns TRUE if this isn't allowed! */
-static bool countcheck(const char *func, int line, const char *source)
-{
- /* if source is NULL, then the call is made internally and this check
- should not be made */
- if(memlimit && source) {
- if(!memsize) {
- if(logfile && source)
- fprintf(logfile, "LIMIT %s:%d %s reached memlimit\n",
- source, line, func);
- if(source)
- fprintf(stderr, "LIMIT %s:%d %s reached memlimit\n",
- source, line, func);
- SET_ERRNO(ENOMEM);
- return TRUE; /* RETURN ERROR! */
- }
- else
- memsize--; /* countdown */
-
- /* log the countdown */
- if(logfile && source)
- fprintf(logfile, "LIMIT %s:%d %ld ALLOCS left\n",
- source, line, memsize);
-
- }
-
- return FALSE; /* allow this */
-}
-
-void *curl_domalloc(size_t wantedsize, int line, const char *source)
-{
- struct memdebug *mem;
- size_t size;
-
- if(countcheck("malloc", line, source))
- return NULL;
-
- /* alloc at least 64 bytes */
- size = sizeof(struct memdebug)+wantedsize;
-
- mem=(struct memdebug *)(Curl_cmalloc)(size);
- if(mem) {
- /* fill memory with junk */
- memset(mem->mem, 0xA5, wantedsize);
- mem->size = wantedsize;
- }
-
- if(logfile && source)
- fprintf(logfile, "MEM %s:%d malloc(%zd) = %p\n",
- source, line, wantedsize, mem ? mem->mem : 0);
- return (mem ? mem->mem : NULL);
-}
-
-void *curl_docalloc(size_t wanted_elements, size_t wanted_size,
- int line, const char *source)
-{
- struct memdebug *mem;
- size_t size, user_size;
-
- if(countcheck("calloc", line, source))
- return NULL;
-
- /* alloc at least 64 bytes */
- user_size = wanted_size * wanted_elements;
- size = sizeof(struct memdebug) + user_size;
-
- mem = (struct memdebug *)(Curl_cmalloc)(size);
- if(mem) {
- /* fill memory with zeroes */
- memset(mem->mem, 0, user_size);
- mem->size = user_size;
- }
-
- if(logfile && source)
- fprintf(logfile, "MEM %s:%d calloc(%u,%u) = %p\n",
- source, line, wanted_elements, wanted_size, mem ? mem->mem : 0);
- return (mem ? mem->mem : NULL);
-}
-
-char *curl_dostrdup(const char *str, int line, const char *source)
-{
- char *mem;
- size_t len;
-
- DEBUGASSERT(str != NULL);
-
- if(countcheck("strdup", line, source))
- return NULL;
-
- len=strlen(str)+1;
-
- mem=curl_domalloc(len, 0, NULL); /* NULL prevents logging */
- if(mem)
- memcpy(mem, str, len);
-
- if(logfile)
- fprintf(logfile, "MEM %s:%d strdup(%p) (%zd) = %p\n",
- source, line, str, len, mem);
-
- return mem;
-}
-
-/* We provide a realloc() that accepts a NULL as pointer, which then
- performs a malloc(). In order to work with ares. */
-void *curl_dorealloc(void *ptr, size_t wantedsize,
- int line, const char *source)
-{
- struct memdebug *mem=NULL;
-
- size_t size = sizeof(struct memdebug)+wantedsize;
-
- if(countcheck("realloc", line, source))
- return NULL;
-
- if(ptr)
- mem = (struct memdebug *)((char *)ptr - offsetof(struct memdebug, mem));
-
- mem=(struct memdebug *)(Curl_crealloc)(mem, size);
- if(logfile)
- fprintf(logfile, "MEM %s:%d realloc(%p, %zd) = %p\n",
- source, line, ptr, wantedsize, mem?mem->mem:NULL);
-
- if(mem) {
- mem->size = wantedsize;
- return mem->mem;
- }
-
- return NULL;
-}
-
-void curl_dofree(void *ptr, int line, const char *source)
-{
- struct memdebug *mem;
-
- DEBUGASSERT(ptr != NULL);
-
- mem = (struct memdebug *)((char *)ptr - offsetof(struct memdebug, mem));
-
- /* destroy */
- memset(mem->mem, 0x13, mem->size);
-
- /* free for real */
- (Curl_cfree)(mem);
-
- if(logfile)
- fprintf(logfile, "MEM %s:%d free(%p)\n", source, line, ptr);
-}
-
-int curl_socket(int domain, int type, int protocol, int line,
- const char *source)
-{
- int sockfd=(socket)(domain, type, protocol);
- if(logfile && (sockfd!=-1))
- fprintf(logfile, "FD %s:%d socket() = %d\n",
- source, line, sockfd);
- return sockfd;
-}
-
-int curl_accept(int s, void *saddr, void *saddrlen,
- int line, const char *source)
-{
- struct sockaddr *addr = (struct sockaddr *)saddr;
- socklen_t *addrlen = (socklen_t *)saddrlen;
- int sockfd=(accept)(s, addr, addrlen);
- if(logfile)
- fprintf(logfile, "FD %s:%d accept() = %d\n",
- source, line, sockfd);
- return sockfd;
-}
-
-/* this is our own defined way to close sockets on *ALL* platforms */
-int curl_sclose(int sockfd, int line, const char *source)
-{
- int res=sclose(sockfd);
- if(logfile)
- fprintf(logfile, "FD %s:%d sclose(%d)\n",
- source, line, sockfd);
- return res;
-}
-
-FILE *curl_fopen(const char *file, const char *mode,
- int line, const char *source)
-{
- FILE *res=(fopen)(file, mode);
- if(logfile)
- fprintf(logfile, "FILE %s:%d fopen(\"%s\",\"%s\") = %p\n",
- source, line, file, mode, res);
- return res;
-}
-
-FILE *curl_fdopen(int filedes, const char *mode,
- int line, const char *source)
-{
- FILE *res=(fdopen)(filedes, mode);
- if(logfile)
- fprintf(logfile, "FILE %s:%d fdopen(\"%d\",\"%s\") = %p\n",
- source, line, filedes, mode, res);
- return res;
-}
-
-int curl_fclose(FILE *file, int line, const char *source)
-{
- int res;
-
- DEBUGASSERT(file != NULL);
-
- res=(fclose)(file);
- if(logfile)
- fprintf(logfile, "FILE %s:%d fclose(%p)\n",
- source, line, file);
- return res;
-}
-#else
-#ifdef VMS
-int VOID_VAR_MEMDEBUG;
-#else
-/* we provide a fake do-nothing function here to avoid compiler warnings */
-void curl_memdebug(void) {}
-#endif /* VMS */
-#endif /* CURLDEBUG */
diff --git a/Utilities/cmcurl-7.19.0/lib/memdebug.h b/Utilities/cmcurl-7.19.0/lib/memdebug.h
deleted file mode 100644
index 4e50ad1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/memdebug.h
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifdef CURLDEBUG
-#ifndef _CURL_MEDEBUG_H
-#define _CURL_MEDEBUG_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * CAUTION: this header is designed to work when included by the app-side
- * as well as the library. Do not mix with library internals!
- */
-
-#include "setup.h"
-
-#include <curl/curl.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#include <stdio.h>
-#ifdef HAVE_MEMORY_H
-#include <memory.h>
-#endif
-
-#define logfile curl_debuglogfile
-
-extern FILE *logfile;
-
-/* memory functions */
-CURL_EXTERN void *curl_domalloc(size_t size, int line, const char *source);
-CURL_EXTERN void *curl_docalloc(size_t elements, size_t size, int line, const char *source);
-CURL_EXTERN void *curl_dorealloc(void *ptr, size_t size, int line, const char *source);
-CURL_EXTERN void curl_dofree(void *ptr, int line, const char *source);
-CURL_EXTERN char *curl_dostrdup(const char *str, int line, const char *source);
-CURL_EXTERN void curl_memdebug(const char *logname);
-CURL_EXTERN void curl_memlimit(long limit);
-
-/* file descriptor manipulators */
-CURL_EXTERN int curl_socket(int domain, int type, int protocol, int line , const char *);
-CURL_EXTERN int curl_sclose(int sockfd, int, const char *source);
-CURL_EXTERN int curl_accept(int s, void *addr, void *addrlen,
- int line, const char *source);
-
-/* FILE functions */
-CURL_EXTERN FILE *curl_fopen(const char *file, const char *mode, int line,
- const char *source);
-CURL_EXTERN FILE *curl_fdopen(int filedes, const char *mode, int line,
- const char *source);
-CURL_EXTERN int curl_fclose(FILE *file, int line, const char *source);
-
-#ifndef MEMDEBUG_NODEFINES
-
-/* Set this symbol on the command-line, recompile all lib-sources */
-#undef strdup
-#define strdup(ptr) curl_dostrdup(ptr, __LINE__, __FILE__)
-#define malloc(size) curl_domalloc(size, __LINE__, __FILE__)
-#define calloc(nbelem,size) curl_docalloc(nbelem, size, __LINE__, __FILE__)
-#define realloc(ptr,size) curl_dorealloc(ptr, size, __LINE__, __FILE__)
-#define free(ptr) curl_dofree(ptr, __LINE__, __FILE__)
-
-#define socket(domain,type,protocol)\
- curl_socket(domain,type,protocol,__LINE__,__FILE__)
-#undef accept /* for those with accept as a macro */
-#define accept(sock,addr,len)\
- curl_accept(sock,addr,len,__LINE__,__FILE__)
-
-#if defined(getaddrinfo) && defined(__osf__)
-/* OSF/1 and Tru64 have getaddrinfo as a define already, so we cannot define
- our macro as for other platforms. Instead, we redefine the new name they
- define getaddrinfo to become! */
-#define ogetaddrinfo(host,serv,hint,res) \
- curl_dogetaddrinfo(host,serv,hint,res,__LINE__,__FILE__)
-#else
-#undef getaddrinfo
-#define getaddrinfo(host,serv,hint,res) \
- curl_dogetaddrinfo(host,serv,hint,res,__LINE__,__FILE__)
-#endif
-
-#ifdef HAVE_GETNAMEINFO
-#undef getnameinfo
-#define getnameinfo(sa,salen,host,hostlen,serv,servlen,flags) \
- curl_dogetnameinfo(sa,salen,host,hostlen,serv,servlen,flags, __LINE__, \
- __FILE__)
-#endif
-
-#undef freeaddrinfo
-#define freeaddrinfo(data) \
- curl_dofreeaddrinfo(data,__LINE__,__FILE__)
-
-/* sclose is probably already defined, redefine it! */
-#undef sclose
-#define sclose(sockfd) curl_sclose(sockfd,__LINE__,__FILE__)
-/* ares-adjusted define: */
-#undef closesocket
-#define closesocket(sockfd) curl_sclose(sockfd,__LINE__,__FILE__)
-
-#undef fopen
-#define fopen(file,mode) curl_fopen(file,mode,__LINE__,__FILE__)
-#undef fdopen
-#define fdopen(file,mode) curl_fdopen(file,mode,__LINE__,__FILE__)
-#define fclose(file) curl_fclose(file,__LINE__,__FILE__)
-
-#endif /* MEMDEBUG_NODEFINES */
-
-#endif /* _CURL_MEDEBUG_H */
-#endif /* CURLDEBUG */
diff --git a/Utilities/cmcurl-7.19.0/lib/memory.h b/Utilities/cmcurl-7.19.0/lib/memory.h
deleted file mode 100644
index 076d20a..0000000
--- a/Utilities/cmcurl-7.19.0/lib/memory.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _CURL_MEMORY_H
-#define _CURL_MEMORY_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <curl/curl.h> /* for the typedefs */
-
-extern curl_malloc_callback Curl_cmalloc;
-extern curl_free_callback Curl_cfree;
-extern curl_realloc_callback Curl_crealloc;
-extern curl_strdup_callback Curl_cstrdup;
-extern curl_calloc_callback Curl_ccalloc;
-
-#ifndef CURLDEBUG
-/* Only do this define-mania if we're not using the memdebug system, as that
- has preference on this magic. */
-#undef strdup
-#define strdup(ptr) Curl_cstrdup(ptr)
-#undef malloc
-#define malloc(size) Curl_cmalloc(size)
-#undef calloc
-#define calloc(nbelem,size) Curl_ccalloc(nbelem, size)
-#undef realloc
-#define realloc(ptr,size) Curl_crealloc(ptr, size)
-#undef free
-#define free(ptr) Curl_cfree(ptr)
-
-#endif
-
-#endif /* _CURL_MEMORY_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/mk-ca-bundle.pl b/Utilities/cmcurl-7.19.0/lib/mk-ca-bundle.pl
deleted file mode 100755
index 24c892c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/mk-ca-bundle.pl
+++ /dev/null
@@ -1,187 +0,0 @@
-#!/usr/bin/perl -w
-# ***************************************************************************
-# * _ _ ____ _
-# * Project ___| | | | _ \| |
-# * / __| | | | |_) | |
-# * | (__| |_| | _ <| |___
-# * \___|\___/|_| \_\_____|
-# *
-# * Copyright (C) 1998 - 2008, 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.
-# *
-# * $Id$
-# ***************************************************************************
-# This Perl script creates a fresh ca-bundle.crt file for use with libcurl.
-# It downloads certdata.txt from Mozilla's source tree (see URL below),
-# then parses certdata.txt and extracts CA Root Certificates into PEM format.
-# These are then processed with the OpenSSL commandline tool to produce the
-# final ca-bundle.crt file.
-# The script is based on the parse-certs script written by Roland Krikava.
-# This Perl script works on almost any platform since its only external
-# dependency is the OpenSSL commandline tool for optional text listing.
-# Hacked by Guenter Knauf.
-#
-use Getopt::Std;
-use MIME::Base64;
-use LWP::UserAgent;
-use strict;
-use vars qw($opt_b $opt_h $opt_i $opt_l $opt_n $opt_q $opt_t $opt_u $opt_v);
-
-my $url = 'http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1';
-# If the OpenSSL commandline is not in search path you can configure it here!
-my $openssl = 'openssl';
-
-my $version = $1 if ('$Revision$' =~ /\s(\d+\.\d+)\s/);
-
-getopts('bhilnqtuv');
-
-if ($opt_i) {
- print ("=" x 78 . "\n");
- print "Script Version : $version\n";
- print "Perl Version : $]\n";
- print "Operating System Name : $^O\n";
- print "Getopt::Std.pm Version : ${Getopt::Std::VERSION}\n";
- print "MIME::Base64.pm Version : ${MIME::Base64::VERSION}\n";
- print "LWP::UserAgent.pm Version : ${LWP::UserAgent::VERSION}\n";
- print "LWP.pm Version : ${LWP::VERSION}\n";
- print ("=" x 78 . "\n");
-}
-
-$0 =~ s/\\/\//g;
-$0 = substr($0, rindex($0, '/') + 1);
-if ($opt_h) {
- printf("Usage:\t%s [-b] [-i] [-l] [-n] [-q] [-t] [-u] [-v] [<outputfile>]\n", $0);
- print "\t-b\tbackup an existing version of ca-bundle.crt\n";
- print "\t-i\tprint version info about used modules\n";
- print "\t-l\tprint license info about certdata.txt\n";
- print "\t-n\tno download of certdata.txt (to use existing)\n";
- print "\t-q\tbe really quiet (no progress output at all)\n";
- print "\t-t\tinclude plain text listing of certificates\n";
- print "\t-u\tunlink (remove) certdata.txt after processing\n";
- print "\t-v\tbe verbose and print out processed CAs\n";
- exit;
-}
-
-my $crt = $ARGV[0] || 'ca-bundle.crt';
-my $txt = substr($url, rindex($url, '/') + 1);
-$txt =~ s/\?.*//;
-
-if (!$opt_n || !-e $txt) {
- print "Downloading '$txt' ...\n" if (!$opt_q);
- my $ua = new LWP::UserAgent(agent => "$0/$version");
- my $req = new HTTP::Request('GET', $url);
- my $res = $ua->request($req);
- if ($res->is_success) {
- open(TXT,">$txt") or die "Couldn't open $txt: $!";
- print TXT $res->content . "\n";
- close(TXT) or die "Couldn't close $txt: $!";
- } else {
- die $res->status_line;
- }
-}
-
-if ($opt_b && -e $crt) {
- my $bk = 1;
- while (-e "$crt.~${bk}~") {
- $bk++;
- }
- rename $crt, "$crt.~${bk}~";
-}
-
-my $format = $opt_t ? "plain text and " : "";
-my $currentdate = scalar gmtime() . " UTC";
-open(CRT,">$crt") or die "Couldn't open $crt: $!";
-print CRT <<EOT;
-##
-## $crt -- Bundle of CA Root Certificates
-##
-## Converted at: ${currentdate}
-##
-## This is a bundle of X.509 certificates of public Certificate Authorities
-## (CA). These were automatically extracted from Mozilla's root certificates
-## file (certdata.txt). This file can be found in the mozilla source tree:
-## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt'
-##
-## It contains the certificates in ${format}PEM format and therefore
-## can be directly used with curl / libcurl / php_curl, or with
-## an Apache+mod_ssl webserver for SSL client authentication.
-## Just configure this file as the SSLCACertificateFile.
-##
-
-EOT
-
-close(CRT) or die "Couldn't close $crt: $!";
-
-print "Processing '$txt' ...\n" if (!$opt_q);
-my $caname;
-my $certnum = 0;
-open(TXT,"$txt") or die "Couldn't open $txt: $!";
-while (<TXT>) {
- if (/\*\*\*\*\* BEGIN LICENSE BLOCK \*\*\*\*\*/) {
- open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
- print CRT;
- print if ($opt_l);
- while (<TXT>) {
- print CRT;
- print if ($opt_l);
- last if (/\*\*\*\*\* END LICENSE BLOCK \*\*\*\*\*/);
- }
- close(CRT) or die "Couldn't close $crt: $!";
- }
- next if /^#|^\s*$/;
- chomp;
- if (/^CVS_ID\s+\"(.*)\"/) {
- open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
- print CRT "# $1\n";
- close(CRT) or die "Couldn't close $crt: $!";
- }
- if (/^CKA_LABEL\s+[A-Z0-9]+\s+\"(.*)\"/) {
- $caname = $1;
- }
- if (/^CKA_VALUE MULTILINE_OCTAL/) {
- my $data;
- while (<TXT>) {
- last if (/^END/);
- chomp;
- my @octets = split(/\\/);
- shift @octets;
- for (@octets) {
- $data .= chr(oct);
- }
- }
- my $pem = "-----BEGIN CERTIFICATE-----\n"
- . MIME::Base64::encode($data)
- . "-----END CERTIFICATE-----\n";
- open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
- print CRT "\n$caname\n";
- print CRT ("=" x length($caname) . "\n");
- if (!$opt_t) {
- print CRT $pem;
- }
- close(CRT) or die "Couldn't close $crt: $!";
- if ($opt_t) {
- open(TMP, "|$openssl x509 -md5 -fingerprint -text -inform PEM >> $crt") or die "Couldn't open openssl pipe: $!";
- print TMP $pem;
- close(TMP) or die "Couldn't close openssl pipe: $!";
- }
- print "Parsing: $caname\n" if ($opt_v);
- $certnum ++;
- }
-}
-close(TXT) or die "Couldn't close $txt: $!";
-unlink $txt if ($opt_u);
-print "Done ($certnum CA certs processed).\n" if (!$opt_q);
-
-exit;
-
-
diff --git a/Utilities/cmcurl-7.19.0/lib/mprintf.c b/Utilities/cmcurl-7.19.0/lib/mprintf.c
deleted file mode 100644
index 02a25f6..0000000
--- a/Utilities/cmcurl-7.19.0/lib/mprintf.c
+++ /dev/null
@@ -1,1250 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1999 - 2008, 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.
- *
- * $Id$
- *
- * Purpose:
- * A merge of Bjorn Reese's format() function and Daniel's dsprintf()
- * 1.0. A full blooded printf() clone with full support for <num>$
- * everywhere (parameters, widths and precisions) including variabled
- * sized parameters (like doubles, long longs, long doubles and even
- * void * in 64-bit architectures).
- *
- * Current restrictions:
- * - Max 128 parameters
- * - No 'long double' support.
- *
- * If you ever want truly portable and good *printf() clones, the project that
- * took on from here is named 'Trio' and you find more details on the trio web
- * page at http://daniel.haxx.se/trio/
- */
-
-#include "setup.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <string.h>
-
-#if defined(DJGPP) && (DJGPP_MINOR < 4)
-#undef _MPRINTF_REPLACE /* don't use x_was_used() here */
-#endif
-
-#include <curl/mprintf.h>
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#ifndef SIZEOF_LONG_DOUBLE
-#define SIZEOF_LONG_DOUBLE 0
-#endif
-
-/*
- * If SIZEOF_SIZE_T has not been defined, default to the size of long.
- */
-
-#ifndef SIZEOF_SIZE_T
-# define SIZEOF_SIZE_T CURL_SIZEOF_LONG
-#endif
-
-#ifdef HAVE_LONGLONG
-# define LONG_LONG_TYPE long long
-# define HAVE_LONG_LONG_TYPE
-#else
-# if defined(_MSC_VER) && (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define LONG_LONG_TYPE __int64
-# define HAVE_LONG_LONG_TYPE
-# else
-# undef LONG_LONG_TYPE
-# undef HAVE_LONG_LONG_TYPE
-# endif
-#endif
-
-/*
- * Max integer data types that mprintf.c is capable
- */
-
-#ifdef HAVE_LONG_LONG_TYPE
-# define mp_intmax_t LONG_LONG_TYPE
-# define mp_uintmax_t unsigned LONG_LONG_TYPE
-#else
-# define mp_intmax_t long
-# define mp_uintmax_t unsigned long
-#endif
-
-#define BUFFSIZE 256 /* buffer for long-to-str and float-to-str calcs */
-#define MAX_PARAMETERS 128 /* lame static limit */
-
-#ifdef __AMIGA__
-# undef FORMAT_INT
-#endif
-
-/* Lower-case digits. */
-static const char lower_digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";
-
-/* Upper-case digits. */
-static const char upper_digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
-#define OUTCHAR(x) \
- do{ \
- if(stream((unsigned char)(x), (FILE *)data) != -1) \
- done++; \
- else \
- return done; /* return immediately on failure */ \
- } while(0)
-
-/* Data type to read from the arglist */
-typedef enum {
- FORMAT_UNKNOWN = 0,
- FORMAT_STRING,
- FORMAT_PTR,
- FORMAT_INT,
- FORMAT_INTPTR,
- FORMAT_LONG,
- FORMAT_LONGLONG,
- FORMAT_DOUBLE,
- FORMAT_LONGDOUBLE,
- FORMAT_WIDTH /* For internal use */
-} FormatType;
-
-/* convertion and display flags */
-enum {
- FLAGS_NEW = 0,
- FLAGS_SPACE = 1<<0,
- FLAGS_SHOWSIGN = 1<<1,
- FLAGS_LEFT = 1<<2,
- FLAGS_ALT = 1<<3,
- FLAGS_SHORT = 1<<4,
- FLAGS_LONG = 1<<5,
- FLAGS_LONGLONG = 1<<6,
- FLAGS_LONGDOUBLE = 1<<7,
- FLAGS_PAD_NIL = 1<<8,
- FLAGS_UNSIGNED = 1<<9,
- FLAGS_OCTAL = 1<<10,
- FLAGS_HEX = 1<<11,
- FLAGS_UPPER = 1<<12,
- FLAGS_WIDTH = 1<<13, /* '*' or '*<num>$' used */
- FLAGS_WIDTHPARAM = 1<<14, /* width PARAMETER was specified */
- FLAGS_PREC = 1<<15, /* precision was specified */
- FLAGS_PRECPARAM = 1<<16, /* precision PARAMETER was specified */
- FLAGS_CHAR = 1<<17, /* %c story */
- FLAGS_FLOATE = 1<<18, /* %e or %E */
- FLAGS_FLOATG = 1<<19 /* %g or %G */
-};
-
-typedef struct {
- FormatType type;
- int flags;
- long width; /* width OR width parameter number */
- long precision; /* precision OR precision parameter number */
- union {
- char *str;
- void *ptr;
- union {
- mp_intmax_t as_signed;
- mp_uintmax_t as_unsigned;
- } num;
- double dnum;
- } data;
-} va_stack_t;
-
-struct nsprintf {
- char *buffer;
- size_t length;
- size_t max;
-};
-
-struct asprintf {
- char *buffer; /* allocated buffer */
- size_t len; /* length of string */
- size_t alloc; /* length of alloc */
- int fail; /* (!= 0) if an alloc has failed and thus
- the output is not the complete data */
-};
-
-int curl_msprintf(char *buffer, const char *format, ...);
-
-static long dprintf_DollarString(char *input, char **end)
-{
- int number=0;
- while(ISDIGIT(*input)) {
- number *= 10;
- number += *input-'0';
- input++;
- }
- if(number && ('$'==*input++)) {
- *end = input;
- return number;
- }
- return 0;
-}
-
-static int dprintf_IsQualifierNoDollar(char c)
-{
- switch (c) {
- case '-': case '+': case ' ': case '#': case '.':
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- case 'h': case 'l': case 'L': case 'z': case 'q':
- case '*': case 'O':
- return 1; /* true */
- default:
- return 0; /* false */
- }
-}
-
-#ifdef DPRINTF_DEBUG2
-static void dprintf_Pass1Report(va_stack_t *vto, int max)
-{
- int i;
- char buffer[256];
- int bit;
- int flags;
-
- for(i=0; i<max; i++) {
- char *type;
- switch(vto[i].type) {
- case FORMAT_UNKNOWN:
- type = "unknown";
- break;
- case FORMAT_STRING:
- type ="string";
- break;
- case FORMAT_PTR:
- type ="pointer";
- break;
- case FORMAT_INT:
- type = "int";
- break;
- case FORMAT_INTPTR:
- type = "intptr";
- break;
- case FORMAT_LONG:
- type = "long";
- break;
- case FORMAT_LONGLONG:
- type = "long long";
- break;
- case FORMAT_DOUBLE:
- type = "double";
- break;
- case FORMAT_LONGDOUBLE:
- type = "long double";
- break;
- }
-
-
- buffer[0]=0;
-
- for(bit=0; bit<31; bit++) {
- flags = vto[i].flags & (1<<bit);
-
- if(flags & FLAGS_SPACE)
- strcat(buffer, "space ");
- else if(flags & FLAGS_SHOWSIGN)
- strcat(buffer, "plus ");
- else if(flags & FLAGS_LEFT)
- strcat(buffer, "left ");
- else if(flags & FLAGS_ALT)
- strcat(buffer, "alt ");
- else if(flags & FLAGS_SHORT)
- strcat(buffer, "short ");
- else if(flags & FLAGS_LONG)
- strcat(buffer, "long ");
- else if(flags & FLAGS_LONGLONG)
- strcat(buffer, "longlong ");
- else if(flags & FLAGS_LONGDOUBLE)
- strcat(buffer, "longdouble ");
- else if(flags & FLAGS_PAD_NIL)
- strcat(buffer, "padnil ");
- else if(flags & FLAGS_UNSIGNED)
- strcat(buffer, "unsigned ");
- else if(flags & FLAGS_OCTAL)
- strcat(buffer, "octal ");
- else if(flags & FLAGS_HEX)
- strcat(buffer, "hex ");
- else if(flags & FLAGS_UPPER)
- strcat(buffer, "upper ");
- else if(flags & FLAGS_WIDTH)
- strcat(buffer, "width ");
- else if(flags & FLAGS_WIDTHPARAM)
- strcat(buffer, "widthparam ");
- else if(flags & FLAGS_PREC)
- strcat(buffer, "precision ");
- else if(flags & FLAGS_PRECPARAM)
- strcat(buffer, "precparam ");
- else if(flags & FLAGS_CHAR)
- strcat(buffer, "char ");
- else if(flags & FLAGS_FLOATE)
- strcat(buffer, "floate ");
- else if(flags & FLAGS_FLOATG)
- strcat(buffer, "floatg ");
- }
- printf("REPORT: %d. %s [%s]\n", i, type, buffer);
-
- }
-
-
-}
-#endif
-
-/******************************************************************
- *
- * Pass 1:
- * Create an index with the type of each parameter entry and its
- * value (may vary in size)
- *
- ******************************************************************/
-
-static long dprintf_Pass1(const char *format, va_stack_t *vto, char **endpos,
- va_list arglist)
-{
- char *fmt = (char *)format;
- int param_num = 0;
- long this_param;
- long width;
- long precision;
- int flags;
- long max_param=0;
- long i;
-
- while(*fmt) {
- if(*fmt++ == '%') {
- if(*fmt == '%') {
- fmt++;
- continue; /* while */
- }
-
- flags = FLAGS_NEW;
-
- /* Handle the positional case (N$) */
-
- param_num++;
-
- this_param = dprintf_DollarString(fmt, &fmt);
- if(0 == this_param)
- /* we got no positional, get the next counter */
- this_param = param_num;
-
- if(this_param > max_param)
- max_param = this_param;
-
- /*
- * The parameter with number 'i' should be used. Next, we need
- * to get SIZE and TYPE of the parameter. Add the information
- * to our array.
- */
-
- width = 0;
- precision = 0;
-
- /* Handle the flags */
-
- while(dprintf_IsQualifierNoDollar(*fmt)) {
- switch (*fmt++) {
- case ' ':
- flags |= FLAGS_SPACE;
- break;
- case '+':
- flags |= FLAGS_SHOWSIGN;
- break;
- case '-':
- flags |= FLAGS_LEFT;
- flags &= ~FLAGS_PAD_NIL;
- break;
- case '#':
- flags |= FLAGS_ALT;
- break;
- case '.':
- flags |= FLAGS_PREC;
- if('*' == *fmt) {
- /* The precision is picked from a specified parameter */
-
- flags |= FLAGS_PRECPARAM;
- fmt++;
- param_num++;
-
- i = dprintf_DollarString(fmt, &fmt);
- if(i)
- precision = i;
- else
- precision = param_num;
-
- if(precision > max_param)
- max_param = precision;
- }
- else {
- flags |= FLAGS_PREC;
- precision = strtol(fmt, &fmt, 10);
- }
- break;
- case 'h':
- flags |= FLAGS_SHORT;
- break;
- case 'l':
- if(flags & FLAGS_LONG)
- flags |= FLAGS_LONGLONG;
- else
- flags |= FLAGS_LONG;
- break;
- case 'L':
- flags |= FLAGS_LONGDOUBLE;
- break;
- case 'q':
- flags |= FLAGS_LONGLONG;
- break;
- case 'z':
- /* the code below generates a warning if -Wunreachable-code is
- used */
-#if (SIZEOF_SIZE_T > CURL_SIZEOF_LONG)
- flags |= FLAGS_LONGLONG;
-#else
- flags |= FLAGS_LONG;
-#endif
- break;
- case 'O':
-#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG)
- flags |= FLAGS_LONGLONG;
-#else
- flags |= FLAGS_LONG;
-#endif
- break;
- case '0':
- if(!(flags & FLAGS_LEFT))
- flags |= FLAGS_PAD_NIL;
- /* FALLTHROUGH */
- case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- flags |= FLAGS_WIDTH;
- width = strtol(fmt-1, &fmt, 10);
- break;
- case '*': /* Special case */
- flags |= FLAGS_WIDTHPARAM;
- param_num++;
-
- i = dprintf_DollarString(fmt, &fmt);
- if(i)
- width = i;
- else
- width = param_num;
- if(width > max_param)
- max_param=width;
- break;
- default:
- break;
- }
- } /* switch */
-
- /* Handle the specifier */
-
- i = this_param - 1;
-
- switch (*fmt) {
- case 'S':
- flags |= FLAGS_ALT;
- /* FALLTHROUGH */
- case 's':
- vto[i].type = FORMAT_STRING;
- break;
- case 'n':
- vto[i].type = FORMAT_INTPTR;
- break;
- case 'p':
- vto[i].type = FORMAT_PTR;
- break;
- case 'd': case 'i':
- vto[i].type = FORMAT_INT;
- break;
- case 'u':
- vto[i].type = FORMAT_INT;
- flags |= FLAGS_UNSIGNED;
- break;
- case 'o':
- vto[i].type = FORMAT_INT;
- flags |= FLAGS_OCTAL;
- break;
- case 'x':
- vto[i].type = FORMAT_INT;
- flags |= FLAGS_HEX;
- break;
- case 'X':
- vto[i].type = FORMAT_INT;
- flags |= FLAGS_HEX|FLAGS_UPPER;
- break;
- case 'c':
- vto[i].type = FORMAT_INT;
- flags |= FLAGS_CHAR;
- break;
- case 'f':
- vto[i].type = FORMAT_DOUBLE;
- break;
- case 'e':
- vto[i].type = FORMAT_DOUBLE;
- flags |= FLAGS_FLOATE;
- break;
- case 'E':
- vto[i].type = FORMAT_DOUBLE;
- flags |= FLAGS_FLOATE|FLAGS_UPPER;
- break;
- case 'g':
- vto[i].type = FORMAT_DOUBLE;
- flags |= FLAGS_FLOATG;
- break;
- case 'G':
- vto[i].type = FORMAT_DOUBLE;
- flags |= FLAGS_FLOATG|FLAGS_UPPER;
- break;
- default:
- vto[i].type = FORMAT_UNKNOWN;
- break;
- } /* switch */
-
- vto[i].flags = flags;
- vto[i].width = width;
- vto[i].precision = precision;
-
- if(flags & FLAGS_WIDTHPARAM) {
- /* we have the width specified from a parameter, so we make that
- parameter's info setup properly */
- vto[i].width = width - 1;
- i = width - 1;
- vto[i].type = FORMAT_WIDTH;
- vto[i].flags = FLAGS_NEW;
- vto[i].precision = vto[i].width = 0; /* can't use width or precision
- of width! */
- }
- if(flags & FLAGS_PRECPARAM) {
- /* we have the precision specified from a parameter, so we make that
- parameter's info setup properly */
- vto[i].precision = precision - 1;
- i = precision - 1;
- vto[i].type = FORMAT_WIDTH;
- vto[i].flags = FLAGS_NEW;
- vto[i].precision = vto[i].width = 0; /* can't use width or precision
- of width! */
- }
- *endpos++ = fmt + 1; /* end of this sequence */
- }
- }
-
-#ifdef DPRINTF_DEBUG2
- dprintf_Pass1Report(vto, max_param);
-#endif
-
- /* Read the arg list parameters into our data list */
- for (i=0; i<max_param; i++) {
- if((i + 1 < max_param) && (vto[i + 1].type == FORMAT_WIDTH))
- {
- /* Width/precision arguments must be read before the main argument
- * they are attached to
- */
- vto[i + 1].data.num.as_signed = (mp_intmax_t)va_arg(arglist, int);
- }
-
- switch (vto[i].type)
- {
- case FORMAT_STRING:
- vto[i].data.str = va_arg(arglist, char *);
- break;
-
- case FORMAT_INTPTR:
- case FORMAT_UNKNOWN:
- case FORMAT_PTR:
- vto[i].data.ptr = va_arg(arglist, void *);
- break;
-
- case FORMAT_INT:
-#ifdef HAVE_LONG_LONG_TYPE
- if((vto[i].flags & FLAGS_LONGLONG) && (vto[i].flags & FLAGS_UNSIGNED))
- vto[i].data.num.as_unsigned =
- (mp_uintmax_t)va_arg(arglist, mp_uintmax_t);
- else if(vto[i].flags & FLAGS_LONGLONG)
- vto[i].data.num.as_signed =
- (mp_intmax_t)va_arg(arglist, mp_intmax_t);
- else
-#endif
- {
- if((vto[i].flags & FLAGS_LONG) && (vto[i].flags & FLAGS_UNSIGNED))
- vto[i].data.num.as_unsigned =
- (mp_uintmax_t)va_arg(arglist, unsigned long);
- else if(vto[i].flags & FLAGS_LONG)
- vto[i].data.num.as_signed =
- (mp_intmax_t)va_arg(arglist, long);
- else if(vto[i].flags & FLAGS_UNSIGNED)
- vto[i].data.num.as_unsigned =
- (mp_uintmax_t)va_arg(arglist, unsigned int);
- else
- vto[i].data.num.as_signed =
- (mp_intmax_t)va_arg(arglist, int);
- }
- break;
-
- case FORMAT_DOUBLE:
- vto[i].data.dnum = va_arg(arglist, double);
- break;
-
- case FORMAT_WIDTH:
- /* Argument has been read. Silently convert it into an integer
- * for later use
- */
- vto[i].type = FORMAT_INT;
- break;
-
- default:
- break;
- }
- }
-
- return max_param;
-
-}
-
-static int dprintf_formatf(
- void *data, /* untouched by format(), just sent to the stream() function in
- the second argument */
- /* function pointer called for each output character */
- int (*stream)(int, FILE *),
- const char *format, /* %-formatted string */
- va_list ap_save) /* list of parameters */
-{
- /* Base-36 digits for numbers. */
- const char *digits = lower_digits;
-
- /* Pointer into the format string. */
- char *f;
-
- /* Number of characters written. */
- int done = 0;
-
- long param; /* current parameter to read */
- long param_num=0; /* parameter counter */
-
- va_stack_t vto[MAX_PARAMETERS];
- char *endpos[MAX_PARAMETERS];
- char **end;
-
- char work[BUFFSIZE];
-
- va_stack_t *p;
-
- /* Do the actual %-code parsing */
- dprintf_Pass1(format, vto, endpos, ap_save);
-
- end = &endpos[0]; /* the initial end-position from the list dprintf_Pass1()
- created for us */
-
- f = (char *)format;
- while(*f != '\0') {
- /* Format spec modifiers. */
- int is_alt;
-
- /* Width of a field. */
- long width;
-
- /* Precision of a field. */
- long prec;
-
- /* Decimal integer is negative. */
- int is_neg;
-
- /* Base of a number to be written. */
- long base;
-
- /* Integral values to be written. */
- mp_uintmax_t num;
-
- /* Used to convert negative in positive. */
- mp_intmax_t signed_num;
-
- if(*f != '%') {
- /* This isn't a format spec, so write everything out until the next one
- OR end of string is reached. */
- do {
- OUTCHAR(*f);
- } while(*++f && ('%' != *f));
- continue;
- }
-
- ++f;
-
- /* Check for "%%". Note that although the ANSI standard lists
- '%' as a conversion specifier, it says "The complete format
- specification shall be `%%'," so we can avoid all the width
- and precision processing. */
- if(*f == '%') {
- ++f;
- OUTCHAR('%');
- continue;
- }
-
- /* If this is a positional parameter, the position must follow imediately
- after the %, thus create a %<num>$ sequence */
- param=dprintf_DollarString(f, &f);
-
- if(!param)
- param = param_num;
- else
- --param;
-
- param_num++; /* increase this always to allow "%2$s %1$s %s" and then the
- third %s will pick the 3rd argument */
-
- p = &vto[param];
-
- /* pick up the specified width */
- if(p->flags & FLAGS_WIDTHPARAM)
- width = (long)vto[p->width].data.num.as_signed;
- else
- width = p->width;
-
- /* pick up the specified precision */
- if(p->flags & FLAGS_PRECPARAM) {
- prec = (long)vto[p->precision].data.num.as_signed;
- param_num++; /* since the precision is extraced from a parameter, we
- must skip that to get to the next one properly */
- }
- else if(p->flags & FLAGS_PREC)
- prec = p->precision;
- else
- prec = -1;
-
- is_alt = (p->flags & FLAGS_ALT) ? 1 : 0;
-
- switch (p->type) {
- case FORMAT_INT:
- num = p->data.num.as_unsigned;
- if(p->flags & FLAGS_CHAR) {
- /* Character. */
- if(!(p->flags & FLAGS_LEFT))
- while(--width > 0)
- OUTCHAR(' ');
- OUTCHAR((char) num);
- if(p->flags & FLAGS_LEFT)
- while(--width > 0)
- OUTCHAR(' ');
- break;
- }
- if(p->flags & FLAGS_UNSIGNED) {
- /* Decimal unsigned integer. */
- base = 10;
- goto unsigned_number;
- }
- if(p->flags & FLAGS_OCTAL) {
- /* Octal unsigned integer. */
- base = 8;
- goto unsigned_number;
- }
- if(p->flags & FLAGS_HEX) {
- /* Hexadecimal unsigned integer. */
-
- digits = (p->flags & FLAGS_UPPER)? upper_digits : lower_digits;
- base = 16;
- goto unsigned_number;
- }
-
- /* Decimal integer. */
- base = 10;
-
- is_neg = (p->data.num.as_signed < (mp_intmax_t)0) ? 1 : 0;
- if(is_neg) {
- /* signed_num might fail to hold absolute negative minimum by 1 */
- signed_num = p->data.num.as_signed + (mp_intmax_t)1;
- signed_num = -signed_num;
- num = (mp_uintmax_t)signed_num;
- num += (mp_uintmax_t)1;
- }
-
- goto number;
-
- unsigned_number:
- /* Unsigned number of base BASE. */
- is_neg = 0;
-
- number:
- /* Number of base BASE. */
- {
- char *workend = &work[sizeof(work) - 1];
- char *w;
-
- /* Supply a default precision if none was given. */
- if(prec == -1)
- prec = 1;
-
- /* Put the number in WORK. */
- w = workend;
- while(num > 0) {
- *w-- = digits[num % base];
- num /= base;
- }
- width -= (long)(workend - w);
- prec -= (long)(workend - w);
-
- if(is_alt && base == 8 && prec <= 0) {
- *w-- = '0';
- --width;
- }
-
- if(prec > 0) {
- width -= prec;
- while(prec-- > 0)
- *w-- = '0';
- }
-
- if(is_alt && base == 16)
- width -= 2;
-
- if(is_neg || (p->flags & FLAGS_SHOWSIGN) || (p->flags & FLAGS_SPACE))
- --width;
-
- if(!(p->flags & FLAGS_LEFT) && !(p->flags & FLAGS_PAD_NIL))
- while(width-- > 0)
- OUTCHAR(' ');
-
- if(is_neg)
- OUTCHAR('-');
- else if(p->flags & FLAGS_SHOWSIGN)
- OUTCHAR('+');
- else if(p->flags & FLAGS_SPACE)
- OUTCHAR(' ');
-
- if(is_alt && base == 16) {
- OUTCHAR('0');
- if(p->flags & FLAGS_UPPER)
- OUTCHAR('X');
- else
- OUTCHAR('x');
- }
-
- if(!(p->flags & FLAGS_LEFT) && (p->flags & FLAGS_PAD_NIL))
- while(width-- > 0)
- OUTCHAR('0');
-
- /* Write the number. */
- while(++w <= workend) {
- OUTCHAR(*w);
- }
-
- if(p->flags & FLAGS_LEFT)
- while(width-- > 0)
- OUTCHAR(' ');
- }
- break;
-
- case FORMAT_STRING:
- /* String. */
- {
- static const char null[] = "(nil)";
- const char *str;
- size_t len;
-
- str = (char *) p->data.str;
- if( str == NULL) {
- /* Write null[] if there's space. */
- if(prec == -1 || prec >= (long) sizeof(null) - 1) {
- str = null;
- len = sizeof(null) - 1;
- /* Disable quotes around (nil) */
- p->flags &= (~FLAGS_ALT);
- }
- else {
- str = "";
- len = 0;
- }
- }
- else
- len = strlen(str);
-
- if(prec != -1 && (size_t) prec < len)
- len = prec;
- width -= (long)len;
-
- if(p->flags & FLAGS_ALT)
- OUTCHAR('"');
-
- if(!(p->flags&FLAGS_LEFT))
- while(width-- > 0)
- OUTCHAR(' ');
-
- while(len-- > 0)
- OUTCHAR(*str++);
- if(p->flags&FLAGS_LEFT)
- while(width-- > 0)
- OUTCHAR(' ');
-
- if(p->flags & FLAGS_ALT)
- OUTCHAR('"');
- }
- break;
-
- case FORMAT_PTR:
- /* Generic pointer. */
- {
- void *ptr;
- ptr = (void *) p->data.ptr;
- if(ptr != NULL) {
- /* If the pointer is not NULL, write it as a %#x spec. */
- base = 16;
- digits = (p->flags & FLAGS_UPPER)? upper_digits : lower_digits;
- is_alt = 1;
- num = (size_t) ptr;
- is_neg = 0;
- goto number;
- }
- else {
- /* Write "(nil)" for a nil pointer. */
- static const char strnil[] = "(nil)";
- const char *point;
-
- width -= sizeof(strnil) - 1;
- if(p->flags & FLAGS_LEFT)
- while(width-- > 0)
- OUTCHAR(' ');
- for (point = strnil; *point != '\0'; ++point)
- OUTCHAR(*point);
- if(! (p->flags & FLAGS_LEFT))
- while(width-- > 0)
- OUTCHAR(' ');
- }
- }
- break;
-
- case FORMAT_DOUBLE:
- {
- char formatbuf[32]="%";
- char *fptr;
- size_t left = sizeof(formatbuf)-strlen(formatbuf);
- int len;
-
- width = -1;
- if(p->flags & FLAGS_WIDTH)
- width = p->width;
- else if(p->flags & FLAGS_WIDTHPARAM)
- width = (long)vto[p->width].data.num.as_signed;
-
- prec = -1;
- if(p->flags & FLAGS_PREC)
- prec = p->precision;
- else if(p->flags & FLAGS_PRECPARAM)
- prec = (long)vto[p->precision].data.num.as_signed;
-
- if(p->flags & FLAGS_LEFT)
- strcat(formatbuf, "-");
- if(p->flags & FLAGS_SHOWSIGN)
- strcat(formatbuf, "+");
- if(p->flags & FLAGS_SPACE)
- strcat(formatbuf, " ");
- if(p->flags & FLAGS_ALT)
- strcat(formatbuf, "#");
-
- fptr=&formatbuf[strlen(formatbuf)];
-
- if(width >= 0) {
- /* RECURSIVE USAGE */
- len = curl_msnprintf(fptr, left, "%ld", width);
- fptr += len;
- left -= len;
- }
- if(prec >= 0) {
- /* RECURSIVE USAGE */
- len = curl_msnprintf(fptr, left, ".%ld", prec);
- fptr += len;
- left -= len;
- }
- if(p->flags & FLAGS_LONG)
- *fptr++ = 'l';
-
- if(p->flags & FLAGS_FLOATE)
- *fptr++ = (char)((p->flags & FLAGS_UPPER) ? 'E':'e');
- else if(p->flags & FLAGS_FLOATG)
- *fptr++ = (char)((p->flags & FLAGS_UPPER) ? 'G' : 'g');
- else
- *fptr++ = 'f';
-
- *fptr = 0; /* and a final zero termination */
-
- /* NOTE NOTE NOTE!! Not all sprintf() implementations returns number
- of output characters */
- (sprintf)(work, formatbuf, p->data.dnum);
-
- for(fptr=work; *fptr; fptr++)
- OUTCHAR(*fptr);
- }
- break;
-
- case FORMAT_INTPTR:
- /* Answer the count of characters written. */
-#ifdef HAVE_LONG_LONG_TYPE
- if(p->flags & FLAGS_LONGLONG)
- *(LONG_LONG_TYPE *) p->data.ptr = (LONG_LONG_TYPE)done;
- else
-#endif
- if(p->flags & FLAGS_LONG)
- *(long *) p->data.ptr = (long)done;
- else if(!(p->flags & FLAGS_SHORT))
- *(int *) p->data.ptr = (int)done;
- else
- *(short *) p->data.ptr = (short)done;
- break;
-
- default:
- break;
- }
- f = *end++; /* goto end of %-code */
-
- }
- return done;
-}
-
-/* fputc() look-alike */
-static int addbyter(int output, FILE *data)
-{
- struct nsprintf *infop=(struct nsprintf *)data;
- unsigned char outc = (unsigned char)output;
-
- if(infop->length < infop->max) {
- /* only do this if we haven't reached max length yet */
- infop->buffer[0] = outc; /* store */
- infop->buffer++; /* increase pointer */
- infop->length++; /* we are now one byte larger */
- return outc; /* fputc() returns like this on success */
- }
- return -1;
-}
-
-int curl_mvsnprintf(char *buffer, size_t maxlength, const char *format,
- va_list ap_save)
-{
- int retcode;
- struct nsprintf info;
-
- info.buffer = buffer;
- info.length = 0;
- info.max = maxlength;
-
- retcode = dprintf_formatf(&info, addbyter, format, ap_save);
- if(info.max) {
- /* we terminate this with a zero byte */
- if(info.max == info.length)
- /* we're at maximum, scrap the last letter */
- info.buffer[-1] = 0;
- else
- info.buffer[0] = 0;
- }
- return retcode;
-}
-
-int curl_msnprintf(char *buffer, size_t maxlength, const char *format, ...)
-{
- int retcode;
- va_list ap_save; /* argument pointer */
- va_start(ap_save, format);
- retcode = curl_mvsnprintf(buffer, maxlength, format, ap_save);
- va_end(ap_save);
- return retcode;
-}
-
-/* fputc() look-alike */
-static int alloc_addbyter(int output, FILE *data)
-{
- struct asprintf *infop=(struct asprintf *)data;
- unsigned char outc = (unsigned char)output;
-
- if(!infop->buffer) {
- infop->buffer=(char *)malloc(32);
- if(!infop->buffer) {
- infop->fail = 1;
- return -1; /* fail */
- }
- infop->alloc = 32;
- infop->len =0;
- }
- else if(infop->len+1 >= infop->alloc) {
- char *newptr;
-
- newptr = (char *)realloc(infop->buffer, infop->alloc*2);
-
- if(!newptr) {
- infop->fail = 1;
- return -1; /* fail */
- }
- infop->buffer = newptr;
- infop->alloc *= 2;
- }
-
- infop->buffer[ infop->len ] = outc;
-
- infop->len++;
-
- return outc; /* fputc() returns like this on success */
-}
-
-char *curl_maprintf(const char *format, ...)
-{
- va_list ap_save; /* argument pointer */
- int retcode;
- struct asprintf info;
-
- info.buffer = NULL;
- info.len = 0;
- info.alloc = 0;
- info.fail = 0;
-
- va_start(ap_save, format);
- retcode = dprintf_formatf(&info, alloc_addbyter, format, ap_save);
- va_end(ap_save);
- if((-1 == retcode) || info.fail) {
- if(info.alloc)
- free(info.buffer);
- return NULL;
- }
- if(info.alloc) {
- info.buffer[info.len] = 0; /* we terminate this with a zero byte */
- return info.buffer;
- }
- else
- return strdup("");
-}
-
-char *curl_mvaprintf(const char *format, va_list ap_save)
-{
- int retcode;
- struct asprintf info;
-
- info.buffer = NULL;
- info.len = 0;
- info.alloc = 0;
- info.fail = 0;
-
- retcode = dprintf_formatf(&info, alloc_addbyter, format, ap_save);
- if((-1 == retcode) || info.fail) {
- if(info.alloc)
- free(info.buffer);
- return NULL;
- }
-
- if(info.alloc) {
- info.buffer[info.len] = 0; /* we terminate this with a zero byte */
- return info.buffer;
- }
- else
- return strdup("");
-}
-
-static int storebuffer(int output, FILE *data)
-{
- char **buffer = (char **)data;
- unsigned char outc = (unsigned char)output;
- **buffer = outc;
- (*buffer)++;
- return outc; /* act like fputc() ! */
-}
-
-int curl_msprintf(char *buffer, const char *format, ...)
-{
- va_list ap_save; /* argument pointer */
- int retcode;
- va_start(ap_save, format);
- retcode = dprintf_formatf(&buffer, storebuffer, format, ap_save);
- va_end(ap_save);
- *buffer=0; /* we terminate this with a zero byte */
- return retcode;
-}
-
-int curl_mprintf(const char *format, ...)
-{
- int retcode;
- va_list ap_save; /* argument pointer */
- va_start(ap_save, format);
-
- retcode = dprintf_formatf(stdout, fputc, format, ap_save);
- va_end(ap_save);
- return retcode;
-}
-
-int curl_mfprintf(FILE *whereto, const char *format, ...)
-{
- int retcode;
- va_list ap_save; /* argument pointer */
- va_start(ap_save, format);
- retcode = dprintf_formatf(whereto, fputc, format, ap_save);
- va_end(ap_save);
- return retcode;
-}
-
-int curl_mvsprintf(char *buffer, const char *format, va_list ap_save)
-{
- int retcode;
- retcode = dprintf_formatf(&buffer, storebuffer, format, ap_save);
- *buffer=0; /* we terminate this with a zero byte */
- return retcode;
-}
-
-int curl_mvprintf(const char *format, va_list ap_save)
-{
- return dprintf_formatf(stdout, fputc, format, ap_save);
-}
-
-int curl_mvfprintf(FILE *whereto, const char *format, va_list ap_save)
-{
- return dprintf_formatf(whereto, fputc, format, ap_save);
-}
-
-#ifdef DPRINTF_DEBUG
-int main()
-{
- char buffer[129];
- char *ptr;
-#ifdef HAVE_LONG_LONG_TYPE
- LONG_LONG_TYPE one=99;
- LONG_LONG_TYPE two=100;
- LONG_LONG_TYPE test = 0x1000000000LL;
- curl_mprintf("%lld %lld %lld\n", one, two, test);
-#endif
-
- curl_mprintf("%3d %5d\n", 10, 1998);
-
- ptr=curl_maprintf("test this then baby %s%s%s%s%s%s %d %d %d loser baby get a hit in yer face now!", "", "pretty long string pretty long string pretty long string pretty long string pretty long string", "/", "/", "/", "pretty long string", 1998, 1999, 2001);
-
- puts(ptr);
-
- memset(ptr, 55, strlen(ptr)+1);
-
- free(ptr);
-
-#if 1
- curl_mprintf(buffer, "%s %s %d", "daniel", "stenberg", 19988);
- puts(buffer);
-
- curl_mfprintf(stderr, "%s %#08x\n", "dummy", 65);
-
- printf("%s %#08x\n", "dummy", 65);
- {
- double tryout = 3.14156592;
- curl_mprintf(buffer, "%.2g %G %f %e %E", tryout, tryout, tryout, tryout, tryout);
- puts(buffer);
- printf("%.2g %G %f %e %E\n", tryout, tryout, tryout, tryout, tryout);
- }
-#endif
-
- return 0;
-}
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/msvcproj.foot b/Utilities/cmcurl-7.19.0/lib/msvcproj.foot
deleted file mode 100644
index 8ce4ca0..0000000
--- a/Utilities/cmcurl-7.19.0/lib/msvcproj.foot
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# Begin Group "Resource Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\libcurl.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/Utilities/cmcurl-7.19.0/lib/msvcproj.head b/Utilities/cmcurl-7.19.0/lib/msvcproj.head
deleted file mode 100644
index d85c160..0000000
--- a/Utilities/cmcurl-7.19.0/lib/msvcproj.head
+++ /dev/null
@@ -1,147 +0,0 @@
-# Microsoft Developer Studio Project File - Name="curllib" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=curllib - Win32 LIB Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "curllib.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "curllib.mak" CFG="curllib - Win32 LIB Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "curllib - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "curllib - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "curllib - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE "curllib - Win32 LIB Release" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "curllib - Win32 DLL Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "DLL-Debug"
-# PROP BASE Intermediate_Dir "DLL-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "DLL-Debug"
-# PROP Intermediate_Dir "DLL-Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /GZ /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"DLL-Debug/libcurld.dll" /implib:"DLL-Debug/libcurld_imp.lib" /pdbtype:sept
-# ADD LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /incremental:no /map /debug /machine:I386 /out:"DLL-Debug/libcurld.dll" /implib:"DLL-Debug/libcurld_imp.lib" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "curllib - Win32 DLL Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "DLL-Release"
-# PROP BASE Intermediate_Dir "DLL-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "DLL-Release"
-# PROP Intermediate_Dir "DLL-Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /pdb:none /machine:I386 /out:"DLL-Release/libcurl.dll" /implib:"DLL-Release/libcurl_imp.lib"
-# ADD LINK32 kernel32.lib ws2_32.lib wldap32.lib /nologo /dll /pdb:none /machine:I386 /out:"DLL-Release/libcurl.dll" /implib:"DLL-Release/libcurl_imp.lib"
-
-!ELSEIF "$(CFG)" == "curllib - Win32 LIB Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "LIB-Debug"
-# PROP BASE Intermediate_Dir "LIB-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "LIB-Debug"
-# PROP Intermediate_Dir "LIB-Debug"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /I "..\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /GZ /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"LIB-Debug/libcurld.lib" /machine:I386
-# ADD LIB32 /nologo /out:"LIB-Debug/libcurld.lib" /machine:I386
-
-!ELSEIF "$(CFG)" == "curllib - Win32 LIB Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "LIB-Release"
-# PROP BASE Intermediate_Dir "LIB-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "LIB-Release"
-# PROP Intermediate_Dir "LIB-Release"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "..\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"LIB-Release/libcurl.lib" /machine:I386
-# ADD LIB32 /nologo /out:"LIB-Release/libcurl.lib" /machine:I386
-
-!ENDIF
-
-# Begin Target
-
-# Name "curllib - Win32 DLL Debug"
-# Name "curllib - Win32 DLL Release"
-# Name "curllib - Win32 LIB Debug"
-# Name "curllib - Win32 LIB Release"
diff --git a/Utilities/cmcurl-7.19.0/lib/multi.c b/Utilities/cmcurl-7.19.0/lib/multi.c
deleted file mode 100644
index f49d426..0000000
--- a/Utilities/cmcurl-7.19.0/lib/multi.c
+++ /dev/null
@@ -1,2266 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <curl/curl.h>
-
-#include "urldata.h"
-#include "transfer.h"
-#include "url.h"
-#include "connect.h"
-#include "progress.h"
-#include "memory.h"
-#include "easyif.h"
-#include "multiif.h"
-#include "sendf.h"
-#include "timeval.h"
-#include "http.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/*
- CURL_SOCKET_HASH_TABLE_SIZE should be a prime number. Increasing it from 97
- to 911 takes on a 32-bit machine 4 x 804 = 3211 more bytes. Still, every
- CURL handle takes 45-50 K memory, therefore this 3K are not significant.
-*/
-#ifndef CURL_SOCKET_HASH_TABLE_SIZE
-#define CURL_SOCKET_HASH_TABLE_SIZE 911
-#endif
-
-struct Curl_message {
- /* the 'CURLMsg' is the part that is visible to the external user */
- struct CURLMsg extmsg;
- struct Curl_message *next;
-};
-
-/* NOTE: if you add a state here, add the name to the statename[] array as
- well!
-*/
-typedef enum {
- CURLM_STATE_INIT, /* start in this state */
- CURLM_STATE_CONNECT, /* resolve/connect has been sent off */
- CURLM_STATE_WAITRESOLVE, /* awaiting the resolve to finalize */
- CURLM_STATE_WAITCONNECT, /* awaiting the connect to finalize */
- CURLM_STATE_WAITPROXYCONNECT, /* awaiting proxy CONNECT to finalize */
- CURLM_STATE_PROTOCONNECT, /* completing the protocol-specific connect phase */
- CURLM_STATE_WAITDO, /* wait for our turn to send the request */
- CURLM_STATE_DO, /* start send off the request (part 1) */
- CURLM_STATE_DOING, /* sending off the request (part 1) */
- CURLM_STATE_DO_MORE, /* send off the request (part 2) */
- CURLM_STATE_DO_DONE, /* done sending off request */
- CURLM_STATE_WAITPERFORM, /* wait for our turn to read the response */
- CURLM_STATE_PERFORM, /* transfer data */
- CURLM_STATE_TOOFAST, /* wait because limit-rate exceeded */
- CURLM_STATE_DONE, /* post data transfer operation */
- CURLM_STATE_COMPLETED, /* operation complete */
-
- CURLM_STATE_LAST /* not a true state, never use this */
-} CURLMstate;
-
-/* we support N sockets per easy handle. Set the corresponding bit to what
- action we should wait for */
-#define MAX_SOCKSPEREASYHANDLE 5
-#define GETSOCK_READABLE (0x00ff)
-#define GETSOCK_WRITABLE (0xff00)
-
-struct closure {
- struct closure *next; /* a simple one-way list of structs */
- struct SessionHandle *easy_handle;
-};
-
-struct Curl_one_easy {
- /* first, two fields for the linked list of these */
- struct Curl_one_easy *next;
- struct Curl_one_easy *prev;
-
- struct SessionHandle *easy_handle; /* the easy handle for this unit */
- struct connectdata *easy_conn; /* the "unit's" connection */
-
- CURLMstate state; /* the handle's state */
- CURLcode result; /* previous result */
-
- struct Curl_message *msg; /* A pointer to one single posted message.
- Cleanup should be done on this pointer NOT on
- the linked list in Curl_multi. This message
- will be deleted when this handle is removed
- from the multi-handle */
- int msg_num; /* number of messages left in 'msg' to return */
-
- /* Array with the plain socket numbers this handle takes care of, in no
- particular order. Note that all sockets are added to the sockhash, where
- the state etc are also kept. This array is mostly used to detect when a
- socket is to be removed from the hash. See singlesocket(). */
- curl_socket_t sockets[MAX_SOCKSPEREASYHANDLE];
- int numsocks;
-};
-
-#define CURL_MULTI_HANDLE 0x000bab1e
-
-#define GOOD_MULTI_HANDLE(x) \
- ((x)&&(((struct Curl_multi *)(x))->type == CURL_MULTI_HANDLE))
-#define GOOD_EASY_HANDLE(x) \
- (((struct SessionHandle *)(x))->magic == CURLEASY_MAGIC_NUMBER)
-
-/* This is the struct known as CURLM on the outside */
-struct Curl_multi {
- /* First a simple identifier to easier detect if a user mix up
- this multi handle with an easy handle. Set this to CURL_MULTI_HANDLE. */
- long type;
-
- /* We have a linked list with easy handles */
- struct Curl_one_easy easy;
-
- int num_easy; /* amount of entries in the linked list above. */
- int num_msgs; /* amount of messages in the easy handles */
- int num_alive; /* amount of easy handles that are added but have not yet
- reached COMPLETE state */
-
- /* callback function and user data pointer for the *socket() API */
- curl_socket_callback socket_cb;
- void *socket_userp;
-
- /* Hostname cache */
- struct curl_hash *hostcache;
-
- /* timetree points to the splay-tree of time nodes to figure out expire
- times of all currently set timers */
- struct Curl_tree *timetree;
-
- /* 'sockhash' is the lookup hash for socket descriptor => easy handles (note
- the pluralis form, there can be more than one easy handle waiting on the
- same actual socket) */
- struct curl_hash *sockhash;
-
- /* Whether pipelining is enabled for this multi handle */
- bool pipelining_enabled;
-
- /* shared connection cache */
- struct conncache *connc;
- long maxconnects; /* if >0, a fixed limit of the maximum number of entries
- we're allowed to grow the connection cache to */
-
- /* list of easy handles kept around for doing nice connection closures */
- struct closure *closure;
-
- /* timer callback and user data pointer for the *socket() API */
- curl_multi_timer_callback timer_cb;
- void *timer_userp;
- struct timeval timer_lastcall; /* the fixed time for the timeout for the
- previous callback */
-};
-
-static bool multi_conn_using(struct Curl_multi *multi,
- struct SessionHandle *data);
-static void singlesocket(struct Curl_multi *multi,
- struct Curl_one_easy *easy);
-static void add_closure(struct Curl_multi *multi,
- struct SessionHandle *data);
-static int update_timer(struct Curl_multi *multi);
-
-static CURLcode addHandleToSendOrPendPipeline(struct SessionHandle *handle,
- struct connectdata *conn);
-static int checkPendPipeline(struct connectdata *conn);
-static void moveHandleFromSendToRecvPipeline(struct SessionHandle *habdle,
- struct connectdata *conn);
-static bool isHandleAtHead(struct SessionHandle *handle,
- struct curl_llist *pipeline);
-
-#ifdef CURLDEBUG
-static const char * const statename[]={
- "INIT",
- "CONNECT",
- "WAITRESOLVE",
- "WAITCONNECT",
- "WAITPROXYCONNECT",
- "PROTOCONNECT",
- "WAITDO",
- "DO",
- "DOING",
- "DO_MORE",
- "DO_DONE",
- "WAITPERFORM",
- "PERFORM",
- "TOOFAST",
- "DONE",
- "COMPLETED",
-};
-
-void curl_multi_dump(CURLM *multi_handle);
-#endif
-
-/* always use this function to change state, to make debugging easier */
-static void multistate(struct Curl_one_easy *easy, CURLMstate state)
-{
-#ifdef CURLDEBUG
- long connectindex = -5000;
-#endif
- CURLMstate oldstate = easy->state;
-
- if(oldstate == state)
- /* don't bother when the new state is the same as the old state */
- return;
-
- easy->state = state;
-
-#ifdef CURLDEBUG
- if(easy->state > CURLM_STATE_CONNECT &&
- easy->state < CURLM_STATE_COMPLETED)
- connectindex = easy->easy_conn->connectindex;
-
- infof(easy->easy_handle,
- "STATE: %s => %s handle %p; (connection #%ld) \n",
- statename[oldstate], statename[easy->state],
- (char *)easy, connectindex);
-#endif
- if(state == CURLM_STATE_COMPLETED)
- /* changing to COMPLETED means there's one less easy handle 'alive' */
- easy->easy_handle->multi->num_alive--;
-}
-
-/*
- * We add one of these structs to the sockhash for a particular socket
- */
-
-struct Curl_sh_entry {
- struct SessionHandle *easy;
- time_t timestamp;
- long inuse;
- int action; /* what action READ/WRITE this socket waits for */
- curl_socket_t socket; /* mainly to ease debugging */
- void *socketp; /* settable by users with curl_multi_assign() */
-};
-/* bits for 'action' having no bits means this socket is not expecting any
- action */
-#define SH_READ 1
-#define SH_WRITE 2
-
-/* make sure this socket is present in the hash for this handle */
-static struct Curl_sh_entry *sh_addentry(struct curl_hash *sh,
- curl_socket_t s,
- struct SessionHandle *data)
-{
- struct Curl_sh_entry *there =
- Curl_hash_pick(sh, (char *)&s, sizeof(curl_socket_t));
- struct Curl_sh_entry *check;
-
- if(there)
- /* it is present, return fine */
- return there;
-
- /* not present, add it */
- check = calloc(sizeof(struct Curl_sh_entry), 1);
- if(!check)
- return NULL; /* major failure */
- check->easy = data;
- check->socket = s;
-
- /* make/add new hash entry */
- if(NULL == Curl_hash_add(sh, (char *)&s, sizeof(curl_socket_t), check)) {
- free(check);
- return NULL; /* major failure */
- }
-
- return check; /* things are good in sockhash land */
-}
-
-
-/* delete the given socket + handle from the hash */
-static void sh_delentry(struct curl_hash *sh, curl_socket_t s)
-{
- struct Curl_sh_entry *there =
- Curl_hash_pick(sh, (char *)&s, sizeof(curl_socket_t));
-
- if(there) {
- /* this socket is in the hash */
- /* We remove the hash entry. (This'll end up in a call to
- sh_freeentry().) */
- Curl_hash_delete(sh, (char *)&s, sizeof(curl_socket_t));
- }
-}
-
-/*
- * free a sockhash entry
- */
-static void sh_freeentry(void *freethis)
-{
- struct Curl_sh_entry *p = (struct Curl_sh_entry *) freethis;
-
- free(p);
-}
-
-static size_t fd_key_compare(void*k1, size_t k1_len, void*k2, size_t k2_len)
-{
- (void) k1_len; (void) k2_len;
-
- return ((*((int* ) k1)) == (*((int* ) k2))) ? 1 : 0;
-}
-
-static size_t hash_fd(void* key, size_t key_length, size_t slots_num)
-{
- int fd = * ((int* ) key);
- (void) key_length;
-
- return (fd % (int)slots_num);
-}
-
-/*
- * sh_init() creates a new socket hash and returns the handle for it.
- *
- * Quote from README.multi_socket:
- *
- * "Some tests at 7000 and 9000 connections showed that the socket hash lookup
- * is somewhat of a bottle neck. Its current implementation may be a bit too
- * limiting. It simply has a fixed-size array, and on each entry in the array
- * it has a linked list with entries. So the hash only checks which list to
- * scan through. The code I had used so for used a list with merely 7 slots
- * (as that is what the DNS hash uses) but with 7000 connections that would
- * make an average of 1000 nodes in each list to run through. I upped that to
- * 97 slots (I believe a prime is suitable) and noticed a significant speed
- * increase. I need to reconsider the hash implementation or use a rather
- * large default value like this. At 9000 connections I was still below 10us
- * per call."
- *
- */
-static struct curl_hash *sh_init(void)
-{
- return Curl_hash_alloc(CURL_SOCKET_HASH_TABLE_SIZE, hash_fd, fd_key_compare,
- sh_freeentry);
-}
-
-CURLM *curl_multi_init(void)
-{
- struct Curl_multi *multi = (void *)calloc(sizeof(struct Curl_multi), 1);
-
- if(!multi)
- return NULL;
-
- multi->type = CURL_MULTI_HANDLE;
-
- multi->hostcache = Curl_mk_dnscache();
- if(!multi->hostcache) {
- /* failure, free mem and bail out */
- free(multi);
- return NULL;
- }
-
- multi->sockhash = sh_init();
- if(!multi->sockhash) {
- /* failure, free mem and bail out */
- Curl_hash_destroy(multi->hostcache);
- free(multi);
- return NULL;
- }
-
- multi->connc = Curl_mk_connc(CONNCACHE_MULTI, -1);
- if(!multi->connc) {
- Curl_hash_destroy(multi->sockhash);
- Curl_hash_destroy(multi->hostcache);
- free(multi);
- return NULL;
- }
-
- /* Let's make the doubly-linked list a circular list. This makes
- the linked list code simpler and allows inserting at the end
- with less work (we didn't keep a tail pointer before). */
- multi->easy.next = &multi->easy;
- multi->easy.prev = &multi->easy;
-
- return (CURLM *) multi;
-}
-
-CURLMcode curl_multi_add_handle(CURLM *multi_handle,
- CURL *easy_handle)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- struct Curl_one_easy *easy;
- struct closure *cl;
- struct closure *prev=NULL;
-
- /* First, make some basic checks that the CURLM handle is a good handle */
- if(!GOOD_MULTI_HANDLE(multi))
- return CURLM_BAD_HANDLE;
-
- /* Verify that we got a somewhat good easy handle too */
- if(!GOOD_EASY_HANDLE(easy_handle))
- return CURLM_BAD_EASY_HANDLE;
-
- /* Prevent users to add the same handle more than once! */
- if(((struct SessionHandle *)easy_handle)->multi)
- /* possibly we should create a new unique error code for this condition */
- return CURLM_BAD_EASY_HANDLE;
-
- /* Now, time to add an easy handle to the multi stack */
- easy = (struct Curl_one_easy *)calloc(sizeof(struct Curl_one_easy), 1);
- if(!easy)
- return CURLM_OUT_OF_MEMORY;
-
- cl = multi->closure;
- while(cl) {
- struct closure *next = cl->next;
- if(cl->easy_handle == (struct SessionHandle *)easy_handle) {
- /* remove this handle from the closure list */
- free(cl);
- if(prev)
- prev->next = next;
- else
- multi->closure = next;
- break; /* no need to continue since this handle can only be present once
- in the list */
- }
- prev = cl;
- cl = next;
- }
-
- /* set the easy handle */
- easy->easy_handle = easy_handle;
- multistate(easy, CURLM_STATE_INIT);
-
- /* set the back pointer to one_easy to assist in removal */
- easy->easy_handle->multi_pos = easy;
-
- /* for multi interface connections, we share DNS cache automatically if the
- easy handle's one is currently private. */
- if(easy->easy_handle->dns.hostcache &&
- (easy->easy_handle->dns.hostcachetype == HCACHE_PRIVATE)) {
- Curl_hash_destroy(easy->easy_handle->dns.hostcache);
- easy->easy_handle->dns.hostcache = NULL;
- easy->easy_handle->dns.hostcachetype = HCACHE_NONE;
- }
-
- if(!easy->easy_handle->dns.hostcache ||
- (easy->easy_handle->dns.hostcachetype == HCACHE_NONE)) {
- easy->easy_handle->dns.hostcache = multi->hostcache;
- easy->easy_handle->dns.hostcachetype = HCACHE_MULTI;
- }
-
- if(easy->easy_handle->state.connc) {
- if(easy->easy_handle->state.connc->type == CONNCACHE_PRIVATE) {
- /* kill old private version */
- Curl_rm_connc(easy->easy_handle->state.connc);
- /* point out our shared one instead */
- easy->easy_handle->state.connc = multi->connc;
- }
- /* else it is already using multi? */
- }
- else
- /* point out our shared one */
- easy->easy_handle->state.connc = multi->connc;
-
- /* Make sure the type is setup correctly */
- easy->easy_handle->state.connc->type = CONNCACHE_MULTI;
-
- /* This adds the new entry at the back of the list
- to try and maintain a FIFO queue so the pipelined
- requests are in order. */
-
- /* We add this new entry last in the list. We make our 'next' point to the
- 'first' struct and our 'prev' point to the previous 'prev' */
- easy->next = &multi->easy;
- easy->prev = multi->easy.prev;
-
- /* make 'easy' the last node in the chain */
- multi->easy.prev = easy;
-
- /* if there was a prev node, make sure its 'next' pointer links to
- the new node */
- easy->prev->next = easy;
-
- Curl_easy_addmulti(easy_handle, multi_handle);
-
- /* make the SessionHandle struct refer back to this struct */
- easy->easy_handle->set.one_easy = easy;
-
- /* Set the timeout for this handle to expire really soon so that it will
- be taken care of even when this handle is added in the midst of operation
- when only the curl_multi_socket() API is used. During that flow, only
- sockets that time-out or have actions will be dealt with. Since this
- handle has no action yet, we make sure it times out to get things to
- happen. */
- Curl_expire(easy->easy_handle, 1);
-
- /* increase the node-counter */
- multi->num_easy++;
-
- if((multi->num_easy * 4) > multi->connc->num) {
- /* We want the connection cache to have plenty room. Before we supported
- the shared cache every single easy handle had 5 entries in their cache
- by default. */
- long newmax = multi->num_easy * 4;
-
- if(multi->maxconnects && (multi->maxconnects < newmax))
- /* don't grow beyond the allowed size */
- newmax = multi->maxconnects;
-
- if(newmax > multi->connc->num) {
- /* we only do this is we can in fact grow the cache */
- CURLcode res = Curl_ch_connc(easy_handle, multi->connc, newmax);
- if(res != CURLE_OK) {
- /* FIXME: may need to do more cleanup here */
- curl_multi_remove_handle(multi_handle, easy_handle);
- return CURLM_OUT_OF_MEMORY;
- }
- }
- }
-
- /* increase the alive-counter */
- multi->num_alive++;
-
- update_timer(multi);
- return CURLM_OK;
-}
-
-#if 0
-/* Debug-function, used like this:
- *
- * Curl_hash_print(multi->sockhash, debug_print_sock_hash);
- *
- * Enable the hash print function first by editing hash.c
- */
-static void debug_print_sock_hash(void *p)
-{
- struct Curl_sh_entry *sh = (struct Curl_sh_entry *)p;
-
- fprintf(stderr, " [easy %p/magic %x/socket %d]",
- (void *)sh->easy, sh->easy->magic, sh->socket);
-}
-#endif
-
-CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
- CURL *curl_handle)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- struct Curl_one_easy *easy;
-
- /* First, make some basic checks that the CURLM handle is a good handle */
- if(!GOOD_MULTI_HANDLE(multi))
- return CURLM_BAD_HANDLE;
-
- /* Verify that we got a somewhat good easy handle too */
- if(!GOOD_EASY_HANDLE(curl_handle))
- return CURLM_BAD_EASY_HANDLE;
-
- /* pick-up from the 'curl_handle' the kept position in the list */
- easy = ((struct SessionHandle *)curl_handle)->multi_pos;
-
- if(easy) {
- bool premature = (bool)(easy->state != CURLM_STATE_COMPLETED);
-
- /* If the 'state' is not INIT or COMPLETED, we might need to do something
- nice to put the easy_handle in a good known state when this returns. */
- if(premature)
- /* this handle is "alive" so we need to count down the total number of
- alive connections when this is removed */
- multi->num_alive--;
-
- if(easy->easy_conn &&
- (easy->easy_conn->send_pipe->size +
- easy->easy_conn->recv_pipe->size > 1) &&
- easy->state > CURLM_STATE_WAITDO &&
- easy->state < CURLM_STATE_COMPLETED) {
- /* If the handle is in a pipeline and has started sending off its
- request but not received its reponse yet, we need to close
- connection. */
- easy->easy_conn->bits.close = TRUE;
- /* Set connection owner so that Curl_done() closes it.
- We can sefely do this here since connection is killed. */
- easy->easy_conn->data = easy->easy_handle;
- }
-
- /* The timer must be shut down before easy->multi is set to NULL,
- else the timenode will remain in the splay tree after
- curl_easy_cleanup is called. */
- Curl_expire(easy->easy_handle, 0);
-
- if(easy->easy_handle->dns.hostcachetype == HCACHE_MULTI) {
- /* clear out the usage of the shared DNS cache */
- easy->easy_handle->dns.hostcache = NULL;
- easy->easy_handle->dns.hostcachetype = HCACHE_NONE;
- }
-
- /* we must call Curl_done() here (if we still "own it") so that we don't
- leave a half-baked one around */
- if(easy->easy_conn &&
- (easy->easy_conn->data == easy->easy_handle)) {
-
- /* Curl_done() clears the conn->data field to lose the association
- between the easy handle and the connection
-
- Note that this ignores the return code simply because there's nothing
- really useful to do with it anyway! */
- (void)Curl_done(&easy->easy_conn, easy->result, premature);
-
- if(easy->easy_conn)
- /* the connection is still alive, set back the association to enable
- the check below to trigger TRUE */
- easy->easy_conn->data = easy->easy_handle;
- }
-
- /* If this easy_handle was the last one in charge for one or more
- connections a the shared connection cache, we might need to keep this
- handle around until either A) the connection is closed and killed
- properly, or B) another easy_handle uses the connection.
-
- The reason why we need to have a easy_handle associated with a live
- connection is simply that some connections will need a handle to get
- closed down properly. Currently, the only connections that need to keep
- a easy_handle handle around are using FTP(S). Such connections have
- the PROT_CLOSEACTION bit set.
-
- Thus, we need to check for all connections in the shared cache that
- points to this handle and are using PROT_CLOSEACTION. If there's any,
- we need to add this handle to the list of "easy handles kept around for
- nice connection closures".
- */
- if(multi_conn_using(multi, easy->easy_handle)) {
- /* There's at least one connection using this handle so we must keep
- this handle around. We also keep the connection cache pointer
- pointing to the shared one since that will be used on close as
- well. */
- easy->easy_handle->state.shared_conn = multi;
-
- /* this handle is still being used by a shared connection cache and
- thus we leave it around for now */
- add_closure(multi, easy->easy_handle);
- }
-
- if(easy->easy_handle->state.connc->type == CONNCACHE_MULTI) {
- /* if this was using the shared connection cache we clear the pointer
- to that since we're not part of that handle anymore */
- easy->easy_handle->state.connc = NULL;
-
- /* and modify the connectindex since this handle can't point to the
- connection cache anymore */
- if(easy->easy_conn &&
- (easy->easy_conn->send_pipe->size +
- easy->easy_conn->recv_pipe->size == 0))
- easy->easy_conn->connectindex = -1;
- }
-
- /* change state without using multistate(), only to make singlesocket() do
- what we want */
- easy->state = CURLM_STATE_COMPLETED;
- singlesocket(multi, easy); /* to let the application know what sockets
- that vanish with this handle */
-
- Curl_easy_addmulti(easy->easy_handle, NULL); /* clear the association
- to this multi handle */
-
- /* make the previous node point to our next */
- if(easy->prev)
- easy->prev->next = easy->next;
- /* make our next point to our previous node */
- if(easy->next)
- easy->next->prev = easy->prev;
-
- easy->easy_handle->set.one_easy = NULL; /* detached */
-
- /* Null the position in the controlling structure */
- easy->easy_handle->multi_pos = NULL;
-
- /* NOTE NOTE NOTE
- We do not touch the easy handle here! */
- if(easy->msg)
- free(easy->msg);
- free(easy);
-
- multi->num_easy--; /* one less to care about now */
-
- update_timer(multi);
- return CURLM_OK;
- }
- else
- return CURLM_BAD_EASY_HANDLE; /* twasn't found */
-}
-
-bool Curl_multi_canPipeline(const struct Curl_multi* multi)
-{
- return multi->pipelining_enabled;
-}
-
-void Curl_multi_handlePipeBreak(struct SessionHandle *data)
-{
- struct Curl_one_easy *one_easy = data->set.one_easy;
-
- if(one_easy)
- one_easy->easy_conn = NULL;
-}
-
-static int waitconnect_getsock(struct connectdata *conn,
- curl_socket_t *sock,
- int numsocks)
-{
- if(!numsocks)
- return GETSOCK_BLANK;
-
- sock[0] = conn->sock[FIRSTSOCKET];
-
- /* when we've sent a CONNECT to a proxy, we should rather wait for the
- socket to become readable to be able to get the response headers */
- if(conn->bits.tunnel_connecting)
- return GETSOCK_READSOCK(0);
-
- return GETSOCK_WRITESOCK(0);
-}
-
-static int domore_getsock(struct connectdata *conn,
- curl_socket_t *sock,
- int numsocks)
-{
- if(!numsocks)
- return GETSOCK_BLANK;
-
- /* When in DO_MORE state, we could be either waiting for us
- to connect to a remote site, or we could wait for that site
- to connect to us. It makes a difference in the way: if we
- connect to the site we wait for the socket to become writable, if
- the site connects to us we wait for it to become readable */
- sock[0] = conn->sock[SECONDARYSOCKET];
-
- return GETSOCK_WRITESOCK(0);
-}
-
-/* returns bitmapped flags for this handle and its sockets */
-static int multi_getsock(struct Curl_one_easy *easy,
- curl_socket_t *socks, /* points to numsocks number
- of sockets */
- int numsocks)
-{
- /* If the pipe broke, or if there's no connection left for this easy handle,
- then we MUST bail out now with no bitmask set. The no connection case can
- happen when this is called from curl_multi_remove_handle() =>
- singlesocket() => multi_getsock().
- */
-
- if(easy->easy_handle->state.pipe_broke ||
- !easy->easy_conn) {
- return 0;
- }
-
- if(easy->state > CURLM_STATE_CONNECT &&
- easy->state < CURLM_STATE_COMPLETED) {
- /* Set up ownership correctly */
- easy->easy_conn->data = easy->easy_handle;
- }
-
- switch(easy->state) {
- default:
-#if 0 /* switch back on these cases to get the compiler to check for all enums
- to be present */
- case CURLM_STATE_TOOFAST: /* returns 0, so will not select. */
- case CURLM_STATE_COMPLETED:
- case CURLM_STATE_INIT:
- case CURLM_STATE_CONNECT:
- case CURLM_STATE_WAITDO:
- case CURLM_STATE_DONE:
- case CURLM_STATE_LAST:
- /* this will get called with CURLM_STATE_COMPLETED when a handle is
- removed */
-#endif
- return 0;
-
- case CURLM_STATE_WAITRESOLVE:
- return Curl_resolv_getsock(easy->easy_conn, socks, numsocks);
-
- case CURLM_STATE_PROTOCONNECT:
- return Curl_protocol_getsock(easy->easy_conn, socks, numsocks);
-
- case CURLM_STATE_DO:
- case CURLM_STATE_DOING:
- return Curl_doing_getsock(easy->easy_conn, socks, numsocks);
-
- case CURLM_STATE_WAITPROXYCONNECT:
- case CURLM_STATE_WAITCONNECT:
- return waitconnect_getsock(easy->easy_conn, socks, numsocks);
-
- case CURLM_STATE_DO_MORE:
- return domore_getsock(easy->easy_conn, socks, numsocks);
-
- case CURLM_STATE_DO_DONE: /* since is set after DO is completed, we switch
- to waiting for the same as the *PERFORM states */
- case CURLM_STATE_PERFORM:
- case CURLM_STATE_WAITPERFORM:
- return Curl_single_getsock(easy->easy_conn, socks, numsocks);
- }
-
-}
-
-CURLMcode curl_multi_fdset(CURLM *multi_handle,
- fd_set *read_fd_set, fd_set *write_fd_set,
- fd_set *exc_fd_set, int *max_fd)
-{
- /* Scan through all the easy handles to get the file descriptors set.
- Some easy handles may not have connected to the remote host yet,
- and then we must make sure that is done. */
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- struct Curl_one_easy *easy;
- int this_max_fd=-1;
- curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE];
- int bitmap;
- int i;
- (void)exc_fd_set; /* not used */
-
- if(!GOOD_MULTI_HANDLE(multi))
- return CURLM_BAD_HANDLE;
-
- easy=multi->easy.next;
- while(easy != &multi->easy) {
- bitmap = multi_getsock(easy, sockbunch, MAX_SOCKSPEREASYHANDLE);
-
- for(i=0; i< MAX_SOCKSPEREASYHANDLE; i++) {
- curl_socket_t s = CURL_SOCKET_BAD;
-
- if(bitmap & GETSOCK_READSOCK(i)) {
- FD_SET(sockbunch[i], read_fd_set);
- s = sockbunch[i];
- }
- if(bitmap & GETSOCK_WRITESOCK(i)) {
- FD_SET(sockbunch[i], write_fd_set);
- s = sockbunch[i];
- }
- if(s == CURL_SOCKET_BAD)
- /* this socket is unused, break out of loop */
- break;
- else {
- if((int)s > this_max_fd)
- this_max_fd = (int)s;
- }
- }
-
- easy = easy->next; /* check next handle */
- }
-
- *max_fd = this_max_fd;
-
- return CURLM_OK;
-}
-
-static CURLMcode multi_runsingle(struct Curl_multi *multi,
- struct Curl_one_easy *easy)
-{
- struct Curl_message *msg = NULL;
- bool connected;
- bool async;
- bool protocol_connect = FALSE;
- bool dophase_done;
- bool done = FALSE;
- CURLMcode result = CURLM_OK;
- struct SingleRequest *k;
-
- if(!GOOD_EASY_HANDLE(easy->easy_handle))
- return CURLM_BAD_EASY_HANDLE;
-
- do {
- /* this is a do-while loop just to allow a break to skip to the end
- of it */
- bool disconnect_conn = FALSE;
-
- /* Handle the case when the pipe breaks, i.e., the connection
- we're using gets cleaned up and we're left with nothing. */
- if(easy->easy_handle->state.pipe_broke) {
- infof(easy->easy_handle, "Pipe broke: handle 0x%x, url = %s\n",
- easy, easy->easy_handle->state.path);
-
- if(easy->state != CURLM_STATE_COMPLETED) {
- /* Head back to the CONNECT state */
- multistate(easy, CURLM_STATE_CONNECT);
- result = CURLM_CALL_MULTI_PERFORM;
- easy->result = CURLE_OK;
- }
-
- easy->easy_handle->state.pipe_broke = FALSE;
- easy->easy_conn = NULL;
- break;
- }
-
- if(easy->state > CURLM_STATE_CONNECT &&
- easy->state < CURLM_STATE_COMPLETED)
- /* Make sure we set the connection's current owner */
- easy->easy_conn->data = easy->easy_handle;
-
- switch(easy->state) {
- case CURLM_STATE_INIT:
- /* init this transfer. */
- easy->result=Curl_pretransfer(easy->easy_handle);
-
- if(CURLE_OK == easy->result) {
- /* after init, go CONNECT */
- multistate(easy, CURLM_STATE_CONNECT);
- result = CURLM_CALL_MULTI_PERFORM;
-
- easy->easy_handle->state.used_interface = Curl_if_multi;
- }
- break;
-
- case CURLM_STATE_CONNECT:
- /* Connect. We get a connection identifier filled in. */
- Curl_pgrsTime(easy->easy_handle, TIMER_STARTSINGLE);
- easy->result = Curl_connect(easy->easy_handle, &easy->easy_conn,
- &async, &protocol_connect);
-
- if(CURLE_OK == easy->result) {
- /* Add this handle to the send or pend pipeline */
- easy->result = addHandleToSendOrPendPipeline(easy->easy_handle,
- easy->easy_conn);
- if(CURLE_OK == easy->result) {
- if(async)
- /* We're now waiting for an asynchronous name lookup */
- multistate(easy, CURLM_STATE_WAITRESOLVE);
- else {
- /* after the connect has been sent off, go WAITCONNECT unless the
- protocol connect is already done and we can go directly to
- WAITDO or DO! */
- result = CURLM_CALL_MULTI_PERFORM;
-
- if(protocol_connect)
- multistate(easy, multi->pipelining_enabled?
- CURLM_STATE_WAITDO:CURLM_STATE_DO);
- else {
-#ifndef CURL_DISABLE_HTTP
- if(easy->easy_conn->bits.tunnel_connecting)
- multistate(easy, CURLM_STATE_WAITPROXYCONNECT);
- else
-#endif
- multistate(easy, CURLM_STATE_WAITCONNECT);
- }
- }
- }
- }
- break;
-
- case CURLM_STATE_WAITRESOLVE:
- /* awaiting an asynch name resolve to complete */
- {
- struct Curl_dns_entry *dns = NULL;
-
- /* check if we have the name resolved by now */
- easy->result = Curl_is_resolved(easy->easy_conn, &dns);
-
- if(dns) {
- /* Update sockets here. Mainly because the socket(s) may have been
- closed and the application thus needs to be told, even if it is
- likely that the same socket(s) will again be used further down. */
- singlesocket(multi, easy);
-
- /* Perform the next step in the connection phase, and then move on
- to the WAITCONNECT state */
- easy->result = Curl_async_resolved(easy->easy_conn,
- &protocol_connect);
-
- if(CURLE_OK != easy->result)
- /* if Curl_async_resolved() returns failure, the connection struct
- is already freed and gone */
- easy->easy_conn = NULL; /* no more connection */
- else {
- /* call again please so that we get the next socket setup */
- result = CURLM_CALL_MULTI_PERFORM;
- if(protocol_connect)
- multistate(easy, multi->pipelining_enabled?
- CURLM_STATE_WAITDO:CURLM_STATE_DO);
- else {
-#ifndef CURL_DISABLE_HTTP
- if(easy->easy_conn->bits.tunnel_connecting)
- multistate(easy, CURLM_STATE_WAITPROXYCONNECT);
- else
-#endif
- multistate(easy, CURLM_STATE_WAITCONNECT);
- }
- }
- }
-
- if(CURLE_OK != easy->result) {
- /* failure detected */
- disconnect_conn = TRUE;
- break;
- }
- }
- break;
-
-#ifndef CURL_DISABLE_HTTP
- case CURLM_STATE_WAITPROXYCONNECT:
- /* this is HTTP-specific, but sending CONNECT to a proxy is HTTP... */
- easy->result = Curl_http_connect(easy->easy_conn, &protocol_connect);
-
- if(easy->easy_conn->bits.proxy_connect_closed) {
- /* reset the error buffer */
- if(easy->easy_handle->set.errorbuffer)
- easy->easy_handle->set.errorbuffer[0] = '\0';
- easy->easy_handle->state.errorbuf = FALSE;
-
- easy->result = CURLE_OK;
- result = CURLM_CALL_MULTI_PERFORM;
- multistate(easy, CURLM_STATE_CONNECT);
- }
- else if (CURLE_OK == easy->result) {
- if(!easy->easy_conn->bits.tunnel_connecting)
- multistate(easy, CURLM_STATE_WAITCONNECT);
- }
- break;
-#endif
-
- case CURLM_STATE_WAITCONNECT:
- /* awaiting a completion of an asynch connect */
- easy->result = Curl_is_connected(easy->easy_conn,
- FIRSTSOCKET,
- &connected);
- if(connected)
- easy->result = Curl_protocol_connect(easy->easy_conn,
- &protocol_connect);
-
- if(CURLE_OK != easy->result) {
- /* failure detected */
- /* Just break, the cleaning up is handled all in one place */
- disconnect_conn = TRUE;
- break;
- }
-
- if(connected) {
- if(!protocol_connect) {
- /* We have a TCP connection, but 'protocol_connect' may be false
- and then we continue to 'STATE_PROTOCONNECT'. If protocol
- connect is TRUE, we move on to STATE_DO.
- BUT if we are using a proxy we must change to WAITPROXYCONNECT
- */
-#ifndef CURL_DISABLE_HTTP
- if(easy->easy_conn->bits.tunnel_connecting)
- multistate(easy, CURLM_STATE_WAITPROXYCONNECT);
- else
-#endif
- multistate(easy, CURLM_STATE_PROTOCONNECT);
- }
- else {
- /* after the connect has completed, go WAITDO or DO */
- multistate(easy, multi->pipelining_enabled?
- CURLM_STATE_WAITDO:CURLM_STATE_DO);
-
- result = CURLM_CALL_MULTI_PERFORM;
- }
- }
- break;
-
- case CURLM_STATE_PROTOCONNECT:
- /* protocol-specific connect phase */
- easy->result = Curl_protocol_connecting(easy->easy_conn,
- &protocol_connect);
- if((easy->result == CURLE_OK) && protocol_connect) {
- /* after the connect has completed, go WAITDO or DO */
- multistate(easy, multi->pipelining_enabled?
- CURLM_STATE_WAITDO:CURLM_STATE_DO);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- else if(easy->result) {
- /* failure detected */
- Curl_posttransfer(easy->easy_handle);
- Curl_done(&easy->easy_conn, easy->result, FALSE);
- disconnect_conn = TRUE;
- }
- break;
-
- case CURLM_STATE_WAITDO:
- /* Wait for our turn to DO when we're pipelining requests */
-#ifdef CURLDEBUG
- infof(easy->easy_handle, "Conn %d send pipe %d inuse %d athead %d\n",
- easy->easy_conn->connectindex,
- easy->easy_conn->send_pipe->size,
- easy->easy_conn->writechannel_inuse,
- isHandleAtHead(easy->easy_handle,
- easy->easy_conn->send_pipe));
-#endif
- if(!easy->easy_conn->writechannel_inuse &&
- isHandleAtHead(easy->easy_handle,
- easy->easy_conn->send_pipe)) {
- /* Grab the channel */
- easy->easy_conn->writechannel_inuse = TRUE;
- multistate(easy, CURLM_STATE_DO);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- break;
-
- case CURLM_STATE_DO:
- if(easy->easy_handle->set.connect_only) {
- /* keep connection open for application to use the socket */
- easy->easy_conn->bits.close = FALSE;
- multistate(easy, CURLM_STATE_DONE);
- easy->result = CURLE_OK;
- result = CURLM_OK;
- }
- else {
- /* Perform the protocol's DO action */
- easy->result = Curl_do(&easy->easy_conn,
- &dophase_done);
-
- if(CURLE_OK == easy->result) {
-
- if(!dophase_done) {
- /* DO was not completed in one function call, we must continue
- DOING... */
- multistate(easy, CURLM_STATE_DOING);
- result = CURLM_OK;
- }
-
- /* after DO, go DO_DONE... or DO_MORE */
- else if(easy->easy_conn->bits.do_more) {
- /* we're supposed to do more, but we need to sit down, relax
- and wait a little while first */
- multistate(easy, CURLM_STATE_DO_MORE);
- result = CURLM_OK;
- }
- else {
- /* we're done with the DO, now DO_DONE */
- multistate(easy, CURLM_STATE_DO_DONE);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- }
- else {
- /* failure detected */
- Curl_posttransfer(easy->easy_handle);
- Curl_done(&easy->easy_conn, easy->result, FALSE);
- disconnect_conn = TRUE;
- }
- }
- break;
-
- case CURLM_STATE_DOING:
- /* we continue DOING until the DO phase is complete */
- easy->result = Curl_protocol_doing(easy->easy_conn,
- &dophase_done);
- if(CURLE_OK == easy->result) {
- if(dophase_done) {
- /* after DO, go PERFORM... or DO_MORE */
- if(easy->easy_conn->bits.do_more) {
- /* we're supposed to do more, but we need to sit down, relax
- and wait a little while first */
- multistate(easy, CURLM_STATE_DO_MORE);
- result = CURLM_OK;
- }
- else {
- /* we're done with the DO, now DO_DONE */
- multistate(easy, CURLM_STATE_DO_DONE);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- } /* dophase_done */
- }
- else {
- /* failure detected */
- Curl_posttransfer(easy->easy_handle);
- Curl_done(&easy->easy_conn, easy->result, FALSE);
- disconnect_conn = TRUE;
- }
- break;
-
- case CURLM_STATE_DO_MORE:
- /* Ready to do more? */
- easy->result = Curl_is_connected(easy->easy_conn,
- SECONDARYSOCKET,
- &connected);
- if(connected) {
- /*
- * When we are connected, DO MORE and then go DO_DONE
- */
- easy->result = Curl_do_more(easy->easy_conn);
-
- /* No need to remove ourselves from the send pipeline here since that
- is done for us in Curl_done() */
-
- if(CURLE_OK == easy->result) {
- multistate(easy, CURLM_STATE_DO_DONE);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- else {
- /* failure detected */
- Curl_posttransfer(easy->easy_handle);
- Curl_done(&easy->easy_conn, easy->result, FALSE);
- disconnect_conn = TRUE;
- }
- }
- break;
-
- case CURLM_STATE_DO_DONE:
- /* Move ourselves from the send to recv pipeline */
- moveHandleFromSendToRecvPipeline(easy->easy_handle, easy->easy_conn);
- /* Check if we can move pending requests to send pipe */
- checkPendPipeline(easy->easy_conn);
- multistate(easy, CURLM_STATE_WAITPERFORM);
- result = CURLM_CALL_MULTI_PERFORM;
- break;
-
- case CURLM_STATE_WAITPERFORM:
-#ifdef CURLDEBUG
- infof(easy->easy_handle, "Conn %d recv pipe %d inuse %d athead %d\n",
- easy->easy_conn->connectindex,
- easy->easy_conn->recv_pipe->size,
- easy->easy_conn->readchannel_inuse,
- isHandleAtHead(easy->easy_handle,
- easy->easy_conn->recv_pipe));
-#endif
- /* Wait for our turn to PERFORM */
- if(!easy->easy_conn->readchannel_inuse &&
- isHandleAtHead(easy->easy_handle,
- easy->easy_conn->recv_pipe)) {
- /* Grab the channel */
- easy->easy_conn->readchannel_inuse = TRUE;
- multistate(easy, CURLM_STATE_PERFORM);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- break;
-
- case CURLM_STATE_TOOFAST: /* limit-rate exceeded in either direction */
- /* if both rates are within spec, resume transfer */
- Curl_pgrsUpdate(easy->easy_conn);
- if( ( ( easy->easy_handle->set.max_send_speed == 0 ) ||
- ( easy->easy_handle->progress.ulspeed <
- easy->easy_handle->set.max_send_speed ) ) &&
- ( ( easy->easy_handle->set.max_recv_speed == 0 ) ||
- ( easy->easy_handle->progress.dlspeed <
- easy->easy_handle->set.max_recv_speed ) )
- )
- multistate(easy, CURLM_STATE_PERFORM);
- break;
-
- case CURLM_STATE_PERFORM:
- /* check if over speed */
- if( ( ( easy->easy_handle->set.max_send_speed > 0 ) &&
- ( easy->easy_handle->progress.ulspeed >
- easy->easy_handle->set.max_send_speed ) ) ||
- ( ( easy->easy_handle->set.max_recv_speed > 0 ) &&
- ( easy->easy_handle->progress.dlspeed >
- easy->easy_handle->set.max_recv_speed ) )
- ) {
- /* Transfer is over the speed limit. Change state. TODO: Call
- * Curl_expire() with the time left until we're targeted to be below
- * the speed limit again. */
- multistate(easy, CURLM_STATE_TOOFAST );
- break;
- }
-
- /* read/write data if it is ready to do so */
- easy->result = Curl_readwrite(easy->easy_conn, &done);
-
- k = &easy->easy_handle->req;
-
- if(!(k->keepon & KEEP_READ)) {
- /* We're done reading */
- easy->easy_conn->readchannel_inuse = FALSE;
- }
-
- if(!(k->keepon & KEEP_WRITE)) {
- /* We're done writing */
- easy->easy_conn->writechannel_inuse = FALSE;
- }
-
- if(easy->result) {
- /* The transfer phase returned error, we mark the connection to get
- * closed to prevent being re-used. This is because we can't
- * possibly know if the connection is in a good shape or not now. */
- easy->easy_conn->bits.close = TRUE;
- Curl_removeHandleFromPipeline(easy->easy_handle,
- easy->easy_conn->recv_pipe);
-
- if(CURL_SOCKET_BAD != easy->easy_conn->sock[SECONDARYSOCKET]) {
- /* if we failed anywhere, we must clean up the secondary socket if
- it was used */
- sclose(easy->easy_conn->sock[SECONDARYSOCKET]);
- easy->easy_conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD;
- }
- Curl_posttransfer(easy->easy_handle);
- Curl_done(&easy->easy_conn, easy->result, FALSE);
- }
- else if(TRUE == done) {
- char *newurl;
- bool retry = Curl_retry_request(easy->easy_conn, &newurl);
- followtype follow=FOLLOW_NONE;
-
- /* call this even if the readwrite function returned error */
- Curl_posttransfer(easy->easy_handle);
-
- /* we're no longer receving */
- Curl_removeHandleFromPipeline(easy->easy_handle,
- easy->easy_conn->recv_pipe);
-
- /* expire the new receiving pipeline head */
- if(easy->easy_conn->recv_pipe->head)
- Curl_expire(easy->easy_conn->recv_pipe->head->ptr, 1);
-
- /* Check if we can move pending requests to send pipe */
- checkPendPipeline(easy->easy_conn);
-
- /* When we follow redirects, must to go back to the CONNECT state */
- if(easy->easy_handle->req.newurl || retry) {
- if(!retry) {
- /* if the URL is a follow-location and not just a retried request
- then figure out the URL here */
- newurl = easy->easy_handle->req.newurl;
- easy->easy_handle->req.newurl = NULL;
- follow = FOLLOW_REDIR;
- }
- else
- follow = FOLLOW_RETRY;
- easy->result = Curl_done(&easy->easy_conn, CURLE_OK, FALSE);
- if(easy->result == CURLE_OK)
- easy->result = Curl_follow(easy->easy_handle, newurl, follow);
- if(CURLE_OK == easy->result) {
- multistate(easy, CURLM_STATE_CONNECT);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- else
- /* Since we "took it", we are in charge of freeing this on
- failure */
- free(newurl);
- }
- else {
- /* after the transfer is done, go DONE */
- multistate(easy, CURLM_STATE_DONE);
- result = CURLM_CALL_MULTI_PERFORM;
- }
- }
-
- break;
-
- case CURLM_STATE_DONE:
- /* Remove ourselves from the receive pipeline */
- Curl_removeHandleFromPipeline(easy->easy_handle,
- easy->easy_conn->recv_pipe);
- /* Check if we can move pending requests to send pipe */
- checkPendPipeline(easy->easy_conn);
-
- if(easy->easy_conn->bits.stream_was_rewound) {
- /* This request read past its response boundary so we quickly let the
- other requests consume those bytes since there is no guarantee that
- the socket will become active again */
- result = CURLM_CALL_MULTI_PERFORM;
- }
-
- /* post-transfer command */
- easy->result = Curl_done(&easy->easy_conn, CURLE_OK, FALSE);
-
- /* after we have DONE what we're supposed to do, go COMPLETED, and
- it doesn't matter what the Curl_done() returned! */
- multistate(easy, CURLM_STATE_COMPLETED);
-
- break;
-
- case CURLM_STATE_COMPLETED:
- /* this is a completed transfer, it is likely to still be connected */
-
- /* This node should be delinked from the list now and we should post
- an information message that we are complete. */
-
- /* Important: reset the conn pointer so that we don't point to memory
- that could be freed anytime */
- easy->easy_conn = NULL;
- break;
-
- default:
- return CURLM_INTERNAL_ERROR;
- }
-
- if(CURLM_STATE_COMPLETED != easy->state) {
- if(CURLE_OK != easy->result) {
- /*
- * If an error was returned, and we aren't in completed state now,
- * then we go to completed and consider this transfer aborted.
- */
-
- /* NOTE: no attempt to disconnect connections must be made
- in the case blocks above - cleanup happens only here */
-
- easy->easy_handle->state.pipe_broke = FALSE;
-
- if(easy->easy_conn) {
- /* if this has a connection, unsubscribe from the pipelines */
- easy->easy_conn->writechannel_inuse = FALSE;
- easy->easy_conn->readchannel_inuse = FALSE;
- Curl_removeHandleFromPipeline(easy->easy_handle,
- easy->easy_conn->send_pipe);
- Curl_removeHandleFromPipeline(easy->easy_handle,
- easy->easy_conn->recv_pipe);
- /* Check if we can move pending requests to send pipe */
- checkPendPipeline(easy->easy_conn);
- }
-
- if(disconnect_conn) {
- Curl_disconnect(easy->easy_conn); /* disconnect properly */
-
- /* This is where we make sure that the easy_conn pointer is reset.
- We don't have to do this in every case block above where a
- failure is detected */
- easy->easy_conn = NULL;
- }
-
- multistate(easy, CURLM_STATE_COMPLETED);
- }
- }
- } while(0);
- if((CURLM_STATE_COMPLETED == easy->state) && !easy->msg) {
- if(easy->easy_handle->dns.hostcachetype == HCACHE_MULTI) {
- /* clear out the usage of the shared DNS cache */
- easy->easy_handle->dns.hostcache = NULL;
- easy->easy_handle->dns.hostcachetype = HCACHE_NONE;
- }
-
- /* now add a node to the Curl_message linked list with this info */
- msg = (struct Curl_message *)malloc(sizeof(struct Curl_message));
-
- if(!msg)
- return CURLM_OUT_OF_MEMORY;
-
- msg->extmsg.msg = CURLMSG_DONE;
- msg->extmsg.easy_handle = easy->easy_handle;
- msg->extmsg.data.result = easy->result;
- msg->next = NULL;
-
- easy->msg = msg;
- easy->msg_num = 1; /* there is one unread message here */
-
- multi->num_msgs++; /* increase message counter */
- }
-
- if(CURLM_CALL_MULTI_PERFORM == result)
- /* Set the timeout for this handle to expire really soon so that it will
- be taken care of even when this handle is added in the midst of
- operation when only the curl_multi_socket() API is used. During that
- flow, only sockets that time-out or have actions will be dealt
- with. Since this handle has no action yet, we make sure it times out to
- get things to happen. Also, this makes it less important for callers of
- the curl_multi_* functions to bother about the CURLM_CALL_MULTI_PERFORM
- return code, as long as they deal with the timeouts properly. */
- Curl_expire(easy->easy_handle, 1);
-
- return result;
-}
-
-
-CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- struct Curl_one_easy *easy;
- CURLMcode returncode=CURLM_OK;
- struct Curl_tree *t;
-
- if(!GOOD_MULTI_HANDLE(multi))
- return CURLM_BAD_HANDLE;
-
- easy=multi->easy.next;
- while(easy != &multi->easy) {
- CURLMcode result;
-
- result = multi_runsingle(multi, easy);
- if(result)
- returncode = result;
-
- easy = easy->next; /* operate on next handle */
- }
-
- /*
- * Simply remove all expired timers from the splay since handles are dealt
- * with unconditionally by this function and curl_multi_timeout() requires
- * that already passed/handled expire times are removed from the splay.
- */
- do {
- struct timeval now = Curl_tvnow();
-
- multi->timetree = Curl_splaygetbest(now, multi->timetree, &t);
- if(t) {
- struct SessionHandle *d = t->payload;
- struct timeval* tv = &d->state.expiretime;
-
- /* clear the expire times within the handles that we remove from the
- splay tree */
- tv->tv_sec = 0;
- tv->tv_usec = 0;
- }
-
- } while(t);
-
- *running_handles = multi->num_alive;
-
- if( CURLM_OK >= returncode )
- update_timer(multi);
- return returncode;
-}
-
-/* This is called when an easy handle is cleanup'ed that is part of a multi
- handle */
-void Curl_multi_rmeasy(void *multi_handle, CURL *easy_handle)
-{
- curl_multi_remove_handle(multi_handle, easy_handle);
-}
-
-
-CURLMcode curl_multi_cleanup(CURLM *multi_handle)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- struct Curl_one_easy *easy;
- struct Curl_one_easy *nexteasy;
- int i;
- struct closure *cl;
- struct closure *n;
-
- if(GOOD_MULTI_HANDLE(multi)) {
- multi->type = 0; /* not good anymore */
- Curl_hash_destroy(multi->hostcache);
- Curl_hash_destroy(multi->sockhash);
-
- /* go over all connections that have close actions */
- for(i=0; i< multi->connc->num; i++) {
- if(multi->connc->connects[i] &&
- multi->connc->connects[i]->protocol & PROT_CLOSEACTION) {
- Curl_disconnect(multi->connc->connects[i]);
- multi->connc->connects[i] = NULL;
- }
- }
- /* now walk through the list of handles we kept around only to be
- able to close connections "properly" */
- cl = multi->closure;
- while(cl) {
- cl->easy_handle->state.shared_conn = NULL; /* no more shared */
- if(cl->easy_handle->state.closed)
- /* close handle only if curl_easy_cleanup() already has been called
- for this easy handle */
- Curl_close(cl->easy_handle);
- n = cl->next;
- free(cl);
- cl= n;
- }
-
- Curl_rm_connc(multi->connc);
-
- /* remove all easy handles */
- easy = multi->easy.next;
- while(easy != &multi->easy) {
- nexteasy=easy->next;
- if(easy->easy_handle->dns.hostcachetype == HCACHE_MULTI) {
- /* clear out the usage of the shared DNS cache */
- easy->easy_handle->dns.hostcache = NULL;
- easy->easy_handle->dns.hostcachetype = HCACHE_NONE;
- }
-
- /* Clear the pointer to the connection cache */
- easy->easy_handle->state.connc = NULL;
-
- Curl_easy_addmulti(easy->easy_handle, NULL); /* clear the association */
-
- if(easy->msg)
- free(easy->msg);
- free(easy);
- easy = nexteasy;
- }
-
- free(multi);
-
- return CURLM_OK;
- }
- else
- return CURLM_BAD_HANDLE;
-}
-
-CURLMsg *curl_multi_info_read(CURLM *multi_handle, int *msgs_in_queue)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
-
- *msgs_in_queue = 0; /* default to none */
-
- if(GOOD_MULTI_HANDLE(multi)) {
- struct Curl_one_easy *easy;
-
- if(!multi->num_msgs)
- return NULL; /* no messages left to return */
-
- easy=multi->easy.next;
- while(easy != &multi->easy) {
- if(easy->msg_num) {
- easy->msg_num--;
- break;
- }
- easy = easy->next;
- }
- if(!easy)
- return NULL; /* this means internal count confusion really */
-
- multi->num_msgs--;
- *msgs_in_queue = multi->num_msgs;
-
- return &easy->msg->extmsg;
- }
- else
- return NULL;
-}
-
-/*
- * singlesocket() checks what sockets we deal with and their "action state"
- * and if we have a different state in any of those sockets from last time we
- * call the callback accordingly.
- */
-static void singlesocket(struct Curl_multi *multi,
- struct Curl_one_easy *easy)
-{
- curl_socket_t socks[MAX_SOCKSPEREASYHANDLE];
- int i;
- struct Curl_sh_entry *entry;
- curl_socket_t s;
- int num;
- unsigned int curraction;
-
- memset(&socks, 0, sizeof(socks));
- for(i=0; i< MAX_SOCKSPEREASYHANDLE; i++)
- socks[i] = CURL_SOCKET_BAD;
-
- /* Fill in the 'current' struct with the state as it is now: what sockets to
- supervise and for what actions */
- curraction = multi_getsock(easy, socks, MAX_SOCKSPEREASYHANDLE);
-
- /* We have 0 .. N sockets already and we get to know about the 0 .. M
- sockets we should have from now on. Detect the differences, remove no
- longer supervised ones and add new ones */
-
- /* walk over the sockets we got right now */
- for(i=0; (i< MAX_SOCKSPEREASYHANDLE) &&
- (curraction & (GETSOCK_READSOCK(i) | GETSOCK_WRITESOCK(i)));
- i++) {
- int action = CURL_POLL_NONE;
-
- s = socks[i];
-
- /* get it from the hash */
- entry = Curl_hash_pick(multi->sockhash, (char *)&s, sizeof(s));
-
- if(curraction & GETSOCK_READSOCK(i))
- action |= CURL_POLL_IN;
- if(curraction & GETSOCK_WRITESOCK(i))
- action |= CURL_POLL_OUT;
-
- if(entry) {
- /* yeps, already present so check if it has the same action set */
- if(entry->action == action)
- /* same, continue */
- continue;
- }
- else {
- /* this is a socket we didn't have before, add it! */
- entry = sh_addentry(multi->sockhash, s, easy->easy_handle);
- if(!entry)
- /* fatal */
- return;
- }
-
- multi->socket_cb(easy->easy_handle,
- s,
- action,
- multi->socket_userp,
- entry ? entry->socketp : NULL);
-
- entry->action = action; /* store the current action state */
- }
-
- num = i; /* number of sockets */
-
- /* when we've walked over all the sockets we should have right now, we must
- make sure to detect sockets that are removed */
- for(i=0; i< easy->numsocks; i++) {
- int j;
- s = easy->sockets[i];
- for(j=0; j<num; j++) {
- if(s == socks[j]) {
- /* this is still supervised */
- s = CURL_SOCKET_BAD;
- break;
- }
- }
- if(s != CURL_SOCKET_BAD) {
- /* this socket has been removed. Remove it */
-
- entry = Curl_hash_pick(multi->sockhash, (char *)&s, sizeof(s));
- if(entry) {
- /* just a precaution, this socket really SHOULD be in the hash already
- but in case it isn't, we don't have to tell the app to remove it
- either since it never got to know about it */
- multi->socket_cb(easy->easy_handle,
- s,
- CURL_POLL_REMOVE,
- multi->socket_userp,
- entry ? entry->socketp : NULL);
-
- sh_delentry(multi->sockhash, s);
- }
- }
- }
-
- memcpy(easy->sockets, socks, num*sizeof(curl_socket_t));
- easy->numsocks = num;
-}
-
-static CURLMcode multi_socket(struct Curl_multi *multi,
- bool checkall,
- curl_socket_t s,
- int ev_bitmask,
- int *running_handles)
-{
- CURLMcode result = CURLM_OK;
- struct SessionHandle *data = NULL;
- struct Curl_tree *t;
-
- if(checkall) {
- struct Curl_one_easy *easyp;
- /* *perform() deals with running_handles on its own */
- result = curl_multi_perform(multi, running_handles);
-
- /* walk through each easy handle and do the socket state change magic
- and callbacks */
- easyp=multi->easy.next;
- while(easyp != &multi->easy) {
- singlesocket(multi, easyp);
- easyp = easyp->next;
- }
-
- /* or should we fall-through and do the timer-based stuff? */
- return result;
- }
- else if(s != CURL_SOCKET_TIMEOUT) {
-
- struct Curl_sh_entry *entry =
- Curl_hash_pick(multi->sockhash, (char *)&s, sizeof(s));
-
- if(!entry)
- /* Unmatched socket, we can't act on it but we ignore this fact. In
- real-world tests it has been proved that libevent can in fact give
- the application actions even though the socket was just previously
- asked to get removed, so thus we better survive stray socket actions
- and just move on. */
- ;
- else {
- data = entry->easy;
-
- if(data->magic != CURLEASY_MAGIC_NUMBER)
- /* bad bad bad bad bad bad bad */
- return CURLM_INTERNAL_ERROR;
-
- if(data->set.one_easy->easy_conn) /* set socket event bitmask */
- data->set.one_easy->easy_conn->cselect_bits = ev_bitmask;
-
- result = multi_runsingle(multi, data->set.one_easy);
-
- if(data->set.one_easy->easy_conn)
- data->set.one_easy->easy_conn->cselect_bits = 0;
-
- if(CURLM_OK >= result)
- /* get the socket(s) and check if the state has been changed since
- last */
- singlesocket(multi, data->set.one_easy);
-
- /* Now we fall-through and do the timer-based stuff, since we don't want
- to force the user to have to deal with timeouts as long as at least
- one connection in fact has traffic. */
-
- data = NULL; /* set data to NULL again to avoid calling
- multi_runsingle() in case there's no need to */
- }
- }
-
- /*
- * The loop following here will go on as long as there are expire-times left
- * to process in the splay and 'data' will be re-assigned for every expired
- * handle we deal with.
- */
- do {
- struct timeval now;
-
- /* the first loop lap 'data' can be NULL */
- if(data) {
- result = multi_runsingle(multi, data->set.one_easy);
-
- if(CURLM_OK >= result)
- /* get the socket(s) and check if the state has been changed since
- last */
- singlesocket(multi, data->set.one_easy);
- }
-
- /* Check if there's one (more) expired timer to deal with! This function
- extracts a matching node if there is one */
-
- now = Curl_tvnow();
- now.tv_usec += 1000; /* to compensate for the truncating of 999us to 0ms,
- we always add time here to make the comparison
- below better */
-
- multi->timetree = Curl_splaygetbest(now, multi->timetree, &t);
- if(t) {
- /* assign 'data' to be the easy handle we just removed from the splay
- tree */
- data = t->payload;
- /* clear the expire time within the handle we removed from the
- splay tree */
- data->state.expiretime.tv_sec = 0;
- data->state.expiretime.tv_usec = 0;
- }
-
- } while(t);
-
- *running_handles = multi->num_alive;
- return result;
-}
-
-#undef curl_multi_setopt
-CURLMcode curl_multi_setopt(CURLM *multi_handle,
- CURLMoption option, ...)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- CURLMcode res = CURLM_OK;
- va_list param;
-
- if(!GOOD_MULTI_HANDLE(multi))
- return CURLM_BAD_HANDLE;
-
- va_start(param, option);
-
- switch(option) {
- case CURLMOPT_SOCKETFUNCTION:
- multi->socket_cb = va_arg(param, curl_socket_callback);
- break;
- case CURLMOPT_SOCKETDATA:
- multi->socket_userp = va_arg(param, void *);
- break;
- case CURLMOPT_PIPELINING:
- multi->pipelining_enabled = (bool)(0 != va_arg(param, long));
- break;
- case CURLMOPT_TIMERFUNCTION:
- multi->timer_cb = va_arg(param, curl_multi_timer_callback);
- break;
- case CURLMOPT_TIMERDATA:
- multi->timer_userp = va_arg(param, void *);
- break;
- case CURLMOPT_MAXCONNECTS:
- multi->maxconnects = va_arg(param, long);
- break;
- default:
- res = CURLM_UNKNOWN_OPTION;
- break;
- }
- va_end(param);
- return res;
-}
-
-/* we define curl_multi_socket() in the public multi.h header */
-#undef curl_multi_socket
-
-CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s,
- int *running_handles)
-{
- CURLMcode result = multi_socket((struct Curl_multi *)multi_handle, FALSE, s,
- 0, running_handles);
- if(CURLM_OK >= result)
- update_timer((struct Curl_multi *)multi_handle);
- return result;
-}
-
-CURLMcode curl_multi_socket_action(CURLM *multi_handle, curl_socket_t s,
- int ev_bitmask, int *running_handles)
-{
- CURLMcode result = multi_socket((struct Curl_multi *)multi_handle, FALSE, s,
- ev_bitmask, running_handles);
- if(CURLM_OK >= result)
- update_timer((struct Curl_multi *)multi_handle);
- return result;
-}
-
-CURLMcode curl_multi_socket_all(CURLM *multi_handle, int *running_handles)
-
-{
- CURLMcode result = multi_socket((struct Curl_multi *)multi_handle,
- TRUE, CURL_SOCKET_BAD, 0, running_handles);
- if(CURLM_OK >= result)
- update_timer((struct Curl_multi *)multi_handle);
- return result;
-}
-
-static CURLMcode multi_timeout(struct Curl_multi *multi,
- long *timeout_ms)
-{
- static struct timeval tv_zero = {0,0};
-
- if(multi->timetree) {
- /* we have a tree of expire times */
- struct timeval now = Curl_tvnow();
-
- /* splay the lowest to the bottom */
- multi->timetree = Curl_splay(tv_zero, multi->timetree);
-
- if(Curl_splaycomparekeys(multi->timetree->key, now) > 0)
- /* some time left before expiration */
- *timeout_ms = curlx_tvdiff(multi->timetree->key, now);
- else
- /* 0 means immediately */
- *timeout_ms = 0;
- }
- else
- *timeout_ms = -1;
-
- return CURLM_OK;
-}
-
-CURLMcode curl_multi_timeout(CURLM *multi_handle,
- long *timeout_ms)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
-
- /* First, make some basic checks that the CURLM handle is a good handle */
- if(!GOOD_MULTI_HANDLE(multi))
- return CURLM_BAD_HANDLE;
-
- return multi_timeout(multi, timeout_ms);
-}
-
-/*
- * Tell the application it should update its timers, if it subscribes to the
- * update timer callback.
- */
-static int update_timer(struct Curl_multi *multi)
-{
- long timeout_ms;
- if(!multi->timer_cb)
- return 0;
- if( multi_timeout(multi, &timeout_ms) != CURLM_OK )
- return -1;
- if( timeout_ms < 0 )
- return 0;
-
- /* When multi_timeout() is done, multi->timetree points to the node with the
- * timeout we got the (relative) time-out time for. We can thus easily check
- * if this is the same (fixed) time as we got in a previous call and then
- * avoid calling the callback again. */
- if(Curl_splaycomparekeys(multi->timetree->key, multi->timer_lastcall) == 0)
- return 0;
-
- multi->timer_lastcall = multi->timetree->key;
-
- return multi->timer_cb((CURLM*)multi, timeout_ms, multi->timer_userp);
-}
-
-static CURLcode addHandleToSendOrPendPipeline(struct SessionHandle *handle,
- struct connectdata *conn)
-{
- size_t pipeLen = conn->send_pipe->size + conn->recv_pipe->size;
- struct curl_llist *pipeline;
-
- if(!Curl_isPipeliningEnabled(handle) ||
- pipeLen == 0)
- pipeline = conn->send_pipe;
- else {
- if(conn->server_supports_pipelining &&
- pipeLen < MAX_PIPELINE_LENGTH)
- pipeline = conn->send_pipe;
- else
- pipeline = conn->pend_pipe;
- }
-
- return Curl_addHandleToPipeline(handle, pipeline);
-}
-
-static int checkPendPipeline(struct connectdata *conn)
-{
- int result = 0;
- struct curl_llist_element *sendhead = conn->send_pipe->head;
-
- if (conn->server_supports_pipelining) {
- size_t pipeLen = conn->send_pipe->size + conn->recv_pipe->size;
- struct curl_llist_element *curr = conn->pend_pipe->head;
-
- while(pipeLen < MAX_PIPELINE_LENGTH && curr) {
- Curl_llist_move(conn->pend_pipe, curr,
- conn->send_pipe, conn->send_pipe->tail);
- Curl_pgrsTime(curr->ptr, TIMER_PRETRANSFER);
- ++result; /* count how many handles we moved */
- curr = conn->pend_pipe->head;
- ++pipeLen;
- }
- if (result > 0)
- conn->now = Curl_tvnow();
- }
-
- if(result) {
- /* something moved, check for a new send pipeline leader */
- if(sendhead != conn->send_pipe->head) {
- /* this is a new one as head, expire it */
- conn->writechannel_inuse = FALSE; /* not in use yet */
- infof(conn->data, "%p is at send pipe head!\n",
- conn->send_pipe->head->ptr);
- Curl_expire(conn->send_pipe->head->ptr, 1);
- }
- }
-
- return result;
-}
-
-/* Move this transfer from the sending list to the receiving list.
-
- Pay special attention to the new sending list "leader" as it needs to get
- checked to update what sockets it acts on.
-
- */
-static void moveHandleFromSendToRecvPipeline(struct SessionHandle *handle,
- struct connectdata *conn)
-{
- struct curl_llist_element *curr;
-
- curr = conn->send_pipe->head;
- while(curr) {
- if(curr->ptr == handle) {
- Curl_llist_move(conn->send_pipe, curr,
- conn->recv_pipe, conn->recv_pipe->tail);
-
- if(conn->send_pipe->head) {
- /* Since there's a new easy handle at the start of the send pipeline,
- set its timeout value to 1ms to make it trigger instantly */
- conn->writechannel_inuse = FALSE; /* not used now */
- infof(conn->data, "%p is at send pipe head B!\n",
- conn->send_pipe->head->ptr);
- Curl_expire(conn->send_pipe->head->ptr, 1);
- }
-
- /* The receiver's list is not really interesting here since either this
- handle is now first in the list and we'll deal with it soon, or
- another handle is already first and thus is already taken care of */
-
- break; /* we're done! */
- }
- curr = curr->next;
- }
-}
-
-static bool isHandleAtHead(struct SessionHandle *handle,
- struct curl_llist *pipeline)
-{
- struct curl_llist_element *curr = pipeline->head;
- if(curr)
- return (bool)(curr->ptr == handle);
-
- return FALSE;
-}
-
-/* given a number of milliseconds from now to use to set the 'act before
- this'-time for the transfer, to be extracted by curl_multi_timeout() */
-void Curl_expire(struct SessionHandle *data, long milli)
-{
- struct Curl_multi *multi = data->multi;
- struct timeval *nowp = &data->state.expiretime;
- int rc;
-
- /* this is only interesting for multi-interface using libcurl, and only
- while there is still a multi interface struct remaining! */
- if(!multi)
- return;
-
- if(!milli) {
- /* No timeout, clear the time data. */
- if(nowp->tv_sec || nowp->tv_usec) {
- /* Since this is an cleared time, we must remove the previous entry from
- the splay tree */
- rc = Curl_splayremovebyaddr(multi->timetree,
- &data->state.timenode,
- &multi->timetree);
- if(rc)
- infof(data, "Internal error clearing splay node = %d\n", rc);
- infof(data, "Expire cleared\n");
- nowp->tv_sec = 0;
- nowp->tv_usec = 0;
- }
- }
- else {
- struct timeval set;
- int rest;
-
- set = Curl_tvnow();
- set.tv_sec += milli/1000;
- set.tv_usec += (milli%1000)*1000;
-
- rest = (int)(set.tv_usec - 1000000);
- if(rest > 0) {
- /* bigger than a full microsec */
- set.tv_sec++;
- set.tv_usec -= 1000000;
- }
-
- if(nowp->tv_sec || nowp->tv_usec) {
- /* This means that the struct is added as a node in the splay tree.
- Compare if the new time is earlier, and only remove-old/add-new if it
- is. */
- long diff = curlx_tvdiff(set, *nowp);
- if(diff > 0)
- /* the new expire time was later so we don't change this */
- return;
-
- /* Since this is an updated time, we must remove the previous entry from
- the splay tree first and then re-add the new value */
- rc = Curl_splayremovebyaddr(multi->timetree,
- &data->state.timenode,
- &multi->timetree);
- if(rc)
- infof(data, "Internal error removing splay node = %d\n", rc);
- }
-
- *nowp = set;
-#if 0
- infof(data, "Expire at %ld / %ld (%ldms) %p\n",
- (long)nowp->tv_sec, (long)nowp->tv_usec, milli, data);
-#endif
- data->state.timenode.payload = data;
- multi->timetree = Curl_splayinsert(*nowp,
- multi->timetree,
- &data->state.timenode);
- }
-#if 0
- Curl_splayprint(multi->timetree, 0, TRUE);
-#endif
-}
-
-CURLMcode curl_multi_assign(CURLM *multi_handle,
- curl_socket_t s, void *hashp)
-{
- struct Curl_sh_entry *there = NULL;
- struct Curl_multi *multi = (struct Curl_multi *)multi_handle;
-
- if(s != CURL_SOCKET_BAD)
- there = Curl_hash_pick(multi->sockhash, (char *)&s, sizeof(curl_socket_t));
-
- if(!there)
- return CURLM_BAD_SOCKET;
-
- there->socketp = hashp;
-
- return CURLM_OK;
-}
-
-static bool multi_conn_using(struct Curl_multi *multi,
- struct SessionHandle *data)
-{
- /* any live CLOSEACTION-connections pointing to the give 'data' ? */
- int i;
-
- for(i=0; i< multi->connc->num; i++) {
- if(multi->connc->connects[i] &&
- (multi->connc->connects[i]->data == data) &&
- multi->connc->connects[i]->protocol & PROT_CLOSEACTION)
- return TRUE;
- }
-
- return FALSE;
-}
-
-/* Add the given data pointer to the list of 'closure handles' that are kept
- around only to be able to close some connections nicely - just make sure
- that this handle isn't already added, like for the cases when an easy
- handle is removed, added and removed again... */
-static void add_closure(struct Curl_multi *multi,
- struct SessionHandle *data)
-{
- int i;
- struct closure *cl = (struct closure *)calloc(sizeof(struct closure), 1);
- struct closure *p=NULL;
- struct closure *n;
- if(cl) {
- cl->easy_handle = data;
- cl->next = multi->closure;
- multi->closure = cl;
- }
-
- p = multi->closure;
- cl = p->next; /* start immediately on the second since the first is the one
- we just added and it is _very_ likely to actually exist
- used in the cache since that's the whole purpose of adding
- it to this list! */
-
- /* When adding, scan through all the other currently kept handles and see if
- there are any connections still referring to them and kill them if not. */
- while(cl) {
- bool inuse = FALSE;
- for(i=0; i< multi->connc->num; i++) {
- if(multi->connc->connects[i] &&
- (multi->connc->connects[i]->data == cl->easy_handle)) {
- inuse = TRUE;
- break;
- }
- }
-
- n = cl->next;
-
- if(!inuse) {
- /* cl->easy_handle is now killable */
- infof(data, "Delayed kill of easy handle %p\n", cl->easy_handle);
- /* unmark it as not having a connection around that uses it anymore */
- cl->easy_handle->state.shared_conn= NULL;
- Curl_close(cl->easy_handle);
- if(p)
- p->next = n;
- else
- multi->closure = n;
- free(cl);
- }
- else
- p = cl;
-
- cl = n;
- }
-
-}
-
-#ifdef CURLDEBUG
-void curl_multi_dump(CURLM *multi_handle)
-{
- struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
- struct Curl_one_easy *easy;
- int i;
- fprintf(stderr, "* Multi status: %d handles, %d alive\n",
- multi->num_easy, multi->num_alive);
- for(easy=multi->easy.next; easy != &multi->easy; easy = easy->next) {
- if(easy->state != CURLM_STATE_COMPLETED) {
- /* only display handles that are not completed */
- fprintf(stderr, "handle %p, state %s, %d sockets\n",
- (void *)easy->easy_handle,
- statename[easy->state], easy->numsocks);
- for(i=0; i < easy->numsocks; i++) {
- curl_socket_t s = easy->sockets[i];
- struct Curl_sh_entry *entry =
- Curl_hash_pick(multi->sockhash, (char *)&s, sizeof(s));
-
- fprintf(stderr, "%d ", (int)s);
- if(!entry) {
- fprintf(stderr, "INTERNAL CONFUSION\n");
- continue;
- }
- fprintf(stderr, "[%s %s] ",
- entry->action&CURL_POLL_IN?"RECVING":"",
- entry->action&CURL_POLL_OUT?"SENDING":"");
- }
- if(easy->numsocks)
- fprintf(stderr, "\n");
- }
- }
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/multiif.h b/Utilities/cmcurl-7.19.0/lib/multiif.h
deleted file mode 100644
index 35bfbcc..0000000
--- a/Utilities/cmcurl-7.19.0/lib/multiif.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __MULTIIF_H
-#define __MULTIIF_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Prototypes for library-wide functions provided by multi.c
- */
-void Curl_expire(struct SessionHandle *data, long milli);
-
-void Curl_multi_rmeasy(void *multi, CURL *data);
-
-bool Curl_multi_canPipeline(const struct Curl_multi* multi);
-void Curl_multi_handlePipeBreak(struct SessionHandle *data);
-
-/* the write bits start at bit 16 for the *getsock() bitmap */
-#define GETSOCK_WRITEBITSTART 16
-
-#define GETSOCK_BLANK 0 /* no bits set */
-
-/* set the bit for the given sock number to make the bitmap for writable */
-#define GETSOCK_WRITESOCK(x) (1 << (GETSOCK_WRITEBITSTART + (x)))
-
-/* set the bit for the given sock number to make the bitmap for readable */
-#define GETSOCK_READSOCK(x) (1 << (x))
-
-#endif /* __MULTIIF_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/netrc.c b/Utilities/cmcurl-7.19.0/lib/netrc.c
deleted file mode 100644
index ac6b540..0000000
--- a/Utilities/cmcurl-7.19.0/lib/netrc.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-#ifdef VMS
-#include <unixlib.h>
-#endif
-
-#include <curl/curl.h>
-#include "netrc.h"
-
-#include "strequal.h"
-#include "strtok.h"
-#include "memory.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* Debug this single source file with:
- 'make netrc' then run './netrc'!
-
- Oh, make sure you have a .netrc file too ;-)
- */
-
-/* Get user and password from .netrc when given a machine name */
-
-enum {
- NOTHING,
- HOSTFOUND, /* the 'machine' keyword was found */
- HOSTCOMPLETE, /* the machine name following the keyword was found too */
- HOSTVALID, /* this is "our" machine! */
-
- HOSTEND /* LAST enum */
-};
-
-/* make sure we have room for at least this size: */
-#define LOGINSIZE 64
-#define PASSWORDSIZE 64
-
-/* returns -1 on failure, 0 if the host is found, 1 is the host isn't found */
-int Curl_parsenetrc(const char *host,
- char *login,
- char *password,
- char *netrcfile)
-{
- FILE *file;
- int retcode=1;
- int specific_login = (login[0] != 0);
- char *home = NULL;
- bool home_alloc = FALSE;
- bool netrc_alloc = FALSE;
- int state=NOTHING;
-
- char state_login=0; /* Found a login keyword */
- char state_password=0; /* Found a password keyword */
- int state_our_login=FALSE; /* With specific_login, found *our* login name */
-
-#define NETRC DOT_CHAR "netrc"
-
-#ifdef CURLDEBUG
- {
- /* This is a hack to allow testing.
- * If compiled with --enable-debug and CURL_DEBUG_NETRC is defined,
- * then it's the path to a substitute .netrc for testing purposes *only* */
-
- char *override = curl_getenv("CURL_DEBUG_NETRC");
-
- if(override) {
- fprintf(stderr, "NETRC: overridden " NETRC " file: %s\n", override);
- netrcfile = override;
- netrc_alloc = TRUE;
- }
- }
-#endif /* CURLDEBUG */
- if(!netrcfile) {
- home = curl_getenv("HOME"); /* portable environment reader */
- if(home) {
- home_alloc = TRUE;
-#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID)
- }
- else {
- struct passwd *pw;
- pw= getpwuid(geteuid());
- if(pw) {
-#ifdef VMS
- home = decc$translate_vms(pw->pw_dir);
-#else
- home = pw->pw_dir;
-#endif
- }
-#endif
- }
-
- if(!home)
- return -1;
-
- netrcfile = curl_maprintf("%s%s%s", home, DIR_CHAR, NETRC);
- if(!netrcfile) {
- if(home_alloc)
- free(home);
- return -1;
- }
- netrc_alloc = TRUE;
- }
-
- file = fopen(netrcfile, "r");
- if(file) {
- char *tok;
- char *tok_buf;
- bool done=FALSE;
- char netrcbuffer[256];
-
- while(!done && fgets(netrcbuffer, sizeof(netrcbuffer), file)) {
- tok=strtok_r(netrcbuffer, " \t\n", &tok_buf);
- while(!done && tok) {
-
- if(login[0] && password[0]) {
- done=TRUE;
- break;
- }
-
- switch(state) {
- case NOTHING:
- if(strequal("machine", tok)) {
- /* the next tok is the machine name, this is in itself the
- delimiter that starts the stuff entered for this machine,
- after this we need to search for 'login' and
- 'password'. */
- state=HOSTFOUND;
- }
- break;
- case HOSTFOUND:
- if(strequal(host, tok)) {
- /* and yes, this is our host! */
- state=HOSTVALID;
-#ifdef _NETRC_DEBUG
- fprintf(stderr, "HOST: %s\n", tok);
-#endif
- retcode=0; /* we did find our host */
- }
- else
- /* not our host */
- state=NOTHING;
- break;
- case HOSTVALID:
- /* we are now parsing sub-keywords concerning "our" host */
- if(state_login) {
- if(specific_login) {
- state_our_login = strequal(login, tok);
- }
- else {
- strncpy(login, tok, LOGINSIZE-1);
-#ifdef _NETRC_DEBUG
- fprintf(stderr, "LOGIN: %s\n", login);
-#endif
- }
- state_login=0;
- }
- else if(state_password) {
- if(state_our_login || !specific_login) {
- strncpy(password, tok, PASSWORDSIZE-1);
-#ifdef _NETRC_DEBUG
- fprintf(stderr, "PASSWORD: %s\n", password);
-#endif
- }
- state_password=0;
- }
- else if(strequal("login", tok))
- state_login=1;
- else if(strequal("password", tok))
- state_password=1;
- else if(strequal("machine", tok)) {
- /* ok, there's machine here go => */
- state = HOSTFOUND;
- state_our_login = FALSE;
- }
- break;
- } /* switch (state) */
-
- tok = strtok_r(NULL, " \t\n", &tok_buf);
- } /* while(tok) */
- } /* while fgets() */
-
- fclose(file);
- }
-
- if(home_alloc)
- free(home);
- if(netrc_alloc)
- free(netrcfile);
-
- return retcode;
-}
-
-#ifdef _NETRC_DEBUG
-int main(int argc, argv_item_t argv[])
-{
- char login[64]="";
- char password[64]="";
-
- if(argc<2)
- return -1;
-
- if(0 == ParseNetrc(argv[1], login, password)) {
- printf("HOST: %s LOGIN: %s PASSWORD: %s\n",
- argv[1], login, password);
- }
-}
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/netrc.h b/Utilities/cmcurl-7.19.0/lib/netrc.h
deleted file mode 100644
index a82b3fc..0000000
--- a/Utilities/cmcurl-7.19.0/lib/netrc.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __NETRC_H
-#define __NETRC_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-int Curl_parsenetrc(const char *host,
- char *login,
- char *password,
- char *filename);
- /* Assume: password[0]=0, host[0] != 0.
- * If login[0] = 0, search for login and password within a machine section
- * in the netrc.
- * If login[0] != 0, search for password within machine and login.
- */
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/nss.c b/Utilities/cmcurl-7.19.0/lib/nss.c
deleted file mode 100644
index b6ed59c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/nss.c
+++ /dev/null
@@ -1,1271 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Source file for all NSS-specific code for the TLS/SSL layer. No code
- * but sslgen.c should ever call or use these functions.
- */
-
-#include "setup.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "formdata.h" /* for the boundary function */
-#include "url.h" /* for the ssl config check function */
-#include "connect.h"
-#include "strequal.h"
-#include "select.h"
-#include "sslgen.h"
-#include "strequal.h"
-
-#define _MPRINTF_REPLACE /* use the internal *printf() functions */
-#include <curl/mprintf.h>
-
-#ifdef USE_NSS
-
-#include "nssg.h"
-#include <nspr.h>
-#include <nss.h>
-#include <ssl.h>
-#include <sslerr.h>
-#include <secerr.h>
-#include <secmod.h>
-#include <sslproto.h>
-#include <prtypes.h>
-#include <pk11pub.h>
-#include <prio.h>
-#include <secitem.h>
-#include <secport.h>
-#include <certdb.h>
-
-#include "memory.h"
-#include "easyif.h" /* for Curl_convert_from_utf8 prototype */
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#define SSL_DIR "/etc/pki/nssdb"
-
-/* enough to fit the string "PEM Token #[0|1]" */
-#define SLOTSIZE 13
-
-PRFileDesc *PR_ImportTCPSocket(PRInt32 osfd);
-
-int initialized = 0;
-
-#define HANDSHAKE_TIMEOUT 30
-
-typedef struct {
- PRInt32 retryCount;
- struct SessionHandle *data;
-} pphrase_arg_t;
-
-typedef struct {
- const char *name;
- int num;
- PRInt32 version; /* protocol version valid for this cipher */
-} cipher_s;
-
-#define PK11_SETATTRS(x,id,v,l) (x)->type = (id); \
- (x)->pValue=(v); (x)->ulValueLen = (l)
-
-#define CERT_NewTempCertificate __CERT_NewTempCertificate
-
-enum sslversion { SSL2 = 1, SSL3 = 2, TLS = 4 };
-
-#define NUM_OF_CIPHERS sizeof(cipherlist)/sizeof(cipherlist[0])
-static const cipher_s cipherlist[] = {
- /* SSL2 cipher suites */
- {"rc4", SSL_EN_RC4_128_WITH_MD5, SSL2},
- {"rc4-md5", SSL_EN_RC4_128_WITH_MD5, SSL2},
- {"rc4export", SSL_EN_RC4_128_EXPORT40_WITH_MD5, SSL2},
- {"rc2", SSL_EN_RC2_128_CBC_WITH_MD5, SSL2},
- {"rc2export", SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5, SSL2},
- {"des", SSL_EN_DES_64_CBC_WITH_MD5, SSL2},
- {"desede3", SSL_EN_DES_192_EDE3_CBC_WITH_MD5, SSL2},
- /* SSL3/TLS cipher suites */
- {"rsa_rc4_128_md5", SSL_RSA_WITH_RC4_128_MD5, SSL3 | TLS},
- {"rsa_rc4_128_sha", SSL_RSA_WITH_RC4_128_SHA, SSL3 | TLS},
- {"rsa_3des_sha", SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL3 | TLS},
- {"rsa_des_sha", SSL_RSA_WITH_DES_CBC_SHA, SSL3 | TLS},
- {"rsa_rc4_40_md5", SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL3 | TLS},
- {"rsa_rc2_40_md5", SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5, SSL3 | TLS},
- {"rsa_null_md5", SSL_RSA_WITH_NULL_MD5, SSL3 | TLS},
- {"rsa_null_sha", SSL_RSA_WITH_NULL_SHA, SSL3 | TLS},
- {"fips_3des_sha", SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA, SSL3 | TLS},
- {"fips_des_sha", SSL_RSA_FIPS_WITH_DES_CBC_SHA, SSL3 | TLS},
- {"fortezza", SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA, SSL3 | TLS},
- {"fortezza_rc4_128_sha", SSL_FORTEZZA_DMS_WITH_RC4_128_SHA, SSL3 | TLS},
- {"fortezza_null", SSL_FORTEZZA_DMS_WITH_NULL_SHA, SSL3 | TLS},
- /* TLS 1.0: Exportable 56-bit Cipher Suites. */
- {"rsa_des_56_sha", TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA, SSL3 | TLS},
- {"rsa_rc4_56_sha", TLS_RSA_EXPORT1024_WITH_RC4_56_SHA, SSL3 | TLS},
- /* AES ciphers. */
- {"rsa_aes_128_sha", TLS_RSA_WITH_AES_128_CBC_SHA, SSL3 | TLS},
- {"rsa_aes_256_sha", TLS_RSA_WITH_AES_256_CBC_SHA, SSL3 | TLS},
-#ifdef NSS_ENABLE_ECC
- /* ECC ciphers. */
- {"ecdh_ecdsa_null_sha", TLS_ECDH_ECDSA_WITH_NULL_SHA, TLS},
- {"ecdh_ecdsa_rc4_128_sha", TLS_ECDH_ECDSA_WITH_RC4_128_SHA, TLS},
- {"ecdh_ecdsa_3des_sha", TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS},
- {"ecdh_ecdsa_aes_128_sha", TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS},
- {"ecdh_ecdsa_aes_256_sha", TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS},
- {"ecdhe_ecdsa_null_sha", TLS_ECDHE_ECDSA_WITH_NULL_SHA, TLS},
- {"ecdhe_ecdsa_rc4_128_sha", TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS},
- {"ecdhe_ecdsa_3des_sha", TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS},
- {"ecdhe_ecdsa_aes_128_sha", TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS},
- {"ecdhe_ecdsa_aes_256_sha", TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS},
- {"ecdh_rsa_null_sha", TLS_ECDH_RSA_WITH_NULL_SHA, TLS},
- {"ecdh_rsa_128_sha", TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS},
- {"ecdh_rsa_3des_sha", TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, TLS},
- {"ecdh_rsa_aes_128_sha", TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS},
- {"ecdh_rsa_aes_256_sha", TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS},
- {"echde_rsa_null", TLS_ECDHE_RSA_WITH_NULL_SHA, TLS},
- {"ecdhe_rsa_rc4_128_sha", TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS},
- {"ecdhe_rsa_3des_sha", TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS},
- {"ecdhe_rsa_aes_128_sha", TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS},
- {"ecdhe_rsa_aes_256_sha", TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS},
- {"ecdh_anon_null_sha", TLS_ECDH_anon_WITH_NULL_SHA, TLS},
- {"ecdh_anon_rc4_128sha", TLS_ECDH_anon_WITH_RC4_128_SHA, TLS},
- {"ecdh_anon_3des_sha", TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, TLS},
- {"ecdh_anon_aes_128_sha", TLS_ECDH_anon_WITH_AES_128_CBC_SHA, TLS},
- {"ecdh_anon_aes_256_sha", TLS_ECDH_anon_WITH_AES_256_CBC_SHA, TLS},
-#endif
-};
-
-#ifdef HAVE_PK11_CREATEGENERICOBJECT
-static const char* pem_library = "libnsspem.so";
-#endif
-SECMODModule* mod = NULL;
-
-static SECStatus set_ciphers(struct SessionHandle *data, PRFileDesc * model,
- char *cipher_list)
-{
- unsigned int i;
- PRBool cipher_state[NUM_OF_CIPHERS];
- PRBool found;
- char *cipher;
- SECStatus rv;
-
- /* First disable all ciphers. This uses a different max value in case
- * NSS adds more ciphers later we don't want them available by
- * accident
- */
- for(i=0; i<SSL_NumImplementedCiphers; i++) {
- SSL_CipherPrefSet(model, SSL_ImplementedCiphers[i], SSL_NOT_ALLOWED);
- }
-
- /* Set every entry in our list to false */
- for(i=0; i<NUM_OF_CIPHERS; i++) {
- cipher_state[i] = PR_FALSE;
- }
-
- cipher = cipher_list;
-
- while(cipher_list && (cipher_list[0])) {
- while((*cipher) && (ISSPACE(*cipher)))
- ++cipher;
-
- if((cipher_list = strchr(cipher, ','))) {
- *cipher_list++ = '\0';
- }
-
- found = PR_FALSE;
-
- for(i=0; i<NUM_OF_CIPHERS; i++) {
- if(strequal(cipher, cipherlist[i].name)) {
- cipher_state[i] = PR_TRUE;
- found = PR_TRUE;
- break;
- }
- }
-
- if(found == PR_FALSE) {
- failf(data, "Unknown cipher in list: %s", cipher);
- return SECFailure;
- }
-
- if(cipher_list) {
- cipher = cipher_list;
- }
- }
-
- /* Finally actually enable the selected ciphers */
- for(i=0; i<NUM_OF_CIPHERS; i++) {
- rv = SSL_CipherPrefSet(model, cipherlist[i].num, cipher_state[i]);
- if(rv != SECSuccess) {
- failf(data, "Unknown cipher in cipher list");
- return SECFailure;
- }
- }
-
- return SECSuccess;
-}
-
-/*
- * Determine whether the nickname passed in is a filename that needs to
- * be loaded as a PEM or a regular NSS nickname.
- *
- * returns 1 for a file
- * returns 0 for not a file (NSS nickname)
- */
-static int is_file(const char *filename)
-{
- struct stat st;
-
- if(filename == NULL)
- return 0;
-
- if(stat(filename, &st) == 0)
- if(S_ISREG(st.st_mode))
- return 1;
-
- return 0;
-}
-
-static int
-nss_load_cert(const char *filename, PRBool cacert)
-{
-#ifdef HAVE_PK11_CREATEGENERICOBJECT
- CK_SLOT_ID slotID;
- PK11SlotInfo * slot = NULL;
- PK11GenericObject *rv;
- CK_ATTRIBUTE *attrs;
- CK_ATTRIBUTE theTemplate[20];
- CK_BBOOL cktrue = CK_TRUE;
- CK_BBOOL ckfalse = CK_FALSE;
- CK_OBJECT_CLASS objClass = CKO_CERTIFICATE;
- char *slotname = NULL;
-#endif
- CERTCertificate *cert;
- char *nickname = NULL;
- char *n = NULL;
-
- /* If there is no slash in the filename it is assumed to be a regular
- * NSS nickname.
- */
- if(is_file(filename)) {
- n = strrchr(filename, '/');
- if(n)
- n++;
- if(!mod)
- return 1;
- }
- else {
- /* A nickname from the NSS internal database */
- if(cacert)
- return 0; /* You can't specify an NSS CA nickname this way */
- nickname = strdup(filename);
- goto done;
- }
-
-#ifdef HAVE_PK11_CREATEGENERICOBJECT
- attrs = theTemplate;
-
- /* All CA and trust objects go into slot 0. Other slots are used
- * for storing certificates. With each new user certificate we increment
- * the slot count. We only support 1 user certificate right now.
- */
- if(cacert)
- slotID = 0;
- else
- slotID = 1;
-
- slotname = (char *)malloc(SLOTSIZE);
- nickname = (char *)malloc(PATH_MAX);
- snprintf(slotname, SLOTSIZE, "PEM Token #%ld", slotID);
- snprintf(nickname, PATH_MAX, "PEM Token #%ld:%s", slotID, n);
-
- slot = PK11_FindSlotByName(slotname);
-
- if(!slot) {
- free(slotname);
- free(nickname);
- return 0;
- }
-
- PK11_SETATTRS(attrs, CKA_CLASS, &objClass, sizeof(objClass) );
- attrs++;
- PK11_SETATTRS(attrs, CKA_TOKEN, &cktrue, sizeof(CK_BBOOL) );
- attrs++;
- PK11_SETATTRS(attrs, CKA_LABEL, (unsigned char *)filename,
- strlen(filename)+1);
- attrs++;
- if(cacert) {
- PK11_SETATTRS(attrs, CKA_TRUST, &cktrue, sizeof(CK_BBOOL) );
- }
- else {
- PK11_SETATTRS(attrs, CKA_TRUST, &ckfalse, sizeof(CK_BBOOL) );
- }
- attrs++;
-
- /* This load the certificate in our PEM module into the appropriate
- * slot.
- */
- rv = PK11_CreateGenericObject(slot, theTemplate, 4, PR_FALSE /* isPerm */);
-
- PK11_FreeSlot(slot);
-
- free(slotname);
- if(rv == NULL) {
- free(nickname);
- return 0;
- }
-#else
- /* We don't have PK11_CreateGenericObject but a file-based cert was passed
- * in. We need to fail.
- */
- return 0;
-#endif
-
-done:
- /* Double-check that the certificate or nickname requested exists in
- * either the token or the NSS certificate database.
- */
- if(!cacert) {
- cert = PK11_FindCertFromNickname((char *)nickname, NULL);
-
- /* An invalid nickname was passed in */
- if(cert == NULL) {
- free(nickname);
- PR_SetError(SEC_ERROR_UNKNOWN_CERT, 0);
- return 0;
- }
-
- CERT_DestroyCertificate(cert);
- }
-
- free(nickname);
-
- return 1;
-}
-
-static int nss_load_crl(char* crlfilename, PRBool ascii)
-{
- PRFileDesc *infile;
- PRStatus prstat;
- PRFileInfo info;
- PRInt32 nb;
- int rv;
- SECItem crlDER;
- CERTSignedCrl *crl=NULL;
- PK11SlotInfo *slot=NULL;
-
- infile = PR_Open(crlfilename,PR_RDONLY,0);
- if (!infile) {
- return 0;
- }
- crlDER.data = NULL;
- prstat = PR_GetOpenFileInfo(infile,&info);
- if (prstat!=PR_SUCCESS)
- return 0;
- if (ascii) {
- SECItem filedata;
- char *asc,*body;
- filedata.data = NULL;
- if (!SECITEM_AllocItem(NULL,&filedata,info.size))
- return 0;
- nb = PR_Read(infile,filedata.data,info.size);
- if (nb!=info.size)
- return 0;
- asc = (char*)filedata.data;
- if (!asc)
- return 0;
-
- body=strstr(asc,"-----BEGIN");
- if (body != NULL) {
- char *trailer=NULL;
- asc = body;
- body = PORT_Strchr(asc,'\n');
- if (!body)
- body = PORT_Strchr(asc,'\r');
- if (body)
- trailer = strstr(++body,"-----END");
- if (trailer!=NULL)
- *trailer='\0';
- else
- return 0;
- }
- else {
- body = asc;
- }
- rv = ATOB_ConvertAsciiToItem(&crlDER,body);
- PORT_Free(filedata.data);
- if (rv)
- return 0;
- }
- else {
- if (!SECITEM_AllocItem(NULL,&crlDER,info.size))
- return 0;
- nb = PR_Read(infile,crlDER.data,info.size);
- if (nb!=info.size)
- return 0;
- }
-
- slot = PK11_GetInternalKeySlot();
- crl = PK11_ImportCRL(slot,&crlDER,
- NULL,SEC_CRL_TYPE,
- NULL,CRL_IMPORT_DEFAULT_OPTIONS,
- NULL,(CRL_DECODE_DEFAULT_OPTIONS|
- CRL_DECODE_DONT_COPY_DER));
- if (slot) PK11_FreeSlot(slot);
- if (!crl) return 0;
- SEC_DestroyCrl(crl);
- return 1;
-}
-
-static int nss_load_key(struct connectdata *conn, char *key_file)
-{
-#ifdef HAVE_PK11_CREATEGENERICOBJECT
- PK11SlotInfo * slot = NULL;
- PK11GenericObject *rv;
- CK_ATTRIBUTE *attrs;
- CK_ATTRIBUTE theTemplate[20];
- CK_BBOOL cktrue = CK_TRUE;
- CK_OBJECT_CLASS objClass = CKO_PRIVATE_KEY;
- CK_SLOT_ID slotID;
- char *slotname = NULL;
- pphrase_arg_t *parg = NULL;
-
- attrs = theTemplate;
-
- /* FIXME: grok the various file types */
-
- slotID = 1; /* hardcoded for now */
-
- slotname = (char *)malloc(SLOTSIZE);
- snprintf(slotname, SLOTSIZE, "PEM Token #%ld", slotID);
-
- slot = PK11_FindSlotByName(slotname);
- free(slotname);
-
- if(!slot)
- return 0;
-
- PK11_SETATTRS(attrs, CKA_CLASS, &objClass, sizeof(objClass) ); attrs++;
- PK11_SETATTRS(attrs, CKA_TOKEN, &cktrue, sizeof(CK_BBOOL) ); attrs++;
- PK11_SETATTRS(attrs, CKA_LABEL, (unsigned char *)key_file,
- strlen(key_file)+1); attrs++;
-
- /* When adding an encrypted key the PKCS#11 will be set as removed */
- rv = PK11_CreateGenericObject(slot, theTemplate, 3, PR_FALSE /* isPerm */);
- if(rv == NULL) {
- PR_SetError(SEC_ERROR_BAD_KEY, 0);
- return 0;
- }
-
- /* This will force the token to be seen as re-inserted */
- SECMOD_WaitForAnyTokenEvent(mod, 0, 0);
- PK11_IsPresent(slot);
-
- parg = (pphrase_arg_t *) malloc(sizeof(*parg));
- parg->retryCount = 0;
- parg->data = conn->data;
- /* parg is initialized in nss_Init_Tokens() */
- if(PK11_Authenticate(slot, PR_TRUE, parg) != SECSuccess) {
- free(parg);
- return 0;
- }
- free(parg);
-
- return 1;
-#else
- /* If we don't have PK11_CreateGenericObject then we can't load a file-based
- * key.
- */
- (void)conn; /* unused */
- (void)key_file; /* unused */
- return 0;
-#endif
-}
-
-static int display_error(struct connectdata *conn, PRInt32 err,
- const char *filename)
-{
- switch(err) {
- case SEC_ERROR_BAD_PASSWORD:
- failf(conn->data, "Unable to load client key: Incorrect password");
- return 1;
- case SEC_ERROR_UNKNOWN_CERT:
- failf(conn->data, "Unable to load certificate %s", filename);
- return 1;
- default:
- break;
- }
- return 0; /* The caller will print a generic error */
-}
-
-static int cert_stuff(struct connectdata *conn, char *cert_file, char *key_file)
-{
- struct SessionHandle *data = conn->data;
- int rv = 0;
-
- if(cert_file) {
- rv = nss_load_cert(cert_file, PR_FALSE);
- if(!rv) {
- if(!display_error(conn, PR_GetError(), cert_file))
- failf(data, "Unable to load client cert %d.", PR_GetError());
- return 0;
- }
- }
- if(key_file || (is_file(cert_file))) {
- if(key_file)
- rv = nss_load_key(conn, key_file);
- else
- /* In case the cert file also has the key */
- rv = nss_load_key(conn, cert_file);
- if(!rv) {
- if(!display_error(conn, PR_GetError(), key_file))
- failf(data, "Unable to load client key %d.", PR_GetError());
-
- return 0;
- }
- }
- return 1;
-}
-
-static char * nss_get_password(PK11SlotInfo * slot, PRBool retry, void *arg)
-{
- pphrase_arg_t *parg;
- parg = (pphrase_arg_t *) arg;
-
- (void)slot; /* unused */
- if(retry > 2)
- return NULL;
- if(parg->data->set.str[STRING_KEY_PASSWD])
- return (char *)PORT_Strdup((char *)parg->data->set.str[STRING_KEY_PASSWD]);
- else
- return NULL;
-}
-
-/* No longer ask for the password, parg has been freed */
-static char * nss_no_password(PK11SlotInfo *slot, PRBool retry, void *arg)
-{
- (void)slot; /* unused */
- (void)retry; /* unused */
- (void)arg; /* unused */
- return NULL;
-}
-
-static SECStatus nss_Init_Tokens(struct connectdata * conn)
-{
- PK11SlotList *slotList;
- PK11SlotListElement *listEntry;
- SECStatus ret, status = SECSuccess;
- pphrase_arg_t *parg = NULL;
-
- parg = (pphrase_arg_t *) malloc(sizeof(*parg));
- parg->retryCount = 0;
- parg->data = conn->data;
-
- PK11_SetPasswordFunc(nss_get_password);
-
- slotList =
- PK11_GetAllTokens(CKM_INVALID_MECHANISM, PR_FALSE, PR_TRUE, NULL);
-
- for(listEntry = PK11_GetFirstSafe(slotList);
- listEntry; listEntry = listEntry->next) {
- PK11SlotInfo *slot = listEntry->slot;
-
- if(PK11_NeedLogin(slot) && PK11_NeedUserInit(slot)) {
- if(slot == PK11_GetInternalKeySlot()) {
- failf(conn->data, "The NSS database has not been initialized");
- }
- else {
- failf(conn->data, "The token %s has not been initialized",
- PK11_GetTokenName(slot));
- }
- PK11_FreeSlot(slot);
- continue;
- }
-
- ret = PK11_Authenticate(slot, PR_TRUE, parg);
- if(SECSuccess != ret) {
- if(PR_GetError() == SEC_ERROR_BAD_PASSWORD)
- infof(conn->data, "The password for token '%s' is incorrect\n",
- PK11_GetTokenName(slot));
- status = SECFailure;
- break;
- }
- parg->retryCount = 0; /* reset counter to 0 for the next token */
- PK11_FreeSlot(slot);
- }
-
- free(parg);
-
- return status;
-}
-
-static SECStatus BadCertHandler(void *arg, PRFileDesc *sock)
-{
- SECStatus success = SECSuccess;
- struct connectdata *conn = (struct connectdata *)arg;
- PRErrorCode err = PR_GetError();
- CERTCertificate *cert = NULL;
- char *subject, *issuer;
-
- if(conn->data->set.ssl.certverifyresult!=0)
- return success;
-
- conn->data->set.ssl.certverifyresult=err;
- cert = SSL_PeerCertificate(sock);
- subject = CERT_NameToAscii(&cert->subject);
- issuer = CERT_NameToAscii(&cert->issuer);
- CERT_DestroyCertificate(cert);
-
- switch(err) {
- case SEC_ERROR_CA_CERT_INVALID:
- infof(conn->data, "Issuer certificate is invalid: '%s'\n", issuer);
- if(conn->data->set.ssl.verifypeer)
- success = SECFailure;
- break;
- case SEC_ERROR_UNTRUSTED_ISSUER:
- if(conn->data->set.ssl.verifypeer)
- success = SECFailure;
- infof(conn->data, "Certificate is signed by an untrusted issuer: '%s'\n",
- issuer);
- break;
- case SSL_ERROR_BAD_CERT_DOMAIN:
- if(conn->data->set.ssl.verifypeer)
- success = SECFailure;
- infof(conn->data, "common name: %s (does not match '%s')\n",
- subject, conn->host.dispname);
- break;
- case SEC_ERROR_EXPIRED_CERTIFICATE:
- if(conn->data->set.ssl.verifypeer)
- success = SECFailure;
- infof(conn->data, "Remote Certificate has expired.\n");
- break;
- default:
- if(conn->data->set.ssl.verifypeer)
- success = SECFailure;
- infof(conn->data, "Bad certificate received. Subject = '%s', "
- "Issuer = '%s'\n", subject, issuer);
- break;
- }
- if(success == SECSuccess)
- infof(conn->data, "SSL certificate verify ok.\n");
- PR_Free(subject);
- PR_Free(issuer);
-
- return success;
-}
-
-/**
- * Inform the application that the handshake is complete.
- */
-static SECStatus HandshakeCallback(PRFileDesc *sock, void *arg)
-{
- (void)sock;
- (void)arg;
- return SECSuccess;
-}
-
-static void display_conn_info(struct connectdata *conn, PRFileDesc *sock)
-{
- SSLChannelInfo channel;
- SSLCipherSuiteInfo suite;
- CERTCertificate *cert;
- char *subject, *issuer, *common_name;
- PRExplodedTime printableTime;
- char timeString[256];
- PRTime notBefore, notAfter;
-
- if(SSL_GetChannelInfo(sock, &channel, sizeof channel) ==
- SECSuccess && channel.length == sizeof channel &&
- channel.cipherSuite) {
- if(SSL_GetCipherSuiteInfo(channel.cipherSuite,
- &suite, sizeof suite) == SECSuccess) {
- infof(conn->data, "SSL connection using %s\n", suite.cipherSuiteName);
- }
- }
-
- infof(conn->data, "Server certificate:\n");
-
- cert = SSL_PeerCertificate(sock);
- subject = CERT_NameToAscii(&cert->subject);
- issuer = CERT_NameToAscii(&cert->issuer);
- common_name = CERT_GetCommonName(&cert->subject);
- infof(conn->data, "\tsubject: %s\n", subject);
-
- CERT_GetCertTimes(cert, &notBefore, &notAfter);
- PR_ExplodeTime(notBefore, PR_GMTParameters, &printableTime);
- PR_FormatTime(timeString, 256, "%b %d %H:%M:%S %Y GMT", &printableTime);
- infof(conn->data, "\tstart date: %s\n", timeString);
- PR_ExplodeTime(notAfter, PR_GMTParameters, &printableTime);
- PR_FormatTime(timeString, 256, "%b %d %H:%M:%S %Y GMT", &printableTime);
- infof(conn->data, "\texpire date: %s\n", timeString);
- infof(conn->data, "\tcommon name: %s\n", common_name);
- infof(conn->data, "\tissuer: %s\n", issuer);
-
- PR_Free(subject);
- PR_Free(issuer);
- PR_Free(common_name);
-
- CERT_DestroyCertificate(cert);
-
- return;
-}
-
-/**
- *
- * Check that the Peer certificate's issuer certificate matches the one found
- * by issuer_nickname. This is not exactly the way OpenSSL and GNU TLS do the
- * issuer check, so we provide comments that mimic the OpenSSL
- * X509_check_issued function (in x509v3/v3_purp.c)
- */
-static SECStatus check_issuer_cert(PRFileDesc *sock,
- char* issuer_nickname)
-{
- CERTCertificate *cert,*cert_issuer,*issuer;
- SECStatus res=SECSuccess;
- void *proto_win = NULL;
-
- /*
- PRArenaPool *tmpArena = NULL;
- CERTAuthKeyID *authorityKeyID = NULL;
- SECITEM *caname = NULL;
- */
-
- cert = SSL_PeerCertificate(sock);
- cert_issuer = CERT_FindCertIssuer(cert,PR_Now(),certUsageObjectSigner);
-
- proto_win = SSL_RevealPinArg(sock);
- issuer = NULL;
- issuer = PK11_FindCertFromNickname(issuer_nickname, proto_win);
-
- if ((!cert_issuer) || (!issuer))
- res = SECFailure;
- else if (SECITEM_CompareItem(&cert_issuer->derCert,
- &issuer->derCert)!=SECEqual)
- res = SECFailure;
-
- CERT_DestroyCertificate(cert);
- CERT_DestroyCertificate(issuer);
- CERT_DestroyCertificate(cert_issuer);
- return res;
-}
-
-/**
- *
- * Callback to pick the SSL client certificate.
- */
-static SECStatus SelectClientCert(void *arg, PRFileDesc *sock,
- struct CERTDistNamesStr *caNames,
- struct CERTCertificateStr **pRetCert,
- struct SECKEYPrivateKeyStr **pRetKey)
-{
- CERTCertificate *cert;
- SECKEYPrivateKey *privKey;
- char *nickname = (char *)arg;
- void *proto_win = NULL;
- SECStatus secStatus = SECFailure;
- PK11SlotInfo *slot;
- (void)caNames;
-
- proto_win = SSL_RevealPinArg(sock);
-
- if(!nickname)
- return secStatus;
-
- cert = PK11_FindCertFromNickname(nickname, proto_win);
- if(cert) {
-
- if(!strncmp(nickname, "PEM Token", 9)) {
- CK_SLOT_ID slotID = 1; /* hardcoded for now */
- char * slotname = (char *)malloc(SLOTSIZE);
- snprintf(slotname, SLOTSIZE, "PEM Token #%ld", slotID);
- slot = PK11_FindSlotByName(slotname);
- privKey = PK11_FindPrivateKeyFromCert(slot, cert, NULL);
- PK11_FreeSlot(slot);
- free(slotname);
- if(privKey) {
- secStatus = SECSuccess;
- }
- }
- else {
- privKey = PK11_FindKeyByAnyCert(cert, proto_win);
- if(privKey)
- secStatus = SECSuccess;
- }
- }
-
- if(secStatus == SECSuccess) {
- *pRetCert = cert;
- *pRetKey = privKey;
- }
- else {
- if(cert)
- CERT_DestroyCertificate(cert);
- }
-
- return secStatus;
-}
-
-/**
- * Global SSL init
- *
- * @retval 0 error initializing SSL
- * @retval 1 SSL initialized successfully
- */
-int Curl_nss_init(void)
-{
- if(!initialized)
- PR_Init(PR_USER_THREAD, PR_PRIORITY_NORMAL, 256);
-
- /* We will actually initialize NSS later */
-
- return 1;
-}
-
-/* Global cleanup */
-void Curl_nss_cleanup(void)
-{
- NSS_Shutdown();
- initialized = 0;
-}
-
-/*
- * This function uses SSL_peek to determine connection status.
- *
- * Return codes:
- * 1 means the connection is still in place
- * 0 means the connection has been closed
- * -1 means the connection status is unknown
- */
-int
-Curl_nss_check_cxn(struct connectdata *conn)
-{
- int rc;
- char buf;
-
- rc =
- PR_Recv(conn->ssl[FIRSTSOCKET].handle, (void *)&buf, 1, PR_MSG_PEEK,
- PR_SecondsToInterval(1));
- if(rc > 0)
- return 1; /* connection still in place */
-
- if(rc == 0)
- return 0; /* connection has been closed */
-
- return -1; /* connection status unknown */
-}
-
-/*
- * This function is called when an SSL connection is closed.
- */
-void Curl_nss_close(struct connectdata *conn, int sockindex)
-{
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-
- if(connssl->handle) {
- PR_Close(connssl->handle);
- if(connssl->client_nickname != NULL) {
- free(connssl->client_nickname);
- connssl->client_nickname = NULL;
- }
- connssl->handle = NULL;
- }
-}
-
-/*
- * This function is called when the 'data' struct is going away. Close
- * down everything and free all resources!
- */
-int Curl_nss_close_all(struct SessionHandle *data)
-{
- (void)data;
- return 0;
-}
-
-CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
-{
- PRInt32 err;
- PRFileDesc *model = NULL;
- PRBool ssl2, ssl3, tlsv1;
- struct SessionHandle *data = conn->data;
- curl_socket_t sockfd = conn->sock[sockindex];
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
- SECStatus rv;
-#ifdef HAVE_PK11_CREATEGENERICOBJECT
- char *configstring = NULL;
-#endif
- char *certDir = NULL;
- int curlerr;
-
- curlerr = CURLE_SSL_CONNECT_ERROR;
-
- if (connssl->state == ssl_connection_complete)
- return CURLE_OK;
-
- /* FIXME. NSS doesn't support multiple databases open at the same time. */
- if(!initialized) {
- initialized = 1;
-
- certDir = getenv("SSL_DIR"); /* Look in $SSL_DIR */
-
- if(!certDir) {
- struct stat st;
-
- if(stat(SSL_DIR, &st) == 0)
- if(S_ISDIR(st.st_mode)) {
- certDir = (char *)SSL_DIR;
- }
- }
-
- if(!certDir) {
- rv = NSS_NoDB_Init(NULL);
- }
- else {
- rv = NSS_Initialize(certDir, NULL, NULL, "secmod.db",
- NSS_INIT_READONLY);
- }
- if(rv != SECSuccess) {
- infof(conn->data, "Unable to initialize NSS database\n");
- curlerr = CURLE_SSL_CACERT_BADFILE;
- goto error;
- }
-
- NSS_SetDomesticPolicy();
-
-#ifdef HAVE_PK11_CREATEGENERICOBJECT
- configstring = (char *)malloc(PATH_MAX);
-
- PR_snprintf(configstring, PATH_MAX, "library=%s name=PEM", pem_library);
-
- mod = SECMOD_LoadUserModule(configstring, NULL, PR_FALSE);
- free(configstring);
- if(!mod || !mod->loaded) {
- if(mod) {
- SECMOD_DestroyModule(mod);
- mod = NULL;
- }
- infof(data, "WARNING: failed to load NSS PEM library %s. Using OpenSSL "
- "PEM certificates will not work.\n", pem_library);
- }
-#endif
- }
-
- model = PR_NewTCPSocket();
- if(!model)
- goto error;
- model = SSL_ImportFD(NULL, model);
-
- if(SSL_OptionSet(model, SSL_SECURITY, PR_TRUE) != SECSuccess)
- goto error;
- if(SSL_OptionSet(model, SSL_HANDSHAKE_AS_SERVER, PR_FALSE) != SECSuccess)
- goto error;
- if(SSL_OptionSet(model, SSL_HANDSHAKE_AS_CLIENT, PR_TRUE) != SECSuccess)
- goto error;
-
- ssl2 = ssl3 = tlsv1 = PR_FALSE;
-
- switch (data->set.ssl.version) {
- default:
- case CURL_SSLVERSION_DEFAULT:
- ssl3 = tlsv1 = PR_TRUE;
- break;
- case CURL_SSLVERSION_TLSv1:
- tlsv1 = PR_TRUE;
- break;
- case CURL_SSLVERSION_SSLv2:
- ssl2 = PR_TRUE;
- break;
- case CURL_SSLVERSION_SSLv3:
- ssl3 = PR_TRUE;
- break;
- }
-
- if(SSL_OptionSet(model, SSL_ENABLE_SSL2, ssl2) != SECSuccess)
- goto error;
- if(SSL_OptionSet(model, SSL_ENABLE_SSL3, ssl3) != SECSuccess)
- goto error;
- if(SSL_OptionSet(model, SSL_ENABLE_TLS, tlsv1) != SECSuccess)
- goto error;
-
- if(SSL_OptionSet(model, SSL_V2_COMPATIBLE_HELLO, ssl2) != SECSuccess)
- goto error;
-
- if(data->set.ssl.cipher_list) {
- if(set_ciphers(data, model, data->set.ssl.cipher_list) != SECSuccess) {
- curlerr = CURLE_SSL_CIPHER;
- goto error;
- }
- }
-
- data->set.ssl.certverifyresult=0; /* not checked yet */
- if(SSL_BadCertHook(model, (SSLBadCertHandler) BadCertHandler, conn)
- != SECSuccess) {
- goto error;
- }
- if(SSL_HandshakeCallback(model, (SSLHandshakeCallback) HandshakeCallback,
- NULL) != SECSuccess)
- goto error;
-
- if(!data->set.ssl.verifypeer)
- /* skip the verifying of the peer */
- ;
- else if(data->set.ssl.CAfile) {
- int rc = nss_load_cert(data->set.ssl.CAfile, PR_TRUE);
- if(!rc) {
- curlerr = CURLE_SSL_CACERT_BADFILE;
- goto error;
- }
- }
- else if(data->set.ssl.CApath) {
- struct stat st;
- PRDir *dir;
- PRDirEntry *entry;
-
- if(stat(data->set.ssl.CApath, &st) == -1) {
- curlerr = CURLE_SSL_CACERT_BADFILE;
- goto error;
- }
-
- if(S_ISDIR(st.st_mode)) {
- int rc;
-
- dir = PR_OpenDir(data->set.ssl.CApath);
- do {
- entry = PR_ReadDir(dir, PR_SKIP_BOTH | PR_SKIP_HIDDEN);
-
- if(entry) {
- char fullpath[PATH_MAX];
-
- snprintf(fullpath, sizeof(fullpath), "%s/%s", data->set.ssl.CApath,
- entry->name);
- rc = nss_load_cert(fullpath, PR_TRUE);
- /* FIXME: check this return value! */
- }
- /* This is purposefully tolerant of errors so non-PEM files
- * can be in the same directory */
- } while(entry != NULL);
- PR_CloseDir(dir);
- }
- }
- infof(data,
- " CAfile: %s\n"
- " CApath: %s\n",
- data->set.ssl.CAfile ? data->set.ssl.CAfile : "none",
- data->set.ssl.CApath ? data->set.ssl.CApath : "none");
-
- if (data->set.ssl.CRLfile) {
- int rc = nss_load_crl(data->set.ssl.CRLfile, PR_FALSE);
- if (!rc) {
- curlerr = CURLE_SSL_CRL_BADFILE;
- goto error;
- }
- infof(data,
- " CRLfile: %s\n",
- data->set.ssl.CRLfile ? data->set.ssl.CRLfile : "none");
- }
-
- if(data->set.str[STRING_CERT]) {
- char *n;
- char *nickname;
-
- nickname = (char *)malloc(PATH_MAX);
- if(is_file(data->set.str[STRING_CERT])) {
- n = strrchr(data->set.str[STRING_CERT], '/');
- if(n) {
- n++; /* skip last slash */
- snprintf(nickname, PATH_MAX, "PEM Token #%ld:%s", 1, n);
- }
- }
- else {
- strncpy(nickname, data->set.str[STRING_CERT], PATH_MAX);
- nickname[PATH_MAX-1]=0; /* make sure this is zero terminated */
- }
- if(nss_Init_Tokens(conn) != SECSuccess) {
- free(nickname);
- goto error;
- }
- if(!cert_stuff(conn, data->set.str[STRING_CERT],
- data->set.str[STRING_KEY])) {
- /* failf() is already done in cert_stuff() */
- free(nickname);
- return CURLE_SSL_CERTPROBLEM;
- }
-
- connssl->client_nickname = strdup(nickname);
- if(SSL_GetClientAuthDataHook(model,
- (SSLGetClientAuthData) SelectClientCert,
- (void *)connssl) !=
- SECSuccess) {
- curlerr = CURLE_SSL_CERTPROBLEM;
- goto error;
- }
-
- free(nickname);
-
- PK11_SetPasswordFunc(nss_no_password);
- }
- else
- connssl->client_nickname = NULL;
-
-
- /* Import our model socket onto the existing file descriptor */
- connssl->handle = PR_ImportTCPSocket(sockfd);
- connssl->handle = SSL_ImportFD(model, connssl->handle);
- if(!connssl->handle)
- goto error;
- PR_Close(model); /* We don't need this any more */
-
- /* Force handshake on next I/O */
- SSL_ResetHandshake(connssl->handle, /* asServer */ PR_FALSE);
-
- SSL_SetURL(connssl->handle, conn->host.name);
-
- /* Force the handshake now */
- if(SSL_ForceHandshakeWithTimeout(connssl->handle,
- PR_SecondsToInterval(HANDSHAKE_TIMEOUT))
- != SECSuccess) {
- if(conn->data->set.ssl.certverifyresult!=0)
- curlerr = CURLE_SSL_CACERT;
- goto error;
- }
-
- connssl->state = ssl_connection_complete;
-
- display_conn_info(conn, connssl->handle);
-
- if (data->set.str[STRING_SSL_ISSUERCERT]) {
- char *n;
- char *nickname;
- nickname = (char *)malloc(PATH_MAX);
- if(is_file(data->set.str[STRING_SSL_ISSUERCERT])) {
- n = strrchr(data->set.str[STRING_SSL_ISSUERCERT], '/');
- if (n) {
- n++; /* skip last slash */
- snprintf(nickname, PATH_MAX, "PEM Token #%ld:%s", 1, n);
- }
- }
- else {
- strncpy(nickname, data->set.str[STRING_SSL_ISSUERCERT], PATH_MAX);
- nickname[PATH_MAX-1]=0; /* make sure this is zero terminated */
- }
- if (check_issuer_cert(connssl->handle, nickname) == SECFailure) {
- infof(data,"SSL certificate issuer check failed\n");
- free(nickname);
- curlerr = CURLE_SSL_ISSUER_ERROR;
- goto error;
- }
- else {
- infof(data, "SSL certificate issuer check ok\n");
- }
- }
-
- return CURLE_OK;
-
-error:
- err = PR_GetError();
- infof(data, "NSS error %d\n", err);
- if(model)
- PR_Close(model);
- return curlerr;
-}
-
-/* return number of sent (non-SSL) bytes */
-int Curl_nss_send(struct connectdata *conn, /* connection data */
- int sockindex, /* socketindex */
- const void *mem, /* send this data */
- size_t len) /* amount to write */
-{
- PRInt32 err;
- struct SessionHandle *data = conn->data;
- PRInt32 timeout;
- int rc;
-
- if(data->set.timeout)
- timeout = PR_MillisecondsToInterval(data->set.timeout);
- else
- timeout = PR_MillisecondsToInterval(DEFAULT_CONNECT_TIMEOUT);
-
- rc = PR_Send(conn->ssl[sockindex].handle, mem, (int)len, 0, timeout);
-
- if(rc < 0) {
- err = PR_GetError();
-
- if(err == PR_IO_TIMEOUT_ERROR) {
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- failf(conn->data, "SSL write: error %d", err);
- return -1;
- }
- return rc; /* number of bytes */
-}
-
-/*
- * If the read would block we return -1 and set 'wouldblock' to TRUE.
- * Otherwise we return the amount of data read. Other errors should return -1
- * and set 'wouldblock' to FALSE.
- */
-ssize_t Curl_nss_recv(struct connectdata * conn, /* connection data */
- int num, /* socketindex */
- char *buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool * wouldblock)
-{
- ssize_t nread;
- struct SessionHandle *data = conn->data;
- PRInt32 timeout;
-
- if(data->set.timeout)
- timeout = PR_SecondsToInterval(data->set.timeout);
- else
- timeout = PR_MillisecondsToInterval(DEFAULT_CONNECT_TIMEOUT);
-
- nread = PR_Recv(conn->ssl[num].handle, buf, (int)buffersize, 0, timeout);
- *wouldblock = FALSE;
- if(nread < 0) {
- /* failed SSL read */
- PRInt32 err = PR_GetError();
-
- if(err == PR_WOULD_BLOCK_ERROR) {
- *wouldblock = TRUE;
- return -1; /* basically EWOULDBLOCK */
- }
- if(err == PR_IO_TIMEOUT_ERROR) {
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
- failf(conn->data, "SSL read: errno %d", err);
- return -1;
- }
- return nread;
-}
-
-size_t Curl_nss_version(char *buffer, size_t size)
-{
- return snprintf(buffer, size, "NSS/%s", NSS_VERSION);
-}
-#endif /* USE_NSS */
diff --git a/Utilities/cmcurl-7.19.0/lib/nssg.h b/Utilities/cmcurl-7.19.0/lib/nssg.h
deleted file mode 100644
index 183998c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/nssg.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef __NSSG_H
-#define __NSSG_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef USE_NSS
-/*
- * This header should only be needed to get included by sslgen.c and nss.c
- */
-
-#include "urldata.h"
-CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex);
-CURLcode Curl_nss_connect_nonblocking(struct connectdata *conn,
- int sockindex,
- bool *done);
-/* close a SSL connection */
-void Curl_nss_close(struct connectdata *conn, int sockindex);
-
-/* tell NSS to close down all open information regarding connections (and
- thus session ID caching etc) */
-int Curl_nss_close_all(struct SessionHandle *data);
-
-int Curl_nss_init(void);
-void Curl_nss_cleanup(void);
-
-int Curl_nss_send(struct connectdata *conn,
- int sockindex,
- const void *mem,
- size_t len);
-ssize_t Curl_nss_recv(struct connectdata *conn, /* connection data */
- int num, /* socketindex */
- char *buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool *wouldblock);
-
-size_t Curl_nss_version(char *buffer, size_t size);
-int Curl_nss_check_cxn(struct connectdata *cxn);
-int Curl_nss_seed(struct SessionHandle *data);
-
-/* API setup for NSS */
-#define curlssl_init Curl_nss_init
-#define curlssl_cleanup Curl_nss_cleanup
-#define curlssl_connect Curl_nss_connect
-
-/* NSS has its own session ID cache */
-#define curlssl_session_free(x)
-#define curlssl_close_all Curl_nss_close_all
-#define curlssl_close Curl_nss_close
-/* NSS has no shutdown function provided and thus always fail */
-#define curlssl_shutdown(x,y) (x=x, y=y, 1)
-#define curlssl_set_engine(x,y) (x=x, y=y, CURLE_FAILED_INIT)
-#define curlssl_set_engine_default(x) (x=x, CURLE_FAILED_INIT)
-#define curlssl_engines_list(x) (x=x, NULL)
-#define curlssl_send Curl_nss_send
-#define curlssl_recv Curl_nss_recv
-#define curlssl_version Curl_nss_version
-#define curlssl_check_cxn(x) Curl_nss_check_cxn(x)
-#define curlssl_data_pending(x,y) (x=x, y=y, 0)
-
-#endif /* USE_NSS */
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/nwlib.c b/Utilities/cmcurl-7.19.0/lib/nwlib.c
deleted file mode 100644
index 3a3e28e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/nwlib.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef NETWARE /* Novell NetWare */
-
-#include <stdlib.h>
-
-#ifdef __NOVELL_LIBC__
-/* For native LibC-based NLM we need to register as a real lib. */
-#include <errno.h>
-#include <string.h>
-#include <library.h>
-#include <netware.h>
-#include <screen.h>
-#include <nks/thread.h>
-#include <nks/synch.h>
-
-
-typedef struct
-{
- int _errno;
- void *twentybytes;
-} libthreaddata_t;
-
-typedef struct
-{
- int x;
- int y;
- int z;
- void *tenbytes;
- NXKey_t perthreadkey; /* if -1, no key obtained... */
- NXMutex_t *lock;
-} libdata_t;
-
-int gLibId = -1;
-void *gLibHandle = (void *) NULL;
-rtag_t gAllocTag = (rtag_t) NULL;
-NXMutex_t *gLibLock = (NXMutex_t *) NULL;
-
-/* internal library function prototypes... */
-int DisposeLibraryData ( void * );
-void DisposeThreadData ( void * );
-int GetOrSetUpData ( int id, libdata_t **data, libthreaddata_t **threaddata );
-
-
-int _NonAppStart( void *NLMHandle,
- void *errorScreen,
- const char *cmdLine,
- const char *loadDirPath,
- size_t uninitializedDataLength,
- void *NLMFileHandle,
- int (*readRoutineP)( int conn,
- void *fileHandle, size_t offset,
- size_t nbytes,
- size_t *bytesRead,
- void *buffer ),
- size_t customDataOffset,
- size_t customDataSize,
- int messageCount,
- const char **messages )
-{
- NX_LOCK_INFO_ALLOC(liblock, "Per-Application Data Lock", 0);
-
-#ifndef __GNUC__
-#pragma unused(cmdLine)
-#pragma unused(loadDirPath)
-#pragma unused(uninitializedDataLength)
-#pragma unused(NLMFileHandle)
-#pragma unused(readRoutineP)
-#pragma unused(customDataOffset)
-#pragma unused(customDataSize)
-#pragma unused(messageCount)
-#pragma unused(messages)
-#endif
-
-/*
-** Here we process our command line, post errors (to the error screen),
-** perform initializations and anything else we need to do before being able
-** to accept calls into us. If we succeed, we return non-zero and the NetWare
-** Loader will leave us up, otherwise we fail to load and get dumped.
-*/
- gAllocTag = AllocateResourceTag(NLMHandle,
- "<library-name> memory allocations",
- AllocSignature);
-
- if(!gAllocTag) {
- OutputToScreen(errorScreen, "Unable to allocate resource tag for "
- "library memory allocations.\n");
- return -1;
- }
-
- gLibId = register_library(DisposeLibraryData);
-
- if(gLibId < -1) {
- OutputToScreen(errorScreen, "Unable to register library with kernel.\n");
- return -1;
- }
-
- gLibHandle = NLMHandle;
-
- gLibLock = NXMutexAlloc(0, 0, &liblock);
-
- if(!gLibLock) {
- OutputToScreen(errorScreen, "Unable to allocate library data lock.\n");
- return -1;
- }
-
- return 0;
-}
-
-/*
-** Here we clean up any resources we allocated. Resource tags is a big part
-** of what we created, but NetWare doesn't ask us to free those.
-*/
-void _NonAppStop( void )
-{
- (void) unregister_library(gLibId);
- NXMutexFree(gLibLock);
-}
-
-/*
-** This function cannot be the first in the file for if the file is linked
-** first, then the check-unload function's offset will be nlmname.nlm+0
-** which is how to tell that there isn't one. When the check function is
-** first in the linked objects, it is ambiguous. For this reason, we will
-** put it inside this file after the stop function.
-**
-** Here we check to see if it's alright to ourselves to be unloaded. If not,
-** we return a non-zero value. Right now, there isn't any reason not to allow
-** it.
-*/
-int _NonAppCheckUnload( void )
-{
- return 0;
-}
-
-int GetOrSetUpData(int id, libdata_t **appData,
- libthreaddata_t **threadData )
-{
- int err;
- libdata_t *app_data;
- libthreaddata_t *thread_data;
- NXKey_t key;
- NX_LOCK_INFO_ALLOC(liblock, "Application Data Lock", 0);
-
- err = 0;
- thread_data = (libthreaddata_t *) NULL;
-
-/*
-** Attempt to get our data for the application calling us. This is where we
-** store whatever application-specific information we need to carry in support
-** of calling applications.
-*/
- app_data = (libdata_t *) get_app_data(id);
-
- if(!app_data) {
-/*
-** This application hasn't called us before; set up application AND per-thread
-** data. Of course, just in case a thread from this same application is calling
-** us simultaneously, we better lock our application data-creation mutex. We
-** also need to recheck for data after we acquire the lock because WE might be
-** that other thread that was too late to create the data and the first thread
-** in will have created it.
-*/
- NXLock(gLibLock);
-
- if(!(app_data = (libdata_t *) get_app_data(id))) {
- app_data = (libdata_t *) malloc(sizeof(libdata_t));
-
- if(app_data) {
- memset(app_data, 0, sizeof(libdata_t));
-
- app_data->tenbytes = malloc(10);
- app_data->lock = NXMutexAlloc(0, 0, &liblock);
-
- if(!app_data->tenbytes || !app_data->lock) {
- if(app_data->lock)
- NXMutexFree(app_data->lock);
-
- free(app_data);
- app_data = (libdata_t *) NULL;
- err = ENOMEM;
- }
-
- if(app_data) {
-/*
-** Here we burn in the application data that we were trying to get by calling
-** get_app_data(). Next time we call the first function, we'll get this data
-** we're just now setting. We also go on here to establish the per-thread data
-** for the calling thread, something we'll have to do on each application
-** thread the first time it calls us.
-*/
- err = set_app_data(gLibId, app_data);
-
- if(err) {
- free(app_data);
- app_data = (libdata_t *) NULL;
- err = ENOMEM;
- }
- else {
- /* create key for thread-specific data... */
- err = NXKeyCreate(DisposeThreadData, (void *) NULL, &key);
-
- if(err) /* (no more keys left?) */
- key = -1;
-
- app_data->perthreadkey = key;
- }
- }
- }
- }
-
- NXUnlock(gLibLock);
- }
-
- if(app_data) {
- key = app_data->perthreadkey;
-
- if(key != -1 /* couldn't create a key? no thread data */
- && !(err = NXKeyGetValue(key, (void **) &thread_data))
- && !thread_data) {
-/*
-** Allocate the per-thread data for the calling thread. Regardless of whether
-** there was already application data or not, this may be the first call by a
-** a new thread. The fact that we allocation 20 bytes on a pointer is not very
-** important, this just helps to demonstrate that we can have arbitrarily
-** complex per-thread data.
-*/
- thread_data = (libthreaddata_t *) malloc(sizeof(libthreaddata_t));
-
- if(thread_data) {
- thread_data->_errno = 0;
- thread_data->twentybytes = malloc(20);
-
- if(!thread_data->twentybytes) {
- free(thread_data);
- thread_data = (libthreaddata_t *) NULL;
- err = ENOMEM;
- }
-
- if((err = NXKeySetValue(key, thread_data))) {
- free(thread_data->twentybytes);
- free(thread_data);
- thread_data = (libthreaddata_t *) NULL;
- }
- }
- }
- }
-
- if(appData)
- *appData = app_data;
-
- if(threadData)
- *threadData = thread_data;
-
- return err;
-}
-
-int DisposeLibraryData( void *data )
-{
- if(data) {
- void *tenbytes = ((libdata_t *) data)->tenbytes;
-
- if(tenbytes)
- free(tenbytes);
-
- free(data);
- }
-
- return 0;
-}
-
-void DisposeThreadData( void *data )
-{
- if(data) {
- void *twentybytes = ((libthreaddata_t *) data)->twentybytes;
-
- if(twentybytes)
- free(twentybytes);
-
- free(data);
- }
-}
-
-#else /* __NOVELL_LIBC__ */
-/* For native CLib-based NLM seems we can do a bit more simple. */
-#include <nwthread.h>
-
-int main ( void )
-{
- /* initialize any globals here... */
-
- /* do this if any global initializing was done
- SynchronizeStart();
- */
- ExitThread (TSR_THREAD, 0);
- return 0;
-}
-
-#endif /* __NOVELL_LIBC__ */
-
-#endif /* NETWARE */
diff --git a/Utilities/cmcurl-7.19.0/lib/nwos.c b/Utilities/cmcurl-7.19.0/lib/nwos.c
deleted file mode 100644
index d9bfcf1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/nwos.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef NETWARE /* Novell NetWare */
-
-#include <stdlib.h>
-
-#ifdef __NOVELL_LIBC__
-/* For native LibC-based NLM we need to do nothing. */
-int netware_init ( void )
-{
- return 0;
-}
-
-#else /* __NOVELL_LIBC__ */
-
-/* For native CLib-based NLM we need to initialize the LONG namespace. */
-#include <stdio.h>
-#include <nwnspace.h>
-#include <nwthread.h>
-#include <nwadv.h>
-/* Make the CLIB Ctx stuff link */
-#include <netdb.h>
-NETDB_DEFINE_CONTEXT
-/* Make the CLIB Inet stuff link */
-#include <netinet/in.h>
-#include <arpa/inet.h>
-NETINET_DEFINE_CONTEXT
-
-int netware_init ( void )
-{
- int rc = 0;
- unsigned int myHandle = GetNLMHandle();
- /* import UnAugmentAsterisk dynamically for NW4.x compatibility */
- void (*pUnAugmentAsterisk)(int) = (void(*)(int))
- ImportSymbol(myHandle, "UnAugmentAsterisk");
- /* import UseAccurateCaseForPaths dynamically for NW3.x compatibility */
- void (*pUseAccurateCaseForPaths)(int) = (void(*)(int))
- ImportSymbol(myHandle, "UseAccurateCaseForPaths");
- if(pUnAugmentAsterisk)
- pUnAugmentAsterisk(1);
- if(pUseAccurateCaseForPaths)
- pUseAccurateCaseForPaths(1);
- UnimportSymbol(myHandle, "UnAugmentAsterisk");
- UnimportSymbol(myHandle, "UseAccurateCaseForPaths");
- /* set long name space */
- if((SetCurrentNameSpace(4) == 255)) {
- rc = 1;
- }
- if((SetTargetNameSpace(4) == 255)) {
- rc = rc + 2;
- }
- return rc;
-}
-
-/* dummy function to satisfy newer prelude */
-int __init_environment ( void )
-{
- return 0;
-}
-
-/* dummy function to satisfy newer prelude */
-int __deinit_environment ( void )
-{
- return 0;
-}
-
-#endif /* __NOVELL_LIBC__ */
-
-#endif /* NETWARE */
-
-
diff --git a/Utilities/cmcurl-7.19.0/lib/parsedate.c b/Utilities/cmcurl-7.19.0/lib/parsedate.c
deleted file mode 100644
index d1d8d58..0000000
--- a/Utilities/cmcurl-7.19.0/lib/parsedate.c
+++ /dev/null
@@ -1,429 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-/*
- A brief summary of the date string formats this parser groks:
-
- RFC 2616 3.3.1
-
- Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
- Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
- Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
-
- we support dates without week day name:
-
- 06 Nov 1994 08:49:37 GMT
- 06-Nov-94 08:49:37 GMT
- Nov 6 08:49:37 1994
-
- without the time zone:
-
- 06 Nov 1994 08:49:37
- 06-Nov-94 08:49:37
-
- weird order:
-
- 1994 Nov 6 08:49:37 (GNU date fails)
- GMT 08:49:37 06-Nov-94 Sunday
- 94 6 Nov 08:49:37 (GNU date fails)
-
- time left out:
-
- 1994 Nov 6
- 06-Nov-94
- Sun Nov 6 94
-
- unusual separators:
-
- 1994.Nov.6
- Sun/Nov/6/94/GMT
-
- commonly used time zone names:
-
- Sun, 06 Nov 1994 08:49:37 CET
- 06 Nov 1994 08:49:37 EST
-
- time zones specified using RFC822 style:
-
- Sun, 12 Sep 2004 15:05:58 -0700
- Sat, 11 Sep 2004 21:32:11 +0200
-
- compact numerical date strings:
-
- 20040912 15:05:58 -0700
- 20040911 +0200
-
-*/
-#include "setup.h"
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h> /* for strtol() */
-#endif
-
-#include <curl/curl.h>
-
-const char * const Curl_wkday[] =
-{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
-static const char * const weekday[] =
-{ "Monday", "Tuesday", "Wednesday", "Thursday",
- "Friday", "Saturday", "Sunday" };
-const char * const Curl_month[]=
-{ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
-
-struct tzinfo {
- const char *name;
- int offset; /* +/- in minutes */
-};
-
-/* Here's a bunch of frequently used time zone names. These were supported
- by the old getdate parser. */
-#define tDAYZONE -60 /* offset for daylight savings time */
-static const struct tzinfo tz[]= {
- {"GMT", 0}, /* Greenwich Mean */
- {"UTC", 0}, /* Universal (Coordinated) */
- {"WET", 0}, /* Western European */
- {"BST", 0 tDAYZONE}, /* British Summer */
- {"WAT", 60}, /* West Africa */
- {"AST", 240}, /* Atlantic Standard */
- {"ADT", 240 tDAYZONE}, /* Atlantic Daylight */
- {"EST", 300}, /* Eastern Standard */
- {"EDT", 300 tDAYZONE}, /* Eastern Daylight */
- {"CST", 360}, /* Central Standard */
- {"CDT", 360 tDAYZONE}, /* Central Daylight */
- {"MST", 420}, /* Mountain Standard */
- {"MDT", 420 tDAYZONE}, /* Mountain Daylight */
- {"PST", 480}, /* Pacific Standard */
- {"PDT", 480 tDAYZONE}, /* Pacific Daylight */
- {"YST", 540}, /* Yukon Standard */
- {"YDT", 540 tDAYZONE}, /* Yukon Daylight */
- {"HST", 600}, /* Hawaii Standard */
- {"HDT", 600 tDAYZONE}, /* Hawaii Daylight */
- {"CAT", 600}, /* Central Alaska */
- {"AHST", 600}, /* Alaska-Hawaii Standard */
- {"NT", 660}, /* Nome */
- {"IDLW", 720}, /* International Date Line West */
- {"CET", -60}, /* Central European */
- {"MET", -60}, /* Middle European */
- {"MEWT", -60}, /* Middle European Winter */
- {"MEST", -60 tDAYZONE}, /* Middle European Summer */
- {"CEST", -60 tDAYZONE}, /* Central European Summer */
- {"MESZ", -60 tDAYZONE}, /* Middle European Summer */
- {"FWT", -60}, /* French Winter */
- {"FST", -60 tDAYZONE}, /* French Summer */
- {"EET", -120}, /* Eastern Europe, USSR Zone 1 */
- {"WAST", -420}, /* West Australian Standard */
- {"WADT", -420 tDAYZONE}, /* West Australian Daylight */
- {"CCT", -480}, /* China Coast, USSR Zone 7 */
- {"JST", -540}, /* Japan Standard, USSR Zone 8 */
- {"EAST", -600}, /* Eastern Australian Standard */
- {"EADT", -600 tDAYZONE}, /* Eastern Australian Daylight */
- {"GST", -600}, /* Guam Standard, USSR Zone 9 */
- {"NZT", -720}, /* New Zealand */
- {"NZST", -720}, /* New Zealand Standard */
- {"NZDT", -720 tDAYZONE}, /* New Zealand Daylight */
- {"IDLE", -720}, /* International Date Line East */
-};
-
-/* returns:
- -1 no day
- 0 monday - 6 sunday
-*/
-
-static int checkday(const char *check, size_t len)
-{
- int i;
- const char * const *what;
- bool found= FALSE;
- if(len > 3)
- what = &weekday[0];
- else
- what = &Curl_wkday[0];
- for(i=0; i<7; i++) {
- if(curl_strequal(check, what[0])) {
- found=TRUE;
- break;
- }
- what++;
- }
- return found?i:-1;
-}
-
-static int checkmonth(const char *check)
-{
- int i;
- const char * const *what;
- bool found= FALSE;
-
- what = &Curl_month[0];
- for(i=0; i<12; i++) {
- if(curl_strequal(check, what[0])) {
- found=TRUE;
- break;
- }
- what++;
- }
- return found?i:-1; /* return the offset or -1, no real offset is -1 */
-}
-
-/* return the time zone offset between GMT and the input one, in number
- of seconds or -1 if the timezone wasn't found/legal */
-
-static int checktz(const char *check)
-{
- unsigned int i;
- const struct tzinfo *what;
- bool found= FALSE;
-
- what = tz;
- for(i=0; i< sizeof(tz)/sizeof(tz[0]); i++) {
- if(curl_strequal(check, what->name)) {
- found=TRUE;
- break;
- }
- what++;
- }
- return found?what->offset*60:-1;
-}
-
-static void skip(const char **date)
-{
- /* skip everything that aren't letters or digits */
- while(**date && !ISALNUM(**date))
- (*date)++;
-}
-
-enum assume {
- DATE_MDAY,
- DATE_YEAR,
- DATE_TIME
-};
-
-static time_t parsedate(const char *date)
-{
- time_t t = 0;
- int wdaynum=-1; /* day of the week number, 0-6 (mon-sun) */
- int monnum=-1; /* month of the year number, 0-11 */
- int mdaynum=-1; /* day of month, 1 - 31 */
- int hournum=-1;
- int minnum=-1;
- int secnum=-1;
- int yearnum=-1;
- int tzoff=-1;
- struct tm tm;
- enum assume dignext = DATE_MDAY;
- const char *indate = date; /* save the original pointer */
- int part = 0; /* max 6 parts */
-
- while(*date && (part < 6)) {
- bool found=FALSE;
-
- skip(&date);
-
- if(ISALPHA(*date)) {
- /* a name coming up */
- char buf[32]="";
- size_t len;
- sscanf(date, "%31[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]", buf);
- len = strlen(buf);
-
- if(wdaynum == -1) {
- wdaynum = checkday(buf, len);
- if(wdaynum != -1)
- found = TRUE;
- }
- if(!found && (monnum == -1)) {
- monnum = checkmonth(buf);
- if(monnum != -1)
- found = TRUE;
- }
-
- if(!found && (tzoff == -1)) {
- /* this just must be a time zone string */
- tzoff = checktz(buf);
- if(tzoff != -1)
- found = TRUE;
- }
-
- if(!found)
- return -1; /* bad string */
-
- date += len;
- }
- else if(ISDIGIT(*date)) {
- /* a digit */
- int val;
- char *end;
- if((secnum == -1) &&
- (3 == sscanf(date, "%02d:%02d:%02d", &hournum, &minnum, &secnum))) {
- /* time stamp! */
- date += 8;
- found = TRUE;
- }
- else {
- val = (int)strtol(date, &end, 10);
-
- if((tzoff == -1) &&
- ((end - date) == 4) &&
- (val <= 1400) &&
- (indate< date) &&
- ((date[-1] == '+' || date[-1] == '-'))) {
- /* four digits and a value less than or equal to 1400 (to take into
- account all sorts of funny time zone diffs) and it is preceeded
- with a plus or minus. This is a time zone indication. 1400 is
- picked since +1300 is frequently used and +1400 is mentioned as
- an edge number in the document "ISO C 200X Proposal: Timezone
- Functions" at http://david.tribble.com/text/c0xtimezone.html If
- anyone has a more authoritative source for the exact maximum time
- zone offsets, please speak up! */
- found = TRUE;
- tzoff = (val/100 * 60 + val%100)*60;
-
- /* the + and - prefix indicates the local time compared to GMT,
- this we need ther reversed math to get what we want */
- tzoff = date[-1]=='+'?-tzoff:tzoff;
- }
-
- if(((end - date) == 8) &&
- (yearnum == -1) &&
- (monnum == -1) &&
- (mdaynum == -1)) {
- /* 8 digits, no year, month or day yet. This is YYYYMMDD */
- found = TRUE;
- yearnum = val/10000;
- monnum = (val%10000)/100-1; /* month is 0 - 11 */
- mdaynum = val%100;
- }
-
- if(!found && (dignext == DATE_MDAY) && (mdaynum == -1)) {
- if((val > 0) && (val<32)) {
- mdaynum = val;
- found = TRUE;
- }
- dignext = DATE_YEAR;
- }
-
- if(!found && (dignext == DATE_YEAR) && (yearnum == -1)) {
- yearnum = val;
- found = TRUE;
- if(yearnum < 1900) {
- if(yearnum > 70)
- yearnum += 1900;
- else
- yearnum += 2000;
- }
- if(mdaynum == -1)
- dignext = DATE_MDAY;
- }
-
- if(!found)
- return -1;
-
- date = end;
- }
- }
-
- part++;
- }
-
- if(-1 == secnum)
- secnum = minnum = hournum = 0; /* no time, make it zero */
-
- if((-1 == mdaynum) ||
- (-1 == monnum) ||
- (-1 == yearnum))
- /* lacks vital info, fail */
- return -1;
-
-#if SIZEOF_TIME_T < 5
- /* 32 bit time_t can only hold dates to the beginning of 2038 */
- if(yearnum > 2037)
- return 0x7fffffff;
-#endif
-
- tm.tm_sec = secnum;
- tm.tm_min = minnum;
- tm.tm_hour = hournum;
- tm.tm_mday = mdaynum;
- tm.tm_mon = monnum;
- tm.tm_year = yearnum - 1900;
- tm.tm_wday = 0;
- tm.tm_yday = 0;
- tm.tm_isdst = 0;
-
- /* mktime() returns a time_t. time_t is often 32 bits, even on many
- architectures that feature 64 bit 'long'.
-
- Some systems have 64 bit time_t and deal with years beyond 2038. However,
- even some of the systems with 64 bit time_t returns -1 for dates beyond
- 03:14:07 UTC, January 19, 2038. (Such as AIX 5100-06)
- */
- t = mktime(&tm);
-
- /* time zone adjust (cast t to int to compare to negative one) */
- if(-1 != (int)t) {
- struct tm *gmt;
- long delta;
- time_t t2;
-
-#ifdef HAVE_GMTIME_R
- /* thread-safe version */
- struct tm keeptime2;
- gmt = (struct tm *)gmtime_r(&t, &keeptime2);
- if(!gmt)
- return -1; /* illegal date/time */
- t2 = mktime(gmt);
-#else
- /* It seems that at least the MSVC version of mktime() doesn't work
- properly if it gets the 'gmt' pointer passed in (which is a pointer
- returned from gmtime() pointing to static memory), so instead we copy
- the tm struct to a local struct and pass a pointer to that struct as
- input to mktime(). */
- struct tm gmt2;
- gmt = gmtime(&t); /* use gmtime_r() if available */
- if(!gmt)
- return -1; /* illegal date/time */
- gmt2 = *gmt;
- t2 = mktime(&gmt2);
-#endif
-
- /* Add the time zone diff (between the given timezone and GMT) and the
- diff between the local time zone and GMT. */
- delta = (long)((tzoff!=-1?tzoff:0) + (t - t2));
-
- if((delta>0) && (t + delta < t))
- return -1; /* time_t overflow */
-
- t += delta;
- }
-
- return t;
-}
-
-time_t curl_getdate(const char *p, const time_t *now)
-{
- (void)now;
- return parsedate(p);
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/parsedate.h b/Utilities/cmcurl-7.19.0/lib/parsedate.h
deleted file mode 100644
index 3e502b9..0000000
--- a/Utilities/cmcurl-7.19.0/lib/parsedate.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __CURL_PARSEDATE_H
-#define __CURL_PARSEDATE_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-extern const char * const Curl_wkday[7];
-extern const char * const Curl_month[12];
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/progress.c b/Utilities/cmcurl-7.19.0/lib/progress.c
deleted file mode 100644
index 1c997e0..0000000
--- a/Utilities/cmcurl-7.19.0/lib/progress.c
+++ /dev/null
@@ -1,433 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "urldata.h"
-#include "sendf.h"
-#include "progress.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* Provide a string that is 2 + 1 + 2 + 1 + 2 = 8 letters long (plus the zero
- byte) */
-static void time2str(char *r, long t)
-{
- long h;
- if(!t) {
- strcpy(r, "--:--:--");
- return;
- }
- h = (t/3600);
- if(h <= 99) {
- long m = (t-(h*3600))/60;
- long s = (t-(h*3600)-(m*60));
- snprintf(r, 9, "%2ld:%02ld:%02ld",h,m,s);
- }
- else {
- /* this equals to more than 99 hours, switch to a more suitable output
- format to fit within the limits. */
- if(h/24 <= 999)
- snprintf(r, 9, "%3ldd %02ldh", h/24, h-(h/24)*24);
- else
- snprintf(r, 9, "%7ldd", h/24);
- }
-}
-
-/* The point of this function would be to return a string of the input data,
- but never longer than 5 columns (+ one zero byte).
- Add suffix k, M, G when suitable... */
-static char *max5data(curl_off_t bytes, char *max5)
-{
-#define ONE_KILOBYTE CURL_OFF_T_C(1024)
-#define ONE_MEGABYTE (CURL_OFF_T_C(1024) * ONE_KILOBYTE)
-#define ONE_GIGABYTE (CURL_OFF_T_C(1024) * ONE_MEGABYTE)
-#define ONE_TERABYTE (CURL_OFF_T_C(1024) * ONE_GIGABYTE)
-#define ONE_PETABYTE (CURL_OFF_T_C(1024) * ONE_TERABYTE)
-
- if(bytes < CURL_OFF_T_C(100000))
- snprintf(max5, 6, "%5" FORMAT_OFF_T, bytes);
-
- else if(bytes < CURL_OFF_T_C(10000) * ONE_KILOBYTE)
- snprintf(max5, 6, "%4" FORMAT_OFF_T "k", bytes/ONE_KILOBYTE);
-
- else if(bytes < CURL_OFF_T_C(100) * ONE_MEGABYTE)
- /* 'XX.XM' is good as long as we're less than 100 megs */
- snprintf(max5, 6, "%2" FORMAT_OFF_T ".%0" FORMAT_OFF_T "M",
- bytes/ONE_MEGABYTE,
- (bytes%ONE_MEGABYTE) / (ONE_MEGABYTE/CURL_OFF_T_C(10)) );
-
-#if (CURL_SIZEOF_CURL_OFF_T > 4)
-
- else if(bytes < CURL_OFF_T_C(10000) * ONE_MEGABYTE)
- /* 'XXXXM' is good until we're at 10000MB or above */
- snprintf(max5, 6, "%4" FORMAT_OFF_T "M", bytes/ONE_MEGABYTE);
-
- else if(bytes < CURL_OFF_T_C(100) * ONE_GIGABYTE)
- /* 10000 MB - 100 GB, we show it as XX.XG */
- snprintf(max5, 6, "%2" FORMAT_OFF_T ".%0" FORMAT_OFF_T "G",
- bytes/ONE_GIGABYTE,
- (bytes%ONE_GIGABYTE) / (ONE_GIGABYTE/CURL_OFF_T_C(10)) );
-
- else if(bytes < CURL_OFF_T_C(10000) * ONE_GIGABYTE)
- /* up to 10000GB, display without decimal: XXXXG */
- snprintf(max5, 6, "%4" FORMAT_OFF_T "G", bytes/ONE_GIGABYTE);
-
- else if(bytes < CURL_OFF_T_C(10000) * ONE_TERABYTE)
- /* up to 10000TB, display without decimal: XXXXT */
- snprintf(max5, 6, "%4" FORMAT_OFF_T "T", bytes/ONE_TERABYTE);
-
- else
- /* up to 10000PB, display without decimal: XXXXP */
- snprintf(max5, 6, "%4" FORMAT_OFF_T "P", bytes/ONE_PETABYTE);
-
- /* 16384 petabytes (16 exabytes) is the maximum a 64 bit unsigned number
- can hold, but our data type is signed so 8192PB will be the maximum. */
-
-#else
-
- else
- snprintf(max5, 6, "%4" FORMAT_OFF_T "M", bytes/ONE_MEGABYTE);
-
-#endif
-
- return max5;
-}
-
-/*
-
- New proposed interface, 9th of February 2000:
-
- pgrsStartNow() - sets start time
- pgrsSetDownloadSize(x) - known expected download size
- pgrsSetUploadSize(x) - known expected upload size
- pgrsSetDownloadCounter() - amount of data currently downloaded
- pgrsSetUploadCounter() - amount of data currently uploaded
- pgrsUpdate() - show progress
- pgrsDone() - transfer complete
-
-*/
-
-void Curl_pgrsDone(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- data->progress.lastshow=0;
- Curl_pgrsUpdate(conn); /* the final (forced) update */
-
- data->progress.speeder_c = 0; /* reset the progress meter display */
-}
-
-/* reset all times except redirect */
-void Curl_pgrsResetTimes(struct SessionHandle *data)
-{
- data->progress.t_nslookup = 0.0;
- data->progress.t_connect = 0.0;
- data->progress.t_pretransfer = 0.0;
- data->progress.t_starttransfer = 0.0;
-}
-
-void Curl_pgrsTime(struct SessionHandle *data, timerid timer)
-{
- switch(timer) {
- default:
- case TIMER_NONE:
- /* mistake filter */
- break;
- case TIMER_STARTSINGLE:
- /* This is set at the start of a single fetch */
- data->progress.t_startsingle = Curl_tvnow();
- break;
-
- case TIMER_NAMELOOKUP:
- data->progress.t_nslookup =
- Curl_tvdiff_secs(Curl_tvnow(), data->progress.t_startsingle);
- break;
- case TIMER_CONNECT:
- data->progress.t_connect =
- Curl_tvdiff_secs(Curl_tvnow(), data->progress.t_startsingle);
- break;
- case TIMER_APPCONNECT:
- data->progress.t_appconnect =
- Curl_tvdiff_secs(Curl_tvnow(), data->progress.t_startsingle);
- break;
- case TIMER_PRETRANSFER:
- data->progress.t_pretransfer =
- Curl_tvdiff_secs(Curl_tvnow(), data->progress.t_startsingle);
- break;
- case TIMER_STARTTRANSFER:
- data->progress.t_starttransfer =
- Curl_tvdiff_secs(Curl_tvnow(), data->progress.t_startsingle);
- break;
- case TIMER_POSTRANSFER:
- /* this is the normal end-of-transfer thing */
- break;
- case TIMER_REDIRECT:
- data->progress.t_redirect =
- Curl_tvdiff_secs(Curl_tvnow(), data->progress.start);
- break;
- }
-}
-
-void Curl_pgrsStartNow(struct SessionHandle *data)
-{
- data->progress.speeder_c = 0; /* reset the progress meter display */
- data->progress.start = Curl_tvnow();
-}
-
-void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, curl_off_t size)
-{
- data->progress.downloaded = size;
-}
-
-void Curl_pgrsSetUploadCounter(struct SessionHandle *data, curl_off_t size)
-{
- data->progress.uploaded = size;
-}
-
-void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size)
-{
- data->progress.size_dl = size;
- if(size > 0)
- data->progress.flags |= PGRS_DL_SIZE_KNOWN;
- else
- data->progress.flags &= ~PGRS_DL_SIZE_KNOWN;
-}
-
-void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size)
-{
- data->progress.size_ul = size;
- if(size > 0)
- data->progress.flags |= PGRS_UL_SIZE_KNOWN;
- else
- data->progress.flags &= ~PGRS_UL_SIZE_KNOWN;
-}
-
-int Curl_pgrsUpdate(struct connectdata *conn)
-{
- struct timeval now;
- int result;
- char max5[6][10];
- int dlpercen=0;
- int ulpercen=0;
- int total_percen=0;
- curl_off_t total_transfer;
- curl_off_t total_expected_transfer;
- long timespent;
- struct SessionHandle *data = conn->data;
- int nowindex = data->progress.speeder_c% CURR_TIME;
- int checkindex;
- int countindex; /* amount of seconds stored in the speeder array */
- char time_left[10];
- char time_total[10];
- char time_spent[10];
- long ulestimate=0;
- long dlestimate=0;
- long total_estimate;
- bool shownow=FALSE;
-
- now = Curl_tvnow(); /* what time is it */
-
- /* The time spent so far (from the start) */
- data->progress.timespent =
- (double)(now.tv_sec - data->progress.start.tv_sec) +
- (double)(now.tv_usec - data->progress.start.tv_usec)/1000000.0;
- timespent = (long)data->progress.timespent;
-
- /* The average download speed this far */
- data->progress.dlspeed = (curl_off_t)
- ((double)data->progress.downloaded/
- (data->progress.timespent>0?data->progress.timespent:1));
-
- /* The average upload speed this far */
- data->progress.ulspeed = (curl_off_t)
- ((double)data->progress.uploaded/
- (data->progress.timespent>0?data->progress.timespent:1));
-
- /* Calculations done at most once a second, unless end is reached */
- if(data->progress.lastshow != (long)now.tv_sec) {
- shownow = TRUE;
-
- data->progress.lastshow = now.tv_sec;
-
- /* Let's do the "current speed" thing, which should use the fastest
- of the dl/ul speeds. Store the faster speed at entry 'nowindex'. */
- data->progress.speeder[ nowindex ] =
- data->progress.downloaded>data->progress.uploaded?
- data->progress.downloaded:data->progress.uploaded;
-
- /* remember the exact time for this moment */
- data->progress.speeder_time [ nowindex ] = now;
-
- /* advance our speeder_c counter, which is increased every time we get
- here and we expect it to never wrap as 2^32 is a lot of seconds! */
- data->progress.speeder_c++;
-
- /* figure out how many index entries of data we have stored in our speeder
- array. With N_ENTRIES filled in, we have about N_ENTRIES-1 seconds of
- transfer. Imagine, after one second we have filled in two entries,
- after two seconds we've filled in three entries etc. */
- countindex = ((data->progress.speeder_c>=CURR_TIME)?
- CURR_TIME:data->progress.speeder_c) - 1;
-
- /* first of all, we don't do this if there's no counted seconds yet */
- if(countindex) {
- long span_ms;
-
- /* Get the index position to compare with the 'nowindex' position.
- Get the oldest entry possible. While we have less than CURR_TIME
- entries, the first entry will remain the oldest. */
- checkindex = (data->progress.speeder_c>=CURR_TIME)?
- data->progress.speeder_c%CURR_TIME:0;
-
- /* Figure out the exact time for the time span */
- span_ms = Curl_tvdiff(now,
- data->progress.speeder_time[checkindex]);
- if(0 == span_ms)
- span_ms=1; /* at least one millisecond MUST have passed */
-
- /* Calculate the average speed the last 'span_ms' milliseconds */
- {
- curl_off_t amount = data->progress.speeder[nowindex]-
- data->progress.speeder[checkindex];
-
- if(amount > CURL_OFF_T_C(4294967) /* 0xffffffff/1000 */)
- /* the 'amount' value is bigger than would fit in 32 bits if
- multiplied with 1000, so we use the double math for this */
- data->progress.current_speed = (curl_off_t)
- ((double)amount/((double)span_ms/1000.0));
- else
- /* the 'amount' value is small enough to fit within 32 bits even
- when multiplied with 1000 */
- data->progress.current_speed = amount*CURL_OFF_T_C(1000)/span_ms;
- }
- }
- else
- /* the first second we use the main average */
- data->progress.current_speed =
- (data->progress.ulspeed>data->progress.dlspeed)?
- data->progress.ulspeed:data->progress.dlspeed;
-
- } /* Calculations end */
-
- if(!(data->progress.flags & PGRS_HIDE)) {
-
- /* progress meter has not been shut off */
-
- if(data->set.fprogress) {
- /* There's a callback set, so we call that instead of writing
- anything ourselves. This really is the way to go. */
- result= data->set.fprogress(data->set.progress_client,
- (double)data->progress.size_dl,
- (double)data->progress.downloaded,
- (double)data->progress.size_ul,
- (double)data->progress.uploaded);
- if(result)
- failf(data, "Callback aborted");
- return result;
- }
-
- if(!shownow)
- /* only show the internal progress meter once per second */
- return 0;
-
- /* If there's no external callback set, use internal code to show
- progress */
-
- if(!(data->progress.flags & PGRS_HEADERS_OUT)) {
- if(data->state.resume_from) {
- fprintf(data->set.err,
- "** Resuming transfer from byte position %" FORMAT_OFF_T "\n",
- data->state.resume_from);
- }
- fprintf(data->set.err,
- " %% Total %% Received %% Xferd Average Speed Time Time Time Current\n"
- " Dload Upload Total Spent Left Speed\n");
- data->progress.flags |= PGRS_HEADERS_OUT; /* headers are shown */
- }
-
- /* Figure out the estimated time of arrival for the upload */
- if((data->progress.flags & PGRS_UL_SIZE_KNOWN) &&
- (data->progress.ulspeed>0) &&
- (data->progress.size_ul > 100) ) {
- ulestimate = (long)(data->progress.size_ul / data->progress.ulspeed);
- ulpercen = (int)(100*(data->progress.uploaded/100) /
- (data->progress.size_ul/100) );
- }
-
- /* ... and the download */
- if((data->progress.flags & PGRS_DL_SIZE_KNOWN) &&
- (data->progress.dlspeed>0) &&
- (data->progress.size_dl>100)) {
- dlestimate = (long)(data->progress.size_dl / data->progress.dlspeed);
- dlpercen = (int)(100*(data->progress.downloaded/100) /
- (data->progress.size_dl/100));
- }
-
- /* Now figure out which of them is slower and use that one for the
- total estimate! */
- total_estimate = ulestimate>dlestimate?ulestimate:dlestimate;
-
- /* create the three time strings */
- time2str(time_left, total_estimate > 0?(total_estimate - timespent):0);
- time2str(time_total, total_estimate);
- time2str(time_spent, timespent);
-
- /* Get the total amount of data expected to get transfered */
- total_expected_transfer =
- (data->progress.flags & PGRS_UL_SIZE_KNOWN?
- data->progress.size_ul:data->progress.uploaded)+
- (data->progress.flags & PGRS_DL_SIZE_KNOWN?
- data->progress.size_dl:data->progress.downloaded);
-
- /* We have transfered this much so far */
- total_transfer = data->progress.downloaded + data->progress.uploaded;
-
- /* Get the percentage of data transfered so far */
- if(total_expected_transfer > 100)
- total_percen=(int)(100*(total_transfer/100) /
- (total_expected_transfer/100) );
-
- fprintf(data->set.err,
- "\r%3d %s %3d %s %3d %s %s %s %s %s %s %s",
- total_percen, /* 3 letters */ /* total % */
- max5data(total_expected_transfer, max5[2]), /* total size */
- dlpercen, /* 3 letters */ /* rcvd % */
- max5data(data->progress.downloaded, max5[0]), /* rcvd size */
- ulpercen, /* 3 letters */ /* xfer % */
- max5data(data->progress.uploaded, max5[1]), /* xfer size */
- max5data(data->progress.dlspeed, max5[3]), /* avrg dl speed */
- max5data(data->progress.ulspeed, max5[4]), /* avrg ul speed */
- time_total, /* 8 letters */ /* total time */
- time_spent, /* 8 letters */ /* time spent */
- time_left, /* 8 letters */ /* time left */
- max5data(data->progress.current_speed, max5[5]) /* current speed */
- );
-
- /* we flush the output stream to make it appear as soon as possible */
- fflush(data->set.err);
-
- } /* !(data->progress.flags & PGRS_HIDE) */
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/progress.h b/Utilities/cmcurl-7.19.0/lib/progress.h
deleted file mode 100644
index 15a45cc..0000000
--- a/Utilities/cmcurl-7.19.0/lib/progress.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef __PROGRESS_H
-#define __PROGRESS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "timeval.h"
-
-
-typedef enum {
- TIMER_NONE,
- TIMER_NAMELOOKUP,
- TIMER_CONNECT,
- TIMER_APPCONNECT,
- TIMER_PRETRANSFER,
- TIMER_STARTTRANSFER,
- TIMER_POSTRANSFER,
- TIMER_STARTSINGLE,
- TIMER_REDIRECT,
- TIMER_LAST /* must be last */
-} timerid;
-
-void Curl_pgrsDone(struct connectdata *);
-void Curl_pgrsStartNow(struct SessionHandle *data);
-void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size);
-void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size);
-void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, curl_off_t size);
-void Curl_pgrsSetUploadCounter(struct SessionHandle *data, curl_off_t size);
-int Curl_pgrsUpdate(struct connectdata *);
-void Curl_pgrsResetTimes(struct SessionHandle *data);
-void Curl_pgrsTime(struct SessionHandle *data, timerid timer);
-
-
-/* Don't show progress for sizes smaller than: */
-#define LEAST_SIZE_PROGRESS BUFSIZE
-
-#define PROGRESS_DOWNLOAD (1<<0)
-#define PROGRESS_UPLOAD (1<<1)
-#define PROGRESS_DOWN_AND_UP (PROGRESS_UPLOAD | PROGRESS_DOWNLOAD)
-
-#define PGRS_SHOW_DL (1<<0)
-#define PGRS_SHOW_UL (1<<1)
-#define PGRS_DONE_DL (1<<2)
-#define PGRS_DONE_UL (1<<3)
-#define PGRS_HIDE (1<<4)
-#define PGRS_UL_SIZE_KNOWN (1<<5)
-#define PGRS_DL_SIZE_KNOWN (1<<6)
-
-#define PGRS_HEADERS_OUT (1<<7) /* set when the headers have been written */
-
-
-#endif /* __PROGRESS_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/qssl.c b/Utilities/cmcurl-7.19.0/lib/qssl.c
deleted file mode 100644
index 2dd46c3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/qssl.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef USE_QSOSSL
-#include <qsossl.h>
-#include <errno.h>
-#include <string.h>
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "sendf.h"
-#include "qssl.h"
-#include "sslgen.h"
-#include "connect.h" /* for the connect timeout */
-#include "select.h"
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-
-int Curl_qsossl_init(void)
-
-{
- /* Nothing to do here. We must have connection data to initialize ssl, so
- * defer.
- */
-
- return 1;
-}
-
-
-void Curl_qsossl_cleanup(void)
-
-{
- /* Nothing to do. */
-}
-
-
-static CURLcode Curl_qsossl_init_session(struct SessionHandle * data)
-
-{
- int rc;
- char * certname;
- SSLInit initstr;
- SSLInitApp initappstr;
-
- /* Initialize the job for SSL according to the current parameters.
- * QsoSSL offers two ways to do it: SSL_Init_Application() that uses an
- * application identifier to select certificates in the main certificate
- * store, and SSL_Init() that uses named keyring files and a password.
- * It is not possible to have different keyrings for the CAs and the
- * local certificate. We thus use the certificate name to identify the
- * keyring if given, else the CA file name.
- * If the key file name is given, it is taken as the password for the
- * keyring in certificate file.
- * We first try to SSL_Init_Application(), then SSL_Init() if it failed.
- */
-
- certname = data->set.str[STRING_CERT];
-
- if(!certname) {
- certname = data->set.str[STRING_SSL_CAFILE];
-
- if(!certname)
- return CURLE_OK; /* Use previous setup. */
- }
-
- memset((char *) &initappstr, 0, sizeof initappstr);
- initappstr.applicationID = certname;
- initappstr.applicationIDLen = strlen(certname);
- initappstr.protocol = SSL_VERSION_CURRENT; /* TLSV1 compat. SSLV[23]. */
- initappstr.sessionType = SSL_REGISTERED_AS_CLIENT;
- rc = SSL_Init_Application(&initappstr);
-
- if(rc == SSL_ERROR_NOT_REGISTERED) {
- initstr.keyringFileName = certname;
- initstr.keyringPassword = data->set.str[STRING_KEY];
- initstr.cipherSuiteList = NULL; /* Use default. */
- initstr.cipherSuiteListLen = 0;
- rc = SSL_Init(&initstr);
- }
-
- switch (rc) {
-
- case 0: /* No error. */
- break;
-
- case SSL_ERROR_IO:
- failf(data, "SSL_Init() I/O error: %s", strerror(errno));
- return CURLE_SSL_CONNECT_ERROR;
-
- case SSL_ERROR_BAD_CIPHER_SUITE:
- return CURLE_SSL_CIPHER;
-
- case SSL_ERROR_KEYPASSWORD_EXPIRED:
- case SSL_ERROR_NOT_REGISTERED:
- return CURLE_SSL_CONNECT_ERROR;
-
- case SSL_ERROR_NO_KEYRING:
- return CURLE_SSL_CACERT;
-
- case SSL_ERROR_CERT_EXPIRED:
- return CURLE_SSL_CERTPROBLEM;
-
- default:
- failf(data, "SSL_Init(): %s", SSL_Strerror(rc, NULL));
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- return CURLE_OK;
-}
-
-
-static CURLcode Curl_qsossl_create(struct connectdata * conn, int sockindex)
-
-{
- SSLHandle * h;
- struct ssl_connect_data * connssl = &conn->ssl[sockindex];
-
- h = SSL_Create(conn->sock[sockindex], SSL_ENCRYPT);
-
- if(!h) {
- failf(conn->data, "SSL_Create() I/O error: %s", strerror(errno));
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- connssl->handle = h;
- return CURLE_OK;
-}
-
-
-static int Curl_qsossl_trap_cert(SSLHandle * h)
-
-{
- return 1; /* Accept certificate. */
-}
-
-
-static CURLcode Curl_qsossl_handshake(struct connectdata * conn, int sockindex)
-
-{
- int rc;
- struct SessionHandle * data = conn->data;
- struct ssl_connect_data * connssl = &conn->ssl[sockindex];
- SSLHandle * h = connssl->handle;
- long timeout_ms;
-
- h->exitPgm = NULL;
-
- if(!data->set.ssl.verifyhost)
- h->exitPgm = Curl_qsossl_trap_cert;
-
- /* figure out how long time we should wait at maximum */
- timeout_ms = Curl_timeleft(conn, NULL, TRUE);
-
- if(timeout_ms < 0) {
- /* time-out, bail out, go home */
- failf(data, "Connection time-out");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- /* SSL_Handshake() timeout resolution is second, so round up. */
- h->timeout = (timeout_ms + 1000 - 1) / 1000;
-
- /* Set-up protocol. */
-
- switch (data->set.ssl.version) {
-
- default:
- case CURL_SSLVERSION_DEFAULT:
- h->protocol = SSL_VERSION_CURRENT; /* TLSV1 compat. SSLV[23]. */
- break;
-
- case CURL_SSLVERSION_TLSv1:
- h->protocol = TLS_VERSION_1;
- break;
-
- case CURL_SSLVERSION_SSLv2:
- h->protocol = SSL_VERSION_2;
- break;
-
- case CURL_SSLVERSION_SSLv3:
- h->protocol = SSL_VERSION_3;
- break;
- }
-
- rc = SSL_Handshake(h, SSL_HANDSHAKE_AS_CLIENT);
-
- switch (rc) {
-
- case 0: /* No error. */
- break;
-
- case SSL_ERROR_BAD_CERTIFICATE:
- case SSL_ERROR_BAD_CERT_SIG:
- case SSL_ERROR_NOT_TRUSTED_ROOT:
- return CURLE_PEER_FAILED_VERIFICATION;
-
- case SSL_ERROR_BAD_CIPHER_SUITE:
- case SSL_ERROR_NO_CIPHERS:
- return CURLE_SSL_CIPHER;
-
- case SSL_ERROR_CERTIFICATE_REJECTED:
- case SSL_ERROR_CERT_EXPIRED:
- case SSL_ERROR_NO_CERTIFICATE:
- return CURLE_SSL_CERTPROBLEM;
-
- case SSL_ERROR_IO:
- failf(data, "SSL_Handshake() I/O error: %s", strerror(errno));
- return CURLE_SSL_CONNECT_ERROR;
-
- default:
- failf(data, "SSL_Handshake(): %s", SSL_Strerror(rc, NULL));
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- return CURLE_OK;
-}
-
-
-CURLcode Curl_qsossl_connect(struct connectdata * conn, int sockindex)
-
-{
- struct SessionHandle * data = conn->data;
- struct ssl_connect_data * connssl = &conn->ssl[sockindex];
- int rc;
-
- rc = Curl_qsossl_init_session(data);
-
- if(rc == CURLE_OK) {
- rc = Curl_qsossl_create(conn, sockindex);
-
- if(rc == CURLE_OK)
- rc = Curl_qsossl_handshake(conn, sockindex);
- else {
- SSL_Destroy(connssl->handle);
- connssl->handle = NULL;
- connssl->use = FALSE;
- connssl->state = ssl_connection_none;
- }
- }
- if (rc == CURLE_OK)
- connssl->state = ssl_connection_complete;
-
- return rc;
-}
-
-
-static int Curl_qsossl_close_one(struct ssl_connect_data * conn,
- struct SessionHandle * data)
-
-{
- int rc;
-
- if(!conn->handle)
- return 0;
-
- rc = SSL_Destroy(conn->handle);
-
- if(rc) {
- if(rc == SSL_ERROR_IO) {
- failf(data, "SSL_Destroy() I/O error: %s", strerror(errno));
- return -1;
- }
-
- /* An SSL error. */
- failf(data, "SSL_Destroy() returned error %d", SSL_Strerror(rc, NULL));
- return -1;
- }
-
- conn->handle = NULL;
- return 0;
-}
-
-
-void Curl_qsossl_close(struct connectdata *conn, int sockindex)
-
-{
- struct SessionHandle *data = conn->data;
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-
- if(connssl->use)
- (void) Curl_qsossl_close_one(connssl, data);
-}
-
-
-int Curl_qsossl_close_all(struct SessionHandle * data)
-
-{
- /* Unimplemented. */
- (void) data;
- return 0;
-}
-
-
-int Curl_qsossl_shutdown(struct connectdata * conn, int sockindex)
-
-{
- struct ssl_connect_data * connssl = &conn->ssl[sockindex];
- struct SessionHandle *data = conn->data;
- ssize_t nread;
- int what;
- int rc;
- char buf[120];
-
- if(!connssl->handle)
- return 0;
-
- if(data->set.ftp_ccc != CURLFTPSSL_CCC_ACTIVE)
- return 0;
-
- if(Curl_qsossl_close_one(connssl, data))
- return -1;
-
- rc = 0;
-
- what = Curl_socket_ready(conn->sock[sockindex],
- CURL_SOCKET_BAD, SSL_SHUTDOWN_TIMEOUT);
-
- for (;;) {
- if(what < 0) {
- /* anything that gets here is fatally bad */
- failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
- rc = -1;
- break;
- }
-
- if(!what) { /* timeout */
- failf(data, "SSL shutdown timeout");
- break;
- }
-
- /* Something to read, let's do it and hope that it is the close
- notify alert from the server. No way to SSL_Read now, so use read(). */
-
- nread = read(conn->sock[sockindex], buf, sizeof(buf));
-
- if(nread < 0) {
- failf(data, "read: %s", strerror(errno));
- rc = -1;
- }
-
- if(nread <= 0)
- break;
-
- what = Curl_socket_ready(conn->sock[sockindex], CURL_SOCKET_BAD, 0);
- }
-
- return rc;
-}
-
-
-ssize_t Curl_qsossl_send(struct connectdata * conn, int sockindex,
- const void * mem, size_t len)
-
-{
- /* SSL_Write() is said to return 'int' while write() and send() returns
- 'size_t' */
- int rc;
-
- rc = SSL_Write(conn->ssl[sockindex].handle, (void *) mem, (int) len);
-
- if(rc < 0) {
- switch(rc) {
-
- case SSL_ERROR_BAD_STATE:
- /* The operation did not complete; the same SSL I/O function
- should be called again later. This is basicly an EWOULDBLOCK
- equivalent. */
- return 0;
-
- case SSL_ERROR_IO:
- switch (errno) {
- case EWOULDBLOCK:
- case EINTR:
- return 0;
- }
-
- failf(conn->data, "SSL_Write() I/O error: %s", strerror(errno));
- return -1;
- }
-
- /* An SSL error. */
- failf(conn->data, "SSL_Write() returned error %d",
- SSL_Strerror(rc, NULL));
- return -1;
- }
-
- return (ssize_t) rc; /* number of bytes */
-}
-
-
-ssize_t Curl_qsossl_recv(struct connectdata * conn, int num, char * buf,
- size_t buffersize, bool * wouldblock)
-
-{
- char error_buffer[120]; /* OpenSSL documents that this must be at
- least 120 bytes long. */
- unsigned long sslerror;
- int nread;
-
- nread = SSL_Read(conn->ssl[num].handle, buf, (int) buffersize);
- *wouldblock = FALSE;
-
- if(nread < 0) {
- /* failed SSL_read */
-
- switch (nread) {
-
- case SSL_ERROR_BAD_STATE:
- /* there's data pending, re-invoke SSL_Read(). */
- *wouldblock = TRUE;
- return -1; /* basically EWOULDBLOCK */
-
- case SSL_ERROR_IO:
- switch (errno) {
- case EWOULDBLOCK:
- *wouldblock = TRUE;
- return -1;
- }
-
- failf(conn->data, "SSL_Read() I/O error: %s", strerror(errno));
- return -1;
-
- default:
- failf(conn->data, "SSL read error: %s", SSL_Strerror(nread, NULL));
- return -1;
- }
- }
- return (ssize_t) nread;
-}
-
-
-size_t Curl_qsossl_version(char * buffer, size_t size)
-
-{
- strncpy(buffer, "IBM OS/400 SSL", size);
- return strlen(buffer);
-}
-
-
-int Curl_qsossl_check_cxn(struct connectdata * cxn)
-
-{
- int err;
- int errlen;
-
- /* The only thing that can be tested here is at the socket level. */
-
- if(!cxn->ssl[FIRSTSOCKET].handle)
- return 0; /* connection has been closed */
-
- err = 0;
- errlen = sizeof err;
-
- if(getsockopt(cxn->sock[FIRSTSOCKET], SOL_SOCKET, SO_ERROR,
- (unsigned char *) &err, &errlen) ||
- errlen != sizeof err || err)
- return 0; /* connection has been closed */
-
- return -1; /* connection status unknown */
-}
-
-#endif /* USE_QSOSSL */
diff --git a/Utilities/cmcurl-7.19.0/lib/qssl.h b/Utilities/cmcurl-7.19.0/lib/qssl.h
deleted file mode 100644
index e7bc2b1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/qssl.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef __QSSL_H
-#define __QSSL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * This header should only be needed to get included by sslgen.c and qssl.c
- */
-
-#include "urldata.h"
-
-#ifdef USE_QSOSSL
-int Curl_qsossl_init(void);
-void Curl_qsossl_cleanup(void);
-CURLcode Curl_qsossl_connect(struct connectdata * conn, int sockindex);
-void Curl_qsossl_close(struct connectdata *conn, int sockindex);
-int Curl_qsossl_close_all(struct SessionHandle * data);
-int Curl_qsossl_shutdown(struct connectdata * conn, int sockindex);
-
-ssize_t Curl_qsossl_send(struct connectdata * conn,
- int sockindex,
- const void * mem,
- size_t len);
-ssize_t Curl_qsossl_recv(struct connectdata * conn, /* connection data */
- int num, /* socketindex */
- char * buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool * wouldblock);
-
-size_t Curl_qsossl_version(char * buffer, size_t size);
-int Curl_qsossl_check_cxn(struct connectdata * cxn);
-
-/* API setup for QsoSSL */
-#define curlssl_init Curl_qsossl_init
-#define curlssl_cleanup Curl_qsossl_cleanup
-#define curlssl_connect Curl_qsossl_connect
-
-/* No session handling for QsoSSL */
-#define curlssl_session_free(x)
-#define curlssl_close_all Curl_qsossl_close_all
-#define curlssl_close Curl_qsossl_close
-#define curlssl_shutdown(x,y) Curl_qsossl_shutdown(x,y)
-#define curlssl_set_engine(x,y) CURLE_FAILED_INIT
-#define curlssl_set_engine_default(x) CURLE_FAILED_INIT
-#define curlssl_engines_list(x) NULL
-#define curlssl_send Curl_qsossl_send
-#define curlssl_recv Curl_qsossl_recv
-#define curlssl_version Curl_qsossl_version
-#define curlssl_check_cxn(x) Curl_qsossl_check_cxn(x)
-#define curlssl_data_pending(x,y) 0
-#endif /* USE_QSOSSL */
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/security.c b/Utilities/cmcurl-7.19.0/lib/security.c
deleted file mode 100644
index bec7510..0000000
--- a/Utilities/cmcurl-7.19.0/lib/security.c
+++ /dev/null
@@ -1,541 +0,0 @@
-/* This source code was modified by Martin Hedenfalk <mhe@stacken.kth.se> for
- * use in Curl. His latest changes were done 2000-09-18.
- *
- * It has since been patched and modified a lot by Daniel Stenberg
- * <daniel@haxx.se> to make it better applied to curl conditions, and to make
- * it not use globals, pollute name space and more. This source code awaits a
- * rewrite to work around the paragraph 2 in the BSD licenses as explained
- * below.
- *
- * Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan
- * (Royal Institute of Technology, Stockholm, Sweden).
- *
- * Copyright (C) 2001 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * 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 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. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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 "setup.h"
-
-#ifndef CURL_DISABLE_FTP
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
-
-#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
-#include <curl/mprintf.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "urldata.h"
-#include "krb4.h"
-#include "curl_base64.h"
-#include "sendf.h"
-#include "ftp.h"
-#include "memory.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-static const struct {
- enum protection_level level;
- const char *name;
-} level_names[] = {
- { prot_clear, "clear" },
- { prot_safe, "safe" },
- { prot_confidential, "confidential" },
- { prot_private, "private" }
-};
-
-static enum protection_level
-name_to_level(const char *name)
-{
- int i;
- for(i = 0; i < (int)sizeof(level_names)/(int)sizeof(level_names[0]); i++)
- if(curl_strnequal(level_names[i].name, name, strlen(name)))
- return level_names[i].level;
- return (enum protection_level)-1;
-}
-
-static const struct Curl_sec_client_mech * const mechs[] = {
-#ifdef HAVE_GSSAPI
- &Curl_krb5_client_mech,
-#endif
-#ifdef HAVE_KRB4
- &Curl_krb4_client_mech,
-#endif
- NULL
-};
-
-int
-Curl_sec_getc(struct connectdata *conn, FILE *F)
-{
- if(conn->sec_complete && conn->data_prot) {
- char c;
- if(Curl_sec_read(conn, fileno(F), &c, 1) <= 0)
- return EOF;
- return c;
- }
- else
- return getc(F);
-}
-
-static int
-block_read(int fd, void *buf, size_t len)
-{
- unsigned char *p = buf;
- int b;
- while(len) {
- b = read(fd, p, len);
- if(b == 0)
- return 0;
- else if(b < 0 && (errno == EINTR || errno == EAGAIN))
- continue;
- else if(b < 0)
- return -1;
- len -= b;
- p += b;
- }
- return p - (unsigned char*)buf;
-}
-
-static int
-block_write(int fd, const void *buf, size_t len)
-{
- const unsigned char *p = buf;
- int b;
- while(len) {
- b = write(fd, p, len);
- if(b < 0 && (errno == EINTR || errno == EAGAIN))
- continue;
- else if(b < 0)
- return -1;
- len -= b;
- p += b;
- }
- return p - (unsigned char*)buf;
-}
-
-static int
-sec_get_data(struct connectdata *conn,
- int fd, struct krb4buffer *buf)
-{
- int len;
- int b;
-
- b = block_read(fd, &len, sizeof(len));
- if(b == 0)
- return 0;
- else if(b < 0)
- return -1;
- len = ntohl(len);
- buf->data = realloc(buf->data, len);
- b = buf->data ? block_read(fd, buf->data, len) : -1;
- if(b == 0)
- return 0;
- else if(b < 0)
- return -1;
- buf->size = (conn->mech->decode)(conn->app_data, buf->data, len,
- conn->data_prot, conn);
- buf->index = 0;
- return 0;
-}
-
-static size_t
-buffer_read(struct krb4buffer *buf, void *data, size_t len)
-{
- if(buf->size - buf->index < len)
- len = buf->size - buf->index;
- memcpy(data, (char*)buf->data + buf->index, len);
- buf->index += len;
- return len;
-}
-
-static size_t
-buffer_write(struct krb4buffer *buf, void *data, size_t len)
-{
- if(buf->index + len > buf->size) {
- void *tmp;
- if(buf->data == NULL)
- tmp = malloc(1024);
- else
- tmp = realloc(buf->data, buf->index + len);
- if(tmp == NULL)
- return -1;
- buf->data = tmp;
- buf->size = buf->index + len;
- }
- memcpy((char*)buf->data + buf->index, data, len);
- buf->index += len;
- return len;
-}
-
-int
-Curl_sec_read(struct connectdata *conn, int fd, void *buffer, int length)
-{
- size_t len;
- int rx = 0;
-
- if(conn->sec_complete == 0 || conn->data_prot == 0)
- return read(fd, buffer, length);
-
- if(conn->in_buffer.eof_flag){
- conn->in_buffer.eof_flag = 0;
- return 0;
- }
-
- len = buffer_read(&conn->in_buffer, buffer, length);
- length -= len;
- rx += len;
- buffer = (char*)buffer + len;
-
- while(length) {
- if(sec_get_data(conn, fd, &conn->in_buffer) < 0)
- return -1;
- if(conn->in_buffer.size == 0) {
- if(rx)
- conn->in_buffer.eof_flag = 1;
- return rx;
- }
- len = buffer_read(&conn->in_buffer, buffer, length);
- length -= len;
- rx += len;
- buffer = (char*)buffer + len;
- }
- return rx;
-}
-
-static int
-sec_send(struct connectdata *conn, int fd, const char *from, int length)
-{
- int bytes;
- void *buf;
- enum protection_level protlevel = conn->data_prot;
- int iscmd = protlevel == prot_cmd;
-
- if(iscmd) {
- if(!strncmp(from, "PASS ", 5) || !strncmp(from, "ACCT ", 5))
- protlevel = prot_private;
- else
- protlevel = conn->command_prot;
- }
- bytes = (conn->mech->encode)(conn->app_data, from, length, protlevel,
- &buf, conn);
- if(iscmd) {
- char *cmdbuf;
-
- bytes = Curl_base64_encode(conn->data, (char *)buf, bytes, &cmdbuf);
- if(bytes > 0) {
- if(protlevel == prot_private)
- block_write(fd, "ENC ", 4);
- else
- block_write(fd, "MIC ", 4);
- block_write(fd, cmdbuf, bytes);
- block_write(fd, "\r\n", 2);
- Curl_infof(conn->data, "%s %s\n",
- protlevel == prot_private ? "ENC" : "MIC", cmdbuf);
- free(cmdbuf);
- }
- }
- else {
- bytes = htonl(bytes);
- block_write(fd, &bytes, sizeof(bytes));
- block_write(fd, buf, ntohl(bytes));
- }
- free(buf);
- return length;
-}
-
-int
-Curl_sec_fflush_fd(struct connectdata *conn, int fd)
-{
- if(conn->data_prot != prot_clear) {
- if(conn->out_buffer.index > 0){
- Curl_sec_write(conn, fd,
- conn->out_buffer.data, conn->out_buffer.index);
- conn->out_buffer.index = 0;
- }
- sec_send(conn, fd, NULL, 0);
- }
- return 0;
-}
-
-int
-Curl_sec_write(struct connectdata *conn, int fd, const char *buffer, int length)
-{
- int len = conn->buffer_size;
- int tx = 0;
-
- if(conn->data_prot == prot_clear)
- return write(fd, buffer, length);
-
- len -= (conn->mech->overhead)(conn->app_data, conn->data_prot, len);
- if(len <= 0)
- len = length;
- while(length){
- if(length < len)
- len = length;
- sec_send(conn, fd, buffer, len);
- length -= len;
- buffer += len;
- tx += len;
- }
- return tx;
-}
-
-ssize_t
-Curl_sec_send(struct connectdata *conn, int num, const char *buffer, int length)
-{
- curl_socket_t fd = conn->sock[num];
- return (ssize_t)Curl_sec_write(conn, fd, buffer, length);
-}
-
-int
-Curl_sec_putc(struct connectdata *conn, int c, FILE *F)
-{
- char ch = c;
- if(conn->data_prot == prot_clear)
- return putc(c, F);
-
- buffer_write(&conn->out_buffer, &ch, 1);
- if(c == '\n' || conn->out_buffer.index >= 1024 /* XXX */) {
- Curl_sec_write(conn, fileno(F), conn->out_buffer.data,
- conn->out_buffer.index);
- conn->out_buffer.index = 0;
- }
- return c;
-}
-
-int
-Curl_sec_read_msg(struct connectdata *conn, char *s, int level)
-{
- int len;
- unsigned char *buf;
- int code;
-
- len = Curl_base64_decode(s + 4, &buf); /* XXX */
- if(len > 0)
- len = (conn->mech->decode)(conn->app_data, buf, len, level, conn);
- else
- return -1;
-
- if(len < 0) {
- free(buf);
- return -1;
- }
-
- if(conn->data->set.verbose) {
- buf[len] = '\n';
- Curl_debug(conn->data, CURLINFO_HEADER_IN, (char *)buf, len + 1, conn);
- }
-
- buf[len] = '\0';
-
- if(buf[3] == '-')
- code = 0;
- else
- sscanf((char *)buf, "%d", &code);
- if(buf[len-1] == '\n')
- buf[len-1] = '\0';
- strcpy(s, (char *)buf);
- free(buf);
- return code;
-}
-
-enum protection_level
-Curl_set_command_prot(struct connectdata *conn, enum protection_level level)
-{
- enum protection_level old = conn->command_prot;
- conn->command_prot = level;
- return old;
-}
-
-static int
-sec_prot_internal(struct connectdata *conn, int level)
-{
- char *p;
- unsigned int s = 1048576;
- ssize_t nread;
-
- if(!conn->sec_complete){
- infof(conn->data, "No security data exchange has taken place.\n");
- return -1;
- }
-
- if(level){
- int code;
- if(Curl_ftpsendf(conn, "PBSZ %u", s))
- return -1;
-
- if(Curl_GetFTPResponse(&nread, conn, &code))
- return -1;
-
- if(code/100 != 2){
- failf(conn->data, "Failed to set protection buffer size.");
- return -1;
- }
- conn->buffer_size = s;
-
- p = strstr(conn->data->state.buffer, "PBSZ=");
- if(p)
- sscanf(p, "PBSZ=%u", &s);
- if(s < conn->buffer_size)
- conn->buffer_size = s;
- }
-
- if(Curl_ftpsendf(conn, "PROT %c", level["CSEP"]))
- return -1;
-
- if(Curl_GetFTPResponse(&nread, conn, NULL))
- return -1;
-
- if(conn->data->state.buffer[0] != '2'){
- failf(conn->data, "Failed to set protection level.");
- return -1;
- }
-
- conn->data_prot = (enum protection_level)level;
- if(level == prot_private)
- conn->command_prot = (enum protection_level)level;
- return 0;
-}
-
-void
-Curl_sec_set_protection_level(struct connectdata *conn)
-{
- if(conn->sec_complete && conn->data_prot != conn->request_data_prot)
- sec_prot_internal(conn, conn->request_data_prot);
-}
-
-
-int
-Curl_sec_request_prot(struct connectdata *conn, const char *level)
-{
- int l = name_to_level(level);
- if(l == -1)
- return -1;
- conn->request_data_prot = (enum protection_level)l;
- return 0;
-}
-
-int
-Curl_sec_login(struct connectdata *conn)
-{
- int ret;
- const struct Curl_sec_client_mech * const *m;
- ssize_t nread;
- struct SessionHandle *data=conn->data;
- int ftpcode;
-
- for(m = mechs; *m && (*m)->name; m++) {
- void *tmp;
-
- tmp = realloc(conn->app_data, (*m)->size);
- if(tmp == NULL) {
- failf (data, "realloc %u failed", (*m)->size);
- return -1;
- }
- conn->app_data = tmp;
-
- if((*m)->init && (*(*m)->init)(conn->app_data) != 0) {
- infof(data, "Skipping %s...\n", (*m)->name);
- continue;
- }
- infof(data, "Trying %s...\n", (*m)->name);
-
- if(Curl_ftpsendf(conn, "AUTH %s", (*m)->name))
- return -1;
-
- if(Curl_GetFTPResponse(&nread, conn, &ftpcode))
- return -1;
-
- if(conn->data->state.buffer[0] != '3'){
- switch(ftpcode) {
- case 504:
- infof(data,
- "%s is not supported by the server.\n", (*m)->name);
- break;
- case 534:
- infof(data, "%s rejected as security mechanism.\n", (*m)->name);
- break;
- default:
- if(conn->data->state.buffer[0] == '5') {
- infof(data, "The server doesn't support the FTP "
- "security extensions.\n");
- return -1;
- }
- break;
- }
- continue;
- }
-
- ret = (*(*m)->auth)(conn->app_data, conn);
-
- if(ret == AUTH_CONTINUE)
- continue;
- else if(ret != AUTH_OK){
- /* mechanism is supposed to output error string */
- return -1;
- }
- conn->mech = *m;
- conn->sec_complete = 1;
- conn->command_prot = prot_safe;
- /* Set the requested protection level */
- /* BLOCKING */
- Curl_sec_set_protection_level(conn);
- break;
- }
-
- return *m == NULL;
-}
-
-void
-Curl_sec_end(struct connectdata *conn)
-{
- if(conn->mech != NULL) {
- if(conn->mech->end)
- (conn->mech->end)(conn->app_data);
- memset(conn->app_data, 0, conn->mech->size);
- free(conn->app_data);
- conn->app_data = NULL;
- }
- conn->sec_complete = 0;
- conn->data_prot = (enum protection_level)0;
- conn->mech=NULL;
-}
-
-#endif /* HAVE_KRB4 */
-#endif /* CURL_DISABLE_FTP */
diff --git a/Utilities/cmcurl-7.19.0/lib/select.c b/Utilities/cmcurl-7.19.0/lib/select.c
deleted file mode 100644
index 7d6a623..0000000
--- a/Utilities/cmcurl-7.19.0/lib/select.c
+++ /dev/null
@@ -1,493 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#if !defined(HAVE_SELECT) && !defined(HAVE_POLL_FINE)
-#error "We can't compile without select() or poll() support."
-#endif
-
-#if defined(__BEOS__) && !defined(__HAIKU__)
-/* BeOS has FD_SET defined in socket.h */
-#include <socket.h>
-#endif
-
-#ifdef MSDOS
-#include <dos.h> /* delay() */
-#endif
-
-#include <curl/curl.h>
-
-#include "urldata.h"
-#include "connect.h"
-#include "select.h"
-
-/* Winsock and TPF sockets are not in range [0..FD_SETSIZE-1] */
-
-#if defined(USE_WINSOCK) || defined(TPF)
-#define VERIFY_SOCK(x) do { } while(0)
-#else
-#define VALID_SOCK(s) (((s) >= 0) && ((s) < FD_SETSIZE))
-#define VERIFY_SOCK(x) do { \
- if(!VALID_SOCK(x)) { \
- SET_SOCKERRNO(EINVAL); \
- return -1; \
- } \
-} while(0)
-#endif
-
-/* Convenience local macros */
-
-#define elapsed_ms (int)curlx_tvdiff(curlx_tvnow(), initial_tv)
-
-#ifdef CURL_ACKNOWLEDGE_EINTR
-#define error_not_EINTR (1)
-#else
-#define error_not_EINTR (error != EINTR)
-#endif
-
-/*
- * Internal function used for waiting a specific amount of ms
- * in Curl_socket_ready() and Curl_poll() when no file descriptor
- * is provided to wait on, just being used to delay execution.
- * WinSock select() and poll() timeout mechanisms need a valid
- * socket descriptor in a not null file descriptor set to work.
- * Waiting indefinitely with this function is not allowed, a
- * zero or negative timeout value will return immediately.
- * Timeout resolution, accuracy, as well as maximum supported
- * value is system dependant, neither factor is a citical issue
- * for the intended use of this function in the library.
- * On non-DOS and non-Winsock platforms, when compiled with
- * CURL_ACKNOWLEDGE_EINTR defined, EINTR condition is honored
- * and function might exit early without awaiting full timeout,
- * otherwise EINTR will be ignored and full timeout will elapse.
- *
- * Return values:
- * -1 = system call error, invalid timeout value, or interrupted
- * 0 = specified timeout has elapsed
- */
-static int wait_ms(int timeout_ms)
-{
-#if !defined(MSDOS) && !defined(USE_WINSOCK)
-#ifndef HAVE_POLL_FINE
- struct timeval pending_tv;
-#endif
- struct timeval initial_tv;
- int pending_ms;
- int error;
-#endif
- int r = 0;
-
- if(!timeout_ms)
- return 0;
- if(timeout_ms < 0) {
- SET_SOCKERRNO(EINVAL);
- return -1;
- }
-#if defined(MSDOS)
- delay(timeout_ms);
-#elif defined(USE_WINSOCK)
- Sleep(timeout_ms);
-#else
- pending_ms = timeout_ms;
- initial_tv = curlx_tvnow();
- do {
-#if defined(HAVE_POLL_FINE)
- r = poll(NULL, 0, pending_ms);
-#else
- pending_tv.tv_sec = pending_ms / 1000;
- pending_tv.tv_usec = (pending_ms % 1000) * 1000;
- r = select(0, NULL, NULL, NULL, &pending_tv);
-#endif /* HAVE_POLL_FINE */
- if(r != -1)
- break;
- error = SOCKERRNO;
- if(error && error_not_EINTR)
- break;
- pending_ms = timeout_ms - elapsed_ms;
- if(pending_ms <= 0)
- break;
- } while(r == -1);
-#endif /* USE_WINSOCK */
- if(r)
- r = -1;
- return r;
-}
-
-/*
- * This is an internal function used for waiting for read or write
- * events on a pair of file descriptors. It uses poll() when a fine
- * poll() is available, in order to avoid limits with FD_SETSIZE,
- * otherwise select() is used. An error is returned if select() is
- * being used and a file descriptor is too large for FD_SETSIZE.
- * A negative timeout value makes this function wait indefinitely,
- * unles no valid file descriptor is given, when this happens the
- * negative timeout is ignored and the function times out immediately.
- * When compiled with CURL_ACKNOWLEDGE_EINTR defined, EINTR condition
- * is honored and function might exit early without awaiting timeout,
- * otherwise EINTR will be ignored.
- *
- * Return values:
- * -1 = system call error or fd >= FD_SETSIZE
- * 0 = timeout
- * CURL_CSELECT_IN | CURL_CSELECT_OUT | CURL_CSELECT_ERR
- */
-int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
- int timeout_ms)
-{
-#ifdef HAVE_POLL_FINE
- struct pollfd pfd[2];
- int num;
-#else
- struct timeval pending_tv;
- struct timeval *ptimeout;
- fd_set fds_read;
- fd_set fds_write;
- fd_set fds_err;
- curl_socket_t maxfd;
-#endif
- struct timeval initial_tv = {0,0};
- int pending_ms = 0;
- int error;
- int r;
- int ret;
-
- if((readfd == CURL_SOCKET_BAD) && (writefd == CURL_SOCKET_BAD)) {
- r = wait_ms(timeout_ms);
- return r;
- }
-
- /* Avoid initial timestamp, avoid curlx_tvnow() call, when elapsed
- time in this function does not need to be measured. This happens
- when function is called with a zero timeout or a negative timeout
- value indicating a blocking call should be performed. */
-
- if(timeout_ms > 0) {
- pending_ms = timeout_ms;
- initial_tv = curlx_tvnow();
- }
-
-#ifdef HAVE_POLL_FINE
-
- num = 0;
- if(readfd != CURL_SOCKET_BAD) {
- pfd[num].fd = readfd;
- pfd[num].events = POLLRDNORM|POLLIN|POLLRDBAND|POLLPRI;
- pfd[num].revents = 0;
- num++;
- }
- if(writefd != CURL_SOCKET_BAD) {
- pfd[num].fd = writefd;
- pfd[num].events = POLLWRNORM|POLLOUT;
- pfd[num].revents = 0;
- num++;
- }
-
- do {
- if(timeout_ms < 0)
- pending_ms = -1;
- else if(!timeout_ms)
- pending_ms = 0;
- r = poll(pfd, num, pending_ms);
- if(r != -1)
- break;
- error = SOCKERRNO;
- if(error && error_not_EINTR)
- break;
- if(timeout_ms > 0) {
- pending_ms = timeout_ms - elapsed_ms;
- if(pending_ms <= 0)
- break;
- }
- } while(r == -1);
-
- if(r < 0)
- return -1;
- if(r == 0)
- return 0;
-
- ret = 0;
- num = 0;
- if(readfd != CURL_SOCKET_BAD) {
- if(pfd[num].revents & (POLLRDNORM|POLLIN|POLLERR|POLLHUP))
- ret |= CURL_CSELECT_IN;
- if(pfd[num].revents & (POLLRDBAND|POLLPRI|POLLNVAL))
- ret |= CURL_CSELECT_ERR;
- num++;
- }
- if(writefd != CURL_SOCKET_BAD) {
- if(pfd[num].revents & (POLLWRNORM|POLLOUT))
- ret |= CURL_CSELECT_OUT;
- if(pfd[num].revents & (POLLERR|POLLHUP|POLLNVAL))
- ret |= CURL_CSELECT_ERR;
- }
-
- return ret;
-
-#else /* HAVE_POLL_FINE */
-
- FD_ZERO(&fds_err);
- maxfd = (curl_socket_t)-1;
-
- FD_ZERO(&fds_read);
- if(readfd != CURL_SOCKET_BAD) {
- VERIFY_SOCK(readfd);
- FD_SET(readfd, &fds_read);
- FD_SET(readfd, &fds_err);
- maxfd = readfd;
- }
-
- FD_ZERO(&fds_write);
- if(writefd != CURL_SOCKET_BAD) {
- VERIFY_SOCK(writefd);
- FD_SET(writefd, &fds_write);
- FD_SET(writefd, &fds_err);
- if(writefd > maxfd)
- maxfd = writefd;
- }
-
- ptimeout = (timeout_ms < 0) ? NULL : &pending_tv;
-
- do {
- if(timeout_ms > 0) {
- pending_tv.tv_sec = pending_ms / 1000;
- pending_tv.tv_usec = (pending_ms % 1000) * 1000;
- }
- else if(!timeout_ms) {
- pending_tv.tv_sec = 0;
- pending_tv.tv_usec = 0;
- }
- r = select((int)maxfd + 1, &fds_read, &fds_write, &fds_err, ptimeout);
- if(r != -1)
- break;
- error = SOCKERRNO;
- if(error && error_not_EINTR)
- break;
- if(timeout_ms > 0) {
- pending_ms = timeout_ms - elapsed_ms;
- if(pending_ms <= 0)
- break;
- }
- } while(r == -1);
-
- if(r < 0)
- return -1;
- if(r == 0)
- return 0;
-
- ret = 0;
- if(readfd != CURL_SOCKET_BAD) {
- if(FD_ISSET(readfd, &fds_read))
- ret |= CURL_CSELECT_IN;
- if(FD_ISSET(readfd, &fds_err))
- ret |= CURL_CSELECT_ERR;
- }
- if(writefd != CURL_SOCKET_BAD) {
- if(FD_ISSET(writefd, &fds_write))
- ret |= CURL_CSELECT_OUT;
- if(FD_ISSET(writefd, &fds_err))
- ret |= CURL_CSELECT_ERR;
- }
-
- return ret;
-
-#endif /* HAVE_POLL_FINE */
-
-}
-
-/*
- * This is a wrapper around poll(). If poll() does not exist, then
- * select() is used instead. An error is returned if select() is
- * being used and a file descriptor is too large for FD_SETSIZE.
- * A negative timeout value makes this function wait indefinitely,
- * unles no valid file descriptor is given, when this happens the
- * negative timeout is ignored and the function times out immediately.
- * When compiled with CURL_ACKNOWLEDGE_EINTR defined, EINTR condition
- * is honored and function might exit early without awaiting timeout,
- * otherwise EINTR will be ignored.
- *
- * Return values:
- * -1 = system call error or fd >= FD_SETSIZE
- * 0 = timeout
- * N = number of structures with non zero revent fields
- */
-int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
-{
-#ifndef HAVE_POLL_FINE
- struct timeval pending_tv;
- struct timeval *ptimeout;
- fd_set fds_read;
- fd_set fds_write;
- fd_set fds_err;
- curl_socket_t maxfd;
-#endif
- struct timeval initial_tv = {0,0};
- bool fds_none = TRUE;
- unsigned int i;
- int pending_ms = 0;
- int error;
- int r;
-
- if(ufds) {
- for (i = 0; i < nfds; i++) {
- if(ufds[i].fd != CURL_SOCKET_BAD) {
- fds_none = FALSE;
- break;
- }
- }
- }
- if(fds_none) {
- r = wait_ms(timeout_ms);
- return r;
- }
-
- /* Avoid initial timestamp, avoid curlx_tvnow() call, when elapsed
- time in this function does not need to be measured. This happens
- when function is called with a zero timeout or a negative timeout
- value indicating a blocking call should be performed. */
-
- if(timeout_ms > 0) {
- pending_ms = timeout_ms;
- initial_tv = curlx_tvnow();
- }
-
-#ifdef HAVE_POLL_FINE
-
- do {
- if(timeout_ms < 0)
- pending_ms = -1;
- else if(!timeout_ms)
- pending_ms = 0;
- r = poll(ufds, nfds, pending_ms);
- if(r != -1)
- break;
- error = SOCKERRNO;
- if(error && error_not_EINTR)
- break;
- if(timeout_ms > 0) {
- pending_ms = timeout_ms - elapsed_ms;
- if(pending_ms <= 0)
- break;
- }
- } while(r == -1);
-
-#else /* HAVE_POLL_FINE */
-
- FD_ZERO(&fds_read);
- FD_ZERO(&fds_write);
- FD_ZERO(&fds_err);
- maxfd = (curl_socket_t)-1;
-
- for (i = 0; i < nfds; i++) {
- ufds[i].revents = 0;
- if(ufds[i].fd == CURL_SOCKET_BAD)
- continue;
- VERIFY_SOCK(ufds[i].fd);
- if(ufds[i].events & (POLLIN|POLLOUT|POLLPRI|
- POLLRDNORM|POLLWRNORM|POLLRDBAND)) {
- if(ufds[i].fd > maxfd)
- maxfd = ufds[i].fd;
- if(ufds[i].events & (POLLRDNORM|POLLIN))
- FD_SET(ufds[i].fd, &fds_read);
- if(ufds[i].events & (POLLWRNORM|POLLOUT))
- FD_SET(ufds[i].fd, &fds_write);
- if(ufds[i].events & (POLLRDBAND|POLLPRI))
- FD_SET(ufds[i].fd, &fds_err);
- }
- }
-
- ptimeout = (timeout_ms < 0) ? NULL : &pending_tv;
-
- do {
- if(timeout_ms > 0) {
- pending_tv.tv_sec = pending_ms / 1000;
- pending_tv.tv_usec = (pending_ms % 1000) * 1000;
- }
- else if(!timeout_ms) {
- pending_tv.tv_sec = 0;
- pending_tv.tv_usec = 0;
- }
- r = select((int)maxfd + 1, &fds_read, &fds_write, &fds_err, ptimeout);
- if(r != -1)
- break;
- error = SOCKERRNO;
- if(error && error_not_EINTR)
- break;
- if(timeout_ms > 0) {
- pending_ms = timeout_ms - elapsed_ms;
- if(pending_ms <= 0)
- break;
- }
- } while(r == -1);
-
- if(r < 0)
- return -1;
- if(r == 0)
- return 0;
-
- r = 0;
- for (i = 0; i < nfds; i++) {
- ufds[i].revents = 0;
- if(ufds[i].fd == CURL_SOCKET_BAD)
- continue;
- if(FD_ISSET(ufds[i].fd, &fds_read))
- ufds[i].revents |= POLLIN;
- if(FD_ISSET(ufds[i].fd, &fds_write))
- ufds[i].revents |= POLLOUT;
- if(FD_ISSET(ufds[i].fd, &fds_err))
- ufds[i].revents |= POLLPRI;
- if(ufds[i].revents != 0)
- r++;
- }
-
-#endif /* HAVE_POLL_FINE */
-
- return r;
-}
-
-#ifdef TPF
-/*
- * This is a replacement for select() on the TPF platform.
- * It is used whenever libcurl calls select().
- * The call below to tpf_process_signals() is required because
- * TPF's select calls are not signal interruptible.
- *
- * Return values are the same as select's.
- */
-int tpf_select_libcurl(int maxfds, fd_set* reads, fd_set* writes,
- fd_set* excepts, struct timeval* tv)
-{
- int rc;
-
- rc = tpf_select_bsd(maxfds, reads, writes, excepts, tv);
- tpf_process_signals();
- return(rc);
-}
-#endif /* TPF */
diff --git a/Utilities/cmcurl-7.19.0/lib/select.h b/Utilities/cmcurl-7.19.0/lib/select.h
deleted file mode 100644
index cdc7782..0000000
--- a/Utilities/cmcurl-7.19.0/lib/select.h
+++ /dev/null
@@ -1,98 +0,0 @@
-#ifndef __SELECT_H
-#define __SELECT_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_SYS_POLL_H
-#include <sys/poll.h>
-#elif defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-
-/*
- * poll() function on Windows Vista and later is called WSAPoll()
- */
-
-#if defined(USE_WINSOCK) && (USE_WINSOCK > 1) && \
- defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
-# undef HAVE_POLL
-# define HAVE_POLL 1
-# undef HAVE_POLL_FINE
-# define HAVE_POLL_FINE 1
-# define poll(x,y,z) WSAPoll((x),(y),(z))
-# if defined(_MSC_VER) && defined(POLLRDNORM)
-# undef POLLPRI
-# define POLLPRI POLLRDBAND
-# define HAVE_STRUCT_POLLFD 1
-# endif
-#endif
-
-/*
- * Definition of pollfd struct and constants for platforms lacking them.
- */
-
-#if !defined(HAVE_STRUCT_POLLFD) && \
- !defined(HAVE_SYS_POLL_H) && \
- !defined(HAVE_POLL_H)
-
-#define POLLIN 0x01
-#define POLLPRI 0x02
-#define POLLOUT 0x04
-#define POLLERR 0x08
-#define POLLHUP 0x10
-#define POLLNVAL 0x20
-
-struct pollfd
-{
- curl_socket_t fd;
- short events;
- short revents;
-};
-
-#endif
-
-#ifndef POLLRDNORM
-#define POLLRDNORM POLLIN
-#endif
-
-#ifndef POLLWRNORM
-#define POLLWRNORM POLLOUT
-#endif
-
-#ifndef POLLRDBAND
-#define POLLRDBAND POLLPRI
-#endif
-
-int Curl_socket_ready(curl_socket_t readfd, curl_socket_t writefd,
- int timeout_ms);
-
-int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
-
-#ifdef TPF
-int tpf_select_libcurl(int maxfds, fd_set* reads, fd_set* writes,
- fd_set* excepts, struct timeval* tv);
-#endif
-
-#endif /* __SELECT_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/sendf.c b/Utilities/cmcurl-7.19.0/lib/sendf.c
deleted file mode 100644
index 52edbc4..0000000
--- a/Utilities/cmcurl-7.19.0/lib/sendf.c
+++ /dev/null
@@ -1,745 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h> /* required for send() & recv() prototypes */
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "sendf.h"
-#include "connect.h"
-#include "sslgen.h"
-#include "ssh.h"
-#include "multiif.h"
-
-#define _MPRINTF_REPLACE /* use the internal *printf() functions */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
-#include "krb4.h"
-#else
-#define Curl_sec_send(a,b,c,d) -1
-#define Curl_sec_read(a,b,c,d) -1
-#endif
-
-#include <string.h>
-#include "memory.h"
-#include "strerror.h"
-#include "easyif.h" /* for the Curl_convert_from_network prototype */
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* returns last node in linked list */
-static struct curl_slist *slist_get_last(struct curl_slist *list)
-{
- struct curl_slist *item;
-
- /* if caller passed us a NULL, return now */
- if(!list)
- return NULL;
-
- /* loop through to find the last item */
- item = list;
- while(item->next) {
- item = item->next;
- }
- return item;
-}
-
-/*
- * curl_slist_append() appends a string to the linked list. It always returns
- * the address of the first record, so that you can use this function as an
- * initialization function as well as an append function. If you find this
- * bothersome, then simply create a separate _init function and call it
- * appropriately from within the program.
- */
-struct curl_slist *curl_slist_append(struct curl_slist *list,
- const char *data)
-{
- struct curl_slist *last;
- struct curl_slist *new_item;
-
- new_item = (struct curl_slist *) malloc(sizeof(struct curl_slist));
- if(new_item) {
- char *dupdata = strdup(data);
- if(dupdata) {
- new_item->next = NULL;
- new_item->data = dupdata;
- }
- else {
- free(new_item);
- return NULL;
- }
- }
- else
- return NULL;
-
- if(list) {
- last = slist_get_last(list);
- last->next = new_item;
- return list;
- }
-
- /* if this is the first item, then new_item *is* the list */
- return new_item;
-}
-
-/* be nice and clean up resources */
-void curl_slist_free_all(struct curl_slist *list)
-{
- struct curl_slist *next;
- struct curl_slist *item;
-
- if(!list)
- return;
-
- item = list;
- do {
- next = item->next;
-
- if(item->data) {
- free(item->data);
- }
- free(item);
- item = next;
- } while(next);
-}
-
-#ifdef CURL_DO_LINEEND_CONV
-/*
- * convert_lineends() changes CRLF (\r\n) end-of-line markers to a single LF
- * (\n), with special processing for CRLF sequences that are split between two
- * blocks of data. Remaining, bare CRs are changed to LFs. The possibly new
- * size of the data is returned.
- */
-static size_t convert_lineends(struct SessionHandle *data,
- char *startPtr, size_t size)
-{
- char *inPtr, *outPtr;
-
- /* sanity check */
- if((startPtr == NULL) || (size < 1)) {
- return(size);
- }
-
- if(data->state.prev_block_had_trailing_cr == TRUE) {
- /* The previous block of incoming data
- had a trailing CR, which was turned into a LF. */
- if(*startPtr == '\n') {
- /* This block of incoming data starts with the
- previous block's LF so get rid of it */
- memmove(startPtr, startPtr+1, size-1);
- size--;
- /* and it wasn't a bare CR but a CRLF conversion instead */
- data->state.crlf_conversions++;
- }
- data->state.prev_block_had_trailing_cr = FALSE; /* reset the flag */
- }
-
- /* find 1st CR, if any */
- inPtr = outPtr = memchr(startPtr, '\r', size);
- if(inPtr) {
- /* at least one CR, now look for CRLF */
- while(inPtr < (startPtr+size-1)) {
- /* note that it's size-1, so we'll never look past the last byte */
- if(memcmp(inPtr, "\r\n", 2) == 0) {
- /* CRLF found, bump past the CR and copy the NL */
- inPtr++;
- *outPtr = *inPtr;
- /* keep track of how many CRLFs we converted */
- data->state.crlf_conversions++;
- }
- else {
- if(*inPtr == '\r') {
- /* lone CR, move LF instead */
- *outPtr = '\n';
- }
- else {
- /* not a CRLF nor a CR, just copy whatever it is */
- *outPtr = *inPtr;
- }
- }
- outPtr++;
- inPtr++;
- } /* end of while loop */
-
- if(inPtr < startPtr+size) {
- /* handle last byte */
- if(*inPtr == '\r') {
- /* deal with a CR at the end of the buffer */
- *outPtr = '\n'; /* copy a NL instead */
- /* note that a CRLF might be split across two blocks */
- data->state.prev_block_had_trailing_cr = TRUE;
- }
- else {
- /* copy last byte */
- *outPtr = *inPtr;
- }
- outPtr++;
- inPtr++;
- }
- if(outPtr < startPtr+size) {
- /* tidy up by null terminating the now shorter data */
- *outPtr = '\0';
- }
- return(outPtr - startPtr);
- }
- return(size);
-}
-#endif /* CURL_DO_LINEEND_CONV */
-
-/* Curl_infof() is for info message along the way */
-
-void Curl_infof(struct SessionHandle *data, const char *fmt, ...)
-{
- if(data && data->set.verbose) {
- va_list ap;
- size_t len;
- char print_buffer[1024 + 1];
- va_start(ap, fmt);
- vsnprintf(print_buffer, 1024, fmt, ap);
- va_end(ap);
- len = strlen(print_buffer);
- Curl_debug(data, CURLINFO_TEXT, print_buffer, len, NULL);
- }
-}
-
-/* Curl_failf() is for messages stating why we failed.
- * The message SHALL NOT include any LF or CR.
- */
-
-void Curl_failf(struct SessionHandle *data, const char *fmt, ...)
-{
- va_list ap;
- size_t len;
- va_start(ap, fmt);
-
- vsnprintf(data->state.buffer, BUFSIZE, fmt, ap);
-
- if(data->set.errorbuffer && !data->state.errorbuf) {
- snprintf(data->set.errorbuffer, CURL_ERROR_SIZE, "%s", data->state.buffer);
- data->state.errorbuf = TRUE; /* wrote error string */
- }
- if(data->set.verbose) {
- len = strlen(data->state.buffer);
- if(len < BUFSIZE - 1) {
- data->state.buffer[len] = '\n';
- data->state.buffer[++len] = '\0';
- }
- Curl_debug(data, CURLINFO_TEXT, data->state.buffer, len, NULL);
- }
-
- va_end(ap);
-}
-
-/* Curl_sendf() sends formated data to the server */
-CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *conn,
- const char *fmt, ...)
-{
- struct SessionHandle *data = conn->data;
- ssize_t bytes_written;
- size_t write_len;
- CURLcode res = CURLE_OK;
- char *s;
- char *sptr;
- va_list ap;
- va_start(ap, fmt);
- s = vaprintf(fmt, ap); /* returns an allocated string */
- va_end(ap);
- if(!s)
- return CURLE_OUT_OF_MEMORY; /* failure */
-
- bytes_written=0;
- write_len = strlen(s);
- sptr = s;
-
- while(1) {
- /* Write the buffer to the socket */
- res = Curl_write(conn, sockfd, sptr, write_len, &bytes_written);
-
- if(CURLE_OK != res)
- break;
-
- if(data->set.verbose)
- Curl_debug(data, CURLINFO_DATA_OUT, sptr, (size_t)bytes_written, conn);
-
- if((size_t)bytes_written != write_len) {
- /* if not all was written at once, we must advance the pointer, decrease
- the size left and try again! */
- write_len -= bytes_written;
- sptr += bytes_written;
- }
- else
- break;
- }
-
- free(s); /* free the output string */
-
- return res;
-}
-
-static ssize_t send_plain(struct connectdata *conn,
- int num,
- const void *mem,
- size_t len)
-{
- curl_socket_t sockfd = conn->sock[num];
- ssize_t bytes_written = swrite(sockfd, mem, len);
-
- if(-1 == bytes_written) {
- int err = SOCKERRNO;
-
- if(
-#ifdef WSAEWOULDBLOCK
- /* This is how Windows does it */
- (WSAEWOULDBLOCK == err)
-#else
- /* errno may be EWOULDBLOCK or on some systems EAGAIN when it returned
- due to its inability to send off data without blocking. We therefor
- treat both error codes the same here */
- (EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err)
-#endif
- )
- /* this is just a case of EWOULDBLOCK */
- bytes_written=0;
- else
- failf(conn->data, "Send failure: %s",
- Curl_strerror(conn, err));
- }
- return bytes_written;
-}
-
-/*
- * Curl_write() is an internal write function that sends data to the
- * server. Works with plain sockets, SCP, SSL or kerberos.
- */
-CURLcode Curl_write(struct connectdata *conn,
- curl_socket_t sockfd,
- const void *mem,
- size_t len,
- ssize_t *written)
-{
- ssize_t bytes_written;
- CURLcode retcode;
- int num = (sockfd == conn->sock[SECONDARYSOCKET]);
-
- if(conn->ssl[num].state == ssl_connection_complete)
- bytes_written = Curl_ssl_send(conn, num, mem, len);
- else if(Curl_ssh_enabled(conn, PROT_SCP))
- bytes_written = Curl_scp_send(conn, num, mem, len);
- else if(Curl_ssh_enabled(conn, PROT_SFTP))
- bytes_written = Curl_sftp_send(conn, num, mem, len);
- else if(conn->sec_complete)
- bytes_written = Curl_sec_send(conn, num, mem, len);
- else
- bytes_written = send_plain(conn, num, mem, len);
-
- *written = bytes_written;
- retcode = (-1 != bytes_written)?CURLE_OK:CURLE_SEND_ERROR;
-
- return retcode;
-}
-
-/*
- * Curl_write_plain() is an internal write function that sends data to the
- * server using plain sockets only. Otherwise meant to have the exact same
- * proto as Curl_write()
- */
-CURLcode Curl_write_plain(struct connectdata *conn,
- curl_socket_t sockfd,
- const void *mem,
- size_t len,
- ssize_t *written)
-{
- ssize_t bytes_written;
- CURLcode retcode;
- int num = (sockfd == conn->sock[SECONDARYSOCKET]);
-
- bytes_written = send_plain(conn, num, mem, len);
-
- *written = bytes_written;
- retcode = (-1 != bytes_written)?CURLE_OK:CURLE_SEND_ERROR;
-
- return retcode;
-}
-
-static CURLcode pausewrite(struct SessionHandle *data,
- int type, /* what type of data */
- char *ptr,
- size_t len)
-{
- /* signalled to pause sending on this connection, but since we have data
- we want to send we need to dup it to save a copy for when the sending
- is again enabled */
- struct SingleRequest *k = &data->req;
- char *dupl = malloc(len);
- if(!dupl)
- return CURLE_OUT_OF_MEMORY;
-
- memcpy(dupl, ptr, len);
-
- /* store this information in the state struct for later use */
- data->state.tempwrite = dupl;
- data->state.tempwritesize = len;
- data->state.tempwritetype = type;
-
- /* mark the connection as RECV paused */
- k->keepon |= KEEP_READ_PAUSE;
-
- DEBUGF(infof(data, "Pausing with %d bytes in buffer for type %02x\n",
- (int)len, type));
-
- return CURLE_OK;
-}
-
-
-/* client_write() sends data to the write callback(s)
-
- The bit pattern defines to what "streams" to write to. Body and/or header.
- The defines are in sendf.h of course.
- */
-CURLcode Curl_client_write(struct connectdata *conn,
- int type,
- char *ptr,
- size_t len)
-{
- struct SessionHandle *data = conn->data;
- size_t wrote;
-
- /* If reading is actually paused, we're forced to append this chunk of data
- to the already held data, but only if it is the same type as otherwise it
- can't work and it'll return error instead. */
- if(data->req.keepon & KEEP_READ_PAUSE) {
- size_t newlen;
- char *newptr;
- if(type != data->state.tempwritetype)
- /* major internal confusion */
- return CURLE_RECV_ERROR;
-
- /* figure out the new size of the data to save */
- newlen = len + data->state.tempwritesize;
- /* allocate the new memory area */
- newptr = malloc(newlen);
- if(!newptr)
- return CURLE_OUT_OF_MEMORY;
- /* copy the previously held data to the new area */
- memcpy(newptr, data->state.tempwrite, data->state.tempwritesize);
- /* copy the new data to the end of the new area */
- memcpy(newptr + data->state.tempwritesize, ptr, len);
- /* free the old data */
- free(data->state.tempwrite);
- /* update the pointer and the size */
- data->state.tempwrite = newptr;
- data->state.tempwritesize = newlen;
-
- return CURLE_OK;
- }
-
- if(0 == len)
- len = strlen(ptr);
-
- if(type & CLIENTWRITE_BODY) {
- if((conn->protocol&PROT_FTP) && conn->proto.ftpc.transfertype == 'A') {
-#ifdef CURL_DOES_CONVERSIONS
- /* convert from the network encoding */
- size_t rc;
- rc = Curl_convert_from_network(data, ptr, len);
- /* Curl_convert_from_network calls failf if unsuccessful */
- if(rc != CURLE_OK)
- return rc;
-#endif /* CURL_DOES_CONVERSIONS */
-
-#ifdef CURL_DO_LINEEND_CONV
- /* convert end-of-line markers */
- len = convert_lineends(data, ptr, len);
-#endif /* CURL_DO_LINEEND_CONV */
- }
- /* If the previous block of data ended with CR and this block of data is
- just a NL, then the length might be zero */
- if(len) {
- wrote = data->set.fwrite_func(ptr, 1, len, data->set.out);
- }
- else {
- wrote = len;
- }
-
- if(CURL_WRITEFUNC_PAUSE == wrote)
- return pausewrite(data, type, ptr, len);
-
- if(wrote != len) {
- failf(data, "Failed writing body (%d != %d)", (int)wrote, (int)len);
- return CURLE_WRITE_ERROR;
- }
- }
-
- if((type & CLIENTWRITE_HEADER) &&
- (data->set.fwrite_header || data->set.writeheader) ) {
- /*
- * Write headers to the same callback or to the especially setup
- * header callback function (added after version 7.7.1).
- */
- curl_write_callback writeit=
- data->set.fwrite_header?data->set.fwrite_header:data->set.fwrite_func;
-
- /* Note: The header is in the host encoding
- regardless of the ftp transfer mode (ASCII/Image) */
-
- wrote = writeit(ptr, 1, len, data->set.writeheader);
- if(CURL_WRITEFUNC_PAUSE == wrote)
- /* here we pass in the HEADER bit only since if this was body as well
- then it was passed already and clearly that didn't trigger the pause,
- so this is saved for later with the HEADER bit only */
- return pausewrite(data, CLIENTWRITE_HEADER, ptr, len);
-
- if(wrote != len) {
- failf (data, "Failed writing header");
- return CURLE_WRITE_ERROR;
- }
- }
-
- return CURLE_OK;
-}
-
-#ifndef MIN
-#define MIN(a,b) ((a) < (b) ? (a) : (b))
-#endif
-
-/*
- * Internal read-from-socket function. This is meant to deal with plain
- * sockets, SSL sockets and kerberos sockets.
- *
- * If the read would block (EWOULDBLOCK) we return -1. Otherwise we return
- * a regular CURLcode value.
- */
-int Curl_read(struct connectdata *conn, /* connection data */
- curl_socket_t sockfd, /* read from this socket */
- char *buf, /* store read data here */
- size_t sizerequested, /* max amount to read */
- ssize_t *n) /* amount bytes read */
-{
- ssize_t nread = 0;
- size_t bytesfromsocket = 0;
- char *buffertofill = NULL;
- bool pipelining = (bool)(conn->data->multi &&
- Curl_multi_canPipeline(conn->data->multi));
-
- /* Set 'num' to 0 or 1, depending on which socket that has been sent here.
- If it is the second socket, we set num to 1. Otherwise to 0. This lets
- us use the correct ssl handle. */
- int num = (sockfd == conn->sock[SECONDARYSOCKET]);
-
- *n=0; /* reset amount to zero */
-
- /* If session can pipeline, check connection buffer */
- if(pipelining) {
- size_t bytestocopy = MIN(conn->buf_len - conn->read_pos, sizerequested);
-
- /* Copy from our master buffer first if we have some unread data there*/
- if(bytestocopy > 0) {
- memcpy(buf, conn->master_buffer + conn->read_pos, bytestocopy);
- conn->read_pos += bytestocopy;
- conn->bits.stream_was_rewound = FALSE;
-
- *n = (ssize_t)bytestocopy;
- return CURLE_OK;
- }
- /* If we come here, it means that there is no data to read from the buffer,
- * so we read from the socket */
- bytesfromsocket = MIN(sizerequested, BUFSIZE * sizeof (char));
- buffertofill = conn->master_buffer;
- }
- else {
- bytesfromsocket = MIN((long)sizerequested, conn->data->set.buffer_size ?
- conn->data->set.buffer_size : BUFSIZE);
- buffertofill = buf;
- }
-
- if(conn->ssl[num].state == ssl_connection_complete) {
- nread = Curl_ssl_recv(conn, num, buffertofill, bytesfromsocket);
-
- if(nread == -1) {
- return -1; /* -1 from Curl_ssl_recv() means EWOULDBLOCK */
- }
- }
- else if(Curl_ssh_enabled(conn, (PROT_SCP|PROT_SFTP))) {
- if(conn->protocol & PROT_SCP)
- nread = Curl_scp_recv(conn, num, buffertofill, bytesfromsocket);
- else if(conn->protocol & PROT_SFTP)
- nread = Curl_sftp_recv(conn, num, buffertofill, bytesfromsocket);
-#ifdef LIBSSH2CHANNEL_EAGAIN
- if((nread == LIBSSH2CHANNEL_EAGAIN) || (nread == 0))
- /* EWOULDBLOCK */
- return -1;
-#endif
- if(nread < 0)
- /* since it is negative and not EGAIN, it was a protocol-layer error */
- return CURLE_RECV_ERROR;
- }
- else {
- if(conn->sec_complete)
- nread = Curl_sec_read(conn, sockfd, buffertofill,
- bytesfromsocket);
- else
- nread = sread(sockfd, buffertofill, bytesfromsocket);
-
- if(-1 == nread) {
- int err = SOCKERRNO;
-#ifdef USE_WINSOCK
- if(WSAEWOULDBLOCK == err)
-#else
- if((EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err))
-#endif
- return -1;
- }
- }
-
- if(nread >= 0) {
- if(pipelining) {
- memcpy(buf, conn->master_buffer, nread);
- conn->buf_len = nread;
- conn->read_pos = nread;
- }
-
- *n += nread;
- }
-
- return CURLE_OK;
-}
-
-/* return 0 on success */
-static int showit(struct SessionHandle *data, curl_infotype type,
- char *ptr, size_t size)
-{
- static const char * const s_infotype[CURLINFO_END] = {
- "* ", "< ", "> ", "{ ", "} ", "{ ", "} " };
-
-#ifdef CURL_DOES_CONVERSIONS
- char buf[BUFSIZE+1];
- size_t conv_size = 0;
-
- switch(type) {
- case CURLINFO_HEADER_OUT:
- /* assume output headers are ASCII */
- /* copy the data into my buffer so the original is unchanged */
- if(size > BUFSIZE) {
- size = BUFSIZE; /* truncate if necessary */
- buf[BUFSIZE] = '\0';
- }
- conv_size = size;
- memcpy(buf, ptr, size);
- /* Special processing is needed for this block if it
- * contains both headers and data (separated by CRLFCRLF).
- * We want to convert just the headers, leaving the data as-is.
- */
- if(size > 4) {
- size_t i;
- for(i = 0; i < size-4; i++) {
- if(memcmp(&buf[i], "\x0d\x0a\x0d\x0a", 4) == 0) {
- /* convert everthing through this CRLFCRLF but no further */
- conv_size = i + 4;
- break;
- }
- }
- }
-
- Curl_convert_from_network(data, buf, conv_size);
- /* Curl_convert_from_network calls failf if unsuccessful */
- /* we might as well continue even if it fails... */
- ptr = buf; /* switch pointer to use my buffer instead */
- break;
- default:
- /* leave everything else as-is */
- break;
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- if(data->set.fdebug)
- return (*data->set.fdebug)(data, type, ptr, size,
- data->set.debugdata);
-
- switch(type) {
- case CURLINFO_TEXT:
- case CURLINFO_HEADER_OUT:
- case CURLINFO_HEADER_IN:
- fwrite(s_infotype[type], 2, 1, data->set.err);
- fwrite(ptr, size, 1, data->set.err);
-#ifdef CURL_DOES_CONVERSIONS
- if(size != conv_size) {
- /* we had untranslated data so we need an explicit newline */
- fwrite("\n", 1, 1, data->set.err);
- }
-#endif
- break;
- default: /* nada */
- break;
- }
- return 0;
-}
-
-int Curl_debug(struct SessionHandle *data, curl_infotype type,
- char *ptr, size_t size,
- struct connectdata *conn)
-{
- int rc;
- if(data->set.printhost && conn && conn->host.dispname) {
- char buffer[160];
- const char *t=NULL;
- const char *w="Data";
- switch (type) {
- case CURLINFO_HEADER_IN:
- w = "Header";
- case CURLINFO_DATA_IN:
- t = "from";
- break;
- case CURLINFO_HEADER_OUT:
- w = "Header";
- case CURLINFO_DATA_OUT:
- t = "to";
- break;
- default:
- break;
- }
-
- if(t) {
- snprintf(buffer, sizeof(buffer), "[%s %s %s]", w, t,
- conn->host.dispname);
- rc = showit(data, CURLINFO_TEXT, buffer, strlen(buffer));
- if(rc)
- return rc;
- }
- }
- rc = showit(data, type, ptr, size);
- return rc;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/sendf.h b/Utilities/cmcurl-7.19.0/lib/sendf.h
deleted file mode 100644
index 2d507ee..0000000
--- a/Utilities/cmcurl-7.19.0/lib/sendf.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef __SENDF_H
-#define __SENDF_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *,
- const char *fmt, ...);
-void Curl_infof(struct SessionHandle *, const char *fmt, ...);
-void Curl_failf(struct SessionHandle *, const char *fmt, ...);
-
-#if defined(CURL_DISABLE_VERBOSE_STRINGS)
-
-#if defined(HAVE_VARIADIC_MACROS_C99)
-#define infof(...) do { } while (0)
-#elif defined(HAVE_VARIADIC_MACROS_GCC)
-#define infof(x...) do { } while (0)
-#else
-#define infof (void)
-#endif
-
-#else /* CURL_DISABLE_VERBOSE_STRINGS */
-
-#define infof Curl_infof
-
-#endif /* CURL_DISABLE_VERBOSE_STRINGS */
-
-#define failf Curl_failf
-
-#define CLIENTWRITE_BODY 1
-#define CLIENTWRITE_HEADER 2
-#define CLIENTWRITE_BOTH (CLIENTWRITE_BODY|CLIENTWRITE_HEADER)
-
-CURLcode Curl_client_write(struct connectdata *conn, int type, char *ptr,
- size_t len);
-
-void Curl_read_rewind(struct connectdata *conn,
- size_t extraBytesRead);
-
-/* internal read-function, does plain socket, SSL and krb4 */
-int Curl_read(struct connectdata *conn, curl_socket_t sockfd,
- char *buf, size_t buffersize,
- ssize_t *n);
-/* internal write-function, does plain socket, SSL, SCP, SFTP and krb4 */
-CURLcode Curl_write(struct connectdata *conn,
- curl_socket_t sockfd,
- const void *mem, size_t len,
- ssize_t *written);
-
-/* internal write-function, does plain sockets ONLY */
-CURLcode Curl_write_plain(struct connectdata *conn,
- curl_socket_t sockfd,
- const void *mem, size_t len,
- ssize_t *written);
-
-/* the function used to output verbose information */
-int Curl_debug(struct SessionHandle *handle, curl_infotype type,
- char *data, size_t size,
- struct connectdata *conn);
-
-
-#endif /* __SENDF_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/setup-os400.h b/Utilities/cmcurl-7.19.0/lib/setup-os400.h
deleted file mode 100644
index bf89975..0000000
--- a/Utilities/cmcurl-7.19.0/lib/setup-os400.h
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef __SETUP_OS400_H
-#define __SETUP_OS400_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-
-/* OS/400 netdb.h does not define NI_MAXHOST. */
-#define NI_MAXHOST 1025
-
-/* OS/400 netdb.h does not define NI_MAXSERV. */
-#define NI_MAXSERV 32
-
-/* OS/400 does not define the ifr_dstaddr union member. */
-#define ifr_dstaddr ifr_addr
-
-/* No OS/400 header file defines u_int32_t. */
-typedef unsigned long u_int32_t;
-
-
-/* System API wrapper prototypes and definitions to support ASCII parameters. */
-
-#include <sys/socket.h>
-#include <netdb.h>
-#include <qsossl.h>
-#include <gssapi.h>
-
-extern int Curl_getaddrinfo_a(const char * nodename, const char * servname,
- const struct addrinfo * hints,
- struct addrinfo * * res);
-#define getaddrinfo Curl_getaddrinfo_a
-
-
-extern int Curl_getnameinfo_a(const struct sockaddr * sa, socklen_t salen,
- char * nodename, socklen_t nodenamelen,
- char * servname, socklen_t servnamelen,
- int flags);
-#define getnameinfo Curl_getnameinfo_a
-
-
-/* SSL wrappers. */
-
-extern int Curl_inet_ntoa_r_a(struct in_addr internet_address,
- char * output_buffer,
- int output_buffer_length);
-#define inet_ntoa_r Curl_inet_ntoa_r_a
-
-
-extern int Curl_SSL_Init_Application_a(SSLInitApp * init_app);
-#define SSL_Init_Application Curl_SSL_Init_Application_a
-
-
-extern int Curl_SSL_Init_a(SSLInit * init);
-#define SSL_Init Curl_SSL_Init_a
-
-
-extern char * Curl_SSL_Strerror_a(int sslreturnvalue, SSLErrorMsg * serrmsgp);
-#define SSL_Strerror Curl_SSL_Strerror_a
-
-
-/* GSSAPI wrappers. */
-
-extern OM_uint32 Curl_gss_import_name_a(OM_uint32 * minor_status,
- gss_buffer_t in_name,
- gss_OID in_name_type,
- gss_name_t * out_name);
-#define gss_import_name Curl_gss_import_name_a
-
-
-extern OM_uint32 Curl_gss_display_status_a(OM_uint32 * minor_status,
- OM_uint32 status_value,
- int status_type, gss_OID mech_type,
- gss_msg_ctx_t * message_context,
- gss_buffer_t status_string);
-#define gss_display_status Curl_gss_display_status_a
-
-
-extern OM_uint32 Curl_gss_init_sec_context_a(OM_uint32 * minor_status,
- gss_cred_id_t cred_handle,
- gss_ctx_id_t * context_handle,
- gss_name_t target_name,
- gss_OID mech_type,
- gss_flags_t req_flags,
- OM_uint32 time_req,
- gss_channel_bindings_t
- input_chan_bindings,
- gss_buffer_t input_token,
- gss_OID * actual_mech_type,
- gss_buffer_t output_token,
- gss_flags_t * ret_flags,
- OM_uint32 * time_rec);
-#define gss_init_sec_context Curl_gss_init_sec_context_a
-
-
-extern OM_uint32 Curl_gss_delete_sec_context_a(OM_uint32 * minor_status,
- gss_ctx_id_t * context_handle,
- gss_buffer_t output_token);
-#define gss_delete_sec_context Curl_gss_delete_sec_context_a
-
-/* LDAP wrappers. */
-
-#define BerValue struct berval
-
-#define ldap_url_parse ldap_url_parse_utf8
-#define ldap_init Curl_ldap_init_a
-#define ldap_simple_bind_s Curl_ldap_simple_bind_s_a
-#define ldap_search_s Curl_ldap_search_s_a
-#define ldap_get_values_len Curl_ldap_get_values_len_a
-#define ldap_err2string Curl_ldap_err2string_a
-#define ldap_get_dn Curl_ldap_get_dn_a
-#define ldap_first_attribute Curl_ldap_first_attribute_a
-#define ldap_next_attribute Curl_ldap_next_attribute_a
-
-/* Some socket functions must be wrapped to process textual addresses
- like AF_UNIX. */
-
-extern int Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen);
-extern int Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen);
-extern int Curl_os400_sendto(int sd, char * buffer, int buflen, int flags,
- struct sockaddr * dstaddr, int addrlen);
-extern int Curl_os400_recvfrom(int sd, char * buffer, int buflen, int flags,
- struct sockaddr * fromaddr, int * addrlen);
-
-#define connect Curl_os400_connect
-#define bind Curl_os400_bind
-#define sendto Curl_os400_sendto
-#define recvfrom Curl_os400_recvfrom
-
-
-#endif /* __SETUP_OS400_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/setup.h b/Utilities/cmcurl-7.19.0/lib/setup.h
deleted file mode 100644
index 8648961..0000000
--- a/Utilities/cmcurl-7.19.0/lib/setup.h
+++ /dev/null
@@ -1,496 +0,0 @@
-#ifndef __LIB_CURL_SETUP_H
-#define __LIB_CURL_SETUP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Define WIN32 when build target is Win32 API
- */
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && !defined(__SYMBIAN32__)
-#define WIN32
-#endif
-
-/*
- * Include configuration script results or hand-crafted
- * configuration file for platforms which lack config tool.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-
-#ifdef _WIN32_WCE
-#include "config-win32ce.h"
-#else
-#ifdef WIN32
-#include "config-win32.h"
-#endif
-#endif
-
-#ifdef macintosh
-#include "config-mac.h"
-#endif
-
-#ifdef __AMIGA__
-#include "amigaos.h"
-#endif
-
-#ifdef __SYMBIAN32__
-#include "config-symbian.h"
-#endif
-
-#ifdef __OS400__
-# include "config-os400.h"
-#endif
-
-#ifdef TPF
-#include "config-tpf.h" /* hand-modified TPF config.h */
-/* change which select is used for libcurl */
-#define select(a,b,c,d,e) tpf_select_libcurl(a,b,c,d,e)
-#endif
-
-#endif /* HAVE_CONFIG_H */
-
-/* ================================================================ */
-/* Definition of preprocessor macros/symbols which modify compiler */
-/* behaviour or generated code characteristics must be done here, */
-/* as appropriate, before any system header file is included. It is */
-/* also possible to have them defined in the config file included */
-/* before this point. As a result of all this we frown inclusion of */
-/* system header files in our config files, avoid this at any cost. */
-/* ================================================================ */
-
-/*
- * Tru64 needs _REENTRANT set for a few function prototypes and
- * things to appear in the system header files. Unixware needs it
- * to build proper reentrant code. Others may also need it.
- */
-
-#ifdef NEED_REENTRANT
-# ifndef _REENTRANT
-# define _REENTRANT
-# endif
-#endif
-
-/* ================================================================ */
-/* If you need to include a system header file for your platform, */
-/* please, do it beyond the point further indicated in this file. */
-/* ================================================================ */
-
-/*
- * libcurl's external interface definitions are also used internally,
- * and might also include required system header files to define them.
- */
-
-#include <curl/curlbuild.h>
-
-/*
- * Compile time sanity checks must also be done when building the library.
- */
-
-#include <curl/curlrules.h>
-
-/*
- * Ensure that no one is using the old SIZEOF_CURL_OFF_T macro
- */
-
-#ifdef SIZEOF_CURL_OFF_T
-# error "SIZEOF_CURL_OFF_T shall not be defined!"
- Error Compilation_aborted_SIZEOF_CURL_OFF_T_shall_not_be_defined
-#endif
-
-/*
- * Set up internal curl_off_t formatting string directives for
- * exclusive use with libcurl's internal *printf functions.
- */
-
-#ifdef FORMAT_OFF_T
-# error "FORMAT_OFF_T shall not be defined before this point!"
- Error Compilation_aborted_FORMAT_OFF_T_already_defined
-#endif
-
-#ifdef FORMAT_OFF_TU
-# error "FORMAT_OFF_TU shall not be defined before this point!"
- Error Compilation_aborted_FORMAT_OFF_TU_already_defined
-#endif
-
-#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG)
-# define FORMAT_OFF_T "lld"
-# define FORMAT_OFF_TU "llu"
-#else
-# define FORMAT_OFF_T "ld"
-# define FORMAT_OFF_TU "lu"
-#endif
-
-/*
- * Disable other protocols when http is the only one desired.
- */
-
-#ifdef HTTP_ONLY
-# define CURL_DISABLE_TFTP
-# define CURL_DISABLE_FTP
-# define CURL_DISABLE_LDAP
-# define CURL_DISABLE_TELNET
-# define CURL_DISABLE_DICT
-# define CURL_DISABLE_FILE
-#endif
-
-/* ================================================================ */
-/* No system header file shall be included in this file before this */
-/* point. The only allowed ones are those included from curlbuild.h */
-/* ================================================================ */
-
-/*
- * OS/400 setup file includes some system headers.
- */
-
-#ifdef __OS400__
-# include "setup-os400.h"
-#endif
-
-/*
- * Include header files for windows builds before redefining anything.
- * Use this preproessor block only to include or exclude windows.h,
- * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
- * to any other further and independant block. Under Cygwin things work
- * just as under linux (e.g. <sys/socket.h>) and the winsock headers should
- * never be included when __CYGWIN__ is defined. configure script takes
- * care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
- * neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
- */
-
-#ifdef HAVE_WINDOWS_H
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-# endif
-# include <windows.h>
-# ifdef HAVE_WINSOCK2_H
-# include <winsock2.h>
-# ifdef HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
-# endif
-# else
-# ifdef HAVE_WINSOCK_H
-# include <winsock.h>
-# endif
-# endif
-#endif
-
-/*
- * Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
- * define USE_WINSOCK to 1 if we have and use WINSOCK API, else
- * undefine USE_WINSOCK.
- */
-
-#undef USE_WINSOCK
-
-#ifdef HAVE_WINSOCK2_H
-# define USE_WINSOCK 2
-#else
-# ifdef HAVE_WINSOCK_H
-# define USE_WINSOCK 1
-# endif
-#endif
-
-#ifdef HAVE_EXTRA_STRICMP_H
-# include <extra/stricmp.h>
-#endif
-
-#ifdef HAVE_EXTRA_STRDUP_H
-# include <extra/strdup.h>
-#endif
-
-#ifdef TPF
-# include <strings.h> /* for bzero, strcasecmp, and strncasecmp */
-# include <string.h> /* for strcpy and strlen */
-# include <stdlib.h> /* for rand and srand */
-# include <sys/socket.h> /* for select and ioctl*/
-# include <netdb.h> /* for in_addr_t definition */
-# include <tpf/sysapi.h> /* for tpf_process_signals */
-#endif
-
-#include <stdio.h>
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#endif
-#include <errno.h>
-
-#ifdef __TANDEM /* for nsr-tandem-nsk systems */
-#include <floss.h>
-#endif
-
-#ifndef STDC_HEADERS /* no standard C headers! */
-#include <curl/stdcheaders.h>
-#endif
-
-/*
- * PellesC kludge section (yikes);
- * - It has 'ssize_t', but it is in <unistd.h>. The way the headers
- * on Win32 are included, forces me to include this header here.
- * - sys_nerr, EINTR is missing in v4.0 or older.
- */
-#ifdef __POCC__
- #include <sys/types.h>
- #include <unistd.h>
- #if (__POCC__ <= 400)
- #define sys_nerr EILSEQ /* for strerror.c */
- #define EINTR -1 /* for select.c */
- #endif
-#endif
-
-/*
- * Salford-C kludge section (mostly borrowed from wxWidgets).
- */
-#ifdef __SALFORDC__
- #pragma suppress 353 /* Possible nested comments */
- #pragma suppress 593 /* Define not used */
- #pragma suppress 61 /* enum has no name */
- #pragma suppress 106 /* unnamed, unused parameter */
- #include <clib.h>
-#endif
-
-/*
- * Large file (>2Gb) support using WIN32 functions.
- */
-
-#ifdef USE_WIN32_LARGE_FILES
-# include <io.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-# define lseek(fdes,offset,whence) _lseeki64(fdes, offset, whence)
-# define fstat(fdes,stp) _fstati64(fdes, stp)
-# define stat(fname,stp) _stati64(fname, stp)
-# define struct_stat struct _stati64
-#endif
-
-/*
- * Small file (<2Gb) support using WIN32 functions.
- */
-
-#ifdef USE_WIN32_SMALL_FILES
-# include <io.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-# define lseek(fdes,offset,whence) _lseek(fdes, (long)offset, whence)
-# define fstat(fdes,stp) _fstat(fdes, stp)
-# define stat(fname,stp) _stat(fname, stp)
-# define struct_stat struct _stat
-#endif
-
-#ifndef struct_stat
-# define struct_stat struct stat
-#endif
-
-/*
- * Default sizeof(off_t) in case it hasn't been defined in config file.
- */
-
-#ifndef SIZEOF_OFF_T
-# if defined(__VMS) && (defined(__alpha) || defined(__ia64))
-# if defined(_LARGEFILE)
-# define SIZEOF_OFF_T 8
-# endif
-# elif defined(__OS400__) && defined(__ILEC400__)
-# if defined(_LARGE_FILES)
-# define SIZEOF_OFF_T 8
-# endif
-# elif defined(__MVS__) && defined(__IBMC__)
-# if defined(_LP64) || defined(_LARGE_FILES)
-# define SIZEOF_OFF_T 8
-# endif
-# elif defined(__370__) && defined(__IBMC__)
-# if defined(_LP64) || defined(_LARGE_FILES)
-# define SIZEOF_OFF_T 8
-# endif
-# endif
-# ifndef SIZEOF_OFF_T
-# define SIZEOF_OFF_T 4
-# endif
-#endif
-
-/* Below we define some functions. They should
- 1. close a socket
-
- 4. set the SIGALRM signal timeout
- 5. set dir/file naming defines
- */
-
-#ifdef WIN32
-
-#if !defined(__CYGWIN__)
-#define sclose(x) closesocket(x)
-
-#undef HAVE_ALARM
-#else
- /* gcc-for-win is still good :) */
-#define sclose(x) close(x)
-#define HAVE_ALARM
-#endif /* !GNU or mingw */
-
-#define DIR_CHAR "\\"
-#define DOT_CHAR "_"
-
-#else /* WIN32 */
-
-#ifdef MSDOS /* Watt-32 */
-#include <sys/ioctl.h>
-#define sclose(x) close_s(x)
-#define select(n,r,w,x,t) select_s(n,r,w,x,t)
-#define ioctl(x,y,z) ioctlsocket(x,y,(char *)(z))
-#define IOCTL_3_ARGS
-#include <tcp.h>
-#ifdef word
-#undef word
-#endif
-#ifdef byte
-#undef byte
-#endif
-
-#else /* MSDOS */
-
-#ifdef __BEOS__
-#define sclose(x) closesocket(x)
-#else /* __BEOS__ */
-#define sclose(x) close(x)
-#endif /* __BEOS__ */
-
-#define HAVE_ALARM
-
-#endif /* MSDOS */
-
-#ifdef _AMIGASF
-#undef HAVE_ALARM
-#undef sclose
-#define sclose(x) CloseSocket(x)
-#endif
-
-#ifdef __minix
-/* Minix 3 versions up to at least 3.1.3 are missing these prototypes */
-extern char * strtok_r(char *s, const char *delim, char **last);
-extern struct tm * gmtime_r(const time_t * const timep, struct tm *tmp);
-#endif
-
-#ifdef __SYMBIAN32__
-#undef HAVE_ALARM
-#endif
-
-#define DIR_CHAR "/"
-#ifndef DOT_CHAR
-#define DOT_CHAR "."
-#endif
-
-#ifdef MSDOS
-#undef DOT_CHAR
-#define DOT_CHAR "_"
-#endif
-
-#ifndef fileno /* sunos 4 have this as a macro! */
-int fileno( FILE *stream);
-#endif
-
-#endif /* WIN32 */
-
-#if defined(WIN32) && !defined(__CYGWIN__) && !defined(USE_ARES) && \
- !defined(__LCC__) /* lcc-win32 doesn't have _beginthreadex() */
-#ifdef ENABLE_IPV6
-#define USE_THREADING_GETADDRINFO
-#else
-#define USE_THREADING_GETHOSTBYNAME /* Cygwin uses alarm() function */
-#endif
-#endif
-
-/* "cl -ML" or "cl -MLd" implies a single-threaded runtime library where
- _beginthreadex() is not available */
-#if (defined(_MSC_VER) && !defined(__POCC__)) && !defined(_MT) && !defined(USE_ARES)
-#undef USE_THREADING_GETADDRINFO
-#undef USE_THREADING_GETHOSTBYNAME
-#define CURL_NO__BEGINTHREADEX
-#endif
-
-/*
- * msvc 6.0 does not have struct sockaddr_storage and
- * does not define IPPROTO_ESP in winsock2.h. But both
- * are available if PSDK is properly installed.
- */
-
-#ifdef _MSC_VER
-#if !defined(HAVE_WINSOCK2_H) || ((_MSC_VER < 1300) && !defined(IPPROTO_ESP))
-#undef HAVE_STRUCT_SOCKADDR_STORAGE
-#endif
-#endif
-
-#ifdef mpeix
-#define IOCTL_3_ARGS
-#endif
-
-#ifdef NETWARE
-int netware_init(void);
-#ifndef __NOVELL_LIBC__
-#include <sys/bsdskt.h>
-#include <sys/timeval.h>
-#endif
-#undef HAVE_ALARM
-#endif
-
-#if defined(HAVE_LIBIDN) && defined(HAVE_TLD_H)
-/* The lib was present and the tld.h header (which is missing in libidn 0.3.X
- but we only work with libidn 0.4.1 or later) */
-#define USE_LIBIDN
-#endif
-
-#ifndef SIZEOF_TIME_T
-/* assume default size of time_t to be 32 bit */
-#define SIZEOF_TIME_T 4
-#endif
-
-#define LIBIDN_REQUIRED_VERSION "0.4.1"
-
-#ifdef __UCLIBC__
-#define HAVE_INET_NTOA_R_2_ARGS 1
-#endif
-
-#if defined(USE_GNUTLS) || defined(USE_SSLEAY) || defined(USE_NSS) || defined(USE_QSOSSL)
-#define USE_SSL /* SSL support has been enabled */
-#endif
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_NTLM)
-#if defined(USE_SSLEAY) || defined(USE_WINDOWS_SSPI)
-#define USE_NTLM
-#endif
-#endif
-
-/* non-configure builds may define CURL_WANTS_CA_BUNDLE_ENV */
-#if defined(CURL_WANTS_CA_BUNDLE_ENV) && !defined(CURL_CA_BUNDLE)
-#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")
-#endif
-
-/*
- * Include macros and defines that should only be processed once.
- */
-
-#ifndef __SETUP_ONCE_H
-#include "setup_once.h"
-#endif
-
-#endif /* __LIB_CURL_SETUP_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/setup_once.h b/Utilities/cmcurl-7.19.0/lib/setup_once.h
deleted file mode 100644
index 90c5de1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/setup_once.h
+++ /dev/null
@@ -1,530 +0,0 @@
-#ifndef __SETUP_ONCE_H
-#define __SETUP_ONCE_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-
-/********************************************************************
- * NOTICE *
- * ======== *
- * *
- * Content of header files lib/setup_once.h and ares/setup_once.h *
- * must be kept in sync. Modify the other one if you change this. *
- * *
- ********************************************************************/
-
-
-/*
- * Inclusion of common header files.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#ifdef TIME_WITH_SYS_TIME
-#include <time.h>
-#endif
-#else
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#endif
-
-#ifdef WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-
-
-/*
- * Definition of timeval struct for platforms that don't have it.
- */
-
-#ifndef HAVE_STRUCT_TIMEVAL
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-#endif
-
-
-/*
- * If we have the MSG_NOSIGNAL define, make sure we use
- * it as the fourth argument of function send()
- */
-
-#ifdef HAVE_MSG_NOSIGNAL
-#define SEND_4TH_ARG MSG_NOSIGNAL
-#else
-#define SEND_4TH_ARG 0
-#endif
-
-
-/*
- * Windows build targets have socklen_t definition in
- * ws2tcpip.h but some versions of ws2tcpip.h do not
- * have the definition. It seems that when the socklen_t
- * definition is missing from ws2tcpip.h the definition
- * for INET_ADDRSTRLEN is also missing, and that when one
- * definition is present the other one also is available.
- */
-
-#if defined(WIN32) && !defined(HAVE_CONFIG_H)
-# if ( defined(_MSC_VER) && !defined(INET_ADDRSTRLEN) ) || \
- (!defined(_MSC_VER) && !defined(HAVE_WS2TCPIP_H) )
-# define socklen_t int
-# endif
-#endif
-
-
-#if defined(__minix)
-/* Minix doesn't support recv on TCP sockets */
-#define sread(x,y,z) (ssize_t)read((RECV_TYPE_ARG1)(x), \
- (RECV_TYPE_ARG2)(y), \
- (RECV_TYPE_ARG3)(z))
-
-#elif defined(HAVE_RECV)
-/*
- * The definitions for the return type and arguments types
- * of functions recv() and send() belong and come from the
- * configuration file. Do not define them in any other place.
- *
- * HAVE_RECV is defined if you have a function named recv()
- * which is used to read incoming data from sockets. If your
- * function has another name then don't define HAVE_RECV.
- *
- * If HAVE_RECV is defined then RECV_TYPE_ARG1, RECV_TYPE_ARG2,
- * RECV_TYPE_ARG3, RECV_TYPE_ARG4 and RECV_TYPE_RETV must also
- * be defined.
- *
- * HAVE_SEND is defined if you have a function named send()
- * which is used to write outgoing data on a connected socket.
- * If yours has another name then don't define HAVE_SEND.
- *
- * If HAVE_SEND is defined then SEND_TYPE_ARG1, SEND_QUAL_ARG2,
- * SEND_TYPE_ARG2, SEND_TYPE_ARG3, SEND_TYPE_ARG4 and
- * SEND_TYPE_RETV must also be defined.
- */
-
-#if !defined(RECV_TYPE_ARG1) || \
- !defined(RECV_TYPE_ARG2) || \
- !defined(RECV_TYPE_ARG3) || \
- !defined(RECV_TYPE_ARG4) || \
- !defined(RECV_TYPE_RETV)
- /* */
- Error Missing_definition_of_return_and_arguments_types_of_recv
- /* */
-#else
-#define sread(x,y,z) (ssize_t)recv((RECV_TYPE_ARG1)(x), \
- (RECV_TYPE_ARG2)(y), \
- (RECV_TYPE_ARG3)(z), \
- (RECV_TYPE_ARG4)(0))
-#endif
-#else /* HAVE_RECV */
-#ifndef sread
- /* */
- Error Missing_definition_of_macro_sread
- /* */
-#endif
-#endif /* HAVE_RECV */
-
-
-#if defined(__minix)
-/* Minix doesn't support send on TCP sockets */
-#define swrite(x,y,z) (ssize_t)write((SEND_TYPE_ARG1)(x), \
- (SEND_TYPE_ARG2)(y), \
- (SEND_TYPE_ARG3)(z))
-
-#elif defined(HAVE_SEND)
-#if !defined(SEND_TYPE_ARG1) || \
- !defined(SEND_QUAL_ARG2) || \
- !defined(SEND_TYPE_ARG2) || \
- !defined(SEND_TYPE_ARG3) || \
- !defined(SEND_TYPE_ARG4) || \
- !defined(SEND_TYPE_RETV)
- /* */
- Error Missing_definition_of_return_and_arguments_types_of_send
- /* */
-#else
-#define swrite(x,y,z) (ssize_t)send((SEND_TYPE_ARG1)(x), \
- (SEND_TYPE_ARG2)(y), \
- (SEND_TYPE_ARG3)(z), \
- (SEND_TYPE_ARG4)(SEND_4TH_ARG))
-#endif
-#else /* HAVE_SEND */
-#ifndef swrite
- /* */
- Error Missing_definition_of_macro_swrite
- /* */
-#endif
-#endif /* HAVE_SEND */
-
-
-#if 0
-#if defined(HAVE_RECVFROM)
-/*
- * Currently recvfrom is only used on udp sockets.
- */
-#if !defined(RECVFROM_TYPE_ARG1) || \
- !defined(RECVFROM_TYPE_ARG2) || \
- !defined(RECVFROM_TYPE_ARG3) || \
- !defined(RECVFROM_TYPE_ARG4) || \
- !defined(RECVFROM_TYPE_ARG5) || \
- !defined(RECVFROM_TYPE_ARG6) || \
- !defined(RECVFROM_TYPE_RETV)
- /* */
- Error Missing_definition_of_return_and_arguments_types_of_recvfrom
- /* */
-#else
-#define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1) (s), \
- (RECVFROM_TYPE_ARG2 *)(b), \
- (RECVFROM_TYPE_ARG3) (bl), \
- (RECVFROM_TYPE_ARG4) (0), \
- (RECVFROM_TYPE_ARG5 *)(f), \
- (RECVFROM_TYPE_ARG6 *)(fl))
-#endif
-#else /* HAVE_RECVFROM */
-#ifndef sreadfrom
- /* */
- Error Missing_definition_of_macro_sreadfrom
- /* */
-#endif
-#endif /* HAVE_RECVFROM */
-
-
-#ifdef RECVFROM_TYPE_ARG6_IS_VOID
-# define RECVFROM_ARG6_T int
-#else
-# define RECVFROM_ARG6_T RECVFROM_TYPE_ARG6
-#endif
-#endif /* if 0 */
-
-
-/*
- * Uppercase macro versions of ANSI/ISO is*() functions/macros which
- * avoid negative number inputs with argument byte codes > 127.
- */
-
-#define ISSPACE(x) (isspace((int) ((unsigned char)x)))
-#define ISDIGIT(x) (isdigit((int) ((unsigned char)x)))
-#define ISALNUM(x) (isalnum((int) ((unsigned char)x)))
-#define ISXDIGIT(x) (isxdigit((int) ((unsigned char)x)))
-#define ISGRAPH(x) (isgraph((int) ((unsigned char)x)))
-#define ISALPHA(x) (isalpha((int) ((unsigned char)x)))
-#define ISPRINT(x) (isprint((int) ((unsigned char)x)))
-#define ISUPPER(x) (isupper((int) ((unsigned char)x)))
-#define ISLOWER(x) (islower((int) ((unsigned char)x)))
-
-#define ISBLANK(x) (int)((((unsigned char)x) == ' ') || \
- (((unsigned char)x) == '\t'))
-
-
-/*
- * Typedef to 'unsigned char' if bool is not an available 'typedefed' type.
- */
-
-#ifndef HAVE_BOOL_T
-typedef unsigned char bool;
-#define HAVE_BOOL_T
-#endif
-
-
-/*
- * Default definition of uppercase TRUE and FALSE.
- */
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-
-/*
- * Typedef to 'int' if sig_atomic_t is not an available 'typedefed' type.
- */
-
-#ifndef HAVE_SIG_ATOMIC_T
-typedef int sig_atomic_t;
-#define HAVE_SIG_ATOMIC_T
-#endif
-
-
-/*
- * Convenience SIG_ATOMIC_T definition
- */
-
-#ifdef HAVE_SIG_ATOMIC_T_VOLATILE
-#define SIG_ATOMIC_T static sig_atomic_t
-#else
-#define SIG_ATOMIC_T static volatile sig_atomic_t
-#endif
-
-
-/*
- * Default return type for signal handlers.
- */
-
-#ifndef RETSIGTYPE
-#define RETSIGTYPE void
-#endif
-
-
-/*
- * Macro used to include code only in debug builds.
- */
-
-#ifdef CURLDEBUG
-#define DEBUGF(x) x
-#else
-#define DEBUGF(x) do { } while (0)
-#endif
-
-
-/*
- * Macro used to include assertion code only in debug builds.
- */
-
-#if defined(CURLDEBUG) && defined(HAVE_ASSERT_H)
-#define DEBUGASSERT(x) assert(x)
-#else
-#define DEBUGASSERT(x) do { } while (0)
-#endif
-
-
-/*
- * Macro SOCKERRNO / SET_SOCKERRNO() returns / sets the *socket-related* errno
- * (or equivalent) on this platform to hide platform details to code using it.
- */
-
-#ifdef USE_WINSOCK
-#define SOCKERRNO ((int)WSAGetLastError())
-#define SET_SOCKERRNO(x) (WSASetLastError((int)(x)))
-#else
-#define SOCKERRNO (errno)
-#define SET_SOCKERRNO(x) (errno = (x))
-#endif
-
-
-/*
- * Macro ERRNO / SET_ERRNO() returns / sets the NOT *socket-related* errno
- * (or equivalent) on this platform to hide platform details to code using it.
- */
-
-#ifdef WIN32
-#define ERRNO ((int)GetLastError())
-#define SET_ERRNO(x) (SetLastError((DWORD)(x)))
-#else
-#define ERRNO (errno)
-#define SET_ERRNO(x) (errno = (x))
-#endif
-
-
-/*
- * Portable error number symbolic names defined to Winsock error codes.
- */
-
-#ifdef USE_WINSOCK
-#undef EBADF /* override definition in errno.h */
-#define EBADF WSAEBADF
-#undef EINTR /* override definition in errno.h */
-#define EINTR WSAEINTR
-#undef EINVAL /* override definition in errno.h */
-#define EINVAL WSAEINVAL
-#define EWOULDBLOCK WSAEWOULDBLOCK
-#define EINPROGRESS WSAEINPROGRESS
-#define EALREADY WSAEALREADY
-#define ENOTSOCK WSAENOTSOCK
-#define EDESTADDRREQ WSAEDESTADDRREQ
-#define EMSGSIZE WSAEMSGSIZE
-#define EPROTOTYPE WSAEPROTOTYPE
-#define ENOPROTOOPT WSAENOPROTOOPT
-#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
-#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
-#define EOPNOTSUPP WSAEOPNOTSUPP
-#define EPFNOSUPPORT WSAEPFNOSUPPORT
-#define EAFNOSUPPORT WSAEAFNOSUPPORT
-#define EADDRINUSE WSAEADDRINUSE
-#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
-#define ENETDOWN WSAENETDOWN
-#define ENETUNREACH WSAENETUNREACH
-#define ENETRESET WSAENETRESET
-#define ECONNABORTED WSAECONNABORTED
-#define ECONNRESET WSAECONNRESET
-#define ENOBUFS WSAENOBUFS
-#define EISCONN WSAEISCONN
-#define ENOTCONN WSAENOTCONN
-#define ESHUTDOWN WSAESHUTDOWN
-#define ETOOMANYREFS WSAETOOMANYREFS
-#define ETIMEDOUT WSAETIMEDOUT
-#define ECONNREFUSED WSAECONNREFUSED
-#define ELOOP WSAELOOP
-#ifndef ENAMETOOLONG /* possible previous definition in errno.h */
-#define ENAMETOOLONG WSAENAMETOOLONG
-#endif
-#define EHOSTDOWN WSAEHOSTDOWN
-#define EHOSTUNREACH WSAEHOSTUNREACH
-#ifndef ENOTEMPTY /* possible previous definition in errno.h */
-#define ENOTEMPTY WSAENOTEMPTY
-#endif
-#define EPROCLIM WSAEPROCLIM
-#define EUSERS WSAEUSERS
-#define EDQUOT WSAEDQUOT
-#define ESTALE WSAESTALE
-#define EREMOTE WSAEREMOTE
-#endif
-
-
-/*
- * Actually use __32_getpwuid() on 64-bit VMS builds for getpwuid()
- */
-
-#if defined(VMS) && \
- defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
-#define getpwuid __32_getpwuid
-#endif
-
-
-/*
- * Macro argv_item_t hides platform details to code using it.
- */
-
-#ifdef VMS
-#define argv_item_t __char_ptr32
-#else
-#define argv_item_t char *
-#endif
-
-
-/*
- * We use this ZERO_NULL to avoid picky compiler warnings,
- * when assigning a NULL pointer to a function pointer var.
- */
-
-#define ZERO_NULL 0
-
-
-#if defined (__LP64__) && defined(__hpux) && !defined(_XOPEN_SOURCE_EXTENDED)
-#include <sys/socket.h>
-/* HP-UX has this oddity where it features a few functions that don't work
- with socklen_t so we need to convert to ints
-
- This is due to socklen_t being a 64bit int under 64bit ABI, but the
- pre-xopen (default) interfaces require an int, which is 32bits.
-
- Therefore, Anytime socklen_t is passed by pointer, the libc function
- truncates the 64bit socklen_t value by treating it as a 32bit value.
-
-
- Note that some socket calls are allowed to have a NULL pointer for
- the socklen arg.
-*/
-
-inline static int Curl_hp_getsockname(int s, struct sockaddr *name,
- socklen_t *namelen)
-{
- int rc;
- if(namelen) {
- int len = *namelen;
- rc = getsockname(s, name, &len);
- *namelen = len;
- }
- else
- rc = getsockname(s, name, 0);
- return rc;
-}
-
-inline static int Curl_hp_getsockopt(int s, int level, int optname,
- void *optval, socklen_t *optlen)
-{
- int rc;
- if(optlen) {
- int len = *optlen;
- rc = getsockopt(s, level, optname, optval, &len);
- *optlen = len;
- }
- else
- rc = getsockopt(s, level, optname, optval, 0);
- return rc;
-}
-
-inline static int Curl_hp_accept(int sockfd, struct sockaddr *addr,
- socklen_t *addrlen)
-{
- int rc;
- if(addrlen) {
- int len = *addrlen;
- rc = accept(sockfd, addr, &len);
- *addrlen = len;
- }
- else
- rc = accept(sockfd, addr, 0);
- return rc;
-}
-
-
-inline static ssize_t Curl_hp_recvfrom(int s, void *buf, size_t len, int flags,
- struct sockaddr *from,
- socklen_t *fromlen)
-{
- ssize_t rc;
- if(fromlen) {
- int fromlen32 = *fromlen;
- rc = recvfrom(s, buf, len, flags, from, &fromlen32);
- *fromlen = fromlen32;
- }
- else {
- rc = recvfrom(s, buf, len, flags, from, 0);
- }
- return rc;
-}
-
-#define getsockname(a,b,c) Curl_hp_getsockname((a),(b),(c))
-#define getsockopt(a,b,c,d,e) Curl_hp_getsockopt((a),(b),(c),(d),(e))
-#define accept(a,b,c) Curl_hp_accept((a),(b),(c))
-#define recvfrom(a,b,c,d,e,f) Curl_hp_recvfrom((a),(b),(c),(d),(e),(f))
-
-#endif /* HPUX work-around */
-
-
-#endif /* __SETUP_ONCE_H */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/share.c b/Utilities/cmcurl-7.19.0/lib/share.c
deleted file mode 100644
index 3a5f072..0000000
--- a/Utilities/cmcurl-7.19.0/lib/share.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <curl/curl.h>
-#include "urldata.h"
-#include "share.h"
-#include "memory.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-CURLSH *
-curl_share_init(void)
-{
- struct Curl_share *share =
- (struct Curl_share *)malloc(sizeof(struct Curl_share));
- if(share) {
- memset (share, 0, sizeof(struct Curl_share));
- share->specifier |= (1<<CURL_LOCK_DATA_SHARE);
- }
-
- return share;
-}
-
-#undef curl_share_setopt
-CURLSHcode
-curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
-{
- struct Curl_share *share = (struct Curl_share *)sh;
- va_list param;
- int type;
- curl_lock_function lockfunc;
- curl_unlock_function unlockfunc;
- void *ptr;
-
- if(share->dirty)
- /* don't allow setting options while one or more handles are already
- using this share */
- return CURLSHE_IN_USE;
-
- va_start(param, option);
-
- switch(option) {
- case CURLSHOPT_SHARE:
- /* this is a type this share will share */
- type = va_arg(param, int);
- share->specifier |= (1<<type);
- switch( type ) {
- case CURL_LOCK_DATA_DNS:
- if(!share->hostcache) {
- share->hostcache = Curl_mk_dnscache();
- if(!share->hostcache)
- return CURLSHE_NOMEM;
- }
- break;
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
- case CURL_LOCK_DATA_COOKIE:
- if(!share->cookies) {
- share->cookies = Curl_cookie_init(NULL, NULL, NULL, TRUE );
- if(!share->cookies)
- return CURLSHE_NOMEM;
- }
- break;
-#endif /* CURL_DISABLE_HTTP */
-
- case CURL_LOCK_DATA_SSL_SESSION: /* not supported (yet) */
- case CURL_LOCK_DATA_CONNECT: /* not supported (yet) */
-
- default:
- return CURLSHE_BAD_OPTION;
- }
- break;
-
- case CURLSHOPT_UNSHARE:
- /* this is a type this share will no longer share */
- type = va_arg(param, int);
- share->specifier &= ~(1<<type);
- switch( type )
- {
- case CURL_LOCK_DATA_DNS:
- if(share->hostcache) {
- Curl_hash_destroy(share->hostcache);
- share->hostcache = NULL;
- }
- break;
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
- case CURL_LOCK_DATA_COOKIE:
- if(share->cookies) {
- Curl_cookie_cleanup(share->cookies);
- share->cookies = NULL;
- }
- break;
-#endif /* CURL_DISABLE_HTTP */
-
- case CURL_LOCK_DATA_SSL_SESSION:
- break;
-
- case CURL_LOCK_DATA_CONNECT:
- break;
-
- default:
- return CURLSHE_BAD_OPTION;
- }
- break;
-
- case CURLSHOPT_LOCKFUNC:
- lockfunc = va_arg(param, curl_lock_function);
- share->lockfunc = lockfunc;
- break;
-
- case CURLSHOPT_UNLOCKFUNC:
- unlockfunc = va_arg(param, curl_unlock_function);
- share->unlockfunc = unlockfunc;
- break;
-
- case CURLSHOPT_USERDATA:
- ptr = va_arg(param, void *);
- share->clientdata = ptr;
- break;
-
- default:
- return CURLSHE_BAD_OPTION;
- }
-
- return CURLSHE_OK;
-}
-
-CURLSHcode
-curl_share_cleanup(CURLSH *sh)
-{
- struct Curl_share *share = (struct Curl_share *)sh;
-
- if(share == NULL)
- return CURLSHE_INVALID;
-
- if(share->lockfunc)
- share->lockfunc(NULL, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE,
- share->clientdata);
-
- if(share->dirty) {
- if(share->unlockfunc)
- share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata);
- return CURLSHE_IN_USE;
- }
-
- if(share->hostcache)
- Curl_hash_destroy(share->hostcache);
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
- if(share->cookies)
- Curl_cookie_cleanup(share->cookies);
-#endif /* CURL_DISABLE_HTTP */
-
- if(share->unlockfunc)
- share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata);
- free(share);
-
- return CURLSHE_OK;
-}
-
-
-CURLSHcode
-Curl_share_lock(struct SessionHandle *data, curl_lock_data type,
- curl_lock_access accesstype)
-{
- struct Curl_share *share = data->share;
-
- if(share == NULL)
- return CURLSHE_INVALID;
-
- if(share->specifier & (1<<type)) {
- if(share->lockfunc) /* only call this if set! */
- share->lockfunc(data, type, accesstype, share->clientdata);
- }
- /* else if we don't share this, pretend successful lock */
-
- return CURLSHE_OK;
-}
-
-CURLSHcode
-Curl_share_unlock(struct SessionHandle *data, curl_lock_data type)
-{
- struct Curl_share *share = data->share;
-
- if(share == NULL)
- return CURLSHE_INVALID;
-
- if(share->specifier & (1<<type)) {
- if(share->unlockfunc) /* only call this if set! */
- share->unlockfunc (data, type, share->clientdata);
- }
-
- return CURLSHE_OK;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/share.h b/Utilities/cmcurl-7.19.0/lib/share.h
deleted file mode 100644
index 5cfe8c7..0000000
--- a/Utilities/cmcurl-7.19.0/lib/share.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef __CURL_SHARE_H
-#define __CURL_SHARE_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-#include <curl/curl.h>
-#include "cookie.h"
-
-/* SalfordC says "A structure member may not be volatile". Hence:
- */
-#ifdef __SALFORDC__
-#define CURL_VOLATILE
-#else
-#define CURL_VOLATILE volatile
-#endif
-
-/* this struct is libcurl-private, don't export details */
-struct Curl_share {
- unsigned int specifier;
- CURL_VOLATILE unsigned int dirty;
-
- curl_lock_function lockfunc;
- curl_unlock_function unlockfunc;
- void *clientdata;
-
- struct curl_hash *hostcache;
- struct CookieInfo *cookies;
-};
-
-CURLSHcode Curl_share_lock (struct SessionHandle *, curl_lock_data,
- curl_lock_access);
-CURLSHcode Curl_share_unlock (struct SessionHandle *, curl_lock_data);
-
-#endif /* __CURL_SHARE_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/sockaddr.h b/Utilities/cmcurl-7.19.0/lib/sockaddr.h
deleted file mode 100644
index 78dad4d..0000000
--- a/Utilities/cmcurl-7.19.0/lib/sockaddr.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef __SOCKADDR_H
-#define __SOCKADDR_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
-struct Curl_sockaddr_storage {
- struct sockaddr_storage buffer;
-};
-#else
-struct Curl_sockaddr_storage {
- char buffer[256]; /* this should be big enough to fit a lot */
-};
-#endif
-
-#endif /* __SOCKADDR_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/socks.c b/Utilities/cmcurl-7.19.0/lib/socks.c
deleted file mode 100644
index d2cb655..0000000
--- a/Utilities/cmcurl-7.19.0/lib/socks.c
+++ /dev/null
@@ -1,688 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-
-#ifdef NEED_MALLOC_H
-#include <malloc.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "strequal.h"
-#include "select.h"
-#include "connect.h"
-#include "timeval.h"
-#include "socks.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/*
- * Helper read-from-socket functions. Does the same as Curl_read() but it
- * blocks until all bytes amount of buffersize will be read. No more, no less.
- *
- * This is STUPID BLOCKING behaviour which we frown upon, but right now this
- * is what we have...
- */
-static int blockread_all(struct connectdata *conn, /* connection data */
- curl_socket_t sockfd, /* read from this socket */
- char *buf, /* store read data here */
- ssize_t buffersize, /* max amount to read */
- ssize_t *n, /* amount bytes read */
- long conn_timeout) /* timeout for data wait
- relative to
- conn->created */
-{
- ssize_t nread;
- ssize_t allread = 0;
- int result;
- struct timeval tvnow;
- long conntime;
- *n = 0;
- do {
- tvnow = Curl_tvnow();
- /* calculating how long connection is establishing */
- conntime = Curl_tvdiff(tvnow, conn->created);
- if(conntime > conn_timeout) {
- /* we already got the timeout */
- result = ~CURLE_OK;
- break;
- }
- if(Curl_socket_ready(sockfd, CURL_SOCKET_BAD,
- (int)(conn_timeout - conntime)) <= 0) {
- result = ~CURLE_OK;
- break;
- }
- result = Curl_read(conn, sockfd, buf, buffersize, &nread);
- if(result)
- break;
-
- if(buffersize == nread) {
- allread += nread;
- *n = allread;
- result = CURLE_OK;
- break;
- }
- if(!nread) {
- result = ~CURLE_OK;
- break;
- }
-
- buffersize -= nread;
- buf += nread;
- allread += nread;
- } while(1);
- return result;
-}
-
-/*
-* This function logs in to a SOCKS4 proxy and sends the specifics to the final
-* destination server.
-*
-* Reference :
-* http://socks.permeo.com/protocol/socks4.protocol
-*
-* Note :
-* Set protocol4a=true for "SOCKS 4A (Simple Extension to SOCKS 4 Protocol)"
-* Nonsupport "Identification Protocol (RFC1413)"
-*/
-CURLcode Curl_SOCKS4(const char *proxy_name,
- const char *hostname,
- int remote_port,
- int sockindex,
- struct connectdata *conn,
- bool protocol4a)
-{
-#define SOCKS4REQLEN 262
- unsigned char socksreq[SOCKS4REQLEN]; /* room for SOCKS4 request incl. user
- id */
- int result;
- CURLcode code;
- curl_socket_t sock = conn->sock[sockindex];
- long timeout;
- struct SessionHandle *data = conn->data;
-
- /* get timeout */
- timeout = Curl_timeleft(conn, NULL, TRUE);
-
- if(timeout < 0) {
- /* time-out, bail out, go home */
- failf(data, "Connection time-out");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- Curl_nonblock(sock, FALSE);
-
- /*
- * Compose socks4 request
- *
- * Request format
- *
- * +----+----+----+----+----+----+----+----+----+----+....+----+
- * | VN | CD | DSTPORT | DSTIP | USERID |NULL|
- * +----+----+----+----+----+----+----+----+----+----+....+----+
- * # of bytes: 1 1 2 4 variable 1
- */
-
- socksreq[0] = 4; /* version (SOCKS4) */
- socksreq[1] = 1; /* connect */
- *((unsigned short*)&socksreq[2]) = htons((unsigned short)remote_port);
-
- /* DNS resolve only for SOCKS4, not SOCKS4a */
- if (!protocol4a) {
- struct Curl_dns_entry *dns;
- Curl_addrinfo *hp=NULL;
- int rc;
-
- rc = Curl_resolv(conn, hostname, remote_port, &dns);
-
- if(rc == CURLRESOLV_ERROR)
- return CURLE_COULDNT_RESOLVE_PROXY;
-
- if(rc == CURLRESOLV_PENDING)
- /* this requires that we're in "wait for resolve" state */
- rc = Curl_wait_for_resolv(conn, &dns);
-
- /*
- * We cannot use 'hostent' as a struct that Curl_resolv() returns. It
- * returns a Curl_addrinfo pointer that may not always look the same.
- */
- if(dns)
- hp=dns->addr;
- if(hp) {
- char buf[64];
- unsigned short ip[4];
- Curl_printable_address(hp, buf, sizeof(buf));
-
- if(4 == sscanf( buf, "%hu.%hu.%hu.%hu",
- &ip[0], &ip[1], &ip[2], &ip[3])) {
- /* Set DSTIP */
- socksreq[4] = (unsigned char)ip[0];
- socksreq[5] = (unsigned char)ip[1];
- socksreq[6] = (unsigned char)ip[2];
- socksreq[7] = (unsigned char)ip[3];
- }
- else
- hp = NULL; /* fail! */
-
- Curl_resolv_unlock(data, dns); /* not used anymore from now on */
-
- }
- if(!hp) {
- failf(data, "Failed to resolve \"%s\" for SOCKS4 connect.",
- hostname);
- return CURLE_COULDNT_RESOLVE_HOST;
- }
- }
-
- /*
- * This is currently not supporting "Identification Protocol (RFC1413)".
- */
- socksreq[8] = 0; /* ensure empty userid is NUL-terminated */
- if(proxy_name)
- strlcat((char*)socksreq + 8, proxy_name, sizeof(socksreq) - 8);
-
- /*
- * Make connection
- */
- {
- ssize_t actualread;
- ssize_t written;
- ssize_t hostnamelen = 0;
- int packetsize = 9 +
- (int)strlen((char*)socksreq + 8); /* size including NUL */
-
- /* If SOCKS4a, set special invalid IP address 0.0.0.x */
- if (protocol4a) {
- socksreq[4] = 0;
- socksreq[5] = 0;
- socksreq[6] = 0;
- socksreq[7] = 1;
- /* If still enough room in buffer, also append hostname */
- hostnamelen = (ssize_t)strlen(hostname) + 1; /* length including NUL */
- if (packetsize + hostnamelen <= SOCKS4REQLEN)
- strcpy((char*)socksreq + packetsize, hostname);
- else
- hostnamelen = 0; /* Flag: hostname did not fit in buffer */
- }
-
- /* Send request */
- code = Curl_write_plain(conn, sock, (char *)socksreq,
- packetsize + hostnamelen,
- &written);
- if((code != CURLE_OK) || (written != packetsize + hostnamelen)) {
- failf(data, "Failed to send SOCKS4 connect request.");
- return CURLE_COULDNT_CONNECT;
- }
- if (protocol4a && hostnamelen == 0) {
- /* SOCKS4a with very long hostname - send that name separately */
- hostnamelen = (ssize_t)strlen(hostname) + 1;
- code = Curl_write_plain(conn, sock, (char *)hostname, hostnamelen,
- &written);
- if((code != CURLE_OK) || (written != hostnamelen)) {
- failf(data, "Failed to send SOCKS4 connect request.");
- return CURLE_COULDNT_CONNECT;
- }
- }
-
- packetsize = 8; /* receive data size */
-
- /* Receive response */
- result = blockread_all(conn, sock, (char *)socksreq, packetsize,
- &actualread, timeout);
- if((result != CURLE_OK) || (actualread != packetsize)) {
- failf(data, "Failed to receive SOCKS4 connect request ack.");
- return CURLE_COULDNT_CONNECT;
- }
-
- /*
- * Response format
- *
- * +----+----+----+----+----+----+----+----+
- * | VN | CD | DSTPORT | DSTIP |
- * +----+----+----+----+----+----+----+----+
- * # of bytes: 1 1 2 4
- *
- * VN is the version of the reply code and should be 0. CD is the result
- * code with one of the following values:
- *
- * 90: request granted
- * 91: request rejected or failed
- * 92: request rejected because SOCKS server cannot connect to
- * identd on the client
- * 93: request rejected because the client program and identd
- * report different user-ids
- */
-
- /* wrong version ? */
- if(socksreq[0] != 0) {
- failf(data,
- "SOCKS4 reply has wrong version, version should be 4.");
- return CURLE_COULDNT_CONNECT;
- }
-
- /* Result */
- switch(socksreq[1])
- {
- case 90:
- if (protocol4a)
- infof(data, "SOCKS4a request granted.\n");
- else
- infof(data, "SOCKS4 request granted.\n");
- break;
- case 91:
- failf(data,
- "Can't complete SOCKS4 connection to %d.%d.%d.%d:%d. (%d)"
- ", request rejected or failed.",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (unsigned int)ntohs(*(unsigned short*)(&socksreq[8])),
- socksreq[1]);
- return CURLE_COULDNT_CONNECT;
- case 92:
- failf(data,
- "Can't complete SOCKS4 connection to %d.%d.%d.%d:%d. (%d)"
- ", request rejected because SOCKS server cannot connect to "
- "identd on the client.",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (unsigned int)ntohs(*(unsigned short*)(&socksreq[8])),
- socksreq[1]);
- return CURLE_COULDNT_CONNECT;
- case 93:
- failf(data,
- "Can't complete SOCKS4 connection to %d.%d.%d.%d:%d. (%d)"
- ", request rejected because the client program and identd "
- "report different user-ids.",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (unsigned int)ntohs(*(unsigned short*)(&socksreq[8])),
- socksreq[1]);
- return CURLE_COULDNT_CONNECT;
- default:
- failf(data,
- "Can't complete SOCKS4 connection to %d.%d.%d.%d:%d. (%d)"
- ", Unknown.",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (unsigned int)ntohs(*(unsigned short*)(&socksreq[8])),
- socksreq[1]);
- return CURLE_COULDNT_CONNECT;
- }
- }
-
- Curl_nonblock(sock, TRUE);
-
- return CURLE_OK; /* Proxy was successful! */
-}
-
-/*
- * This function logs in to a SOCKS5 proxy and sends the specifics to the final
- * destination server.
- */
-CURLcode Curl_SOCKS5(const char *proxy_name,
- const char *proxy_password,
- const char *hostname,
- int remote_port,
- int sockindex,
- struct connectdata *conn)
-{
- /*
- According to the RFC1928, section "6. Replies". This is what a SOCK5
- replies:
-
- +----+-----+-------+------+----------+----------+
- |VER | REP | RSV | ATYP | BND.ADDR | BND.PORT |
- +----+-----+-------+------+----------+----------+
- | 1 | 1 | X'00' | 1 | Variable | 2 |
- +----+-----+-------+------+----------+----------+
-
- Where:
-
- o VER protocol version: X'05'
- o REP Reply field:
- o X'00' succeeded
- */
-
- unsigned char socksreq[600]; /* room for large user/pw (255 max each) */
- ssize_t actualread;
- ssize_t written;
- int result;
- CURLcode code;
- curl_socket_t sock = conn->sock[sockindex];
- struct SessionHandle *data = conn->data;
- long timeout;
- bool socks5_resolve_local = (bool)(data->set.proxytype == CURLPROXY_SOCKS5);
- const size_t hostname_len = strlen(hostname);
- ssize_t packetsize = 0;
-
- /* RFC1928 chapter 5 specifies max 255 chars for domain name in packet */
- if(!socks5_resolve_local && hostname_len > 255)
- {
- infof(conn->data,"SOCKS5: server resolving disabled for hostnames of "
- "length > 255 [actual len=%d]\n", hostname_len);
- socks5_resolve_local = TRUE;
- }
-
- /* get timeout */
- timeout = Curl_timeleft(conn, NULL, TRUE);
-
- if(timeout < 0) {
- /* time-out, bail out, go home */
- failf(data, "Connection time-out");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- Curl_nonblock(sock, TRUE);
-
- /* wait until socket gets connected */
- result = Curl_socket_ready(CURL_SOCKET_BAD, sock, (int)timeout);
-
- if(-1 == result) {
- failf(conn->data, "SOCKS5: no connection here");
- return CURLE_COULDNT_CONNECT;
- }
- else if(0 == result) {
- failf(conn->data, "SOCKS5: connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- if(result & CURL_CSELECT_ERR) {
- failf(conn->data, "SOCKS5: error occured during connection");
- return CURLE_COULDNT_CONNECT;
- }
-
- socksreq[0] = 5; /* version */
- socksreq[1] = (char)(proxy_name ? 2 : 1); /* number of methods (below) */
- socksreq[2] = 0; /* no authentication */
- socksreq[3] = 2; /* username/password */
-
- Curl_nonblock(sock, FALSE);
-
- code = Curl_write_plain(conn, sock, (char *)socksreq, (2 + (int)socksreq[1]),
- &written);
- if((code != CURLE_OK) || (written != (2 + (int)socksreq[1]))) {
- failf(data, "Unable to send initial SOCKS5 request.");
- return CURLE_COULDNT_CONNECT;
- }
-
- Curl_nonblock(sock, TRUE);
-
- result = Curl_socket_ready(sock, CURL_SOCKET_BAD, (int)timeout);
-
- if(-1 == result) {
- failf(conn->data, "SOCKS5 nothing to read");
- return CURLE_COULDNT_CONNECT;
- }
- else if(0 == result) {
- failf(conn->data, "SOCKS5 read timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- if(result & CURL_CSELECT_ERR) {
- failf(conn->data, "SOCKS5 read error occured");
- return CURLE_RECV_ERROR;
- }
-
- Curl_nonblock(sock, FALSE);
-
- result=blockread_all(conn, sock, (char *)socksreq, 2, &actualread, timeout);
- if((result != CURLE_OK) || (actualread != 2)) {
- failf(data, "Unable to receive initial SOCKS5 response.");
- return CURLE_COULDNT_CONNECT;
- }
-
- if(socksreq[0] != 5) {
- failf(data, "Received invalid version in initial SOCKS5 response.");
- return CURLE_COULDNT_CONNECT;
- }
- if(socksreq[1] == 0) {
- /* Nothing to do, no authentication needed */
- ;
- }
- else if(socksreq[1] == 2) {
- /* Needs user name and password */
- size_t userlen, pwlen;
- int len;
- if(proxy_name && proxy_password) {
- userlen = strlen(proxy_name);
- pwlen = strlen(proxy_password);
- }
- else {
- userlen = 0;
- pwlen = 0;
- }
-
- /* username/password request looks like
- * +----+------+----------+------+----------+
- * |VER | ULEN | UNAME | PLEN | PASSWD |
- * +----+------+----------+------+----------+
- * | 1 | 1 | 1 to 255 | 1 | 1 to 255 |
- * +----+------+----------+------+----------+
- */
- len = 0;
- socksreq[len++] = 1; /* username/pw subnegotiation version */
- socksreq[len++] = (char) userlen;
- memcpy(socksreq + len, proxy_name, (int) userlen);
- len += userlen;
- socksreq[len++] = (char) pwlen;
- memcpy(socksreq + len, proxy_password, (int) pwlen);
- len += pwlen;
-
- code = Curl_write_plain(conn, sock, (char *)socksreq, len, &written);
- if((code != CURLE_OK) || (len != written)) {
- failf(data, "Failed to send SOCKS5 sub-negotiation request.");
- return CURLE_COULDNT_CONNECT;
- }
-
- result=blockread_all(conn, sock, (char *)socksreq, 2, &actualread,
- timeout);
- if((result != CURLE_OK) || (actualread != 2)) {
- failf(data, "Unable to receive SOCKS5 sub-negotiation response.");
- return CURLE_COULDNT_CONNECT;
- }
-
- /* ignore the first (VER) byte */
- if(socksreq[1] != 0) { /* status */
- failf(data, "User was rejected by the SOCKS5 server (%d %d).",
- socksreq[0], socksreq[1]);
- return CURLE_COULDNT_CONNECT;
- }
-
- /* Everything is good so far, user was authenticated! */
- }
- else {
- /* error */
- if(socksreq[1] == 1) {
- failf(data,
- "SOCKS5 GSSAPI per-message authentication is not supported.");
- return CURLE_COULDNT_CONNECT;
- }
- else if(socksreq[1] == 255) {
- if(!proxy_name || !*proxy_name) {
- failf(data,
- "No authentication method was acceptable. (It is quite likely"
- " that the SOCKS5 server wanted a username/password, since none"
- " was supplied to the server on this connection.)");
- }
- else {
- failf(data, "No authentication method was acceptable.");
- }
- return CURLE_COULDNT_CONNECT;
- }
- else {
- failf(data,
- "Undocumented SOCKS5 mode attempted to be used by server.");
- return CURLE_COULDNT_CONNECT;
- }
- }
-
- /* Authentication is complete, now specify destination to the proxy */
- socksreq[0] = 5; /* version (SOCKS5) */
- socksreq[1] = 1; /* connect */
- socksreq[2] = 0; /* must be zero */
-
- if(!socks5_resolve_local) {
- packetsize = (ssize_t)(5 + hostname_len + 2);
-
- socksreq[3] = 3; /* ATYP: domain name = 3 */
- socksreq[4] = (char) hostname_len; /* address length */
- memcpy(&socksreq[5], hostname, hostname_len); /* address bytes w/o NULL */
-
- *((unsigned short*)&socksreq[hostname_len+5]) =
- htons((unsigned short)remote_port);
- }
- else {
- struct Curl_dns_entry *dns;
- Curl_addrinfo *hp=NULL;
- int rc = Curl_resolv(conn, hostname, remote_port, &dns);
-
- packetsize = 10;
-
- socksreq[3] = 1; /* IPv4 = 1 */
-
- if(rc == CURLRESOLV_ERROR)
- return CURLE_COULDNT_RESOLVE_HOST;
-
- if(rc == CURLRESOLV_PENDING)
- /* this requires that we're in "wait for resolve" state */
- rc = Curl_wait_for_resolv(conn, &dns);
-
- /*
- * We cannot use 'hostent' as a struct that Curl_resolv() returns. It
- * returns a Curl_addrinfo pointer that may not always look the same.
- */
- if(dns)
- hp=dns->addr;
- if(hp) {
- char buf[64];
- unsigned short ip[4];
- Curl_printable_address(hp, buf, sizeof(buf));
-
- if(4 == sscanf( buf, "%hu.%hu.%hu.%hu",
- &ip[0], &ip[1], &ip[2], &ip[3])) {
- socksreq[4] = (unsigned char)ip[0];
- socksreq[5] = (unsigned char)ip[1];
- socksreq[6] = (unsigned char)ip[2];
- socksreq[7] = (unsigned char)ip[3];
- }
- else
- hp = NULL; /* fail! */
-
- Curl_resolv_unlock(data, dns); /* not used anymore from now on */
- }
- if(!hp) {
- failf(data, "Failed to resolve \"%s\" for SOCKS5 connect.",
- hostname);
- return CURLE_COULDNT_RESOLVE_HOST;
- }
-
- *((unsigned short*)&socksreq[8]) = htons((unsigned short)remote_port);
- }
-
- code = Curl_write_plain(conn, sock, (char *)socksreq, packetsize, &written);
- if((code != CURLE_OK) || (written != packetsize)) {
- failf(data, "Failed to send SOCKS5 connect request.");
- return CURLE_COULDNT_CONNECT;
- }
-
- packetsize = 10; /* minimum packet size is 10 */
-
- result = blockread_all(conn, sock, (char *)socksreq, packetsize,
- &actualread, timeout);
- if((result != CURLE_OK) || (actualread != packetsize)) {
- failf(data, "Failed to receive SOCKS5 connect request ack.");
- return CURLE_COULDNT_CONNECT;
- }
-
- if(socksreq[0] != 5) { /* version */
- failf(data,
- "SOCKS5 reply has wrong version, version should be 5.");
- return CURLE_COULDNT_CONNECT;
- }
- if(socksreq[1] != 0) { /* Anything besides 0 is an error */
- failf(data,
- "Can't complete SOCKS5 connection to %d.%d.%d.%d:%d. (%d)",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (unsigned int)ntohs(*(unsigned short*)(&socksreq[8])),
- socksreq[1]);
- return CURLE_COULDNT_CONNECT;
- }
-
- /* Fix: in general, returned BND.ADDR is variable length parameter by RFC
- 1928, so the reply packet should be read until the end to avoid errors at
- subsequent protocol level.
-
- +----+-----+-------+------+----------+----------+
- |VER | REP | RSV | ATYP | BND.ADDR | BND.PORT |
- +----+-----+-------+------+----------+----------+
- | 1 | 1 | X'00' | 1 | Variable | 2 |
- +----+-----+-------+------+----------+----------+
-
- ATYP:
- o IP v4 address: X'01', BND.ADDR = 4 byte
- o domain name: X'03', BND.ADDR = [ 1 byte length, string ]
- o IP v6 address: X'04', BND.ADDR = 16 byte
- */
-
- /* Calculate real packet size */
- if(socksreq[3] == 3) {
- /* domain name */
- int addrlen = (int) socksreq[4];
- packetsize = 5 + addrlen + 2;
- }
- else if(socksreq[3] == 4) {
- /* IPv6 */
- packetsize = 4 + 16 + 2;
- }
-
- /* At this point we already read first 10 bytes */
- if(packetsize > 10) {
- packetsize -= 10;
- result = blockread_all(conn, sock, (char *)&socksreq[10], packetsize,
- &actualread, timeout);
- if((result != CURLE_OK) || (actualread != packetsize)) {
- failf(data, "Failed to receive SOCKS5 connect request ack.");
- return CURLE_COULDNT_CONNECT;
- }
- }
-
- Curl_nonblock(sock, TRUE);
- return CURLE_OK; /* Proxy was successful! */
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/socks.h b/Utilities/cmcurl-7.19.0/lib/socks.h
deleted file mode 100644
index 756ecc3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/socks.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef __SOCKS_H
-#define __SOCKS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * This function logs in to a SOCKS4(a) proxy and sends the specifics to the
- * final destination server.
- */
-CURLcode Curl_SOCKS4(const char *proxy_name,
- const char *hostname,
- int remote_port,
- int sockindex,
- struct connectdata *conn,
- bool protocol4a);
-
-/*
- * This function logs in to a SOCKS5 proxy and sends the specifics to the
- * final destination server.
- */
-CURLcode Curl_SOCKS5(const char *proxy_name,
- const char *proxy_password,
- const char *hostname,
- int remote_port,
- int sockindex,
- struct connectdata *conn);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/speedcheck.c b/Utilities/cmcurl-7.19.0/lib/speedcheck.c
deleted file mode 100644
index aa57ccd..0000000
--- a/Utilities/cmcurl-7.19.0/lib/speedcheck.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2006, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "sendf.h"
-#include "multiif.h"
-#include "speedcheck.h"
-
-void Curl_speedinit(struct SessionHandle *data)
-{
- memset(&data->state.keeps_speed, 0, sizeof(struct timeval));
-}
-
-CURLcode Curl_speedcheck(struct SessionHandle *data,
- struct timeval now)
-{
- if((data->progress.current_speed >= 0) &&
- data->set.low_speed_time &&
- (Curl_tvlong(data->state.keeps_speed) != 0) &&
- (data->progress.current_speed < data->set.low_speed_limit)) {
- long howlong = Curl_tvdiff(now, data->state.keeps_speed);
-
- /* We are now below the "low speed limit". If we are below it
- for "low speed time" seconds we consider that enough reason
- to abort the download. */
-
- if( (howlong/1000) > data->set.low_speed_time) {
- /* we have been this slow for long enough, now die */
- failf(data,
- "Operation too slow. "
- "Less than %d bytes/sec transfered the last %d seconds",
- data->set.low_speed_limit,
- data->set.low_speed_time);
- return CURLE_OPERATION_TIMEDOUT;
- }
- Curl_expire(data, howlong);
- }
- else {
- /* we keep up the required speed all right */
- data->state.keeps_speed = now;
-
- if(data->set.low_speed_limit)
- /* if there is a low speed limit enabled, we set the expire timer to
- make this connection's speed get checked again no later than when
- this time is up */
- Curl_expire(data, data->set.low_speed_time*1000);
- }
- return CURLE_OK;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/speedcheck.h b/Utilities/cmcurl-7.19.0/lib/speedcheck.h
deleted file mode 100644
index 62475f6..0000000
--- a/Utilities/cmcurl-7.19.0/lib/speedcheck.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __SPEEDCHECK_H
-#define __SPEEDCHECK_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "timeval.h"
-
-void Curl_speedinit(struct SessionHandle *data);
-CURLcode Curl_speedcheck(struct SessionHandle *data,
- struct timeval now);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/splay.c b/Utilities/cmcurl-7.19.0/lib/splay.c
deleted file mode 100644
index c64ccda..0000000
--- a/Utilities/cmcurl-7.19.0/lib/splay.c
+++ /dev/null
@@ -1,439 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1997 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "splay.h"
-
-/*
- * This macro compares two node keys i and j and returns:
- *
- * negative value: when i is smaller than j
- * zero : when i is equal to j
- * positive when : when i is larger than j
- */
-#define compare(i,j) Curl_splaycomparekeys((i),(j))
-
-/*
- * Splay using the key i (which may or may not be in the tree.) The starting
- * root is t.
- */
-struct Curl_tree *Curl_splay(struct timeval i,
- struct Curl_tree *t)
-{
- struct Curl_tree N, *l, *r, *y;
- long comp;
-
- if(t == NULL)
- return t;
- N.smaller = N.larger = NULL;
- l = r = &N;
-
- for (;;) {
- comp = compare(i, t->key);
- if(comp < 0) {
- if(t->smaller == NULL)
- break;
- if(compare(i, t->smaller->key) < 0) {
- y = t->smaller; /* rotate smaller */
- t->smaller = y->larger;
- y->larger = t;
- t = y;
- if(t->smaller == NULL)
- break;
- }
- r->smaller = t; /* link smaller */
- r = t;
- t = t->smaller;
- }
- else if(comp > 0) {
- if(t->larger == NULL)
- break;
- if(compare(i, t->larger->key) > 0) {
- y = t->larger; /* rotate larger */
- t->larger = y->smaller;
- y->smaller = t;
- t = y;
- if(t->larger == NULL)
- break;
- }
- l->larger = t; /* link larger */
- l = t;
- t = t->larger;
- }
- else
- break;
- }
-
- l->larger = t->smaller; /* assemble */
- r->smaller = t->larger;
- t->smaller = N.larger;
- t->larger = N.smaller;
-
- return t;
-}
-
-/* Insert key i into the tree t. Return a pointer to the resulting tree or
- NULL if something went wrong. */
-struct Curl_tree *Curl_splayinsert(struct timeval i,
- struct Curl_tree *t,
- struct Curl_tree *node)
-{
- static struct timeval KEY_NOTUSED = {-1,-1}; /* key that will *NEVER* appear */
-
- if(node == NULL)
- return t;
-
- if(t != NULL) {
- t = Curl_splay(i,t);
- if(compare(i, t->key)==0) {
- /* There already exists a node in the tree with the very same key. Build
- a linked list of nodes. We make the new 'node' struct the new master
- node and make the previous node the first one in the 'same' list. */
-
- node->same = t;
- node->key = i;
- node->smaller = t->smaller;
- node->larger = t->larger;
-
- t->smaller = node; /* in the sub node for this same key, we use the
- smaller pointer to point back to the master
- node */
-
- t->key = KEY_NOTUSED; /* and we set the key in the sub node to NOTUSED
- to quickly identify this node as a subnode */
-
- return node; /* new root node */
- }
- }
-
- if(t == NULL) {
- node->smaller = node->larger = NULL;
- }
- else if(compare(i, t->key) < 0) {
- node->smaller = t->smaller;
- node->larger = t;
- t->smaller = NULL;
-
- }
- else {
- node->larger = t->larger;
- node->smaller = t;
- t->larger = NULL;
- }
- node->key = i;
-
- node->same = NULL; /* no identical node (yet) */
- return node;
-}
-
-#if 0
-/* Deletes 'i' from the tree if it's there (with an exact match). Returns a
- pointer to the resulting tree.
-
- Function not used in libcurl.
-*/
-struct Curl_tree *Curl_splayremove(struct timeval i,
- struct Curl_tree *t,
- struct Curl_tree **removed)
-{
- struct Curl_tree *x;
-
- *removed = NULL; /* default to no removed */
-
- if(t==NULL)
- return NULL;
-
- t = Curl_splay(i,t);
- if(compare(i, t->key) == 0) { /* found it */
-
- /* FIRST! Check if there is a list with identical sizes */
- if((x = t->same) != NULL) {
- /* there is, pick one from the list */
-
- /* 'x' is the new root node */
-
- x->key = t->key;
- x->larger = t->larger;
- x->smaller = t->smaller;
-
- *removed = t;
- return x; /* new root */
- }
-
- if(t->smaller == NULL) {
- x = t->larger;
- }
- else {
- x = Curl_splay(i, t->smaller);
- x->larger = t->larger;
- }
- *removed = t;
-
- return x;
- }
- else
- return t; /* It wasn't there */
-}
-#endif
-
-/* Finds and deletes the best-fit node from the tree. Return a pointer to the
- resulting tree. best-fit means the node with the given or lower key */
-struct Curl_tree *Curl_splaygetbest(struct timeval i,
- struct Curl_tree *t,
- struct Curl_tree **removed)
-{
- struct Curl_tree *x;
-
- if(!t) {
- *removed = NULL; /* none removed since there was no root */
- return NULL;
- }
-
- t = Curl_splay(i,t);
- if(compare(i, t->key) < 0) {
- /* too big node, try the smaller chain */
- if(t->smaller)
- t=Curl_splay(t->smaller->key, t);
- else {
- /* fail */
- *removed = NULL;
- return t;
- }
- }
-
- if(compare(i, t->key) >= 0) { /* found it */
- /* FIRST! Check if there is a list with identical keys */
- x = t->same;
- if(x) {
- /* there is, pick one from the list */
-
- /* 'x' is the new root node */
-
- x->key = t->key;
- x->larger = t->larger;
- x->smaller = t->smaller;
-
- *removed = t;
- return x; /* new root */
- }
-
- if(t->smaller == NULL) {
- x = t->larger;
- }
- else {
- x = Curl_splay(i, t->smaller);
- x->larger = t->larger;
- }
- *removed = t;
-
- return x;
- }
- else {
- *removed = NULL; /* no match */
- return t; /* It wasn't there */
- }
-}
-
-
-/* Deletes the very node we point out from the tree if it's there. Stores a
- pointer to the new resulting tree in 'newroot'.
-
- Returns zero on success and non-zero on errors! TODO: document error codes.
- When returning error, it does not touch the 'newroot' pointer.
-
- NOTE: when the last node of the tree is removed, there's no tree left so
- 'newroot' will be made to point to NULL.
-*/
-int Curl_splayremovebyaddr(struct Curl_tree *t,
- struct Curl_tree *removenode,
- struct Curl_tree **newroot)
-{
- static struct timeval KEY_NOTUSED = {-1,-1}; /* key that will *NEVER* appear */
- struct Curl_tree *x;
-
- if(!t || !removenode)
- return 1;
-
- if(compare(KEY_NOTUSED, removenode->key) == 0) {
- /* Key set to NOTUSED means it is a subnode within a 'same' linked list
- and thus we can unlink it easily. The 'smaller' link of a subnode
- links to the parent node. */
- if(removenode->smaller == NULL)
- return 3;
-
- removenode->smaller->same = removenode->same;
- if(removenode->same)
- removenode->same->smaller = removenode->smaller;
-
- /* Ensures that double-remove gets caught. */
- removenode->smaller = NULL;
-
- /* voila, we're done! */
- *newroot = t; /* return the same root */
- return 0;
- }
-
- t = Curl_splay(removenode->key, t);
-
- /* First make sure that we got the same root node as the one we want
- to remove, as otherwise we might be trying to remove a node that
- isn't actually in the tree.
-
- We cannot just compare the keys here as a double remove in quick
- succession of a node with key != KEY_NOTUSED && same != NULL
- could return the same key but a different node. */
- if(t != removenode)
- return 2;
-
- /* Check if there is a list with identical sizes, as then we're trying to
- remove the root node of a list of nodes with identical keys. */
- x = t->same;
- if(x) {
- /* 'x' is the new root node, we just make it use the root node's
- smaller/larger links */
-
- x->key = t->key;
- x->larger = t->larger;
- x->smaller = t->smaller;
- }
- else {
- /* Remove the root node */
- if(t->smaller == NULL)
- x = t->larger;
- else {
- x = Curl_splay(removenode->key, t->smaller);
- x->larger = t->larger;
- }
- }
-
- *newroot = x; /* store new root pointer */
-
- return 0;
-}
-
-#ifdef CURLDEBUG
-
-void Curl_splayprint(struct Curl_tree * t, int d, char output)
-{
- struct Curl_tree *node;
- int i;
- int count;
- if(t == NULL)
- return;
-
- Curl_splayprint(t->larger, d+1, output);
- for (i=0; i<d; i++)
- if(output)
- printf(" ");
-
- if(output) {
-#ifdef TEST_SPLAY
- printf("%ld[%d]", (long)t->key.tv_usec, i);
-#else
- printf("%ld.%ld[%d]", (long)t->key.tv_sec, (long)t->key.tv_usec, i);
-#endif
- }
-
- for(count=0, node = t->same; node; node = node->same, count++)
- ;
-
- if(output) {
- if(count)
- printf(" [%d more]\n", count);
- else
- printf("\n");
- }
-
- Curl_splayprint(t->smaller, d+1, output);
-}
-#endif
-
-#ifdef TEST_SPLAY
-
-/*#define TEST2 */
-#define MAX 50
-#define TEST2
-
-/* A sample use of these functions. Start with the empty tree, insert some
- stuff into it, and then delete it */
-int main(int argc, argv_item_t argv[])
-{
- struct Curl_tree *root, *t;
- void *ptrs[MAX];
- int adds=0;
- int rc;
-
- static const long sizes[]={
- 50, 60, 50, 100, 60, 200, 120, 300, 400, 200, 256, 122, 60, 120, 200, 300,
- 220, 80, 90, 50, 100, 60, 200, 120, 300, 400, 200, 256, 122, 60, 120, 200,
- 300, 220, 80, 90, 50, 100, 60, 200, 120, 300, 400, 200, 256, 122, 60, 120,
- 200, 300, 220, 80, 90};
- int i;
- root = NULL; /* the empty tree */
-
- for (i = 0; i < MAX; i++) {
- struct timeval key;
- ptrs[i] = t = (struct Curl_tree *)malloc(sizeof(struct Curl_tree));
-
- key.tv_sec = 0;
-#ifdef TEST2
- key.tv_usec = sizes[i];
-#elif defined(TEST1)
- key.tv_usec = (541*i)%1023;
-#elif defined(TEST3)
- key.tv_usec = 100;
-#endif
-
- t->payload = (void *)key.tv_usec; /* for simplicity */
- if(!t) {
- puts("out of memory!");
- return 0;
- }
- root = Curl_splayinsert(key, root, t);
- }
-
-#if 0
- puts("Result:");
- Curl_splayprint(root, 0, 1);
-#endif
-
-#if 1
- for (i = 0; i < MAX; i++) {
- int rem = (i+7)%MAX;
- struct Curl_tree *r;
- printf("Tree look:\n");
- Curl_splayprint(root, 0, 1);
- printf("remove pointer %d, payload %ld\n", rem,
- (long)((struct Curl_tree *)ptrs[rem])->payload);
- rc = Curl_splayremovebyaddr(root, (struct Curl_tree *)ptrs[rem], &root);
- if(rc)
- /* failed! */
- printf("remove %d failed!\n", rem);
- }
-#endif
-
- return 0;
-}
-
-#endif /* TEST_SPLAY */
diff --git a/Utilities/cmcurl-7.19.0/lib/splay.h b/Utilities/cmcurl-7.19.0/lib/splay.h
deleted file mode 100644
index 4e6a8c1..0000000
--- a/Utilities/cmcurl-7.19.0/lib/splay.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef __SPLAY_H
-#define __SPLAY_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1997 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-struct Curl_tree {
- struct Curl_tree *smaller; /* smaller node */
- struct Curl_tree *larger; /* larger node */
- struct Curl_tree *same; /* points to a node with identical key */
- struct timeval key; /* this node's "sort" key */
- void *payload; /* data the splay code doesn't care about */
-};
-
-struct Curl_tree *Curl_splay(struct timeval i,
- struct Curl_tree *t);
-
-struct Curl_tree *Curl_splayinsert(struct timeval key,
- struct Curl_tree *t,
- struct Curl_tree *newnode);
-
-#if 0
-struct Curl_tree *Curl_splayremove(struct timeval key,
- struct Curl_tree *t,
- struct Curl_tree **removed);
-#endif
-
-struct Curl_tree *Curl_splaygetbest(struct timeval key,
- struct Curl_tree *t,
- struct Curl_tree **removed);
-
-int Curl_splayremovebyaddr(struct Curl_tree *t,
- struct Curl_tree *removenode,
- struct Curl_tree **newroot);
-
-#define Curl_splaycomparekeys(i,j) ( ((i.tv_sec) < (j.tv_sec)) ? -1 : \
- ( ((i.tv_sec) > (j.tv_sec)) ? 1 : \
- ( ((i.tv_usec) < (j.tv_usec)) ? -1 : \
- ( ((i.tv_usec) > (j.tv_usec)) ? 1 : 0 ))))
-
-#ifdef CURLDEBUG
-void Curl_splayprint(struct Curl_tree * t, int d, char output);
-#else
-#define Curl_splayprint(x,y,z)
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/ssh.c b/Utilities/cmcurl-7.19.0/lib/ssh.c
deleted file mode 100644
index 95ce96f..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ssh.c
+++ /dev/null
@@ -1,2572 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* #define CURL_LIBSSH2_DEBUG */
-
-#include "setup.h"
-
-#ifdef USE_LIBSSH2
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <limits.h>
-
-#include <libssh2.h>
-#include <libssh2_sftp.h>
-
-#if !defined(LIBSSH2_VERSION_NUM) || (LIBSSH2_VERSION_NUM < 0x001000)
-#error "this requires libssh2 0.16 or later"
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-
-#ifndef WIN32
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_UTSNAME_H
-#include <sys/utsname.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#endif
-#endif /* !WIN32 */
-
-#if (defined(NETWARE) && defined(__NOVELL_LIBC__))
-#undef in_addr_t
-#define in_addr_t unsigned long
-#endif
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "sendf.h"
-#include "easyif.h" /* for Curl_convert_... prototypes */
-
-#include "hostip.h"
-#include "progress.h"
-#include "transfer.h"
-#include "escape.h"
-#include "http.h" /* for HTTP proxy tunnel stuff */
-#include "ssh.h"
-#include "url.h"
-#include "speedcheck.h"
-#include "getinfo.h"
-
-#include "strequal.h"
-#include "sslgen.h"
-#include "connect.h"
-#include "strerror.h"
-#include "memory.h"
-#include "inet_ntop.h"
-#include "parsedate.h" /* for the week day and month names */
-#include "sockaddr.h" /* required for Curl_sockaddr_storage */
-#include "multiif.h"
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#ifdef CURLDEBUG
-#include "memdebug.h"
-#endif
-
-#ifndef PATH_MAX
-#define PATH_MAX 1024 /* just an extra precaution since there are systems that
- have their definition hidden well */
-#endif
-
-/* Local functions: */
-static const char *sftp_libssh2_strerror(unsigned long err);
-static LIBSSH2_ALLOC_FUNC(libssh2_malloc);
-static LIBSSH2_REALLOC_FUNC(libssh2_realloc);
-static LIBSSH2_FREE_FUNC(libssh2_free);
-
-static CURLcode get_pathname(const char **cpp, char **path);
-
-static CURLcode ssh_connect(struct connectdata *conn, bool *done);
-static CURLcode ssh_multi_statemach(struct connectdata *conn, bool *done);
-static CURLcode ssh_do(struct connectdata *conn, bool *done);
-
-static CURLcode ssh_getworkingpath(struct connectdata *conn,
- char *homedir, /* when SFTP is used */
- char **path);
-
-static CURLcode scp_done(struct connectdata *conn,
- CURLcode, bool premature);
-static CURLcode scp_doing(struct connectdata *conn,
- bool *dophase_done);
-static CURLcode scp_disconnect(struct connectdata *conn);
-
-static CURLcode sftp_done(struct connectdata *conn,
- CURLcode, bool premature);
-static CURLcode sftp_doing(struct connectdata *conn,
- bool *dophase_done);
-static CURLcode sftp_disconnect(struct connectdata *conn);
-static
-CURLcode sftp_perform(struct connectdata *conn,
- bool *connected,
- bool *dophase_done);
-/*
- * SCP protocol handler.
- */
-
-const struct Curl_handler Curl_handler_scp = {
- "SCP", /* scheme */
- ZERO_NULL, /* setup_connection */
- ssh_do, /* do_it */
- scp_done, /* done */
- ZERO_NULL, /* do_more */
- ssh_connect, /* connect_it */
- ssh_multi_statemach, /* connecting */
- scp_doing, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- scp_disconnect, /* disconnect */
- PORT_SSH, /* defport */
- PROT_SCP /* protocol */
-};
-
-
-/*
- * SFTP protocol handler.
- */
-
-const struct Curl_handler Curl_handler_sftp = {
- "SFTP", /* scheme */
- ZERO_NULL, /* setup_connection */
- ssh_do, /* do_it */
- sftp_done, /* done */
- ZERO_NULL, /* do_more */
- ssh_connect, /* connect_it */
- ssh_multi_statemach, /* connecting */
- sftp_doing, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- sftp_disconnect, /* disconnect */
- PORT_SSH, /* defport */
- PROT_SFTP /* protocol */
-};
-
-
-static void
-kbd_callback(const char *name, int name_len, const char *instruction,
- int instruction_len, int num_prompts,
- const LIBSSH2_USERAUTH_KBDINT_PROMPT *prompts,
- LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses,
- void **abstract)
-{
- struct connectdata *conn = (struct connectdata *)*abstract;
-
-#ifdef CURL_LIBSSH2_DEBUG
- fprintf(stderr, "name=%s\n", name);
- fprintf(stderr, "name_len=%d\n", name_len);
- fprintf(stderr, "instruction=%s\n", instruction);
- fprintf(stderr, "instruction_len=%d\n", instruction_len);
- fprintf(stderr, "num_prompts=%d\n", num_prompts);
-#else
- (void)name;
- (void)name_len;
- (void)instruction;
- (void)instruction_len;
-#endif /* CURL_LIBSSH2_DEBUG */
- if(num_prompts == 1) {
- responses[0].text = strdup(conn->passwd);
- responses[0].length = strlen(conn->passwd);
- }
- (void)prompts;
- (void)abstract;
-} /* kbd_callback */
-
-static CURLcode sftp_libssh2_error_to_CURLE(unsigned long err)
-{
- switch (err) {
- case LIBSSH2_FX_OK:
- return CURLE_OK;
-
- case LIBSSH2_ERROR_ALLOC:
- return CURLE_OUT_OF_MEMORY;
-
- case LIBSSH2_FX_NO_SUCH_FILE:
- case LIBSSH2_FX_NO_SUCH_PATH:
- return CURLE_REMOTE_FILE_NOT_FOUND;
-
- case LIBSSH2_FX_PERMISSION_DENIED:
- case LIBSSH2_FX_WRITE_PROTECT:
- case LIBSSH2_FX_LOCK_CONFlICT:
- return CURLE_REMOTE_ACCESS_DENIED;
-
- case LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM:
- case LIBSSH2_FX_QUOTA_EXCEEDED:
- return CURLE_REMOTE_DISK_FULL;
-
- case LIBSSH2_FX_FILE_ALREADY_EXISTS:
- return CURLE_REMOTE_FILE_EXISTS;
-
- case LIBSSH2_FX_DIR_NOT_EMPTY:
- return CURLE_QUOTE_ERROR;
-
- default:
- break;
- }
-
- return CURLE_SSH;
-}
-
-static CURLcode libssh2_session_error_to_CURLE(int err)
-{
- if(err == LIBSSH2_ERROR_ALLOC)
- return CURLE_OUT_OF_MEMORY;
-
- /* TODO: map some more of the libssh2 errors to the more appropriate CURLcode
- error code, and possibly add a few new SSH-related one. We must however
- not return or even depend on libssh2 errors in the public libcurl API */
-
- return CURLE_SSH;
-}
-
-static LIBSSH2_ALLOC_FUNC(libssh2_malloc)
-{
- (void)abstract; /* arg not used */
- return malloc(count);
-}
-
-static LIBSSH2_REALLOC_FUNC(libssh2_realloc)
-{
- (void)abstract; /* arg not used */
- return realloc(ptr, count);
-}
-
-static LIBSSH2_FREE_FUNC(libssh2_free)
-{
- (void)abstract; /* arg not used */
- free(ptr);
-}
-
-/*
- * SSH State machine related code
- */
-/* This is the ONLY way to change SSH state! */
-static void state(struct connectdata *conn, sshstate nowstate)
-{
-#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
- /* for debug purposes */
- static const char * const names[] = {
- "SSH_STOP",
- "SSH_S_STARTUP",
- "SSH_AUTHLIST",
- "SSH_AUTH_PKEY_INIT",
- "SSH_AUTH_PKEY",
- "SSH_AUTH_PASS_INIT",
- "SSH_AUTH_PASS",
- "SSH_AUTH_HOST_INIT",
- "SSH_AUTH_HOST",
- "SSH_AUTH_KEY_INIT",
- "SSH_AUTH_KEY",
- "SSH_AUTH_DONE",
- "SSH_SFTP_INIT",
- "SSH_SFTP_REALPATH",
- "SSH_SFTP_QUOTE_INIT",
- "SSH_SFTP_POSTQUOTE_INIT",
- "SSH_SFTP_QUOTE",
- "SSH_SFTP_NEXT_QUOTE",
- "SSH_SFTP_QUOTE_STAT",
- "SSH_SFTP_QUOTE_SETSTAT",
- "SSH_SFTP_QUOTE_SYMLINK",
- "SSH_SFTP_QUOTE_MKDIR",
- "SSH_SFTP_QUOTE_RENAME",
- "SSH_SFTP_QUOTE_RMDIR",
- "SSH_SFTP_QUOTE_UNLINK",
- "SSH_SFTP_TRANS_INIT",
- "SSH_SFTP_UPLOAD_INIT",
- "SSH_SFTP_CREATE_DIRS_INIT",
- "SSH_SFTP_CREATE_DIRS",
- "SSH_SFTP_CREATE_DIRS_MKDIR",
- "SSH_SFTP_READDIR_INIT",
- "SSH_SFTP_READDIR",
- "SSH_SFTP_READDIR_LINK",
- "SSH_SFTP_READDIR_BOTTOM",
- "SSH_SFTP_READDIR_DONE",
- "SSH_SFTP_DOWNLOAD_INIT",
- "SSH_SFTP_DOWNLOAD_STAT",
- "SSH_SFTP_CLOSE",
- "SSH_SFTP_SHUTDOWN",
- "SSH_SCP_TRANS_INIT",
- "SSH_SCP_UPLOAD_INIT",
- "SSH_SCP_DOWNLOAD_INIT",
- "SSH_SCP_DONE",
- "SSH_SCP_SEND_EOF",
- "SSH_SCP_WAIT_EOF",
- "SSH_SCP_WAIT_CLOSE",
- "SSH_SCP_CHANNEL_FREE",
- "SSH_SESSION_DISCONNECT",
- "SSH_SESSION_FREE",
- "QUIT"
- };
-#endif
- struct ssh_conn *sshc = &conn->proto.sshc;
-
-#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
- if(sshc->state != nowstate) {
- infof(conn->data, "SFTP %p state change from %s to %s\n",
- sshc, names[sshc->state], names[nowstate]);
- }
-#endif
-
- sshc->state = nowstate;
-}
-
-/* figure out the path to work with in this particular request */
-static CURLcode ssh_getworkingpath(struct connectdata *conn,
- char *homedir, /* when SFTP is used */
- char **path) /* returns the allocated
- real path to work with */
-{
- struct SessionHandle *data = conn->data;
- char *real_path = NULL;
- char *working_path;
- int working_path_len;
-
- working_path = curl_easy_unescape(data, data->state.path, 0,
- &working_path_len);
- if(!working_path)
- return CURLE_OUT_OF_MEMORY;
-
- /* Check for /~/ , indicating relative to the user's home directory */
- if(conn->protocol & PROT_SCP) {
- real_path = (char *)malloc(working_path_len+1);
- if(real_path == NULL) {
- free(working_path);
- return CURLE_OUT_OF_MEMORY;
- }
- if((working_path_len > 1) && (working_path[1] == '~'))
- /* It is referenced to the home directory, so strip the leading '/' */
- memcpy(real_path, working_path+1, 1 + working_path_len-1);
- else
- memcpy(real_path, working_path, 1 + working_path_len);
- }
- else if(conn->protocol & PROT_SFTP) {
- if((working_path_len > 1) && (working_path[1] == '~')) {
- size_t homelen = strlen(homedir);
- real_path = (char *)malloc(homelen + working_path_len + 1);
- if(real_path == NULL) {
- free(working_path);
- return CURLE_OUT_OF_MEMORY;
- }
- /* It is referenced to the home directory, so strip the
- leading '/' */
- memcpy(real_path, homedir, homelen);
- real_path[homelen] = '/';
- real_path[homelen+1] = '\0';
- if(working_path_len > 3) {
- memcpy(real_path+homelen+1, working_path + 3,
- 1 + working_path_len -3);
- }
- }
- else {
- real_path = (char *)malloc(working_path_len+1);
- if(real_path == NULL) {
- free(working_path);
- return CURLE_OUT_OF_MEMORY;
- }
- memcpy(real_path, working_path, 1+working_path_len);
- }
- }
-
- free(working_path);
-
- /* store the pointer for the caller to receive */
- *path = real_path;
-
- return CURLE_OK;
-}
-
-static CURLcode ssh_statemach_act(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
- struct SessionHandle *data = conn->data;
- struct SSHPROTO *sftp_scp = data->state.proto.ssh;
- struct ssh_conn *sshc = &conn->proto.sshc;
- curl_socket_t sock = conn->sock[FIRSTSOCKET];
-#ifdef CURL_LIBSSH2_DEBUG
- const char *fingerprint;
-#endif /* CURL_LIBSSH2_DEBUG */
- const char *host_public_key_md5;
- int rc,i;
- int err;
-
- switch(sshc->state) {
- case SSH_S_STARTUP:
- sshc->secondCreateDirs = 0;
- sshc->nextstate = SSH_NO_STATE;
- sshc->actualcode = CURLE_OK;
-
- rc = libssh2_session_startup(sshc->ssh_session, sock);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc) {
- failf(data, "Failure establishing ssh session");
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = CURLE_FAILED_INIT;
- break;
- }
-
- /* Set libssh2 to non-blocking, since cURL is all non-blocking */
- libssh2_session_set_blocking(sshc->ssh_session, 0);
-
-#ifdef CURL_LIBSSH2_DEBUG
- /*
- * Before we authenticate we should check the hostkey's fingerprint
- * against our known hosts. How that is handled (reading from file,
- * whatever) is up to us. As for know not much is implemented, besides
- * showing how to get the fingerprint.
- */
- fingerprint = libssh2_hostkey_hash(sshc->ssh_session,
- LIBSSH2_HOSTKEY_HASH_MD5);
-
- /* The fingerprint points to static storage (!), don't free() it. */
- infof(data, "Fingerprint: ");
- for (rc = 0; rc < 16; rc++) {
- infof(data, "%02X ", (unsigned char) fingerprint[rc]);
- }
- infof(data, "\n");
-#endif /* CURL_LIBSSH2_DEBUG */
-
- /* Before we authenticate we check the hostkey's MD5 fingerprint
- * against a known fingerprint, if available. This implementation pulls
- * it from the curl option.
- */
- if(data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5] &&
- strlen(data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5]) == 32) {
- char buf[33];
- host_public_key_md5 = libssh2_hostkey_hash(sshc->ssh_session,
- LIBSSH2_HOSTKEY_HASH_MD5);
- for (i = 0; i < 16; i++)
- snprintf(&buf[i*2], 3, "%02x",
- (unsigned char) host_public_key_md5[i]);
- if(!strequal(buf, data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5])) {
- failf(data,
- "Denied establishing ssh session: mismatch md5 fingerprint. "
- "Remote %s is not equal to %s",
- buf, data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5]);
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = CURLE_PEER_FAILED_VERIFICATION;
- break;
- }
- }
-
- state(conn, SSH_AUTHLIST);
- break;
-
- case SSH_AUTHLIST:
- /* TBD - methods to check the host keys need to be done */
-
- /*
- * Figure out authentication methods
- * NB: As soon as we have provided a username to an openssh server we
- * must never change it later. Thus, always specify the correct username
- * here, even though the libssh2 docs kind of indicate that it should be
- * possible to get a 'generic' list (not user-specific) of authentication
- * methods, presumably with a blank username. That won't work in my
- * experience.
- * So always specify it here.
- */
- sshc->authlist = libssh2_userauth_list(sshc->ssh_session,
- conn->user,
- strlen(conn->user));
-
- if(!sshc->authlist) {
- if((err = libssh2_session_last_errno(sshc->ssh_session)) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = libssh2_session_error_to_CURLE(err);
- break;
- }
- }
- infof(data, "SSH authentication methods available: %s\n", sshc->authlist);
-
- state(conn, SSH_AUTH_PKEY_INIT);
- break;
-
- case SSH_AUTH_PKEY_INIT:
- /*
- * Check the supported auth types in the order I feel is most secure
- * with the requested type of authentication
- */
- sshc->authed = FALSE;
-
- if((data->set.ssh_auth_types & CURLSSH_AUTH_PUBLICKEY) &&
- (strstr(sshc->authlist, "publickey") != NULL)) {
- char *home;
-
- sshc->rsa_pub = sshc->rsa = NULL;
-
- /* To ponder about: should really the lib be messing about with the
- HOME environment variable etc? */
- home = curl_getenv("HOME");
-
- if(data->set.str[STRING_SSH_PUBLIC_KEY])
- sshc->rsa_pub = aprintf("%s", data->set.str[STRING_SSH_PUBLIC_KEY]);
- else if(home)
- sshc->rsa_pub = aprintf("%s/.ssh/id_dsa.pub", home);
- else
- /* as a final resort, try current dir! */
- sshc->rsa_pub = strdup("id_dsa.pub");
-
- if(sshc->rsa_pub == NULL) {
- Curl_safefree(home);
- home = NULL;
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- if(data->set.str[STRING_SSH_PRIVATE_KEY])
- sshc->rsa = aprintf("%s", data->set.str[STRING_SSH_PRIVATE_KEY]);
- else if(home)
- sshc->rsa = aprintf("%s/.ssh/id_dsa", home);
- else
- /* as a final resort, try current dir! */
- sshc->rsa = strdup("id_dsa");
-
- if(sshc->rsa == NULL) {
- Curl_safefree(home);
- home = NULL;
- Curl_safefree(sshc->rsa_pub);
- sshc->rsa_pub = NULL;
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- sshc->passphrase = data->set.str[STRING_KEY_PASSWD];
- if(!sshc->passphrase)
- sshc->passphrase = "";
-
- Curl_safefree(home);
- home = NULL;
-
- infof(data, "Using ssh public key file %s\n", sshc->rsa_pub);
- infof(data, "Using ssh private key file %s\n", sshc->rsa);
-
- state(conn, SSH_AUTH_PKEY);
- }
- else {
- state(conn, SSH_AUTH_PASS_INIT);
- }
- break;
-
- case SSH_AUTH_PKEY:
- /* The function below checks if the files exists, no need to stat() here.
- */
- rc = libssh2_userauth_publickey_fromfile(sshc->ssh_session,
- conn->user, sshc->rsa_pub,
- sshc->rsa, sshc->passphrase);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
-
- Curl_safefree(sshc->rsa_pub);
- sshc->rsa_pub = NULL;
- Curl_safefree(sshc->rsa);
- sshc->rsa = NULL;
-
- if(rc == 0) {
- sshc->authed = TRUE;
- infof(data, "Initialized SSH public key authentication\n");
- state(conn, SSH_AUTH_DONE);
- }
- else {
- char *err_msg;
- (void)libssh2_session_last_error(sshc->ssh_session,
- &err_msg, NULL, 0);
- infof(data, "SSH public key authentication failed: %s\n", err_msg);
- state(conn, SSH_AUTH_PASS_INIT);
- }
- break;
-
- case SSH_AUTH_PASS_INIT:
- if((data->set.ssh_auth_types & CURLSSH_AUTH_PASSWORD) &&
- (strstr(sshc->authlist, "password") != NULL)) {
- state(conn, SSH_AUTH_PASS);
- }
- else {
- state(conn, SSH_AUTH_HOST_INIT);
- }
- break;
-
- case SSH_AUTH_PASS:
- rc = libssh2_userauth_password(sshc->ssh_session, conn->user,
- conn->passwd);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc == 0) {
- sshc->authed = TRUE;
- infof(data, "Initialized password authentication\n");
- state(conn, SSH_AUTH_DONE);
- }
- else {
- state(conn, SSH_AUTH_HOST_INIT);
- }
- break;
-
- case SSH_AUTH_HOST_INIT:
- if((data->set.ssh_auth_types & CURLSSH_AUTH_HOST) &&
- (strstr(sshc->authlist, "hostbased") != NULL)) {
- state(conn, SSH_AUTH_HOST);
- }
- else {
- state(conn, SSH_AUTH_KEY_INIT);
- }
- break;
-
- case SSH_AUTH_HOST:
- state(conn, SSH_AUTH_KEY_INIT);
- break;
-
- case SSH_AUTH_KEY_INIT:
- if((data->set.ssh_auth_types & CURLSSH_AUTH_KEYBOARD)
- && (strstr(sshc->authlist, "keyboard-interactive") != NULL)) {
- state(conn, SSH_AUTH_KEY);
- }
- else {
- state(conn, SSH_AUTH_DONE);
- }
- break;
-
- case SSH_AUTH_KEY:
- /* Authentication failed. Continue with keyboard-interactive now. */
- rc = libssh2_userauth_keyboard_interactive_ex(sshc->ssh_session,
- conn->user,
- strlen(conn->user),
- &kbd_callback);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc == 0) {
- sshc->authed = TRUE;
- infof(data, "Initialized keyboard interactive authentication\n");
- }
- state(conn, SSH_AUTH_DONE);
- break;
-
- case SSH_AUTH_DONE:
- if(!sshc->authed) {
- failf(data, "Authentication failure");
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = CURLE_LOGIN_DENIED;
- break;
- }
-
- /*
- * At this point we have an authenticated ssh session.
- */
- infof(data, "Authentication complete\n");
-
- Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSH is connected */
-
- conn->sockfd = sock;
- conn->writesockfd = CURL_SOCKET_BAD;
-
- if(conn->protocol == PROT_SFTP) {
- state(conn, SSH_SFTP_INIT);
- break;
- }
- infof(data, "SSH CONNECT phase done\n");
- state(conn, SSH_STOP);
- break;
-
- case SSH_SFTP_INIT:
- /*
- * Start the libssh2 sftp session
- */
- sshc->sftp_session = libssh2_sftp_init(sshc->ssh_session);
- if(!sshc->sftp_session) {
- if(libssh2_session_last_errno(sshc->ssh_session) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- char *err_msg;
-
- (void)libssh2_session_last_error(sshc->ssh_session,
- &err_msg, NULL, 0);
- failf(data, "Failure initializing sftp session: %s", err_msg);
- state(conn, SSH_SESSION_FREE);
- sshc->actualcode = CURLE_FAILED_INIT;
- break;
- }
- }
- state(conn, SSH_SFTP_REALPATH);
- break;
-
- case SSH_SFTP_REALPATH:
- {
- char tempHome[PATH_MAX];
-
- /*
- * Get the "home" directory
- */
- rc = libssh2_sftp_realpath(sshc->sftp_session, ".",
- tempHome, PATH_MAX-1);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc > 0) {
- /* It seems that this string is not always NULL terminated */
- tempHome[rc] = '\0';
- sshc->homedir = (char *)strdup(tempHome);
- if(!sshc->homedir) {
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
- }
- else {
- /* Return the error type */
- err = libssh2_sftp_last_error(sshc->sftp_session);
- result = sftp_libssh2_error_to_CURLE(err);
- DEBUGF(infof(data, "error = %d makes libcurl = %d\n", err, result));
- state(conn, SSH_STOP);
- break;
- }
- }
- /* This is the last step in the SFTP connect phase. Do note that while
- we get the homedir here, we get the "workingpath" in the DO action
- since the homedir will remain the same between request but the
- working path will not. */
- DEBUGF(infof(data, "SSH CONNECT phase done\n"));
- state(conn, SSH_STOP);
- break;
-
- case SSH_SFTP_QUOTE_INIT:
-
- result = ssh_getworkingpath(conn, sshc->homedir, &sftp_scp->path);
- if(result) {
- sshc->actualcode = result;
- state(conn, SSH_STOP);
- break;
- }
-
- if(data->set.quote) {
- infof(data, "Sending quote commands\n");
- sshc->quote_item = data->set.quote;
- state(conn, SSH_SFTP_QUOTE);
- }
- else {
- state(conn, SSH_SFTP_TRANS_INIT);
- }
- break;
-
- case SSH_SFTP_POSTQUOTE_INIT:
- if(data->set.postquote) {
- infof(data, "Sending quote commands\n");
- sshc->quote_item = data->set.postquote;
- state(conn, SSH_SFTP_QUOTE);
- }
- else {
- state(conn, SSH_STOP);
- }
- break;
-
- case SSH_SFTP_QUOTE:
- /* Send any quote commands */
- {
- const char *cp;
-
- /*
- * Support some of the "FTP" commands
- */
- if(curl_strnequal(sshc->quote_item->data, "PWD", 3)) {
- /* output debug output if that is requested */
- if(data->set.verbose) {
- char tmp[PATH_MAX+1];
-
- Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"PWD\n", 4, conn);
- snprintf(tmp, PATH_MAX, "257 \"%s\" is current directory.\n",
- sftp_scp->path);
- Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp), conn);
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
- }
- else if(sshc->quote_item->data) {
- /*
- * the arguments following the command must be separated from the
- * command with a space so we can check for it unconditionally
- */
- cp = strchr(sshc->quote_item->data, ' ');
- if(cp == NULL) {
- failf(data, "Syntax error in SFTP command. Supply parameter(s)!");
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
-
- /*
- * also, every command takes at least one argument so we get that
- * first argument right now
- */
- result = get_pathname(&cp, &sshc->quote_path1);
- if(result) {
- if(result == CURLE_OUT_OF_MEMORY)
- failf(data, "Out of memory");
- else
- failf(data, "Syntax error: Bad first parameter");
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- break;
- }
-
- /*
- * SFTP is a binary protocol, so we don't send text commands to
- * the server. Instead, we scan for commands for commands used by
- * OpenSSH's sftp program and call the appropriate libssh2
- * functions.
- */
- if(curl_strnequal(sshc->quote_item->data, "chgrp ", 6) ||
- curl_strnequal(sshc->quote_item->data, "chmod ", 6) ||
- curl_strnequal(sshc->quote_item->data, "chown ", 6) ) {
- /* attribute change */
-
- /* sshc->quote_path1 contains the mode to set */
- /* get the destination */
- result = get_pathname(&cp, &sshc->quote_path2);
- if(result) {
- if(result == CURLE_OUT_OF_MEMORY)
- failf(data, "Out of memory");
- else
- failf(data, "Syntax error in chgrp/chmod/chown: "
- "Bad second parameter");
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- break;
- }
- memset(&sshc->quote_attrs, 0, sizeof(LIBSSH2_SFTP_ATTRIBUTES));
- state(conn, SSH_SFTP_QUOTE_STAT);
- break;
- }
- else if(curl_strnequal(sshc->quote_item->data, "ln ", 3) ||
- curl_strnequal(sshc->quote_item->data, "symlink ", 8)) {
- /* symbolic linking */
- /* sshc->quote_path1 is the source */
- /* get the destination */
- result = get_pathname(&cp, &sshc->quote_path2);
- if(result) {
- if(result == CURLE_OUT_OF_MEMORY)
- failf(data, "Out of memory");
- else
- failf(data,
- "Syntax error in ln/symlink: Bad second parameter");
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- break;
- }
- state(conn, SSH_SFTP_QUOTE_SYMLINK);
- break;
- }
- else if(curl_strnequal(sshc->quote_item->data, "mkdir ", 6)) {
- /* create dir */
- state(conn, SSH_SFTP_QUOTE_MKDIR);
- break;
- }
- else if(curl_strnequal(sshc->quote_item->data, "rename ", 7)) {
- /* rename file */
- /* first param is the source path */
- /* second param is the dest. path */
- result = get_pathname(&cp, &sshc->quote_path2);
- if(result) {
- if(result == CURLE_OUT_OF_MEMORY)
- failf(data, "Out of memory");
- else
- failf(data, "Syntax error in rename: Bad second parameter");
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- break;
- }
- state(conn, SSH_SFTP_QUOTE_RENAME);
- break;
- }
- else if(curl_strnequal(sshc->quote_item->data, "rmdir ", 6)) {
- /* delete dir */
- state(conn, SSH_SFTP_QUOTE_RMDIR);
- break;
- }
- else if(curl_strnequal(sshc->quote_item->data, "rm ", 3)) {
- state(conn, SSH_SFTP_QUOTE_UNLINK);
- break;
- }
-
- failf(data, "Unknown SFTP command");
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- }
- if(!sshc->quote_item) {
- state(conn, SSH_SFTP_TRANS_INIT);
- }
- break;
-
- case SSH_SFTP_NEXT_QUOTE:
- if(sshc->quote_path1) {
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- }
- if(sshc->quote_path2) {
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- }
-
- sshc->quote_item = sshc->quote_item->next;
-
- if(sshc->quote_item) {
- state(conn, SSH_SFTP_QUOTE);
- }
- else {
- if(sshc->nextstate != SSH_NO_STATE) {
- state(conn, sshc->nextstate);
- sshc->nextstate = SSH_NO_STATE;
- }
- else {
- state(conn, SSH_SFTP_TRANS_INIT);
- }
- }
- break;
-
- case SSH_SFTP_QUOTE_STAT:
- if(!curl_strnequal(sshc->quote_item->data, "chmod", 5)) {
- /* Since chown and chgrp only set owner OR group but libssh2 wants to
- * set them both at once, we need to obtain the current ownership first.
- * This takes an extra protocol round trip.
- */
- rc = libssh2_sftp_stat(sshc->sftp_session, sshc->quote_path2,
- &sshc->quote_attrs);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) { /* get those attributes */
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "Attempt to get SFTP stats failed: %s",
- sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- }
-
- /* Now set the new attributes... */
- if(curl_strnequal(sshc->quote_item->data, "chgrp", 5)) {
- sshc->quote_attrs.gid = strtol(sshc->quote_path1, NULL, 10);
- sshc->quote_attrs.flags = LIBSSH2_SFTP_ATTR_UIDGID;
- if(sshc->quote_attrs.gid == 0 && !ISDIGIT(sshc->quote_path1[0])) {
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "Syntax error: chgrp gid not a number");
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- }
- else if(curl_strnequal(sshc->quote_item->data, "chmod", 5)) {
- sshc->quote_attrs.permissions = strtol(sshc->quote_path1, NULL, 8);
- sshc->quote_attrs.flags = LIBSSH2_SFTP_ATTR_PERMISSIONS;
- /* permissions are octal */
- if(sshc->quote_attrs.permissions == 0 &&
- !ISDIGIT(sshc->quote_path1[0])) {
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "Syntax error: chmod permissions not a number");
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- }
- else if(curl_strnequal(sshc->quote_item->data, "chown", 5)) {
- sshc->quote_attrs.uid = strtol(sshc->quote_path1, NULL, 10);
- sshc->quote_attrs.flags = LIBSSH2_SFTP_ATTR_UIDGID;
- if(sshc->quote_attrs.uid == 0 && !ISDIGIT(sshc->quote_path1[0])) {
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "Syntax error: chown uid not a number");
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- }
-
- /* Now send the completed structure... */
- state(conn, SSH_SFTP_QUOTE_SETSTAT);
- break;
-
- case SSH_SFTP_QUOTE_SETSTAT:
- rc = libssh2_sftp_setstat(sshc->sftp_session, sshc->quote_path2,
- &sshc->quote_attrs);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "Attempt to set SFTP stats failed: %s",
- sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
-
- case SSH_SFTP_QUOTE_SYMLINK:
- rc = libssh2_sftp_symlink(sshc->sftp_session, sshc->quote_path1,
- sshc->quote_path2);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "symlink command failed: %s",
- sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
-
- case SSH_SFTP_QUOTE_MKDIR:
- rc = libssh2_sftp_mkdir(sshc->sftp_session, sshc->quote_path1, 0755);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- failf(data, "mkdir command failed: %s", sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
-
- case SSH_SFTP_QUOTE_RENAME:
- rc = libssh2_sftp_rename(sshc->sftp_session, sshc->quote_path1,
- sshc->quote_path2);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- Curl_safefree(sshc->quote_path2);
- sshc->quote_path2 = NULL;
- failf(data, "rename command failed: %s", sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
-
- case SSH_SFTP_QUOTE_RMDIR:
- rc = libssh2_sftp_rmdir(sshc->sftp_session, sshc->quote_path1);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- failf(data, "rmdir command failed: %s", sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
-
- case SSH_SFTP_QUOTE_UNLINK:
- rc = libssh2_sftp_unlink(sshc->sftp_session, sshc->quote_path1);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc != 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- Curl_safefree(sshc->quote_path1);
- sshc->quote_path1 = NULL;
- failf(data, "rm command failed: %s", sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_QUOTE_ERROR;
- break;
- }
- state(conn, SSH_SFTP_NEXT_QUOTE);
- break;
-
- case SSH_SFTP_TRANS_INIT:
- if(data->set.upload)
- state(conn, SSH_SFTP_UPLOAD_INIT);
- else {
- if(data->set.opt_no_body)
- state(conn, SSH_STOP);
- else if(sftp_scp->path[strlen(sftp_scp->path)-1] == '/')
- state(conn, SSH_SFTP_READDIR_INIT);
- else
- state(conn, SSH_SFTP_DOWNLOAD_INIT);
- }
- break;
-
- case SSH_SFTP_UPLOAD_INIT:
- {
- unsigned long flags;
- /*
- * NOTE!!! libssh2 requires that the destination path is a full path
- * that includes the destination file and name OR ends in a "/"
- * If this is not done the destination file will be named the
- * same name as the last directory in the path.
- */
-
- if(data->state.resume_from != 0) {
- LIBSSH2_SFTP_ATTRIBUTES attrs;
- if(data->state.resume_from< 0) {
- rc = libssh2_sftp_stat(sshc->sftp_session, sftp_scp->path, &attrs);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc) {
- data->state.resume_from = 0;
- }
- else {
- data->state.resume_from = attrs.filesize;
- }
- }
- }
-
- if(data->set.ftp_append)
- /* Try to open for append, but create if nonexisting */
- flags = LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_APPEND;
- else if (data->state.resume_from > 0)
- /* If we have restart position then open for append */
- flags = LIBSSH2_FXF_WRITE|LIBSSH2_FXF_APPEND;
- else
- /* Clear file before writing (normal behaviour) */
- flags = LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_TRUNC;
-
- sshc->sftp_handle =
- libssh2_sftp_open(sshc->sftp_session, sftp_scp->path,
- flags, data->set.new_file_perms);
-
- if(!sshc->sftp_handle) {
- if(libssh2_session_last_errno(sshc->ssh_session) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- if(sshc->secondCreateDirs) {
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = sftp_libssh2_error_to_CURLE(err);
- failf(data, "Creating the dir/file failed: %s",
- sftp_libssh2_strerror(err));
- break;
- }
- else if(((err == LIBSSH2_FX_NO_SUCH_FILE) ||
- (err == LIBSSH2_FX_FAILURE) ||
- (err == LIBSSH2_FX_NO_SUCH_PATH)) &&
- (data->set.ftp_create_missing_dirs &&
- (strlen(sftp_scp->path) > 1))) {
- /* try to create the path remotely */
- sshc->secondCreateDirs = 1;
- state(conn, SSH_SFTP_CREATE_DIRS_INIT);
- break;
- }
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = sftp_libssh2_error_to_CURLE(err);
- failf(data, "Upload failed: %s", sftp_libssh2_strerror(err));
- break;
- }
- }
-
- /* If we have restart point then we need to seek to the correct position. */
- if(data->state.resume_from > 0) {
- /* Let's read off the proper amount of bytes from the input. */
- if(conn->seek_func) {
- curl_off_t readthisamountnow = data->state.resume_from;
-
- if(conn->seek_func(conn->seek_client,
- readthisamountnow, SEEK_SET) != 0) {
- failf(data, "Could not seek stream");
- return CURLE_FTP_COULDNT_USE_REST;
- }
- }
- else {
- curl_off_t passed=0;
- curl_off_t readthisamountnow;
- curl_off_t actuallyread;
- do {
- readthisamountnow = (data->state.resume_from - passed);
-
- if(readthisamountnow > BUFSIZE)
- readthisamountnow = BUFSIZE;
-
- actuallyread =
- (curl_off_t) conn->fread_func(data->state.buffer, 1,
- (size_t)readthisamountnow,
- conn->fread_in);
-
- passed += actuallyread;
- if((actuallyread <= 0) || (actuallyread > readthisamountnow)) {
- /* this checks for greater-than only to make sure that the
- CURL_READFUNC_ABORT return code still aborts */
- failf(data, "Failed to read data");
- return CURLE_FTP_COULDNT_USE_REST;
- }
- } while(passed < data->state.resume_from);
- }
-
- /* now, decrease the size of the read */
- if(data->set.infilesize>0) {
- data->set.infilesize -= data->state.resume_from;
- data->req.size = data->set.infilesize;
- Curl_pgrsSetUploadSize(data, data->set.infilesize);
- }
-
- libssh2_sftp_seek(sshc->sftp_handle, data->state.resume_from);
- }
- if(data->set.infilesize>0) {
- data->req.size = data->set.infilesize;
- Curl_pgrsSetUploadSize(data, data->set.infilesize);
- }
- /* upload data */
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL,
- FIRSTSOCKET, NULL);
-
- if(result) {
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- }
- else {
- state(conn, SSH_STOP);
- }
- break;
- }
-
- case SSH_SFTP_CREATE_DIRS_INIT:
- if(strlen(sftp_scp->path) > 1) {
- sshc->slash_pos = sftp_scp->path + 1; /* ignore the leading '/' */
- state(conn, SSH_SFTP_CREATE_DIRS);
- }
- else {
- state(conn, SSH_SFTP_UPLOAD_INIT);
- }
- break;
-
- case SSH_SFTP_CREATE_DIRS:
- if((sshc->slash_pos = strchr(sshc->slash_pos, '/')) != NULL) {
- *sshc->slash_pos = 0;
-
- infof(data, "Creating directory '%s'\n", sftp_scp->path);
- state(conn, SSH_SFTP_CREATE_DIRS_MKDIR);
- break;
- }
- else {
- state(conn, SSH_SFTP_UPLOAD_INIT);
- }
- break;
-
- case SSH_SFTP_CREATE_DIRS_MKDIR:
- /* 'mode' - parameter is preliminary - default to 0644 */
- rc = libssh2_sftp_mkdir(sshc->sftp_session, sftp_scp->path,
- data->set.new_directory_perms);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- *sshc->slash_pos = '/';
- ++sshc->slash_pos;
- if(rc == -1) {
- unsigned int sftp_err = 0;
- /*
- * abort if failure wasn't that the dir already exists or the
- * permission was denied (creation might succeed further
- * down the path) - retry on unspecific FAILURE also
- */
- sftp_err = libssh2_sftp_last_error(sshc->sftp_session);
- if((sftp_err != LIBSSH2_FX_FILE_ALREADY_EXISTS) &&
- (sftp_err != LIBSSH2_FX_FAILURE) &&
- (sftp_err != LIBSSH2_FX_PERMISSION_DENIED)) {
- result = sftp_libssh2_error_to_CURLE(sftp_err);
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- break;
- }
- }
- state(conn, SSH_SFTP_CREATE_DIRS);
- break;
-
- case SSH_SFTP_READDIR_INIT:
- /*
- * This is a directory that we are trying to get, so produce a
- * directory listing
- */
- sshc->sftp_handle = libssh2_sftp_opendir(sshc->sftp_session,
- sftp_scp->path);
- if(!sshc->sftp_handle) {
- if(libssh2_session_last_errno(sshc->ssh_session) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- failf(data, "Could not open directory for reading: %s",
- sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = sftp_libssh2_error_to_CURLE(err);
- break;
- }
- }
- if((sshc->readdir_filename = (char *)malloc(PATH_MAX+1)) == NULL) {
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
- if((sshc->readdir_longentry = (char *)malloc(PATH_MAX+1)) == NULL) {
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
- state(conn, SSH_SFTP_READDIR);
- break;
-
- case SSH_SFTP_READDIR:
- sshc->readdir_len = libssh2_sftp_readdir_ex(sshc->sftp_handle,
- sshc->readdir_filename,
- PATH_MAX,
- sshc->readdir_longentry,
- PATH_MAX,
- &sshc->readdir_attrs);
- if(sshc->readdir_len == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- if(sshc->readdir_len > 0) {
- sshc->readdir_filename[sshc->readdir_len] = '\0';
-
- if(data->set.ftp_list_only) {
- char *tmpLine;
-
- tmpLine = aprintf("%s\n", sshc->readdir_filename);
- if(tmpLine == NULL) {
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
- result = Curl_client_write(conn, CLIENTWRITE_BODY,
- tmpLine, sshc->readdir_len+1);
- Curl_safefree(tmpLine);
-
- if(result) {
- state(conn, SSH_STOP);
- break;
- }
- /* since this counts what we send to the client, we include the newline
- in this counter */
- data->req.bytecount += sshc->readdir_len+1;
-
- /* output debug output if that is requested */
- if(data->set.verbose) {
- Curl_debug(data, CURLINFO_DATA_OUT, sshc->readdir_filename,
- sshc->readdir_len, conn);
- }
- }
- else {
- sshc->readdir_currLen = strlen(sshc->readdir_longentry);
- sshc->readdir_totalLen = 80 + sshc->readdir_currLen;
- sshc->readdir_line = (char *)calloc(sshc->readdir_totalLen, 1);
- if(!sshc->readdir_line) {
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- Curl_safefree(sshc->readdir_longentry);
- sshc->readdir_longentry = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- memcpy(sshc->readdir_line, sshc->readdir_longentry,
- sshc->readdir_currLen);
- if((sshc->readdir_attrs.flags & LIBSSH2_SFTP_ATTR_PERMISSIONS) &&
- ((sshc->readdir_attrs.permissions & LIBSSH2_SFTP_S_IFMT) ==
- LIBSSH2_SFTP_S_IFLNK)) {
- sshc->readdir_linkPath = (char *)malloc(PATH_MAX + 1);
- if(sshc->readdir_linkPath == NULL) {
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- Curl_safefree(sshc->readdir_longentry);
- sshc->readdir_longentry = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- snprintf(sshc->readdir_linkPath, PATH_MAX, "%s%s", sftp_scp->path,
- sshc->readdir_filename);
- state(conn, SSH_SFTP_READDIR_LINK);
- break;
- }
- state(conn, SSH_SFTP_READDIR_BOTTOM);
- break;
- }
- }
- else if(sshc->readdir_len == 0) {
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- Curl_safefree(sshc->readdir_longentry);
- sshc->readdir_longentry = NULL;
- state(conn, SSH_SFTP_READDIR_DONE);
- break;
- }
- else if(sshc->readdir_len <= 0) {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- sshc->actualcode = sftp_libssh2_error_to_CURLE(err);
- failf(data, "Could not open remote file for reading: %s :: %d",
- sftp_libssh2_strerror(err),
- libssh2_session_last_errno(sshc->ssh_session));
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- Curl_safefree(sshc->readdir_longentry);
- sshc->readdir_longentry = NULL;
- state(conn, SSH_SFTP_CLOSE);
- break;
- }
- break;
-
- case SSH_SFTP_READDIR_LINK:
- sshc->readdir_len = libssh2_sftp_readlink(sshc->sftp_session,
- sshc->readdir_linkPath,
- sshc->readdir_filename,
- PATH_MAX);
- if(sshc->readdir_len == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- Curl_safefree(sshc->readdir_linkPath);
- sshc->readdir_linkPath = NULL;
- sshc->readdir_line = realloc(sshc->readdir_line,
- sshc->readdir_totalLen + 4 +
- sshc->readdir_len);
- if(!sshc->readdir_line) {
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- Curl_safefree(sshc->readdir_longentry);
- sshc->readdir_longentry = NULL;
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- sshc->readdir_currLen += snprintf(sshc->readdir_line +
- sshc->readdir_currLen,
- sshc->readdir_totalLen -
- sshc->readdir_currLen,
- " -> %s",
- sshc->readdir_filename);
-
- state(conn, SSH_SFTP_READDIR_BOTTOM);
- break;
-
- case SSH_SFTP_READDIR_BOTTOM:
- sshc->readdir_currLen += snprintf(sshc->readdir_line +
- sshc->readdir_currLen,
- sshc->readdir_totalLen -
- sshc->readdir_currLen, "\n");
- result = Curl_client_write(conn, CLIENTWRITE_BODY,
- sshc->readdir_line,
- sshc->readdir_currLen);
-
- if(result == CURLE_OK) {
-
- /* output debug output if that is requested */
- if(data->set.verbose) {
- Curl_debug(data, CURLINFO_DATA_OUT, sshc->readdir_line,
- sshc->readdir_currLen, conn);
- }
- data->req.bytecount += sshc->readdir_currLen;
- }
- Curl_safefree(sshc->readdir_line);
- sshc->readdir_line = NULL;
- if(result) {
- state(conn, SSH_STOP);
- }
- else
- state(conn, SSH_SFTP_READDIR);
- break;
-
- case SSH_SFTP_READDIR_DONE:
- if(libssh2_sftp_closedir(sshc->sftp_handle) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- sshc->sftp_handle = NULL;
- Curl_safefree(sshc->readdir_filename);
- sshc->readdir_filename = NULL;
- Curl_safefree(sshc->readdir_longentry);
- sshc->readdir_longentry = NULL;
-
- /* no data to transfer */
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
- state(conn, SSH_STOP);
- break;
-
- case SSH_SFTP_DOWNLOAD_INIT:
- /*
- * Work on getting the specified file
- */
- sshc->sftp_handle =
- libssh2_sftp_open(sshc->sftp_session, sftp_scp->path,
- LIBSSH2_FXF_READ, data->set.new_file_perms);
- if(!sshc->sftp_handle) {
- if(libssh2_session_last_errno(sshc->ssh_session) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- err = libssh2_sftp_last_error(sshc->sftp_session);
- failf(data, "Could not open remote file for reading: %s",
- sftp_libssh2_strerror(err));
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = sftp_libssh2_error_to_CURLE(err);
- break;
- }
- }
- state(conn, SSH_SFTP_DOWNLOAD_STAT);
- break;
-
- case SSH_SFTP_DOWNLOAD_STAT:
- {
- LIBSSH2_SFTP_ATTRIBUTES attrs;
-
- rc = libssh2_sftp_stat(sshc->sftp_session, sftp_scp->path, &attrs);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc) {
- /*
- * libssh2_sftp_open() didn't return an error, so maybe the server
- * just doesn't support stat()
- */
- data->req.size = -1;
- data->req.maxdownload = -1;
- }
- else {
- data->req.size = attrs.filesize;
- data->req.maxdownload = attrs.filesize;
- Curl_pgrsSetDownloadSize(data, attrs.filesize);
- }
-
- /* We can resume if we can seek to the resume position */
- if(data->state.resume_from) {
- if(data->state.resume_from< 0) {
- /* We're supposed to download the last abs(from) bytes */
- if((curl_off_t)attrs.filesize < -data->state.resume_from) {
- failf(data, "Offset (%"
- FORMAT_OFF_T ") was beyond file size (%" FORMAT_OFF_T ")",
- data->state.resume_from, attrs.filesize);
- return CURLE_BAD_DOWNLOAD_RESUME;
- }
- /* download from where? */
- data->state.resume_from = attrs.filesize - data->state.resume_from;
- }
- else {
- if((curl_off_t)attrs.filesize < data->state.resume_from) {
- failf(data, "Offset (%" FORMAT_OFF_T
- ") was beyond file size (%" FORMAT_OFF_T ")",
- data->state.resume_from, attrs.filesize);
- return CURLE_BAD_DOWNLOAD_RESUME;
- }
- }
- /* Does a completed file need to be seeked and started or closed ? */
- /* Now store the number of bytes we are expected to download */
- data->req.size = attrs.filesize - data->state.resume_from;
- data->req.maxdownload = attrs.filesize - data->state.resume_from;
- Curl_pgrsSetDownloadSize(data,
- attrs.filesize - data->state.resume_from);
- libssh2_sftp_seek(sshc->sftp_handle, data->state.resume_from);
- }
- }
- /* Setup the actual download */
- if(data->req.size == 0) {
- /* no data to transfer */
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
- infof(data, "File already completely downloaded\n");
- state(conn, SSH_STOP);
- break;
- }
- else {
- result = Curl_setup_transfer(conn, FIRSTSOCKET, data->req.size,
- FALSE, NULL, -1, NULL);
- }
- if(result) {
- state(conn, SSH_SFTP_CLOSE);
- sshc->actualcode = result;
- }
- else {
- state(conn, SSH_STOP);
- }
- break;
-
- case SSH_SFTP_CLOSE:
- if(sshc->sftp_handle) {
- rc = libssh2_sftp_close(sshc->sftp_handle);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to close libssh2 file\n");
- }
- sshc->sftp_handle = NULL;
- }
- Curl_safefree(sftp_scp->path);
- sftp_scp->path = NULL;
-
- DEBUGF(infof(data, "SFTP DONE done\n"));
-#if 0 /* PREV */
- state(conn, SSH_SFTP_SHUTDOWN);
-#endif
- state(conn, SSH_STOP);
- result = sshc->actualcode;
- break;
-
- case SSH_SFTP_SHUTDOWN:
- /* during times we get here due to a broken transfer and then the
- sftp_handle might not have been taken down so make sure that is done
- before we proceed */
-
- if(sshc->sftp_handle) {
- rc = libssh2_sftp_close(sshc->sftp_handle);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to close libssh2 file\n");
- }
- sshc->sftp_handle = NULL;
- }
- if(sshc->sftp_session) {
- rc = libssh2_sftp_shutdown(sshc->sftp_session);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to stop libssh2 sftp subsystem\n");
- }
- sshc->sftp_session = NULL;
- }
-
- Curl_safefree(sshc->homedir);
- sshc->homedir = NULL;
-
- state(conn, SSH_SESSION_DISCONNECT);
- break;
-
- case SSH_SCP_TRANS_INIT:
- result = ssh_getworkingpath(conn, sshc->homedir, &sftp_scp->path);
- if(result) {
- sshc->actualcode = result;
- state(conn, SSH_STOP);
- break;
- }
-
- if(data->set.upload) {
- if(data->set.infilesize < 0) {
- failf(data, "SCP requires a known file size for upload");
- sshc->actualcode = CURLE_UPLOAD_FAILED;
- state(conn, SSH_SCP_CHANNEL_FREE);
- break;
- }
- state(conn, SSH_SCP_UPLOAD_INIT);
- }
- else {
- state(conn, SSH_SCP_DOWNLOAD_INIT);
- }
- break;
-
- case SSH_SCP_UPLOAD_INIT:
- /*
- * libssh2 requires that the destination path is a full path that
- * includes the destination file and name OR ends in a "/" . If this is
- * not done the destination file will be named the same name as the last
- * directory in the path.
- */
- sshc->ssh_channel =
- libssh2_scp_send_ex(sshc->ssh_session, sftp_scp->path,
- data->set.new_file_perms,
- data->set.infilesize, 0, 0);
- if(!sshc->ssh_channel) {
- if(libssh2_session_last_errno(sshc->ssh_session) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- int ssh_err;
- char *err_msg;
-
- ssh_err = libssh2_session_last_error(sshc->ssh_session,
- &err_msg, NULL, 0);
- failf(conn->data, "%s", err_msg);
- state(conn, SSH_SCP_CHANNEL_FREE);
- sshc->actualcode = libssh2_session_error_to_CURLE(ssh_err);
- break;
- }
- }
-
- /* upload data */
- result = Curl_setup_transfer(conn, -1, data->req.size, FALSE, NULL,
- FIRSTSOCKET, NULL);
-
- if(result) {
- state(conn, SSH_SCP_CHANNEL_FREE);
- sshc->actualcode = result;
- }
- else {
- state(conn, SSH_STOP);
- }
- break;
-
- case SSH_SCP_DOWNLOAD_INIT:
- {
- /*
- * We must check the remote file; if it is a directory no values will
- * be set in sb
- */
- struct stat sb;
- curl_off_t bytecount;
-
- /* clear the struct scp recv will fill in */
- memset(&sb, 0, sizeof(struct stat));
-
- /* get a fresh new channel from the ssh layer */
- sshc->ssh_channel = libssh2_scp_recv(sshc->ssh_session,
- sftp_scp->path, &sb);
- if(!sshc->ssh_channel) {
- if(libssh2_session_last_errno(sshc->ssh_session) ==
- LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else {
- int ssh_err;
- char *err_msg;
-
- ssh_err = libssh2_session_last_error(sshc->ssh_session,
- &err_msg, NULL, 0);
- failf(conn->data, "%s", err_msg);
- state(conn, SSH_SCP_CHANNEL_FREE);
- sshc->actualcode = libssh2_session_error_to_CURLE(ssh_err);
- break;
- }
- }
-
- /* download data */
- bytecount = (curl_off_t)sb.st_size;
- data->req.maxdownload = (curl_off_t)sb.st_size;
- result = Curl_setup_transfer(conn, FIRSTSOCKET,
- bytecount, FALSE, NULL, -1, NULL);
-
- if(result) {
- state(conn, SSH_SCP_CHANNEL_FREE);
- sshc->actualcode = result;
- }
- else
- state(conn, SSH_STOP);
- }
- break;
-
- case SSH_SCP_DONE:
- if(data->set.upload)
- state(conn, SSH_SCP_SEND_EOF);
- else
- state(conn, SSH_SCP_CHANNEL_FREE);
- break;
-
- case SSH_SCP_SEND_EOF:
- if(sshc->ssh_channel) {
- rc = libssh2_channel_send_eof(sshc->ssh_channel);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc) {
- infof(data, "Failed to send libssh2 channel EOF\n");
- }
- }
- state(conn, SSH_SCP_WAIT_EOF);
- break;
-
- case SSH_SCP_WAIT_EOF:
- if(sshc->ssh_channel) {
- rc = libssh2_channel_wait_eof(sshc->ssh_channel);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc) {
- infof(data, "Failed to get channel EOF: %d\n", rc);
- }
- }
- state(conn, SSH_SCP_WAIT_CLOSE);
- break;
-
- case SSH_SCP_WAIT_CLOSE:
- if(sshc->ssh_channel) {
- rc = libssh2_channel_wait_closed(sshc->ssh_channel);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc) {
- infof(data, "Channel failed to close: %d\n", rc);
- }
- }
- state(conn, SSH_SCP_CHANNEL_FREE);
- break;
-
- case SSH_SCP_CHANNEL_FREE:
- if(sshc->ssh_channel) {
- rc = libssh2_channel_free(sshc->ssh_channel);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to free libssh2 scp subsystem\n");
- }
- sshc->ssh_channel = NULL;
- }
- DEBUGF(infof(data, "SCP DONE phase complete\n"));
-#if 0 /* PREV */
- state(conn, SSH_SESSION_DISCONNECT);
-#endif
- state(conn, SSH_STOP);
- result = sshc->actualcode;
- break;
-
- case SSH_SESSION_DISCONNECT:
- /* during weird times when we've been prematurely aborted, the channel
- is still alive when we reach this state and we MUST kill the channel
- properly first */
- if(sshc->ssh_channel) {
- rc = libssh2_channel_free(sshc->ssh_channel);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to free libssh2 scp subsystem\n");
- }
- sshc->ssh_channel = NULL;
- }
-
- if(sshc->ssh_session) {
- rc = libssh2_session_disconnect(sshc->ssh_session, "Shutdown");
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to disconnect libssh2 session\n");
- }
- }
-
- Curl_safefree(sshc->homedir);
- sshc->homedir = NULL;
-
- state(conn, SSH_SESSION_FREE);
- break;
-
- case SSH_SESSION_FREE:
- if(sshc->ssh_session) {
- rc = libssh2_session_free(sshc->ssh_session);
- if(rc == LIBSSH2_ERROR_EAGAIN) {
- break;
- }
- else if(rc < 0) {
- infof(data, "Failed to free libssh2 session\n");
- }
- sshc->ssh_session = NULL;
- }
- sshc->nextstate = SSH_NO_STATE;
- state(conn, SSH_STOP);
- result = sshc->actualcode;
- break;
-
- case SSH_QUIT:
- /* fallthrough, just stop! */
- default:
- /* internal error */
- sshc->nextstate = SSH_NO_STATE;
- state(conn, SSH_STOP);
- break;
- }
-
- return result;
-}
-
-/* called repeatedly until done from multi.c */
-static CURLcode ssh_multi_statemach(struct connectdata *conn, bool *done)
-{
- struct ssh_conn *sshc = &conn->proto.sshc;
- CURLcode result = CURLE_OK;
-
- result = ssh_statemach_act(conn);
- *done = (bool)(sshc->state == SSH_STOP);
-
- return result;
-}
-
-static CURLcode ssh_easy_statemach(struct connectdata *conn)
-{
- struct ssh_conn *sshc = &conn->proto.sshc;
- CURLcode result = CURLE_OK;
-
- while((sshc->state != SSH_STOP) && !result)
- result = ssh_statemach_act(conn);
-
- return result;
-}
-
-/*
- * SSH setup and connection
- */
-static CURLcode ssh_init(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- struct SSHPROTO *ssh;
- struct ssh_conn *sshc = &conn->proto.sshc;
-
- sshc->actualcode = CURLE_OK; /* reset error code */
- sshc->secondCreateDirs =0; /* reset the create dir attempt state variable */
-
- if(data->state.proto.ssh)
- return CURLE_OK;
-
- ssh = (struct SSHPROTO *)calloc(sizeof(struct SSHPROTO), 1);
- if(!ssh)
- return CURLE_OUT_OF_MEMORY;
-
- data->state.proto.ssh = ssh;
-
- return CURLE_OK;
-}
-
-/*
- * Curl_ssh_connect() gets called from Curl_protocol_connect() to allow us to
- * do protocol-specific actions at connect-time.
- */
-static CURLcode ssh_connect(struct connectdata *conn, bool *done)
-{
-#ifdef CURL_LIBSSH2_DEBUG
- curl_socket_t sock;
-#endif
- struct ssh_conn *ssh;
- CURLcode result;
- struct SessionHandle *data = conn->data;
-
- /* We default to persistent connections. We set this already in this connect
- function to make the re-use checks properly be able to check this bit. */
- conn->bits.close = FALSE;
-
- /* If there already is a protocol-specific struct allocated for this
- sessionhandle, deal with it */
- Curl_reset_reqproto(conn);
-
- result = ssh_init(conn);
- if(result)
- return result;
-
- ssh = &conn->proto.sshc;
-
-#ifdef CURL_LIBSSH2_DEBUG
- if(conn->user) {
- infof(data, "User: %s\n", conn->user);
- }
- if(conn->passwd) {
- infof(data, "Password: %s\n", conn->passwd);
- }
- sock = conn->sock[FIRSTSOCKET];
-#endif /* CURL_LIBSSH2_DEBUG */
-
- ssh->ssh_session = libssh2_session_init_ex(libssh2_malloc, libssh2_free,
- libssh2_realloc, conn);
- if(ssh->ssh_session == NULL) {
- failf(data, "Failure initialising ssh session");
- return CURLE_FAILED_INIT;
- }
-
-#ifdef CURL_LIBSSH2_DEBUG
- libssh2_trace(ssh->ssh_session, LIBSSH2_TRACE_CONN|LIBSSH2_TRACE_TRANS|
- LIBSSH2_TRACE_KEX|LIBSSH2_TRACE_AUTH|LIBSSH2_TRACE_SCP|
- LIBSSH2_TRACE_SFTP|LIBSSH2_TRACE_ERROR|
- LIBSSH2_TRACE_PUBLICKEY);
- infof(data, "SSH socket: %d\n", sock);
-#endif /* CURL_LIBSSH2_DEBUG */
-
- state(conn, SSH_S_STARTUP);
-
- if(data->state.used_interface == Curl_if_multi)
- result = ssh_multi_statemach(conn, done);
- else {
- result = ssh_easy_statemach(conn);
- if(!result)
- *done = TRUE;
- }
-
- return result;
-}
-
-/*
- ***********************************************************************
- *
- * scp_perform()
- *
- * This is the actual DO function for SCP. Get a file according to
- * the options previously setup.
- */
-
-static
-CURLcode scp_perform(struct connectdata *conn,
- bool *connected,
- bool *dophase_done)
-{
- CURLcode result = CURLE_OK;
-
- DEBUGF(infof(conn->data, "DO phase starts\n"));
-
- *dophase_done = FALSE; /* not done yet */
-
- /* start the first command in the DO phase */
- state(conn, SSH_SCP_TRANS_INIT);
-
- /* run the state-machine */
- if(conn->data->state.used_interface == Curl_if_multi) {
- result = ssh_multi_statemach(conn, dophase_done);
- }
- else {
- result = ssh_easy_statemach(conn);
- *dophase_done = TRUE; /* with the easy interface we are done here */
- }
- *connected = conn->bits.tcpconnect;
-
- if(*dophase_done) {
- DEBUGF(infof(conn->data, "DO phase is complete\n"));
- }
-
- return result;
-}
-
-/* called from multi.c while DOing */
-static CURLcode scp_doing(struct connectdata *conn,
- bool *dophase_done)
-{
- CURLcode result;
- result = ssh_multi_statemach(conn, dophase_done);
-
- if(*dophase_done) {
- DEBUGF(infof(conn->data, "DO phase is complete\n"));
- }
- return result;
-}
-
-/*
- * The DO function is generic for both protocols. There was previously two
- * separate ones but this way means less duplicated code.
- */
-
-static CURLcode ssh_do(struct connectdata *conn, bool *done)
-{
- CURLcode res;
- bool connected = 0;
- struct SessionHandle *data = conn->data;
-
- *done = FALSE; /* default to false */
-
- /*
- Since connections can be re-used between SessionHandles, this might be a
- connection already existing but on a fresh SessionHandle struct so we must
- make sure we have a good 'struct SSHPROTO' to play with. For new
- connections, the struct SSHPROTO is allocated and setup in the
- ssh_connect() function.
- */
- Curl_reset_reqproto(conn);
- res = ssh_init(conn);
- if(res)
- return res;
-
- data->req.size = -1; /* make sure this is unknown at this point */
-
- Curl_pgrsSetUploadCounter(data, 0);
- Curl_pgrsSetDownloadCounter(data, 0);
- Curl_pgrsSetUploadSize(data, 0);
- Curl_pgrsSetDownloadSize(data, 0);
-
- if(conn->protocol & PROT_SCP)
- res = scp_perform(conn, &connected, done);
- else
- res = sftp_perform(conn, &connected, done);
-
- return res;
-}
-
-/* BLOCKING, but the function is using the state machine so the only reason this
- is still blocking is that the multi interface code has no support for
- disconnecting operations that takes a while */
-static CURLcode scp_disconnect(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
-
- Curl_safefree(conn->data->state.proto.ssh);
- conn->data->state.proto.ssh = NULL;
-
- if(conn->proto.sshc.ssh_session) {
- /* only if there's a session still around to use! */
-
- state(conn, SSH_SESSION_DISCONNECT);
-
- result = ssh_easy_statemach(conn);
- }
-
- return result;
-}
-
-/* generic done function for both SCP and SFTP called from their specific
- done functions */
-static CURLcode ssh_done(struct connectdata *conn, CURLcode status)
-{
- CURLcode result = CURLE_OK;
- bool done = FALSE;
-
- if(status == CURLE_OK) {
- /* run the state-machine */
- if(conn->data->state.used_interface == Curl_if_multi) {
- result = ssh_multi_statemach(conn, &done);
- }
- else {
- result = ssh_easy_statemach(conn);
- done = TRUE;
- }
- }
- else {
- result = status;
- done = TRUE;
- }
-
- if(done) {
- struct SSHPROTO *sftp_scp = conn->data->state.proto.ssh;
-
- Curl_safefree(sftp_scp->path);
- sftp_scp->path = NULL;
- Curl_pgrsDone(conn);
- }
-
- return result;
-}
-
-
-static CURLcode scp_done(struct connectdata *conn, CURLcode status,
- bool premature)
-{
- (void)premature; /* not used */
-
- if(status == CURLE_OK)
- state(conn, SSH_SCP_DONE);
-
- return ssh_done(conn, status);
-
-}
-
-/* return number of received (decrypted) bytes */
-ssize_t Curl_scp_send(struct connectdata *conn, int sockindex,
- const void *mem, size_t len)
-{
- ssize_t nwrite;
- (void)sockindex; /* we only support SCP on the fixed known primary socket */
-
- /* libssh2_channel_write() returns int! */
- nwrite = (ssize_t)
- libssh2_channel_write(conn->proto.sshc.ssh_channel, mem, len);
- if(nwrite == LIBSSH2_ERROR_EAGAIN)
- return 0;
-
- return nwrite;
-}
-
-/*
- * If the read would block (EWOULDBLOCK) we return -1. Otherwise we return
- * a regular CURLcode value.
- */
-ssize_t Curl_scp_recv(struct connectdata *conn, int sockindex,
- char *mem, size_t len)
-{
- ssize_t nread;
- (void)sockindex; /* we only support SCP on the fixed known primary socket */
-
- /* libssh2_channel_read() returns int */
- nread = (ssize_t)
- libssh2_channel_read(conn->proto.sshc.ssh_channel, mem, len);
- return nread;
-}
-
-/*
- * =============== SFTP ===============
- */
-
-/*
- ***********************************************************************
- *
- * sftp_perform()
- *
- * This is the actual DO function for SFTP. Get a file/directory according to
- * the options previously setup.
- */
-
-static
-CURLcode sftp_perform(struct connectdata *conn,
- bool *connected,
- bool *dophase_done)
-{
- CURLcode result = CURLE_OK;
-
- DEBUGF(infof(conn->data, "DO phase starts\n"));
-
- *dophase_done = FALSE; /* not done yet */
-
- /* start the first command in the DO phase */
- state(conn, SSH_SFTP_QUOTE_INIT);
-
- /* run the state-machine */
- if(conn->data->state.used_interface == Curl_if_multi) {
- result = ssh_multi_statemach(conn, dophase_done);
- }
- else {
- result = ssh_easy_statemach(conn);
- *dophase_done = TRUE; /* with the easy interface we are done here */
- }
- *connected = conn->bits.tcpconnect;
-
- if(*dophase_done) {
- DEBUGF(infof(conn->data, "DO phase is complete\n"));
- }
-
- return result;
-}
-
-/* called from multi.c while DOing */
-static CURLcode sftp_doing(struct connectdata *conn,
- bool *dophase_done)
-{
- CURLcode result;
- result = ssh_multi_statemach(conn, dophase_done);
-
- if(*dophase_done) {
- DEBUGF(infof(conn->data, "DO phase is complete\n"));
- }
- return result;
-}
-
-/* BLOCKING, but the function is using the state machine so the only reason this
- is still blocking is that the multi interface code has no support for
- disconnecting operations that takes a while */
-static CURLcode sftp_disconnect(struct connectdata *conn)
-{
- CURLcode result = CURLE_OK;
-
- DEBUGF(infof(conn->data, "SSH DISCONNECT starts now\n"));
-
- Curl_safefree(conn->data->state.proto.ssh);
- conn->data->state.proto.ssh = NULL;
-
- if(conn->proto.sshc.ssh_session) {
- /* only if there's a session still around to use! */
- state(conn, SSH_SFTP_SHUTDOWN);
- result = ssh_easy_statemach(conn);
- }
-
- DEBUGF(infof(conn->data, "SSH DISCONNECT is done\n"));
-
- return result;
-
-}
-
-static CURLcode sftp_done(struct connectdata *conn, CURLcode status,
- bool premature)
-{
- struct ssh_conn *sshc = &conn->proto.sshc;
-
- if(status == CURLE_OK) {
- /* Before we shut down, see if there are any post-quote commands to send: */
- if(!status && !premature && conn->data->set.postquote) {
- sshc->nextstate = SSH_SFTP_CLOSE;
- state(conn, SSH_SFTP_POSTQUOTE_INIT);
- }
- else
- state(conn, SSH_SFTP_CLOSE);
- }
- return ssh_done(conn, status);
-}
-
-/* return number of sent bytes */
-ssize_t Curl_sftp_send(struct connectdata *conn, int sockindex,
- const void *mem, size_t len)
-{
- ssize_t nwrite; /* libssh2_sftp_write() used to return size_t in 0.14
- but is changed to ssize_t in 0.15. These days we don't
- support libssh2 0.15*/
- (void)sockindex;
-
- nwrite = libssh2_sftp_write(conn->proto.sshc.sftp_handle, mem, len);
- if(nwrite == LIBSSH2_ERROR_EAGAIN)
- return 0;
-
- return nwrite;
-}
-
-/*
- * Return number of received (decrypted) bytes
- */
-ssize_t Curl_sftp_recv(struct connectdata *conn, int sockindex,
- char *mem, size_t len)
-{
- ssize_t nread;
- (void)sockindex;
-
- nread = libssh2_sftp_read(conn->proto.sshc.sftp_handle, mem, len);
-
- return nread;
-}
-
-/* The get_pathname() function is being borrowed from OpenSSH sftp.c
- version 4.6p1. */
-/*
- * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-static CURLcode
-get_pathname(const char **cpp, char **path)
-{
- const char *cp = *cpp, *end;
- char quot;
- u_int i, j;
- static const char * const WHITESPACE = " \t\r\n";
-
- cp += strspn(cp, WHITESPACE);
- if(!*cp) {
- *cpp = cp;
- *path = NULL;
- return CURLE_QUOTE_ERROR;
- }
-
- *path = malloc(strlen(cp) + 1);
- if(*path == NULL)
- return CURLE_OUT_OF_MEMORY;
-
- /* Check for quoted filenames */
- if(*cp == '\"' || *cp == '\'') {
- quot = *cp++;
-
- /* Search for terminating quote, unescape some chars */
- for (i = j = 0; i <= strlen(cp); i++) {
- if(cp[i] == quot) { /* Found quote */
- i++;
- (*path)[j] = '\0';
- break;
- }
- if(cp[i] == '\0') { /* End of string */
- /*error("Unterminated quote");*/
- goto fail;
- }
- if(cp[i] == '\\') { /* Escaped characters */
- i++;
- if(cp[i] != '\'' && cp[i] != '\"' &&
- cp[i] != '\\') {
- /*error("Bad escaped character '\\%c'",
- cp[i]);*/
- goto fail;
- }
- }
- (*path)[j++] = cp[i];
- }
-
- if(j == 0) {
- /*error("Empty quotes");*/
- goto fail;
- }
- *cpp = cp + i + strspn(cp + i, WHITESPACE);
- }
- else {
- /* Read to end of filename */
- end = strpbrk(cp, WHITESPACE);
- if(end == NULL)
- end = strchr(cp, '\0');
- *cpp = end + strspn(end, WHITESPACE);
-
- memcpy(*path, cp, end - cp);
- (*path)[end - cp] = '\0';
- }
- return CURLE_OK;
-
- fail:
- Curl_safefree(*path);
- *path = NULL;
- return CURLE_QUOTE_ERROR;
-}
-
-
-static const char *sftp_libssh2_strerror(unsigned long err)
-{
- switch (err) {
- case LIBSSH2_FX_NO_SUCH_FILE:
- return "No such file or directory";
-
- case LIBSSH2_FX_PERMISSION_DENIED:
- return "Permission denied";
-
- case LIBSSH2_FX_FAILURE:
- return "Operation failed";
-
- case LIBSSH2_FX_BAD_MESSAGE:
- return "Bad message from SFTP server";
-
- case LIBSSH2_FX_NO_CONNECTION:
- return "Not connected to SFTP server";
-
- case LIBSSH2_FX_CONNECTION_LOST:
- return "Connection to SFTP server lost";
-
- case LIBSSH2_FX_OP_UNSUPPORTED:
- return "Operation not supported by SFTP server";
-
- case LIBSSH2_FX_INVALID_HANDLE:
- return "Invalid handle";
-
- case LIBSSH2_FX_NO_SUCH_PATH:
- return "No such file or directory";
-
- case LIBSSH2_FX_FILE_ALREADY_EXISTS:
- return "File already exists";
-
- case LIBSSH2_FX_WRITE_PROTECT:
- return "File is write protected";
-
- case LIBSSH2_FX_NO_MEDIA:
- return "No media";
-
- case LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM:
- return "Disk full";
-
- case LIBSSH2_FX_QUOTA_EXCEEDED:
- return "User quota exceeded";
-
- case LIBSSH2_FX_UNKNOWN_PRINCIPLE:
- return "Unknown principle";
-
- case LIBSSH2_FX_LOCK_CONFlICT:
- return "File lock conflict";
-
- case LIBSSH2_FX_DIR_NOT_EMPTY:
- return "Directory not empty";
-
- case LIBSSH2_FX_NOT_A_DIRECTORY:
- return "Not a directory";
-
- case LIBSSH2_FX_INVALID_FILENAME:
- return "Invalid filename";
-
- case LIBSSH2_FX_LINK_LOOP:
- return "Link points to itself";
- }
- return "Unknown error in libssh2";
-}
-
-#endif /* USE_LIBSSH2 */
diff --git a/Utilities/cmcurl-7.19.0/lib/ssh.h b/Utilities/cmcurl-7.19.0/lib/ssh.h
deleted file mode 100644
index 72c4f0b..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ssh.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef __SSH_H
-#define __SSH_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef USE_LIBSSH2
-extern const struct Curl_handler Curl_handler_scp;
-extern const struct Curl_handler Curl_handler_sftp;
-
-ssize_t Curl_scp_send(struct connectdata *conn, int sockindex,
- const void *mem, size_t len);
-ssize_t Curl_scp_recv(struct connectdata *conn, int sockindex,
- char *mem, size_t len);
-
-ssize_t Curl_sftp_send(struct connectdata *conn, int sockindex,
- const void *mem, size_t len);
-ssize_t Curl_sftp_recv(struct connectdata *conn, int sockindex,
- char *mem, size_t len);
-
-#define Curl_ssh_enabled(conn,prot) (conn->protocol & prot)
-
-#else /* USE_LIBSSH2 */
-#define Curl_ssh_enabled(x,y) 0
-#define Curl_scp_send(a,b,c,d) 0
-#define Curl_sftp_send(a,b,c,d) 0
-#define Curl_scp_recv(a,b,c,d) 0
-#define Curl_sftp_recv(a,b,c,d) 0
-
-#endif /* USE_LIBSSH2 */
-
-#endif /* __SSH_H */
diff --git a/Utilities/cmcurl-7.19.0/lib/sslgen.c b/Utilities/cmcurl-7.19.0/lib/sslgen.c
deleted file mode 100644
index 0001cd8..0000000
--- a/Utilities/cmcurl-7.19.0/lib/sslgen.c
+++ /dev/null
@@ -1,467 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* This file is for "generic" SSL functions that all libcurl internals should
- use. It is responsible for calling the proper 'ossl' function in ssluse.c
- (OpenSSL based) or the 'gtls' function in gtls.c (GnuTLS based).
-
- SSL-functions in libcurl should call functions in this source file, and not
- to any specific SSL-layer.
-
- Curl_ssl_ - prefix for generic ones
- Curl_ossl_ - prefix for OpenSSL ones
- Curl_gtls_ - prefix for GnuTLS ones
- Curl_nss_ - prefix for NSS ones
-
- Note that this source code uses curlssl_* functions, and they are all
- defines/macros #defined by the lib-specific header files.
-
- "SSL/TLS Strong Encryption: An Introduction"
- http://httpd.apache.org/docs-2.0/ssl/ssl_intro.html
-*/
-
-#include "setup.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#include "urldata.h"
-#define SSLGEN_C
-#include "sslgen.h" /* generic SSL protos etc */
-#include "ssluse.h" /* OpenSSL versions */
-#include "gtls.h" /* GnuTLS versions */
-#include "nssg.h" /* NSS versions */
-#include "qssl.h" /* QSOSSL versions */
-#include "sendf.h"
-#include "strequal.h"
-#include "url.h"
-#include "memory.h"
-#include "progress.h"
-/* The last #include file should be: */
-#include "memdebug.h"
-
-static bool safe_strequal(char* str1, char* str2);
-
-static bool safe_strequal(char* str1, char* str2)
-{
- if(str1 && str2)
- /* both pointers point to something then compare them */
- return (bool)(0 != strequal(str1, str2));
- else
- /* if both pointers are NULL then treat them as equal */
- return (bool)(!str1 && !str2);
-}
-
-bool
-Curl_ssl_config_matches(struct ssl_config_data* data,
- struct ssl_config_data* needle)
-{
- if((data->version == needle->version) &&
- (data->verifypeer == needle->verifypeer) &&
- (data->verifyhost == needle->verifyhost) &&
- safe_strequal(data->CApath, needle->CApath) &&
- safe_strequal(data->CAfile, needle->CAfile) &&
- safe_strequal(data->random_file, needle->random_file) &&
- safe_strequal(data->egdsocket, needle->egdsocket) &&
- safe_strequal(data->cipher_list, needle->cipher_list))
- return TRUE;
-
- return FALSE;
-}
-
-bool
-Curl_clone_ssl_config(struct ssl_config_data *source,
- struct ssl_config_data *dest)
-{
- dest->sessionid = source->sessionid;
- dest->verifyhost = source->verifyhost;
- dest->verifypeer = source->verifypeer;
- dest->version = source->version;
-
- if(source->CAfile) {
- dest->CAfile = strdup(source->CAfile);
- if(!dest->CAfile)
- return FALSE;
- }
-
- if(source->CApath) {
- dest->CApath = strdup(source->CApath);
- if(!dest->CApath)
- return FALSE;
- }
-
- if(source->cipher_list) {
- dest->cipher_list = strdup(source->cipher_list);
- if(!dest->cipher_list)
- return FALSE;
- }
-
- if(source->egdsocket) {
- dest->egdsocket = strdup(source->egdsocket);
- if(!dest->egdsocket)
- return FALSE;
- }
-
- if(source->random_file) {
- dest->random_file = strdup(source->random_file);
- if(!dest->random_file)
- return FALSE;
- }
-
- return TRUE;
-}
-
-void Curl_free_ssl_config(struct ssl_config_data* sslc)
-{
- Curl_safefree(sslc->CAfile);
- Curl_safefree(sslc->CApath);
- Curl_safefree(sslc->cipher_list);
- Curl_safefree(sslc->egdsocket);
- Curl_safefree(sslc->random_file);
-}
-
-#ifdef USE_SSL
-
-/* "global" init done? */
-static bool init_ssl=FALSE;
-
-/**
- * Global SSL init
- *
- * @retval 0 error initializing SSL
- * @retval 1 SSL initialized successfully
- */
-int Curl_ssl_init(void)
-{
- /* make sure this is only done once */
- if(init_ssl)
- return 1;
- init_ssl = TRUE; /* never again */
-
- return curlssl_init();
-}
-
-
-/* Global cleanup */
-void Curl_ssl_cleanup(void)
-{
- if(init_ssl) {
- /* only cleanup if we did a previous init */
- curlssl_cleanup();
- init_ssl = FALSE;
- }
-}
-
-CURLcode
-Curl_ssl_connect(struct connectdata *conn, int sockindex)
-{
- CURLcode res;
- /* mark this is being ssl-enabled from here on. */
- conn->ssl[sockindex].use = TRUE;
- conn->ssl[sockindex].state = ssl_connection_negotiating;
-
- res = curlssl_connect(conn, sockindex);
-
- if(!res)
- Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSL is connected */
-
- return res;
-}
-
-CURLcode
-Curl_ssl_connect_nonblocking(struct connectdata *conn, int sockindex,
- bool *done)
-{
-#ifdef curlssl_connect_nonblocking
- /* mark this is being ssl requested from here on. */
- conn->ssl[sockindex].use = TRUE;
- return curlssl_connect_nonblocking(conn, sockindex, done);
-#else
- *done = TRUE; /* fallback to BLOCKING */
- conn->ssl[sockindex].use = TRUE;
- return curlssl_connect(conn, sockindex);
-#endif /* non-blocking connect support */
-}
-
-/*
- * Check if there's a session ID for the given connection in the cache, and if
- * there's one suitable, it is provided. Returns TRUE when no entry matched.
- */
-int Curl_ssl_getsessionid(struct connectdata *conn,
- void **ssl_sessionid,
- size_t *idsize) /* set 0 if unknown */
-{
- struct curl_ssl_session *check;
- struct SessionHandle *data = conn->data;
- long i;
-
- if(!conn->ssl_config.sessionid)
- /* session ID re-use is disabled */
- return TRUE;
-
- for(i=0; i< data->set.ssl.numsessions; i++) {
- check = &data->state.session[i];
- if(!check->sessionid)
- /* not session ID means blank entry */
- continue;
- if(curl_strequal(conn->host.name, check->name) &&
- (conn->remote_port == check->remote_port) &&
- Curl_ssl_config_matches(&conn->ssl_config, &check->ssl_config)) {
- /* yes, we have a session ID! */
- data->state.sessionage++; /* increase general age */
- check->age = data->state.sessionage; /* set this as used in this age */
- *ssl_sessionid = check->sessionid;
- if(idsize)
- *idsize = check->idsize;
- return FALSE;
- }
- }
- *ssl_sessionid = NULL;
- return TRUE;
-}
-
-/*
- * Kill a single session ID entry in the cache.
- */
-static int kill_session(struct curl_ssl_session *session)
-{
- if(session->sessionid) {
- /* defensive check */
-
- /* free the ID the SSL-layer specific way */
- curlssl_session_free(session->sessionid);
-
- session->sessionid=NULL;
- session->age = 0; /* fresh */
-
- Curl_free_ssl_config(&session->ssl_config);
-
- Curl_safefree(session->name);
- session->name = NULL; /* no name */
-
- return 0; /* ok */
- }
- else
- return 1;
-}
-
-/*
- * Store session id in the session cache. The ID passed on to this function
- * must already have been extracted and allocated the proper way for the SSL
- * layer. Curl_XXXX_session_free() will be called to free/kill the session ID
- * later on.
- */
-CURLcode Curl_ssl_addsessionid(struct connectdata *conn,
- void *ssl_sessionid,
- size_t idsize)
-{
- long i;
- struct SessionHandle *data=conn->data; /* the mother of all structs */
- struct curl_ssl_session *store = &data->state.session[0];
- long oldest_age=data->state.session[0].age; /* zero if unused */
- char *clone_host;
-
- /* Even though session ID re-use might be disabled, that only disables USING
- IT. We still store it here in case the re-using is again enabled for an
- upcoming transfer */
-
- clone_host = strdup(conn->host.name);
- if(!clone_host)
- return CURLE_OUT_OF_MEMORY; /* bail out */
-
- /* Now we should add the session ID and the host name to the cache, (remove
- the oldest if necessary) */
-
- /* find an empty slot for us, or find the oldest */
- for(i=1; (i<data->set.ssl.numsessions) &&
- data->state.session[i].sessionid; i++) {
- if(data->state.session[i].age < oldest_age) {
- oldest_age = data->state.session[i].age;
- store = &data->state.session[i];
- }
- }
- if(i == data->set.ssl.numsessions)
- /* cache is full, we must "kill" the oldest entry! */
- kill_session(store);
- else
- store = &data->state.session[i]; /* use this slot */
-
- /* now init the session struct wisely */
- store->sessionid = ssl_sessionid;
- store->idsize = idsize;
- store->age = data->state.sessionage; /* set current age */
- if (store->name)
- /* free it if there's one already present */
- free(store->name);
- store->name = clone_host; /* clone host name */
- store->remote_port = conn->remote_port; /* port number */
-
- if(!Curl_clone_ssl_config(&conn->ssl_config, &store->ssl_config))
- return CURLE_OUT_OF_MEMORY;
-
- return CURLE_OK;
-}
-
-
-void Curl_ssl_close_all(struct SessionHandle *data)
-{
- long i;
- /* kill the session ID cache */
- if(data->state.session) {
- for(i=0; i< data->set.ssl.numsessions; i++)
- /* the single-killer function handles empty table slots */
- kill_session(&data->state.session[i]);
-
- /* free the cache data */
- free(data->state.session);
- data->state.session = NULL;
- }
-
- curlssl_close_all(data);
-}
-
-void Curl_ssl_close(struct connectdata *conn, int sockindex)
-{
- DEBUGASSERT((sockindex <= 1) && (sockindex >= -1));
- curlssl_close(conn, sockindex);
-}
-
-CURLcode Curl_ssl_shutdown(struct connectdata *conn, int sockindex)
-{
- if(curlssl_shutdown(conn, sockindex))
- return CURLE_SSL_SHUTDOWN_FAILED;
-
- conn->ssl[sockindex].use = FALSE; /* get back to ordinary socket usage */
- conn->ssl[sockindex].state = ssl_connection_none;
-
- return CURLE_OK;
-}
-
-/* Selects an SSL crypto engine
- */
-CURLcode Curl_ssl_set_engine(struct SessionHandle *data, const char *engine)
-{
- return curlssl_set_engine(data, engine);
-}
-
-/* Selects the default SSL crypto engine
- */
-CURLcode Curl_ssl_set_engine_default(struct SessionHandle *data)
-{
- return curlssl_set_engine_default(data);
-}
-
-/* Return list of OpenSSL crypto engine names. */
-struct curl_slist *Curl_ssl_engines_list(struct SessionHandle *data)
-{
- return curlssl_engines_list(data);
-}
-
-/* return number of sent (non-SSL) bytes */
-ssize_t Curl_ssl_send(struct connectdata *conn,
- int sockindex,
- const void *mem,
- size_t len)
-{
- return curlssl_send(conn, sockindex, mem, len);
-}
-
-/* return number of received (decrypted) bytes */
-
-/*
- * If the read would block (EWOULDBLOCK) we return -1. Otherwise we return
- * a regular CURLcode value.
- */
-ssize_t Curl_ssl_recv(struct connectdata *conn, /* connection data */
- int sockindex, /* socketindex */
- char *mem, /* store read data here */
- size_t len) /* max amount to read */
-{
- ssize_t nread;
- bool block = FALSE;
-
- nread = curlssl_recv(conn, sockindex, mem, len, &block);
- if(nread == -1) {
- if(!block)
- return 0; /* this is a true error, not EWOULDBLOCK */
- else
- return -1;
- }
-
- return nread;
-}
-
-
-/*
- * This sets up a session ID cache to the specified size. Make sure this code
- * is agnostic to what underlying SSL technology we use.
- */
-CURLcode Curl_ssl_initsessions(struct SessionHandle *data, long amount)
-{
- struct curl_ssl_session *session;
-
- if(data->state.session)
- /* this is just a precaution to prevent multiple inits */
- return CURLE_OK;
-
- session = (struct curl_ssl_session *)
- calloc(sizeof(struct curl_ssl_session), amount);
- if(!session)
- return CURLE_OUT_OF_MEMORY;
-
- /* store the info in the SSL section */
- data->set.ssl.numsessions = amount;
- data->state.session = session;
- data->state.sessionage = 1; /* this is brand new */
- return CURLE_OK;
-}
-
-size_t Curl_ssl_version(char *buffer, size_t size)
-{
- return curlssl_version(buffer, size);
-}
-
-/*
- * This function tries to determine connection status.
- *
- * Return codes:
- * 1 means the connection is still in place
- * 0 means the connection has been closed
- * -1 means the connection status is unknown
- */
-int Curl_ssl_check_cxn(struct connectdata *conn)
-{
- return curlssl_check_cxn(conn);
-}
-
-bool Curl_ssl_data_pending(const struct connectdata *conn,
- int connindex)
-{
- return curlssl_data_pending(conn, connindex);
-}
-#endif /* USE_SSL */
-
diff --git a/Utilities/cmcurl-7.19.0/lib/sslgen.h b/Utilities/cmcurl-7.19.0/lib/sslgen.h
deleted file mode 100644
index f6eff05..0000000
--- a/Utilities/cmcurl-7.19.0/lib/sslgen.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef __SSLGEN_H
-#define __SSLGEN_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-bool Curl_ssl_config_matches(struct ssl_config_data* data,
- struct ssl_config_data* needle);
-bool Curl_clone_ssl_config(struct ssl_config_data* source,
- struct ssl_config_data* dest);
-void Curl_free_ssl_config(struct ssl_config_data* sslc);
-
-#ifdef USE_SSL
-int Curl_ssl_init(void);
-void Curl_ssl_cleanup(void);
-CURLcode Curl_ssl_connect(struct connectdata *conn, int sockindex);
-CURLcode Curl_ssl_connect_nonblocking(struct connectdata *conn,
- int sockindex,
- bool *done);
-/* tell the SSL stuff to close down all open information regarding
- connections (and thus session ID caching etc) */
-void Curl_ssl_close_all(struct SessionHandle *data);
-void Curl_ssl_close(struct connectdata *conn, int sockindex);
-CURLcode Curl_ssl_shutdown(struct connectdata *conn, int sockindex);
-CURLcode Curl_ssl_set_engine(struct SessionHandle *data, const char *engine);
-/* Sets engine as default for all SSL operations */
-CURLcode Curl_ssl_set_engine_default(struct SessionHandle *data);
-struct curl_slist *Curl_ssl_engines_list(struct SessionHandle *data);
-ssize_t Curl_ssl_send(struct connectdata *conn,
- int sockindex,
- const void *mem,
- size_t len);
-ssize_t Curl_ssl_recv(struct connectdata *conn, /* connection data */
- int sockindex, /* socketindex */
- char *mem, /* store read data here */
- size_t len); /* max amount to read */
-/* init the SSL session ID cache */
-CURLcode Curl_ssl_initsessions(struct SessionHandle *, long);
-size_t Curl_ssl_version(char *buffer, size_t size);
-bool Curl_ssl_data_pending(const struct connectdata *conn,
- int connindex);
-int Curl_ssl_check_cxn(struct connectdata *conn);
-
-#else
-/* When SSL support is not present, just define away these function calls */
-#define Curl_ssl_init() 1
-#define Curl_ssl_cleanup() do { } while (0)
-#define Curl_ssl_connect(x,y) CURLE_FAILED_INIT
-#define Curl_ssl_connect_nonblocking(x,y,z) (z=z, CURLE_FAILED_INIT)
-#define Curl_ssl_close_all(x)
-#define Curl_ssl_close(x,y)
-#define Curl_ssl_shutdown(x,y) CURLE_FAILED_INIT
-#define Curl_ssl_set_engine(x,y) CURLE_FAILED_INIT
-#define Curl_ssl_set_engine_default(x) CURLE_FAILED_INIT
-#define Curl_ssl_engines_list(x) NULL
-#define Curl_ssl_send(a,b,c,d) -1
-#define Curl_ssl_recv(a,b,c,d) -1
-#define Curl_ssl_initsessions(x,y) CURLE_OK
-#define Curl_ssl_version(x,y) 0
-#define Curl_ssl_data_pending(x,y) 0
-#define Curl_ssl_check_cxn(x) 0
-
-#endif
-
-/* extract a session ID */
-int Curl_ssl_getsessionid(struct connectdata *conn,
- void **ssl_sessionid,
- size_t *idsize) /* set 0 if unknown */;
-/* add a new session ID */
-CURLcode Curl_ssl_addsessionid(struct connectdata *conn,
- void *ssl_sessionid,
- size_t idsize);
-
-#if !defined(USE_SSL) && !defined(SSLGEN_C)
-/* set up blank macros for none-SSL builds */
-#define Curl_ssl_close_all(x)
-#endif
-
-#define SSL_SHUTDOWN_TIMEOUT 10000 /* ms */
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/ssluse.c b/Utilities/cmcurl-7.19.0/lib/ssluse.c
deleted file mode 100644
index cee78bb..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ssluse.c
+++ /dev/null
@@ -1,2097 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * Source file for all OpenSSL-specific code for the TLS/SSL layer. No code
- * but sslgen.c should ever call or use these functions.
- */
-
-/*
- * The original SSLeay-using code for curl was written by Linas Vepstas and
- * Sampo Kellomaki 1998.
- */
-
-#include "setup.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#include "urldata.h"
-#include "sendf.h"
-#include "formdata.h" /* for the boundary function */
-#include "url.h" /* for the ssl config check function */
-#include "inet_pton.h"
-#include "ssluse.h"
-#include "connect.h"
-#include "strequal.h"
-#include "select.h"
-#include "sslgen.h"
-
-#define _MPRINTF_REPLACE /* use the internal *printf() functions */
-#include <curl/mprintf.h>
-
-#ifdef USE_SSLEAY
-
-#ifdef USE_OPENSSL
-#include <openssl/rand.h>
-#include <openssl/x509v3.h>
-#else
-#include <rand.h>
-#include <x509v3.h>
-#endif
-
-#include "memory.h"
-#include "easyif.h" /* for Curl_convert_from_utf8 prototype */
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#if OPENSSL_VERSION_NUMBER >= 0x0090581fL
-#define HAVE_SSL_GET1_SESSION 1
-#else
-#undef HAVE_SSL_GET1_SESSION
-#endif
-
-#if OPENSSL_VERSION_NUMBER >= 0x00904100L
-#define HAVE_USERDATA_IN_PWD_CALLBACK 1
-#else
-#undef HAVE_USERDATA_IN_PWD_CALLBACK
-#endif
-
-#if OPENSSL_VERSION_NUMBER >= 0x00907001L
-/* ENGINE_load_private_key() takes four arguments */
-#define HAVE_ENGINE_LOAD_FOUR_ARGS
-#else
-/* ENGINE_load_private_key() takes three arguments */
-#undef HAVE_ENGINE_LOAD_FOUR_ARGS
-#endif
-
-#if (OPENSSL_VERSION_NUMBER >= 0x00903001L) && defined(HAVE_OPENSSL_PKCS12_H)
-/* OpenSSL has PKCS 12 support */
-#define HAVE_PKCS12_SUPPORT
-#else
-/* OpenSSL/SSLEay does not have PKCS12 support */
-#undef HAVE_PKCS12_SUPPORT
-#endif
-
-#if OPENSSL_VERSION_NUMBER >= 0x00906001L
-#define HAVE_ERR_ERROR_STRING_N 1
-#endif
-
-#if OPENSSL_VERSION_NUMBER >= 0x00909000L
-#define SSL_METHOD_QUAL const
-#else
-#define SSL_METHOD_QUAL
-#endif
-
-#if OPENSSL_VERSION_NUMBER >= 0x00907000L
-/* 0.9.6 didn't have X509_STORE_set_flags() */
-#define HAVE_X509_STORE_SET_FLAGS 1
-#else
-#define X509_STORE_set_flags(x,y)
-#endif
-
-/*
- * Number of bytes to read from the random number seed file. This must be
- * a finite value (because some entropy "files" like /dev/urandom have
- * an infinite length), but must be large enough to provide enough
- * entopy to properly seed OpenSSL's PRNG.
- */
-#define RAND_LOAD_LENGTH 1024
-
-#ifndef HAVE_USERDATA_IN_PWD_CALLBACK
-static char global_passwd[64];
-#endif
-
-static int passwd_callback(char *buf, int num, int verify
-#ifdef HAVE_USERDATA_IN_PWD_CALLBACK
- /* This was introduced in 0.9.4, we can set this
- using SSL_CTX_set_default_passwd_cb_userdata()
- */
- , void *global_passwd
-#endif
- )
-{
- if(verify)
- fprintf(stderr, "%s\n", buf);
- else {
- if(num > (int)strlen((char *)global_passwd)) {
- strcpy(buf, global_passwd);
- return (int)strlen(buf);
- }
- }
- return 0;
-}
-
-/*
- * rand_enough() is a function that returns TRUE if we have seeded the random
- * engine properly. We use some preprocessor magic to provide a seed_enough()
- * macro to use, just to prevent a compiler warning on this function if we
- * pass in an argument that is never used.
- */
-
-#ifdef HAVE_RAND_STATUS
-#define seed_enough(x) rand_enough()
-static bool rand_enough(void)
-{
- return (bool)(0 != RAND_status());
-}
-#else
-#define seed_enough(x) rand_enough(x)
-static bool rand_enough(int nread)
-{
- /* this is a very silly decision to make */
- return (bool)(nread > 500);
-}
-#endif
-
-static int ossl_seed(struct SessionHandle *data)
-{
- char *buf = data->state.buffer; /* point to the big buffer */
- int nread=0;
-
- /* Q: should we add support for a random file name as a libcurl option?
- A: Yes, it is here */
-
-#ifndef RANDOM_FILE
- /* if RANDOM_FILE isn't defined, we only perform this if an option tells
- us to! */
- if(data->set.ssl.random_file)
-#define RANDOM_FILE "" /* doesn't matter won't be used */
-#endif
- {
- /* let the option override the define */
- nread += RAND_load_file((data->set.str[STRING_SSL_RANDOM_FILE]?
- data->set.str[STRING_SSL_RANDOM_FILE]:
- RANDOM_FILE),
- RAND_LOAD_LENGTH);
- if(seed_enough(nread))
- return nread;
- }
-
-#if defined(HAVE_RAND_EGD)
- /* only available in OpenSSL 0.9.5 and later */
- /* EGD_SOCKET is set at configure time or not at all */
-#ifndef EGD_SOCKET
- /* If we don't have the define set, we only do this if the egd-option
- is set */
- if(data->set.str[STRING_SSL_EGDSOCKET])
-#define EGD_SOCKET "" /* doesn't matter won't be used */
-#endif
- {
- /* If there's an option and a define, the option overrides the
- define */
- int ret = RAND_egd(data->set.str[STRING_SSL_EGDSOCKET]?
- data->set.str[STRING_SSL_EGDSOCKET]:EGD_SOCKET);
- if(-1 != ret) {
- nread += ret;
- if(seed_enough(nread))
- return nread;
- }
- }
-#endif
-
- /* If we get here, it means we need to seed the PRNG using a "silly"
- approach! */
-#ifdef HAVE_RAND_SCREEN
- /* This one gets a random value by reading the currently shown screen */
- RAND_screen();
- nread = 100; /* just a value */
-#else
- {
- int len;
- char *area;
-
- /* Changed call to RAND_seed to use the underlying RAND_add implementation
- * directly. Do this in a loop, with the amount of additional entropy
- * being dependent upon the algorithm used by Curl_FormBoundary(): N bytes
- * of a 7-bit ascii set. -- Richard Gorton, March 11 2003.
- */
-
- do {
- area = Curl_FormBoundary();
- if(!area)
- return 3; /* out of memory */
-
- len = (int)strlen(area);
- RAND_add(area, len, (len >> 1));
-
- free(area); /* now remove the random junk */
- } while(!RAND_status());
- }
-#endif
-
- /* generates a default path for the random seed file */
- buf[0]=0; /* blank it first */
- RAND_file_name(buf, BUFSIZE);
- if(buf[0]) {
- /* we got a file name to try */
- nread += RAND_load_file(buf, RAND_LOAD_LENGTH);
- if(seed_enough(nread))
- return nread;
- }
-
- infof(data, "libcurl is now using a weak random seed!\n");
- return nread;
-}
-
-int Curl_ossl_seed(struct SessionHandle *data)
-{
- /* we have the "SSL is seeded" boolean static to prevent multiple
- time-consuming seedings in vain */
- static bool ssl_seeded = FALSE;
-
- if(!ssl_seeded || data->set.str[STRING_SSL_RANDOM_FILE] ||
- data->set.str[STRING_SSL_EGDSOCKET]) {
- ossl_seed(data);
- ssl_seeded = TRUE;
- }
- return 0;
-}
-
-
-#ifndef SSL_FILETYPE_ENGINE
-#define SSL_FILETYPE_ENGINE 42
-#endif
-#ifndef SSL_FILETYPE_PKCS12
-#define SSL_FILETYPE_PKCS12 43
-#endif
-static int do_file_type(const char *type)
-{
- if(!type || !type[0])
- return SSL_FILETYPE_PEM;
- if(curl_strequal(type, "PEM"))
- return SSL_FILETYPE_PEM;
- if(curl_strequal(type, "DER"))
- return SSL_FILETYPE_ASN1;
- if(curl_strequal(type, "ENG"))
- return SSL_FILETYPE_ENGINE;
- if(curl_strequal(type, "P12"))
- return SSL_FILETYPE_PKCS12;
- return -1;
-}
-
-static
-int cert_stuff(struct connectdata *conn,
- SSL_CTX* ctx,
- char *cert_file,
- const char *cert_type,
- char *key_file,
- const char *key_type)
-{
- struct SessionHandle *data = conn->data;
- int file_type;
-
- if(cert_file != NULL) {
- SSL *ssl;
- X509 *x509;
- int cert_done = 0;
-
- if(data->set.str[STRING_KEY_PASSWD]) {
-#ifndef HAVE_USERDATA_IN_PWD_CALLBACK
- /*
- * If password has been given, we store that in the global
- * area (*shudder*) for a while:
- */
- size_t len = strlen(data->set.key_passwd);
- if(len < sizeof(global_passwd))
- memcpy(global_passwd, data->set.key_passwd, len+1);
-#else
- /*
- * We set the password in the callback userdata
- */
- SSL_CTX_set_default_passwd_cb_userdata(ctx,
- data->set.str[STRING_KEY_PASSWD]);
-#endif
- /* Set passwd callback: */
- SSL_CTX_set_default_passwd_cb(ctx, passwd_callback);
- }
-
- file_type = do_file_type(cert_type);
-
-#define SSL_CLIENT_CERT_ERR \
- "unable to use client certificate (no key found or wrong pass phrase?)"
-
- switch(file_type) {
- case SSL_FILETYPE_PEM:
- /* SSL_CTX_use_certificate_chain_file() only works on PEM files */
- if(SSL_CTX_use_certificate_chain_file(ctx,
- cert_file) != 1) {
- failf(data, SSL_CLIENT_CERT_ERR);
- return 0;
- }
- break;
-
- case SSL_FILETYPE_ASN1:
- /* SSL_CTX_use_certificate_file() works with either PEM or ASN1, but
- we use the case above for PEM so this can only be performed with
- ASN1 files. */
- if(SSL_CTX_use_certificate_file(ctx,
- cert_file,
- file_type) != 1) {
- failf(data, SSL_CLIENT_CERT_ERR);
- return 0;
- }
- break;
- case SSL_FILETYPE_ENGINE:
- failf(data, "file type ENG for certificate not implemented");
- return 0;
-
- case SSL_FILETYPE_PKCS12:
- {
-#ifdef HAVE_PKCS12_SUPPORT
- FILE *f;
- PKCS12 *p12;
- EVP_PKEY *pri;
- STACK_OF(X509) *ca = NULL;
- int i;
-
- f = fopen(cert_file,"rb");
- if(!f) {
- failf(data, "could not open PKCS12 file '%s'", cert_file);
- return 0;
- }
- p12 = d2i_PKCS12_fp(f, NULL);
- fclose(f);
-
- if(!p12) {
- failf(data, "error reading PKCS12 file '%s'", cert_file );
- return 0;
- }
-
- PKCS12_PBE_add();
-
- if(!PKCS12_parse(p12, data->set.str[STRING_KEY_PASSWD], &pri, &x509,
- &ca)) {
- failf(data,
- "could not parse PKCS12 file, check password, OpenSSL error %s",
- ERR_error_string(ERR_get_error(), NULL) );
- PKCS12_free(p12);
- return 0;
- }
-
- PKCS12_free(p12);
-
- if(SSL_CTX_use_certificate(ctx, x509) != 1) {
- failf(data, SSL_CLIENT_CERT_ERR);
- EVP_PKEY_free(pri);
- X509_free(x509);
- return 0;
- }
-
- if(SSL_CTX_use_PrivateKey(ctx, pri) != 1) {
- failf(data, "unable to use private key from PKCS12 file '%s'",
- cert_file);
- EVP_PKEY_free(pri);
- X509_free(x509);
- return 0;
- }
-
- if (!SSL_CTX_check_private_key (ctx)) {
- failf(data, "private key from PKCS12 file '%s' "
- "does not match certificate in same file", cert_file);
- EVP_PKEY_free(pri);
- X509_free(x509);
- return 0;
- }
- /* Set Certificate Verification chain */
- if (ca && sk_num(ca)) {
- for (i = 0; i < sk_X509_num(ca); i++) {
- if (!SSL_CTX_add_extra_chain_cert(ctx,sk_X509_value(ca, i))) {
- failf(data, "cannot add certificate to certificate chain");
- EVP_PKEY_free(pri);
- X509_free(x509);
- return 0;
- }
- if (!SSL_CTX_add_client_CA(ctx, sk_X509_value(ca, i))) {
- failf(data, "cannot add certificate to client CA list",
- cert_file);
- EVP_PKEY_free(pri);
- X509_free(x509);
- return 0;
- }
- }
- }
-
- EVP_PKEY_free(pri);
- X509_free(x509);
- cert_done = 1;
- break;
-#else
- failf(data, "file type P12 for certificate not supported");
- return 0;
-#endif
- }
- default:
- failf(data, "not supported file type '%s' for certificate", cert_type);
- return 0;
- }
-
- file_type = do_file_type(key_type);
-
- switch(file_type) {
- case SSL_FILETYPE_PEM:
- if(cert_done)
- break;
- if(key_file == NULL)
- /* cert & key can only be in PEM case in the same file */
- key_file=cert_file;
- case SSL_FILETYPE_ASN1:
- if(SSL_CTX_use_PrivateKey_file(ctx, key_file, file_type) != 1) {
- failf(data, "unable to set private key file: '%s' type %s",
- key_file, key_type?key_type:"PEM");
- return 0;
- }
- break;
- case SSL_FILETYPE_ENGINE:
-#ifdef HAVE_OPENSSL_ENGINE_H
- { /* XXXX still needs some work */
- EVP_PKEY *priv_key = NULL;
- if(data->state.engine) {
-#ifdef HAVE_ENGINE_LOAD_FOUR_ARGS
- UI_METHOD *ui_method = UI_OpenSSL();
-#endif
- if(!key_file || !key_file[0]) {
- failf(data, "no key set to load from crypto engine");
- return 0;
- }
- /* the typecast below was added to please mingw32 */
- priv_key = (EVP_PKEY *)
- ENGINE_load_private_key(data->state.engine,key_file,
-#ifdef HAVE_ENGINE_LOAD_FOUR_ARGS
- ui_method,
-#endif
- data->set.str[STRING_KEY_PASSWD]);
- if(!priv_key) {
- failf(data, "failed to load private key from crypto engine");
- return 0;
- }
- if(SSL_CTX_use_PrivateKey(ctx, priv_key) != 1) {
- failf(data, "unable to set private key");
- EVP_PKEY_free(priv_key);
- return 0;
- }
- EVP_PKEY_free(priv_key); /* we don't need the handle any more... */
- }
- else {
- failf(data, "crypto engine not set, can't load private key");
- return 0;
- }
- }
- break;
-#else
- failf(data, "file type ENG for private key not supported");
- return 0;
-#endif
- case SSL_FILETYPE_PKCS12:
- if(!cert_done) {
- failf(data, "file type P12 for private key not supported");
- return 0;
- }
- break;
- default:
- failf(data, "not supported file type for private key");
- return 0;
- }
-
- ssl=SSL_new(ctx);
- if(NULL == ssl) {
- failf(data,"unable to create an SSL structure");
- return 0;
- }
-
- x509=SSL_get_certificate(ssl);
-
- /* This version was provided by Evan Jordan and is supposed to not
- leak memory as the previous version: */
- if(x509 != NULL) {
- EVP_PKEY *pktmp = X509_get_pubkey(x509);
- EVP_PKEY_copy_parameters(pktmp,SSL_get_privatekey(ssl));
- EVP_PKEY_free(pktmp);
- }
-
- SSL_free(ssl);
-
- /* If we are using DSA, we can copy the parameters from
- * the private key */
-
-
- /* Now we know that a key and cert have been set against
- * the SSL context */
- if(!SSL_CTX_check_private_key(ctx)) {
- failf(data, "Private key does not match the certificate public key");
- return(0);
- }
-#ifndef HAVE_USERDATA_IN_PWD_CALLBACK
- /* erase it now */
- memset(global_passwd, 0, sizeof(global_passwd));
-#endif
- }
- return(1);
-}
-
-static
-int cert_verify_callback(int ok, X509_STORE_CTX *ctx)
-{
- X509 *err_cert;
- char buf[256];
-
- err_cert=X509_STORE_CTX_get_current_cert(ctx);
- X509_NAME_oneline(X509_get_subject_name(err_cert), buf, sizeof(buf));
- return ok;
-}
-
-/* Return error string for last OpenSSL error
- */
-static char *SSL_strerror(unsigned long error, char *buf, size_t size)
-{
-#ifdef HAVE_ERR_ERROR_STRING_N
- /* OpenSSL 0.9.6 and later has a function named
- ERRO_error_string_n() that takes the size of the buffer as a
- third argument */
- ERR_error_string_n(error, buf, size);
-#else
- (void) size;
- ERR_error_string(error, buf);
-#endif
- return (buf);
-}
-
-#endif /* USE_SSLEAY */
-
-#ifdef USE_SSLEAY
-/**
- * Global SSL init
- *
- * @retval 0 error initializing SSL
- * @retval 1 SSL initialized successfully
- */
-int Curl_ossl_init(void)
-{
-#ifdef HAVE_ENGINE_LOAD_BUILTIN_ENGINES
- ENGINE_load_builtin_engines();
-#endif
-
- /* Lets get nice error messages */
- SSL_load_error_strings();
-
- /* Setup all the global SSL stuff */
- if(!SSLeay_add_ssl_algorithms())
- return 0;
-
- return 1;
-}
-
-#endif /* USE_SSLEAY */
-
-#ifdef USE_SSLEAY
-
-/* Global cleanup */
-void Curl_ossl_cleanup(void)
-{
- /* Free the SSL error strings */
- ERR_free_strings();
-
- /* EVP_cleanup() removes all ciphers and digests from the
- table. */
- EVP_cleanup();
-
-#ifdef HAVE_ENGINE_cleanup
- ENGINE_cleanup();
-#endif
-
-#ifdef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
- /* this function was not present in 0.9.6b, but was added sometimes
- later */
- CRYPTO_cleanup_all_ex_data();
-#endif
-}
-
-/*
- * This function uses SSL_peek to determine connection status.
- *
- * Return codes:
- * 1 means the connection is still in place
- * 0 means the connection has been closed
- * -1 means the connection status is unknown
- */
-int Curl_ossl_check_cxn(struct connectdata *conn)
-{
- int rc;
- char buf;
-
- rc = SSL_peek(conn->ssl[FIRSTSOCKET].handle, (void*)&buf, 1);
- if(rc > 0)
- return 1; /* connection still in place */
-
- if(rc == 0)
- return 0; /* connection has been closed */
-
- return -1; /* connection status unknown */
-}
-
-/* Selects an OpenSSL crypto engine
- */
-CURLcode Curl_ossl_set_engine(struct SessionHandle *data, const char *engine)
-{
-#if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H)
- ENGINE *e = ENGINE_by_id(engine);
-
- if(!e) {
- failf(data, "SSL Engine '%s' not found", engine);
- return (CURLE_SSL_ENGINE_NOTFOUND);
- }
-
- if(data->state.engine) {
- ENGINE_finish(data->state.engine);
- ENGINE_free(data->state.engine);
- data->state.engine = NULL;
- }
- if(!ENGINE_init(e)) {
- char buf[256];
-
- ENGINE_free(e);
- failf(data, "Failed to initialise SSL Engine '%s':\n%s",
- engine, SSL_strerror(ERR_get_error(), buf, sizeof(buf)));
- return (CURLE_SSL_ENGINE_INITFAILED);
- }
- data->state.engine = e;
- return (CURLE_OK);
-#else
- (void)engine;
- failf(data, "SSL Engine not supported");
- return (CURLE_SSL_ENGINE_NOTFOUND);
-#endif
-}
-
-/* Sets engine as default for all SSL operations
- */
-CURLcode Curl_ossl_set_engine_default(struct SessionHandle *data)
-{
-#ifdef HAVE_OPENSSL_ENGINE_H
- if(data->state.engine) {
- if(ENGINE_set_default(data->state.engine, ENGINE_METHOD_ALL) > 0) {
- infof(data,"set default crypto engine '%s'\n", ENGINE_get_id(data->state.engine));
- }
- else {
- failf(data, "set default crypto engine '%s' failed", ENGINE_get_id(data->state.engine));
- return CURLE_SSL_ENGINE_SETFAILED;
- }
- }
-#else
- (void) data;
-#endif
- return CURLE_OK;
-}
-
-/* Return list of OpenSSL crypto engine names.
- */
-struct curl_slist *Curl_ossl_engines_list(struct SessionHandle *data)
-{
- struct curl_slist *list = NULL;
-#if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H)
- struct curl_slist *beg = NULL;
- ENGINE *e;
-
- for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) {
- list = curl_slist_append(list, ENGINE_get_id(e));
- if(list == NULL) {
- curl_slist_free_all(beg);
- return NULL;
- }
- else if(beg == NULL) {
- beg = list;
- }
- }
-#endif
- (void) data;
- return (list);
-}
-
-
-/*
- * This function is called when an SSL connection is closed.
- */
-void Curl_ossl_close(struct connectdata *conn, int sockindex)
-{
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-
- if(connssl->handle) {
- (void)SSL_shutdown(connssl->handle);
- SSL_set_connect_state(connssl->handle);
-
- SSL_free (connssl->handle);
- connssl->handle = NULL;
- }
- if(connssl->ctx) {
- SSL_CTX_free (connssl->ctx);
- connssl->ctx = NULL;
- }
-}
-
-/*
- * This function is called to shut down the SSL layer but keep the
- * socket open (CCC - Clear Command Channel)
- */
-int Curl_ossl_shutdown(struct connectdata *conn, int sockindex)
-{
- int retval = 0;
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
- struct SessionHandle *data = conn->data;
- char buf[120]; /* We will use this for the OpenSSL error buffer, so it has
- to be at least 120 bytes long. */
- unsigned long sslerror;
- ssize_t nread;
- int err;
- int done = 0;
-
- /* This has only been tested on the proftpd server, and the mod_tls code
- sends a close notify alert without waiting for a close notify alert in
- response. Thus we wait for a close notify alert from the server, but
- we do not send one. Let's hope other servers do the same... */
-
- if(data->set.ftp_ccc == CURLFTPSSL_CCC_ACTIVE)
- (void)SSL_shutdown(connssl->handle);
-
- if(connssl->handle) {
- while(!done) {
- int what = Curl_socket_ready(conn->sock[sockindex],
- CURL_SOCKET_BAD, SSL_SHUTDOWN_TIMEOUT);
- if(what > 0) {
- /* Something to read, let's do it and hope that it is the close
- notify alert from the server */
- nread = (ssize_t)SSL_read(conn->ssl[sockindex].handle, buf,
- sizeof(buf));
- err = SSL_get_error(conn->ssl[sockindex].handle, (int)nread);
-
- switch(err) {
- case SSL_ERROR_NONE: /* this is not an error */
- case SSL_ERROR_ZERO_RETURN: /* no more data */
- /* This is the expected response. There was no data but only
- the close notify alert */
- done = 1;
- break;
- case SSL_ERROR_WANT_READ:
- /* there's data pending, re-invoke SSL_read() */
- infof(data, "SSL_ERROR_WANT_READ\n");
- break;
- case SSL_ERROR_WANT_WRITE:
- /* SSL wants a write. Really odd. Let's bail out. */
- infof(data, "SSL_ERROR_WANT_WRITE\n");
- done = 1;
- break;
- default:
- /* openssl/ssl.h says "look at error stack/return value/errno" */
- sslerror = ERR_get_error();
- failf(conn->data, "SSL read: %s, errno %d",
- ERR_error_string(sslerror, buf),
- SOCKERRNO);
- done = 1;
- break;
- }
- }
- else if(0 == what) {
- /* timeout */
- failf(data, "SSL shutdown timeout");
- done = 1;
- break;
- }
- else {
- /* anything that gets here is fatally bad */
- failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
- retval = -1;
- done = 1;
- }
- } /* while()-loop for the select() */
-
- if(data->set.verbose) {
-#ifdef HAVE_SSL_GET_SHUTDOWN
- switch(SSL_get_shutdown(connssl->handle)) {
- case SSL_SENT_SHUTDOWN:
- infof(data, "SSL_get_shutdown() returned SSL_SENT_SHUTDOWN\n");
- break;
- case SSL_RECEIVED_SHUTDOWN:
- infof(data, "SSL_get_shutdown() returned SSL_RECEIVED_SHUTDOWN\n");
- break;
- case SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN:
- infof(data, "SSL_get_shutdown() returned SSL_SENT_SHUTDOWN|"
- "SSL_RECEIVED__SHUTDOWN\n");
- break;
- }
-#endif
- }
-
- SSL_free (connssl->handle);
- connssl->handle = NULL;
- }
- return retval;
-}
-
-void Curl_ossl_session_free(void *ptr)
-{
- /* free the ID */
- SSL_SESSION_free(ptr);
-}
-
-/*
- * This function is called when the 'data' struct is going away. Close
- * down everything and free all resources!
- */
-int Curl_ossl_close_all(struct SessionHandle *data)
-{
- /*
- ERR_remove_state() frees the error queue associated with
- thread pid. If pid == 0, the current thread will have its
- error queue removed.
-
- Since error queue data structures are allocated
- automatically for new threads, they must be freed when
- threads are terminated in oder to avoid memory leaks.
- */
- ERR_remove_state(0);
-
-#ifdef HAVE_OPENSSL_ENGINE_H
- if(data->state.engine) {
- ENGINE_finish(data->state.engine);
- ENGINE_free(data->state.engine);
- data->state.engine = NULL;
- }
-#else
- (void)data;
-#endif
- return 0;
-}
-
-static int asn1_output(struct connectdata *conn,
- const char *prefix,
- const ASN1_UTCTIME *tm)
-{
- const char *asn1_string;
- int gmt=FALSE;
- int i;
- int year=0,month=0,day=0,hour=0,minute=0,second=0;
- struct SessionHandle *data = conn->data;
-
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
- (void)prefix;
-#endif
-
- if(!data->set.verbose)
- return 0;
-
- i=tm->length;
- asn1_string=(const char *)tm->data;
-
- if(i < 10)
- return 1;
- if(asn1_string[i-1] == 'Z')
- gmt=TRUE;
- for (i=0; i<10; i++)
- if((asn1_string[i] > '9') || (asn1_string[i] < '0'))
- return 2;
-
- year= (asn1_string[0]-'0')*10+(asn1_string[1]-'0');
- if(year < 50)
- year+=100;
-
- month= (asn1_string[2]-'0')*10+(asn1_string[3]-'0');
- if((month > 12) || (month < 1))
- return 3;
-
- day= (asn1_string[4]-'0')*10+(asn1_string[5]-'0');
- hour= (asn1_string[6]-'0')*10+(asn1_string[7]-'0');
- minute= (asn1_string[8]-'0')*10+(asn1_string[9]-'0');
-
- if((asn1_string[10] >= '0') && (asn1_string[10] <= '9') &&
- (asn1_string[11] >= '0') && (asn1_string[11] <= '9'))
- second= (asn1_string[10]-'0')*10+(asn1_string[11]-'0');
-
- infof(data,
- "%s%04d-%02d-%02d %02d:%02d:%02d %s\n",
- prefix, year+1900, month, day, hour, minute, second, (gmt?"GMT":""));
-
- return 0;
-}
-
-/* ====================================================== */
-
-/*
- * Match a hostname against a wildcard pattern.
- * E.g.
- * "foo.host.com" matches "*.host.com".
- *
- * We are a bit more liberal than RFC2818 describes in that we
- * accept multiple "*" in pattern (similar to what some other browsers do).
- * E.g.
- * "abc.def.domain.com" should strickly not match "*.domain.com", but we
- * don't consider "." to be important in CERT checking.
- */
-#define HOST_NOMATCH 0
-#define HOST_MATCH 1
-
-static int hostmatch(const char *hostname, const char *pattern)
-{
- while(1) {
- char c = *pattern++;
-
- if(c == '\0')
- return (*hostname ? HOST_NOMATCH : HOST_MATCH);
-
- if(c == '*') {
- c = *pattern;
- if(c == '\0') /* "*\0" matches anything remaining */
- return HOST_MATCH;
-
- while(*hostname) {
- /* The only recursive function in libcurl! */
- if(hostmatch(hostname++,pattern) == HOST_MATCH)
- return HOST_MATCH;
- }
- break;
- }
-
- if(toupper(c) != toupper(*hostname++))
- break;
- }
- return HOST_NOMATCH;
-}
-
-static int
-cert_hostcheck(const char *match_pattern, const char *hostname)
-{
- if(!match_pattern || !*match_pattern ||
- !hostname || !*hostname) /* sanity check */
- return 0;
-
- if(curl_strequal(hostname,match_pattern)) /* trivial case */
- return 1;
-
- if(hostmatch(hostname,match_pattern) == HOST_MATCH)
- return 1;
- return 0;
-}
-
-/* Quote from RFC2818 section 3.1 "Server Identity"
-
- If a subjectAltName extension of type dNSName is present, that MUST
- be used as the identity. Otherwise, the (most specific) Common Name
- field in the Subject field of the certificate MUST be used. Although
- the use of the Common Name is existing practice, it is deprecated and
- Certification Authorities are encouraged to use the dNSName instead.
-
- Matching is performed using the matching rules specified by
- [RFC2459]. If more than one identity of a given type is present in
- the certificate (e.g., more than one dNSName name, a match in any one
- of the set is considered acceptable.) Names may contain the wildcard
- character * which is considered to match any single domain name
- component or component fragment. E.g., *.a.com matches foo.a.com but
- not bar.foo.a.com. f*.com matches foo.com but not bar.com.
-
- In some cases, the URI is specified as an IP address rather than a
- hostname. In this case, the iPAddress subjectAltName must be present
- in the certificate and must exactly match the IP in the URI.
-
-*/
-static CURLcode verifyhost(struct connectdata *conn,
- X509 *server_cert)
-{
- bool matched = FALSE; /* no alternative match yet */
- int target = GEN_DNS; /* target type, GEN_DNS or GEN_IPADD */
- int addrlen = 0;
- struct SessionHandle *data = conn->data;
- STACK_OF(GENERAL_NAME) *altnames;
-#ifdef ENABLE_IPV6
- struct in6_addr addr;
-#else
- struct in_addr addr;
-#endif
- CURLcode res = CURLE_OK;
-
-#ifdef ENABLE_IPV6
- if(conn->bits.ipv6_ip &&
- Curl_inet_pton(AF_INET6, conn->host.name, &addr)) {
- target = GEN_IPADD;
- addrlen = sizeof(struct in6_addr);
- }
- else
-#endif
- if(Curl_inet_pton(AF_INET, conn->host.name, &addr)) {
- target = GEN_IPADD;
- addrlen = sizeof(struct in_addr);
- }
-
- /* get a "list" of alternative names */
- altnames = X509_get_ext_d2i(server_cert, NID_subject_alt_name, NULL, NULL);
-
- if(altnames) {
- int numalts;
- int i;
-
- /* get amount of alternatives, RFC2459 claims there MUST be at least
- one, but we don't depend on it... */
- numalts = sk_GENERAL_NAME_num(altnames);
-
- /* loop through all alternatives while none has matched */
- for (i=0; (i<numalts) && !matched; i++) {
- /* get a handle to alternative name number i */
- const GENERAL_NAME *check = sk_GENERAL_NAME_value(altnames, i);
-
- /* only check alternatives of the same type the target is */
- if(check->type == target) {
- /* get data and length */
- const char *altptr = (char *)ASN1_STRING_data(check->d.ia5);
- int altlen;
-
- switch(target) {
- case GEN_DNS: /* name/pattern comparison */
- /* The OpenSSL man page explicitly says: "In general it cannot be
- assumed that the data returned by ASN1_STRING_data() is null
- terminated or does not contain embedded nulls." But also that
- "The actual format of the data will depend on the actual string
- type itself: for example for and IA5String the data will be ASCII"
-
- Gisle researched the OpenSSL sources:
- "I checked the 0.9.6 and 0.9.8 sources before my patch and
- it always 0-terminates an IA5String."
- */
- if(cert_hostcheck(altptr, conn->host.name))
- matched = TRUE;
- break;
-
- case GEN_IPADD: /* IP address comparison */
- /* compare alternative IP address if the data chunk is the same size
- our server IP address is */
- altlen = ASN1_STRING_length(check->d.ia5);
- if((altlen == addrlen) && !memcmp(altptr, &addr, altlen))
- matched = TRUE;
- break;
- }
- }
- }
- GENERAL_NAMES_free(altnames);
- }
-
- if(matched)
- /* an alternative name matched the server hostname */
- infof(data, "\t subjectAltName: %s matched\n", conn->host.dispname);
- else {
- /* we have to look to the last occurence of a commonName in the
- distinguished one to get the most significant one. */
- int j,i=-1 ;
-
-/* The following is done because of a bug in 0.9.6b */
-
- unsigned char *nulstr = (unsigned char *)"";
- unsigned char *peer_CN = nulstr;
-
- X509_NAME *name = X509_get_subject_name(server_cert) ;
- if(name)
- while((j=X509_NAME_get_index_by_NID(name,NID_commonName,i))>=0)
- i=j;
-
- /* we have the name entry and we will now convert this to a string
- that we can use for comparison. Doing this we support BMPstring,
- UTF8 etc. */
-
- if(i>=0) {
- ASN1_STRING *tmp = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name,i));
-
- /* In OpenSSL 0.9.7d and earlier, ASN1_STRING_to_UTF8 fails if the input
- is already UTF-8 encoded. We check for this case and copy the raw
- string manually to avoid the problem. This code can be made
- conditional in the future when OpenSSL has been fixed. Work-around
- brought by Alexis S. L. Carvalho. */
- if(tmp && ASN1_STRING_type(tmp) == V_ASN1_UTF8STRING) {
- j = ASN1_STRING_length(tmp);
- if(j >= 0) {
- peer_CN = OPENSSL_malloc(j+1);
- if(peer_CN) {
- memcpy(peer_CN, ASN1_STRING_data(tmp), j);
- peer_CN[j] = '\0';
- }
- }
- }
- else /* not a UTF8 name */
- j = ASN1_STRING_to_UTF8(&peer_CN, tmp);
- }
-
- if(peer_CN == nulstr)
- peer_CN = NULL;
-#ifdef CURL_DOES_CONVERSIONS
- else {
- /* convert peer_CN from UTF8 */
- size_t rc;
- rc = Curl_convert_from_utf8(data, peer_CN, strlen(peer_CN));
- /* Curl_convert_from_utf8 calls failf if unsuccessful */
- if(rc != CURLE_OK) {
- OPENSSL_free(peer_CN);
- return rc;
- }
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- if(!peer_CN) {
- failf(data,
- "SSL: unable to obtain common name from peer certificate");
- return CURLE_PEER_FAILED_VERIFICATION;
- }
- else if(!cert_hostcheck((const char *)peer_CN, conn->host.name)) {
- if(data->set.ssl.verifyhost > 1) {
- failf(data, "SSL: certificate subject name '%s' does not match "
- "target host name '%s'", peer_CN, conn->host.dispname);
- res = CURLE_PEER_FAILED_VERIFICATION;
- }
- else
- infof(data, "\t common name: %s (does not match '%s')\n",
- peer_CN, conn->host.dispname);
- }
- else {
- infof(data, "\t common name: %s (matched)\n", peer_CN);
- }
- if(peer_CN)
- OPENSSL_free(peer_CN);
- }
- return res;
-}
-#endif /* USE_SSLEAY */
-
-/* The SSL_CTRL_SET_MSG_CALLBACK doesn't exist in ancient OpenSSL versions
- and thus this cannot be done there. */
-#ifdef SSL_CTRL_SET_MSG_CALLBACK
-
-static const char *ssl_msg_type(int ssl_ver, int msg)
-{
- if(ssl_ver == SSL2_VERSION_MAJOR) {
- switch (msg) {
- case SSL2_MT_ERROR:
- return "Error";
- case SSL2_MT_CLIENT_HELLO:
- return "Client hello";
- case SSL2_MT_CLIENT_MASTER_KEY:
- return "Client key";
- case SSL2_MT_CLIENT_FINISHED:
- return "Client finished";
- case SSL2_MT_SERVER_HELLO:
- return "Server hello";
- case SSL2_MT_SERVER_VERIFY:
- return "Server verify";
- case SSL2_MT_SERVER_FINISHED:
- return "Server finished";
- case SSL2_MT_REQUEST_CERTIFICATE:
- return "Request CERT";
- case SSL2_MT_CLIENT_CERTIFICATE:
- return "Client CERT";
- }
- }
- else if(ssl_ver == SSL3_VERSION_MAJOR) {
- switch (msg) {
- case SSL3_MT_HELLO_REQUEST:
- return "Hello request";
- case SSL3_MT_CLIENT_HELLO:
- return "Client hello";
- case SSL3_MT_SERVER_HELLO:
- return "Server hello";
- case SSL3_MT_CERTIFICATE:
- return "CERT";
- case SSL3_MT_SERVER_KEY_EXCHANGE:
- return "Server key exchange";
- case SSL3_MT_CLIENT_KEY_EXCHANGE:
- return "Client key exchange";
- case SSL3_MT_CERTIFICATE_REQUEST:
- return "Request CERT";
- case SSL3_MT_SERVER_DONE:
- return "Server finished";
- case SSL3_MT_CERTIFICATE_VERIFY:
- return "CERT verify";
- case SSL3_MT_FINISHED:
- return "Finished";
- }
- }
- return "Unknown";
-}
-
-static const char *tls_rt_type(int type)
-{
- return (
- type == SSL3_RT_CHANGE_CIPHER_SPEC ? "TLS change cipher, " :
- type == SSL3_RT_ALERT ? "TLS alert, " :
- type == SSL3_RT_HANDSHAKE ? "TLS handshake, " :
- type == SSL3_RT_APPLICATION_DATA ? "TLS app data, " :
- "TLS Unknown, ");
-}
-
-
-/*
- * Our callback from the SSL/TLS layers.
- */
-static void ssl_tls_trace(int direction, int ssl_ver, int content_type,
- const void *buf, size_t len, const SSL *ssl,
- struct connectdata *conn)
-{
- struct SessionHandle *data;
- const char *msg_name, *tls_rt_name;
- char ssl_buf[1024];
- int ver, msg_type, txt_len;
-
- if(!conn || !conn->data || !conn->data->set.fdebug ||
- (direction != 0 && direction != 1))
- return;
-
- data = conn->data;
- ssl_ver >>= 8;
- ver = (ssl_ver == SSL2_VERSION_MAJOR ? '2' :
- ssl_ver == SSL3_VERSION_MAJOR ? '3' : '?');
-
- /* SSLv2 doesn't seem to have TLS record-type headers, so OpenSSL
- * always pass-up content-type as 0. But the interesting message-type
- * is at 'buf[0]'.
- */
- if(ssl_ver == SSL3_VERSION_MAJOR && content_type != 0)
- tls_rt_name = tls_rt_type(content_type);
- else
- tls_rt_name = "";
-
- msg_type = *(char*)buf;
- msg_name = ssl_msg_type(ssl_ver, msg_type);
-
- txt_len = snprintf(ssl_buf, sizeof(ssl_buf), "SSLv%c, %s%s (%d):\n",
- ver, tls_rt_name, msg_name, msg_type);
- Curl_debug(data, CURLINFO_TEXT, ssl_buf, (size_t)txt_len, NULL);
-
- Curl_debug(data, (direction == 1) ? CURLINFO_SSL_DATA_OUT :
- CURLINFO_SSL_DATA_IN, (char *)buf, len, NULL);
- (void) ssl;
-}
-#endif
-
-#ifdef USE_SSLEAY
-/* ====================================================== */
-
-static CURLcode
-ossl_connect_step1(struct connectdata *conn,
- int sockindex)
-{
- CURLcode retcode = CURLE_OK;
-
- struct SessionHandle *data = conn->data;
- SSL_METHOD_QUAL SSL_METHOD *req_method=NULL;
- void *ssl_sessionid=NULL;
- X509_LOOKUP *lookup=NULL;
- curl_socket_t sockfd = conn->sock[sockindex];
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
-#ifdef ENABLE_IPV6
- struct in6_addr addr;
-#else
- struct in_addr addr;
-#endif
-#endif
-
- DEBUGASSERT(ssl_connect_1 == connssl->connecting_state);
-
- /* Make funny stuff to get random input */
- Curl_ossl_seed(data);
-
- /* check to see if we've been told to use an explicit SSL/TLS version */
- switch(data->set.ssl.version) {
- default:
- case CURL_SSLVERSION_DEFAULT:
- /* we try to figure out version */
- req_method = SSLv23_client_method();
- break;
- case CURL_SSLVERSION_TLSv1:
- req_method = TLSv1_client_method();
- break;
- case CURL_SSLVERSION_SSLv2:
- req_method = SSLv2_client_method();
- break;
- case CURL_SSLVERSION_SSLv3:
- req_method = SSLv3_client_method();
- break;
- }
-
- if(connssl->ctx)
- SSL_CTX_free(connssl->ctx);
- connssl->ctx = SSL_CTX_new(req_method);
-
- if(!connssl->ctx) {
- failf(data, "SSL: couldn't create a context!");
- return CURLE_OUT_OF_MEMORY;
- }
-
-#ifdef SSL_CTRL_SET_MSG_CALLBACK
- if(data->set.fdebug && data->set.verbose) {
- /* the SSL trace callback is only used for verbose logging so we only
- inform about failures of setting it */
- if(!SSL_CTX_callback_ctrl(connssl->ctx, SSL_CTRL_SET_MSG_CALLBACK,
- (void (*)(void))ssl_tls_trace)) {
- infof(data, "SSL: couldn't set callback!\n");
- }
- else if(!SSL_CTX_ctrl(connssl->ctx, SSL_CTRL_SET_MSG_CALLBACK_ARG, 0,
- conn)) {
- infof(data, "SSL: couldn't set callback argument!\n");
- }
- }
-#endif
-
- /* OpenSSL contains code to work-around lots of bugs and flaws in various
- SSL-implementations. SSL_CTX_set_options() is used to enabled those
- work-arounds. The man page for this option states that SSL_OP_ALL enables
- all the work-arounds and that "It is usually safe to use SSL_OP_ALL to
- enable the bug workaround options if compatibility with somewhat broken
- implementations is desired."
-
- */
- SSL_CTX_set_options(connssl->ctx, SSL_OP_ALL);
-
- /* disable SSLv2 in the default case (i.e. allow SSLv3 and TLSv1) */
- if(data->set.ssl.version == CURL_SSLVERSION_DEFAULT)
- SSL_CTX_set_options(connssl->ctx, SSL_OP_NO_SSLv2);
-
-#if 0
- /*
- * Not sure it's needed to tell SSL_connect() that socket is
- * non-blocking. It doesn't seem to care, but just return with
- * SSL_ERROR_WANT_x.
- */
- if(data->state.used_interface == Curl_if_multi)
- SSL_CTX_ctrl(connssl->ctx, BIO_C_SET_NBIO, 1, NULL);
-#endif
-
- if(data->set.str[STRING_CERT]) {
- if(!cert_stuff(conn,
- connssl->ctx,
- data->set.str[STRING_CERT],
- data->set.str[STRING_CERT_TYPE],
- data->set.str[STRING_KEY],
- data->set.str[STRING_KEY_TYPE])) {
- /* failf() is already done in cert_stuff() */
- return CURLE_SSL_CERTPROBLEM;
- }
- }
-
- if(data->set.str[STRING_SSL_CIPHER_LIST]) {
- if(!SSL_CTX_set_cipher_list(connssl->ctx,
- data->set.str[STRING_SSL_CIPHER_LIST])) {
- failf(data, "failed setting cipher list");
- return CURLE_SSL_CIPHER;
- }
- }
-
- if(data->set.str[STRING_SSL_CAFILE] || data->set.str[STRING_SSL_CAPATH]) {
- /* tell SSL where to find CA certificates that are used to verify
- the servers certificate. */
- if(!SSL_CTX_load_verify_locations(connssl->ctx,
- data->set.str[STRING_SSL_CAFILE],
- data->set.str[STRING_SSL_CAPATH])) {
- if(data->set.ssl.verifypeer) {
- /* Fail if we insist on successfully verifying the server. */
- failf(data,"error setting certificate verify locations:\n"
- " CAfile: %s\n CApath: %s\n",
- data->set.str[STRING_SSL_CAFILE]?
- data->set.str[STRING_SSL_CAFILE]: "none",
- data->set.str[STRING_SSL_CAPATH]?
- data->set.str[STRING_SSL_CAPATH] : "none");
- return CURLE_SSL_CACERT_BADFILE;
- }
- else {
- /* Just continue with a warning if no strict certificate verification
- is required. */
- infof(data, "error setting certificate verify locations,"
- " continuing anyway:\n");
- }
- }
- else {
- /* Everything is fine. */
- infof(data, "successfully set certificate verify locations:\n");
- }
- infof(data,
- " CAfile: %s\n"
- " CApath: %s\n",
- data->set.str[STRING_SSL_CAFILE] ? data->set.str[STRING_SSL_CAFILE]:
- "none",
- data->set.str[STRING_SSL_CAPATH] ? data->set.str[STRING_SSL_CAPATH]:
- "none");
- }
-
- if (data->set.str[STRING_SSL_CRLFILE]) {
- /* tell SSL where to find CRL file that is used to check certificate
- * revocation */
- lookup=X509_STORE_add_lookup(connssl->ctx->cert_store,X509_LOOKUP_file());
- if ( !lookup ||
- (X509_load_crl_file(lookup,data->set.str[STRING_SSL_CRLFILE],
- X509_FILETYPE_PEM)!=1) ) {
- failf(data,"error loading CRL file :\n"
- " CRLfile: %s\n",
- data->set.str[STRING_SSL_CRLFILE]?
- data->set.str[STRING_SSL_CRLFILE]: "none");
- return CURLE_SSL_CRL_BADFILE;
- }
- else {
- /* Everything is fine. */
- infof(data, "successfully load CRL file:\n");
- X509_STORE_set_flags(connssl->ctx->cert_store,
- X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL);
- }
- infof(data,
- " CRLfile: %s\n", data->set.str[STRING_SSL_CRLFILE] ?
- data->set.str[STRING_SSL_CRLFILE]: "none");
- }
-
- /* SSL always tries to verify the peer, this only says whether it should
- * fail to connect if the verification fails, or if it should continue
- * anyway. In the latter case the result of the verification is checked with
- * SSL_get_verify_result() below. */
- SSL_CTX_set_verify(connssl->ctx,
- data->set.ssl.verifypeer?SSL_VERIFY_PEER:SSL_VERIFY_NONE,
- cert_verify_callback);
-
- /* give application a chance to interfere with SSL set up. */
- if(data->set.ssl.fsslctx) {
- retcode = (*data->set.ssl.fsslctx)(data, connssl->ctx,
- data->set.ssl.fsslctxp);
- if(retcode) {
- failf(data,"error signaled by ssl ctx callback");
- return retcode;
- }
- }
-
- /* Lets make an SSL structure */
- if(connssl->handle)
- SSL_free(connssl->handle);
- connssl->handle = SSL_new(connssl->ctx);
- if(!connssl->handle) {
- failf(data, "SSL: couldn't create a context (handle)!");
- return CURLE_OUT_OF_MEMORY;
- }
- SSL_set_connect_state(connssl->handle);
-
- connssl->server_cert = 0x0;
-
-#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
- if ((0 == Curl_inet_pton(AF_INET, conn->host.name, &addr)) &&
-#ifdef ENABLE_IPV6
- (0 == Curl_inet_pton(AF_INET6, conn->host.name, &addr)) &&
-#endif
- !SSL_set_tlsext_host_name(connssl->handle, conn->host.name))
- infof(data, "WARNING: failed to configure server name indication (SNI) "
- "TLS extension\n");
-#endif
-
- /* Check if there's a cached ID we can/should use here! */
- if(!Curl_ssl_getsessionid(conn, &ssl_sessionid, NULL)) {
- /* we got a session id, use it! */
- if(!SSL_set_session(connssl->handle, ssl_sessionid)) {
- failf(data, "SSL: SSL_set_session failed: %s",
- ERR_error_string(ERR_get_error(),NULL));
- return CURLE_SSL_CONNECT_ERROR;
- }
- /* Informational message */
- infof (data, "SSL re-using session ID\n");
- }
-
- /* pass the raw socket into the SSL layers */
- if(!SSL_set_fd(connssl->handle, sockfd)) {
- failf(data, "SSL: SSL_set_fd failed: %s",
- ERR_error_string(ERR_get_error(),NULL));
- return CURLE_SSL_CONNECT_ERROR;
- }
-
- connssl->connecting_state = ssl_connect_2;
- return CURLE_OK;
-}
-
-static CURLcode
-ossl_connect_step2(struct connectdata *conn, int sockindex)
-{
- struct SessionHandle *data = conn->data;
- int err;
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-
- DEBUGASSERT(ssl_connect_2 == connssl->connecting_state
- || ssl_connect_2_reading == connssl->connecting_state
- || ssl_connect_2_writing == connssl->connecting_state);
-
- err = SSL_connect(connssl->handle);
-
- /* 1 is fine
- 0 is "not successful but was shut down controlled"
- <0 is "handshake was not successful, because a fatal error occurred" */
- if(1 != err) {
- int detail = SSL_get_error(connssl->handle, err);
-
- if(SSL_ERROR_WANT_READ == detail) {
- connssl->connecting_state = ssl_connect_2_reading;
- return CURLE_OK;
- }
- else if(SSL_ERROR_WANT_WRITE == detail) {
- connssl->connecting_state = ssl_connect_2_writing;
- return CURLE_OK;
- }
- else {
- /* untreated error */
- unsigned long errdetail;
- char error_buffer[256]; /* OpenSSL documents that this must be at least
- 256 bytes long. */
- CURLcode rc;
- const char *cert_problem = NULL;
-
- connssl->connecting_state = ssl_connect_2; /* the connection failed,
- we're not waiting for
- anything else. */
-
- errdetail = ERR_get_error(); /* Gets the earliest error code from the
- thread's error queue and removes the
- entry. */
-
- switch(errdetail) {
- case 0x1407E086:
- /* 1407E086:
- SSL routines:
- SSL2_SET_CERTIFICATE:
- certificate verify failed */
- /* fall-through */
- case 0x14090086:
- /* 14090086:
- SSL routines:
- SSL3_GET_SERVER_CERTIFICATE:
- certificate verify failed */
- cert_problem = "SSL certificate problem, verify that the CA cert is"
- " OK. Details:\n";
- rc = CURLE_SSL_CACERT;
- break;
- default:
- rc = CURLE_SSL_CONNECT_ERROR;
- break;
- }
-
- /* detail is already set to the SSL error above */
-
- /* If we e.g. use SSLv2 request-method and the server doesn't like us
- * (RST connection etc.), OpenSSL gives no explanation whatsoever and
- * the SO_ERROR is also lost.
- */
- if(CURLE_SSL_CONNECT_ERROR == rc && errdetail == 0) {
- failf(data, "Unknown SSL protocol error in connection to %s:%d ",
- conn->host.name, conn->port);
- return rc;
- }
- /* Could be a CERT problem */
-
- SSL_strerror(errdetail, error_buffer, sizeof(error_buffer));
- failf(data, "%s%s", cert_problem ? cert_problem : "", error_buffer);
- return rc;
- }
- }
- else {
- /* we have been connected fine, we're not waiting for anything else. */
- connssl->connecting_state = ssl_connect_3;
-
- /* Informational message */
- infof (data, "SSL connection using %s\n",
- SSL_get_cipher(connssl->handle));
-
- return CURLE_OK;
- }
-}
-
-/*
- * Get the server cert, verify it and show it etc, only call failf() if the
- * 'strict' argument is TRUE as otherwise all this is for informational
- * purposes only!
- *
- * We check certificates to authenticate the server; otherwise we risk
- * man-in-the-middle attack.
- */
-static CURLcode servercert(struct connectdata *conn,
- struct ssl_connect_data *connssl,
- bool strict)
-{
- CURLcode retcode = CURLE_OK;
- char *str;
- long lerr;
- ASN1_TIME *certdate;
- struct SessionHandle *data = conn->data;
- X509 *issuer;
- FILE *fp;
-
- data->set.ssl.certverifyresult = !X509_V_OK;
-
- connssl->server_cert = SSL_get_peer_certificate(connssl->handle);
- if(!connssl->server_cert) {
- if(strict)
- failf(data, "SSL: couldn't get peer certificate!");
- return CURLE_PEER_FAILED_VERIFICATION;
- }
- infof (data, "Server certificate:\n");
-
- str = X509_NAME_oneline(X509_get_subject_name(connssl->server_cert),
- NULL, 0);
- if(!str) {
- if(strict)
- failf(data, "SSL: couldn't get X509-subject!");
- X509_free(connssl->server_cert);
- connssl->server_cert = NULL;
- return CURLE_SSL_CONNECT_ERROR;
- }
- infof(data, "\t subject: %s\n", str);
- CRYPTO_free(str);
-
- certdate = X509_get_notBefore(connssl->server_cert);
- asn1_output(conn, "\t start date: ", certdate);
-
- certdate = X509_get_notAfter(connssl->server_cert);
- asn1_output(conn, "\t expire date: ", certdate);
-
- if(data->set.ssl.verifyhost) {
- retcode = verifyhost(conn, connssl->server_cert);
- if(retcode) {
- X509_free(connssl->server_cert);
- connssl->server_cert = NULL;
- return retcode;
- }
- }
-
- str = X509_NAME_oneline(X509_get_issuer_name(connssl->server_cert),
- NULL, 0);
- if(!str) {
- if(strict)
- failf(data, "SSL: couldn't get X509-issuer name!");
- retcode = CURLE_SSL_CONNECT_ERROR;
- }
- else {
- infof(data, "\t issuer: %s\n", str);
- CRYPTO_free(str);
-
- /* We could do all sorts of certificate verification stuff here before
- deallocating the certificate. */
-
- /* e.g. match issuer name with provided issuer certificate */
- if (data->set.str[STRING_SSL_ISSUERCERT]) {
- if (! (fp=fopen(data->set.str[STRING_SSL_ISSUERCERT],"r"))) {
- if (strict)
- failf(data, "SSL: Unable to open issuer cert (%s)\n",
- data->set.str[STRING_SSL_ISSUERCERT]);
- X509_free(connssl->server_cert);
- connssl->server_cert = NULL;
- return CURLE_SSL_ISSUER_ERROR;
- }
- issuer = PEM_read_X509(fp,NULL,ZERO_NULL,NULL);
- if (!issuer) {
- if (strict)
- failf(data, "SSL: Unable to read issuer cert (%s)\n",
- data->set.str[STRING_SSL_ISSUERCERT]);
- X509_free(connssl->server_cert);
- X509_free(issuer);
- fclose(fp);
- return CURLE_SSL_ISSUER_ERROR;
- }
- fclose(fp);
- if (X509_check_issued(issuer,connssl->server_cert) != X509_V_OK) {
- if (strict)
- failf(data, "SSL: Certificate issuer check failed (%s)\n",
- data->set.str[STRING_SSL_ISSUERCERT]);
- X509_free(connssl->server_cert);
- X509_free(issuer);
- connssl->server_cert = NULL;
- return CURLE_SSL_ISSUER_ERROR;
- }
- infof(data, "\t SSL certificate issuer check ok (%s)\n",
- data->set.str[STRING_SSL_ISSUERCERT]);
- X509_free(issuer);
- }
-
- lerr = data->set.ssl.certverifyresult=
- SSL_get_verify_result(connssl->handle);
- if(data->set.ssl.certverifyresult != X509_V_OK) {
- if(data->set.ssl.verifypeer) {
- /* We probably never reach this, because SSL_connect() will fail
- and we return earlier if verifypeer is set? */
- if(strict)
- failf(data, "SSL certificate verify result: %s (%ld)",
- X509_verify_cert_error_string(lerr), lerr);
- retcode = CURLE_PEER_FAILED_VERIFICATION;
- }
- else
- infof(data, "\t SSL certificate verify result: %s (%ld),"
- " continuing anyway.\n",
- X509_verify_cert_error_string(lerr), lerr);
- }
- else
- infof(data, "\t SSL certificate verify ok.\n");
- }
-
- X509_free(connssl->server_cert);
- connssl->server_cert = NULL;
- connssl->connecting_state = ssl_connect_done;
-
- return retcode;
-}
-
-
-static CURLcode
-ossl_connect_step3(struct connectdata *conn,
- int sockindex)
-{
- CURLcode retcode = CURLE_OK;
- void *ssl_sessionid=NULL;
- struct SessionHandle *data = conn->data;
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-
- DEBUGASSERT(ssl_connect_3 == connssl->connecting_state);
-
- if(Curl_ssl_getsessionid(conn, &ssl_sessionid, NULL)) {
- /* Since this is not a cached session ID, then we want to stach this one
- in the cache! */
- SSL_SESSION *our_ssl_sessionid;
-#ifdef HAVE_SSL_GET1_SESSION
- our_ssl_sessionid = SSL_get1_session(connssl->handle);
-
- /* SSL_get1_session() will increment the reference
- count and the session will stay in memory until explicitly freed with
- SSL_SESSION_free(3), regardless of its state.
- This function was introduced in openssl 0.9.5a. */
-#else
- our_ssl_sessionid = SSL_get_session(connssl->handle);
-
- /* if SSL_get1_session() is unavailable, use SSL_get_session().
- This is an inferior option because the session can be flushed
- at any time by openssl. It is included only so curl compiles
- under versions of openssl < 0.9.5a.
-
- WARNING: How curl behaves if it's session is flushed is
- untested.
- */
-#endif
- retcode = Curl_ssl_addsessionid(conn, our_ssl_sessionid,
- 0 /* unknown size */);
- if(retcode) {
- failf(data, "failed to store ssl session");
- return retcode;
- }
- }
-
-
- /*
- * We check certificates to authenticate the server; otherwise we risk
- * man-in-the-middle attack; NEVERTHELESS, if we're told explicitly not to
- * verify the peer ignore faults and failures from the server cert
- * operations.
- */
-
- if(!data->set.ssl.verifypeer)
- (void)servercert(conn, connssl, FALSE);
- else
- retcode = servercert(conn, connssl, TRUE);
-
- if(CURLE_OK == retcode)
- connssl->connecting_state = ssl_connect_done;
- return retcode;
-}
-
-static CURLcode
-ossl_connect_common(struct connectdata *conn,
- int sockindex,
- bool nonblocking,
- bool *done)
-{
- CURLcode retcode;
- struct SessionHandle *data = conn->data;
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
- curl_socket_t sockfd = conn->sock[sockindex];
- long timeout_ms;
-
- if(ssl_connect_1==connssl->connecting_state) {
- /* Find out how much more time we're allowed */
- timeout_ms = Curl_timeleft(conn, NULL, TRUE);
-
- if(timeout_ms < 0) {
- /* no need to continue if time already is up */
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
- retcode = ossl_connect_step1(conn, sockindex);
- if(retcode)
- return retcode;
- }
-
- timeout_ms = 0;
- while(ssl_connect_2 == connssl->connecting_state ||
- ssl_connect_2_reading == connssl->connecting_state ||
- ssl_connect_2_writing == connssl->connecting_state) {
-
- /* check allowed time left */
- timeout_ms = Curl_timeleft(conn, NULL, TRUE);
-
- if(timeout_ms < 0) {
- /* no need to continue if time already is up */
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- /* if ssl is expecting something, check if it's available. */
- if(connssl->connecting_state == ssl_connect_2_reading
- || connssl->connecting_state == ssl_connect_2_writing) {
-
- int writefd = ssl_connect_2_writing==
- connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
- int readfd = ssl_connect_2_reading==
- connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
-
- while(1) {
- int what = Curl_socket_ready(readfd, writefd,
- nonblocking?0:(int)timeout_ms);
- if(what > 0)
- /* readable or writable, go loop in the outer loop */
- break;
- else if(0 == what) {
- if(nonblocking) {
- *done = FALSE;
- return CURLE_OK;
- }
- else {
- /* timeout */
- failf(data, "SSL connection timeout");
- return CURLE_OPERATION_TIMEDOUT;
- }
- }
- else {
- /* anything that gets here is fatally bad */
- failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
- return CURLE_SSL_CONNECT_ERROR;
- }
- } /* while()-loop for the select() */
- }
-
- /* get the timeout from step2 to avoid computing it twice. */
- retcode = ossl_connect_step2(conn, sockindex);
- if(retcode)
- return retcode;
-
- } /* repeat step2 until all transactions are done. */
-
-
- if(ssl_connect_3==connssl->connecting_state) {
- retcode = ossl_connect_step3(conn, sockindex);
- if(retcode)
- return retcode;
- }
-
- if(ssl_connect_done==connssl->connecting_state) {
- connssl->state = ssl_connection_complete;
- *done = TRUE;
- }
- else
- *done = FALSE;
-
- /* Reset our connect state machine */
- connssl->connecting_state = ssl_connect_1;
-
- return CURLE_OK;
-}
-
-CURLcode
-Curl_ossl_connect_nonblocking(struct connectdata *conn,
- int sockindex,
- bool *done)
-{
- return ossl_connect_common(conn, sockindex, TRUE, done);
-}
-
-CURLcode
-Curl_ossl_connect(struct connectdata *conn,
- int sockindex)
-{
- CURLcode retcode;
- bool done = FALSE;
-
- retcode = ossl_connect_common(conn, sockindex, FALSE, &done);
- if(retcode)
- return retcode;
-
- DEBUGASSERT(done);
-
- return CURLE_OK;
-}
-
-bool Curl_ossl_data_pending(const struct connectdata *conn,
- int connindex)
-{
- if(conn->ssl[connindex].handle)
- /* SSL is in use */
- return (bool)(0 != SSL_pending(conn->ssl[connindex].handle));
- else
- return FALSE;
-}
-
-/* return number of sent (non-SSL) bytes */
-ssize_t Curl_ossl_send(struct connectdata *conn,
- int sockindex,
- const void *mem,
- size_t len)
-{
- /* SSL_write() is said to return 'int' while write() and send() returns
- 'size_t' */
- int err;
- char error_buffer[120]; /* OpenSSL documents that this must be at least 120
- bytes long. */
- unsigned long sslerror;
- int rc = SSL_write(conn->ssl[sockindex].handle, mem, (int)len);
-
- if(rc < 0) {
- err = SSL_get_error(conn->ssl[sockindex].handle, rc);
-
- switch(err) {
- case SSL_ERROR_WANT_READ:
- case SSL_ERROR_WANT_WRITE:
- /* The operation did not complete; the same TLS/SSL I/O function
- should be called again later. This is basicly an EWOULDBLOCK
- equivalent. */
- return 0;
- case SSL_ERROR_SYSCALL:
- failf(conn->data, "SSL_write() returned SYSCALL, errno = %d",
- SOCKERRNO);
- return -1;
- case SSL_ERROR_SSL:
- /* A failure in the SSL library occurred, usually a protocol error.
- The OpenSSL error queue contains more information on the error. */
- sslerror = ERR_get_error();
- failf(conn->data, "SSL_write() error: %s",
- ERR_error_string(sslerror, error_buffer));
- return -1;
- }
- /* a true error */
- failf(conn->data, "SSL_write() return error %d", err);
- return -1;
- }
- return (ssize_t)rc; /* number of bytes */
-}
-
-/*
- * If the read would block we return -1 and set 'wouldblock' to TRUE.
- * Otherwise we return the amount of data read. Other errors should return -1
- * and set 'wouldblock' to FALSE.
- */
-ssize_t Curl_ossl_recv(struct connectdata *conn, /* connection data */
- int num, /* socketindex */
- char *buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool *wouldblock)
-{
- char error_buffer[120]; /* OpenSSL documents that this must be at
- least 120 bytes long. */
- unsigned long sslerror;
- ssize_t nread = (ssize_t)SSL_read(conn->ssl[num].handle, buf,
- (int)buffersize);
- *wouldblock = FALSE;
- if(nread < 0) {
- /* failed SSL_read */
- int err = SSL_get_error(conn->ssl[num].handle, (int)nread);
-
- switch(err) {
- case SSL_ERROR_NONE: /* this is not an error */
- case SSL_ERROR_ZERO_RETURN: /* no more data */
- break;
- case SSL_ERROR_WANT_READ:
- case SSL_ERROR_WANT_WRITE:
- /* there's data pending, re-invoke SSL_read() */
- *wouldblock = TRUE;
- return -1; /* basically EWOULDBLOCK */
- default:
- /* openssl/ssl.h says "look at error stack/return value/errno" */
- sslerror = ERR_get_error();
- failf(conn->data, "SSL read: %s, errno %d",
- ERR_error_string(sslerror, error_buffer),
- SOCKERRNO);
- return -1;
- }
- }
- return nread;
-}
-
-size_t Curl_ossl_version(char *buffer, size_t size)
-{
-#ifdef YASSL_VERSION
- /* yassl provides an OpenSSL API compatiblity layer so it looks identical
- to OpenSSL in all other aspects */
- return snprintf(buffer, size, "yassl/%s", YASSL_VERSION);
-#else /* YASSL_VERSION */
-
-#if(SSLEAY_VERSION_NUMBER >= 0x905000)
- {
- char sub[2];
- unsigned long ssleay_value;
- sub[1]='\0';
- ssleay_value=SSLeay();
- if(ssleay_value < 0x906000) {
- ssleay_value=SSLEAY_VERSION_NUMBER;
- sub[0]='\0';
- }
- else {
- if(ssleay_value&0xff0) {
- sub[0]=(char)(((ssleay_value>>4)&0xff) + 'a' -1);
- }
- else
- sub[0]='\0';
- }
-
- return snprintf(buffer, size, "OpenSSL/%lx.%lx.%lx%s",
- (ssleay_value>>28)&0xf,
- (ssleay_value>>20)&0xff,
- (ssleay_value>>12)&0xff,
- sub);
- }
-
-#else /* SSLEAY_VERSION_NUMBER is less than 0.9.5 */
-
-#if(SSLEAY_VERSION_NUMBER >= 0x900000)
- return snprintf(buffer, size, "OpenSSL/%lx.%lx.%lx",
- (SSLEAY_VERSION_NUMBER>>28)&0xff,
- (SSLEAY_VERSION_NUMBER>>20)&0xff,
- (SSLEAY_VERSION_NUMBER>>12)&0xf);
-
-#else /* (SSLEAY_VERSION_NUMBER >= 0x900000) */
- {
- char sub[2];
- sub[1]='\0';
- if(SSLEAY_VERSION_NUMBER&0x0f) {
- sub[0]=(SSLEAY_VERSION_NUMBER&0x0f) + 'a' -1;
- }
- else
- sub[0]='\0';
-
- return snprintf(buffer, size, "SSL/%x.%x.%x%s",
- (SSLEAY_VERSION_NUMBER>>12)&0xff,
- (SSLEAY_VERSION_NUMBER>>8)&0xf,
- (SSLEAY_VERSION_NUMBER>>4)&0xf, sub);
- }
-#endif /* (SSLEAY_VERSION_NUMBER >= 0x900000) */
-#endif /* SSLEAY_VERSION_NUMBER is less than 0.9.5 */
-
-#endif /* YASSL_VERSION */
-}
-#endif /* USE_SSLEAY */
diff --git a/Utilities/cmcurl-7.19.0/lib/ssluse.h b/Utilities/cmcurl-7.19.0/lib/ssluse.h
deleted file mode 100644
index 8515489..0000000
--- a/Utilities/cmcurl-7.19.0/lib/ssluse.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef __SSLUSE_H
-#define __SSLUSE_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef USE_SSLEAY
-/*
- * This header should only be needed to get included by sslgen.c and ssluse.c
- */
-
-#include "urldata.h"
-CURLcode Curl_ossl_connect(struct connectdata *conn, int sockindex);
-CURLcode Curl_ossl_connect_nonblocking(struct connectdata *conn,
- int sockindex,
- bool *done);
-
-/* close a SSL connection */
-void Curl_ossl_close(struct connectdata *conn, int sockindex);
-
-/* tell OpenSSL to close down all open information regarding connections (and
- thus session ID caching etc) */
-int Curl_ossl_close_all(struct SessionHandle *data);
-
-/* Sets an OpenSSL engine */
-CURLcode Curl_ossl_set_engine(struct SessionHandle *data, const char *engine);
-
-/* function provided for the generic SSL-layer, called when a session id
- should be freed */
-void Curl_ossl_session_free(void *ptr);
-
-/* Sets engine as default for all SSL operations */
-CURLcode Curl_ossl_set_engine_default(struct SessionHandle *data);
-
-/* Build list of OpenSSL engines */
-struct curl_slist *Curl_ossl_engines_list(struct SessionHandle *data);
-
-int Curl_ossl_init(void);
-void Curl_ossl_cleanup(void);
-
-ssize_t Curl_ossl_send(struct connectdata *conn,
- int sockindex,
- const void *mem,
- size_t len);
-ssize_t Curl_ossl_recv(struct connectdata *conn, /* connection data */
- int num, /* socketindex */
- char *buf, /* store read data here */
- size_t buffersize, /* max amount to read */
- bool *wouldblock);
-
-size_t Curl_ossl_version(char *buffer, size_t size);
-int Curl_ossl_check_cxn(struct connectdata *cxn);
-int Curl_ossl_seed(struct SessionHandle *data);
-
-int Curl_ossl_shutdown(struct connectdata *conn, int sockindex);
-bool Curl_ossl_data_pending(const struct connectdata *conn,
- int connindex);
-
-/* API setup for OpenSSL */
-#define curlssl_init Curl_ossl_init
-#define curlssl_cleanup Curl_ossl_cleanup
-#define curlssl_connect Curl_ossl_connect
-#define curlssl_connect_nonblocking Curl_ossl_connect_nonblocking
-#define curlssl_session_free(x) Curl_ossl_session_free(x)
-#define curlssl_close_all Curl_ossl_close_all
-#define curlssl_close Curl_ossl_close
-#define curlssl_shutdown(x,y) Curl_ossl_shutdown(x,y)
-#define curlssl_set_engine(x,y) Curl_ossl_set_engine(x,y)
-#define curlssl_set_engine_default(x) Curl_ossl_set_engine_default(x)
-#define curlssl_engines_list(x) Curl_ossl_engines_list(x)
-#define curlssl_send Curl_ossl_send
-#define curlssl_recv Curl_ossl_recv
-#define curlssl_version Curl_ossl_version
-#define curlssl_check_cxn Curl_ossl_check_cxn
-#define curlssl_data_pending(x,y) Curl_ossl_data_pending(x,y)
-
-#endif /* USE_SSLEAY */
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/strdup.c b/Utilities/cmcurl-7.19.0/lib/strdup.c
deleted file mode 100644
index eef9e08..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strdup.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-#include "strdup.h"
-
-#ifndef HAVE_STRDUP
-char *curlx_strdup(const char *str)
-{
- size_t len;
- char *newstr;
-
- if(!str)
- return (char *)NULL;
-
- len = strlen(str);
-
- if(len >= ((size_t)-1) / sizeof(char))
- return (char *)NULL;
-
- newstr = (char *) malloc((len+1)*sizeof(char));
- if(!newstr)
- return (char *)NULL;
-
- memcpy(newstr,str,(len+1)*sizeof(char));
-
- return newstr;
-
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/strdup.h b/Utilities/cmcurl-7.19.0/lib/strdup.h
deleted file mode 100644
index 07681ac..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strdup.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __CURL_STRDUP_H
-#define __CURL_STRDUP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-#ifndef HAVE_STRDUP
-extern char *curlx_strdup(const char *str);
-#endif
-
-#endif
-
diff --git a/Utilities/cmcurl-7.19.0/lib/strequal.c b/Utilities/cmcurl-7.19.0/lib/strequal.c
deleted file mode 100644
index 639a7ff..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strequal.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifndef _GNU_SOURCE
-/* glibc needs this to define the prototype for strcasestr */
-#define _GNU_SOURCE 1
-#endif
-
-#include "setup.h"
-
-#include <string.h>
-#include <ctype.h>
-
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#include "strequal.h"
-
-#if defined(HAVE_STRCASECMP) && defined(__STRICT_ANSI__)
-/* this is for "-ansi -Wall -pedantic" to stop complaining! */
-extern int (strcasecmp)(const char *s1, const char *s2);
-extern int (strncasecmp)(const char *s1, const char *s2, size_t n);
-#endif
-
-int curl_strequal(const char *first, const char *second)
-{
-#if defined(HAVE_STRCASECMP)
- return !(strcasecmp)(first, second);
-#elif defined(HAVE_STRCMPI)
- return !(strcmpi)(first, second);
-#elif defined(HAVE_STRICMP)
- return !(stricmp)(first, second);
-#else
- while(*first && *second) {
- if(toupper(*first) != toupper(*second)) {
- break;
- }
- first++;
- second++;
- }
- return toupper(*first) == toupper(*second);
-#endif
-}
-
-int curl_strnequal(const char *first, const char *second, size_t max)
-{
-#if defined(HAVE_STRCASECMP)
- return !strncasecmp(first, second, max);
-#elif defined(HAVE_STRCMPI)
- return !strncmpi(first, second, max);
-#elif defined(HAVE_STRICMP)
- return !strnicmp(first, second, max);
-#else
- while(*first && *second && max) {
- if(toupper(*first) != toupper(*second)) {
- break;
- }
- max--;
- first++;
- second++;
- }
- if(0 == max)
- return 1; /* they are equal this far */
-
- return toupper(*first) == toupper(*second);
-#endif
-}
-
-/*
- * Curl_strcasestr() finds the first occurrence of the substring needle in the
- * string haystack. The terminating `\0' characters are not compared. The
- * matching is done CASE INSENSITIVE, which thus is the difference between
- * this and strstr().
- */
-char *Curl_strcasestr(const char *haystack, const char *needle)
-{
-#if defined(HAVE_STRCASESTR)
- return strcasestr(haystack, needle);
-#else
- size_t nlen = strlen(needle);
- size_t hlen = strlen(haystack);
-
- while(hlen-- >= nlen) {
- if(curl_strnequal(haystack, needle, nlen))
- return (char *)haystack;
- haystack++;
- }
- return NULL;
-#endif
-}
-
-#ifndef HAVE_STRLCAT
-/*
- * The strlcat() function appends the NUL-terminated string src to the end
- * of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-termi-
- * nating the result.
- *
- * The strlcpy() and strlcat() functions return the total length of the
- * string they tried to create. For strlcpy() that means the length of src.
- * For strlcat() that means the initial length of dst plus the length of
- * src. While this may seem somewhat confusing it was done to make trunca-
- * tion detection simple.
- *
- *
- */
-size_t Curl_strlcat(char *dst, const char *src, size_t siz)
-{
- char *d = dst;
- const char *s = src;
- size_t n = siz;
- size_t dlen;
-
- /* Find the end of dst and adjust bytes left but don't go past end */
- while(n-- != 0 && *d != '\0')
- d++;
- dlen = d - dst;
- n = siz - dlen;
-
- if(n == 0)
- return(dlen + strlen(s));
- while(*s != '\0') {
- if(n != 1) {
- *d++ = *s;
- n--;
- }
- s++;
- }
- *d = '\0';
-
- return(dlen + (s - src)); /* count does not include NUL */
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/strequal.h b/Utilities/cmcurl-7.19.0/lib/strequal.h
deleted file mode 100644
index b3caa73..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strequal.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef __STREQUAL_H
-#define __STREQUAL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <curl/curl.h>
-
-#define strequal(a,b) curl_strequal(a,b)
-#define strnequal(a,b,c) curl_strnequal(a,b,c)
-
-/* checkprefix() is a shorter version of the above, used when the first
- argument is zero-byte terminated */
-#define checkprefix(a,b) strnequal(a,b,strlen(a))
-
-/* case insensitive strstr() */
-char *Curl_strcasestr(const char *haystack, const char *needle);
-
-#ifndef HAVE_STRLCAT
-#define strlcat(x,y,z) Curl_strlcat(x,y,z)
-#endif
-size_t strlcat(char *dst, const char *src, size_t siz);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/strerror.c b/Utilities/cmcurl-7.19.0/lib/strerror.c
deleted file mode 100644
index 032e2c7..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strerror.c
+++ /dev/null
@@ -1,739 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 2004 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef HAVE_STRERROR_R
-#if !defined(HAVE_POSIX_STRERROR_R) && !defined(HAVE_GLIBC_STRERROR_R)
-#error "you MUST have either POSIX or glibc strerror_r if strerror_r is found"
-#endif /* !POSIX && !glibc */
-#endif /* HAVE_STRERROR_R */
-
-#include <curl/curl.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#ifdef USE_LIBIDN
-#include <idna.h>
-#endif
-
-#include "strerror.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#if defined(HAVE_STRERROR_R) && defined(HAVE_NO_STRERROR_R_DECL)
-#ifdef HAVE_POSIX_STRERROR_R
-/* seen on AIX 5100-02 gcc 2.9 */
-extern int strerror_r(int errnum, char *strerrbuf, size_t buflen);
-#else
-extern char *strerror_r(int errnum, char *buf, size_t buflen);
-#endif
-#endif
-
-const char *
-curl_easy_strerror(CURLcode error)
-{
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- switch (error) {
- case CURLE_OK:
- return "No error";
-
- case CURLE_UNSUPPORTED_PROTOCOL:
- return "Unsupported protocol";
-
- case CURLE_FAILED_INIT:
- return "Failed initialization";
-
- case CURLE_URL_MALFORMAT:
- return "URL using bad/illegal format or missing URL";
-
- case CURLE_COULDNT_RESOLVE_PROXY:
- return "Couldn't resolve proxy name";
-
- case CURLE_COULDNT_RESOLVE_HOST:
- return "Couldn't resolve host name";
-
- case CURLE_COULDNT_CONNECT:
- return "Couldn't connect to server";
-
- case CURLE_FTP_WEIRD_SERVER_REPLY:
- return "FTP: weird server reply";
-
- case CURLE_REMOTE_ACCESS_DENIED:
- return "Access denied to remote resource";
-
- case CURLE_FTP_WEIRD_PASS_REPLY:
- return "FTP: unknown PASS reply";
-
- case CURLE_FTP_WEIRD_PASV_REPLY:
- return "FTP: unknown PASV reply";
-
- case CURLE_FTP_WEIRD_227_FORMAT:
- return "FTP: unknown 227 response format";
-
- case CURLE_FTP_CANT_GET_HOST:
- return "FTP: can't figure out the host in the PASV response";
-
- case CURLE_FTP_COULDNT_SET_TYPE:
- return "FTP: couldn't set file type";
-
- case CURLE_PARTIAL_FILE:
- return "Transferred a partial file";
-
- case CURLE_FTP_COULDNT_RETR_FILE:
- return "FTP: couldn't retrieve (RETR failed) the specified file";
-
- case CURLE_QUOTE_ERROR:
- return "Quote command returned error";
-
- case CURLE_HTTP_RETURNED_ERROR:
- return "HTTP response code said error";
-
- case CURLE_WRITE_ERROR:
- return "Failed writing received data to disk/application";
-
- case CURLE_UPLOAD_FAILED:
- return "Upload failed (at start/before it took off)";
-
- case CURLE_READ_ERROR:
- return "Failed to open/read local data from file/application";
-
- case CURLE_OUT_OF_MEMORY:
- return "Out of memory";
-
- case CURLE_OPERATION_TIMEDOUT:
- return "Timeout was reached";
-
- case CURLE_FTP_PORT_FAILED:
- return "FTP: command PORT failed";
-
- case CURLE_FTP_COULDNT_USE_REST:
- return "FTP: command REST failed";
-
- case CURLE_RANGE_ERROR:
- return "Requested range was not delivered by the server";
-
- case CURLE_HTTP_POST_ERROR:
- return "Internal problem setting up the POST";
-
- case CURLE_SSL_CONNECT_ERROR:
- return "SSL connect error";
-
- case CURLE_BAD_DOWNLOAD_RESUME:
- return "Couldn't resume download";
-
- case CURLE_FILE_COULDNT_READ_FILE:
- return "Couldn't read a file:// file";
-
- case CURLE_LDAP_CANNOT_BIND:
- return "LDAP: cannot bind";
-
- case CURLE_LDAP_SEARCH_FAILED:
- return "LDAP: search failed";
-
- case CURLE_FUNCTION_NOT_FOUND:
- return "A required function in the library was not found";
-
- case CURLE_ABORTED_BY_CALLBACK:
- return "Operation was aborted by an application callback";
-
- case CURLE_BAD_FUNCTION_ARGUMENT:
- return "A libcurl function was given a bad argument";
-
- case CURLE_INTERFACE_FAILED:
- return "Failed binding local connection end";
-
- case CURLE_TOO_MANY_REDIRECTS :
- return "Number of redirects hit maximum amount";
-
- case CURLE_UNKNOWN_TELNET_OPTION:
- return "User specified an unknown telnet option";
-
- case CURLE_TELNET_OPTION_SYNTAX :
- return "Malformed telnet option";
-
- case CURLE_PEER_FAILED_VERIFICATION:
- return "SSL peer certificate or SSH md5 fingerprint was not OK";
-
- case CURLE_GOT_NOTHING:
- return "Server returned nothing (no headers, no data)";
-
- case CURLE_SSL_ENGINE_NOTFOUND:
- return "SSL crypto engine not found";
-
- case CURLE_SSL_ENGINE_SETFAILED:
- return "Can not set SSL crypto engine as default";
-
- case CURLE_SSL_ENGINE_INITFAILED:
- return "Failed to initialise SSL crypto engine";
-
- case CURLE_SEND_ERROR:
- return "Failed sending data to the peer";
-
- case CURLE_RECV_ERROR:
- return "Failure when receiving data from the peer";
-
- case CURLE_SSL_CERTPROBLEM:
- return "Problem with the local SSL certificate";
-
- case CURLE_SSL_CIPHER:
- return "Couldn't use specified SSL cipher";
-
- case CURLE_SSL_CACERT:
- return "Peer certificate cannot be authenticated with known CA certificates";
-
- case CURLE_SSL_CACERT_BADFILE:
- return "Problem with the SSL CA cert (path? access rights?)";
-
- case CURLE_BAD_CONTENT_ENCODING:
- return "Unrecognized HTTP Content-Encoding";
-
- case CURLE_LDAP_INVALID_URL:
- return "Invalid LDAP URL";
-
- case CURLE_FILESIZE_EXCEEDED:
- return "Maximum file size exceeded";
-
- case CURLE_USE_SSL_FAILED:
- return "Requested SSL level failed";
-
- case CURLE_SSL_SHUTDOWN_FAILED:
- return "Failed to shut down the SSL connection";
-
- case CURLE_SSL_CRL_BADFILE:
- return "Failed to load CRL file (path? access rights?, format?)";
-
- case CURLE_SSL_ISSUER_ERROR:
- return "Issuer check against peer certificate failed";
-
- case CURLE_SEND_FAIL_REWIND:
- return "Send failed since rewinding of the data stream failed";
-
- case CURLE_LOGIN_DENIED:
- return "Login denied";
-
- case CURLE_TFTP_NOTFOUND:
- return "TFTP: File Not Found";
-
- case CURLE_TFTP_PERM:
- return "TFTP: Access Violation";
-
- case CURLE_REMOTE_DISK_FULL:
- return "Disk full or allocation exceeded";
-
- case CURLE_TFTP_ILLEGAL:
- return "TFTP: Illegal operation";
-
- case CURLE_TFTP_UNKNOWNID:
- return "TFTP: Unknown transfer ID";
-
- case CURLE_REMOTE_FILE_EXISTS:
- return "Remote file already exists";
-
- case CURLE_TFTP_NOSUCHUSER:
- return "TFTP: No such user";
-
- case CURLE_CONV_FAILED:
- return "Conversion failed";
-
- case CURLE_CONV_REQD:
- return "Caller must register CURLOPT_CONV_ callback options";
-
- case CURLE_REMOTE_FILE_NOT_FOUND:
- return "Remote file not found";
-
- case CURLE_SSH:
- return "Error in the SSH layer";
-
- case CURLE_AGAIN:
- return "Socket not ready for send/recv";
-
- /* error codes not used by current libcurl */
- case CURLE_OBSOLETE4:
- case CURLE_OBSOLETE10:
- case CURLE_OBSOLETE12:
- case CURLE_OBSOLETE16:
- case CURLE_OBSOLETE20:
- case CURLE_OBSOLETE24:
- case CURLE_OBSOLETE29:
- case CURLE_OBSOLETE32:
- case CURLE_OBSOLETE40:
- case CURLE_OBSOLETE44:
- case CURLE_OBSOLETE46:
- case CURLE_OBSOLETE50:
- case CURLE_OBSOLETE57:
- case CURL_LAST:
- break;
- }
- /*
- * By using a switch, gcc -Wall will complain about enum values
- * which do not appear, helping keep this function up-to-date.
- * By using gcc -Wall -Werror, you can't forget.
- *
- * A table would not have the same benefit. Most compilers will
- * generate code very similar to a table in any case, so there
- * is little performance gain from a table. And something is broken
- * for the user's application, anyways, so does it matter how fast
- * it _doesn't_ work?
- *
- * The line number for the error will be near this comment, which
- * is why it is here, and not at the start of the switch.
- */
- return "Unknown error";
-#else
- if(error == CURLE_OK)
- return "No error";
- else
- return "Error";
-#endif
-}
-
-const char *
-curl_multi_strerror(CURLMcode error)
-{
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- switch (error) {
- case CURLM_CALL_MULTI_PERFORM:
- return "Please call curl_multi_perform() soon";
-
- case CURLM_OK:
- return "No error";
-
- case CURLM_BAD_HANDLE:
- return "Invalid multi handle";
-
- case CURLM_BAD_EASY_HANDLE:
- return "Invalid easy handle";
-
- case CURLM_OUT_OF_MEMORY:
- return "Out of memory";
-
- case CURLM_INTERNAL_ERROR:
- return "Internal error";
-
- case CURLM_BAD_SOCKET:
- return "Invalid socket argument";
-
- case CURLM_UNKNOWN_OPTION:
- return "Unknown option";
-
- case CURLM_LAST:
- break;
- }
-
- return "Unknown error";
-#else
- if(error == CURLM_OK)
- return "No error";
- else
- return "Error";
-#endif
-}
-
-const char *
-curl_share_strerror(CURLSHcode error)
-{
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- switch (error) {
- case CURLSHE_OK:
- return "No error";
-
- case CURLSHE_BAD_OPTION:
- return "Unknown share option";
-
- case CURLSHE_IN_USE:
- return "Share currently in use";
-
- case CURLSHE_INVALID:
- return "Invalid share handle";
-
- case CURLSHE_NOMEM:
- return "Out of memory";
-
- case CURLSHE_LAST:
- break;
- }
-
- return "CURLSHcode unknown";
-#else
- if(error == CURLSHE_OK)
- return "No error";
- else
- return "Error";
-#endif
-}
-
-#ifdef USE_WINSOCK
-
-/* This function handles most / all (?) Winsock errors cURL is able to produce.
- */
-static const char *
-get_winsock_error (int err, char *buf, size_t len)
-{
- const char *p;
-
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- switch (err) {
- case WSAEINTR:
- p = "Call interrupted";
- break;
- case WSAEBADF:
- p = "Bad file";
- break;
- case WSAEACCES:
- p = "Bad access";
- break;
- case WSAEFAULT:
- p = "Bad argument";
- break;
- case WSAEINVAL:
- p = "Invalid arguments";
- break;
- case WSAEMFILE:
- p = "Out of file descriptors";
- break;
- case WSAEWOULDBLOCK:
- p = "Call would block";
- break;
- case WSAEINPROGRESS:
- case WSAEALREADY:
- p = "Blocking call in progress";
- break;
- case WSAENOTSOCK:
- p = "Descriptor is not a socket";
- break;
- case WSAEDESTADDRREQ:
- p = "Need destination address";
- break;
- case WSAEMSGSIZE:
- p = "Bad message size";
- break;
- case WSAEPROTOTYPE:
- p = "Bad protocol";
- break;
- case WSAENOPROTOOPT:
- p = "Protocol option is unsupported";
- break;
- case WSAEPROTONOSUPPORT:
- p = "Protocol is unsupported";
- break;
- case WSAESOCKTNOSUPPORT:
- p = "Socket is unsupported";
- break;
- case WSAEOPNOTSUPP:
- p = "Operation not supported";
- break;
- case WSAEAFNOSUPPORT:
- p = "Address family not supported";
- break;
- case WSAEPFNOSUPPORT:
- p = "Protocol family not supported";
- break;
- case WSAEADDRINUSE:
- p = "Address already in use";
- break;
- case WSAEADDRNOTAVAIL:
- p = "Address not available";
- break;
- case WSAENETDOWN:
- p = "Network down";
- break;
- case WSAENETUNREACH:
- p = "Network unreachable";
- break;
- case WSAENETRESET:
- p = "Network has been reset";
- break;
- case WSAECONNABORTED:
- p = "Connection was aborted";
- break;
- case WSAECONNRESET:
- p = "Connection was reset";
- break;
- case WSAENOBUFS:
- p = "No buffer space";
- break;
- case WSAEISCONN:
- p = "Socket is already connected";
- break;
- case WSAENOTCONN:
- p = "Socket is not connected";
- break;
- case WSAESHUTDOWN:
- p = "Socket has been shut down";
- break;
- case WSAETOOMANYREFS:
- p = "Too many references";
- break;
- case WSAETIMEDOUT:
- p = "Timed out";
- break;
- case WSAECONNREFUSED:
- p = "Connection refused";
- break;
- case WSAELOOP:
- p = "Loop??";
- break;
- case WSAENAMETOOLONG:
- p = "Name too long";
- break;
- case WSAEHOSTDOWN:
- p = "Host down";
- break;
- case WSAEHOSTUNREACH:
- p = "Host unreachable";
- break;
- case WSAENOTEMPTY:
- p = "Not empty";
- break;
- case WSAEPROCLIM:
- p = "Process limit reached";
- break;
- case WSAEUSERS:
- p = "Too many users";
- break;
- case WSAEDQUOT:
- p = "Bad quota";
- break;
- case WSAESTALE:
- p = "Something is stale";
- break;
- case WSAEREMOTE:
- p = "Remote error";
- break;
-#ifdef WSAEDISCON /* missing in SalfordC! */
- case WSAEDISCON:
- p = "Disconnected";
- break;
-#endif
- /* Extended Winsock errors */
- case WSASYSNOTREADY:
- p = "Winsock library is not ready";
- break;
- case WSANOTINITIALISED:
- p = "Winsock library not initialised";
- break;
- case WSAVERNOTSUPPORTED:
- p = "Winsock version not supported";
- break;
-
- /* getXbyY() errors (already handled in herrmsg):
- * Authoritative Answer: Host not found */
- case WSAHOST_NOT_FOUND:
- p = "Host not found";
- break;
-
- /* Non-Authoritative: Host not found, or SERVERFAIL */
- case WSATRY_AGAIN:
- p = "Host not found, try again";
- break;
-
- /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
- case WSANO_RECOVERY:
- p = "Unrecoverable error in call to nameserver";
- break;
-
- /* Valid name, no data record of requested type */
- case WSANO_DATA:
- p = "No data record of requested type";
- break;
-
- default:
- return NULL;
- }
-#else
- if(err == CURLE_OK)
- return NULL;
- else
- p = "error";
-#endif
- strncpy (buf, p, len);
- buf [len-1] = '\0';
- return buf;
-}
-#endif /* USE_WINSOCK */
-
-/*
- * Our thread-safe and smart strerror() replacement.
- *
- * The 'err' argument passed in to this function MUST be a true errno number
- * as reported on this system. We do no range checking on the number before
- * we pass it to the "number-to-message" conversion function and there might
- * be systems that don't do proper range checking in there themselves.
- *
- * We don't do range checking (on systems other than Windows) since there is
- * no good reliable and portable way to do it.
- */
-const char *Curl_strerror(struct connectdata *conn, int err)
-{
- char *buf, *p;
- size_t max;
-
- DEBUGASSERT(conn);
- DEBUGASSERT(err >= 0);
-
- buf = conn->syserr_buf;
- max = sizeof(conn->syserr_buf)-1;
- *buf = '\0';
-
-#ifdef USE_WINSOCK
-
-#ifdef _WIN32_WCE
- buf[0]=0;
- {
- wchar_t wbuf[256];
-
- FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
- LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL);
- wcstombs(buf,wbuf,max);
- }
-
-#else
-
- /* 'sys_nerr' is the maximum errno number, it is not widely portable */
- if(err >= 0 && err < sys_nerr)
- strncpy(buf, strerror(err), max);
- else {
- if(!get_winsock_error(err, buf, max) &&
- !FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
- LANG_NEUTRAL, buf, (DWORD)max, NULL))
- snprintf(buf, max, "Unknown error %d (%#x)", err, err);
- }
-#endif
-#else /* not USE_WINSOCK coming up */
-
- /* These should be atomic and hopefully thread-safe */
-#ifdef HAVE_STRERROR_R
- /* There are two different APIs for strerror_r(). The POSIX and the GLIBC
- versions. */
-#ifdef HAVE_POSIX_STRERROR_R
- strerror_r(err, buf, max);
- /* this may set errno to ERANGE if insufficient storage was supplied via
- 'strerrbuf' and 'buflen' to contain the generated message string, or
- EINVAL if the value of 'errnum' is not a valid error number.*/
-#else
- {
- /* HAVE_GLIBC_STRERROR_R */
- char buffer[256];
- char *msg = strerror_r(err, buffer, sizeof(buffer));
- /* this version of strerror_r() only *might* use the buffer we pass to
- the function, but it always returns the error message as a pointer,
- so we must copy that string unconditionally (if non-NULL) */
- if(msg)
- strncpy(buf, msg, max);
- else
- snprintf(buf, max, "Unknown error %d", err);
- }
-#endif /* end of HAVE_GLIBC_STRERROR_R */
-#else /* HAVE_STRERROR_R */
- strncpy(buf, strerror(err), max);
-#endif /* end of HAVE_STRERROR_R */
-#endif /* end of ! USE_WINSOCK */
-
- buf[max] = '\0'; /* make sure the string is zero terminated */
-
- /* strip trailing '\r\n' or '\n'. */
- if((p = strrchr(buf,'\n')) != NULL && (p - buf) >= 2)
- *p = '\0';
- if((p = strrchr(buf,'\r')) != NULL && (p - buf) >= 1)
- *p = '\0';
- return buf;
-}
-
-#ifdef USE_LIBIDN
-/*
- * Return error-string for libidn status as returned from idna_to_ascii_lz().
- */
-const char *Curl_idn_strerror (struct connectdata *conn, int err)
-{
-#ifdef HAVE_IDNA_STRERROR
- (void)conn;
- return idna_strerror((Idna_rc) err);
-#else
- const char *str;
- char *buf;
- size_t max;
-
- DEBUGASSERT(conn);
-
- buf = conn->syserr_buf;
- max = sizeof(conn->syserr_buf)-1;
-
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- switch ((Idna_rc)err) {
- case IDNA_SUCCESS:
- str = "No error";
- break;
- case IDNA_STRINGPREP_ERROR:
- str = "Error in string preparation";
- break;
- case IDNA_PUNYCODE_ERROR:
- str = "Error in Punycode operation";
- break;
- case IDNA_CONTAINS_NON_LDH:
- str = "Illegal ASCII characters";
- break;
- case IDNA_CONTAINS_MINUS:
- str = "Contains minus";
- break;
- case IDNA_INVALID_LENGTH:
- str = "Invalid output length";
- break;
- case IDNA_NO_ACE_PREFIX:
- str = "No ACE prefix (\"xn--\")";
- break;
- case IDNA_ROUNDTRIP_VERIFY_ERROR:
- str = "Round trip verify error";
- break;
- case IDNA_CONTAINS_ACE_PREFIX:
- str = "Already have ACE prefix (\"xn--\")";
- break;
- case IDNA_ICONV_ERROR:
- str = "Locale conversion failed";
- break;
- case IDNA_MALLOC_ERROR:
- str = "Allocation failed";
- break;
- case IDNA_DLOPEN_ERROR:
- str = "dlopen() error";
- break;
- default:
- snprintf(buf, max, "error %d", (int)err);
- str = NULL;
- break;
- }
-#else
- if((Idna_rc)err == IDNA_SUCCESS)
- str = "No error";
- else
- str = "Error";
-#endif
- if(str)
- strncpy(buf, str, max);
- buf[max] = '\0';
- return (buf);
-#endif
-}
-#endif /* USE_LIBIDN */
diff --git a/Utilities/cmcurl-7.19.0/lib/strerror.h b/Utilities/cmcurl-7.19.0/lib/strerror.h
deleted file mode 100644
index b280504..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strerror.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __CURL_STRERROR_H
-#define __CURL_STRERROR_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "urldata.h"
-
-const char *Curl_strerror (struct connectdata *conn, int err);
-
-#ifdef USE_LIBIDN
-const char *Curl_idn_strerror (struct connectdata *conn, int err);
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/strtok.c b/Utilities/cmcurl-7.19.0/lib/strtok.c
deleted file mode 100644
index 4895414..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strtok.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef HAVE_STRTOK_R
-#include <stddef.h>
-#include <string.h>
-
-#include "strtok.h"
-
-char *
-Curl_strtok_r(char *ptr, const char *sep, char **end)
-{
- if(!ptr)
- /* we got NULL input so then we get our last position instead */
- ptr = *end;
-
- /* pass all letters that are including in the separator string */
- while(*ptr && strchr(sep, *ptr))
- ++ptr;
-
- if(*ptr) {
- /* so this is where the next piece of string starts */
- char *start = ptr;
-
- /* set the end pointer to the first byte after the start */
- *end = start + 1;
-
- /* scan through the string to find where it ends, it ends on a
- null byte or a character that exists in the separator string */
- while(**end && !strchr(sep, **end))
- ++*end;
-
- if(**end) {
- /* the end is not a null byte */
- **end = '\0'; /* zero terminate it! */
- ++*end; /* advance the last pointer to beyond the null byte */
- }
-
- return start; /* return the position where the string starts */
- }
-
- /* we ended up on a null byte, there are no more strings to find! */
- return NULL;
-}
-
-#endif /* this was only compiled if strtok_r wasn't present */
diff --git a/Utilities/cmcurl-7.19.0/lib/strtok.h b/Utilities/cmcurl-7.19.0/lib/strtok.h
deleted file mode 100644
index 8cb8e69..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strtok.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef __CURL_STRTOK_H
-#define __CURL_STRTOK_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-#include <stddef.h>
-
-#ifndef HAVE_STRTOK_R
-char *Curl_strtok_r(char *s, const char *delim, char **last);
-#define strtok_r Curl_strtok_r
-#else
-#include <string.h>
-#endif
-
-#endif
-
diff --git a/Utilities/cmcurl-7.19.0/lib/strtoofft.c b/Utilities/cmcurl-7.19.0/lib/strtoofft.c
deleted file mode 100644
index 6cd9a3e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strtoofft.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-#include "strtoofft.h"
-
-/*
- * NOTE:
- *
- * In the ISO C standard (IEEE Std 1003.1), there is a strtoimax() function we
- * could use in case strtoll() doesn't exist... See
- * http://www.opengroup.org/onlinepubs/009695399/functions/strtoimax.html
- */
-
-#ifdef NEED_CURL_STRTOLL
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-
-/* Range tests can be used for alphanum decoding if characters are consecutive,
- like in ASCII. Else an array is scanned. Determine this condition now. */
-
-#if('9' - '0') != 9 || ('Z' - 'A') != 25 || ('z' - 'a') != 25
-#include <string.h>
-
-#define NO_RANGE_TEST
-
-static const char valchars[] =
- "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-#endif
-
-static int get_char(char c, int base);
-
-/**
- * Emulated version of the strtoll function. This extracts a long long
- * value from the given input string and returns it.
- */
-curl_off_t
-curlx_strtoll(const char *nptr, char **endptr, int base)
-{
- char *end;
- int is_negative = 0;
- int overflow;
- int i;
- curl_off_t value = 0;
- curl_off_t newval;
-
- /* Skip leading whitespace. */
- end = (char *)nptr;
- while(ISSPACE(end[0])) {
- end++;
- }
-
- /* Handle the sign, if any. */
- if(end[0] == '-') {
- is_negative = 1;
- end++;
- }
- else if(end[0] == '+') {
- end++;
- }
- else if(end[0] == '\0') {
- /* We had nothing but perhaps some whitespace -- there was no number. */
- if(endptr) {
- *endptr = end;
- }
- return 0;
- }
-
- /* Handle special beginnings, if present and allowed. */
- if(end[0] == '0' && end[1] == 'x') {
- if(base == 16 || base == 0) {
- end += 2;
- base = 16;
- }
- }
- else if(end[0] == '0') {
- if(base == 8 || base == 0) {
- end++;
- base = 8;
- }
- }
-
- /* Matching strtol, if the base is 0 and it doesn't look like
- * the number is octal or hex, we assume it's base 10.
- */
- if(base == 0) {
- base = 10;
- }
-
- /* Loop handling digits. */
- value = 0;
- overflow = 0;
- for (i = get_char(end[0], base);
- i != -1;
- end++, i = get_char(end[0], base)) {
- newval = base * value + i;
- if(newval < value) {
- /* We've overflowed. */
- overflow = 1;
- break;
- }
- else
- value = newval;
- }
-
- if(!overflow) {
- if(is_negative) {
- /* Fix the sign. */
- value *= -1;
- }
- }
- else {
- if(is_negative)
- value = CURL_LLONG_MIN;
- else
- value = CURL_LLONG_MAX;
-
- SET_ERRNO(ERANGE);
- }
-
- if(endptr)
- *endptr = end;
-
- return value;
-}
-
-/**
- * Returns the value of c in the given base, or -1 if c cannot
- * be interpreted properly in that base (i.e., is out of range,
- * is a null, etc.).
- *
- * @param c the character to interpret according to base
- * @param base the base in which to interpret c
- *
- * @return the value of c in base, or -1 if c isn't in range
- */
-static int get_char(char c, int base)
-{
-#ifndef NO_RANGE_TEST
- int value = -1;
- if(c <= '9' && c >= '0') {
- value = c - '0';
- }
- else if(c <= 'Z' && c >= 'A') {
- value = c - 'A' + 10;
- }
- else if(c <= 'z' && c >= 'a') {
- value = c - 'a' + 10;
- }
-#else
- const char * cp;
- int value;
-
- cp = memchr(valchars, c, 10 + 26 + 26);
-
- if(!cp)
- return -1;
-
- value = cp - valchars;
-
- if(value >= 10 + 26)
- value -= 26; /* Lowercase. */
-#endif
-
- if(value >= base) {
- value = -1;
- }
-
- return value;
-}
-#endif /* Only present if we need strtoll, but don't have it. */
diff --git a/Utilities/cmcurl-7.19.0/lib/strtoofft.h b/Utilities/cmcurl-7.19.0/lib/strtoofft.h
deleted file mode 100644
index 6d7a149..0000000
--- a/Utilities/cmcurl-7.19.0/lib/strtoofft.h
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef _CURL_STRTOOFFT_H
-#define _CURL_STRTOOFFT_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-/*
- * Determine which string to integral data type conversion function we use
- * to implement string conversion to our curl_off_t integral data type.
- *
- * Notice that curl_off_t might be 64 or 32 bit wide, and that it might use
- * an undelying data type which might be 'long', 'int64_t', 'long long' or
- * '__int64' and more remotely other data types.
- *
- * On systems where the size of curl_off_t is greater than the size of 'long'
- * the conversion funtion to use is strtoll() if it is available, otherwise,
- * we emulate its functionality with our own clone.
- *
- * On systems where the size of curl_off_t is smaller or equal than the size
- * of 'long' the conversion funtion to use is strtol().
- */
-
-#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG)
-# ifdef HAVE_STRTOLL
-# define curlx_strtoofft strtoll
-# else
-# if defined(_MSC_VER) && (_MSC_VER >= 1300) && (_INTEGRAL_MAX_BITS >= 64)
- _CRTIMP __int64 __cdecl _strtoi64(const char *, char **, int);
-# define curlx_strtoofft _strtoi64
-# else
- curl_off_t curlx_strtoll(const char *nptr, char **endptr, int base);
-# define curlx_strtoofft curlx_strtoll
-# define NEED_CURL_STRTOLL 1
-# endif
-# endif
-#else
-# define curlx_strtoofft strtol
-#endif
-
-#define CURL_LLONG_MAX CURL_OFF_T_C(0x7FFFFFFFFFFFFFFF)
-#define CURL_LLONG_MIN (-CURL_LLONG_MAX - CURL_OFF_T_C(1))
-
-#endif
-
diff --git a/Utilities/cmcurl-7.19.0/lib/telnet.c b/Utilities/cmcurl-7.19.0/lib/telnet.c
deleted file mode 100644
index c446589..0000000
--- a/Utilities/cmcurl-7.19.0/lib/telnet.c
+++ /dev/null
@@ -1,1460 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_TELNET
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#if defined(WIN32)
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#include <netinet/in.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <netdb.h>
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#include <sys/ioctl.h>
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#endif /* WIN32 */
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "transfer.h"
-#include "sendf.h"
-#include "telnet.h"
-#include "connect.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#define TELOPTS
-#define TELCMDS
-
-#include "arpa_telnet.h"
-#include "memory.h"
-#include "select.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#define SUBBUFSIZE 512
-
-#define CURL_SB_CLEAR(x) x->subpointer = x->subbuffer;
-#define CURL_SB_TERM(x) { x->subend = x->subpointer; CURL_SB_CLEAR(x); }
-#define CURL_SB_ACCUM(x,c) \
- if(x->subpointer < (x->subbuffer+sizeof x->subbuffer)) { \
- *x->subpointer++ = (c); \
- }
-
-#define CURL_SB_GET(x) ((*x->subpointer++)&0xff)
-#define CURL_SB_PEEK(x) ((*x->subpointer)&0xff)
-#define CURL_SB_EOF(x) (x->subpointer >= x->subend)
-#define CURL_SB_LEN(x) (x->subend - x->subpointer)
-
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define printoption(a,b,c,d) do { } while(0)
-#endif
-
-#ifdef USE_WINSOCK
-typedef FARPROC WSOCK2_FUNC;
-static CURLcode check_wsock2 ( struct SessionHandle *data );
-#endif
-
-static
-void telrcv(struct connectdata *,
- const unsigned char *inbuf, /* Data received from socket */
- ssize_t count); /* Number of bytes received */
-
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
-static void printoption(struct SessionHandle *data,
- const char *direction,
- int cmd, int option);
-#endif
-
-static void negotiate(struct connectdata *);
-static void send_negotiation(struct connectdata *, int cmd, int option);
-static void set_local_option(struct connectdata *, int cmd, int option);
-static void set_remote_option(struct connectdata *, int cmd, int option);
-
-static void printsub(struct SessionHandle *data,
- int direction, unsigned char *pointer,
- size_t length);
-static void suboption(struct connectdata *);
-
-static CURLcode telnet_do(struct connectdata *conn, bool *done);
-static CURLcode telnet_done(struct connectdata *conn,
- CURLcode, bool premature);
-
-/* For negotiation compliant to RFC 1143 */
-#define CURL_NO 0
-#define CURL_YES 1
-#define CURL_WANTYES 2
-#define CURL_WANTNO 3
-
-#define CURL_EMPTY 0
-#define CURL_OPPOSITE 1
-
-/*
- * Telnet receiver states for fsm
- */
-typedef enum
-{
- CURL_TS_DATA = 0,
- CURL_TS_IAC,
- CURL_TS_WILL,
- CURL_TS_WONT,
- CURL_TS_DO,
- CURL_TS_DONT,
- CURL_TS_CR,
- CURL_TS_SB, /* sub-option collection */
- CURL_TS_SE /* looking for sub-option end */
-} TelnetReceive;
-
-struct TELNET {
- int please_negotiate;
- int already_negotiated;
- int us[256];
- int usq[256];
- int us_preferred[256];
- int him[256];
- int himq[256];
- int him_preferred[256];
- char subopt_ttype[32]; /* Set with suboption TTYPE */
- char subopt_xdisploc[128]; /* Set with suboption XDISPLOC */
- struct curl_slist *telnet_vars; /* Environment variables */
-
- /* suboptions */
- unsigned char subbuffer[SUBBUFSIZE];
- unsigned char *subpointer, *subend; /* buffer for sub-options */
-
- TelnetReceive telrcv_state;
-};
-
-
-/*
- * TELNET protocol handler.
- */
-
-const struct Curl_handler Curl_handler_telnet = {
- "TELNET", /* scheme */
- ZERO_NULL, /* setup_connection */
- telnet_do, /* do_it */
- telnet_done, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_TELNET, /* defport */
- PROT_TELNET /* protocol */
-};
-
-
-#ifdef USE_WINSOCK
-static CURLcode
-check_wsock2 ( struct SessionHandle *data )
-{
- int err;
- WORD wVersionRequested;
- WSADATA wsaData;
-
- DEBUGASSERT(data);
-
- /* telnet requires at least WinSock 2.0 so ask for it. */
- wVersionRequested = MAKEWORD(2, 0);
-
- err = WSAStartup(wVersionRequested, &wsaData);
-
- /* We must've called this once already, so this call */
- /* should always succeed. But, just in case... */
- if(err != 0) {
- failf(data,"WSAStartup failed (%d)",err);
- return CURLE_FAILED_INIT;
- }
-
- /* We have to have a WSACleanup call for every successful */
- /* WSAStartup call. */
- WSACleanup();
-
- /* Check that our version is supported */
- if(LOBYTE(wsaData.wVersion) != LOBYTE(wVersionRequested) ||
- HIBYTE(wsaData.wVersion) != HIBYTE(wVersionRequested)) {
- /* Our version isn't supported */
- failf(data,"insufficient winsock version to support "
- "telnet");
- return CURLE_FAILED_INIT;
- }
-
- /* Our version is supported */
- return CURLE_OK;
-}
-#endif
-
-static
-CURLcode init_telnet(struct connectdata *conn)
-{
- struct TELNET *tn;
-
- tn = (struct TELNET *)calloc(1, sizeof(struct TELNET));
- if(!tn)
- return CURLE_OUT_OF_MEMORY;
-
- conn->data->state.proto.telnet = (void *)tn; /* make us known */
-
- tn->telrcv_state = CURL_TS_DATA;
-
- /* Init suboptions */
- CURL_SB_CLEAR(tn);
-
- /* Set the options we want by default */
- tn->us_preferred[CURL_TELOPT_BINARY] = CURL_YES;
- tn->us_preferred[CURL_TELOPT_SGA] = CURL_YES;
- tn->him_preferred[CURL_TELOPT_BINARY] = CURL_YES;
- tn->him_preferred[CURL_TELOPT_SGA] = CURL_YES;
-
- return CURLE_OK;
-}
-
-static void negotiate(struct connectdata *conn)
-{
- int i;
- struct TELNET *tn = (struct TELNET *) conn->data->state.proto.telnet;
-
- for(i = 0;i < CURL_NTELOPTS;i++)
- {
- if(tn->us_preferred[i] == CURL_YES)
- set_local_option(conn, i, CURL_YES);
-
- if(tn->him_preferred[i] == CURL_YES)
- set_remote_option(conn, i, CURL_YES);
- }
-}
-
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
-static void printoption(struct SessionHandle *data,
- const char *direction, int cmd, int option)
-{
- const char *fmt;
- const char *opt;
-
- if(data->set.verbose)
- {
- if(cmd == CURL_IAC)
- {
- if(CURL_TELCMD_OK(option))
- infof(data, "%s IAC %s\n", direction, CURL_TELCMD(option));
- else
- infof(data, "%s IAC %d\n", direction, option);
- }
- else
- {
- fmt = (cmd == CURL_WILL) ? "WILL" : (cmd == CURL_WONT) ? "WONT" :
- (cmd == CURL_DO) ? "DO" : (cmd == CURL_DONT) ? "DONT" : 0;
- if(fmt)
- {
- if(CURL_TELOPT_OK(option))
- opt = CURL_TELOPT(option);
- else if(option == CURL_TELOPT_EXOPL)
- opt = "EXOPL";
- else
- opt = NULL;
-
- if(opt)
- infof(data, "%s %s %s\n", direction, fmt, opt);
- else
- infof(data, "%s %s %d\n", direction, fmt, option);
- }
- else
- infof(data, "%s %d %d\n", direction, cmd, option);
- }
- }
-}
-#endif
-
-static void send_negotiation(struct connectdata *conn, int cmd, int option)
-{
- unsigned char buf[3];
- ssize_t bytes_written;
- int err;
- struct SessionHandle *data = conn->data;
-
- buf[0] = CURL_IAC;
- buf[1] = (unsigned char)cmd;
- buf[2] = (unsigned char)option;
-
- bytes_written = swrite(conn->sock[FIRSTSOCKET], buf, 3);
- if(bytes_written < 0) {
- err = SOCKERRNO;
- failf(data,"Sending data failed (%d)",err);
- }
-
- printoption(conn->data, "SENT", cmd, option);
-}
-
-static
-void set_remote_option(struct connectdata *conn, int option, int newstate)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- if(newstate == CURL_YES)
- {
- switch(tn->him[option])
- {
- case CURL_NO:
- tn->him[option] = CURL_WANTYES;
- send_negotiation(conn, CURL_DO, option);
- break;
-
- case CURL_YES:
- /* Already enabled */
- break;
-
- case CURL_WANTNO:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- /* Already negotiating for CURL_YES, queue the request */
- tn->himq[option] = CURL_OPPOSITE;
- break;
- case CURL_OPPOSITE:
- /* Error: already queued an enable request */
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- /* Error: already negotiating for enable */
- break;
- case CURL_OPPOSITE:
- tn->himq[option] = CURL_EMPTY;
- break;
- }
- break;
- }
- }
- else /* NO */
- {
- switch(tn->him[option])
- {
- case CURL_NO:
- /* Already disabled */
- break;
-
- case CURL_YES:
- tn->him[option] = CURL_WANTNO;
- send_negotiation(conn, CURL_DONT, option);
- break;
-
- case CURL_WANTNO:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- /* Already negotiating for NO */
- break;
- case CURL_OPPOSITE:
- tn->himq[option] = CURL_EMPTY;
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- tn->himq[option] = CURL_OPPOSITE;
- break;
- case CURL_OPPOSITE:
- break;
- }
- break;
- }
- }
-}
-
-static
-void rec_will(struct connectdata *conn, int option)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- switch(tn->him[option])
- {
- case CURL_NO:
- if(tn->him_preferred[option] == CURL_YES)
- {
- tn->him[option] = CURL_YES;
- send_negotiation(conn, CURL_DO, option);
- }
- else
- {
- send_negotiation(conn, CURL_DONT, option);
- }
- break;
-
- case CURL_YES:
- /* Already enabled */
- break;
-
- case CURL_WANTNO:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- /* Error: DONT answered by WILL */
- tn->him[option] = CURL_NO;
- break;
- case CURL_OPPOSITE:
- /* Error: DONT answered by WILL */
- tn->him[option] = CURL_YES;
- tn->himq[option] = CURL_EMPTY;
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- tn->him[option] = CURL_YES;
- break;
- case CURL_OPPOSITE:
- tn->him[option] = CURL_WANTNO;
- tn->himq[option] = CURL_EMPTY;
- send_negotiation(conn, CURL_DONT, option);
- break;
- }
- break;
- }
-}
-
-static
-void rec_wont(struct connectdata *conn, int option)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- switch(tn->him[option])
- {
- case CURL_NO:
- /* Already disabled */
- break;
-
- case CURL_YES:
- tn->him[option] = CURL_NO;
- send_negotiation(conn, CURL_DONT, option);
- break;
-
- case CURL_WANTNO:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- tn->him[option] = CURL_NO;
- break;
-
- case CURL_OPPOSITE:
- tn->him[option] = CURL_WANTYES;
- tn->himq[option] = CURL_EMPTY;
- send_negotiation(conn, CURL_DO, option);
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->himq[option])
- {
- case CURL_EMPTY:
- tn->him[option] = CURL_NO;
- break;
- case CURL_OPPOSITE:
- tn->him[option] = CURL_NO;
- tn->himq[option] = CURL_EMPTY;
- break;
- }
- break;
- }
-}
-
-static void
-set_local_option(struct connectdata *conn, int option, int newstate)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- if(newstate == CURL_YES)
- {
- switch(tn->us[option])
- {
- case CURL_NO:
- tn->us[option] = CURL_WANTYES;
- send_negotiation(conn, CURL_WILL, option);
- break;
-
- case CURL_YES:
- /* Already enabled */
- break;
-
- case CURL_WANTNO:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- /* Already negotiating for CURL_YES, queue the request */
- tn->usq[option] = CURL_OPPOSITE;
- break;
- case CURL_OPPOSITE:
- /* Error: already queued an enable request */
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- /* Error: already negotiating for enable */
- break;
- case CURL_OPPOSITE:
- tn->usq[option] = CURL_EMPTY;
- break;
- }
- break;
- }
- }
- else /* NO */
- {
- switch(tn->us[option])
- {
- case CURL_NO:
- /* Already disabled */
- break;
-
- case CURL_YES:
- tn->us[option] = CURL_WANTNO;
- send_negotiation(conn, CURL_WONT, option);
- break;
-
- case CURL_WANTNO:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- /* Already negotiating for NO */
- break;
- case CURL_OPPOSITE:
- tn->usq[option] = CURL_EMPTY;
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- tn->usq[option] = CURL_OPPOSITE;
- break;
- case CURL_OPPOSITE:
- break;
- }
- break;
- }
- }
-}
-
-static
-void rec_do(struct connectdata *conn, int option)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- switch(tn->us[option])
- {
- case CURL_NO:
- if(tn->us_preferred[option] == CURL_YES)
- {
- tn->us[option] = CURL_YES;
- send_negotiation(conn, CURL_WILL, option);
- }
- else
- {
- send_negotiation(conn, CURL_WONT, option);
- }
- break;
-
- case CURL_YES:
- /* Already enabled */
- break;
-
- case CURL_WANTNO:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- /* Error: DONT answered by WILL */
- tn->us[option] = CURL_NO;
- break;
- case CURL_OPPOSITE:
- /* Error: DONT answered by WILL */
- tn->us[option] = CURL_YES;
- tn->usq[option] = CURL_EMPTY;
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- tn->us[option] = CURL_YES;
- break;
- case CURL_OPPOSITE:
- tn->us[option] = CURL_WANTNO;
- tn->himq[option] = CURL_EMPTY;
- send_negotiation(conn, CURL_WONT, option);
- break;
- }
- break;
- }
-}
-
-static
-void rec_dont(struct connectdata *conn, int option)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- switch(tn->us[option])
- {
- case CURL_NO:
- /* Already disabled */
- break;
-
- case CURL_YES:
- tn->us[option] = CURL_NO;
- send_negotiation(conn, CURL_WONT, option);
- break;
-
- case CURL_WANTNO:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- tn->us[option] = CURL_NO;
- break;
-
- case CURL_OPPOSITE:
- tn->us[option] = CURL_WANTYES;
- tn->usq[option] = CURL_EMPTY;
- send_negotiation(conn, CURL_WILL, option);
- break;
- }
- break;
-
- case CURL_WANTYES:
- switch(tn->usq[option])
- {
- case CURL_EMPTY:
- tn->us[option] = CURL_NO;
- break;
- case CURL_OPPOSITE:
- tn->us[option] = CURL_NO;
- tn->usq[option] = CURL_EMPTY;
- break;
- }
- break;
- }
-}
-
-
-static void printsub(struct SessionHandle *data,
- int direction, /* '<' or '>' */
- unsigned char *pointer, /* where suboption data is */
- size_t length) /* length of suboption data */
-{
- unsigned int i = 0;
-
- if(data->set.verbose)
- {
- if(direction)
- {
- infof(data, "%s IAC SB ", (direction == '<')? "RCVD":"SENT");
- if(length >= 3)
- {
- int j;
-
- i = pointer[length-2];
- j = pointer[length-1];
-
- if(i != CURL_IAC || j != CURL_SE)
- {
- infof(data, "(terminated by ");
- if(CURL_TELOPT_OK(i))
- infof(data, "%s ", CURL_TELOPT(i));
- else if(CURL_TELCMD_OK(i))
- infof(data, "%s ", CURL_TELCMD(i));
- else
- infof(data, "%d ", i);
- if(CURL_TELOPT_OK(j))
- infof(data, "%s", CURL_TELOPT(j));
- else if(CURL_TELCMD_OK(j))
- infof(data, "%s", CURL_TELCMD(j));
- else
- infof(data, "%d", j);
- infof(data, ", not IAC SE!) ");
- }
- }
- length -= 2;
- }
- if(length < 1)
- {
- infof(data, "(Empty suboption?)");
- return;
- }
-
- if(CURL_TELOPT_OK(pointer[0])) {
- switch(pointer[0]) {
- case CURL_TELOPT_TTYPE:
- case CURL_TELOPT_XDISPLOC:
- case CURL_TELOPT_NEW_ENVIRON:
- infof(data, "%s", CURL_TELOPT(pointer[0]));
- break;
- default:
- infof(data, "%s (unsupported)", CURL_TELOPT(pointer[0]));
- break;
- }
- }
- else
- infof(data, "%d (unknown)", pointer[i]);
-
- switch(pointer[1]) {
- case CURL_TELQUAL_IS:
- infof(data, " IS");
- break;
- case CURL_TELQUAL_SEND:
- infof(data, " SEND");
- break;
- case CURL_TELQUAL_INFO:
- infof(data, " INFO/REPLY");
- break;
- case CURL_TELQUAL_NAME:
- infof(data, " NAME");
- break;
- }
-
- switch(pointer[0]) {
- case CURL_TELOPT_TTYPE:
- case CURL_TELOPT_XDISPLOC:
- pointer[length] = 0;
- infof(data, " \"%s\"", &pointer[2]);
- break;
- case CURL_TELOPT_NEW_ENVIRON:
- if(pointer[1] == CURL_TELQUAL_IS) {
- infof(data, " ");
- for(i = 3;i < length;i++) {
- switch(pointer[i]) {
- case CURL_NEW_ENV_VAR:
- infof(data, ", ");
- break;
- case CURL_NEW_ENV_VALUE:
- infof(data, " = ");
- break;
- default:
- infof(data, "%c", pointer[i]);
- break;
- }
- }
- }
- break;
- default:
- for (i = 2; i < length; i++)
- infof(data, " %.2x", pointer[i]);
- break;
- }
-
- if(direction)
- {
- infof(data, "\n");
- }
- }
-}
-
-static CURLcode check_telnet_options(struct connectdata *conn)
-{
- struct curl_slist *head;
- char option_keyword[128];
- char option_arg[256];
- char *buf;
- struct SessionHandle *data = conn->data;
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
-
- /* Add the user name as an environment variable if it
- was given on the command line */
- if(conn->bits.user_passwd)
- {
- snprintf(option_arg, sizeof(option_arg), "USER,%s", conn->user);
- tn->telnet_vars = curl_slist_append(tn->telnet_vars, option_arg);
-
- tn->us_preferred[CURL_TELOPT_NEW_ENVIRON] = CURL_YES;
- }
-
- for(head = data->set.telnet_options; head; head=head->next) {
- if(sscanf(head->data, "%127[^= ]%*[ =]%255s",
- option_keyword, option_arg) == 2) {
-
- /* Terminal type */
- if(curl_strequal(option_keyword, "TTYPE")) {
- strncpy(tn->subopt_ttype, option_arg, 31);
- tn->subopt_ttype[31] = 0; /* String termination */
- tn->us_preferred[CURL_TELOPT_TTYPE] = CURL_YES;
- continue;
- }
-
- /* Display variable */
- if(curl_strequal(option_keyword, "XDISPLOC")) {
- strncpy(tn->subopt_xdisploc, option_arg, 127);
- tn->subopt_xdisploc[127] = 0; /* String termination */
- tn->us_preferred[CURL_TELOPT_XDISPLOC] = CURL_YES;
- continue;
- }
-
- /* Environment variable */
- if(curl_strequal(option_keyword, "NEW_ENV")) {
- buf = strdup(option_arg);
- if(!buf)
- return CURLE_OUT_OF_MEMORY;
- tn->telnet_vars = curl_slist_append(tn->telnet_vars, buf);
- tn->us_preferred[CURL_TELOPT_NEW_ENVIRON] = CURL_YES;
- continue;
- }
-
- failf(data, "Unknown telnet option %s", head->data);
- return CURLE_UNKNOWN_TELNET_OPTION;
- } else {
- failf(data, "Syntax error in telnet option: %s", head->data);
- return CURLE_TELNET_OPTION_SYNTAX;
- }
- }
-
- return CURLE_OK;
-}
-
-/*
- * suboption()
- *
- * Look at the sub-option buffer, and try to be helpful to the other
- * side.
- */
-
-static void suboption(struct connectdata *conn)
-{
- struct curl_slist *v;
- unsigned char temp[2048];
- ssize_t bytes_written;
- size_t len;
- size_t tmplen;
- int err;
- char varname[128];
- char varval[128];
- struct SessionHandle *data = conn->data;
- struct TELNET *tn = (struct TELNET *)data->state.proto.telnet;
-
- printsub(data, '<', (unsigned char *)tn->subbuffer, CURL_SB_LEN(tn)+2);
- switch (CURL_SB_GET(tn)) {
- case CURL_TELOPT_TTYPE:
- len = strlen(tn->subopt_ttype) + 4 + 2;
- snprintf((char *)temp, sizeof(temp),
- "%c%c%c%c%s%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_TTYPE,
- CURL_TELQUAL_IS, tn->subopt_ttype, CURL_IAC, CURL_SE);
- bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len);
- if(bytes_written < 0) {
- err = SOCKERRNO;
- failf(data,"Sending data failed (%d)",err);
- }
- printsub(data, '>', &temp[2], len-2);
- break;
- case CURL_TELOPT_XDISPLOC:
- len = strlen(tn->subopt_xdisploc) + 4 + 2;
- snprintf((char *)temp, sizeof(temp),
- "%c%c%c%c%s%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_XDISPLOC,
- CURL_TELQUAL_IS, tn->subopt_xdisploc, CURL_IAC, CURL_SE);
- bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len);
- if(bytes_written < 0) {
- err = SOCKERRNO;
- failf(data,"Sending data failed (%d)",err);
- }
- printsub(data, '>', &temp[2], len-2);
- break;
- case CURL_TELOPT_NEW_ENVIRON:
- snprintf((char *)temp, sizeof(temp),
- "%c%c%c%c", CURL_IAC, CURL_SB, CURL_TELOPT_NEW_ENVIRON,
- CURL_TELQUAL_IS);
- len = 4;
-
- for(v = tn->telnet_vars;v;v = v->next) {
- tmplen = (strlen(v->data) + 1);
- /* Add the variable only if it fits */
- if(len + tmplen < (int)sizeof(temp)-6) {
- sscanf(v->data, "%127[^,],%127s", varname, varval);
- snprintf((char *)&temp[len], sizeof(temp) - len,
- "%c%s%c%s", CURL_NEW_ENV_VAR, varname,
- CURL_NEW_ENV_VALUE, varval);
- len += tmplen;
- }
- }
- snprintf((char *)&temp[len], sizeof(temp) - len,
- "%c%c", CURL_IAC, CURL_SE);
- len += 2;
- bytes_written = swrite(conn->sock[FIRSTSOCKET], temp, len);
- if(bytes_written < 0) {
- err = SOCKERRNO;
- failf(data,"Sending data failed (%d)",err);
- }
- printsub(data, '>', &temp[2], len-2);
- break;
- }
- return;
-}
-
-static
-void telrcv(struct connectdata *conn,
- const unsigned char *inbuf, /* Data received from socket */
- ssize_t count) /* Number of bytes received */
-{
- unsigned char c;
- int in = 0;
- int startwrite=-1;
- struct SessionHandle *data = conn->data;
- struct TELNET *tn = (struct TELNET *)data->state.proto.telnet;
-
-#define startskipping() \
- if(startwrite >= 0) \
- Curl_client_write(conn, CLIENTWRITE_BODY, (char *)&inbuf[startwrite], in-startwrite); \
- startwrite = -1
-
-#define writebyte() \
- if(startwrite < 0) \
- startwrite = in
-
-#define bufferflush() startskipping()
-
- while(count--)
- {
- c = inbuf[in];
-
- /*infof(data,"In rcv state %d char %d\n", tn->telrcv_state, c);*/
- switch (tn->telrcv_state)
- {
- case CURL_TS_CR:
- tn->telrcv_state = CURL_TS_DATA;
- if(c == '\0')
- {
- startskipping();
- break; /* Ignore \0 after CR */
- }
- writebyte();
- break;
-
- case CURL_TS_DATA:
- if(c == CURL_IAC)
- {
- tn->telrcv_state = CURL_TS_IAC;
- startskipping();
- break;
- }
- else if(c == '\r')
- {
- tn->telrcv_state = CURL_TS_CR;
- }
- writebyte();
- break;
-
- case CURL_TS_IAC:
- process_iac:
- DEBUGASSERT(startwrite < 0);
- switch (c)
- {
- case CURL_WILL:
- tn->telrcv_state = CURL_TS_WILL;
- break;
- case CURL_WONT:
- tn->telrcv_state = CURL_TS_WONT;
- break;
- case CURL_DO:
- tn->telrcv_state = CURL_TS_DO;
- break;
- case CURL_DONT:
- tn->telrcv_state = CURL_TS_DONT;
- break;
- case CURL_SB:
- CURL_SB_CLEAR(tn);
- tn->telrcv_state = CURL_TS_SB;
- break;
- case CURL_IAC:
- tn->telrcv_state = CURL_TS_DATA;
- writebyte();
- break;
- case CURL_DM:
- case CURL_NOP:
- case CURL_GA:
- default:
- tn->telrcv_state = CURL_TS_DATA;
- printoption(data, "RCVD", CURL_IAC, c);
- break;
- }
- break;
-
- case CURL_TS_WILL:
- printoption(data, "RCVD", CURL_WILL, c);
- tn->please_negotiate = 1;
- rec_will(conn, c);
- tn->telrcv_state = CURL_TS_DATA;
- break;
-
- case CURL_TS_WONT:
- printoption(data, "RCVD", CURL_WONT, c);
- tn->please_negotiate = 1;
- rec_wont(conn, c);
- tn->telrcv_state = CURL_TS_DATA;
- break;
-
- case CURL_TS_DO:
- printoption(data, "RCVD", CURL_DO, c);
- tn->please_negotiate = 1;
- rec_do(conn, c);
- tn->telrcv_state = CURL_TS_DATA;
- break;
-
- case CURL_TS_DONT:
- printoption(data, "RCVD", CURL_DONT, c);
- tn->please_negotiate = 1;
- rec_dont(conn, c);
- tn->telrcv_state = CURL_TS_DATA;
- break;
-
- case CURL_TS_SB:
- if(c == CURL_IAC)
- {
- tn->telrcv_state = CURL_TS_SE;
- }
- else
- {
- CURL_SB_ACCUM(tn,c);
- }
- break;
-
- case CURL_TS_SE:
- if(c != CURL_SE)
- {
- if(c != CURL_IAC)
- {
- /*
- * This is an error. We only expect to get "IAC IAC" or "IAC SE".
- * Several things may have happend. An IAC was not doubled, the
- * IAC SE was left off, or another option got inserted into the
- * suboption are all possibilities. If we assume that the IAC was
- * not doubled, and really the IAC SE was left off, we could get
- * into an infinate loop here. So, instead, we terminate the
- * suboption, and process the partial suboption if we can.
- */
- CURL_SB_ACCUM(tn, CURL_IAC);
- CURL_SB_ACCUM(tn, c);
- tn->subpointer -= 2;
- CURL_SB_TERM(tn);
-
- printoption(data, "In SUBOPTION processing, RCVD", CURL_IAC, c);
- suboption(conn); /* handle sub-option */
- tn->telrcv_state = CURL_TS_IAC;
- goto process_iac;
- }
- CURL_SB_ACCUM(tn,c);
- tn->telrcv_state = CURL_TS_SB;
- }
- else
- {
- CURL_SB_ACCUM(tn, CURL_IAC);
- CURL_SB_ACCUM(tn, CURL_SE);
- tn->subpointer -= 2;
- CURL_SB_TERM(tn);
- suboption(conn); /* handle sub-option */
- tn->telrcv_state = CURL_TS_DATA;
- }
- break;
- }
- ++in;
- }
- bufferflush();
-}
-
-/* Escape and send a telnet data block */
-/* TODO: write large chunks of data instead of one byte at a time */
-static CURLcode send_telnet_data(struct connectdata *conn,
- char *buffer, ssize_t nread)
-{
- unsigned char outbuf[2];
- ssize_t bytes_written, total_written;
- int out_count;
- CURLcode rc = CURLE_OK;
-
- while(rc == CURLE_OK && nread--) {
- outbuf[0] = *buffer++;
- out_count = 1;
- if(outbuf[0] == CURL_IAC)
- outbuf[out_count++] = CURL_IAC;
-
- total_written = 0;
- do {
- /* Make sure socket is writable to avoid EWOULDBLOCK condition */
- struct pollfd pfd[1];
- pfd[0].fd = conn->sock[FIRSTSOCKET];
- pfd[0].events = POLLOUT;
- switch (Curl_poll(pfd, 1, -1)) {
- case -1: /* error, abort writing */
- case 0: /* timeout (will never happen) */
- rc = CURLE_SEND_ERROR;
- break;
- default: /* write! */
- bytes_written = 0;
- rc = Curl_write(conn, conn->sock[FIRSTSOCKET], outbuf+total_written,
- out_count-total_written, &bytes_written);
- total_written += bytes_written;
- break;
- }
- /* handle partial write */
- } while (rc == CURLE_OK && total_written < out_count);
- }
- return rc;
-}
-
-static CURLcode telnet_done(struct connectdata *conn,
- CURLcode status, bool premature)
-{
- struct TELNET *tn = (struct TELNET *)conn->data->state.proto.telnet;
- (void)status; /* unused */
- (void)premature; /* not used */
-
- curl_slist_free_all(tn->telnet_vars);
-
- free(conn->data->state.proto.telnet);
- conn->data->state.proto.telnet = NULL;
-
- return CURLE_OK;
-}
-
-static CURLcode telnet_do(struct connectdata *conn, bool *done)
-{
- CURLcode code;
- struct SessionHandle *data = conn->data;
- curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
-#ifdef USE_WINSOCK
- HMODULE wsock2;
- WSOCK2_FUNC close_event_func;
- WSOCK2_FUNC create_event_func;
- WSOCK2_FUNC event_select_func;
- WSOCK2_FUNC enum_netevents_func;
- WSAEVENT event_handle;
- WSANETWORKEVENTS events;
- HANDLE stdin_handle;
- HANDLE objs[2];
- DWORD obj_count;
- DWORD wait_timeout;
- DWORD waitret;
- DWORD readfile_read;
-#else
- int interval_ms;
- struct pollfd pfd[2];
-#endif
- ssize_t nread;
- bool keepon = TRUE;
- char *buf = data->state.buffer;
- struct TELNET *tn;
-
- *done = TRUE; /* unconditionally */
-
- code = init_telnet(conn);
- if(code)
- return code;
-
- tn = (struct TELNET *)data->state.proto.telnet;
-
- code = check_telnet_options(conn);
- if(code)
- return code;
-
-#ifdef USE_WINSOCK
- /*
- ** This functionality only works with WinSock >= 2.0. So,
- ** make sure have it.
- */
- code = check_wsock2(data);
- if(code)
- return code;
-
- /* OK, so we have WinSock 2.0. We need to dynamically */
- /* load ws2_32.dll and get the function pointers we need. */
- wsock2 = LoadLibrary("WS2_32.DLL");
- if(wsock2 == NULL) {
- failf(data,"failed to load WS2_32.DLL (%d)", ERRNO);
- return CURLE_FAILED_INIT;
- }
-
- /* Grab a pointer to WSACreateEvent */
- create_event_func = GetProcAddress(wsock2,"WSACreateEvent");
- if(create_event_func == NULL) {
- failf(data,"failed to find WSACreateEvent function (%d)",
- ERRNO);
- FreeLibrary(wsock2);
- return CURLE_FAILED_INIT;
- }
-
- /* And WSACloseEvent */
- close_event_func = GetProcAddress(wsock2,"WSACloseEvent");
- if(close_event_func == NULL) {
- failf(data,"failed to find WSACloseEvent function (%d)",
- ERRNO);
- FreeLibrary(wsock2);
- return CURLE_FAILED_INIT;
- }
-
- /* And WSAEventSelect */
- event_select_func = GetProcAddress(wsock2,"WSAEventSelect");
- if(event_select_func == NULL) {
- failf(data,"failed to find WSAEventSelect function (%d)",
- ERRNO);
- FreeLibrary(wsock2);
- return CURLE_FAILED_INIT;
- }
-
- /* And WSAEnumNetworkEvents */
- enum_netevents_func = GetProcAddress(wsock2,"WSAEnumNetworkEvents");
- if(enum_netevents_func == NULL) {
- failf(data,"failed to find WSAEnumNetworkEvents function (%d)",
- ERRNO);
- FreeLibrary(wsock2);
- return CURLE_FAILED_INIT;
- }
-
- /* We want to wait for both stdin and the socket. Since
- ** the select() function in winsock only works on sockets
- ** we have to use the WaitForMultipleObjects() call.
- */
-
- /* First, create a sockets event object */
- event_handle = (WSAEVENT)create_event_func();
- if(event_handle == WSA_INVALID_EVENT) {
- failf(data,"WSACreateEvent failed (%d)", SOCKERRNO);
- FreeLibrary(wsock2);
- return CURLE_FAILED_INIT;
- }
-
- /* The get the Windows file handle for stdin */
- stdin_handle = GetStdHandle(STD_INPUT_HANDLE);
-
- /* Create the list of objects to wait for */
- objs[0] = event_handle;
- objs[1] = stdin_handle;
-
- /* Tell winsock what events we want to listen to */
- if(event_select_func(sockfd, event_handle, FD_READ|FD_CLOSE) == SOCKET_ERROR) {
- close_event_func(event_handle);
- FreeLibrary(wsock2);
- return 0;
- }
-
- /* If stdin_handle is a pipe, use PeekNamedPipe() method to check it,
- else use the old WaitForMultipleObjects() way */
- if(GetFileType(stdin_handle) == FILE_TYPE_PIPE) {
- /* Don't wait for stdin_handle, just wait for event_handle */
- obj_count = 1;
- /* Check stdin_handle per 100 milliseconds */
- wait_timeout = 100;
- } else {
- obj_count = 2;
- wait_timeout = INFINITE;
- }
-
- /* Keep on listening and act on events */
- while(keepon) {
- waitret = WaitForMultipleObjects(obj_count, objs, FALSE, wait_timeout);
- switch(waitret) {
- case WAIT_TIMEOUT:
- {
- while(1) {
- if(!PeekNamedPipe(stdin_handle, NULL, 0, NULL, &readfile_read, NULL)) {
- keepon = FALSE;
- code = CURLE_READ_ERROR;
- break;
- }
-
- if(!readfile_read)
- break;
-
- if(!ReadFile(stdin_handle, buf, sizeof(data->state.buffer),
- &readfile_read, NULL)) {
- keepon = FALSE;
- code = CURLE_READ_ERROR;
- break;
- }
-
- code = send_telnet_data(conn, buf, readfile_read);
- if(code) {
- keepon = FALSE;
- break;
- }
- }
- }
- break;
-
- case WAIT_OBJECT_0 + 1:
- {
- if(!ReadFile(stdin_handle, buf, sizeof(data->state.buffer),
- &readfile_read, NULL)) {
- keepon = FALSE;
- code = CURLE_READ_ERROR;
- break;
- }
-
- code = send_telnet_data(conn, buf, readfile_read);
- if(code) {
- keepon = FALSE;
- break;
- }
- }
- break;
-
- case WAIT_OBJECT_0:
- if(enum_netevents_func(sockfd, event_handle, &events)
- != SOCKET_ERROR) {
- if(events.lNetworkEvents & FD_READ) {
- /* This reallu OUGHT to check its return code. */
- (void)Curl_read(conn, sockfd, buf, BUFSIZE - 1, &nread);
-
- telrcv(conn, (unsigned char *)buf, nread);
-
- fflush(stdout);
-
- /* Negotiate if the peer has started negotiating,
- otherwise don't. We don't want to speak telnet with
- non-telnet servers, like POP or SMTP. */
- if(tn->please_negotiate && !tn->already_negotiated) {
- negotiate(conn);
- tn->already_negotiated = 1;
- }
- }
-
- if(events.lNetworkEvents & FD_CLOSE) {
- keepon = FALSE;
- }
- }
- break;
- }
- }
-
- /* We called WSACreateEvent, so call WSACloseEvent */
- if(close_event_func(event_handle) == FALSE) {
- infof(data,"WSACloseEvent failed (%d)", SOCKERRNO);
- }
-
- /* "Forget" pointers into the library we're about to free */
- create_event_func = NULL;
- close_event_func = NULL;
- event_select_func = NULL;
- enum_netevents_func = NULL;
-
- /* We called LoadLibrary, so call FreeLibrary */
- if(!FreeLibrary(wsock2))
- infof(data,"FreeLibrary(wsock2) failed (%d)", ERRNO);
-#else
- pfd[0].fd = sockfd;
- pfd[0].events = POLLIN;
- pfd[1].fd = 0;
- pfd[1].events = POLLIN;
- interval_ms = 1 * 1000;
-
- while(keepon) {
- switch (Curl_poll(pfd, 2, interval_ms)) {
- case -1: /* error, stop reading */
- keepon = FALSE;
- continue;
- case 0: /* timeout */
- break;
- default: /* read! */
- if(pfd[1].revents & POLLIN) { /* read from stdin */
- nread = read(0, buf, 255);
- code = send_telnet_data(conn, buf, nread);
- if(code) {
- keepon = FALSE;
- break;
- }
- }
-
- if(pfd[0].revents & POLLIN) {
- /* This OUGHT to check the return code... */
- (void)Curl_read(conn, sockfd, buf, BUFSIZE - 1, &nread);
-
- /* if we receive 0 or less here, the server closed the connection and
- we bail out from this! */
- if(nread <= 0) {
- keepon = FALSE;
- break;
- }
-
- telrcv(conn, (unsigned char *)buf, nread);
-
- /* Negotiate if the peer has started negotiating,
- otherwise don't. We don't want to speak telnet with
- non-telnet servers, like POP or SMTP. */
- if(tn->please_negotiate && !tn->already_negotiated) {
- negotiate(conn);
- tn->already_negotiated = 1;
- }
- }
- }
- if(data->set.timeout) {
- struct timeval now; /* current time */
- now = Curl_tvnow();
- if(Curl_tvdiff(now, conn->created) >= data->set.timeout) {
- failf(data, "Time-out");
- code = CURLE_OPERATION_TIMEDOUT;
- keepon = FALSE;
- }
- }
- }
-#endif
- /* mark this as "no further transfer wanted" */
- Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
-
- return code;
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/telnet.h b/Utilities/cmcurl-7.19.0/lib/telnet.h
deleted file mode 100644
index 44ec49b..0000000
--- a/Utilities/cmcurl-7.19.0/lib/telnet.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __TELNET_H
-#define __TELNET_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_TELNET
-extern const struct Curl_handler Curl_handler_telnet;
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/tftp.c b/Utilities/cmcurl-7.19.0/lib/tftp.c
deleted file mode 100644
index 46b0e06..0000000
--- a/Utilities/cmcurl-7.19.0/lib/tftp.c
+++ /dev/null
@@ -1,923 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifndef CURL_DISABLE_TFTP
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#if defined(WIN32)
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#include <netinet/in.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <netdb.h>
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#include <sys/ioctl.h>
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#endif /* WIN32 */
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "transfer.h"
-#include "sendf.h"
-#include "tftp.h"
-#include "progress.h"
-#include "connect.h"
-#include "strerror.h"
-#include "sockaddr.h" /* required for Curl_sockaddr_storage */
-#include "url.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "memory.h"
-#include "select.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-/* RFC2348 allows the block size to be negotiated, but we don't support that */
-#define TFTP_BLOCKSIZE 512
-
-typedef enum {
- TFTP_MODE_NETASCII=0,
- TFTP_MODE_OCTET
-} tftp_mode_t;
-
-typedef enum {
- TFTP_STATE_START=0,
- TFTP_STATE_RX,
- TFTP_STATE_TX,
- TFTP_STATE_FIN
-} tftp_state_t;
-
-typedef enum {
- TFTP_EVENT_INIT=0,
- TFTP_EVENT_RRQ = 1,
- TFTP_EVENT_WRQ = 2,
- TFTP_EVENT_DATA = 3,
- TFTP_EVENT_ACK = 4,
- TFTP_EVENT_ERROR = 5,
- TFTP_EVENT_TIMEOUT
-} tftp_event_t;
-
-typedef enum {
- TFTP_ERR_UNDEF=0,
- TFTP_ERR_NOTFOUND,
- TFTP_ERR_PERM,
- TFTP_ERR_DISKFULL,
- TFTP_ERR_ILLEGAL,
- TFTP_ERR_UNKNOWNID,
- TFTP_ERR_EXISTS,
- TFTP_ERR_NOSUCHUSER, /* This will never be triggered by this code */
-
- /* The remaining error codes are internal to curl */
- TFTP_ERR_NONE = -100,
- TFTP_ERR_TIMEOUT,
- TFTP_ERR_NORESPONSE
-} tftp_error_t;
-
-typedef struct tftp_packet {
- unsigned char data[2 + 2 + TFTP_BLOCKSIZE];
-} tftp_packet_t;
-
-typedef struct tftp_state_data {
- tftp_state_t state;
- tftp_mode_t mode;
- tftp_error_t error;
- struct connectdata *conn;
- curl_socket_t sockfd;
- int retries;
- int retry_time;
- int retry_max;
- time_t start_time;
- time_t max_time;
- unsigned short block;
- struct Curl_sockaddr_storage local_addr;
- struct Curl_sockaddr_storage remote_addr;
- socklen_t remote_addrlen;
- ssize_t rbytes;
- int sbytes;
- tftp_packet_t rpacket;
- tftp_packet_t spacket;
-} tftp_state_data_t;
-
-
-/* Forward declarations */
-static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event) ;
-static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event) ;
-static CURLcode tftp_connect(struct connectdata *conn, bool *done);
-static CURLcode tftp_do(struct connectdata *conn, bool *done);
-static CURLcode tftp_done(struct connectdata *conn,
- CURLcode, bool premature);
-static CURLcode tftp_setup_connection(struct connectdata * conn);
-
-
-/*
- * TFTP protocol handler.
- */
-
-const struct Curl_handler Curl_handler_tftp = {
- "TFTP", /* scheme */
- tftp_setup_connection, /* setup_connection */
- tftp_do, /* do_it */
- tftp_done, /* done */
- ZERO_NULL, /* do_more */
- tftp_connect, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- PORT_TFTP, /* defport */
- PROT_TFTP /* protocol */
-};
-
-
-/**********************************************************
- *
- * tftp_set_timeouts -
- *
- * Set timeouts based on state machine state.
- * Use user provided connect timeouts until DATA or ACK
- * packet is received, then use user-provided transfer timeouts
- *
- *
- **********************************************************/
-static CURLcode tftp_set_timeouts(tftp_state_data_t *state)
-{
- time_t maxtime, timeout;
- long timeout_ms;
-
- time(&state->start_time);
-
- /* Compute drop-dead time */
- timeout_ms = Curl_timeleft(state->conn, NULL, TRUE);
-
- if(timeout_ms < 0) {
- /* time-out, bail out, go home */
- failf(state->conn->data, "Connection time-out");
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- if(state->state == TFTP_STATE_START) {
-
- maxtime = (time_t)(timeout_ms + 500) / 1000;
- state->max_time = state->start_time+maxtime;
-
- /* Set per-block timeout to total */
- timeout = maxtime ;
-
- /* Average restart after 5 seconds */
- state->retry_max = (int)timeout/5;
-
- if(state->retry_max < 1)
- /* avoid division by zero below */
- state->retry_max = 1;
-
- /* Compute the re-start interval to suit the timeout */
- state->retry_time = (int)timeout/state->retry_max;
- if(state->retry_time<1)
- state->retry_time=1;
-
- }
- else {
- if(timeout_ms > 0)
- maxtime = (time_t)(timeout_ms + 500) / 1000;
- else
- maxtime = 3600;
-
- state->max_time = state->start_time+maxtime;
-
- /* Set per-block timeout to 10% of total */
- timeout = maxtime/10 ;
-
- /* Average reposting an ACK after 15 seconds */
- state->retry_max = (int)timeout/15;
- }
- /* But bound the total number */
- if(state->retry_max<3)
- state->retry_max=3;
-
- if(state->retry_max>50)
- state->retry_max=50;
-
- /* Compute the re-ACK interval to suit the timeout */
- state->retry_time = (int)timeout/state->retry_max;
- if(state->retry_time<1)
- state->retry_time=1;
-
- infof(state->conn->data,
- "set timeouts for state %d; Total %d, retry %d maxtry %d\n",
- state->state, (state->max_time-state->start_time),
- state->retry_time, state->retry_max);
-
- return CURLE_OK;
-}
-
-/**********************************************************
- *
- * tftp_set_send_first
- *
- * Event handler for the START state
- *
- **********************************************************/
-
-static void setpacketevent(tftp_packet_t *packet, unsigned short num)
-{
- packet->data[0] = (unsigned char)(num >> 8);
- packet->data[1] = (unsigned char)(num & 0xff);
-}
-
-
-static void setpacketblock(tftp_packet_t *packet, unsigned short num)
-{
- packet->data[2] = (unsigned char)(num >> 8);
- packet->data[3] = (unsigned char)(num & 0xff);
-}
-
-static unsigned short getrpacketevent(const tftp_packet_t *packet)
-{
- return (unsigned short)((packet->data[0] << 8) | packet->data[1]);
-}
-
-static unsigned short getrpacketblock(const tftp_packet_t *packet)
-{
- return (unsigned short)((packet->data[2] << 8) | packet->data[3]);
-}
-
-static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
-{
- int sbytes;
- const char *mode = "octet";
- char *filename;
- struct SessionHandle *data = state->conn->data;
- CURLcode res = CURLE_OK;
-
- /* Set ascii mode if -B flag was used */
- if(data->set.prefer_ascii)
- mode = "netascii";
-
- switch(event) {
-
- case TFTP_EVENT_INIT: /* Send the first packet out */
- case TFTP_EVENT_TIMEOUT: /* Resend the first packet out */
- /* Increment the retry counter, quit if over the limit */
- state->retries++;
- if(state->retries>state->retry_max) {
- state->error = TFTP_ERR_NORESPONSE;
- state->state = TFTP_STATE_FIN;
- return res;
- }
-
- if(data->set.upload) {
- /* If we are uploading, send an WRQ */
- setpacketevent(&state->spacket, TFTP_EVENT_WRQ);
- state->conn->data->req.upload_fromhere =
- (char *)&state->spacket.data[4];
- if(data->set.infilesize != -1)
- Curl_pgrsSetUploadSize(data, data->set.infilesize);
- }
- else {
- /* If we are downloading, send an RRQ */
- setpacketevent(&state->spacket, TFTP_EVENT_RRQ);
- }
- /* As RFC3617 describes the separator slash is not actually part of the
- file name so we skip the always-present first letter of the path string. */
- filename = curl_easy_unescape(data, &state->conn->data->state.path[1], 0,
- NULL);
- if(!filename)
- return CURLE_OUT_OF_MEMORY;
-
- snprintf((char *)&state->spacket.data[2],
- TFTP_BLOCKSIZE,
- "%s%c%s%c", filename, '\0', mode, '\0');
- sbytes = 4 + (int)strlen(filename) + (int)strlen(mode);
- sbytes = sendto(state->sockfd, (void *)&state->spacket,
- sbytes, 0,
- state->conn->ip_addr->ai_addr,
- state->conn->ip_addr->ai_addrlen);
- if(sbytes < 0) {
- failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
- }
- Curl_safefree(filename);
- break;
-
- case TFTP_EVENT_ACK: /* Connected for transmit */
- infof(data, "%s\n", "Connected for transmit");
- state->state = TFTP_STATE_TX;
- res = tftp_set_timeouts(state);
- if(res)
- break;
- return tftp_tx(state, event);
-
- case TFTP_EVENT_DATA: /* connected for receive */
- infof(data, "%s\n", "Connected for receive");
- state->state = TFTP_STATE_RX;
- res = tftp_set_timeouts(state);
- if(res)
- break;
- return tftp_rx(state, event);
-
- case TFTP_EVENT_ERROR:
- state->state = TFTP_STATE_FIN;
- break;
-
- default:
- failf(state->conn->data, "tftp_send_first: internal error");
- break;
- }
- return res;
-}
-
-/**********************************************************
- *
- * tftp_rx
- *
- * Event handler for the RX state
- *
- **********************************************************/
-static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
-{
- int sbytes;
- int rblock;
- struct SessionHandle *data = state->conn->data;
-
- switch(event) {
-
- case TFTP_EVENT_DATA:
-
- /* Is this the block we expect? */
- rblock = getrpacketblock(&state->rpacket);
- if((state->block+1) != rblock) {
- /* No, log it, up the retry count and fail if over the limit */
- infof(data,
- "Received unexpected DATA packet block %d\n", rblock);
- state->retries++;
- if(state->retries>state->retry_max) {
- failf(data, "tftp_rx: giving up waiting for block %d",
- state->block+1);
- return CURLE_TFTP_ILLEGAL;
- }
- }
- /* This is the expected block. Reset counters and ACK it. */
- state->block = (unsigned short)rblock;
- state->retries = 0;
- setpacketevent(&state->spacket, TFTP_EVENT_ACK);
- setpacketblock(&state->spacket, state->block);
- sbytes = sendto(state->sockfd, (void *)state->spacket.data,
- 4, SEND_4TH_ARG,
- (struct sockaddr *)&state->remote_addr,
- state->remote_addrlen);
- if(sbytes < 0) {
- failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
- return CURLE_SEND_ERROR;
- }
-
- /* Check if completed (That is, a less than full packet is received) */
- if(state->rbytes < (ssize_t)sizeof(state->spacket)){
- state->state = TFTP_STATE_FIN;
- }
- else {
- state->state = TFTP_STATE_RX;
- }
- break;
-
- case TFTP_EVENT_TIMEOUT:
- /* Increment the retry count and fail if over the limit */
- state->retries++;
- infof(data,
- "Timeout waiting for block %d ACK. Retries = %d\n", state->retries);
- if(state->retries > state->retry_max) {
- state->error = TFTP_ERR_TIMEOUT;
- state->state = TFTP_STATE_FIN;
- }
- else {
- /* Resend the previous ACK */
- sbytes = sendto(state->sockfd, (void *)&state->spacket,
- 4, SEND_4TH_ARG,
- (struct sockaddr *)&state->remote_addr,
- state->remote_addrlen);
- /* Check all sbytes were sent */
- if(sbytes<0) {
- failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
- return CURLE_SEND_ERROR;
- }
- }
- break;
-
- case TFTP_EVENT_ERROR:
- state->state = TFTP_STATE_FIN;
- break;
-
- default:
- failf(data, "%s", "tftp_rx: internal error");
- return CURLE_TFTP_ILLEGAL; /* not really the perfect return code for
- this */
- }
- return CURLE_OK;
-}
-
-/**********************************************************
- *
- * tftp_tx
- *
- * Event handler for the TX state
- *
- **********************************************************/
-static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
-{
- struct SessionHandle *data = state->conn->data;
- int sbytes;
- int rblock;
- CURLcode res = CURLE_OK;
- struct SingleRequest *k = &data->req;
-
- switch(event) {
-
- case TFTP_EVENT_ACK:
- /* Ack the packet */
- rblock = getrpacketblock(&state->rpacket);
-
- if(rblock != state->block) {
- /* This isn't the expected block. Log it and up the retry counter */
- infof(data, "Received ACK for block %d, expecting %d\n",
- rblock, state->block);
- state->retries++;
- /* Bail out if over the maximum */
- if(state->retries>state->retry_max) {
- failf(data, "tftp_tx: giving up waiting for block %d ack",
- state->block);
- res = CURLE_SEND_ERROR;
- }
- else {
- /* Re-send the data packet */
- sbytes = sendto(state->sockfd, (void *)&state->spacket,
- 4+state->sbytes, SEND_4TH_ARG,
- (struct sockaddr *)&state->remote_addr,
- state->remote_addrlen);
- /* Check all sbytes were sent */
- if(sbytes<0) {
- failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
- res = CURLE_SEND_ERROR;
- }
- }
- return res;
- }
- /* This is the expected packet. Reset the counters and send the next
- block */
- state->block++;
- state->retries = 0;
- setpacketevent(&state->spacket, TFTP_EVENT_DATA);
- setpacketblock(&state->spacket, state->block);
- if(state->block > 1 && state->sbytes < TFTP_BLOCKSIZE) {
- state->state = TFTP_STATE_FIN;
- return CURLE_OK;
- }
- res = Curl_fillreadbuffer(state->conn, TFTP_BLOCKSIZE, &state->sbytes);
- if(res)
- return res;
- sbytes = sendto(state->sockfd, (void *)state->spacket.data,
- 4+state->sbytes, SEND_4TH_ARG,
- (struct sockaddr *)&state->remote_addr,
- state->remote_addrlen);
- /* Check all sbytes were sent */
- if(sbytes<0) {
- failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
- return CURLE_SEND_ERROR;
- }
- /* Update the progress meter */
- k->writebytecount += state->sbytes;
- Curl_pgrsSetUploadCounter(data, k->writebytecount);
- break;
-
- case TFTP_EVENT_TIMEOUT:
- /* Increment the retry counter and log the timeout */
- state->retries++;
- infof(data, "Timeout waiting for block %d ACK. "
- " Retries = %d\n", state->retries);
- /* Decide if we've had enough */
- if(state->retries > state->retry_max) {
- state->error = TFTP_ERR_TIMEOUT;
- state->state = TFTP_STATE_FIN;
- }
- else {
- /* Re-send the data packet */
- sbytes = sendto(state->sockfd, (void *)&state->spacket,
- 4+state->sbytes, SEND_4TH_ARG,
- (struct sockaddr *)&state->remote_addr,
- state->remote_addrlen);
- /* Check all sbytes were sent */
- if(sbytes<0) {
- failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
- return CURLE_SEND_ERROR;
- }
- /* since this was a re-send, we remain at the still byte position */
- Curl_pgrsSetUploadCounter(data, k->writebytecount);
- }
- break;
-
- case TFTP_EVENT_ERROR:
- state->state = TFTP_STATE_FIN;
- break;
-
- default:
- failf(data, "%s", "tftp_tx: internal error");
- break;
- }
-
- return res;
-}
-
-/**********************************************************
- *
- * tftp_state_machine
- *
- * The tftp state machine event dispatcher
- *
- **********************************************************/
-static CURLcode tftp_state_machine(tftp_state_data_t *state,
- tftp_event_t event)
-{
- CURLcode res = CURLE_OK;
- struct SessionHandle *data = state->conn->data;
- switch(state->state) {
- case TFTP_STATE_START:
- DEBUGF(infof(data, "TFTP_STATE_START\n"));
- res = tftp_send_first(state, event);
- break;
- case TFTP_STATE_RX:
- DEBUGF(infof(data, "TFTP_STATE_RX\n"));
- res = tftp_rx(state, event);
- break;
- case TFTP_STATE_TX:
- DEBUGF(infof(data, "TFTP_STATE_TX\n"));
- res = tftp_tx(state, event);
- break;
- case TFTP_STATE_FIN:
- infof(data, "%s\n", "TFTP finished");
- break;
- default:
- DEBUGF(infof(data, "STATE: %d\n", state->state));
- failf(data, "%s", "Internal state machine error");
- res = CURLE_TFTP_ILLEGAL;
- break;
- }
- return res;
-}
-
-
-/**********************************************************
- *
- * tftp_connect
- *
- * The connect callback
- *
- **********************************************************/
-static CURLcode tftp_connect(struct connectdata *conn, bool *done)
-{
- CURLcode code;
- tftp_state_data_t *state;
- int rc;
-
- /* If there already is a protocol-specific struct allocated for this
- sessionhandle, deal with it */
- Curl_reset_reqproto(conn);
-
- state = conn->data->state.proto.tftp;
- if(!state) {
- state = conn->data->state.proto.tftp = calloc(sizeof(tftp_state_data_t),
- 1);
- if(!state)
- return CURLE_OUT_OF_MEMORY;
- }
-
- conn->bits.close = FALSE; /* keep it open if possible */
-
- state->conn = conn;
- state->sockfd = state->conn->sock[FIRSTSOCKET];
- state->state = TFTP_STATE_START;
- state->error = TFTP_ERR_NONE;
-
- ((struct sockaddr *)&state->local_addr)->sa_family =
- (unsigned short)(conn->ip_addr->ai_family);
-
- tftp_set_timeouts(state);
-
- if(!conn->bits.bound) {
- /* If not already bound, bind to any interface, random UDP port. If it is
- * reused or a custom local port was desired, this has already been done!
- *
- * We once used the size of the local_addr struct as the third argument for
- * bind() to better work with IPv6 or whatever size the struct could have,
- * but we learned that at least Tru64, AIX and IRIX *requires* the size of
- * that argument to match the exact size of a 'sockaddr_in' struct when
- * running IPv4-only.
- *
- * Therefore we use the size from the address we connected to, which we
- * assume uses the same IP version and thus hopefully this works for both
- * IPv4 and IPv6...
- */
- rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
- conn->ip_addr->ai_addrlen);
- if(rc) {
- failf(conn->data, "bind() failed; %s",
- Curl_strerror(conn, SOCKERRNO));
- return CURLE_COULDNT_CONNECT;
- }
- conn->bits.bound = TRUE;
- }
-
- Curl_pgrsStartNow(conn->data);
-
- *done = TRUE;
- code = CURLE_OK;
- return(code);
-}
-
-/**********************************************************
- *
- * tftp_done
- *
- * The done callback
- *
- **********************************************************/
-static CURLcode tftp_done(struct connectdata *conn, CURLcode status,
- bool premature)
-{
- (void)status; /* unused */
- (void)premature; /* not used */
-
- Curl_pgrsDone(conn);
-
- return CURLE_OK;
-}
-
-
-/**********************************************************
- *
- * tftp
- *
- * The do callback
- *
- * This callback handles the entire TFTP transfer
- *
- **********************************************************/
-
-static CURLcode tftp_do(struct connectdata *conn, bool *done)
-{
- struct SessionHandle *data = conn->data;
- tftp_state_data_t *state;
- tftp_event_t event;
- CURLcode code;
- int rc;
- struct Curl_sockaddr_storage fromaddr;
- socklen_t fromlen;
- int check_time = 0;
- struct SingleRequest *k = &data->req;
-
- *done = TRUE;
-
- /*
- Since connections can be re-used between SessionHandles, this might be a
- connection already existing but on a fresh SessionHandle struct so we must
- make sure we have a good 'struct TFTP' to play with. For new connections,
- the struct TFTP is allocated and setup in the tftp_connect() function.
- */
- Curl_reset_reqproto(conn);
-
- if(!data->state.proto.tftp) {
- code = tftp_connect(conn, done);
- if(code)
- return code;
- }
- state = (tftp_state_data_t *)data->state.proto.tftp;
-
- /* Run the TFTP State Machine */
- for(code=tftp_state_machine(state, TFTP_EVENT_INIT);
- (state->state != TFTP_STATE_FIN) && (code == CURLE_OK);
- code=tftp_state_machine(state, event) ) {
-
- /* Wait until ready to read or timeout occurs */
- rc=Curl_socket_ready(state->sockfd, CURL_SOCKET_BAD,
- state->retry_time * 1000);
-
- if(rc == -1) {
- /* bail out */
- int error = SOCKERRNO;
- failf(data, "%s", Curl_strerror(conn, error));
- event = TFTP_EVENT_ERROR;
- }
- else if(rc==0) {
- /* A timeout occured */
- event = TFTP_EVENT_TIMEOUT;
-
- /* Force a look at transfer timeouts */
- check_time = 0;
-
- }
- else {
-
- /* Receive the packet */
- fromlen = sizeof(fromaddr);
- state->rbytes = (ssize_t)recvfrom(state->sockfd,
- (void *)&state->rpacket,
- sizeof(state->rpacket),
- 0,
- (struct sockaddr *)&fromaddr,
- &fromlen);
- if(state->remote_addrlen==0) {
- memcpy(&state->remote_addr, &fromaddr, fromlen);
- state->remote_addrlen = fromlen;
- }
-
- /* Sanity check packet length */
- if(state->rbytes < 4) {
- failf(data, "Received too short packet");
- /* Not a timeout, but how best to handle it? */
- event = TFTP_EVENT_TIMEOUT;
- }
- else {
-
- /* The event is given by the TFTP packet time */
- event = (tftp_event_t)getrpacketevent(&state->rpacket);
-
- switch(event) {
- case TFTP_EVENT_DATA:
- /* Don't pass to the client empty or retransmitted packets */
- if(state->rbytes > 4 &&
- ((state->block+1) == getrpacketblock(&state->rpacket))) {
- code = Curl_client_write(conn, CLIENTWRITE_BODY,
- (char *)&state->rpacket.data[4],
- state->rbytes-4);
- if(code)
- return code;
- k->bytecount += state->rbytes-4;
- Curl_pgrsSetDownloadCounter(data, (curl_off_t) k->bytecount);
- }
- break;
- case TFTP_EVENT_ERROR:
- state->error = (tftp_error_t)getrpacketblock(&state->rpacket);
- infof(data, "%s\n", (char *)&state->rpacket.data[4]);
- break;
- case TFTP_EVENT_ACK:
- break;
- case TFTP_EVENT_RRQ:
- case TFTP_EVENT_WRQ:
- default:
- failf(data, "%s", "Internal error: Unexpected packet");
- break;
- }
-
- /* Update the progress meter */
- if(Curl_pgrsUpdate(conn))
- return CURLE_ABORTED_BY_CALLBACK;
- }
- }
-
- /* Check for transfer timeout every 10 blocks, or after timeout */
- if(check_time%10==0) {
- time_t current;
- time(&current);
- if(current>state->max_time) {
- DEBUGF(infof(data, "timeout: %d > %d\n",
- current, state->max_time));
- state->error = TFTP_ERR_TIMEOUT;
- state->state = TFTP_STATE_FIN;
- }
- }
-
- }
- if(code)
- return code;
-
- /* Tell curl we're done */
- code = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
- if(code)
- return code;
-
- /* If we have encountered an error */
- if(state->error != TFTP_ERR_NONE) {
-
- /* Translate internal error codes to curl error codes */
- switch(state->error) {
- case TFTP_ERR_NOTFOUND:
- code = CURLE_TFTP_NOTFOUND;
- break;
- case TFTP_ERR_PERM:
- code = CURLE_TFTP_PERM;
- break;
- case TFTP_ERR_DISKFULL:
- code = CURLE_REMOTE_DISK_FULL;
- break;
- case TFTP_ERR_UNDEF:
- case TFTP_ERR_ILLEGAL:
- code = CURLE_TFTP_ILLEGAL;
- break;
- case TFTP_ERR_UNKNOWNID:
- code = CURLE_TFTP_UNKNOWNID;
- break;
- case TFTP_ERR_EXISTS:
- code = CURLE_REMOTE_FILE_EXISTS;
- break;
- case TFTP_ERR_NOSUCHUSER:
- code = CURLE_TFTP_NOSUCHUSER;
- break;
- case TFTP_ERR_TIMEOUT:
- code = CURLE_OPERATION_TIMEDOUT;
- break;
- case TFTP_ERR_NORESPONSE:
- code = CURLE_COULDNT_CONNECT;
- break;
- default:
- code= CURLE_ABORTED_BY_CALLBACK;
- break;
- }
- }
- else
- code = CURLE_OK;
- return code;
-}
-
-static CURLcode tftp_setup_connection(struct connectdata * conn)
-{
- struct SessionHandle *data = conn->data;
- char * type;
- char command;
-
- conn->socktype = SOCK_DGRAM; /* UDP datagram based */
-
- /* TFTP URLs support an extension like ";mode=<typecode>" that
- * we'll try to get now! */
- type = strstr(data->state.path, ";mode=");
-
- if(!type)
- type = strstr(conn->host.rawalloc, ";mode=");
-
- if(type) {
- *type = 0; /* it was in the middle of the hostname */
- command = (char) toupper((int) type[6]);
-
- switch (command) {
- case 'A': /* ASCII mode */
- case 'N': /* NETASCII mode */
- data->set.prefer_ascii = TRUE;
- break;
-
- case 'O': /* octet mode */
- case 'I': /* binary mode */
- default:
- /* switch off ASCII */
- data->set.prefer_ascii = FALSE;
- break;
- }
- }
-
- return CURLE_OK;
-}
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/tftp.h b/Utilities/cmcurl-7.19.0/lib/tftp.h
deleted file mode 100644
index c9d2ef3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/tftp.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __TFTP_H
-#define __TFTP_H
-
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef CURL_DISABLE_TFTP
-extern const struct Curl_handler Curl_handler_tftp;
-#endif
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/timeval.c b/Utilities/cmcurl-7.19.0/lib/timeval.c
deleted file mode 100644
index 25ae763..0000000
--- a/Utilities/cmcurl-7.19.0/lib/timeval.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "timeval.h"
-
-#if defined(WIN32) && !defined(MSDOS)
-
-struct timeval curlx_tvnow(void)
-{
- /*
- ** GetTickCount() is available on _all_ Windows versions from W95 up
- ** to nowadays. Returns milliseconds elapsed since last system boot,
- ** increases monotonically and wraps once 49.7 days have elapsed.
- */
- struct timeval now;
- DWORD milliseconds = GetTickCount();
- now.tv_sec = milliseconds / 1000;
- now.tv_usec = (milliseconds % 1000) * 1000;
- return now;
-}
-
-#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)
-
-struct timeval curlx_tvnow(void)
-{
- /*
- ** clock_gettime() is granted to be increased monotonically when the
- ** monotonic clock is queried. Time starting point is unspecified, it
- ** could be the system start-up time, the Epoch, or something else,
- ** in any case the time starting point does not change once that the
- ** system has started up.
- */
- struct timeval now;
- struct timespec tsnow;
- if(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow)) {
- now.tv_sec = tsnow.tv_sec;
- now.tv_usec = tsnow.tv_nsec / 1000;
- }
- /*
- ** Even when the configure process has truly detected monotonic clock
- ** availability, it might happen that it is not actually available at
- ** run-time. When this occurs simply fallback to other time source.
- */
-#ifdef HAVE_GETTIMEOFDAY
- else
- (void)gettimeofday(&now, NULL);
-#else
- else {
- now.tv_sec = (long)time(NULL);
- now.tv_usec = 0;
- }
-#endif
- return now;
-}
-
-#elif defined(HAVE_GETTIMEOFDAY)
-
-struct timeval curlx_tvnow(void)
-{
- /*
- ** gettimeofday() is not granted to be increased monotonically, due to
- ** clock drifting and external source time synchronization it can jump
- ** forward or backward in time.
- */
- struct timeval now;
- (void)gettimeofday(&now, NULL);
- return now;
-}
-
-#else
-
-struct timeval curlx_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;
-}
-
-#endif
-
-/*
- * Make sure that the first argument is the more recent time, as otherwise
- * we'll get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long curlx_tvdiff(struct timeval newer, struct timeval older)
-{
- return (newer.tv_sec-older.tv_sec)*1000+
- (newer.tv_usec-older.tv_usec)/1000;
-}
-
-/*
- * Same as curlx_tvdiff but with full usec resolution.
- *
- * Returns: the time difference in seconds with subsecond resolution.
- */
-double curlx_tvdiff_secs(struct timeval newer, struct timeval older)
-{
- return (double)(newer.tv_sec-older.tv_sec)+
- (double)(newer.tv_usec-older.tv_usec)/1000000.0;
-}
-
-/* return the number of seconds in the given input timeval struct */
-long Curl_tvlong(struct timeval t1)
-{
- return t1.tv_sec;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/timeval.h b/Utilities/cmcurl-7.19.0/lib/timeval.h
deleted file mode 100644
index f1f18b4..0000000
--- a/Utilities/cmcurl-7.19.0/lib/timeval.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef __TIMEVAL_H
-#define __TIMEVAL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/*
- * CAUTION: this header is designed to work when included by the app-side
- * as well as the library. Do not mix with library internals!
- */
-
-#include "setup.h"
-
-struct timeval curlx_tvnow(void);
-
-/*
- * Make sure that the first argument (t1) is the more recent time and t2 is
- * the older time, as otherwise you get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long curlx_tvdiff(struct timeval t1, struct timeval t2);
-
-/*
- * Same as curlx_tvdiff but with full usec resolution.
- *
- * Returns: the time difference in seconds with subsecond resolution.
- */
-double curlx_tvdiff_secs(struct timeval t1, struct timeval t2);
-
-long Curl_tvlong(struct timeval t1);
-
-/* These two defines below exist to provide the older API for library
- internals only. */
-#define Curl_tvnow() curlx_tvnow()
-#define Curl_tvdiff(x,y) curlx_tvdiff(x,y)
-#define Curl_tvdiff_secs(x,y) curlx_tvdiff_secs(x,y)
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/transfer.c b/Utilities/cmcurl-7.19.0/lib/transfer.c
deleted file mode 100644
index 2fd6d4c..0000000
--- a/Utilities/cmcurl-7.19.0/lib/transfer.c
+++ /dev/null
@@ -1,2643 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-/* -- WIN32 approved -- */
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include "strtoofft.h"
-#include "strequal.h"
-
-#ifdef WIN32
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#include <signal.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-
-#ifndef HAVE_SOCKET
-#error "We can't compile without socket() support!"
-#endif
-
-#endif /* WIN32 */
-
-#include "urldata.h"
-#include <curl/curl.h>
-#include "netrc.h"
-
-#include "content_encoding.h"
-#include "hostip.h"
-#include "transfer.h"
-#include "sendf.h"
-#include "speedcheck.h"
-#include "progress.h"
-#include "http.h"
-#include "url.h"
-#include "getinfo.h"
-#include "sslgen.h"
-#include "http_digest.h"
-#include "http_ntlm.h"
-#include "http_negotiate.h"
-#include "share.h"
-#include "memory.h"
-#include "select.h"
-#include "multiif.h"
-#include "easyif.h" /* for Curl_convert_to_network prototype */
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#define CURL_TIMEOUT_EXPECT_100 1000 /* counting ms here */
-
-
-static CURLcode readwrite_headers(struct SessionHandle *data,
- struct connectdata *conn,
- struct SingleRequest *k,
- ssize_t *nread,
- bool *stop_reading);
-
-/*
- * This function will call the read callback to fill our buffer with data
- * to upload.
- */
-CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp)
-{
- struct SessionHandle *data = conn->data;
- size_t buffersize = (size_t)bytes;
- int nread;
-
- if(data->req.upload_chunky) {
- /* if chunked Transfer-Encoding */
- buffersize -= (8 + 2 + 2); /* 32bit hex + CRLF + CRLF */
- data->req.upload_fromhere += 10; /* 32bit hex + CRLF */
- }
-
- /* this function returns a size_t, so we typecast to int to prevent warnings
- with picky compilers */
- nread = (int)conn->fread_func(data->req.upload_fromhere, 1,
- buffersize, conn->fread_in);
-
- if(nread == CURL_READFUNC_ABORT) {
- failf(data, "operation aborted by callback");
- *nreadp = 0;
- return CURLE_ABORTED_BY_CALLBACK;
- }
- else if(nread == CURL_READFUNC_PAUSE) {
- struct SingleRequest *k = &data->req;
- /* CURL_READFUNC_PAUSE pauses read callbacks that feed socket writes */
- k->keepon |= KEEP_WRITE_PAUSE; /* mark socket send as paused */
- *nreadp = 0;
- return CURLE_OK; /* nothing was read */
- }
- else if((size_t)nread > buffersize) {
- /* the read function returned a too large value */
- *nreadp = 0;
- return CURLE_READ_ERROR;
- }
-
- if(!data->req.forbidchunk && data->req.upload_chunky) {
- /* if chunked Transfer-Encoding */
- char hexbuffer[11];
- int hexlen = snprintf(hexbuffer, sizeof(hexbuffer),
- "%x\r\n", nread);
- /* move buffer pointer */
- data->req.upload_fromhere -= hexlen;
- nread += hexlen;
-
- /* copy the prefix to the buffer */
- memcpy(data->req.upload_fromhere, hexbuffer, hexlen);
-
- /* always append CRLF to the data */
- memcpy(data->req.upload_fromhere + nread, "\r\n", 2);
-
- if((nread - hexlen) == 0) {
- /* mark this as done once this chunk is transfered */
- data->req.upload_done = TRUE;
- }
-
- nread+=2; /* for the added CRLF */
- }
-
- *nreadp = nread;
-
-#ifdef CURL_DOES_CONVERSIONS
- if(data->set.prefer_ascii) {
- CURLcode res;
- res = Curl_convert_to_network(data, data->req.upload_fromhere, nread);
- /* Curl_convert_to_network calls failf if unsuccessful */
- if(res != CURLE_OK) {
- return(res);
- }
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- return CURLE_OK;
-}
-
-/*
- * checkhttpprefix()
- *
- * Returns TRUE if member of the list matches prefix of string
- */
-static bool
-checkhttpprefix(struct SessionHandle *data,
- const char *s)
-{
- struct curl_slist *head = data->set.http200aliases;
- bool rc = FALSE;
-#ifdef CURL_DOES_CONVERSIONS
- /* convert from the network encoding using a scratch area */
- char *scratch = calloc(1, strlen(s)+1);
- if(NULL == scratch) {
- failf (data, "Failed to calloc memory for conversion!");
- return FALSE; /* can't return CURLE_OUT_OF_MEMORY so return FALSE */
- }
- strcpy(scratch, s);
- if(CURLE_OK != Curl_convert_from_network(data, scratch, strlen(s)+1)) {
- /* Curl_convert_from_network calls failf if unsuccessful */
- free(scratch);
- return FALSE; /* can't return CURLE_foobar so return FALSE */
- }
- s = scratch;
-#endif /* CURL_DOES_CONVERSIONS */
-
- while(head) {
- if(checkprefix(head->data, s)) {
- rc = TRUE;
- break;
- }
- head = head->next;
- }
-
- if((rc != TRUE) && (checkprefix("HTTP/", s))) {
- rc = TRUE;
- }
-
-#ifdef CURL_DOES_CONVERSIONS
- free(scratch);
-#endif /* CURL_DOES_CONVERSIONS */
- return rc;
-}
-
-/*
- * Curl_readrewind() rewinds the read stream. This is typically used for HTTP
- * POST/PUT with multi-pass authentication when a sending was denied and a
- * resend is necessary.
- */
-CURLcode Curl_readrewind(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
-
- conn->bits.rewindaftersend = FALSE; /* we rewind now */
-
- /* explicitly switch off sending data on this connection now since we are
- about to restart a new transfer and thus we want to avoid inadvertently
- sending more data on the existing connection until the next transfer
- starts */
- data->req.keepon &= ~KEEP_WRITE;
-
- /* We have sent away data. If not using CURLOPT_POSTFIELDS or
- CURLOPT_HTTPPOST, call app to rewind
- */
- if(data->set.postfields ||
- (data->set.httpreq == HTTPREQ_POST_FORM))
- ; /* do nothing */
- else {
- if(data->set.seek_func) {
- int err;
-
- err = (data->set.seek_func)(data->set.seek_client, 0, SEEK_SET);
- if(err) {
- failf(data, "seek callback returned error %d", (int)err);
- return CURLE_SEND_FAIL_REWIND;
- }
- }
- else if(data->set.ioctl_func) {
- curlioerr err;
-
- err = (data->set.ioctl_func)(data, CURLIOCMD_RESTARTREAD,
- data->set.ioctl_client);
- infof(data, "the ioctl callback returned %d\n", (int)err);
-
- if(err) {
- /* FIXME: convert to a human readable error message */
- failf(data, "ioctl callback returned error %d", (int)err);
- return CURLE_SEND_FAIL_REWIND;
- }
- }
- else {
- /* If no CURLOPT_READFUNCTION is used, we know that we operate on a
- given FILE * stream and we can actually attempt to rewind that
- ourself with fseek() */
- if(data->set.fread_func == (curl_read_callback)fread) {
- if(-1 != fseek(data->set.in, 0, SEEK_SET))
- /* successful rewind */
- return CURLE_OK;
- }
-
- /* no callback set or failure above, makes us fail at once */
- failf(data, "necessary data rewind wasn't possible");
- return CURLE_SEND_FAIL_REWIND;
- }
- }
- return CURLE_OK;
-}
-
-static int data_pending(const struct connectdata *conn)
-{
- /* in the case of libssh2, we can never be really sure that we have emptied
- its internal buffers so we MUST always try until we get EAGAIN back */
- return conn->protocol&(PROT_SCP|PROT_SFTP) ||
- Curl_ssl_data_pending(conn, FIRSTSOCKET);
-}
-
-#ifndef MIN
-#define MIN(a,b) (a < b ? a : b)
-#endif
-
-static void read_rewind(struct connectdata *conn,
- size_t thismuch)
-{
- conn->read_pos -= thismuch;
- conn->bits.stream_was_rewound = TRUE;
-
-#ifdef CURLDEBUG
- {
- char buf[512 + 1];
- size_t show;
-
- show = MIN(conn->buf_len - conn->read_pos, sizeof(buf)-1);
- if(conn->master_buffer) {
- memcpy(buf, conn->master_buffer + conn->read_pos, show);
- buf[show] = '\0';
- }
- else {
- buf[0] = '\0';
- }
-
- DEBUGF(infof(conn->data,
- "Buffer after stream rewind (read_pos = %d): [%s]",
- conn->read_pos, buf));
- }
-#endif
-}
-
-
-/*
- * Go ahead and do a read if we have a readable socket or if
- * the stream was rewound (in which case we have data in a
- * buffer)
- */
-static CURLcode readwrite_data(struct SessionHandle *data,
- struct connectdata *conn,
- struct SingleRequest *k,
- int *didwhat, bool *done)
-{
- CURLcode result = CURLE_OK;
- ssize_t nread; /* number of bytes read */
- bool is_empty_data = FALSE;
-
- /* This is where we loop until we have read everything there is to
- read or we get a EWOULDBLOCK */
- do {
- size_t buffersize = data->set.buffer_size?
- data->set.buffer_size : BUFSIZE;
- size_t bytestoread = buffersize;
- int readrc;
-
- if(k->size != -1 && !k->header) {
- /* make sure we don't read "too much" if we can help it since we
- might be pipelining and then someone else might want to read what
- follows! */
- curl_off_t totalleft = k->size - k->bytecount;
- if(totalleft < (curl_off_t)bytestoread)
- bytestoread = (size_t)totalleft;
- }
-
- if(bytestoread) {
- /* receive data from the network! */
- readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);
-
- /* subzero, this would've blocked */
- if(0 > readrc)
- break; /* get out of loop */
-
- /* get the CURLcode from the int */
- result = (CURLcode)readrc;
-
- if(result>0)
- return result;
- }
- else {
- /* read nothing but since we wanted nothing we consider this an OK
- situation to proceed from */
- nread = 0;
- }
-
- if((k->bytecount == 0) && (k->writebytecount == 0)) {
- Curl_pgrsTime(data, TIMER_STARTTRANSFER);
- if(k->exp100 > EXP100_SEND_DATA)
- /* set time stamp to compare with when waiting for the 100 */
- k->start100 = Curl_tvnow();
- }
-
- *didwhat |= KEEP_READ;
- /* indicates data of zero size, i.e. empty file */
- is_empty_data = (bool)((nread == 0) && (k->bodywrites == 0));
-
- /* NUL terminate, allowing string ops to be used */
- if(0 < nread || is_empty_data) {
- k->buf[nread] = 0;
- }
- else if(0 >= nread) {
- /* if we receive 0 or less here, the server closed the connection
- and we bail out from this! */
- DEBUGF(infof(data, "nread <= 0, server closed connection, bailing\n"));
- k->keepon &= ~KEEP_READ;
- break;
- }
-
- /* Default buffer to use when we write the buffer, it may be changed
- in the flow below before the actual storing is done. */
- k->str = k->buf;
-
- /* Since this is a two-state thing, we check if we are parsing
- headers at the moment or not. */
- if(k->header) {
- /* we are in parse-the-header-mode */
- bool stop_reading = FALSE;
- result = readwrite_headers(data, conn, k, &nread, &stop_reading);
- if(result)
- return result;
- if(stop_reading)
- /* We've stopped dealing with input, get out of the do-while loop */
- break;
- }
-
-
- /* This is not an 'else if' since it may be a rest from the header
- parsing, where the beginning of the buffer is headers and the end
- is non-headers. */
- if(k->str && !k->header && (nread > 0 || is_empty_data)) {
-
- if(0 == k->bodywrites && !is_empty_data) {
- /* These checks are only made the first time we are about to
- write a piece of the body */
- if(conn->protocol&PROT_HTTP) {
- /* HTTP-only checks */
-
- if(data->req.newurl) {
- if(conn->bits.close) {
- /* Abort after the headers if "follow Location" is set
- and we're set to close anyway. */
- k->keepon &= ~KEEP_READ;
- *done = TRUE;
- return CURLE_OK;
- }
- /* We have a new url to load, but since we want to be able
- to re-use this connection properly, we read the full
- response in "ignore more" */
- k->ignorebody = TRUE;
- infof(data, "Ignoring the response-body\n");
- }
- if(data->state.resume_from && !k->content_range &&
- (data->set.httpreq==HTTPREQ_GET) &&
- !k->ignorebody) {
- /* we wanted to resume a download, although the server doesn't
- * seem to support this and we did this with a GET (if it
- * wasn't a GET we did a POST or PUT resume) */
- failf(data, "HTTP server doesn't seem to support "
- "byte ranges. Cannot resume.");
- return CURLE_RANGE_ERROR;
- }
-
- if(data->set.timecondition && !data->state.range) {
- /* A time condition has been set AND no ranges have been
- requested. This seems to be what chapter 13.3.4 of
- RFC 2616 defines to be the correct action for a
- HTTP/1.1 client */
- if((k->timeofdoc > 0) && (data->set.timevalue > 0)) {
- switch(data->set.timecondition) {
- case CURL_TIMECOND_IFMODSINCE:
- default:
- if(k->timeofdoc < data->set.timevalue) {
- infof(data,
- "The requested document is not new enough\n");
- *done = TRUE;
- return CURLE_OK;
- }
- break;
- case CURL_TIMECOND_IFUNMODSINCE:
- if(k->timeofdoc > data->set.timevalue) {
- infof(data,
- "The requested document is not old enough\n");
- *done = TRUE;
- return CURLE_OK;
- }
- break;
- } /* switch */
- } /* two valid time strings */
- } /* we have a time condition */
-
- } /* this is HTTP */
- } /* this is the first time we write a body part */
- k->bodywrites++;
-
- /* pass data to the debug function before it gets "dechunked" */
- if(data->set.verbose) {
- if(k->badheader) {
- Curl_debug(data, CURLINFO_DATA_IN, data->state.headerbuff,
- (size_t)k->hbuflen, conn);
- if(k->badheader == HEADER_PARTHEADER)
- Curl_debug(data, CURLINFO_DATA_IN,
- k->str, (size_t)nread, conn);
- }
- else
- Curl_debug(data, CURLINFO_DATA_IN,
- k->str, (size_t)nread, conn);
- }
-
-#ifndef CURL_DISABLE_HTTP
- if(k->chunk) {
- /*
- * Here comes a chunked transfer flying and we need to decode this
- * properly. While the name says read, this function both reads
- * and writes away the data. The returned 'nread' holds the number
- * of actual data it wrote to the client.
- */
-
- CHUNKcode res =
- Curl_httpchunk_read(conn, k->str, nread, &nread);
-
- if(CHUNKE_OK < res) {
- if(CHUNKE_WRITE_ERROR == res) {
- failf(data, "Failed writing data");
- return CURLE_WRITE_ERROR;
- }
- failf(data, "Received problem %d in the chunky parser", res);
- return CURLE_RECV_ERROR;
- }
- else if(CHUNKE_STOP == res) {
- size_t dataleft;
- /* we're done reading chunks! */
- k->keepon &= ~KEEP_READ; /* read no more */
-
- /* There are now possibly N number of bytes at the end of the
- str buffer that weren't written to the client.
-
- We DO care about this data if we are pipelining.
- Push it back to be read on the next pass. */
-
- dataleft = conn->chunk.dataleft;
- if(dataleft != 0) {
- infof(conn->data, "Leftovers after chunking. "
- " Rewinding %d bytes\n",dataleft);
- read_rewind(conn, dataleft);
- }
- }
- /* If it returned OK, we just keep going */
- }
-#endif /* CURL_DISABLE_HTTP */
-
- if((-1 != k->maxdownload) &&
- (k->bytecount + nread >= k->maxdownload)) {
- /* The 'excess' amount below can't be more than BUFSIZE which
- always will fit in a size_t */
- size_t excess = (size_t)(k->bytecount + nread - k->maxdownload);
- if(excess > 0 && !k->ignorebody) {
- infof(data,
- "Rewinding stream by : %d"
- " bytes on url %s (size = %" FORMAT_OFF_T
- ", maxdownload = %" FORMAT_OFF_T
- ", bytecount = %" FORMAT_OFF_T ", nread = %d)\n",
- excess, data->state.path,
- k->size, k->maxdownload, k->bytecount, nread);
- read_rewind(conn, excess);
- }
-
- nread = (ssize_t) (k->maxdownload - k->bytecount);
- if(nread < 0 ) /* this should be unusual */
- nread = 0;
-
- k->keepon &= ~KEEP_READ; /* we're done reading */
- }
-
- k->bytecount += nread;
-
- Curl_pgrsSetDownloadCounter(data, k->bytecount);
-
- if(!k->chunk && (nread || k->badheader || is_empty_data)) {
- /* If this is chunky transfer, it was already written */
-
- if(k->badheader && !k->ignorebody) {
- /* we parsed a piece of data wrongly assuming it was a header
- and now we output it as body instead */
- result = Curl_client_write(conn, CLIENTWRITE_BODY,
- data->state.headerbuff,
- k->hbuflen);
- if(result)
- return result;
- }
- if(k->badheader < HEADER_ALLBAD) {
- /* This switch handles various content encodings. If there's an
- error here, be sure to check over the almost identical code
- in http_chunks.c.
- Make sure that ALL_CONTENT_ENCODINGS contains all the
- encodings handled here. */
-#ifdef HAVE_LIBZ
- switch (conn->data->set.http_ce_skip ?
- IDENTITY : k->content_encoding) {
- case IDENTITY:
-#endif
- /* This is the default when the server sends no
- Content-Encoding header. See Curl_readwrite_init; the
- memset() call initializes k->content_encoding to zero. */
- if(!k->ignorebody)
- result = Curl_client_write(conn, CLIENTWRITE_BODY, k->str,
- nread);
-#ifdef HAVE_LIBZ
- break;
-
- case DEFLATE:
- /* Assume CLIENTWRITE_BODY; headers are not encoded. */
- if(!k->ignorebody)
- result = Curl_unencode_deflate_write(conn, k, nread);
- break;
-
- case GZIP:
- /* Assume CLIENTWRITE_BODY; headers are not encoded. */
- if(!k->ignorebody)
- result = Curl_unencode_gzip_write(conn, k, nread);
- break;
-
- case COMPRESS:
- default:
- failf (data, "Unrecognized content encoding type. "
- "libcurl understands `identity', `deflate' and `gzip' "
- "content encodings.");
- result = CURLE_BAD_CONTENT_ENCODING;
- break;
- }
-#endif
- }
- k->badheader = HEADER_NORMAL; /* taken care of now */
-
- if(result)
- return result;
- }
-
- } /* if(! header and data to read ) */
-
- if(is_empty_data) {
- /* if we received nothing, the server closed the connection and we
- are done */
- k->keepon &= ~KEEP_READ;
- }
-
- } while(data_pending(conn));
-
- if(((k->keepon & (KEEP_READ|KEEP_WRITE)) == KEEP_WRITE) &&
- conn->bits.close ) {
- /* When we've read the entire thing and the close bit is set, the server may
- now close the connection. If there's now any kind of sending going on from
- our side, we need to stop that immediately. */
- infof(data, "we are done reading and this is set to close, stop send\n");
- k->keepon &= ~KEEP_WRITE; /* no writing anymore either */
- }
-
- return CURLE_OK;
-}
-
-/*
- * Read any header lines from the server and pass them to the client app.
- */
-static CURLcode readwrite_headers(struct SessionHandle *data,
- struct connectdata *conn,
- struct SingleRequest *k,
- ssize_t *nread,
- bool *stop_reading)
-{
- CURLcode result;
-
- /* header line within buffer loop */
- do {
- size_t hbufp_index;
- size_t rest_length;
- size_t full_length;
- int writetype;
-
- /* str_start is start of line within buf */
- k->str_start = k->str;
-
- /* data is in network encoding so use 0x0a instead of '\n' */
- k->end_ptr = memchr(k->str_start, 0x0a, *nread);
-
- if(!k->end_ptr) {
- /* Not a complete header line within buffer, append the data to
- the end of the headerbuff. */
-
- if(k->hbuflen + *nread >= data->state.headersize) {
- /* We enlarge the header buffer as it is too small */
- char *newbuff;
- size_t newsize=CURLMAX((k->hbuflen+*nread)*3/2,
- data->state.headersize*2);
- hbufp_index = k->hbufp - data->state.headerbuff;
- newbuff = (char *)realloc(data->state.headerbuff, newsize);
- if(!newbuff) {
- failf (data, "Failed to alloc memory for big header!");
- return CURLE_OUT_OF_MEMORY;
- }
- data->state.headersize=newsize;
- data->state.headerbuff = newbuff;
- k->hbufp = data->state.headerbuff + hbufp_index;
- }
- memcpy(k->hbufp, k->str, *nread);
- k->hbufp += *nread;
- k->hbuflen += *nread;
- if(!k->headerline && (k->hbuflen>5)) {
- /* make a first check that this looks like a HTTP header */
- if(!checkhttpprefix(data, data->state.headerbuff)) {
- /* this is not the beginning of a HTTP first header line */
- k->header = FALSE;
- k->badheader = HEADER_ALLBAD;
- break;
- }
- }
-
- break; /* read more and try again */
- }
-
- /* decrease the size of the remaining (supposed) header line */
- rest_length = (k->end_ptr - k->str)+1;
- *nread -= (ssize_t)rest_length;
-
- k->str = k->end_ptr + 1; /* move past new line */
-
- full_length = k->str - k->str_start;
-
- /*
- * We're about to copy a chunk of data to the end of the
- * already received header. We make sure that the full string
- * fit in the allocated header buffer, or else we enlarge
- * it.
- */
- if(k->hbuflen + full_length >=
- data->state.headersize) {
- char *newbuff;
- size_t newsize=CURLMAX((k->hbuflen+full_length)*3/2,
- data->state.headersize*2);
- hbufp_index = k->hbufp - data->state.headerbuff;
- newbuff = (char *)realloc(data->state.headerbuff, newsize);
- if(!newbuff) {
- failf (data, "Failed to alloc memory for big header!");
- return CURLE_OUT_OF_MEMORY;
- }
- data->state.headersize= newsize;
- data->state.headerbuff = newbuff;
- k->hbufp = data->state.headerbuff + hbufp_index;
- }
-
- /* copy to end of line */
- memcpy(k->hbufp, k->str_start, full_length);
- k->hbufp += full_length;
- k->hbuflen += full_length;
- *k->hbufp = 0;
- k->end_ptr = k->hbufp;
-
- k->p = data->state.headerbuff;
-
- /****
- * We now have a FULL header line that p points to
- *****/
-
- if(!k->headerline) {
- /* the first read header */
- if((k->hbuflen>5) &&
- !checkhttpprefix(data, data->state.headerbuff)) {
- /* this is not the beginning of a HTTP first header line */
- k->header = FALSE;
- if(*nread)
- /* since there's more, this is a partial bad header */
- k->badheader = HEADER_PARTHEADER;
- else {
- /* this was all we read so it's all a bad header */
- k->badheader = HEADER_ALLBAD;
- *nread = (ssize_t)rest_length;
- }
- break;
- }
- }
-
- /* headers are in network encoding so
- use 0x0a and 0x0d instead of '\n' and '\r' */
- if((0x0a == *k->p) || (0x0d == *k->p)) {
- size_t headerlen;
- /* Zero-length header line means end of headers! */
-
-#ifdef CURL_DOES_CONVERSIONS
- if(0x0d == *k->p) {
- *k->p = '\r'; /* replace with CR in host encoding */
- k->p++; /* pass the CR byte */
- }
- if(0x0a == *k->p) {
- *k->p = '\n'; /* replace with LF in host encoding */
- k->p++; /* pass the LF byte */
- }
-#else
- if('\r' == *k->p)
- k->p++; /* pass the \r byte */
- if('\n' == *k->p)
- k->p++; /* pass the \n byte */
-#endif /* CURL_DOES_CONVERSIONS */
-
-#ifndef CURL_DISABLE_HTTP
- if(100 <= k->httpcode && 199 >= k->httpcode) {
- /*
- * We have made a HTTP PUT or POST and this is 1.1-lingo
- * that tells us that the server is OK with this and ready
- * to receive the data.
- * However, we'll get more headers now so we must get
- * back into the header-parsing state!
- */
- k->header = TRUE;
- k->headerline = 0; /* restart the header line counter */
-
- /* if we did wait for this do enable write now! */
- if(k->exp100) {
- k->exp100 = EXP100_SEND_DATA;
- k->keepon |= KEEP_WRITE;
- }
- }
- else {
- k->header = FALSE; /* no more header to parse! */
-
- if((k->size == -1) && !k->chunk && !conn->bits.close &&
- (k->httpversion >= 11) ) {
- /* On HTTP 1.1, when connection is not to get closed, but no
- Content-Length nor Content-Encoding chunked have been
- received, according to RFC2616 section 4.4 point 5, we
- assume that the server will close the connection to
- signal the end of the document. */
- infof(data, "no chunk, no close, no size. Assume close to "
- "signal end\n");
- conn->bits.close = TRUE;
- }
- }
-
- if(417 == k->httpcode) {
- /*
- * we got: "417 Expectation Failed" this means:
- * we have made a HTTP call and our Expect Header
- * seems to cause a problem => abort the write operations
- * (or prevent them from starting).
- */
- k->exp100 = EXP100_FAILED;
- k->keepon &= ~KEEP_WRITE;
- }
-
- /*
- * When all the headers have been parsed, see if we should give
- * up and return an error.
- */
- if(Curl_http_should_fail(conn)) {
- failf (data, "The requested URL returned error: %d",
- k->httpcode);
- return CURLE_HTTP_RETURNED_ERROR;
- }
-#endif /* CURL_DISABLE_HTTP */
-
- /* now, only output this if the header AND body are requested:
- */
- writetype = CLIENTWRITE_HEADER;
- if(data->set.include_header)
- writetype |= CLIENTWRITE_BODY;
-
- headerlen = k->p - data->state.headerbuff;
-
- result = Curl_client_write(conn, writetype,
- data->state.headerbuff,
- headerlen);
- if(result)
- return result;
-
- data->info.header_size += (long)headerlen;
- data->req.headerbytecount += (long)headerlen;
-
- data->req.deductheadercount =
- (100 <= k->httpcode && 199 >= k->httpcode)?data->req.headerbytecount:0;
-
- if(data->state.resume_from &&
- (data->set.httpreq==HTTPREQ_GET) &&
- (k->httpcode == 416)) {
- /* "Requested Range Not Satisfiable" */
- *stop_reading = TRUE;
- }
-
-#ifndef CURL_DISABLE_HTTP
- if(!*stop_reading) {
- /* Curl_http_auth_act() checks what authentication methods
- * that are available and decides which one (if any) to
- * use. It will set 'newurl' if an auth method was picked. */
- result = Curl_http_auth_act(conn);
-
- if(result)
- return result;
-
- if(conn->bits.rewindaftersend) {
- /* We rewind after a complete send, so thus we continue
- sending now */
- infof(data, "Keep sending data to get tossed away!\n");
- k->keepon |= KEEP_WRITE;
- }
- }
-#endif /* CURL_DISABLE_HTTP */
-
- if(!k->header) {
- /*
- * really end-of-headers.
- *
- * If we requested a "no body", this is a good time to get
- * out and return home.
- */
- if(data->set.opt_no_body)
- *stop_reading = TRUE;
- else {
- /* If we know the expected size of this document, we set the
- maximum download size to the size of the expected
- document or else, we won't know when to stop reading!
-
- Note that we set the download maximum even if we read a
- "Connection: close" header, to make sure that
- "Content-Length: 0" still prevents us from attempting to
- read the (missing) response-body.
- */
- /* According to RFC2616 section 4.4, we MUST ignore
- Content-Length: headers if we are now receiving data
- using chunked Transfer-Encoding.
- */
- if(k->chunk)
- k->size=-1;
-
- }
- if(-1 != k->size) {
- /* We do this operation even if no_body is true, since this
- data might be retrieved later with curl_easy_getinfo()
- and its CURLINFO_CONTENT_LENGTH_DOWNLOAD option. */
-
- Curl_pgrsSetDownloadSize(data, k->size);
- k->maxdownload = k->size;
- }
- /* If max download size is *zero* (nothing) we already
- have nothing and can safely return ok now! */
- if(0 == k->maxdownload)
- *stop_reading = TRUE;
-
- if(*stop_reading) {
- /* we make sure that this socket isn't read more now */
- k->keepon &= ~KEEP_READ;
- }
-
- if(data->set.verbose)
- Curl_debug(data, CURLINFO_HEADER_IN,
- k->str_start, headerlen, conn);
- break; /* exit header line loop */
- }
-
- /* We continue reading headers, so reset the line-based
- header parsing variables hbufp && hbuflen */
- k->hbufp = data->state.headerbuff;
- k->hbuflen = 0;
- continue;
- }
-
-#ifndef CURL_DISABLE_HTTP
- /*
- * Checks for special headers coming up.
- */
-
- if(!k->headerline++) {
- /* This is the first header, it MUST be the error code line
- or else we consider this to be the body right away! */
- int httpversion_major;
- int nc;
-#ifdef CURL_DOES_CONVERSIONS
-#define HEADER1 scratch
-#define SCRATCHSIZE 21
- CURLcode res;
- char scratch[SCRATCHSIZE+1]; /* "HTTP/major.minor 123" */
- /* We can't really convert this yet because we
- don't know if it's the 1st header line or the body.
- So we do a partial conversion into a scratch area,
- leaving the data at k->p as-is.
- */
- strncpy(&scratch[0], k->p, SCRATCHSIZE);
- scratch[SCRATCHSIZE] = 0; /* null terminate */
- res = Curl_convert_from_network(data,
- &scratch[0],
- SCRATCHSIZE);
- if(CURLE_OK != res) {
- /* Curl_convert_from_network calls failf if unsuccessful */
- return res;
- }
-#else
-#define HEADER1 k->p /* no conversion needed, just use k->p */
-#endif /* CURL_DOES_CONVERSIONS */
-
- nc = sscanf(HEADER1,
- " HTTP/%d.%d %3d",
- &httpversion_major,
- &k->httpversion,
- &k->httpcode);
- if(nc==3) {
- k->httpversion += 10 * httpversion_major;
- }
- else {
- /* this is the real world, not a Nirvana
- NCSA 1.5.x returns this crap when asked for HTTP/1.1
- */
- nc=sscanf(HEADER1, " HTTP %3d", &k->httpcode);
- k->httpversion = 10;
-
- /* If user has set option HTTP200ALIASES,
- compare header line against list of aliases
- */
- if(!nc) {
- if(checkhttpprefix(data, k->p)) {
- nc = 1;
- k->httpcode = 200;
- k->httpversion = 10;
- }
- }
- }
-
- if(nc) {
- data->info.httpcode = k->httpcode;
- data->info.httpversion = k->httpversion;
-
- /*
- * This code executes as part of processing the header. As a
- * result, it's not totally clear how to interpret the
- * response code yet as that depends on what other headers may
- * be present. 401 and 407 may be errors, but may be OK
- * depending on how authentication is working. Other codes
- * are definitely errors, so give up here.
- */
- if(data->set.http_fail_on_error && (k->httpcode >= 400) &&
- ((k->httpcode != 401) || !conn->bits.user_passwd) &&
- ((k->httpcode != 407) || !conn->bits.proxy_user_passwd) ) {
-
- if(data->state.resume_from &&
- (data->set.httpreq==HTTPREQ_GET) &&
- (k->httpcode == 416)) {
- /* "Requested Range Not Satisfiable", just proceed and
- pretend this is no error */
- }
- else {
- /* serious error, go home! */
- failf (data, "The requested URL returned error: %d",
- k->httpcode);
- return CURLE_HTTP_RETURNED_ERROR;
- }
- }
-
- if(k->httpversion == 10) {
- /* Default action for HTTP/1.0 must be to close, unless
- we get one of those fancy headers that tell us the
- server keeps it open for us! */
- infof(data, "HTTP 1.0, assume close after body\n");
- conn->bits.close = TRUE;
- }
- else if(k->httpversion >= 11 &&
- !conn->bits.close) {
- /* If HTTP version is >= 1.1 and connection is persistent
- server supports pipelining. */
- DEBUGF(infof(data,
- "HTTP 1.1 or later with persistent connection, "
- "pipelining supported\n"));
- conn->server_supports_pipelining = TRUE;
- }
-
- switch(k->httpcode) {
- case 204:
- /* (quote from RFC2616, section 10.2.5): The server has
- * fulfilled the request but does not need to return an
- * entity-body ... The 204 response MUST NOT include a
- * message-body, and thus is always terminated by the first
- * empty line after the header fields. */
- /* FALLTHROUGH */
- case 416: /* Requested Range Not Satisfiable, it has the
- Content-Length: set as the "real" document but no
- actual response is sent. */
- case 304:
- /* (quote from RFC2616, section 10.3.5): The 304 response
- * MUST NOT contain a message-body, and thus is always
- * terminated by the first empty line after the header
- * fields. */
- k->size=0;
- k->maxdownload=0;
- k->ignorecl = TRUE; /* ignore Content-Length headers */
- break;
- default:
- /* nothing */
- break;
- }
- }
- else {
- k->header = FALSE; /* this is not a header line */
- break;
- }
- }
-#endif /* CURL_DISABLE_HTTP */
-
-#ifdef CURL_DOES_CONVERSIONS
- /* convert from the network encoding */
- result = Curl_convert_from_network(data, k->p, strlen(k->p));
- if(CURLE_OK != result) {
- return(result);
- }
- /* Curl_convert_from_network calls failf if unsuccessful */
-#endif /* CURL_DOES_CONVERSIONS */
-
-#ifndef CURL_DISABLE_HTTP
- /* Check for Content-Length: header lines to get size. Ignore
- the header completely if we get a 416 response as then we're
- resuming a document that we don't get, and this header contains
- info about the true size of the document we didn't get now. */
- if(!k->ignorecl && !data->set.ignorecl &&
- checkprefix("Content-Length:", k->p)) {
- curl_off_t contentlength = curlx_strtoofft(k->p+15, NULL, 10);
- if(data->set.max_filesize &&
- contentlength > data->set.max_filesize) {
- failf(data, "Maximum file size exceeded");
- return CURLE_FILESIZE_EXCEEDED;
- }
- if(contentlength >= 0) {
- k->size = contentlength;
- k->maxdownload = k->size;
- /* we set the progress download size already at this point
- just to make it easier for apps/callbacks to extract this
- info as soon as possible */
- Curl_pgrsSetDownloadSize(data, k->size);
- }
- else {
- /* Negative Content-Length is really odd, and we know it
- happens for example when older Apache servers send large
- files */
- conn->bits.close = TRUE;
- infof(data, "Negative content-length: %" FORMAT_OFF_T
- ", closing after transfer\n", contentlength);
- }
- }
- /* check for Content-Type: header lines to get the MIME-type */
- else if(checkprefix("Content-Type:", k->p)) {
- char *contenttype = Curl_copy_header_value(k->p);
- if (!contenttype)
- return CURLE_OUT_OF_MEMORY;
- if (!*contenttype)
- /* ignore empty data */
- free(contenttype);
- else {
- Curl_safefree(data->info.contenttype);
- data->info.contenttype = contenttype;
- }
- }
- else if((k->httpversion == 10) &&
- conn->bits.httpproxy &&
- Curl_compareheader(k->p,
- "Proxy-Connection:", "keep-alive")) {
- /*
- * When a HTTP/1.0 reply comes when using a proxy, the
- * 'Proxy-Connection: keep-alive' line tells us the
- * connection will be kept alive for our pleasure.
- * Default action for 1.0 is to close.
- */
- conn->bits.close = FALSE; /* don't close when done */
- infof(data, "HTTP/1.0 proxy connection set to keep alive!\n");
- }
- else if((k->httpversion == 11) &&
- conn->bits.httpproxy &&
- Curl_compareheader(k->p,
- "Proxy-Connection:", "close")) {
- /*
- * We get a HTTP/1.1 response from a proxy and it says it'll
- * close down after this transfer.
- */
- conn->bits.close = TRUE; /* close when done */
- infof(data, "HTTP/1.1 proxy connection set close!\n");
- }
- else if((k->httpversion == 10) &&
- Curl_compareheader(k->p, "Connection:", "keep-alive")) {
- /*
- * A HTTP/1.0 reply with the 'Connection: keep-alive' line
- * tells us the connection will be kept alive for our
- * pleasure. Default action for 1.0 is to close.
- *
- * [RFC2068, section 19.7.1] */
- conn->bits.close = FALSE; /* don't close when done */
- infof(data, "HTTP/1.0 connection set to keep alive!\n");
- }
- else if(Curl_compareheader(k->p, "Connection:", "close")) {
- /*
- * [RFC 2616, section 8.1.2.1]
- * "Connection: close" is HTTP/1.1 language and means that
- * the connection will close when this request has been
- * served.
- */
- conn->bits.close = TRUE; /* close when done */
- }
- else if(Curl_compareheader(k->p,
- "Transfer-Encoding:", "chunked")) {
- /*
- * [RFC 2616, section 3.6.1] A 'chunked' transfer encoding
- * means that the server will send a series of "chunks". Each
- * chunk starts with line with info (including size of the
- * coming block) (terminated with CRLF), then a block of data
- * with the previously mentioned size. There can be any amount
- * of chunks, and a chunk-data set to zero signals the
- * end-of-chunks. */
- k->chunk = TRUE; /* chunks coming our way */
-
- /* init our chunky engine */
- Curl_httpchunk_init(conn);
- }
-
- else if(checkprefix("Trailer:", k->p) ||
- checkprefix("Trailers:", k->p)) {
- /*
- * This test helps Curl_httpchunk_read() to determine to look
- * for well formed trailers after the zero chunksize record. In
- * this case a CRLF is required after the zero chunksize record
- * when no trailers are sent, or after the last trailer record.
- *
- * It seems both Trailer: and Trailers: occur in the wild.
- */
- k->trailerhdrpresent = TRUE;
- }
-
- else if(checkprefix("Content-Encoding:", k->p) &&
- data->set.str[STRING_ENCODING]) {
- /*
- * Process Content-Encoding. Look for the values: identity,
- * gzip, deflate, compress, x-gzip and x-compress. x-gzip and
- * x-compress are the same as gzip and compress. (Sec 3.5 RFC
- * 2616). zlib cannot handle compress. However, errors are
- * handled further down when the response body is processed
- */
- char *start;
-
- /* Find the first non-space letter */
- for(start=k->p+17;
- *start && ISSPACE(*start);
- start++)
- ; /* empty loop */
-
- /* Record the content-encoding for later use */
- if(checkprefix("identity", start))
- k->content_encoding = IDENTITY;
- else if(checkprefix("deflate", start))
- k->content_encoding = DEFLATE;
- else if(checkprefix("gzip", start)
- || checkprefix("x-gzip", start))
- k->content_encoding = GZIP;
- else if(checkprefix("compress", start)
- || checkprefix("x-compress", start))
- k->content_encoding = COMPRESS;
- }
- else if(checkprefix("Content-Range:", k->p)) {
- /* Content-Range: bytes [num]-
- Content-Range: bytes: [num]-
- Content-Range: [num]-
-
- The second format was added since Sun's webserver
- JavaWebServer/1.1.1 obviously sends the header this way!
- The third added since some servers use that!
- */
-
- char *ptr = k->p + 14;
-
- /* Move forward until first digit */
- while(*ptr && !ISDIGIT(*ptr))
- ptr++;
-
- k->offset = curlx_strtoofft(ptr, NULL, 10);
-
- if(data->state.resume_from == k->offset)
- /* we asked for a resume and we got it */
- k->content_range = TRUE;
- }
-#if !defined(CURL_DISABLE_COOKIES)
- else if(data->cookies &&
- checkprefix("Set-Cookie:", k->p)) {
- Curl_share_lock(data, CURL_LOCK_DATA_COOKIE,
- CURL_LOCK_ACCESS_SINGLE);
- Curl_cookie_add(data,
- data->cookies, TRUE, k->p+11,
- /* If there is a custom-set Host: name, use it
- here, or else use real peer host name. */
- conn->allocptr.cookiehost?
- conn->allocptr.cookiehost:conn->host.name,
- data->state.path);
- Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE);
- }
-#endif
- else if(checkprefix("Last-Modified:", k->p) &&
- (data->set.timecondition || data->set.get_filetime) ) {
- time_t secs=time(NULL);
- k->timeofdoc = curl_getdate(k->p+strlen("Last-Modified:"),
- &secs);
- if(data->set.get_filetime)
- data->info.filetime = (long)k->timeofdoc;
- }
- else if((checkprefix("WWW-Authenticate:", k->p) &&
- (401 == k->httpcode)) ||
- (checkprefix("Proxy-authenticate:", k->p) &&
- (407 == k->httpcode))) {
- result = Curl_http_input_auth(conn, k->httpcode, k->p);
- if(result)
- return result;
- }
- else if((k->httpcode >= 300 && k->httpcode < 400) &&
- checkprefix("Location:", k->p)) {
- /* this is the URL that the server advises us to use instead */
- char *location = Curl_copy_header_value(k->p);
- if (!location)
- return CURLE_OUT_OF_MEMORY;
- if (!*location)
- /* ignore empty data */
- free(location);
- else {
- DEBUGASSERT(!data->req.location);
- data->req.location = location;
-
- if(data->set.http_follow_location) {
- DEBUGASSERT(!data->req.newurl);
- data->req.newurl = strdup(data->req.location); /* clone */
- if(!data->req.newurl)
- return CURLE_OUT_OF_MEMORY;
-
- /* some cases of POST and PUT etc needs to rewind the data
- stream at this point */
- result = Curl_http_perhapsrewind(conn);
- if(result)
- return result;
- }
- }
- }
-#endif /* CURL_DISABLE_HTTP */
-
- /*
- * End of header-checks. Write them to the client.
- */
-
- writetype = CLIENTWRITE_HEADER;
- if(data->set.include_header)
- writetype |= CLIENTWRITE_BODY;
-
- if(data->set.verbose)
- Curl_debug(data, CURLINFO_HEADER_IN,
- k->p, (size_t)k->hbuflen, conn);
-
- result = Curl_client_write(conn, writetype, k->p, k->hbuflen);
- if(result)
- return result;
-
- data->info.header_size += (long)k->hbuflen;
- data->req.headerbytecount += (long)k->hbuflen;
-
- /* reset hbufp pointer && hbuflen */
- k->hbufp = data->state.headerbuff;
- k->hbuflen = 0;
- }
- while(!*stop_reading && *k->str); /* header line within buffer */
-
- /* We might have reached the end of the header part here, but
- there might be a non-header part left in the end of the read
- buffer. */
-
- return CURLE_OK;
-}
-
-/*
- * Send data to upload to the server, when the socket is writable.
- */
-static CURLcode readwrite_upload(struct SessionHandle *data,
- struct connectdata *conn,
- struct SingleRequest *k,
- int *didwhat)
-{
- ssize_t i, si;
- ssize_t bytes_written;
- CURLcode result;
- ssize_t nread; /* number of bytes read */
-
- if((k->bytecount == 0) && (k->writebytecount == 0))
- Curl_pgrsTime(data, TIMER_STARTTRANSFER);
-
- *didwhat |= KEEP_WRITE;
-
- /*
- * We loop here to do the READ and SEND loop until we run out of
- * data to send or until we get EWOULDBLOCK back
- */
- do {
-
- /* only read more data if there's no upload data already
- present in the upload buffer */
- if(0 == data->req.upload_present) {
- /* init the "upload from here" pointer */
- data->req.upload_fromhere = k->uploadbuf;
-
- if(!k->upload_done) {
- /* HTTP pollution, this should be written nicer to become more
- protocol agnostic. */
- int fillcount;
-
- if((k->exp100 == EXP100_SENDING_REQUEST) &&
- (data->state.proto.http->sending == HTTPSEND_BODY)) {
- /* If this call is to send body data, we must take some action:
- We have sent off the full HTTP 1.1 request, and we shall now
- go into the Expect: 100 state and await such a header */
- k->exp100 = EXP100_AWAITING_CONTINUE; /* wait for the header */
- k->keepon &= ~KEEP_WRITE; /* disable writing */
- k->start100 = Curl_tvnow(); /* timeout count starts now */
- *didwhat &= ~KEEP_WRITE; /* we didn't write anything actually */
- break;
- }
-
- result = Curl_fillreadbuffer(conn, BUFSIZE, &fillcount);
- if(result)
- return result;
-
- nread = (ssize_t)fillcount;
- }
- else
- nread = 0; /* we're done uploading/reading */
-
- if(!nread && (k->keepon & KEEP_WRITE_PAUSE)) {
- /* this is a paused transfer */
- break;
- }
- else if(nread<=0) {
- /* done */
- k->keepon &= ~KEEP_WRITE; /* we're done writing */
-
- if(conn->bits.rewindaftersend) {
- result = Curl_readrewind(conn);
- if(result)
- return result;
- }
- break;
- }
-
- /* store number of bytes available for upload */
- data->req.upload_present = nread;
-
- /* convert LF to CRLF if so asked */
-#ifdef CURL_DO_LINEEND_CONV
- /* always convert if we're FTPing in ASCII mode */
- if((data->set.crlf) || (data->set.prefer_ascii))
-#else
- if(data->set.crlf)
-#endif /* CURL_DO_LINEEND_CONV */
- {
- if(data->state.scratch == NULL)
- data->state.scratch = malloc(2*BUFSIZE);
- if(data->state.scratch == NULL) {
- failf (data, "Failed to alloc scratch buffer!");
- return CURLE_OUT_OF_MEMORY;
- }
- /*
- * ASCII/EBCDIC Note: This is presumably a text (not binary)
- * transfer so the data should already be in ASCII.
- * That means the hex values for ASCII CR (0x0d) & LF (0x0a)
- * must be used instead of the escape sequences \r & \n.
- */
- for(i = 0, si = 0; i < nread; i++, si++) {
- if(data->req.upload_fromhere[i] == 0x0a) {
- data->state.scratch[si++] = 0x0d;
- data->state.scratch[si] = 0x0a;
- if(!data->set.crlf) {
- /* we're here only because FTP is in ASCII mode...
- bump infilesize for the LF we just added */
- data->set.infilesize++;
- }
- }
- else
- data->state.scratch[si] = data->req.upload_fromhere[i];
- }
- if(si != nread) {
- /* only perform the special operation if we really did replace
- anything */
- nread = si;
-
- /* upload from the new (replaced) buffer instead */
- data->req.upload_fromhere = data->state.scratch;
-
- /* set the new amount too */
- data->req.upload_present = nread;
- }
- }
- } /* if 0 == data->req.upload_present */
- else {
- /* We have a partial buffer left from a previous "round". Use
- that instead of reading more data */
- }
-
- /* write to socket (send away data) */
- result = Curl_write(conn,
- conn->writesockfd, /* socket to send to */
- data->req.upload_fromhere, /* buffer pointer */
- data->req.upload_present, /* buffer size */
- &bytes_written); /* actually send away */
- if(result)
- return result;
-
- if(data->set.verbose)
- /* show the data before we change the pointer upload_fromhere */
- Curl_debug(data, CURLINFO_DATA_OUT, data->req.upload_fromhere,
- (size_t)bytes_written, conn);
-
- if(data->req.upload_present != bytes_written) {
- /* we only wrote a part of the buffer (if anything), deal with it! */
-
- /* store the amount of bytes left in the buffer to write */
- data->req.upload_present -= bytes_written;
-
- /* advance the pointer where to find the buffer when the next send
- is to happen */
- data->req.upload_fromhere += bytes_written;
- }
- else {
- /* we've uploaded that buffer now */
- data->req.upload_fromhere = k->uploadbuf;
- data->req.upload_present = 0; /* no more bytes left */
-
- if(k->upload_done) {
- /* switch off writing, we're done! */
- k->keepon &= ~KEEP_WRITE; /* we're done writing */
- }
- }
-
- k->writebytecount += bytes_written;
- Curl_pgrsSetUploadCounter(data, k->writebytecount);
-
- } while(0); /* just to break out from! */
-
- return CURLE_OK;
-}
-
-/*
- * Curl_readwrite() is the low-level function to be called when data is to
- * be read and written to/from the connection.
- */
-CURLcode Curl_readwrite(struct connectdata *conn,
- bool *done)
-{
- struct SessionHandle *data = conn->data;
- struct SingleRequest *k = &data->req;
- CURLcode result;
- int didwhat=0;
-
- curl_socket_t fd_read;
- curl_socket_t fd_write;
- int select_res = conn->cselect_bits;
-
- conn->cselect_bits = 0;
-
- /* only use the proper socket if the *_HOLD bit is not set simultaneously as
- then we are in rate limiting state in that transfer direction */
-
- if((k->keepon & KEEP_READBITS) == KEEP_READ) {
- fd_read = conn->sockfd;
-#if defined(USE_LIBSSH2)
- if(conn->protocol & (PROT_SCP|PROT_SFTP))
- select_res |= CURL_CSELECT_IN;
-#endif /* USE_LIBSSH2 */
- } else
- fd_read = CURL_SOCKET_BAD;
-
- if((k->keepon & KEEP_WRITEBITS) == KEEP_WRITE)
- fd_write = conn->writesockfd;
- else
- fd_write = CURL_SOCKET_BAD;
-
- if(!select_res) { /* Call for select()/poll() only, if read/write/error
- status is not known. */
- select_res = Curl_socket_ready(fd_read, fd_write, 0);
- }
-
- if(select_res == CURL_CSELECT_ERR) {
- failf(data, "select/poll returned error");
- return CURLE_SEND_ERROR;
- }
-
- /* We go ahead and do a read if we have a readable socket or if
- the stream was rewound (in which case we have data in a
- buffer) */
- if((k->keepon & KEEP_READ) &&
- ((select_res & CURL_CSELECT_IN) || conn->bits.stream_was_rewound)) {
-
- result = readwrite_data(data, conn, k, &didwhat, done);
- if(result || *done)
- return result;
- }
-
- /* If we still have writing to do, we check if we have a writable socket. */
- if((k->keepon & KEEP_WRITE) && (select_res & CURL_CSELECT_OUT)) {
- /* write */
-
- result = readwrite_upload(data, conn, k, &didwhat);
- if(result)
- return result;
- }
-
- k->now = Curl_tvnow();
- if(didwhat) {
- /* Update read/write counters */
- if(k->bytecountp)
- *k->bytecountp = k->bytecount; /* read count */
- if(k->writebytecountp)
- *k->writebytecountp = k->writebytecount; /* write count */
- }
- else {
- /* no read no write, this is a timeout? */
- if(k->exp100 == EXP100_AWAITING_CONTINUE) {
- /* This should allow some time for the header to arrive, but only a
- very short time as otherwise it'll be too much wasted time too
- often. */
-
- /* Quoting RFC2616, section "8.2.3 Use of the 100 (Continue) Status":
-
- Therefore, when a client sends this header field to an origin server
- (possibly via a proxy) from which it has never seen a 100 (Continue)
- status, the client SHOULD NOT wait for an indefinite period before
- sending the request body.
-
- */
-
- long ms = Curl_tvdiff(k->now, k->start100);
- if(ms > CURL_TIMEOUT_EXPECT_100) {
- /* we've waited long enough, continue anyway */
- k->exp100 = EXP100_SEND_DATA;
- k->keepon |= KEEP_WRITE;
- infof(data, "Done waiting for 100-continue\n");
- }
- }
- }
-
- if(Curl_pgrsUpdate(conn))
- result = CURLE_ABORTED_BY_CALLBACK;
- else
- result = Curl_speedcheck(data, k->now);
- if(result)
- return result;
-
- if(data->set.timeout &&
- (Curl_tvdiff(k->now, k->start) >= data->set.timeout)) {
- if(k->size != -1) {
- failf(data, "Operation timed out after %ld milliseconds with %"
- FORMAT_OFF_T " out of %" FORMAT_OFF_T " bytes received",
- data->set.timeout, k->bytecount, k->size);
- } else {
- failf(data, "Operation timed out after %ld milliseconds with %"
- FORMAT_OFF_T " bytes received",
- data->set.timeout, k->bytecount);
- }
- return CURLE_OPERATION_TIMEDOUT;
- }
-
- if(!k->keepon) {
- /*
- * The transfer has been performed. Just make some general checks before
- * returning.
- */
-
- if(!(data->set.opt_no_body) && (k->size != -1) &&
- (k->bytecount != k->size) &&
-#ifdef CURL_DO_LINEEND_CONV
- /* Most FTP servers don't adjust their file SIZE response for CRLFs,
- so we'll check to see if the discrepancy can be explained
- by the number of CRLFs we've changed to LFs.
- */
- (k->bytecount != (k->size + data->state.crlf_conversions)) &&
-#endif /* CURL_DO_LINEEND_CONV */
- !data->req.newurl) {
- failf(data, "transfer closed with %" FORMAT_OFF_T
- " bytes remaining to read",
- k->size - k->bytecount);
- return CURLE_PARTIAL_FILE;
- }
- else if(!(data->set.opt_no_body) &&
- k->chunk &&
- (conn->chunk.state != CHUNK_STOP)) {
- /*
- * In chunked mode, return an error if the connection is closed prior to
- * the empty (terminiating) chunk is read.
- *
- * The condition above used to check for
- * conn->proto.http->chunk.datasize != 0 which is true after reading
- * *any* chunk, not just the empty chunk.
- *
- */
- failf(data, "transfer closed with outstanding read data remaining");
- return CURLE_PARTIAL_FILE;
- }
- if(Curl_pgrsUpdate(conn))
- return CURLE_ABORTED_BY_CALLBACK;
- }
-
- /* Now update the "done" boolean we return */
- *done = (bool)(0 == (k->keepon&(KEEP_READ|KEEP_WRITE|
- KEEP_READ_PAUSE|KEEP_WRITE_PAUSE)));
-
- return CURLE_OK;
-}
-
-/*
- * Curl_single_getsock() gets called by the multi interface code when the app
- * has requested to get the sockets for the current connection. This function
- * will then be called once for every connection that the multi interface
- * keeps track of. This function will only be called for connections that are
- * in the proper state to have this information available.
- */
-int Curl_single_getsock(const struct connectdata *conn,
- curl_socket_t *sock, /* points to numsocks number
- of sockets */
- int numsocks)
-{
- const struct SessionHandle *data = conn->data;
- int bitmap = GETSOCK_BLANK;
- unsigned sockindex = 0;
-
- if(numsocks < 2)
- /* simple check but we might need two slots */
- return GETSOCK_BLANK;
-
- /* don't include HOLD and PAUSE connections */
- if((data->req.keepon & KEEP_READBITS) == KEEP_READ) {
-
- DEBUGASSERT(conn->sockfd != CURL_SOCKET_BAD);
-
- bitmap |= GETSOCK_READSOCK(sockindex);
- sock[sockindex] = conn->sockfd;
- }
-
- /* don't include HOLD and PAUSE connections */
- if((data->req.keepon & KEEP_WRITEBITS) == KEEP_WRITE) {
-
- if((conn->sockfd != conn->writesockfd) ||
- !(data->req.keepon & KEEP_READ)) {
- /* only if they are not the same socket or we didn't have a readable
- one, we increase index */
- if(data->req.keepon & KEEP_READ)
- sockindex++; /* increase index if we need two entries */
-
- DEBUGASSERT(conn->writesockfd != CURL_SOCKET_BAD);
-
- sock[sockindex] = conn->writesockfd;
- }
-
- bitmap |= GETSOCK_WRITESOCK(sockindex);
- }
-
- return bitmap;
-}
-
-
-/*
- * Transfer()
- *
- * This function is what performs the actual transfer. It is capable of
- * doing both ways simultaneously.
- * The transfer must already have been setup by a call to Curl_setup_transfer().
- *
- * Note that headers are created in a preallocated buffer of a default size.
- * That buffer can be enlarged on demand, but it is never shrunken again.
- *
- * Parts of this function was once written by the friendly Mark Butler
- * <butlerm@xmission.com>.
- */
-
-static CURLcode
-Transfer(struct connectdata *conn)
-{
- CURLcode result;
- struct SessionHandle *data = conn->data;
- struct SingleRequest *k = &data->req;
- bool done=FALSE;
-
- if((conn->sockfd == CURL_SOCKET_BAD) &&
- (conn->writesockfd == CURL_SOCKET_BAD))
- /* nothing to read, nothing to write, we're already OK! */
- return CURLE_OK;
-
- /* we want header and/or body, if neither then don't do this! */
- if(!k->getheader && data->set.opt_no_body)
- return CURLE_OK;
-
- while(!done) {
- curl_socket_t fd_read;
- curl_socket_t fd_write;
-
- /* limit-rate logic: if speed exceeds threshold, then do not include fd in
- select set. The current speed is recalculated in each Curl_readwrite()
- call */
- if((k->keepon & KEEP_WRITE) &&
- (!data->set.max_send_speed ||
- (data->progress.ulspeed < data->set.max_send_speed) )) {
- fd_write = conn->writesockfd;
- k->keepon &= ~KEEP_WRITE_HOLD;
- }
- else {
- fd_write = CURL_SOCKET_BAD;
- if(k->keepon & KEEP_WRITE)
- k->keepon |= KEEP_WRITE_HOLD; /* hold it */
- }
-
- if((k->keepon & KEEP_READ) &&
- (!data->set.max_recv_speed ||
- (data->progress.dlspeed < data->set.max_recv_speed)) ) {
- fd_read = conn->sockfd;
- k->keepon &= ~KEEP_READ_HOLD;
- }
- else {
- fd_read = CURL_SOCKET_BAD;
- if(k->keepon & KEEP_READ)
- k->keepon |= KEEP_READ_HOLD; /* hold it */
- }
-
- /* pause logic. Don't check descriptors for paused connections */
- if(k->keepon & KEEP_READ_PAUSE)
- fd_read = CURL_SOCKET_BAD;
- if(k->keepon & KEEP_WRITE_PAUSE)
- fd_write = CURL_SOCKET_BAD;
-
- /* The *_HOLD and *_PAUSE logic is necessary since even though there might
- be no traffic during the select interval, we still call
- Curl_readwrite() for the timeout case and if we limit transfer speed we
- must make sure that this function doesn't transfer anything while in
- HOLD status. */
-
- switch (Curl_socket_ready(fd_read, fd_write, 1000)) {
- case -1: /* select() error, stop reading */
-#ifdef EINTR
- /* The EINTR is not serious, and it seems you might get this more
- often when using the lib in a multi-threaded environment! */
- if(SOCKERRNO == EINTR)
- ;
- else
-#endif
- done = TRUE; /* no more read or write */
- continue;
- case 0: /* timeout */
- default: /* readable descriptors */
-
- result = Curl_readwrite(conn, &done);
- break;
- }
- if(result)
- return result;
-
- /* "done" signals to us if the transfer(s) are ready */
- }
-
- return CURLE_OK;
-}
-
-/*
- * Curl_pretransfer() is called immediately before a transfer starts.
- */
-CURLcode Curl_pretransfer(struct SessionHandle *data)
-{
- CURLcode res;
- if(!data->change.url) {
- /* we can't do anything without URL */
- failf(data, "No URL set!");
- return CURLE_URL_MALFORMAT;
- }
-
- /* Init the SSL session ID cache here. We do it here since we want to do it
- after the *_setopt() calls (that could change the size of the cache) but
- before any transfer takes place. */
- res = Curl_ssl_initsessions(data, data->set.ssl.numsessions);
- if(res)
- return res;
-
- data->set.followlocation=0; /* reset the location-follow counter */
- data->state.this_is_a_follow = FALSE; /* reset this */
- data->state.errorbuf = FALSE; /* no error has occurred */
-
- data->state.authproblem = FALSE;
- data->state.authhost.want = data->set.httpauth;
- data->state.authproxy.want = data->set.proxyauth;
-
- /* If there is a list of cookie files to read, do it now! */
- if(data->change.cookielist) {
- Curl_cookie_loadfiles(data);
- }
-
- /* Allow data->set.use_port to set which port to use. This needs to be
- * disabled for example when we follow Location: headers to URLs using
- * different ports! */
- data->state.allow_port = TRUE;
-
-#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(HAVE_MSG_NOSIGNAL)
- /*************************************************************
- * Tell signal handler to ignore SIGPIPE
- *************************************************************/
- if(!data->set.no_signal)
- data->state.prev_signal = signal(SIGPIPE, SIG_IGN);
-#endif
-
- Curl_initinfo(data); /* reset session-specific information "variables" */
- Curl_pgrsStartNow(data);
-
- return CURLE_OK;
-}
-
-/*
- * Curl_posttransfer() is called immediately after a transfer ends
- */
-CURLcode Curl_posttransfer(struct SessionHandle *data)
-{
-#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(HAVE_MSG_NOSIGNAL)
- /* restore the signal handler for SIGPIPE before we get back */
- if(!data->set.no_signal)
- signal(SIGPIPE, data->state.prev_signal);
-#else
- (void)data; /* unused parameter */
-#endif
-
- if(!(data->progress.flags & PGRS_HIDE) &&
- !data->progress.callback)
- /* only output if we don't use a progress callback and we're not hidden */
- fprintf(data->set.err, "\n");
-
- return CURLE_OK;
-}
-
-/*
- * strlen_url() returns the length of the given URL if the spaces within the
- * URL were properly URL encoded.
- */
-static size_t strlen_url(const char *url)
-{
- const char *ptr;
- size_t newlen=0;
- bool left=TRUE; /* left side of the ? */
-
- for(ptr=url; *ptr; ptr++) {
- switch(*ptr) {
- case '?':
- left=FALSE;
- /* fall through */
- default:
- newlen++;
- break;
- case ' ':
- if(left)
- newlen+=3;
- else
- newlen++;
- break;
- }
- }
- return newlen;
-}
-
-/* strcpy_url() copies a url to a output buffer and URL-encodes the spaces in
- * the source URL accordingly.
- */
-static void strcpy_url(char *output, const char *url)
-{
- /* we must add this with whitespace-replacing */
- bool left=TRUE;
- const char *iptr;
- char *optr = output;
- for(iptr = url; /* read from here */
- *iptr; /* until zero byte */
- iptr++) {
- switch(*iptr) {
- case '?':
- left=FALSE;
- /* fall through */
- default:
- *optr++=*iptr;
- break;
- case ' ':
- if(left) {
- *optr++='%'; /* add a '%' */
- *optr++='2'; /* add a '2' */
- *optr++='0'; /* add a '0' */
- }
- else
- *optr++='+'; /* add a '+' here */
- break;
- }
- }
- *optr=0; /* zero terminate output buffer */
-
-}
-
-/*
- * Returns true if the given URL is absolute (as opposed to relative)
- */
-static bool is_absolute_url(const char *url)
-{
- char prot[16]; /* URL protocol string storage */
- char letter; /* used for a silly sscanf */
-
- return 2 == sscanf(url, "%15[^?&/:]://%c", prot, &letter);
-}
-
-/*
- * Concatenate a relative URL to a base URL making it absolute.
- * URL-encodes any spaces.
- * The returned pointer must be freed by the caller unless NULL
- * (returns NULL on out of memory).
- */
-static char *concat_url(const char *base, const char *relurl)
-{
- /***
- TRY to append this new path to the old URL
- to the right of the host part. Oh crap, this is doomed to cause
- problems in the future...
- */
- char *newest;
- char *protsep;
- char *pathsep;
- size_t newlen;
-
- const char *useurl = relurl;
- size_t urllen;
-
- /* we must make our own copy of the URL to play with, as it may
- point to read-only data */
- char *url_clone=strdup(base);
-
- if(!url_clone)
- return NULL; /* skip out of this NOW */
-
- /* protsep points to the start of the host name */
- protsep=strstr(url_clone, "//");
- if(!protsep)
- protsep=url_clone;
- else
- protsep+=2; /* pass the slashes */
-
- if('/' != relurl[0]) {
- int level=0;
-
- /* First we need to find out if there's a ?-letter in the URL,
- and cut it and the right-side of that off */
- pathsep = strchr(protsep, '?');
- if(pathsep)
- *pathsep=0;
-
- /* we have a relative path to append to the last slash if there's one
- available, or if the new URL is just a query string (starts with a
- '?') we append the new one at the end of the entire currently worked
- out URL */
- if(useurl[0] != '?') {
- pathsep = strrchr(protsep, '/');
- if(pathsep)
- *pathsep=0;
- }
-
- /* Check if there's any slash after the host name, and if so, remember
- that position instead */
- pathsep = strchr(protsep, '/');
- if(pathsep)
- protsep = pathsep+1;
- else
- protsep = NULL;
-
- /* now deal with one "./" or any amount of "../" in the newurl
- and act accordingly */
-
- if((useurl[0] == '.') && (useurl[1] == '/'))
- useurl+=2; /* just skip the "./" */
-
- while((useurl[0] == '.') &&
- (useurl[1] == '.') &&
- (useurl[2] == '/')) {
- level++;
- useurl+=3; /* pass the "../" */
- }
-
- if(protsep) {
- while(level--) {
- /* cut off one more level from the right of the original URL */
- pathsep = strrchr(protsep, '/');
- if(pathsep)
- *pathsep=0;
- else {
- *protsep=0;
- break;
- }
- }
- }
- }
- else {
- /* We got a new absolute path for this server, cut off from the
- first slash */
- pathsep = strchr(protsep, '/');
- if(pathsep) {
- /* When people use badly formatted URLs, such as
- "http://www.url.com?dir=/home/daniel" we must not use the first
- slash, if there's a ?-letter before it! */
- char *sep = strchr(protsep, '?');
- if(sep && (sep < pathsep))
- pathsep = sep;
- *pathsep=0;
- }
- else {
- /* There was no slash. Now, since we might be operating on a badly
- formatted URL, such as "http://www.url.com?id=2380" which doesn't
- use a slash separator as it is supposed to, we need to check for a
- ?-letter as well! */
- pathsep = strchr(protsep, '?');
- if(pathsep)
- *pathsep=0;
- }
- }
-
- /* If the new part contains a space, this is a mighty stupid redirect
- but we still make an effort to do "right". To the left of a '?'
- letter we replace each space with %20 while it is replaced with '+'
- on the right side of the '?' letter.
- */
- newlen = strlen_url(useurl);
-
- urllen = strlen(url_clone);
-
- newest=(char *)malloc( urllen + 1 + /* possible slash */
- newlen + 1 /* zero byte */);
-
- if(!newest) {
- free(url_clone); /* don't leak this */
- return NULL;
- }
-
- /* copy over the root url part */
- memcpy(newest, url_clone, urllen);
-
- /* check if we need to append a slash */
- if(('/' == useurl[0]) || (protsep && !*protsep) || ('?' == useurl[0]))
- ;
- else
- newest[urllen++]='/';
-
- /* then append the new piece on the right side */
- strcpy_url(&newest[urllen], useurl);
-
- free(url_clone);
-
- return newest;
-}
-
-/*
- * Curl_follow() handles the URL redirect magic. Pass in the 'newurl' string
- * as given by the remote server and set up the new URL to request.
- */
-CURLcode Curl_follow(struct SessionHandle *data,
- char *newurl, /* this 'newurl' is the Location: string,
- and it must be malloc()ed before passed
- here */
- followtype type) /* see transfer.h */
-{
- /* Location: redirect */
- bool disallowport = FALSE;
-
- if(type == FOLLOW_REDIR) {
- if((data->set.maxredirs != -1) &&
- (data->set.followlocation >= data->set.maxredirs)) {
- failf(data,"Maximum (%d) redirects followed", data->set.maxredirs);
- return CURLE_TOO_MANY_REDIRECTS;
- }
-
- /* mark the next request as a followed location: */
- data->state.this_is_a_follow = TRUE;
-
- data->set.followlocation++; /* count location-followers */
-
- if(data->set.http_auto_referer) {
- /* We are asked to automatically set the previous URL as the referer
- when we get the next URL. We pick the ->url field, which may or may
- not be 100% correct */
-
- if(data->change.referer_alloc)
- /* If we already have an allocated referer, free this first */
- free(data->change.referer);
-
- data->change.referer = strdup(data->change.url);
- if (!data->change.referer) {
- data->change.referer_alloc = FALSE;
- return CURLE_OUT_OF_MEMORY;
- }
- data->change.referer_alloc = TRUE; /* yes, free this later */
- }
- }
-
- if(!is_absolute_url(newurl)) {
- /***
- *DANG* this is an RFC 2068 violation. The URL is supposed
- to be absolute and this doesn't seem to be that!
- */
- char *absolute = concat_url(data->change.url, newurl);
- if (!absolute)
- return CURLE_OUT_OF_MEMORY;
- free(newurl);
- newurl = absolute;
- }
- else {
- /* This is an absolute URL, don't allow the custom port number */
- disallowport = TRUE;
-
- if(strchr(newurl, ' ')) {
- /* This new URL contains at least one space, this is a mighty stupid
- redirect but we still make an effort to do "right". */
- char *newest;
- size_t newlen = strlen_url(newurl);
-
- newest = malloc(newlen+1); /* get memory for this */
- if (!newest)
- return CURLE_OUT_OF_MEMORY;
- strcpy_url(newest, newurl); /* create a space-free URL */
-
- free(newurl); /* that was no good */
- newurl = newest; /* use this instead now */
- }
-
- }
-
- if(type == FOLLOW_FAKE) {
- /* we're only figuring out the new url if we would've followed locations
- but now we're done so we can get out! */
- data->info.wouldredirect = newurl;
- return CURLE_OK;
- }
-
- if(disallowport)
- data->state.allow_port = FALSE;
-
- if(data->change.url_alloc)
- free(data->change.url);
- else
- data->change.url_alloc = TRUE; /* the URL is allocated */
-
- data->change.url = newurl;
- newurl = NULL; /* don't free! */
-
- infof(data, "Issue another request to this URL: '%s'\n", data->change.url);
-
- /*
- * We get here when the HTTP code is 300-399 (and 401). We need to perform
- * differently based on exactly what return code there was.
- *
- * News from 7.10.6: we can also get here on a 401 or 407, in case we act on
- * a HTTP (proxy-) authentication scheme other than Basic.
- */
- switch(data->info.httpcode) {
- /* 401 - Act on a WWW-Authenticate, we keep on moving and do the
- Authorization: XXXX header in the HTTP request code snippet */
- /* 407 - Act on a Proxy-Authenticate, we keep on moving and do the
- Proxy-Authorization: XXXX header in the HTTP request code snippet */
- /* 300 - Multiple Choices */
- /* 306 - Not used */
- /* 307 - Temporary Redirect */
- default: /* for all above (and the unknown ones) */
- /* Some codes are explicitly mentioned since I've checked RFC2616 and they
- * seem to be OK to POST to.
- */
- break;
- case 301: /* Moved Permanently */
- /* (quote from RFC2616, section 10.3.2):
- *
- * Note: When automatically redirecting a POST request after receiving a
- * 301 status code, some existing HTTP/1.0 user agents will erroneously
- * change it into a GET request.
- *
- * ----
- *
- * Warning: Because most of importants user agents do this obvious RFC2616
- * violation, many webservers expect this misbehavior. So these servers
- * often answers to a POST request with an error page. To be sure that
- * libcurl gets the page that most user agents would get, libcurl has to
- * force GET.
- *
- * This behaviour can be overridden with CURLOPT_POST301.
- */
- if( (data->set.httpreq == HTTPREQ_POST
- || data->set.httpreq == HTTPREQ_POST_FORM)
- && !data->set.post301) {
- infof(data,
- "Violate RFC 2616/10.3.2 and switch from POST to GET\n");
- data->set.httpreq = HTTPREQ_GET;
- }
- break;
- case 302: /* Found */
- /* (From 10.3.3)
-
- Note: RFC 1945 and RFC 2068 specify that the client is not allowed
- to change the method on the redirected request. However, most
- existing user agent implementations treat 302 as if it were a 303
- response, performing a GET on the Location field-value regardless
- of the original request method. The status codes 303 and 307 have
- been added for servers that wish to make unambiguously clear which
- kind of reaction is expected of the client.
-
- (From 10.3.4)
-
- Note: Many pre-HTTP/1.1 user agents do not understand the 303
- status. When interoperability with such clients is a concern, the
- 302 status code may be used instead, since most user agents react
- to a 302 response as described here for 303.
- */
- case 303: /* See Other */
- /* Disable both types of POSTs, since doing a second POST when
- * following isn't what anyone would want! */
- if(data->set.httpreq != HTTPREQ_GET) {
- data->set.httpreq = HTTPREQ_GET; /* enforce GET request */
- infof(data, "Disables POST, goes with %s\n",
- data->set.opt_no_body?"HEAD":"GET");
- }
- break;
- case 304: /* Not Modified */
- /* 304 means we did a conditional request and it was "Not modified".
- * We shouldn't get any Location: header in this response!
- */
- break;
- case 305: /* Use Proxy */
- /* (quote from RFC2616, section 10.3.6):
- * "The requested resource MUST be accessed through the proxy given
- * by the Location field. The Location field gives the URI of the
- * proxy. The recipient is expected to repeat this single request
- * via the proxy. 305 responses MUST only be generated by origin
- * servers."
- */
- break;
- }
- Curl_pgrsTime(data, TIMER_REDIRECT);
- Curl_pgrsResetTimes(data);
-
- return CURLE_OK;
-}
-
-static CURLcode
-connect_host(struct SessionHandle *data,
- struct connectdata **conn)
-{
- CURLcode res = CURLE_OK;
-
- bool async;
- bool protocol_done=TRUE; /* will be TRUE always since this is only used
- within the easy interface */
- Curl_pgrsTime(data, TIMER_STARTSINGLE);
- res = Curl_connect(data, conn, &async, &protocol_done);
-
- if((CURLE_OK == res) && async) {
- /* Now, if async is TRUE here, we need to wait for the name
- to resolve */
- res = Curl_wait_for_resolv(*conn, NULL);
- if(CURLE_OK == res)
- /* Resolved, continue with the connection */
- res = Curl_async_resolved(*conn, &protocol_done);
- else
- /* if we can't resolve, we kill this "connection" now */
- (void)Curl_disconnect(*conn);
- }
-
- return res;
-}
-
-/* Returns TRUE and sets '*url' if a request retry is wanted.
-
- NOTE: that the *url is malloc()ed. */
-bool Curl_retry_request(struct connectdata *conn,
- char **url)
-{
- bool retry = FALSE;
- struct SessionHandle *data = conn->data;
-
- /* if we're talking upload, we can't do the checks below, unless the protocol
- is HTTP as when uploading over HTTP we will still get a response */
- if(data->set.upload && !(conn->protocol&PROT_HTTP))
- return retry;
-
- if((data->req.bytecount +
- data->req.headerbytecount == 0) &&
- conn->bits.reuse &&
- !data->set.opt_no_body) {
- /* We got no data, we attempted to re-use a connection and yet we want a
- "body". This might happen if the connection was left alive when we were
- done using it before, but that was closed when we wanted to read from
- it again. Bad luck. Retry the same request on a fresh connect! */
- infof(conn->data, "Connection died, retrying a fresh connect\n");
- *url = strdup(conn->data->change.url);
-
- conn->bits.close = TRUE; /* close this connection */
- conn->bits.retry = TRUE; /* mark this as a connection we're about
- to retry. Marking it this way should
- prevent i.e HTTP transfers to return
- error just because nothing has been
- transfered! */
- retry = TRUE;
- }
-
- return retry;
-}
-
-/*
- * Curl_perform() is the internal high-level function that gets called by the
- * external curl_easy_perform() function. It inits, performs and cleans up a
- * single file transfer.
- */
-CURLcode Curl_perform(struct SessionHandle *data)
-{
- CURLcode res;
- CURLcode res2;
- struct connectdata *conn=NULL;
- char *newurl = NULL; /* possibly a new URL to follow to! */
- followtype follow = FOLLOW_NONE;
-
- data->state.used_interface = Curl_if_easy;
-
- res = Curl_pretransfer(data);
- if(res)
- return res;
-
- /*
- * It is important that there is NO 'return' from this function at any other
- * place than falling down to the end of the function! This is because we
- * have cleanup stuff that must be done before we get back, and that is only
- * performed after this do-while loop.
- */
-
- do {
- res = connect_host(data, &conn); /* primary connection */
-
- if(res == CURLE_OK) {
- bool do_done;
- if(data->set.connect_only) {
- /* keep connection open for application to use the socket */
- conn->bits.close = FALSE;
- res = Curl_done(&conn, CURLE_OK, FALSE);
- break;
- }
- res = Curl_do(&conn, &do_done);
-
- if(res == CURLE_OK) {
- res = Transfer(conn); /* now fetch that URL please */
- if(res == CURLE_OK) {
- bool retry = Curl_retry_request(conn, &newurl);
-
- if(retry) {
- follow = FOLLOW_RETRY;
- if (!newurl)
- res = CURLE_OUT_OF_MEMORY;
- }
- else {
- /*
- * We must duplicate the new URL here as the connection data may
- * be free()ed in the Curl_done() function. We prefer the newurl
- * one since that's used for redirects or just further requests
- * for retries or multi-stage HTTP auth methods etc.
- */
- if(data->req.newurl) {
- follow = FOLLOW_REDIR;
- newurl = strdup(data->req.newurl);
- if (!newurl)
- res = CURLE_OUT_OF_MEMORY;
- }
- else if(data->req.location) {
- follow = FOLLOW_FAKE;
- newurl = strdup(data->req.location);
- if (!newurl)
- res = CURLE_OUT_OF_MEMORY;
- }
- }
-
- /* in the above cases where 'newurl' gets assigned, we have a fresh
- * allocated memory pointed to */
- }
- if(res != CURLE_OK) {
- /* The transfer phase returned error, we mark the connection to get
- * closed to prevent being re-used. This is because we can't
- * possibly know if the connection is in a good shape or not now. */
- conn->bits.close = TRUE;
-
- if(CURL_SOCKET_BAD != conn->sock[SECONDARYSOCKET]) {
- /* if we failed anywhere, we must clean up the secondary socket if
- it was used */
- sclose(conn->sock[SECONDARYSOCKET]);
- conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD;
- }
- }
-
- /* Always run Curl_done(), even if some of the previous calls
- failed, but return the previous (original) error code */
- res2 = Curl_done(&conn, res, FALSE);
-
- if(CURLE_OK == res)
- res = res2;
- }
- else if(conn)
- /* Curl_do() failed, clean up left-overs in the done-call, but note
- that at some cases the conn pointer is NULL when Curl_do() failed
- and the connection cache is very small so only call Curl_done() if
- conn is still "alive".
- */
- res2 = Curl_done(&conn, res, FALSE);
-
- /*
- * Important: 'conn' cannot be used here, since it may have been closed
- * in 'Curl_done' or other functions.
- */
-
- if((res == CURLE_OK) && follow) {
- res = Curl_follow(data, newurl, follow);
- if(CURLE_OK == res) {
- /* if things went fine, Curl_follow() freed or otherwise took
- responsibility for the newurl pointer */
- newurl = NULL;
- if(follow >= FOLLOW_RETRY) {
- follow = FOLLOW_NONE;
- continue;
- }
- /* else we break out of the loop below */
- }
- }
- }
- break; /* it only reaches here when this shouldn't loop */
-
- } while(1); /* loop if Location: */
-
- if(newurl)
- free(newurl);
-
- if(res && !data->state.errorbuf) {
- /*
- * As an extra precaution: if no error string has been set and there was
- * an error, use the strerror() string or if things are so bad that not
- * even that is good, set a bad string that mentions the error code.
- */
- const char *str = curl_easy_strerror(res);
- if(!str)
- failf(data, "unspecified error %d", (int)res);
- else
- failf(data, "%s", str);
- }
-
- /* run post-transfer unconditionally, but don't clobber the return code if
- we already have an error code recorder */
- res2 = Curl_posttransfer(data);
- if(!res && res2)
- res = res2;
-
- return res;
-}
-
-/*
- * Curl_setup_transfer() is called to setup some basic properties for the
- * upcoming transfer.
- */
-CURLcode
-Curl_setup_transfer(
- struct connectdata *conn, /* connection data */
- int sockindex, /* socket index to read from or -1 */
- curl_off_t size, /* -1 if unknown at this point */
- bool getheader, /* TRUE if header parsing is wanted */
- curl_off_t *bytecountp, /* return number of bytes read or NULL */
- int writesockindex, /* socket index to write to, it may very well be
- the same we read from. -1 disables */
- curl_off_t *writecountp /* return number of bytes written or NULL */
- )
-{
- struct SessionHandle *data;
- struct SingleRequest *k;
-
- DEBUGASSERT(conn != NULL);
-
- data = conn->data;
- k = &data->req;
-
- DEBUGASSERT((sockindex <= 1) && (sockindex >= -1));
-
- /* now copy all input parameters */
- conn->sockfd = sockindex == -1 ?
- CURL_SOCKET_BAD : conn->sock[sockindex];
- conn->writesockfd = writesockindex == -1 ?
- CURL_SOCKET_BAD:conn->sock[writesockindex];
- k->getheader = getheader;
-
- k->size = size;
- k->bytecountp = bytecountp;
- k->writebytecountp = writecountp;
-
- /* The code sequence below is placed in this function just because all
- necessary input is not always known in do_complete() as this function may
- be called after that */
-
- if(!k->getheader) {
- k->header = FALSE;
- if(size > 0)
- Curl_pgrsSetDownloadSize(data, size);
- }
- /* we want header and/or body, if neither then don't do this! */
- if(k->getheader || !data->set.opt_no_body) {
-
- if(conn->sockfd != CURL_SOCKET_BAD) {
- k->keepon |= KEEP_READ;
- }
-
- if(conn->writesockfd != CURL_SOCKET_BAD) {
- /* HTTP 1.1 magic:
-
- Even if we require a 100-return code before uploading data, we might
- need to write data before that since the REQUEST may not have been
- finished sent off just yet.
-
- Thus, we must check if the request has been sent before we set the
- state info where we wait for the 100-return code
- */
- if((data->state.expect100header) &&
- (data->state.proto.http->sending == HTTPSEND_BODY)) {
- /* wait with write until we either got 100-continue or a timeout */
- k->exp100 = EXP100_AWAITING_CONTINUE;
- k->start100 = k->start;
- }
- else {
- if(data->state.expect100header)
- /* when we've sent off the rest of the headers, we must await a
- 100-continue but first finish sending the request */
- k->exp100 = EXP100_SENDING_REQUEST;
-
- /* enable the write bit when we're not waiting for continue */
- k->keepon |= KEEP_WRITE;
- }
- } /* if(conn->writesockfd != CURL_SOCKET_BAD) */
- } /* if(k->getheader || !data->set.opt_no_body) */
-
- return CURLE_OK;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/transfer.h b/Utilities/cmcurl-7.19.0/lib/transfer.h
deleted file mode 100644
index aad82eb..0000000
--- a/Utilities/cmcurl-7.19.0/lib/transfer.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef __TRANSFER_H
-#define __TRANSFER_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-CURLcode Curl_perform(struct SessionHandle *data);
-CURLcode Curl_pretransfer(struct SessionHandle *data);
-CURLcode Curl_second_connect(struct connectdata *conn);
-CURLcode Curl_posttransfer(struct SessionHandle *data);
-
-typedef enum {
- FOLLOW_NONE, /* not used within the function, just a placeholder to
- allow initing to this */
- FOLLOW_FAKE, /* only records stuff, not actually following */
- FOLLOW_RETRY, /* set if this is a request retry as opposed to a real
- redirect following */
- FOLLOW_REDIR, /* a full true redirect */
- FOLLOW_LAST /* never used */
-} followtype;
-
-CURLcode Curl_follow(struct SessionHandle *data, char *newurl, followtype type);
-
-
-CURLcode Curl_readwrite(struct connectdata *conn, bool *done);
-int Curl_single_getsock(const struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-CURLcode Curl_readrewind(struct connectdata *conn);
-CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp);
-bool Curl_retry_request(struct connectdata *conn, char **url);
-
-/* This sets up a forthcoming transfer */
-CURLcode
-Curl_setup_transfer (struct connectdata *data,
- int sockindex, /* socket index to read from or -1 */
- curl_off_t size, /* -1 if unknown at this point */
- bool getheader, /* TRUE if header parsing is wanted */
- curl_off_t *bytecountp, /* return number of bytes read */
- int writesockindex, /* socket index to write to, it may
- very well be the same we read from.
- -1 disables */
- curl_off_t *writecountp /* return number of bytes written */
-);
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/url.c b/Utilities/cmcurl-7.19.0/lib/url.c
deleted file mode 100644
index da757a3..0000000
--- a/Utilities/cmcurl-7.19.0/lib/url.c
+++ /dev/null
@@ -1,4825 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* -- WIN32 approved -- */
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-
-#ifdef WIN32
-#include <time.h>
-#include <io.h>
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifdef VMS
-#include <in.h>
-#include <inet.h>
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifndef HAVE_SOCKET
-#error "We can't compile without socket() support!"
-#endif
-
-#endif /* WIN32 */
-
-#ifdef USE_LIBIDN
-#include <idna.h>
-#include <tld.h>
-#include <stringprep.h>
-#ifdef HAVE_IDN_FREE_H
-#include <idn-free.h>
-#else
-void idn_free (void *ptr); /* prototype from idn-free.h, not provided by
- libidn 0.4.5's make install! */
-#endif
-#ifndef HAVE_IDN_FREE
-/* if idn_free() was not found in this version of libidn, use plain free()
- instead */
-#define idn_free(x) (free)(x)
-#endif
-#endif /* USE_LIBIDN */
-
-#include "urldata.h"
-#include "netrc.h"
-
-#include "formdata.h"
-#include "sslgen.h"
-#include "hostip.h"
-#include "transfer.h"
-#include "sendf.h"
-#include "progress.h"
-#include "cookie.h"
-#include "strequal.h"
-#include "strerror.h"
-#include "escape.h"
-#include "strtok.h"
-#include "share.h"
-#include "content_encoding.h"
-#include "http_digest.h"
-#include "http_negotiate.h"
-#include "select.h"
-#include "multiif.h"
-#include "easyif.h"
-#include "speedcheck.h"
-
-/* And now for the protocols */
-#include "ftp.h"
-#include "dict.h"
-#include "telnet.h"
-#include "tftp.h"
-#include "http.h"
-#include "file.h"
-#include "curl_ldap.h"
-#include "ssh.h"
-#include "url.h"
-#include "connect.h"
-#include "inet_ntop.h"
-#include "http_ntlm.h"
-#include "socks.h"
-
-#if defined(HAVE_INET_NTOA_R) && !defined(HAVE_INET_NTOA_R_DECL)
-#include "inet_ntoa_r.h"
-#endif
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "memory.h"
-
-/* The last #include file should be: */
-#include "memdebug.h"
-
-#ifdef __SYMBIAN32__
-#undef SIGALRM
-#endif
-
-/* Local static prototypes */
-static long ConnectionKillOne(struct SessionHandle *data);
-static bool ConnectionExists(struct SessionHandle *data,
- struct connectdata *needle,
- struct connectdata **usethis);
-static long ConnectionStore(struct SessionHandle *data,
- struct connectdata *conn);
-static bool IsPipeliningPossible(const struct SessionHandle *handle);
-static void conn_free(struct connectdata *conn);
-
-static void signalPipeClose(struct curl_llist *pipeline);
-
-static struct SessionHandle* gethandleathead(struct curl_llist *pipeline);
-static CURLcode do_init(struct connectdata *conn);
-static void do_complete(struct connectdata *conn);
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
-static void flush_cookies(struct SessionHandle *data, int cleanup);
-#endif
-
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define verboseconnect(x) do { } while (0)
-#endif
-
-#ifndef USE_ARES
-/* not for ares builds */
-
-#ifndef WIN32
-/* not for WIN32 builds */
-
-#ifdef HAVE_SIGSETJMP
-extern sigjmp_buf curl_jmpenv;
-#endif
-
-#ifdef SIGALRM
-static
-RETSIGTYPE alarmfunc(int sig)
-{
- /* this is for "-ansi -Wall -pedantic" to stop complaining! (rabe) */
- (void)sig;
-#ifdef HAVE_SIGSETJMP
- siglongjmp(curl_jmpenv, 1);
-#endif
- return;
-}
-#endif /* SIGALRM */
-#endif /* WIN32 */
-#endif /* USE_ARES */
-
-/*
- * Protocol table.
- */
-
-static const struct Curl_handler * const protocols[] = {
-
-#ifndef CURL_DISABLE_HTTP
- &Curl_handler_http,
-#endif
-
-#if defined(USE_SSL) && !defined(CURL_DISABLE_HTTP)
- &Curl_handler_https,
-#endif
-
-#ifndef CURL_DISABLE_FTP
- &Curl_handler_ftp,
-#endif
-
-#if defined(USE_SSL) && !defined(CURL_DISABLE_FTP)
- &Curl_handler_ftps,
-#endif
-
-#ifndef CURL_DISABLE_TELNET
- &Curl_handler_telnet,
-#endif
-
-#ifndef CURL_DISABLE_DICT
- &Curl_handler_dict,
-#endif
-
-#ifndef CURL_DISABLE_LDAP
- &Curl_handler_ldap,
-#endif
-
-#if !defined(CURL_DISABLE_LDAP) && defined(HAVE_LDAP_SSL)
- &Curl_handler_ldaps,
-#endif
-
-#ifndef CURL_DISABLE_FILE
- &Curl_handler_file,
-#endif
-
-#ifndef CURL_DISABLE_TFTP
- &Curl_handler_tftp,
-#endif
-
-#ifdef USE_LIBSSH2
- &Curl_handler_scp,
- &Curl_handler_sftp,
-#endif
-
- (struct Curl_handler *) NULL
-};
-
-/*
- * Dummy handler for undefined protocol schemes.
- */
-
-static const struct Curl_handler Curl_handler_dummy = {
- "<no protocol>", /* scheme */
- ZERO_NULL, /* setup_connection */
- ZERO_NULL, /* do_it */
- ZERO_NULL, /* done */
- ZERO_NULL, /* do_more */
- ZERO_NULL, /* connect_it */
- ZERO_NULL, /* connecting */
- ZERO_NULL, /* doing */
- ZERO_NULL, /* proto_getsock */
- ZERO_NULL, /* doing_getsock */
- ZERO_NULL, /* disconnect */
- 0, /* defport */
- 0 /* protocol */
-};
-
-void Curl_safefree(void *ptr)
-{
- if(ptr)
- free(ptr);
-}
-
-static void close_connections(struct SessionHandle *data)
-{
- /* Loop through all open connections and kill them one by one */
- while(-1 != ConnectionKillOne(data))
- ; /* empty loop */
-}
-
-void Curl_freeset(struct SessionHandle * data)
-{
- /* Free all dynamic strings stored in the data->set substructure. */
- enum dupstring i;
- for(i=(enum dupstring)0; i < STRING_LAST; i++)
- Curl_safefree(data->set.str[i]);
-}
-
-static CURLcode setstropt(char **charp, char * s)
-{
- /* Release the previous storage at `charp' and replace by a dynamic storage
- copy of `s'. Return CURLE_OK or CURLE_OUT_OF_MEMORY. */
-
- if(*charp) {
- free(*charp);
- *charp = (char *) NULL;
- }
-
- if(s) {
- s = strdup(s);
-
- if(!s)
- return CURLE_OUT_OF_MEMORY;
-
- *charp = s;
- }
-
- return CURLE_OK;
-}
-
-CURLcode Curl_dupset(struct SessionHandle * dst, struct SessionHandle * src)
-{
- CURLcode r = CURLE_OK;
- enum dupstring i;
-
- /* Copy src->set into dst->set first, then deal with the strings
- afterwards */
- dst->set = src->set;
-
- /* clear all string pointers first */
- memset(dst->set.str, 0, STRING_LAST * sizeof(char *));
-
- /* duplicate all strings */
- for(i=(enum dupstring)0; i< STRING_LAST; i++) {
- r = setstropt(&dst->set.str[i], src->set.str[i]);
- if(r != CURLE_OK)
- break;
- }
-
- /* If a failure occurred, freeing has to be performed externally. */
- return r;
-}
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
-static void flush_cookies(struct SessionHandle *data, int cleanup)
-{
- if(data->set.str[STRING_COOKIEJAR]) {
- if(data->change.cookielist) {
- /* If there is a list of cookie files to read, do it first so that
- we have all the told files read before we write the new jar.
- Curl_cookie_loadfiles() LOCKS and UNLOCKS the share itself! */
- Curl_cookie_loadfiles(data);
- }
-
- Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE);
-
- /* if we have a destination file for all the cookies to get dumped to */
- if(Curl_cookie_output(data->cookies, data->set.str[STRING_COOKIEJAR]))
- infof(data, "WARNING: failed to save cookies in %s\n",
- data->set.str[STRING_COOKIEJAR]);
- }
- else {
- if(cleanup && data->change.cookielist)
- /* since nothing is written, we can just free the list of cookie file
- names */
- curl_slist_free_all(data->change.cookielist); /* clean up list */
- Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE);
- }
-
- if(cleanup && (!data->share || (data->cookies != data->share->cookies))) {
- Curl_cookie_cleanup(data->cookies);
- }
- Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE);
-}
-#endif
-
-/*
- * This is the internal function curl_easy_cleanup() calls. This should
- * cleanup and free all resources associated with this sessionhandle.
- *
- * NOTE: if we ever add something that attempts to write to a socket or
- * similar here, we must ignore SIGPIPE first. It is currently only done
- * when curl_easy_perform() is invoked.
- */
-
-CURLcode Curl_close(struct SessionHandle *data)
-{
- struct Curl_multi *m = data->multi;
-
-#ifdef CURLDEBUG
- /* only for debugging, scan through all connections and see if there's a
- pipe reference still identifying this handle */
-
- if(data->state.connc && data->state.connc->type == CONNCACHE_MULTI) {
- struct conncache *c = data->state.connc;
- long i;
- struct curl_llist *pipeline;
- struct curl_llist_element *curr;
- struct connectdata *connptr;
-
- for(i=0; i< c->num; i++) {
- connptr = c->connects[i];
- if(!connptr)
- continue;
-
- pipeline = connptr->send_pipe;
- if(pipeline) {
- for (curr = pipeline->head; curr; curr=curr->next) {
- if(data == (struct SessionHandle *) curr->ptr) {
- fprintf(stderr,
- "MAJOR problem we %p are still in send pipe for %p done %d\n",
- data, connptr, connptr->bits.done);
- }
- }
- }
- pipeline = connptr->recv_pipe;
- if(pipeline) {
- for (curr = pipeline->head; curr; curr=curr->next) {
- if(data == (struct SessionHandle *) curr->ptr) {
- fprintf(stderr,
- "MAJOR problem we %p are still in recv pipe for %p done %d\n",
- data, connptr, connptr->bits.done);
- }
- }
- }
- pipeline = connptr->pend_pipe;
- if(pipeline) {
- for (curr = pipeline->head; curr; curr=curr->next) {
- if(data == (struct SessionHandle *) curr->ptr) {
- fprintf(stderr,
- "MAJOR problem we %p are still in pend pipe for %p done %d\n",
- data, connptr, connptr->bits.done);
- }
- }
- }
- }
- }
-#endif
-
- if(m)
- /* This handle is still part of a multi handle, take care of this first
- and detach this handle from there. */
- Curl_multi_rmeasy(data->multi, data);
-
- data->magic = 0; /* force a clear AFTER the possibly enforced removal from
- the multi handle, since that function uses the magic
- field! */
-
- if(data->state.connc) {
-
- if(data->state.connc->type == CONNCACHE_PRIVATE) {
- /* close all connections still alive that are in the private connection
- cache, as we no longer have the pointer left to the shared one. */
- close_connections(data);
-
- /* free the connection cache if allocated privately */
- Curl_rm_connc(data->state.connc);
- }
- }
-
- if(data->state.shared_conn) {
- /* marked to be used by a pending connection so we can't kill this handle
- just yet */
- data->state.closed = TRUE;
- return CURLE_OK;
- }
-
- if(data->dns.hostcachetype == HCACHE_PRIVATE)
- Curl_hash_destroy(data->dns.hostcache);
-
- if(data->state.rangestringalloc)
- free(data->state.range);
-
- /* Free the pathbuffer */
- Curl_safefree(data->state.pathbuffer);
- Curl_safefree(data->state.proto.generic);
-
- /* Close down all open SSL info and sessions */
- Curl_ssl_close_all(data);
- Curl_safefree(data->state.first_host);
- Curl_safefree(data->state.scratch);
-
- if(data->change.referer_alloc)
- free(data->change.referer);
-
- if(data->change.url_alloc)
- free(data->change.url);
-
- Curl_safefree(data->state.headerbuff);
-
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
- flush_cookies(data, 1);
-#endif
-
- Curl_digest_cleanup(data);
-
- Curl_safefree(data->info.contenttype);
- Curl_safefree(data->info.wouldredirect);
-
- /* this destroys the channel and we cannot use it anymore after this */
- ares_destroy(data->state.areschannel);
-
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
- /* close iconv conversion descriptors */
- if(data->inbound_cd != (iconv_t)-1) {
- iconv_close(data->inbound_cd);
- }
- if(data->outbound_cd != (iconv_t)-1) {
- iconv_close(data->outbound_cd);
- }
- if(data->utf8_cd != (iconv_t)-1) {
- iconv_close(data->utf8_cd);
- }
-#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
-
- /* No longer a dirty share, if it exists */
- if(data->share) {
- Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE);
- data->share->dirty--;
- Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
- }
-
- Curl_freeset(data);
- free(data);
- return CURLE_OK;
-}
-
-/* create a connection cache of a private or multi type */
-struct conncache *Curl_mk_connc(int type,
- long amount) /* set -1 to use default */
-{
- /* It is subject for debate how many default connections to have for a multi
- connection cache... */
-
- struct conncache *c;
- long default_amount;
-
- if(type == CONNCACHE_PRIVATE) {
- default_amount = (amount < 0) ? 5 : amount;
- }
- else {
- default_amount = (amount < 0) ? 10 : amount;
- }
-
- c= calloc(sizeof(struct conncache), 1);
- if(!c)
- return NULL;
-
- if((size_t)(default_amount) > ((size_t)-1) / sizeof(struct connectdata *))
- default_amount = ((size_t)-1) / sizeof(struct connectdata *);
-
- c->connects = calloc(sizeof(struct connectdata *), (size_t)default_amount);
- if(!c->connects) {
- free(c);
- return NULL;
- }
-
- c->num = default_amount;
-
- return c;
-}
-
-/* Change number of entries of a connection cache */
-CURLcode Curl_ch_connc(struct SessionHandle *data,
- struct conncache *c,
- long newamount)
-{
- long i;
- struct connectdata **newptr;
-
- if(newamount < 1)
- newamount = 1; /* we better have at least one entry */
-
- if(!c) {
- /* we get a NULL pointer passed in as connection cache, which means that
- there is no cache created for this SessionHandle just yet, we create a
- brand new with the requested size.
- */
- data->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, newamount);
- if(!data->state.connc)
- return CURLE_OUT_OF_MEMORY;
- return CURLE_OK;
- }
-
- if(newamount < c->num) {
- /* Since this number is *decreased* from the existing number, we must
- close the possibly open connections that live on the indexes that
- are being removed!
-
- NOTE: for conncache_multi cases we must make sure that we only
- close handles not in use.
- */
- for(i=newamount; i< c->num; i++)
- Curl_disconnect(c->connects[i]);
-
- /* If the most recent connection is no longer valid, mark it
- invalid. */
- if(data->state.lastconnect <= newamount)
- data->state.lastconnect = -1;
- }
- if(newamount > 0) {
- newptr= (struct connectdata **)
- realloc(c->connects, sizeof(struct connectdata *) * newamount);
- if(!newptr)
- /* we closed a few connections in vain, but so what? */
- return CURLE_OUT_OF_MEMORY;
-
- /* nullify the newly added pointers */
- for(i=c->num; i<newamount; i++)
- newptr[i] = NULL;
-
- c->connects = newptr;
- c->num = newamount;
- }
- /* we no longer support less than 1 as size for the connection cache, and
- I'm not sure it ever worked to set it to zero */
- return CURLE_OK;
-}
-
-/* Free a connection cache. This is called from Curl_close() and
- curl_multi_cleanup(). */
-void Curl_rm_connc(struct conncache *c)
-{
- if(c->connects) {
- long i;
- for(i = 0; i < c->num; ++i)
- conn_free(c->connects[i]);
-
- free(c->connects);
- }
-
- free(c);
-}
-
-/**
- * Curl_open()
- *
- * @param curl is a pointer to a sessionhandle pointer that gets set by this
- * function.
- * @return CURLcode
- */
-
-CURLcode Curl_open(struct SessionHandle **curl)
-{
- CURLcode res = CURLE_OK;
- struct SessionHandle *data;
-#ifdef USE_ARES
- int status;
-#endif
-
- /* Very simple start-up: alloc the struct, init it with zeroes and return */
- data = (struct SessionHandle *)calloc(1, sizeof(struct SessionHandle));
- if(!data) {
- /* this is a very serious error */
- DEBUGF(fprintf(stderr, "Error: calloc of SessionHandle failed\n"));
- return CURLE_OUT_OF_MEMORY;
- }
-
- data->magic = CURLEASY_MAGIC_NUMBER;
-
-#ifdef USE_ARES
- if((status = ares_init(&data->state.areschannel)) != ARES_SUCCESS) {
- DEBUGF(fprintf(stderr, "Error: ares_init failed\n"));
- free(data);
- if(status == ARES_ENOMEM)
- return CURLE_OUT_OF_MEMORY;
- else
- return CURLE_FAILED_INIT;
- }
- /* make sure that all other returns from this function should destroy the
- ares channel before returning error! */
-#endif
-
- /* We do some initial setup here, all those fields that can't be just 0 */
-
- data->state.headerbuff=(char*)malloc(HEADERSIZE);
- if(!data->state.headerbuff) {
- DEBUGF(fprintf(stderr, "Error: malloc of headerbuff failed\n"));
- res = CURLE_OUT_OF_MEMORY;
- }
- else {
- data->state.headersize=HEADERSIZE;
-
- data->set.out = stdout; /* default output to stdout */
- data->set.in = stdin; /* default input from stdin */
- data->set.err = stderr; /* default stderr to stderr */
-
- /* use fwrite as default function to store output */
- data->set.fwrite_func = (curl_write_callback)fwrite;
-
- /* use fread as default function to read input */
- data->set.fread_func = (curl_read_callback)fread;
-
- /* don't use a seek function by default */
- data->set.seek_func = ZERO_NULL;
- data->set.seek_client = ZERO_NULL;
-
- /* conversion callbacks for non-ASCII hosts */
- data->set.convfromnetwork = ZERO_NULL;
- data->set.convtonetwork = ZERO_NULL;
- data->set.convfromutf8 = ZERO_NULL;
-
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
- /* conversion descriptors for iconv calls */
- data->outbound_cd = (iconv_t)-1;
- data->inbound_cd = (iconv_t)-1;
- data->utf8_cd = (iconv_t)-1;
-#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
-
- data->set.infilesize = -1; /* we don't know any size */
- data->set.postfieldsize = -1;
- data->set.maxredirs = -1; /* allow any amount by default */
- data->state.current_speed = -1; /* init to negative == impossible */
-
- data->set.httpreq = HTTPREQ_GET; /* Default HTTP request */
- data->set.ftp_use_epsv = TRUE; /* FTP defaults to EPSV operations */
- data->set.ftp_use_eprt = TRUE; /* FTP defaults to EPRT operations */
- data->set.ftp_filemethod = FTPFILE_MULTICWD;
- data->set.dns_cache_timeout = 60; /* Timeout every 60 seconds by default */
-
- /* make libcurl quiet by default: */
- data->set.hide_progress = TRUE; /* CURLOPT_NOPROGRESS changes these */
- data->progress.flags |= PGRS_HIDE;
-
- /* Set the default size of the SSL session ID cache */
- data->set.ssl.numsessions = 5;
-
- data->set.proxyport = CURL_DEFAULT_PROXY_PORT; /* from url.h */
- data->set.proxytype = CURLPROXY_HTTP; /* defaults to HTTP proxy */
- data->set.httpauth = CURLAUTH_BASIC; /* defaults to basic */
- data->set.proxyauth = CURLAUTH_BASIC; /* defaults to basic */
-
- /* This no longer creates a connection cache here. It is instead made on
- the first call to curl_easy_perform() or when the handle is added to a
- multi stack. */
-
- data->set.ssh_auth_types = CURLSSH_AUTH_DEFAULT; /* defaults to any auth
- type */
- data->set.new_file_perms = 0644; /* Default permissions */
- data->set.new_directory_perms = 0755; /* Default permissions */
-
- /* most recent connection is not yet defined */
- data->state.lastconnect = -1;
-
- Curl_easy_initHandleData(data);
-
- /*
- * libcurl 7.10 introduced SSL verification *by default*! This needs to be
- * switched off unless wanted.
- */
- data->set.ssl.verifypeer = TRUE;
- data->set.ssl.verifyhost = 2;
- data->set.ssl.sessionid = TRUE; /* session ID caching enabled by default */
- /* This is our preferred CA cert bundle/path since install time */
-#if defined(CURL_CA_BUNDLE)
- res = setstropt(&data->set.str[STRING_SSL_CAFILE],
- (char *) CURL_CA_BUNDLE);
-#elif defined(CURL_CA_PATH)
- res = setstropt(&data->set.str[STRING_SSL_CAPATH], (char *) CURL_CA_PATH);
-#endif
- }
-
- if(res) {
- ares_destroy(data->state.areschannel);
- if(data->state.headerbuff)
- free(data->state.headerbuff);
- Curl_freeset(data);
- free(data);
- data = NULL;
- }
- else
- *curl = data;
-
- return res;
-}
-
-CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
- va_list param)
-{
- char *argptr;
- CURLcode result = CURLE_OK;
-#ifndef CURL_DISABLE_HTTP
- curl_off_t bigsize;
-#endif
-
- switch(option) {
- case CURLOPT_DNS_CACHE_TIMEOUT:
- data->set.dns_cache_timeout = va_arg(param, long);
- break;
- case CURLOPT_DNS_USE_GLOBAL_CACHE:
- {
- /* remember we want this enabled */
- long use_cache = va_arg(param, long);
- data->set.global_dns_cache = (bool)(0 != use_cache);
- }
- break;
- case CURLOPT_SSL_CIPHER_LIST:
- /* set a list of cipher we want to use in the SSL connection */
- result = setstropt(&data->set.str[STRING_SSL_CIPHER_LIST],
- va_arg(param, char *));
- break;
-
- case CURLOPT_RANDOM_FILE:
- /*
- * This is the path name to a file that contains random data to seed
- * the random SSL stuff with. The file is only used for reading.
- */
- result = setstropt(&data->set.str[STRING_SSL_RANDOM_FILE],
- va_arg(param, char *));
- break;
- case CURLOPT_EGDSOCKET:
- /*
- * The Entropy Gathering Daemon socket pathname
- */
- result = setstropt(&data->set.str[STRING_SSL_EGDSOCKET],
- va_arg(param, char *));
- break;
- case CURLOPT_MAXCONNECTS:
- /*
- * Set the absolute number of maximum simultaneous alive connection that
- * libcurl is allowed to have.
- */
- result = Curl_ch_connc(data, data->state.connc, va_arg(param, long));
- break;
- case CURLOPT_FORBID_REUSE:
- /*
- * When this transfer is done, it must not be left to be reused by a
- * subsequent transfer but shall be closed immediately.
- */
- data->set.reuse_forbid = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_FRESH_CONNECT:
- /*
- * This transfer shall not use a previously cached connection but
- * should be made with a fresh new connect!
- */
- data->set.reuse_fresh = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_VERBOSE:
- /*
- * Verbose means infof() calls that give a lot of information about
- * the connection and transfer procedures as well as internal choices.
- */
- data->set.verbose = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_HEADER:
- /*
- * Set to include the header in the general data output stream.
- */
- data->set.include_header = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_NOPROGRESS:
- /*
- * Shut off the internal supported progress meter
- */
- data->set.hide_progress = (bool)(0 != va_arg(param, long));
- if(data->set.hide_progress)
- data->progress.flags |= PGRS_HIDE;
- else
- data->progress.flags &= ~PGRS_HIDE;
- break;
- case CURLOPT_NOBODY:
- /*
- * Do not include the body part in the output data stream.
- */
- data->set.opt_no_body = (bool)(0 != va_arg(param, long));
-
- /* in HTTP lingo, no body means using the HEAD request and if unset there
- really is no perfect method that is the "opposite" of HEAD but in
- reality most people probably think GET then. The important thing is
- that we can't let it remain HEAD if the opt_no_body is set FALSE since
- then we'll behave wrong when getting HTTP. */
- data->set.httpreq = data->set.opt_no_body?HTTPREQ_HEAD:HTTPREQ_GET;
- break;
- case CURLOPT_FAILONERROR:
- /*
- * Don't output the >=300 error code HTML-page, but instead only
- * return error.
- */
- data->set.http_fail_on_error = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_UPLOAD:
- case CURLOPT_PUT:
- /*
- * We want to sent data to the remote host. If this is HTTP, that equals
- * using the PUT request.
- */
- data->set.upload = (bool)(0 != va_arg(param, long));
- if(data->set.upload)
- /* If this is HTTP, PUT is what's needed to "upload" */
- data->set.httpreq = HTTPREQ_PUT;
- else
- /* In HTTP, the opposite of upload is either GET or a HEAD */
- data->set.httpreq = data->set.opt_no_body?HTTPREQ_HEAD:HTTPREQ_GET;
- break;
- case CURLOPT_FILETIME:
- /*
- * Try to get the file time of the remote document. The time will
- * later (possibly) become available using curl_easy_getinfo().
- */
- data->set.get_filetime = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_FTP_CREATE_MISSING_DIRS:
- /*
- * An FTP option that modifies an upload to create missing directories on
- * the server.
- */
- data->set.ftp_create_missing_dirs = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_FTP_RESPONSE_TIMEOUT:
- /*
- * An FTP option that specifies how quickly an FTP response must be
- * obtained before it is considered failure.
- */
- data->set.ftp_response_timeout = va_arg( param , long ) * 1000;
- break;
- case CURLOPT_DIRLISTONLY:
- /*
- * An option that changes the command to one that asks for a list
- * only, no file info details.
- */
- data->set.ftp_list_only = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_APPEND:
- /*
- * We want to upload and append to an existing file.
- */
- data->set.ftp_append = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_FTP_FILEMETHOD:
- /*
- * How do access files over FTP.
- */
- data->set.ftp_filemethod = (curl_ftpfile)va_arg(param, long);
- break;
- case CURLOPT_NETRC:
- /*
- * Parse the $HOME/.netrc file
- */
- data->set.use_netrc = (enum CURL_NETRC_OPTION)va_arg(param, long);
- break;
- case CURLOPT_NETRC_FILE:
- /*
- * Use this file instead of the $HOME/.netrc file
- */
- result = setstropt(&data->set.str[STRING_NETRC_FILE],
- va_arg(param, char *));
- break;
- case CURLOPT_TRANSFERTEXT:
- /*
- * This option was previously named 'FTPASCII'. Renamed to work with
- * more protocols than merely FTP.
- *
- * Transfer using ASCII (instead of BINARY).
- */
- data->set.prefer_ascii = (bool)(0 != va_arg(param, long));
- break;
- case CURLOPT_TIMECONDITION:
- /*
- * Set HTTP time condition. This must be one of the defines in the
- * curl/curl.h header file.
- */
- data->set.timecondition = (curl_TimeCond)va_arg(param, long);
- break;
- case CURLOPT_TIMEVALUE:
- /*
- * This is the value to compare with the remote document with the
- * method set with CURLOPT_TIMECONDITION
- */
- data->set.timevalue = (time_t)va_arg(param, long);
- break;
- case CURLOPT_SSLVERSION:
- /*
- * Set explicit SSL version to try to connect with, as some SSL
- * implementations are lame.
- */
- data->set.ssl.version = va_arg(param, long);
- break;
-
-#ifndef CURL_DISABLE_HTTP
- case CURLOPT_AUTOREFERER:
- /*
- * Switch on automatic referer that gets set if curl follows locations.
- */
- data->set.http_auto_referer = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_ENCODING:
- /*
- * String to use at the value of Accept-Encoding header.
- *
- * If the encoding is set to "" we use an Accept-Encoding header that
- * encompasses all the encodings we support.
- * If the encoding is set to NULL we don't send an Accept-Encoding header
- * and ignore an received Content-Encoding header.
- *
- */
- argptr = va_arg(param, char *);
- result = setstropt(&data->set.str[STRING_ENCODING],
- (argptr && !*argptr)?
- (char *) ALL_CONTENT_ENCODINGS: argptr);
- break;
-
- case CURLOPT_FOLLOWLOCATION:
- /*
- * Follow Location: header hints on a HTTP-server.
- */
- data->set.http_follow_location = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_UNRESTRICTED_AUTH:
- /*
- * Send authentication (user+password) when following locations, even when
- * hostname changed.
- */
- data->set.http_disable_hostname_check_before_authentication =
- (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_MAXREDIRS:
- /*
- * The maximum amount of hops you allow curl to follow Location:
- * headers. This should mostly be used to detect never-ending loops.
- */
- data->set.maxredirs = va_arg(param, long);
- break;
-
- case CURLOPT_POST301:
- /*
- * Obey RFC 2616/10.3.2 and resubmit a POST as a POST after a 301.
- */
- data->set.post301 = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_POST:
- /* Does this option serve a purpose anymore? Yes it does, when
- CURLOPT_POSTFIELDS isn't used and the POST data is read off the
- callback! */
- if(va_arg(param, long)) {
- data->set.httpreq = HTTPREQ_POST;
- data->set.opt_no_body = FALSE; /* this is implied */
- }
- else
- data->set.httpreq = HTTPREQ_GET;
- break;
-
- case CURLOPT_COPYPOSTFIELDS:
- /*
- * A string with POST data. Makes curl HTTP POST. Even if it is NULL.
- * If needed, CURLOPT_POSTFIELDSIZE must have been set prior to
- * CURLOPT_COPYPOSTFIELDS and not altered later.
- */
- argptr = va_arg(param, char *);
-
- if(!argptr || data->set.postfieldsize == -1)
- result = setstropt(&data->set.str[STRING_COPYPOSTFIELDS], argptr);
- else {
- /*
- * Check that requested length does not overflow the size_t type.
- */
-
- if((data->set.postfieldsize < 0) ||
- ((sizeof(curl_off_t) != sizeof(size_t)) &&
- (data->set.postfieldsize > (curl_off_t)((size_t)-1))))
- result = CURLE_OUT_OF_MEMORY;
- else {
- char * p;
-
- (void) setstropt(&data->set.str[STRING_COPYPOSTFIELDS], NULL);
-
- /* Allocate even when size == 0. This satisfies the need of possible
- later address compare to detect the COPYPOSTFIELDS mode, and
- to mark that postfields is used rather than read function or
- form data.
- */
- p = malloc((size_t)(data->set.postfieldsize?data->set.postfieldsize:1));
-
- if(!p)
- result = CURLE_OUT_OF_MEMORY;
- else {
- if(data->set.postfieldsize)
- memcpy(p, argptr, (size_t)data->set.postfieldsize);
-
- data->set.str[STRING_COPYPOSTFIELDS] = p;
- }
- }
- }
-
- data->set.postfields = data->set.str[STRING_COPYPOSTFIELDS];
- data->set.httpreq = HTTPREQ_POST;
- break;
-
- case CURLOPT_POSTFIELDS:
- /*
- * Like above, but use static data instead of copying it.
- */
- data->set.postfields = va_arg(param, void *);
- /* Release old copied data. */
- (void) setstropt(&data->set.str[STRING_COPYPOSTFIELDS], NULL);
- data->set.httpreq = HTTPREQ_POST;
- break;
-
- case CURLOPT_POSTFIELDSIZE:
- /*
- * The size of the POSTFIELD data to prevent libcurl to do strlen() to
- * figure it out. Enables binary posts.
- */
- bigsize = va_arg(param, long);
-
- if(data->set.postfieldsize < bigsize &&
- data->set.postfields == data->set.str[STRING_COPYPOSTFIELDS]) {
- /* Previous CURLOPT_COPYPOSTFIELDS is no longer valid. */
- (void) setstropt(&data->set.str[STRING_COPYPOSTFIELDS], NULL);
- data->set.postfields = NULL;
- }
-
- data->set.postfieldsize = bigsize;
- break;
-
- case CURLOPT_POSTFIELDSIZE_LARGE:
- /*
- * The size of the POSTFIELD data to prevent libcurl to do strlen() to
- * figure it out. Enables binary posts.
- */
- bigsize = va_arg(param, curl_off_t);
-
- if(data->set.postfieldsize < bigsize &&
- data->set.postfields == data->set.str[STRING_COPYPOSTFIELDS]) {
- /* Previous CURLOPT_COPYPOSTFIELDS is no longer valid. */
- (void) setstropt(&data->set.str[STRING_COPYPOSTFIELDS], NULL);
- data->set.postfields = NULL;
- }
-
- data->set.postfieldsize = bigsize;
- break;
-
- case CURLOPT_HTTPPOST:
- /*
- * Set to make us do HTTP POST
- */
- data->set.httppost = va_arg(param, struct curl_httppost *);
- data->set.httpreq = HTTPREQ_POST_FORM;
- data->set.opt_no_body = FALSE; /* this is implied */
- break;
-
- case CURLOPT_REFERER:
- /*
- * String to set in the HTTP Referer: field.
- */
- if(data->change.referer_alloc) {
- free(data->change.referer);
- data->change.referer_alloc = FALSE;
- }
- result = setstropt(&data->set.str[STRING_SET_REFERER],
- va_arg(param, char *));
- data->change.referer = data->set.str[STRING_SET_REFERER];
- break;
-
- case CURLOPT_USERAGENT:
- /*
- * String to use in the HTTP User-Agent field
- */
- result = setstropt(&data->set.str[STRING_USERAGENT],
- va_arg(param, char *));
- break;
-
- case CURLOPT_HTTPHEADER:
- /*
- * Set a list with HTTP headers to use (or replace internals with)
- */
- data->set.headers = va_arg(param, struct curl_slist *);
- break;
-
- case CURLOPT_HTTP200ALIASES:
- /*
- * Set a list of aliases for HTTP 200 in response header
- */
- data->set.http200aliases = va_arg(param, struct curl_slist *);
- break;
-
-#if !defined(CURL_DISABLE_COOKIES)
- case CURLOPT_COOKIE:
- /*
- * Cookie string to send to the remote server in the request.
- */
- result = setstropt(&data->set.str[STRING_COOKIE],
- va_arg(param, char *));
- break;
-
- case CURLOPT_COOKIEFILE:
- /*
- * Set cookie file to read and parse. Can be used multiple times.
- */
- argptr = (char *)va_arg(param, void *);
- if(argptr) {
- struct curl_slist *cl;
- /* append the cookie file name to the list of file names, and deal with
- them later */
- cl = curl_slist_append(data->change.cookielist, argptr);
-
- if(!cl)
- return CURLE_OUT_OF_MEMORY;
-
- data->change.cookielist = cl; /* store the list for later use */
- }
- break;
-
- case CURLOPT_COOKIEJAR:
- /*
- * Set cookie file name to dump all cookies to when we're done.
- */
- result = setstropt(&data->set.str[STRING_COOKIEJAR],
- va_arg(param, char *));
-
- /*
- * Activate the cookie parser. This may or may not already
- * have been made.
- */
- data->cookies = Curl_cookie_init(data, NULL, data->cookies,
- data->set.cookiesession);
- break;
-
- case CURLOPT_COOKIESESSION:
- /*
- * Set this option to TRUE to start a new "cookie session". It will
- * prevent the forthcoming read-cookies-from-file actions to accept
- * cookies that are marked as being session cookies, as they belong to a
- * previous session.
- *
- * In the original Netscape cookie spec, "session cookies" are cookies
- * with no expire date set. RFC2109 describes the same action if no
- * 'Max-Age' is set and RFC2965 includes the RFC2109 description and adds
- * a 'Discard' action that can enforce the discard even for cookies that
- * have a Max-Age.
- *
- * We run mostly with the original cookie spec, as hardly anyone implements
- * anything else.
- */
- data->set.cookiesession = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_COOKIELIST:
- argptr = va_arg(param, char *);
-
- if(argptr == NULL)
- break;
-
- if(strequal(argptr, "ALL")) {
- /* clear all cookies */
- Curl_cookie_clearall(data->cookies);
- break;
- }
- else if(strequal(argptr, "SESS")) {
- /* clear session cookies */
- Curl_cookie_clearsess(data->cookies);
- break;
- }
- else if(strequal(argptr, "FLUSH")) {
- /* flush cookies to file */
- flush_cookies(data, 0);
- break;
- }
-
- if(!data->cookies)
- /* if cookie engine was not running, activate it */
- data->cookies = Curl_cookie_init(data, NULL, NULL, TRUE);
-
- argptr = strdup(argptr);
- if(!argptr) {
- result = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- if(checkprefix("Set-Cookie:", argptr))
- /* HTTP Header format line */
- Curl_cookie_add(data, data->cookies, TRUE, argptr + 11, NULL, NULL);
-
- else
- /* Netscape format line */
- Curl_cookie_add(data, data->cookies, FALSE, argptr, NULL, NULL);
-
- free(argptr);
- break;
-#endif /* CURL_DISABLE_COOKIES */
-
- case CURLOPT_HTTPGET:
- /*
- * Set to force us do HTTP GET
- */
- if(va_arg(param, long)) {
- data->set.httpreq = HTTPREQ_GET;
- data->set.upload = FALSE; /* switch off upload */
- data->set.opt_no_body = FALSE; /* this is implied */
- }
- break;
-
- case CURLOPT_HTTP_VERSION:
- /*
- * This sets a requested HTTP version to be used. The value is one of
- * the listed enums in curl/curl.h.
- */
- data->set.httpversion = va_arg(param, long);
- break;
-
- case CURLOPT_HTTPPROXYTUNNEL:
- /*
- * Tunnel operations through the proxy instead of normal proxy use
- */
- data->set.tunnel_thru_httpproxy = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_CUSTOMREQUEST:
- /*
- * Set a custom string to use as request
- */
- result = setstropt(&data->set.str[STRING_CUSTOMREQUEST],
- va_arg(param, char *));
-
- /* we don't set
- data->set.httpreq = HTTPREQ_CUSTOM;
- here, we continue as if we were using the already set type
- and this just changes the actual request keyword */
- break;
-
- case CURLOPT_PROXYPORT:
- /*
- * Explicitly set HTTP proxy port number.
- */
- data->set.proxyport = va_arg(param, long);
- break;
-
- case CURLOPT_HTTPAUTH:
- /*
- * Set HTTP Authentication type BITMASK.
- */
- {
- long auth = va_arg(param, long);
- /* switch off bits we can't support */
-#ifndef USE_NTLM
- auth &= ~CURLAUTH_NTLM; /* no NTLM without SSL */
-#endif
-#ifndef HAVE_GSSAPI
- auth &= ~CURLAUTH_GSSNEGOTIATE; /* no GSS-Negotiate without GSSAPI */
-#endif
- if(!auth)
- return CURLE_FAILED_INIT; /* no supported types left! */
-
- data->set.httpauth = auth;
- }
- break;
-
- case CURLOPT_PROXYAUTH:
- /*
- * Set HTTP Authentication type BITMASK.
- */
- {
- long auth = va_arg(param, long);
- /* switch off bits we can't support */
-#ifndef USE_NTLM
- auth &= ~CURLAUTH_NTLM; /* no NTLM without SSL */
-#endif
-#ifndef HAVE_GSSAPI
- auth &= ~CURLAUTH_GSSNEGOTIATE; /* no GSS-Negotiate without GSSAPI */
-#endif
- if(!auth)
- return CURLE_FAILED_INIT; /* no supported types left! */
-
- data->set.proxyauth = auth;
- }
- break;
-#endif /* CURL_DISABLE_HTTP */
-
- case CURLOPT_PROXY:
- /*
- * Set proxy server:port to use as HTTP proxy.
- *
- * If the proxy is set to "" we explicitly say that we don't want to use a
- * proxy (even though there might be environment variables saying so).
- *
- * Setting it to NULL, means no proxy but allows the environment variables
- * to decide for us.
- */
- result = setstropt(&data->set.str[STRING_PROXY],
- va_arg(param, char *));
- break;
-
- case CURLOPT_WRITEHEADER:
- /*
- * Custom pointer to pass the header write callback function
- */
- data->set.writeheader = (void *)va_arg(param, void *);
- break;
- case CURLOPT_ERRORBUFFER:
- /*
- * Error buffer provided by the caller to get the human readable
- * error string in.
- */
- data->set.errorbuffer = va_arg(param, char *);
- break;
- case CURLOPT_FILE:
- /*
- * FILE pointer to write to or include in the data write callback
- */
- data->set.out = va_arg(param, FILE *);
- break;
- case CURLOPT_FTPPORT:
- /*
- * Use FTP PORT, this also specifies which IP address to use
- */
- result = setstropt(&data->set.str[STRING_FTPPORT],
- va_arg(param, char *));
- data->set.ftp_use_port = (bool)(NULL != data->set.str[STRING_FTPPORT]);
- break;
-
- case CURLOPT_FTP_USE_EPRT:
- data->set.ftp_use_eprt = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_FTP_USE_EPSV:
- data->set.ftp_use_epsv = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_FTP_SSL_CCC:
- data->set.ftp_ccc = (curl_ftpccc)va_arg(param, long);
- break;
-
- case CURLOPT_FTP_SKIP_PASV_IP:
- /*
- * Enable or disable FTP_SKIP_PASV_IP, which will disable/enable the
- * bypass of the IP address in PASV responses.
- */
- data->set.ftp_skip_ip = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_INFILE:
- /*
- * FILE pointer to read the file to be uploaded from. Or possibly
- * used as argument to the read callback.
- */
- data->set.in = va_arg(param, FILE *);
- break;
- case CURLOPT_INFILESIZE:
- /*
- * If known, this should inform curl about the file size of the
- * to-be-uploaded file.
- */
- data->set.infilesize = va_arg(param, long);
- break;
- case CURLOPT_INFILESIZE_LARGE:
- /*
- * If known, this should inform curl about the file size of the
- * to-be-uploaded file.
- */
- data->set.infilesize = va_arg(param, curl_off_t);
- break;
- case CURLOPT_LOW_SPEED_LIMIT:
- /*
- * The low speed limit that if transfers are below this for
- * CURLOPT_LOW_SPEED_TIME, the transfer is aborted.
- */
- data->set.low_speed_limit=va_arg(param, long);
- break;
- case CURLOPT_MAX_SEND_SPEED_LARGE:
- /*
- * The max speed limit that sends transfer more than
- * CURLOPT_MAX_SEND_PER_SECOND bytes per second the transfer is
- * throttled..
- */
- data->set.max_send_speed=va_arg(param, curl_off_t);
- break;
- case CURLOPT_MAX_RECV_SPEED_LARGE:
- /*
- * The max speed limit that sends transfer more than
- * CURLOPT_MAX_RECV_PER_SECOND bytes per second the transfer is
- * throttled..
- */
- data->set.max_recv_speed=va_arg(param, curl_off_t);
- break;
- case CURLOPT_LOW_SPEED_TIME:
- /*
- * The low speed time that if transfers are below the set
- * CURLOPT_LOW_SPEED_LIMIT during this time, the transfer is aborted.
- */
- data->set.low_speed_time=va_arg(param, long);
- break;
- case CURLOPT_URL:
- /*
- * The URL to fetch.
- */
- if(data->change.url_alloc) {
- /* the already set URL is allocated, free it first! */
- free(data->change.url);
- data->change.url_alloc=FALSE;
- }
- result = setstropt(&data->set.str[STRING_SET_URL],
- va_arg(param, char *));
- data->change.url = data->set.str[STRING_SET_URL];
- break;
- case CURLOPT_PORT:
- /*
- * The port number to use when getting the URL
- */
- data->set.use_port = va_arg(param, long);
- break;
- case CURLOPT_TIMEOUT:
- /*
- * The maximum time you allow curl to use for a single transfer
- * operation.
- */
- data->set.timeout = va_arg(param, long) * 1000L;
- break;
-
- case CURLOPT_TIMEOUT_MS:
- data->set.timeout = va_arg(param, long);
- break;
-
- case CURLOPT_CONNECTTIMEOUT:
- /*
- * The maximum time you allow curl to use to connect.
- */
- data->set.connecttimeout = va_arg(param, long) * 1000L;
- break;
-
- case CURLOPT_CONNECTTIMEOUT_MS:
- data->set.connecttimeout = va_arg(param, long);
- break;
-
- case CURLOPT_USERPWD:
- /*
- * user:password to use in the operation
- */
- result = setstropt(&data->set.str[STRING_USERPWD],
- va_arg(param, char *));
- break;
- case CURLOPT_POSTQUOTE:
- /*
- * List of RAW FTP commands to use after a transfer
- */
- data->set.postquote = va_arg(param, struct curl_slist *);
- break;
- case CURLOPT_PREQUOTE:
- /*
- * List of RAW FTP commands to use prior to RETR (Wesley Laxton)
- */
- data->set.prequote = va_arg(param, struct curl_slist *);
- break;
- case CURLOPT_QUOTE:
- /*
- * List of RAW FTP commands to use before a transfer
- */
- data->set.quote = va_arg(param, struct curl_slist *);
- break;
- case CURLOPT_PROGRESSFUNCTION:
- /*
- * Progress callback function
- */
- data->set.fprogress = va_arg(param, curl_progress_callback);
- if(data->set.fprogress)
- data->progress.callback = TRUE; /* no longer internal */
- else
- data->progress.callback = FALSE; /* NULL enforces internal */
-
- break;
- case CURLOPT_PROGRESSDATA:
- /*
- * Custom client data to pass to the progress callback
- */
- data->set.progress_client = va_arg(param, void *);
- break;
- case CURLOPT_PROXYUSERPWD:
- /*
- * user:password needed to use the proxy
- */
- result = setstropt(&data->set.str[STRING_PROXYUSERPWD],
- va_arg(param, char *));
- break;
- case CURLOPT_RANGE:
- /*
- * What range of the file you want to transfer
- */
- result = setstropt(&data->set.str[STRING_SET_RANGE],
- va_arg(param, char *));
- break;
- case CURLOPT_RESUME_FROM:
- /*
- * Resume transfer at the give file position
- */
- data->set.set_resume_from = va_arg(param, long);
- break;
- case CURLOPT_RESUME_FROM_LARGE:
- /*
- * Resume transfer at the give file position
- */
- data->set.set_resume_from = va_arg(param, curl_off_t);
- break;
- case CURLOPT_DEBUGFUNCTION:
- /*
- * stderr write callback.
- */
- data->set.fdebug = va_arg(param, curl_debug_callback);
- /*
- * if the callback provided is NULL, it'll use the default callback
- */
- break;
- case CURLOPT_DEBUGDATA:
- /*
- * Set to a void * that should receive all error writes. This
- * defaults to CURLOPT_STDERR for normal operations.
- */
- data->set.debugdata = va_arg(param, void *);
- break;
- case CURLOPT_STDERR:
- /*
- * Set to a FILE * that should receive all error writes. This
- * defaults to stderr for normal operations.
- */
- data->set.err = va_arg(param, FILE *);
- if(!data->set.err)
- data->set.err = stderr;
- break;
- case CURLOPT_HEADERFUNCTION:
- /*
- * Set header write callback
- */
- data->set.fwrite_header = va_arg(param, curl_write_callback);
- break;
- case CURLOPT_WRITEFUNCTION:
- /*
- * Set data write callback
- */
- data->set.fwrite_func = va_arg(param, curl_write_callback);
- if(!data->set.fwrite_func)
- /* When set to NULL, reset to our internal default function */
- data->set.fwrite_func = (curl_write_callback)fwrite;
- break;
- case CURLOPT_READFUNCTION:
- /*
- * Read data callback
- */
- data->set.fread_func = va_arg(param, curl_read_callback);
- if(!data->set.fread_func)
- /* When set to NULL, reset to our internal default function */
- data->set.fread_func = (curl_read_callback)fread;
- break;
- case CURLOPT_SEEKFUNCTION:
- /*
- * Seek callback. Might be NULL.
- */
- data->set.seek_func = va_arg(param, curl_seek_callback);
- break;
- case CURLOPT_SEEKDATA:
- /*
- * Seek control callback. Might be NULL.
- */
- data->set.seek_client = va_arg(param, void *);
- break;
- case CURLOPT_CONV_FROM_NETWORK_FUNCTION:
- /*
- * "Convert from network encoding" callback
- */
- data->set.convfromnetwork = va_arg(param, curl_conv_callback);
- break;
- case CURLOPT_CONV_TO_NETWORK_FUNCTION:
- /*
- * "Convert to network encoding" callback
- */
- data->set.convtonetwork = va_arg(param, curl_conv_callback);
- break;
- case CURLOPT_CONV_FROM_UTF8_FUNCTION:
- /*
- * "Convert from UTF-8 encoding" callback
- */
- data->set.convfromutf8 = va_arg(param, curl_conv_callback);
- break;
- case CURLOPT_IOCTLFUNCTION:
- /*
- * I/O control callback. Might be NULL.
- */
- data->set.ioctl_func = va_arg(param, curl_ioctl_callback);
- break;
- case CURLOPT_IOCTLDATA:
- /*
- * I/O control data pointer. Might be NULL.
- */
- data->set.ioctl_client = va_arg(param, void *);
- break;
- case CURLOPT_SSLCERT:
- /*
- * String that holds file name of the SSL certificate to use
- */
- result = setstropt(&data->set.str[STRING_CERT],
- va_arg(param, char *));
- break;
- case CURLOPT_SSLCERTTYPE:
- /*
- * String that holds file type of the SSL certificate to use
- */
- result = setstropt(&data->set.str[STRING_CERT_TYPE],
- va_arg(param, char *));
- break;
- case CURLOPT_SSLKEY:
- /*
- * String that holds file name of the SSL certificate to use
- */
- result = setstropt(&data->set.str[STRING_KEY],
- va_arg(param, char *));
- break;
- case CURLOPT_SSLKEYTYPE:
- /*
- * String that holds file type of the SSL certificate to use
- */
- result = setstropt(&data->set.str[STRING_KEY_TYPE],
- va_arg(param, char *));
- break;
- case CURLOPT_KEYPASSWD:
- /*
- * String that holds the SSL or SSH private key password.
- */
- result = setstropt(&data->set.str[STRING_KEY_PASSWD],
- va_arg(param, char *));
- break;
- case CURLOPT_SSLENGINE:
- /*
- * String that holds the SSL crypto engine.
- */
- argptr = va_arg(param, char *);
- if(argptr && argptr[0])
- result = Curl_ssl_set_engine(data, argptr);
- break;
-
- case CURLOPT_SSLENGINE_DEFAULT:
- /*
- * flag to set engine as default.
- */
- result = Curl_ssl_set_engine_default(data);
- break;
- case CURLOPT_CRLF:
- /*
- * Kludgy option to enable CRLF conversions. Subject for removal.
- */
- data->set.crlf = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_INTERFACE:
- /*
- * Set what interface or address/hostname to bind the socket to when
- * performing an operation and thus what from-IP your connection will use.
- */
- result = setstropt(&data->set.str[STRING_DEVICE],
- va_arg(param, char *));
- break;
- case CURLOPT_LOCALPORT:
- /*
- * Set what local port to bind the socket to when performing an operation.
- */
- data->set.localport = (unsigned short) va_arg(param, long);
- break;
- case CURLOPT_LOCALPORTRANGE:
- /*
- * Set number of local ports to try, starting with CURLOPT_LOCALPORT.
- */
- data->set.localportrange = (int) va_arg(param, long);
- break;
- case CURLOPT_KRBLEVEL:
- /*
- * A string that defines the kerberos security level.
- */
- result = setstropt(&data->set.str[STRING_KRB_LEVEL],
- va_arg(param, char *));
- data->set.krb = (bool)(NULL != data->set.str[STRING_KRB_LEVEL]);
- break;
- case CURLOPT_SSL_VERIFYPEER:
- /*
- * Enable peer SSL verifying.
- */
- data->set.ssl.verifypeer = va_arg(param, long);
- break;
- case CURLOPT_SSL_VERIFYHOST:
- /*
- * Enable verification of the CN contained in the peer certificate
- */
- data->set.ssl.verifyhost = va_arg(param, long);
- break;
-#ifdef USE_SSLEAY
- /* since these two options are only possible to use on an OpenSSL-
- powered libcurl we #ifdef them on this condition so that libcurls
- built against other SSL libs will return a proper error when trying
- to set this option! */
- case CURLOPT_SSL_CTX_FUNCTION:
- /*
- * Set a SSL_CTX callback
- */
- data->set.ssl.fsslctx = va_arg(param, curl_ssl_ctx_callback);
- break;
- case CURLOPT_SSL_CTX_DATA:
- /*
- * Set a SSL_CTX callback parameter pointer
- */
- data->set.ssl.fsslctxp = va_arg(param, void *);
- break;
-#endif
- case CURLOPT_CAINFO:
- /*
- * Set CA info for SSL connection. Specify file name of the CA certificate
- */
- result = setstropt(&data->set.str[STRING_SSL_CAFILE],
- va_arg(param, char *));
- break;
- case CURLOPT_CAPATH:
- /*
- * Set CA path info for SSL connection. Specify directory name of the CA
- * certificates which have been prepared using openssl c_rehash utility.
- */
- /* This does not work on windows. */
- result = setstropt(&data->set.str[STRING_SSL_CAPATH],
- va_arg(param, char *));
- break;
- case CURLOPT_CRLFILE:
- /*
- * Set CRL file info for SSL connection. Specify file name of the CRL
- * to check certificates revocation
- */
- result = setstropt(&data->set.str[STRING_SSL_CRLFILE],
- va_arg(param, char *));
- break;
- case CURLOPT_ISSUERCERT:
- /*
- * Set Issuer certificate file
- * to check certificates issuer
- */
- result = setstropt(&data->set.str[STRING_SSL_ISSUERCERT],
- va_arg(param, char *));
- break;
- case CURLOPT_TELNETOPTIONS:
- /*
- * Set a linked list of telnet options
- */
- data->set.telnet_options = va_arg(param, struct curl_slist *);
- break;
-
- case CURLOPT_BUFFERSIZE:
- /*
- * The application kindly asks for a differently sized receive buffer.
- * If it seems reasonable, we'll use it.
- */
- data->set.buffer_size = va_arg(param, long);
-
- if((data->set.buffer_size> (BUFSIZE -1 )) ||
- (data->set.buffer_size < 1))
- data->set.buffer_size = 0; /* huge internal default */
-
- break;
-
- case CURLOPT_NOSIGNAL:
- /*
- * The application asks not to set any signal() or alarm() handlers,
- * even when using a timeout.
- */
- data->set.no_signal = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_SHARE:
- {
- struct Curl_share *set;
- set = va_arg(param, struct Curl_share *);
-
- /* disconnect from old share, if any */
- if(data->share) {
- Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE);
-
- if(data->dns.hostcachetype == HCACHE_SHARED) {
- data->dns.hostcache = NULL;
- data->dns.hostcachetype = HCACHE_NONE;
- }
-
- if(data->share->cookies == data->cookies)
- data->cookies = NULL;
-
- data->share->dirty--;
-
- Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
- data->share = NULL;
- }
-
- /* use new share if it set */
- data->share = set;
- if(data->share) {
-
- Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE);
-
- data->share->dirty++;
-
- if(data->share->hostcache) {
- /* use shared host cache, first free the private one if any */
- if(data->dns.hostcachetype == HCACHE_PRIVATE)
- Curl_hash_destroy(data->dns.hostcache);
-
- data->dns.hostcache = data->share->hostcache;
- data->dns.hostcachetype = HCACHE_SHARED;
- }
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
- if(data->share->cookies) {
- /* use shared cookie list, first free own one if any */
- if(data->cookies)
- Curl_cookie_cleanup(data->cookies);
- /* enable cookies since we now use a share that uses cookies! */
- data->cookies = data->share->cookies;
- }
-#endif /* CURL_DISABLE_HTTP */
- Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
-
- }
- /* check for host cache not needed,
- * it will be done by curl_easy_perform */
- }
- break;
-
- case CURLOPT_PROXYTYPE:
- /*
- * Set proxy type. HTTP/SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME
- */
- data->set.proxytype = (curl_proxytype)va_arg(param, long);
- break;
-
- case CURLOPT_PRIVATE:
- /*
- * Set private data pointer.
- */
- data->set.private_data = va_arg(param, void *);
- break;
-
- case CURLOPT_MAXFILESIZE:
- /*
- * Set the maximum size of a file to download.
- */
- data->set.max_filesize = va_arg(param, long);
- break;
-
- case CURLOPT_USE_SSL:
- /*
- * Make transfers attempt to use SSL/TLS.
- */
- data->set.ftp_ssl = (curl_usessl)va_arg(param, long);
- break;
-
- case CURLOPT_FTPSSLAUTH:
- /*
- * Set a specific auth for FTP-SSL transfers.
- */
- data->set.ftpsslauth = (curl_ftpauth)va_arg(param, long);
- break;
-
- case CURLOPT_IPRESOLVE:
- data->set.ip_version = va_arg(param, long);
- break;
-
- case CURLOPT_MAXFILESIZE_LARGE:
- /*
- * Set the maximum size of a file to download.
- */
- data->set.max_filesize = va_arg(param, curl_off_t);
- break;
-
- case CURLOPT_TCP_NODELAY:
- /*
- * Enable or disable TCP_NODELAY, which will disable/enable the Nagle
- * algorithm
- */
- data->set.tcp_nodelay = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_FTP_ACCOUNT:
- result = setstropt(&data->set.str[STRING_FTP_ACCOUNT],
- va_arg(param, char *));
- break;
-
- case CURLOPT_IGNORE_CONTENT_LENGTH:
- data->set.ignorecl = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_CONNECT_ONLY:
- /*
- * No data transfer, set up connection and let application use the socket
- */
- data->set.connect_only = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_FTP_ALTERNATIVE_TO_USER:
- result = setstropt(&data->set.str[STRING_FTP_ALTERNATIVE_TO_USER],
- va_arg(param, char *));
- break;
-
- case CURLOPT_SOCKOPTFUNCTION:
- /*
- * socket callback function: called after socket() but before connect()
- */
- data->set.fsockopt = va_arg(param, curl_sockopt_callback);
- break;
-
- case CURLOPT_SOCKOPTDATA:
- /*
- * socket callback data pointer. Might be NULL.
- */
- data->set.sockopt_client = va_arg(param, void *);
- break;
-
- case CURLOPT_OPENSOCKETFUNCTION:
- /*
- * open/create socket callback function: called instead of socket(),
- * before connect()
- */
- data->set.fopensocket = va_arg(param, curl_opensocket_callback);
- break;
-
- case CURLOPT_OPENSOCKETDATA:
- /*
- * socket callback data pointer. Might be NULL.
- */
- data->set.opensocket_client = va_arg(param, void *);
- break;
-
- case CURLOPT_SSL_SESSIONID_CACHE:
- data->set.ssl.sessionid = (bool)(0 != va_arg(param, long));
- break;
-
- case CURLOPT_SSH_AUTH_TYPES:
- data->set.ssh_auth_types = va_arg(param, long);
- break;
-
- case CURLOPT_SSH_PUBLIC_KEYFILE:
- /*
- * Use this file instead of the $HOME/.ssh/id_dsa.pub file
- */
- result = setstropt(&data->set.str[STRING_SSH_PUBLIC_KEY],
- va_arg(param, char *));
- break;
-
- case CURLOPT_SSH_PRIVATE_KEYFILE:
- /*
- * Use this file instead of the $HOME/.ssh/id_dsa file
- */
- result = setstropt(&data->set.str[STRING_SSH_PRIVATE_KEY],
- va_arg(param, char *));
- break;
- case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5:
- /*
- * Option to allow for the MD5 of the host public key to be checked
- * for validation purposes.
- */
- result = setstropt(&data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5],
- va_arg(param, char *));
- break;
- case CURLOPT_HTTP_TRANSFER_DECODING:
- /*
- * disable libcurl transfer encoding is used
- */
- data->set.http_te_skip = (bool)(0 == va_arg(param, long));
- break;
-
- case CURLOPT_HTTP_CONTENT_DECODING:
- /*
- * raw data passed to the application when content encoding is used
- */
- data->set.http_ce_skip = (bool)(0 == va_arg(param, long));
- break;
-
- case CURLOPT_NEW_FILE_PERMS:
- /*
- * Uses these permissions instead of 0644
- */
- data->set.new_file_perms = va_arg(param, long);
- break;
-
- case CURLOPT_NEW_DIRECTORY_PERMS:
- /*
- * Uses these permissions instead of 0755
- */
- data->set.new_directory_perms = va_arg(param, long);
- break;
- case CURLOPT_PROXY_TRANSFER_MODE:
- /*
- * set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy
- */
- switch (va_arg(param, long)) {
- case 0:
- data->set.proxy_transfer_mode = FALSE;
- break;
- case 1:
- data->set.proxy_transfer_mode = TRUE;
- break;
- default:
- /* reserve other values for future use */
- result = CURLE_FAILED_INIT;
- break;
- }
- break;
-
- case CURLOPT_ADDRESS_SCOPE:
- /*
- * We always get longs when passed plain numericals, but for this value we
- * know that an unsigned int will always hold the value so we blindly
- * typecast to this type
- */
- data->set.scope = (unsigned int) va_arg(param, long);
- break;
-
- default:
- /* unknown tag and its companion, just ignore: */
- result = CURLE_FAILED_INIT; /* correct this */
- break;
- }
-
- return result;
-}
-
-static void conn_free(struct connectdata *conn)
-{
- if(!conn)
- return;
-
- /* close possibly still open sockets */
- if(CURL_SOCKET_BAD != conn->sock[SECONDARYSOCKET])
- sclose(conn->sock[SECONDARYSOCKET]);
- if(CURL_SOCKET_BAD != conn->sock[FIRSTSOCKET])
- sclose(conn->sock[FIRSTSOCKET]);
-
- Curl_safefree(conn->user);
- Curl_safefree(conn->passwd);
- Curl_safefree(conn->proxyuser);
- Curl_safefree(conn->proxypasswd);
- Curl_safefree(conn->allocptr.proxyuserpwd);
- Curl_safefree(conn->allocptr.uagent);
- Curl_safefree(conn->allocptr.userpwd);
- Curl_safefree(conn->allocptr.accept_encoding);
- Curl_safefree(conn->allocptr.rangeline);
- Curl_safefree(conn->allocptr.ref);
- Curl_safefree(conn->allocptr.host);
- Curl_safefree(conn->allocptr.cookiehost);
- Curl_safefree(conn->ip_addr_str);
- Curl_safefree(conn->trailer);
- Curl_safefree(conn->host.rawalloc); /* host name buffer */
- Curl_safefree(conn->proxy.rawalloc); /* proxy name buffer */
- Curl_safefree(conn->master_buffer);
-
- Curl_llist_destroy(conn->send_pipe, NULL);
- Curl_llist_destroy(conn->recv_pipe, NULL);
- Curl_llist_destroy(conn->pend_pipe, NULL);
-
- /* possible left-overs from the async name resolvers */
-#if defined(USE_ARES)
- Curl_safefree(conn->async.hostname);
- Curl_safefree(conn->async.os_specific);
-#elif defined(CURLRES_THREADED)
- Curl_destroy_thread_data(&conn->async);
-#endif
-
- Curl_ssl_close(conn, FIRSTSOCKET);
- Curl_ssl_close(conn, SECONDARYSOCKET);
-
- Curl_free_ssl_config(&conn->ssl_config);
-
- free(conn); /* free all the connection oriented data */
-}
-
-CURLcode Curl_disconnect(struct connectdata *conn)
-{
- struct SessionHandle *data;
- if(!conn)
- return CURLE_OK; /* this is closed and fine already */
- data = conn->data;
-
- if(!data) {
- DEBUGF(infof(data, "DISCONNECT without easy handle, ignoring\n"));
- return CURLE_OK;
- }
-
-#if defined(CURLDEBUG) && defined(AGGRESIVE_TEST)
- /* scan for DNS cache entries still marked as in use */
- Curl_hash_apply(data->hostcache,
- NULL, Curl_scan_cache_used);
-#endif
-
- Curl_expire(data, 0); /* shut off timers */
- Curl_hostcache_prune(data); /* kill old DNS cache entries */
-
- {
- int has_host_ntlm = (conn->ntlm.state != NTLMSTATE_NONE);
- int has_proxy_ntlm = (conn->proxyntlm.state != NTLMSTATE_NONE);
-
- /* Authentication data is a mix of connection-related and sessionhandle-
- related stuff. NTLM is connection-related so when we close the shop
- we shall forget. */
-
- if (has_host_ntlm) {
- data->state.authhost.done = FALSE;
- data->state.authhost.picked =
- data->state.authhost.want;
- }
-
- if (has_proxy_ntlm) {
- data->state.authproxy.done = FALSE;
- data->state.authproxy.picked =
- data->state.authproxy.want;
- }
-
- if (has_host_ntlm || has_proxy_ntlm) {
- data->state.authproblem = FALSE;
-
- Curl_ntlm_cleanup(conn);
- }
- }
-
- /* Cleanup possible redirect junk */
- if(data->req.newurl) {
- free(data->req.newurl);
- data->req.newurl = NULL;
- }
-
- if(conn->handler->disconnect)
- /* This is set if protocol-specific cleanups should be made */
- conn->handler->disconnect(conn);
-
- if(-1 != conn->connectindex) {
- /* unlink ourselves! */
- infof(data, "Closing connection #%ld\n", conn->connectindex);
- if(data->state.connc)
- /* only clear the table entry if we still know in which cache we
- used to be in */
- data->state.connc->connects[conn->connectindex] = NULL;
- }
-
-#ifdef USE_LIBIDN
- if(conn->host.encalloc)
- idn_free(conn->host.encalloc); /* encoded host name buffer, must be freed
- with idn_free() since this was allocated
- by libidn */
- if(conn->proxy.encalloc)
- idn_free(conn->proxy.encalloc); /* encoded proxy name buffer, must be
- freed with idn_free() since this was
- allocated by libidn */
-#endif
-
- Curl_ssl_close(conn, FIRSTSOCKET);
-
- /* Indicate to all handles on the pipe that we're dead */
- if(Curl_isPipeliningEnabled(data)) {
- signalPipeClose(conn->send_pipe);
- signalPipeClose(conn->recv_pipe);
- signalPipeClose(conn->pend_pipe);
- }
-
- conn_free(conn);
- data->state.current_conn = NULL;
-
- return CURLE_OK;
-}
-
-/*
- * This function should return TRUE if the socket is to be assumed to
- * be dead. Most commonly this happens when the server has closed the
- * connection due to inactivity.
- */
-static bool SocketIsDead(curl_socket_t sock)
-{
- int sval;
- bool ret_val = TRUE;
-
- sval = Curl_socket_ready(sock, CURL_SOCKET_BAD, 0);
- if(sval == 0)
- /* timeout */
- ret_val = FALSE;
-
- return ret_val;
-}
-
-static bool IsPipeliningPossible(const struct SessionHandle *handle)
-{
- if(handle->multi && Curl_multi_canPipeline(handle->multi) &&
- (handle->set.httpreq == HTTPREQ_GET ||
- handle->set.httpreq == HTTPREQ_HEAD) &&
- handle->set.httpversion != CURL_HTTP_VERSION_1_0)
- return TRUE;
-
- return FALSE;
-}
-
-bool Curl_isPipeliningEnabled(const struct SessionHandle *handle)
-{
- if(handle->multi && Curl_multi_canPipeline(handle->multi))
- return TRUE;
-
- return FALSE;
-}
-
-CURLcode Curl_addHandleToPipeline(struct SessionHandle *data,
- struct curl_llist *pipeline)
-{
-#ifdef CURLDEBUG
- if(!IsPipeliningPossible(data)) {
- /* when not pipelined, there MUST be no handle in the list already */
- if(pipeline->head)
- infof(data, "PIPE when no PIPE supposed!\n");
- }
-#endif
- if(!Curl_llist_insert_next(pipeline, pipeline->tail, data))
- return CURLE_OUT_OF_MEMORY;
- return CURLE_OK;
-}
-
-int Curl_removeHandleFromPipeline(struct SessionHandle *handle,
- struct curl_llist *pipeline)
-{
- struct curl_llist_element *curr;
-
- curr = pipeline->head;
- while(curr) {
- if(curr->ptr == handle) {
- Curl_llist_remove(pipeline, curr, NULL);
- return 1; /* we removed a handle */
- }
- curr = curr->next;
- }
-
- return 0;
-}
-
-#if 0 /* this code is saved here as it is useful for debugging purposes */
-static void Curl_printPipeline(struct curl_llist *pipeline)
-{
- struct curl_llist_element *curr;
-
- curr = pipeline->head;
- while(curr) {
- struct SessionHandle *data = (struct SessionHandle *) curr->ptr;
- infof(data, "Handle in pipeline: %s\n", data->state.path);
- curr = curr->next;
- }
-}
-#endif
-
-static struct SessionHandle* gethandleathead(struct curl_llist *pipeline)
-{
- struct curl_llist_element *curr = pipeline->head;
- if(curr) {
- return (struct SessionHandle *) curr->ptr;
- }
-
- return NULL;
-}
-
-static void signalPipeClose(struct curl_llist *pipeline)
-{
- struct curl_llist_element *curr;
-
- if(!pipeline)
- return;
-
- curr = pipeline->head;
- while(curr) {
- struct curl_llist_element *next = curr->next;
- struct SessionHandle *data = (struct SessionHandle *) curr->ptr;
-
-#ifdef CURLDEBUG /* debug-only code */
- if(data->magic != CURLEASY_MAGIC_NUMBER) {
- /* MAJOR BADNESS */
- infof(data, "signalPipeClose() found BAAD easy handle\n");
- }
-#endif
-
- data->state.pipe_broke = TRUE;
- Curl_multi_handlePipeBreak(data);
- Curl_llist_remove(pipeline, curr, NULL);
- curr = next;
- }
-}
-
-
-/*
- * Given one filled in connection struct (named needle), this function should
- * detect if there already is one that has all the significant details
- * exactly the same and thus should be used instead.
- *
- * If there is a match, this function returns TRUE - and has marked the
- * connection as 'in-use'. It must later be called with ConnectionDone() to
- * return back to 'idle' (unused) state.
- */
-static bool
-ConnectionExists(struct SessionHandle *data,
- struct connectdata *needle,
- struct connectdata **usethis)
-{
- long i;
- struct connectdata *check;
- bool canPipeline = IsPipeliningPossible(data);
-
- for(i=0; i< data->state.connc->num; i++) {
- bool match = FALSE;
- size_t pipeLen = 0;
- /*
- * Note that if we use a HTTP proxy, we check connections to that
- * proxy and not to the actual remote server.
- */
- check = data->state.connc->connects[i];
- if(!check)
- /* NULL pointer means not filled-in entry */
- continue;
-
- pipeLen = check->send_pipe->size + check->recv_pipe->size;
-
- if(check->connectindex == -1) {
- check->connectindex = i; /* Set this appropriately since it might have
- been set to -1 when the easy was removed
- from the multi */
- }
-
- if(canPipeline) {
- /* Make sure the pipe has only GET requests */
- struct SessionHandle* sh = gethandleathead(check->send_pipe);
- struct SessionHandle* rh = gethandleathead(check->recv_pipe);
- if(sh) {
- if(!IsPipeliningPossible(sh))
- continue;
- }
- else if(rh) {
- if(!IsPipeliningPossible(rh))
- continue;
- }
-
-#ifdef CURLDEBUG
- if(pipeLen > MAX_PIPELINE_LENGTH) {
- infof(data, "BAD! Connection #%ld has too big pipeline!\n",
- check->connectindex);
- }
-#endif
- }
- else {
- if(pipeLen > 0) {
- /* can only happen within multi handles, and means that another easy
- handle is using this connection */
- continue;
- }
-
-#ifdef CURLRES_ASYNCH
- /* ip_addr_str is NULL only if the resolving of the name hasn't completed
- yet and until then we don't re-use this connection */
- if(!check->ip_addr_str) {
- infof(data,
- "Connection #%ld hasn't finished name resolve, can't reuse\n",
- check->connectindex);
- continue;
- }
-#endif
-
- if((check->sock[FIRSTSOCKET] == CURL_SOCKET_BAD) || check->bits.close) {
- /* Don't pick a connection that hasn't connected yet or that is going to
- get closed. */
- infof(data, "Connection #%ld isn't open enough, can't reuse\n",
- check->connectindex);
-#ifdef CURLDEBUG
- if(check->recv_pipe->size > 0) {
- infof(data, "BAD! Unconnected #%ld has a non-empty recv pipeline!\n",
- check->connectindex);
- }
-#endif
- continue;
- }
- }
-
- if((needle->protocol&PROT_SSL) != (check->protocol&PROT_SSL))
- /* don't do mixed SSL and non-SSL connections */
- continue;
-
- if(needle->bits.proxy != check->bits.proxy)
- /* don't do mixed proxy and non-proxy connections */
- continue;
-
- if(!needle->bits.httpproxy || needle->protocol&PROT_SSL ||
- (needle->bits.httpproxy && check->bits.httpproxy &&
- needle->bits.tunnel_proxy && check->bits.tunnel_proxy &&
- strequal(needle->proxy.name, check->proxy.name) &&
- (needle->port == check->port))) {
- /* The requested connection does not use a HTTP proxy or it uses SSL or
- it is a non-SSL protocol tunneled over the same http proxy name and
- port number */
-
- if(strequal(needle->protostr, check->protostr) &&
- strequal(needle->host.name, check->host.name) &&
- (needle->remote_port == check->remote_port) ) {
- if(needle->protocol & PROT_SSL) {
- /* This is SSL, verify that we're using the same
- ssl options as well */
- if(!Curl_ssl_config_matches(&needle->ssl_config,
- &check->ssl_config)) {
- DEBUGF(infof(data,
- "Connection #%ld has different SSL parameters, "
- "can't reuse\n",
- check->connectindex));
- continue;
- }
- else if(check->ssl[FIRSTSOCKET].state != ssl_connection_complete) {
- DEBUGF(infof(data,
- "Connection #%ld has not started ssl connect, "
- "can't reuse\n",
- check->connectindex));
- continue;
- }
- }
- if((needle->protocol & PROT_FTP) ||
- ((needle->protocol & PROT_HTTP) &&
- (data->state.authhost.want==CURLAUTH_NTLM))) {
- /* This is FTP or HTTP+NTLM, verify that we're using the same name
- and password as well */
- if(!strequal(needle->user, check->user) ||
- !strequal(needle->passwd, check->passwd)) {
- /* one of them was different */
- continue;
- }
- }
- match = TRUE;
- }
- }
- else { /* The requested needle connection is using a proxy,
- is the checked one using the same host, port and type? */
- if(check->bits.proxy &&
- (needle->proxytype == check->proxytype) &&
- strequal(needle->proxy.name, check->proxy.name) &&
- needle->port == check->port) {
- /* This is the same proxy connection, use it! */
- match = TRUE;
- }
- }
-
- if(match) {
- if(!pipeLen && !check->inuse) {
- /* The check for a dead socket makes sense only if there are no
- handles in pipeline and the connection isn't already marked in
- use */
- bool dead = SocketIsDead(check->sock[FIRSTSOCKET]);
- if(dead) {
- check->data = data;
- infof(data, "Connection #%d seems to be dead!\n", i);
-
- Curl_disconnect(check); /* disconnect resources */
- data->state.connc->connects[i]=NULL; /* nothing here */
-
- return FALSE;
- }
- }
-
- check->inuse = TRUE; /* mark this as being in use so that no other
- handle in a multi stack may nick it */
-
- *usethis = check;
- return TRUE; /* yes, we found one to use! */
- }
- }
-
- return FALSE; /* no matching connecting exists */
-}
-
-
-
-/*
- * This function frees/closes a connection in the connection cache. This
- * should take the previously set policy into account when deciding which
- * of the connections to kill.
- */
-static long
-ConnectionKillOne(struct SessionHandle *data)
-{
- long i;
- struct connectdata *conn;
- long highscore=-1;
- long connindex=-1;
- long score;
- struct timeval now;
-
- now = Curl_tvnow();
-
- for(i=0; data->state.connc && (i< data->state.connc->num); i++) {
- conn = data->state.connc->connects[i];
-
- if(!conn || conn->inuse)
- continue;
-
- /* Set higher score for the age passed since the connection was used */
- score = Curl_tvdiff(now, conn->now);
-
- if(score > highscore) {
- highscore = score;
- connindex = i;
- }
- }
- if(connindex >= 0) {
- /* Set the connection's owner correctly */
- conn = data->state.connc->connects[connindex];
- conn->data = data;
-
- /* the winner gets the honour of being disconnected */
- (void)Curl_disconnect(conn);
-
- /* clean the array entry */
- data->state.connc->connects[connindex] = NULL;
- }
-
- return connindex; /* return the available index or -1 */
-}
-
-/* this connection can now be marked 'idle' */
-static void
-ConnectionDone(struct connectdata *conn)
-{
- conn->inuse = FALSE;
-}
-
-/*
- * The given input connection struct pointer is to be stored. If the "cache"
- * is already full, we must clean out the most suitable using the previously
- * set policy.
- *
- * The given connection should be unique. That must've been checked prior to
- * this call.
- */
-static long
-ConnectionStore(struct SessionHandle *data,
- struct connectdata *conn)
-{
- long i;
- for(i=0; i< data->state.connc->num; i++) {
- if(!data->state.connc->connects[i])
- break;
- }
- if(i == data->state.connc->num) {
- /* there was no room available, kill one */
- i = ConnectionKillOne(data);
- if(-1 != i)
- infof(data, "Connection (#%d) was killed to make room (holds %d)\n",
- i, data->state.connc->num);
- else
- infof(data, "This connection did not fit in the connection cache\n");
- }
-
- conn->connectindex = i; /* Make the child know where the pointer to this
- particular data is stored. But note that this -1
- if this is not within the cache and this is
- probably not checked for everywhere (yet). */
- conn->inuse = TRUE;
- if(-1 != i) {
- /* Only do this if a true index was returned, if -1 was returned there
- is no room in the cache for an unknown reason and we cannot store
- this there.
-
- TODO: make sure we really can work with more handles than positions in
- the cache, or possibly we should (allow to automatically) resize the
- connection cache when we add more easy handles to a multi handle!
- */
- data->state.connc->connects[i] = conn; /* fill in this */
- conn->data = data;
- }
-
- return i;
-}
-
-static CURLcode ConnectPlease(struct SessionHandle *data,
- struct connectdata *conn,
- struct Curl_dns_entry *hostaddr,
- bool *connected)
-{
- CURLcode result;
- Curl_addrinfo *addr;
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- char *hostname = conn->bits.proxy?conn->proxy.name:conn->host.name;
-
- infof(data, "About to connect() to %s%s port %d (#%d)\n",
- conn->bits.proxy?"proxy ":"",
- hostname, conn->port, conn->connectindex);
-#endif
-
- /*************************************************************
- * Connect to server/proxy
- *************************************************************/
- result= Curl_connecthost(conn,
- hostaddr,
- &conn->sock[FIRSTSOCKET],
- &addr,
- connected);
- if(CURLE_OK == result) {
- /* All is cool, then we store the current information */
- conn->dns_entry = hostaddr;
- conn->ip_addr = addr;
-
- result = Curl_store_ip_addr(conn);
-
- if(CURLE_OK == result) {
-
- switch(data->set.proxytype) {
- case CURLPROXY_SOCKS5:
- case CURLPROXY_SOCKS5_HOSTNAME:
- result = Curl_SOCKS5(conn->proxyuser, conn->proxypasswd,
- conn->host.name, conn->remote_port,
- FIRSTSOCKET, conn);
- break;
- case CURLPROXY_HTTP:
- /* do nothing here. handled later. */
- break;
- case CURLPROXY_SOCKS4:
- result = Curl_SOCKS4(conn->proxyuser, conn->host.name,
- conn->remote_port, FIRSTSOCKET, conn, FALSE);
- break;
- case CURLPROXY_SOCKS4A:
- result = Curl_SOCKS4(conn->proxyuser, conn->host.name,
- conn->remote_port, FIRSTSOCKET, conn, TRUE);
- break;
- default:
- failf(data, "unknown proxytype option given");
- result = CURLE_COULDNT_CONNECT;
- break;
- }
- }
- }
- if(result)
- *connected = FALSE; /* mark it as not connected */
-
- return result;
-}
-
-/*
- * verboseconnect() displays verbose information after a connect
- */
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
-static void verboseconnect(struct connectdata *conn)
-{
- infof(conn->data, "Connected to %s (%s) port %d (#%d)\n",
- conn->bits.proxy ? conn->proxy.dispname : conn->host.dispname,
- conn->ip_addr_str, conn->port, conn->connectindex);
-}
-#endif
-
-int Curl_protocol_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- if(conn->handler->proto_getsock)
- return conn->handler->proto_getsock(conn, socks, numsocks);
- return GETSOCK_BLANK;
-}
-
-int Curl_doing_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks)
-{
- if(conn && conn->handler->doing_getsock)
- return conn->handler->doing_getsock(conn, socks, numsocks);
- return GETSOCK_BLANK;
-}
-
-/*
- * We are doing protocol-specific connecting and this is being called over and
- * over from the multi interface until the connection phase is done on
- * protocol layer.
- */
-
-CURLcode Curl_protocol_connecting(struct connectdata *conn,
- bool *done)
-{
- CURLcode result=CURLE_OK;
-
- if(conn && conn->handler->connecting) {
- *done = FALSE;
- result = conn->handler->connecting(conn, done);
- }
- else
- *done = TRUE;
-
- return result;
-}
-
-/*
- * We are DOING this is being called over and over from the multi interface
- * until the DOING phase is done on protocol layer.
- */
-
-CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done)
-{
- CURLcode result=CURLE_OK;
-
- if(conn && conn->handler->doing) {
- *done = FALSE;
- result = conn->handler->doing(conn, done);
- }
- else
- *done = TRUE;
-
- return result;
-}
-
-/*
- * We have discovered that the TCP connection has been successful, we can now
- * proceed with some action.
- *
- */
-CURLcode Curl_protocol_connect(struct connectdata *conn,
- bool *protocol_done)
-{
- CURLcode result=CURLE_OK;
- struct SessionHandle *data = conn->data;
-
- *protocol_done = FALSE;
-
- if(conn->bits.tcpconnect && conn->bits.protoconnstart) {
- /* We already are connected, get back. This may happen when the connect
- worked fine in the first call, like when we connect to a local server
- or proxy. Note that we don't know if the protocol is actually done.
-
- Unless this protocol doesn't have any protocol-connect callback, as
- then we know we're done. */
- if(!conn->handler->connecting)
- *protocol_done = TRUE;
-
- return CURLE_OK;
- }
-
- if(!conn->bits.tcpconnect) {
-
- Curl_pgrsTime(data, TIMER_CONNECT); /* connect done */
-
- if(data->set.verbose)
- verboseconnect(conn);
- }
-
- if(!conn->bits.protoconnstart) {
- if(conn->handler->connect_it) {
- /* is there a protocol-specific connect() procedure? */
-
- /* Set start time here for timeout purposes in the connect procedure, it
- is later set again for the progress meter purpose */
- conn->now = Curl_tvnow();
-
- /* Call the protocol-specific connect function */
- result = conn->handler->connect_it(conn, protocol_done);
- }
- else
- *protocol_done = TRUE;
-
- /* it has started, possibly even completed but that knowledge isn't stored
- in this bit! */
- if(!result)
- conn->bits.protoconnstart = TRUE;
- }
-
- return result; /* pass back status */
-}
-
-/*
- * Helpers for IDNA convertions.
- */
-#ifdef USE_LIBIDN
-static bool is_ASCII_name(const char *hostname)
-{
- const unsigned char *ch = (const unsigned char*)hostname;
-
- while(*ch) {
- if(*ch++ & 0x80)
- return FALSE;
- }
- return TRUE;
-}
-
-/*
- * Check if characters in hostname is allowed in Top Level Domain.
- */
-static bool tld_check_name(struct SessionHandle *data,
- const char *ace_hostname)
-{
- size_t err_pos;
- char *uc_name = NULL;
- int rc;
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
- char *tld_errmsg = (char *)"<no msg>";
-#else
- (void)data;
-#endif
-
- /* Convert (and downcase) ACE-name back into locale's character set */
- rc = idna_to_unicode_lzlz(ace_hostname, &uc_name, 0);
- if(rc != IDNA_SUCCESS)
- return (FALSE);
-
- rc = tld_check_lz(uc_name, &err_pos, NULL);
-#ifndef CURL_DISABLE_VERBOSE_STRINGS
-#ifdef HAVE_TLD_STRERROR
- if(rc != TLD_SUCCESS)
- tld_errmsg = (char *)tld_strerror((Tld_rc)rc);
-#endif
- if(rc == TLD_INVALID)
- infof(data, "WARNING: %s; pos %u = `%c'/0x%02X\n",
- tld_errmsg, err_pos, uc_name[err_pos],
- uc_name[err_pos] & 255);
- else if(rc != TLD_SUCCESS)
- infof(data, "WARNING: TLD check for %s failed; %s\n",
- uc_name, tld_errmsg);
-#endif /* CURL_DISABLE_VERBOSE_STRINGS */
- if(uc_name)
- idn_free(uc_name);
- return (bool)(rc == TLD_SUCCESS);
-}
-#endif
-
-/*
- * Perform any necessary IDN conversion of hostname
- */
-static void fix_hostname(struct SessionHandle *data,
- struct connectdata *conn, struct hostname *host)
-{
-#ifndef USE_LIBIDN
- (void)data;
- (void)conn;
-#elif defined(CURL_DISABLE_VERBOSE_STRINGS)
- (void)conn;
-#endif
-
- /* set the name we use to display the host name */
- host->dispname = host->name;
-
-#ifdef USE_LIBIDN
- /*************************************************************
- * Check name for non-ASCII and convert hostname to ACE form.
- *************************************************************/
- if(!is_ASCII_name(host->name) &&
- stringprep_check_version(LIBIDN_REQUIRED_VERSION)) {
- char *ace_hostname = NULL;
- int rc = idna_to_ascii_lz(host->name, &ace_hostname, 0);
- infof (data, "Input domain encoded as `%s'\n",
- stringprep_locale_charset ());
- if(rc != IDNA_SUCCESS)
- infof(data, "Failed to convert %s to ACE; %s\n",
- host->name, Curl_idn_strerror(conn,rc));
- else {
- /* tld_check_name() displays a warning if the host name contains
- "illegal" characters for this TLD */
- (void)tld_check_name(data, ace_hostname);
-
- host->encalloc = ace_hostname;
- /* change the name pointer to point to the encoded hostname */
- host->name = host->encalloc;
- }
- }
-#endif
-}
-
-/*
- * Allocate and initialize a new connectdata object.
- */
-static struct connectdata *allocate_conn(void)
-{
- struct connectdata *conn;
-
- conn = (struct connectdata *)calloc(1, sizeof(struct connectdata));
- if(!conn)
- return NULL;
-
- conn->handler = &Curl_handler_dummy; /* Be sure we have a handler defined
- already from start to avoid NULL
- situations and checks */
-
- /* and we setup a few fields in case we end up actually using this struct */
-
- conn->sock[FIRSTSOCKET] = CURL_SOCKET_BAD; /* no file descriptor */
- conn->sock[SECONDARYSOCKET] = CURL_SOCKET_BAD; /* no file descriptor */
- conn->connectindex = -1; /* no index */
-
- /* Default protocol-independent behavior doesn't support persistent
- connections, so we set this to force-close. Protocols that support
- this need to set this to FALSE in their "curl_do" functions. */
- conn->bits.close = TRUE;
-
- /* Store creation time to help future close decision making */
- conn->created = Curl_tvnow();
-
- return conn;
-}
-
-/*
- * Parse URL and fill in the relevant members of the connection struct.
- */
-static CURLcode ParseURLAndFillConnection(struct SessionHandle *data,
- struct connectdata *conn)
-{
- char *at;
- char *tmp;
- char *path = data->state.path;
- int rc;
-
- /*************************************************************
- * Parse the URL.
- *
- * We need to parse the url even when using the proxy, because we will need
- * the hostname and port in case we are trying to SSL connect through the
- * proxy -- and we don't know if we will need to use SSL until we parse the
- * url ...
- ************************************************************/
- if((2 == sscanf(data->change.url, "%15[^:]:%[^\n]",
- conn->protostr,
- path)) && strequal(conn->protostr, "file")) {
- if(path[0] == '/' && path[1] == '/') {
- /* Allow omitted hostname (e.g. file:/<path>). This is not strictly
- * speaking a valid file: URL by RFC 1738, but treating file:/<path> as
- * file://localhost/<path> is similar to how other schemes treat missing
- * hostnames. See RFC 1808. */
-
- /* This cannot be done with strcpy() in a portable manner, since the
- memory areas overlap! */
- memmove(path, path + 2, strlen(path + 2)+1);
- }
- /*
- * we deal with file://<host>/<path> differently since it supports no
- * hostname other than "localhost" and "127.0.0.1", which is unique among
- * the URL protocols specified in RFC 1738
- */
- if(path[0] != '/') {
- /* the URL included a host name, we ignore host names in file:// URLs
- as the standards don't define what to do with them */
- char *ptr=strchr(path, '/');
- if(ptr) {
- /* there was a slash present
-
- RFC1738 (section 3.1, page 5) says:
-
- The rest of the locator consists of data specific to the scheme,
- and is known as the "url-path". It supplies the details of how the
- specified resource can be accessed. Note that the "/" between the
- host (or port) and the url-path is NOT part of the url-path.
-
- As most agents use file://localhost/foo to get '/foo' although the
- slash preceding foo is a separator and not a slash for the path,
- a URL as file://localhost//foo must be valid as well, to refer to
- the same file with an absolute path.
- */
-
- if(ptr[1] && ('/' == ptr[1]))
- /* if there was two slashes, we skip the first one as that is then
- used truly as a separator */
- ptr++;
-
- /* This cannot be made with strcpy, as the memory chunks overlap! */
- memmove(path, ptr, strlen(ptr)+1);
- }
- }
-
- strcpy(conn->protostr, "file"); /* store protocol string lowercase */
- }
- else {
- /* clear path */
- path[0]=0;
-
- if(2 > sscanf(data->change.url,
- "%15[^\n:]://%[^\n/]%[^\n]",
- conn->protostr,
- conn->host.name, path)) {
-
- /*
- * The URL was badly formatted, let's try the browser-style _without_
- * protocol specified like 'http://'.
- */
- if(1 > (rc = sscanf(data->change.url, "%[^\n/]%[^\n]",
- conn->host.name, path)) ) {
- /*
- * We couldn't even get this format.
- * djgpp 2.04 has a sscanf() bug where 'conn->host.name' is
- * assigned, but the return value is EOF!
- */
-#if defined(__DJGPP__) && (DJGPP_MINOR == 4)
- if (!(rc == -1 && *conn->host.name))
-#endif
- {
- failf(data, "<url> malformed");
- return CURLE_URL_MALFORMAT;
- }
- }
-
- /*
- * Since there was no protocol part specified, we guess what protocol it
- * is based on the first letters of the server name.
- */
-
- /* Note: if you add a new protocol, please update the list in
- * lib/version.c too! */
-
- if(checkprefix("FTP.", conn->host.name))
- strcpy(conn->protostr, "ftp");
- else if(checkprefix("DICT.", conn->host.name))
- strcpy(conn->protostr, "DICT");
- else if(checkprefix("LDAP.", conn->host.name))
- strcpy(conn->protostr, "LDAP");
- else {
- strcpy(conn->protostr, "http");
- }
-
- conn->protocol |= PROT_MISSING; /* not given in URL */
- }
- }
-
- /* We search for '?' in the host name (but only on the right side of a
- * @-letter to allow ?-letters in username and password) to handle things
- * like http://example.com?param= (notice the missing '/').
- */
- at = strchr(conn->host.name, '@');
- if(at)
- tmp = strchr(at+1, '?');
- else
- tmp = strchr(conn->host.name, '?');
-
- if(tmp) {
- /* We must insert a slash before the '?'-letter in the URL. If the URL had
- a slash after the '?', that is where the path currently begins and the
- '?string' is still part of the host name.
-
- We must move the trailing part from the host name and put it first in
- the path. And have it all prefixed with a slash.
- */
-
- size_t hostlen = strlen(tmp);
- size_t pathlen = strlen(path);
-
- /* move the existing path plus the zero byte forward, to make room for
- the host-name part */
- memmove(path+hostlen+1, path, pathlen+1);
-
- /* now copy the trailing host part in front of the existing path */
- memcpy(path+1, tmp, hostlen);
-
- path[0]='/'; /* prepend the missing slash */
-
- *tmp=0; /* now cut off the hostname at the ? */
- }
- else if(!path[0]) {
- /* if there's no path set, use a single slash */
- strcpy(path, "/");
- }
-
- /* If the URL is malformatted (missing a '/' after hostname before path) we
- * insert a slash here. The only letter except '/' we accept to start a path
- * is '?'.
- */
- if(path[0] == '?') {
- /* We need this function to deal with overlapping memory areas. We know
- that the memory area 'path' points to is 'urllen' bytes big and that
- is bigger than the path. Use +1 to move the zero byte too. */
- memmove(&path[1], path, strlen(path)+1);
- path[0] = '/';
- }
-
- if (conn->host.name[0] == '[') {
- /* This looks like an IPv6 address literal. See if there is an address
- scope. */
- char *percent = strstr (conn->host.name, "%25");
- if (percent) {
- char *endp;
- unsigned int scope = strtoul (percent + 3, &endp, 10);
- if (*endp == ']') {
- /* The address scope was well formed. Knock it out of the hostname. */
- memmove(percent, endp, strlen(endp)+1);
- if (!data->state.this_is_a_follow)
- /* Don't honour a scope given in a Location: header */
- conn->scope = scope;
- } else
- infof(data, "Invalid IPv6 address format\n");
- }
- }
-
- if (data->set.scope)
- /* Override any scope that was set above. */
- conn->scope = data->set.scope;
-
- /*
- * So if the URL was A://B/C,
- * conn->protostr is A
- * conn->host.name is B
- * data->state.path is /C
- */
- (void)rc;
- return CURLE_OK;
-}
-
-static void llist_dtor(void *user, void *element)
-{
- (void)user;
- (void)element;
- /* Do nothing */
-}
-
-/*
- * If we're doing a resumed transfer, we need to setup our stuff
- * properly.
- */
-static CURLcode setup_range(struct SessionHandle *data)
-{
- struct UrlState *s = &data->state;
- s->resume_from = data->set.set_resume_from;
- if(s->resume_from || data->set.str[STRING_SET_RANGE]) {
- if(s->rangestringalloc)
- free(s->range);
-
- if(s->resume_from)
- s->range = aprintf("%" FORMAT_OFF_TU "-", s->resume_from);
- else
- s->range = strdup(data->set.str[STRING_SET_RANGE]);
-
- s->rangestringalloc = (bool)(s->range?TRUE:FALSE);
-
- if(!s->range)
- return CURLE_OUT_OF_MEMORY;
-
- /* tell ourselves to fetch this range */
- s->use_range = TRUE; /* enable range download */
- }
- else
- s->use_range = FALSE; /* disable range download */
-
- return CURLE_OK;
-}
-
-
-/***************************************************************
-* Setup connection internals specific to the requested protocol
-***************************************************************/
-static CURLcode setup_connection_internals(struct SessionHandle *data,
- struct connectdata *conn)
-{
- const struct Curl_handler * const * pp;
- const struct Curl_handler * p;
- CURLcode result;
-
- conn->socktype = SOCK_STREAM; /* most of them are TCP streams */
-
- /* Scan protocol handler table. */
-
- for (pp = protocols; (p = *pp) != NULL; pp++)
- if(strequal(p->scheme, conn->protostr)) {
- /* Protocol found in table. Perform setup complement if some. */
- conn->handler = p;
-
- if(p->setup_connection) {
- result = (*p->setup_connection)(conn);
-
- if(result != CURLE_OK)
- return result;
-
- p = conn->handler; /* May have changed. */
- }
-
- conn->port = p->defport;
- conn->remote_port = (unsigned short)p->defport;
- conn->protocol |= p->protocol;
- return CURLE_OK;
- }
-
- /* The protocol was not found in the table, but we don't have to assign it
- to anything since it is already assigned to a dummy-struct in the
- create_conn() function when the connectdata struct is allocated. */
- failf(data, "Protocol %s not supported or disabled in " LIBCURL_NAME,
- conn->protostr);
- return CURLE_UNSUPPORTED_PROTOCOL;
-}
-
-/****************************************************************
-* Detect what (if any) proxy to use. Remember that this selects a host
-* name and is not limited to HTTP proxies only.
-* The returned pointer must be freed by the caller (unless NULL)
-****************************************************************/
-static char *detect_proxy(struct connectdata *conn)
-{
- char *proxy = NULL;
-
-#ifndef CURL_DISABLE_HTTP
- /* If proxy was not specified, we check for default proxy environment
- * variables, to enable i.e Lynx compliance:
- *
- * http_proxy=http://some.server.dom:port/
- * https_proxy=http://some.server.dom:port/
- * ftp_proxy=http://some.server.dom:port/
- * no_proxy=domain1.dom,host.domain2.dom
- * (a comma-separated list of hosts which should
- * not be proxied, or an asterisk to override
- * all proxy variables)
- * all_proxy=http://some.server.dom:port/
- * (seems to exist for the CERN www lib. Probably
- * the first to check for.)
- *
- * For compatibility, the all-uppercase versions of these variables are
- * checked if the lowercase versions don't exist.
- */
- char *no_proxy=NULL;
- char *no_proxy_tok_buf;
- char proxy_env[128];
-
- no_proxy=curl_getenv("no_proxy");
- if(!no_proxy)
- no_proxy=curl_getenv("NO_PROXY");
-
- if(!no_proxy || !strequal("*", no_proxy)) {
- /* NO_PROXY wasn't specified or it wasn't just an asterisk */
- char *nope;
-
- nope=no_proxy?strtok_r(no_proxy, ", ", &no_proxy_tok_buf):NULL;
- while(nope) {
- size_t namelen;
- char *endptr = strchr(conn->host.name, ':');
- if(endptr)
- namelen=endptr-conn->host.name;
- else
- namelen=strlen(conn->host.name);
-
- if(strlen(nope) <= namelen) {
- char *checkn=
- conn->host.name + namelen - strlen(nope);
- if(checkprefix(nope, checkn)) {
- /* no proxy for this host! */
- break;
- }
- }
- nope=strtok_r(NULL, ", ", &no_proxy_tok_buf);
- }
- if(!nope) {
- /* It was not listed as without proxy */
- char *protop = conn->protostr;
- char *envp = proxy_env;
- char *prox;
-
- /* Now, build <protocol>_proxy and check for such a one to use */
- while(*protop)
- *envp++ = (char)tolower((int)*protop++);
-
- /* append _proxy */
- strcpy(envp, "_proxy");
-
- /* read the protocol proxy: */
- prox=curl_getenv(proxy_env);
-
- /*
- * We don't try the uppercase version of HTTP_PROXY because of
- * security reasons:
- *
- * When curl is used in a webserver application
- * environment (cgi or php), this environment variable can
- * be controlled by the web server user by setting the
- * http header 'Proxy:' to some value.
- *
- * This can cause 'internal' http/ftp requests to be
- * arbitrarily redirected by any external attacker.
- */
- if(!prox && !strequal("http_proxy", proxy_env)) {
- /* There was no lowercase variable, try the uppercase version: */
- for(envp = proxy_env; *envp; envp++)
- *envp = (char)toupper((int)*envp);
- prox=curl_getenv(proxy_env);
- }
-
- if(prox && *prox) { /* don't count "" strings */
- proxy = prox; /* use this */
- }
- else {
- proxy = curl_getenv("all_proxy"); /* default proxy to use */
- if(!proxy)
- proxy=curl_getenv("ALL_PROXY");
- }
-
- if(proxy && *proxy) {
- long bits = conn->protocol & (PROT_HTTPS|PROT_SSL|PROT_MISSING);
-
- if(conn->proxytype == CURLPROXY_HTTP) {
- /* force this connection's protocol to become HTTP */
- conn->protocol = PROT_HTTP | bits;
- conn->bits.proxy = conn->bits.httpproxy = TRUE;
- }
- }
- } /* if(!nope) - it wasn't specified non-proxy */
- } /* NO_PROXY wasn't specified or '*' */
- if(no_proxy)
- free(no_proxy);
-
-#else /* !CURL_DISABLE_HTTP */
-
- (void)conn;
-#endif /* CURL_DISABLE_HTTP */
-
- return proxy;
-}
-
-/*
- * If this is supposed to use a proxy, we need to figure out the proxy
- * host name, so that we can re-use an existing connection
- * that may exist registered to the same proxy host.
- * proxy will be freed before this function returns.
- */
-static CURLcode parse_proxy(struct SessionHandle *data,
- struct connectdata *conn, char *proxy)
-{
- char *prox_portno;
- char *endofprot;
-
- /* We use 'proxyptr' to point to the proxy name from now on... */
- char *proxyptr=proxy;
- char *portptr;
- char *atsign;
-
- /* We do the proxy host string parsing here. We want the host name and the
- * port name. Accept a protocol:// prefix, even though it should just be
- * ignored.
- */
-
- /* Skip the protocol part if present */
- endofprot=strstr(proxyptr, "://");
- if(endofprot)
- proxyptr = endofprot+3;
-
- /* Is there a username and password given in this proxy url? */
- atsign = strchr(proxyptr, '@');
- if(atsign) {
- char proxyuser[MAX_CURL_USER_LENGTH];
- char proxypasswd[MAX_CURL_PASSWORD_LENGTH];
- proxypasswd[0] = 0;
-
- if(1 <= sscanf(proxyptr,
- "%" MAX_CURL_USER_LENGTH_TXT"[^:@]:"
- "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]",
- proxyuser, proxypasswd)) {
- CURLcode res = CURLE_OK;
-
- /* found user and password, rip them out. note that we are
- unescaping them, as there is otherwise no way to have a
- username or password with reserved characters like ':' in
- them. */
- Curl_safefree(conn->proxyuser);
- conn->proxyuser = curl_easy_unescape(data, proxyuser, 0, NULL);
-
- if(!conn->proxyuser)
- res = CURLE_OUT_OF_MEMORY;
- else {
- Curl_safefree(conn->proxypasswd);
- conn->proxypasswd = curl_easy_unescape(data, proxypasswd, 0, NULL);
-
- if(!conn->proxypasswd)
- res = CURLE_OUT_OF_MEMORY;
- }
-
- if(CURLE_OK == res) {
- conn->bits.proxy_user_passwd = TRUE; /* enable it */
- atsign = strdup(atsign+1); /* the right side of the @-letter */
-
- if(atsign) {
- free(proxy); /* free the former proxy string */
- proxy = proxyptr = atsign; /* now use this instead */
- }
- else
- res = CURLE_OUT_OF_MEMORY;
- }
-
- if(res) {
- free(proxy); /* free the allocated proxy string */
- return res;
- }
- }
- }
-
- /* start scanning for port number at this point */
- portptr = proxyptr;
-
- /* detect and extract RFC2732-style IPv6-addresses */
- if(*proxyptr == '[') {
- char *ptr = ++proxyptr; /* advance beyond the initial bracket */
- while(*ptr && (ISXDIGIT(*ptr) || (*ptr == ':') || (*ptr == '%') || (*ptr == '.')))
- ptr++;
- if(*ptr == ']') {
- /* yeps, it ended nicely with a bracket as well */
- *ptr++ = 0;
- } else
- infof(data, "Invalid IPv6 address format\n");
- portptr = ptr;
- /* Note that if this didn't end with a bracket, we still advanced the
- * proxyptr first, but I can't see anything wrong with that as no host
- * name nor a numeric can legally start with a bracket.
- */
- }
-
- /* Get port number off proxy.server.com:1080 */
- prox_portno = strchr(portptr, ':');
- if(prox_portno) {
- *prox_portno = 0x0; /* cut off number from host name */
- prox_portno ++;
- /* now set the local port number */
- conn->port = atoi(prox_portno);
- }
- else {
- /* without a port number after the host name, some people seem to use
- a slash so we strip everything from the first slash */
- atsign = strchr(proxyptr, '/');
- if(atsign)
- *atsign = 0x0; /* cut off path part from host name */
-
- if(data->set.proxyport)
- /* None given in the proxy string, then get the default one if it is
- given */
- conn->port = data->set.proxyport;
- }
-
- /* now, clone the cleaned proxy host name */
- conn->proxy.rawalloc = strdup(proxyptr);
- conn->proxy.name = conn->proxy.rawalloc;
-
- free(proxy);
- if(!conn->proxy.rawalloc)
- return CURLE_OUT_OF_MEMORY;
-
- return CURLE_OK;
-}
-
-/*
- * Extract the user and password from the authentication string
- */
-static CURLcode parse_proxy_auth(struct SessionHandle *data,
- struct connectdata *conn)
-{
- char proxyuser[MAX_CURL_USER_LENGTH]="";
- char proxypasswd[MAX_CURL_PASSWORD_LENGTH]="";
-
- sscanf(data->set.str[STRING_PROXYUSERPWD],
- "%" MAX_CURL_USER_LENGTH_TXT "[^:]:"
- "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^\n]",
- proxyuser, proxypasswd);
-
- conn->proxyuser = curl_easy_unescape(data, proxyuser, 0, NULL);
- if(!conn->proxyuser)
- return CURLE_OUT_OF_MEMORY;
-
- conn->proxypasswd = curl_easy_unescape(data, proxypasswd, 0, NULL);
- if(!conn->proxypasswd)
- return CURLE_OUT_OF_MEMORY;
-
- return CURLE_OK;
-}
-
-/*
- *
- * Parse a user name and password in the URL and strip it out of the host name
- *
- * Inputs: data->set.use_netrc (CURLOPT_NETRC)
- * conn->host.name
- *
- * Outputs: (almost :- all currently undefined)
- * conn->bits.user_passwd - non-zero if non-default passwords exist
- * user - non-zero length if defined
- * passwd - ditto
- * conn->host.name - remove user name and password
- */
-static CURLcode parse_url_userpass(struct SessionHandle *data,
- struct connectdata *conn,
- char *user, char *passwd)
-{
- /* At this point, we're hoping all the other special cases have
- * been taken care of, so conn->host.name is at most
- * [user[:password]]@]hostname
- *
- * We need somewhere to put the embedded details, so do that first.
- */
-
- user[0] =0; /* to make everything well-defined */
- passwd[0]=0;
-
- if(conn->protocol & (PROT_FTP|PROT_HTTP|PROT_SCP|PROT_SFTP)) {
- /* This is a FTP, HTTP, SCP or SFTP URL, we will now try to extract the
- * possible user+password pair in a string like:
- * ftp://user:password@ftp.my.site:8021/README */
- char *ptr=strchr(conn->host.name, '@');
- char *userpass = conn->host.name;
- if(ptr != NULL) {
- /* there's a user+password given here, to the left of the @ */
-
- conn->host.name = ++ptr;
-
- /* So the hostname is sane. Only bother interpreting the
- * results if we could care. It could still be wasted
- * work because it might be overtaken by the programmatically
- * set user/passwd, but doing that first adds more cases here :-(
- */
-
- if(data->set.use_netrc != CURL_NETRC_REQUIRED) {
- /* We could use the one in the URL */
-
- conn->bits.user_passwd = 1; /* enable user+password */
-
- if(*userpass != ':') {
- /* the name is given, get user+password */
- sscanf(userpass, "%" MAX_CURL_USER_LENGTH_TXT "[^:@]:"
- "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]",
- user, passwd);
- }
- else
- /* no name given, get the password only */
- sscanf(userpass, ":%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]", passwd);
-
- if(user[0]) {
- char *newname=curl_easy_unescape(data, user, 0, NULL);
- if(!newname)
- return CURLE_OUT_OF_MEMORY;
- if(strlen(newname) < MAX_CURL_USER_LENGTH)
- strcpy(user, newname);
-
- /* if the new name is longer than accepted, then just use
- the unconverted name, it'll be wrong but what the heck */
- free(newname);
- }
- if(passwd[0]) {
- /* we have a password found in the URL, decode it! */
- char *newpasswd=curl_easy_unescape(data, passwd, 0, NULL);
- if(!newpasswd)
- return CURLE_OUT_OF_MEMORY;
- if(strlen(newpasswd) < MAX_CURL_PASSWORD_LENGTH)
- strcpy(passwd, newpasswd);
-
- free(newpasswd);
- }
- }
- }
- }
- return CURLE_OK;
-}
-
-/*************************************************************
- * Figure out the remote port number and fix it in the URL
- *
- * No matter if we use a proxy or not, we have to figure out the remote
- * port number of various reasons.
- *
- * To be able to detect port number flawlessly, we must not confuse them
- * IPv6-specified addresses in the [0::1] style. (RFC2732)
- *
- * The conn->host.name is currently [user:passwd@]host[:port] where host
- * could be a hostname, IPv4 address or IPv6 address.
- *
- * The port number embedded in the URL is replaced, if necessary.
- *************************************************************/
-static CURLcode parse_remote_port(struct SessionHandle *data,
- struct connectdata *conn)
-{
- char *portptr;
- char endbracket;
-
- if((1 == sscanf(conn->host.name, "[%*39[0123456789abcdefABCDEF:.%]%c", &endbracket)) &&
- (']' == endbracket)) {
- /* this is a RFC2732-style specified IP-address */
- conn->bits.ipv6_ip = TRUE;
-
- conn->host.name++; /* skip over the starting bracket */
- portptr = strchr(conn->host.name, ']');
- *portptr++ = 0; /* zero terminate, killing the bracket */
- if(':' != *portptr)
- portptr = NULL; /* no port number available */
- }
- else
- portptr = strrchr(conn->host.name, ':');
-
- if(data->set.use_port && data->state.allow_port) {
- /* if set, we use this and ignore the port possibly given in the URL */
- conn->remote_port = (unsigned short)data->set.use_port;
- if(portptr)
- *portptr = '\0'; /* cut off the name there anyway - if there was a port
- number - since the port number is to be ignored! */
- if(conn->bits.httpproxy) {
- /* we need to create new URL with the new port number */
- char *url;
- bool isftp = strequal("ftp", conn->protostr) ||
- strequal("ftps", conn->protostr);
-
- /*
- * This synthesized URL isn't always right--suffixes like ;type=A
- * are stripped off. It would be better to work directly from the
- * original URL and simply replace the port part of it.
- */
- url = aprintf("%s://%s%s%s:%d%s%s", conn->protostr,
- conn->bits.ipv6_ip?"[":"", conn->host.name,
- conn->bits.ipv6_ip?"]":"", conn->remote_port,
- isftp?"/":"", data->state.path);
- if(!url)
- return CURLE_OUT_OF_MEMORY;
-
- if(data->change.url_alloc)
- free(data->change.url);
-
- data->change.url = url;
- data->change.url_alloc = TRUE;
- }
- }
- else if(portptr) {
- /* no CURLOPT_PORT given, extract the one from the URL */
-
- char *rest;
- unsigned long port;
-
- port=strtoul(portptr+1, &rest, 10); /* Port number must be decimal */
-
- if(rest != (portptr+1) && *rest == '\0') {
- /* The colon really did have only digits after it,
- * so it is either a port number or a mistake */
-
- if(port > 0xffff) { /* Single unix standard says port numbers are
- * 16 bits long */
- failf(data, "Port number too large: %lu", port);
- return CURLE_URL_MALFORMAT;
- }
-
- *portptr = '\0'; /* cut off the name there */
- conn->remote_port = (unsigned short)port;
- }
- }
- return CURLE_OK;
-}
-
-/*
- * Override a user name and password from the URL with that in the
- * CURLOPT_USERPWD option or a .netrc file, if applicable.
- */
-static void override_userpass(struct SessionHandle *data,
- struct connectdata *conn,
- char *user, char *passwd)
-{
- if(data->set.str[STRING_USERPWD] != NULL) {
- /* the name is given, get user+password */
- sscanf(data->set.str[STRING_USERPWD],
- "%" MAX_CURL_USER_LENGTH_TXT "[^:]:"
- "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^\n]",
- user, passwd);
- }
-
- conn->bits.netrc = FALSE;
- if(data->set.use_netrc != CURL_NETRC_IGNORED) {
- if(Curl_parsenetrc(conn->host.name,
- user, passwd,
- data->set.str[STRING_NETRC_FILE])) {
- infof(data, "Couldn't find host %s in the "
- DOT_CHAR "netrc file; using defaults\n",
- conn->host.name);
- }
- else {
- /* set bits.netrc TRUE to remember that we got the name from a .netrc
- file, so that it is safe to use even if we followed a Location: to a
- different host or similar. */
- conn->bits.netrc = TRUE;
-
- conn->bits.user_passwd = 1; /* enable user+password */
- }
- }
-}
-
-/*
- * Set password so it's available in the connection.
- */
-static CURLcode set_userpass(struct connectdata *conn,
- const char *user, const char *passwd)
-{
- /* If our protocol needs a password and we have none, use the defaults */
- if( (conn->protocol & PROT_FTP) &&
- !conn->bits.user_passwd) {
-
- conn->user = strdup(CURL_DEFAULT_USER);
- conn->passwd = strdup(CURL_DEFAULT_PASSWORD);
- /* This is the default password, so DON'T set conn->bits.user_passwd */
- }
- else {
- /* store user + password, zero-length if not set */
- conn->user = strdup(user);
- conn->passwd = strdup(passwd);
- }
- if(!conn->user || !conn->passwd)
- return CURLE_OUT_OF_MEMORY;
-
- return CURLE_OK;
-}
-
-/*************************************************************
- * Resolve the address of the server or proxy
- *************************************************************/
-static CURLcode resolve_server(struct SessionHandle *data,
- struct connectdata *conn,
- struct Curl_dns_entry **addr,
- bool *async)
-{
- CURLcode result=CURLE_OK;
-#ifndef USE_ARES
-#ifdef SIGALRM
-#ifdef HAVE_SIGACTION
- struct sigaction keep_sigact; /* store the old struct here */
- bool keep_copysig=FALSE; /* did copy it? */
-#else
-#ifdef HAVE_SIGNAL
- void (*keep_sigact)(int); /* store the old handler here */
-#endif /* HAVE_SIGNAL */
-#endif /* HAVE_SIGACTION */
-#endif /* SIGALRM */
-#endif /* USE_ARES */
-
-#if defined(HAVE_ALARM) && !defined(USE_ARES)
- unsigned int prev_alarm=0;
-#endif
-
-#ifndef USE_ARES
- /*************************************************************
- * Set timeout if that is being used, and we're not using an asynchronous
- * name resolve.
- *************************************************************/
- if((data->set.timeout || data->set.connecttimeout) && !data->set.no_signal) {
- /*************************************************************
- * Set signal handler to catch SIGALRM
- * Store the old value to be able to set it back later!
- *************************************************************/
-
-#ifdef SIGALRM
-#ifdef HAVE_ALARM
- long shortest;
-#endif
-#ifdef HAVE_SIGACTION
- struct sigaction sigact;
- sigaction(SIGALRM, NULL, &sigact);
- keep_sigact = sigact;
- keep_copysig = TRUE; /* yes, we have a copy */
- sigact.sa_handler = alarmfunc;
-#ifdef SA_RESTART
- /* HPUX doesn't have SA_RESTART but defaults to that behaviour! */
- sigact.sa_flags &= ~SA_RESTART;
-#endif
- /* now set the new struct */
- sigaction(SIGALRM, &sigact, NULL);
-#else /* HAVE_SIGACTION */
- /* no sigaction(), revert to the much lamer signal() */
-#ifdef HAVE_SIGNAL
- keep_sigact = signal(SIGALRM, alarmfunc);
-#endif
-#endif /* HAVE_SIGACTION */
-
- /* We set the timeout on the name resolving phase first, separately from
- * the download/upload part to allow a maximum time on everything. This is
- * a signal-based timeout, why it won't work and shouldn't be used in
- * multi-threaded environments. */
-
-#ifdef HAVE_ALARM
- shortest = data->set.timeout; /* default to this timeout value */
- if(shortest && data->set.connecttimeout &&
- (data->set.connecttimeout < shortest))
- /* if both are set, pick the shortest */
- shortest = data->set.connecttimeout;
- else if(!shortest)
- /* if timeout is not set, use the connect timeout */
- shortest = data->set.connecttimeout;
-
- if(shortest < 1000)
- /* the alarm() function only provide integer second resolution, so if
- we want to wait less than one second we must bail out already now. */
- return CURLE_OPERATION_TIMEDOUT;
-
- /* alarm() makes a signal get sent when the timeout fires off, and that
- will abort system calls */
- prev_alarm = alarm((unsigned int) (shortest ? shortest/1000L : shortest));
- /* We can expect the conn->created time to be "now", as that was just
- recently set in the beginning of this function and nothing slow
- has been done since then until now. */
-#endif
-#endif /* SIGALRM */
- }
-#endif /* USE_ARES */
-
- /*************************************************************
- * Resolve the name of the server or proxy
- *************************************************************/
- if(conn->bits.reuse) {
- /* re-used connection, no resolving is necessary */
- *addr = NULL;
- /* we'll need to clear conn->dns_entry later in Curl_disconnect() */
-
- if(conn->bits.proxy)
- fix_hostname(data, conn, &conn->host);
- }
- else {
- /* this is a fresh connect */
- int rc;
- struct Curl_dns_entry *hostaddr;
-
- /* set a pointer to the hostname we display */
- fix_hostname(data, conn, &conn->host);
-
- if(!conn->proxy.name || !*conn->proxy.name) {
- /* If not connecting via a proxy, extract the port from the URL, if it is
- * there, thus overriding any defaults that might have been set above. */
- conn->port = conn->remote_port; /* it is the same port */
-
- /* Resolve target host right on */
- rc = Curl_resolv(conn, conn->host.name, (int)conn->port, &hostaddr);
- if(rc == CURLRESOLV_PENDING)
- *async = TRUE;
-
- else if(!hostaddr) {
- failf(data, "Couldn't resolve host '%s'", conn->host.dispname);
- result = CURLE_COULDNT_RESOLVE_HOST;
- /* don't return yet, we need to clean up the timeout first */
- }
- }
- else {
- /* This is a proxy that hasn't been resolved yet. */
-
- /* IDN-fix the proxy name */
- fix_hostname(data, conn, &conn->proxy);
-
- /* resolve proxy */
- rc = Curl_resolv(conn, conn->proxy.name, (int)conn->port, &hostaddr);
-
- if(rc == CURLRESOLV_PENDING)
- *async = TRUE;
-
- else if(!hostaddr) {
- failf(data, "Couldn't resolve proxy '%s'", conn->proxy.dispname);
- result = CURLE_COULDNT_RESOLVE_PROXY;
- /* don't return yet, we need to clean up the timeout first */
- }
- }
- *addr = hostaddr;
- }
-
-#if defined(HAVE_ALARM) && defined(SIGALRM) && !defined(USE_ARES)
- if((data->set.timeout || data->set.connecttimeout) && !data->set.no_signal) {
-#ifdef HAVE_SIGACTION
- if(keep_copysig) {
- /* we got a struct as it looked before, now put that one back nice
- and clean */
- sigaction(SIGALRM, &keep_sigact, NULL); /* put it back */
- }
-#else
-#ifdef HAVE_SIGNAL
- /* restore the previous SIGALRM handler */
- signal(SIGALRM, keep_sigact);
-#endif
-#endif /* HAVE_SIGACTION */
-
- /* switch back the alarm() to either zero or to what it was before minus
- the time we spent until now! */
- if(prev_alarm) {
- /* there was an alarm() set before us, now put it back */
- unsigned long elapsed_ms = Curl_tvdiff(Curl_tvnow(), conn->created);
- unsigned long alarm_set;
-
- /* the alarm period is counted in even number of seconds */
- alarm_set = prev_alarm - elapsed_ms/1000;
-
- if(!alarm_set ||
- ((alarm_set >= 0x80000000) && (prev_alarm < 0x80000000)) ) {
- /* if the alarm time-left reached zero or turned "negative" (counted
- with unsigned values), we should fire off a SIGALRM here, but we
- won't, and zero would be to switch it off so we never set it to
- less than 1! */
- alarm(1);
- result = CURLE_OPERATION_TIMEDOUT;
- failf(data, "Previous alarm fired off!");
- }
- else
- alarm((unsigned int)alarm_set);
- }
- else
- alarm(0); /* just shut it off */
- }
-#endif
- return result;
-}
-
-/*
- * Cleanup the connection just allocated before we can move along and use the
- * previously existing one. All relevant data is copied over and old_conn is
- * ready for freeing once this function returns.
- */
-static void reuse_conn(struct connectdata *old_conn,
- struct connectdata *conn)
-{
- if(old_conn->proxy.rawalloc)
- free(old_conn->proxy.rawalloc);
-
- /* free the SSL config struct from this connection struct as this was
- allocated in vain and is targeted for destruction */
- Curl_free_ssl_config(&old_conn->ssl_config);
-
- conn->data = old_conn->data;
-
- /* get the user+password information from the old_conn struct since it may
- * be new for this request even when we re-use an existing connection */
- conn->bits.user_passwd = old_conn->bits.user_passwd;
- if(conn->bits.user_passwd) {
- /* use the new user name and password though */
- Curl_safefree(conn->user);
- Curl_safefree(conn->passwd);
- conn->user = old_conn->user;
- conn->passwd = old_conn->passwd;
- old_conn->user = NULL;
- old_conn->passwd = NULL;
- }
-
- conn->bits.proxy_user_passwd = old_conn->bits.proxy_user_passwd;
- if(conn->bits.proxy_user_passwd) {
- /* use the new proxy user name and proxy password though */
- Curl_safefree(conn->proxyuser);
- Curl_safefree(conn->proxypasswd);
- conn->proxyuser = old_conn->proxyuser;
- conn->proxypasswd = old_conn->proxypasswd;
- old_conn->proxyuser = NULL;
- old_conn->proxypasswd = NULL;
- }
-
- /* host can change, when doing keepalive with a proxy ! */
- if(conn->bits.proxy) {
- free(conn->host.rawalloc);
- conn->host=old_conn->host;
- }
- else
- free(old_conn->host.rawalloc); /* free the newly allocated name buffer */
-
- /* re-use init */
- conn->bits.reuse = TRUE; /* yes, we're re-using here */
-
- Curl_safefree(old_conn->user);
- Curl_safefree(old_conn->passwd);
- Curl_safefree(old_conn->proxyuser);
- Curl_safefree(old_conn->proxypasswd);
- Curl_llist_destroy(old_conn->send_pipe, NULL);
- Curl_llist_destroy(old_conn->recv_pipe, NULL);
- Curl_llist_destroy(old_conn->pend_pipe, NULL);
- Curl_safefree(old_conn->master_buffer);
-}
-
-/**
- * create_conn() sets up a new connectdata struct, or re-uses an already
- * existing one, and resolves host name.
- *
- * if this function returns CURLE_OK and *async is set to TRUE, the resolve
- * response will be coming asynchronously. If *async is FALSE, the name is
- * already resolved.
- *
- * @param data The sessionhandle pointer
- * @param in_connect is set to the next connection data pointer
- * @param addr is set to the new dns entry for this connection. If this
- * connection is re-used it will be NULL.
- * @param async is set TRUE/FALSE depending on the nature of this lookup
- * @return CURLcode
- * @see setup_conn()
- *
- * *NOTE* this function assigns the conn->data pointer!
- */
-
-static CURLcode create_conn(struct SessionHandle *data,
- struct connectdata **in_connect,
- struct Curl_dns_entry **addr,
- bool *async)
-{
- CURLcode result=CURLE_OK;
- struct connectdata *conn;
- struct connectdata *conn_temp = NULL;
- size_t urllen;
- char user[MAX_CURL_USER_LENGTH];
- char passwd[MAX_CURL_PASSWORD_LENGTH];
- bool reuse;
- char *proxy = NULL;
-
- *addr = NULL; /* nothing yet */
- *async = FALSE;
-
- /*************************************************************
- * Check input data
- *************************************************************/
-
- if(!data->change.url)
- return CURLE_URL_MALFORMAT;
-
- /* First, split up the current URL in parts so that we can use the
- parts for checking against the already present connections. In order
- to not have to modify everything at once, we allocate a temporary
- connection data struct and fill in for comparison purposes. */
-
- conn = allocate_conn();
-
- /* We must set the return variable as soon as possible, so that our
- parent can cleanup any possible allocs we may have done before
- any failure */
- *in_connect = conn;
-
- if(!conn)
- return CURLE_OUT_OF_MEMORY;
-
- conn->data = data; /* Setup the association between this connection
- and the SessionHandle */
-
- conn->proxytype = data->set.proxytype; /* type */
- conn->bits.proxy = (bool)(data->set.str[STRING_PROXY] &&
- *data->set.str[STRING_PROXY]);
- conn->bits.httpproxy = (bool)(conn->bits.proxy
- && (conn->proxytype == CURLPROXY_HTTP));
-
-
- conn->bits.user_passwd = (bool)(NULL != data->set.str[STRING_USERPWD]);
- conn->bits.proxy_user_passwd = (bool)(NULL != data->set.str[STRING_PROXYUSERPWD]);
- conn->bits.tunnel_proxy = data->set.tunnel_thru_httpproxy;
- conn->bits.ftp_use_epsv = data->set.ftp_use_epsv;
- conn->bits.ftp_use_eprt = data->set.ftp_use_eprt;
-
- if(data->multi && Curl_multi_canPipeline(data->multi) &&
- !conn->master_buffer) {
- /* Allocate master_buffer to be used for pipelining */
- conn->master_buffer = calloc(BUFSIZE, sizeof (char));
- if(!conn->master_buffer)
- return CURLE_OUT_OF_MEMORY;
- }
-
- /* Initialize the pipeline lists */
- conn->send_pipe = Curl_llist_alloc((curl_llist_dtor) llist_dtor);
- conn->recv_pipe = Curl_llist_alloc((curl_llist_dtor) llist_dtor);
- conn->pend_pipe = Curl_llist_alloc((curl_llist_dtor) llist_dtor);
- if(!conn->send_pipe || !conn->recv_pipe || !conn->pend_pipe)
- return CURLE_OUT_OF_MEMORY;
-
- /* This initing continues below, see the comment "Continue connectdata
- * initialization here" */
-
- /***********************************************************
- * We need to allocate memory to store the path in. We get the size of the
- * full URL to be sure, and we need to make it at least 256 bytes since
- * other parts of the code will rely on this fact
- ***********************************************************/
-#define LEAST_PATH_ALLOC 256
- urllen=strlen(data->change.url);
- if(urllen < LEAST_PATH_ALLOC)
- urllen=LEAST_PATH_ALLOC;
-
- /*
- * We malloc() the buffers below urllen+2 to make room for to possibilities:
- * 1 - an extra terminating zero
- * 2 - an extra slash (in case a syntax like "www.host.com?moo" is used)
- */
-
- Curl_safefree(data->state.pathbuffer);
- data->state.pathbuffer=(char *)malloc(urllen+2);
- if(NULL == data->state.pathbuffer)
- return CURLE_OUT_OF_MEMORY; /* really bad error */
- data->state.path = data->state.pathbuffer;
-
- conn->host.rawalloc=(char *)malloc(urllen+2);
- if(NULL == conn->host.rawalloc)
- return CURLE_OUT_OF_MEMORY;
-
- conn->host.name = conn->host.rawalloc;
- conn->host.name[0] = 0;
-
- result = ParseURLAndFillConnection(data, conn);
- if(result != CURLE_OK) {
- return result;
- }
-
- /*************************************************************
- * Extract the user and password from the authentication string
- *************************************************************/
- if(conn->bits.proxy_user_passwd) {
- result = parse_proxy_auth(data, conn);
- if(result != CURLE_OK)
- return result;
- }
-
- /*************************************************************
- * Detect what (if any) proxy to use
- *************************************************************/
- if(data->set.str[STRING_PROXY]) {
- proxy = strdup(data->set.str[STRING_PROXY]);
- /* if global proxy is set, this is it */
- if(NULL == proxy) {
- failf(data, "memory shortage");
- return CURLE_OUT_OF_MEMORY;
- }
- }
-
- if(!proxy)
- proxy = detect_proxy(conn);
- if(proxy && !*proxy) {
- free(proxy); /* Don't bother with an empty proxy string */
- proxy = NULL;
- }
- /* proxy must be freed later unless NULL */
-
- /*************************************************************
- * No protocol part in URL was used, add it!
- *************************************************************/
- if(conn->protocol&PROT_MISSING) {
- /* We're guessing prefixes here and if we're told to use a proxy or if
- we're gonna follow a Location: later or... then we need the protocol
- part added so that we have a valid URL. */
- char *reurl;
-
- reurl = aprintf("%s://%s", conn->protostr, data->change.url);
-
- if(!reurl) {
- Curl_safefree(proxy);
- return CURLE_OUT_OF_MEMORY;
- }
-
- data->change.url = reurl;
- data->change.url_alloc = TRUE; /* free this later */
- conn->protocol &= ~PROT_MISSING; /* switch that one off again */
- }
-
- /*************************************************************
- * Setup internals depending on protocol
- *************************************************************/
- result = setup_connection_internals(data, conn);
- if(result != CURLE_OK) {
- Curl_safefree(proxy);
- return result;
- }
-
-
- /***********************************************************************
- * If this is supposed to use a proxy, we need to figure out the proxy
- * host name, so that we can re-use an existing connection
- * that may exist registered to the same proxy host.
- ***********************************************************************/
- if(proxy) {
- result = parse_proxy(data, conn, proxy);
- /* parse_proxy has freed the proxy string, so don't try to use it again */
- proxy = NULL;
- if(result != CURLE_OK)
- return result;
- }
-
- /***********************************************************************
- * file: is a special case in that it doesn't need a network connection
- ***********************************************************************/
-#ifndef CURL_DISABLE_FILE
- if(conn->protocol & PROT_FILE) {
- bool done;
- /* this is supposed to be the connect function so we better at least check
- that the file is present here! */
- DEBUGASSERT(conn->handler->connect_it);
- result = conn->handler->connect_it(conn, &done);
-
- /* Setup a "faked" transfer that'll do nothing */
- if(CURLE_OK == result) {
- conn->data = data;
- conn->bits.tcpconnect = TRUE; /* we are "connected */
-
- ConnectionStore(data, conn);
-
- /*
- * Setup whatever necessary for a resumed transfer
- */
- result = setup_range(data);
- if(result) {
- DEBUGASSERT(conn->handler->done);
- /* we ignore the return code for the protocol-specific DONE */
- (void)conn->handler->done(conn, result, FALSE);
- return result;
- }
-
- result = Curl_setup_transfer(conn, -1, -1, FALSE,
- NULL, /* no download */
- -1, NULL); /* no upload */
- }
-
- return result;
- }
-#endif
-
- /*************************************************************
- * If the protocol is using SSL and HTTP proxy is used, we set
- * the tunnel_proxy bit.
- *************************************************************/
- if((conn->protocol&PROT_SSL) && conn->bits.httpproxy)
- conn->bits.tunnel_proxy = TRUE;
-
- /*************************************************************
- * Parse a user name and password in the URL and strip it out
- * of the host name
- *************************************************************/
- result = parse_url_userpass(data, conn, user, passwd);
- if(result != CURLE_OK)
- return result;
-
- /*************************************************************
- * Figure out the remote port number and fix it in the URL
- *************************************************************/
- result = parse_remote_port(data, conn);
- if(result != CURLE_OK)
- return result;
-
- /*************************************************************
- * Check for an overridden user name and password, then set it
- * for use
- *************************************************************/
- override_userpass(data, conn, user, passwd);
- result = set_userpass(conn, user, passwd);
- if(result != CURLE_OK)
- return result;
-
- /*************************************************************
- * Check the current list of connections to see if we can
- * re-use an already existing one or if we have to create a
- * new one.
- *************************************************************/
-
- /* Get a cloned copy of the SSL config situation stored in the
- connection struct. But to get this going nicely, we must first make
- sure that the strings in the master copy are pointing to the correct
- strings in the session handle strings array!
-
- Keep in mind that the pointers in the master copy are pointing to strings
- that will be freed as part of the SessionHandle struct, but all cloned
- copies will be separately allocated.
- */
- data->set.ssl.CApath = data->set.str[STRING_SSL_CAPATH];
- data->set.ssl.CAfile = data->set.str[STRING_SSL_CAFILE];
- data->set.ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE];
- data->set.ssl.issuercert = data->set.str[STRING_SSL_ISSUERCERT];
- data->set.ssl.random_file = data->set.str[STRING_SSL_RANDOM_FILE];
- data->set.ssl.egdsocket = data->set.str[STRING_SSL_EGDSOCKET];
- data->set.ssl.cipher_list = data->set.str[STRING_SSL_CIPHER_LIST];
-
- if(!Curl_clone_ssl_config(&data->set.ssl, &conn->ssl_config))
- return CURLE_OUT_OF_MEMORY;
-
- /* reuse_fresh is TRUE if we are told to use a new connection by force, but
- we only acknowledge this option if this is not a re-used connection
- already (which happens due to follow-location or during a HTTP
- authentication phase). */
- if(data->set.reuse_fresh && !data->state.this_is_a_follow)
- reuse = FALSE;
- else
- reuse = ConnectionExists(data, conn, &conn_temp);
-
- if(reuse) {
- /*
- * We already have a connection for this, we got the former connection
- * in the conn_temp variable and thus we need to cleanup the one we
- * just allocated before we can move along and use the previously
- * existing one.
- */
- reuse_conn(conn, conn_temp);
- free(conn); /* we don't need this anymore */
- conn = conn_temp;
- *in_connect = conn;
- infof(data, "Re-using existing connection! (#%ld) with host %s\n",
- conn->connectindex,
- conn->proxy.name?conn->proxy.dispname:conn->host.dispname);
- }
- else {
- /*
- * This is a brand new connection, so let's store it in the connection
- * cache of ours!
- */
- ConnectionStore(data, conn);
- }
-
- /*
- * Setup whatever necessary for a resumed transfer
- */
- result = setup_range(data);
- if(result)
- return result;
-
- /* Continue connectdata initialization here. */
-
- /*
- * Inherit the proper values from the urldata struct AFTER we have arranged
- * the persistent connection stuff
- */
- conn->fread_func = data->set.fread_func;
- conn->fread_in = data->set.in;
- conn->seek_func = data->set.seek_func;
- conn->seek_client = data->set.seek_client;
-
- /*************************************************************
- * Resolve the address of the server or proxy
- *************************************************************/
- result = resolve_server(data, conn, addr, async);
-
- return result;
-}
-
-/* setup_conn() is called after the name resolve initiated in
- * create_conn() is all done.
- *
- * NOTE: the argument 'hostaddr' is NULL when this function is called for a
- * re-used connection.
- *
- * conn->data MUST already have been setup fine (in create_conn)
- */
-
-static CURLcode setup_conn(struct connectdata *conn,
- struct Curl_dns_entry *hostaddr,
- bool *protocol_done)
-{
- CURLcode result=CURLE_OK;
- struct SessionHandle *data = conn->data;
-
- Curl_pgrsTime(data, TIMER_NAMELOOKUP);
-
- if(conn->protocol & PROT_FILE) {
- /* There's nothing in this function to setup if we're only doing
- a file:// transfer */
- *protocol_done = TRUE;
- return result;
- }
- *protocol_done = FALSE; /* default to not done */
-
- /* set proxy_connect_closed to false unconditionally already here since it
- is used strictly to provide extra information to a parent function in the
- case of proxy CONNECT failures and we must make sure we don't have it
- lingering set from a previous invoke */
- conn->bits.proxy_connect_closed = FALSE;
-
- /*
- * Set user-agent. Used for HTTP, but since we can attempt to tunnel
- * basically anything through a http proxy we can't limit this based on
- * protocol.
- */
- if(data->set.str[STRING_USERAGENT]) {
- Curl_safefree(conn->allocptr.uagent);
- conn->allocptr.uagent =
- aprintf("User-Agent: %s\r\n", data->set.str[STRING_USERAGENT]);
- if(!conn->allocptr.uagent)
- return CURLE_OUT_OF_MEMORY;
- }
-
- data->req.headerbytecount = 0;
-
-#ifdef CURL_DO_LINEEND_CONV
- data->state.crlf_conversions = 0; /* reset CRLF conversion counter */
-#endif /* CURL_DO_LINEEND_CONV */
-
- for(;;) {
- /* loop for CURL_SERVER_CLOSED_CONNECTION */
-
- if(CURL_SOCKET_BAD == conn->sock[FIRSTSOCKET]) {
- bool connected = FALSE;
-
- /* Connect only if not already connected! */
- result = ConnectPlease(data, conn, hostaddr, &connected);
-
- if(connected) {
- result = Curl_protocol_connect(conn, protocol_done);
- if(CURLE_OK == result)
- conn->bits.tcpconnect = TRUE;
- }
- else
- conn->bits.tcpconnect = FALSE;
-
- /* if the connection was closed by the server while exchanging
- authentication informations, retry with the new set
- authentication information */
- if(conn->bits.proxy_connect_closed) {
- /* reset the error buffer */
- if(data->set.errorbuffer)
- data->set.errorbuffer[0] = '\0';
- data->state.errorbuf = FALSE;
- continue;
- }
-
- if(CURLE_OK != result)
- return result;
- }
- else {
- Curl_pgrsTime(data, TIMER_CONNECT); /* we're connected already */
- Curl_pgrsTime(data, TIMER_APPCONNECT); /* we're connected already */
- conn->bits.tcpconnect = TRUE;
- *protocol_done = TRUE;
- if(data->set.verbose)
- verboseconnect(conn);
- }
- /* Stop the loop now */
- break;
- }
-
- conn->now = Curl_tvnow(); /* time this *after* the connect is done, we
- set this here perhaps a second time */
-
-#ifdef __EMX__
- /*
- * This check is quite a hack. We're calling _fsetmode to fix the problem
- * with fwrite converting newline characters (you get mangled text files,
- * and corrupted binary files when you download to stdout and redirect it to
- * a file).
- */
-
- if((data->set.out)->_handle == NULL) {
- _fsetmode(stdout, "b");
- }
-#endif
-
- return result;
-}
-
-CURLcode Curl_connect(struct SessionHandle *data,
- struct connectdata **in_connect,
- bool *asyncp,
- bool *protocol_done)
-{
- CURLcode code;
- struct Curl_dns_entry *dns;
-
- *asyncp = FALSE; /* assume synchronous resolves by default */
-
- /* call the stuff that needs to be called */
- code = create_conn(data, in_connect, &dns, asyncp);
-
- if(CURLE_OK == code) {
- /* no error */
- if((*in_connect)->send_pipe->size +
- (*in_connect)->recv_pipe->size != 0)
- /* pipelining */
- *protocol_done = TRUE;
- else {
- if(dns || !*asyncp)
- /* If an address is available it means that we already have the name
- resolved, OR it isn't async. if this is a re-used connection 'dns'
- will be NULL here. Continue connecting from here */
- code = setup_conn(*in_connect, dns, protocol_done);
- /* else
- response will be received and treated async wise */
- }
- }
-
- if(CURLE_OK != code && *in_connect) {
- /* We're not allowed to return failure with memory left allocated
- in the connectdata struct, free those here */
- Curl_disconnect(*in_connect); /* close the connection */
- *in_connect = NULL; /* return a NULL */
- }
-
- return code;
-}
-
-/* Call this function after Curl_connect() has returned async=TRUE and
- then a successful name resolve has been received.
-
- Note: this function disconnects and frees the conn data in case of
- resolve failure */
-CURLcode Curl_async_resolved(struct connectdata *conn,
- bool *protocol_done)
-{
-#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME) || \
- defined(USE_THREADING_GETADDRINFO)
- CURLcode code = setup_conn(conn, conn->async.dns, protocol_done);
-
- if(code)
- /* We're not allowed to return failure with memory left allocated
- in the connectdata struct, free those here */
- Curl_disconnect(conn); /* close the connection */
-
- return code;
-#else
- (void)conn;
- (void)protocol_done;
- return CURLE_OK;
-#endif
-}
-
-
-CURLcode Curl_done(struct connectdata **connp,
- CURLcode status, /* an error if this is called after an
- error was detected */
- bool premature)
-{
- CURLcode result;
- struct connectdata *conn;
- struct SessionHandle *data;
-
- DEBUGASSERT(*connp);
-
- conn = *connp;
- data = conn->data;
-
- Curl_expire(data, 0); /* stop timer */
-
- if(Curl_removeHandleFromPipeline(data, conn->recv_pipe) &&
- conn->readchannel_inuse)
- conn->readchannel_inuse = FALSE;
- if(Curl_removeHandleFromPipeline(data, conn->send_pipe) &&
- conn->writechannel_inuse)
- conn->writechannel_inuse = FALSE;
- Curl_removeHandleFromPipeline(data, conn->pend_pipe);
-
- if(conn->bits.done ||
- (conn->send_pipe->size + conn->recv_pipe->size != 0 &&
- !data->set.reuse_forbid &&
- !conn->bits.close))
- /* Stop if Curl_done() has already been called or pipeline
- is not empty and we do not have to close connection. */
- return CURLE_OK;
-
- conn->bits.done = TRUE; /* called just now! */
-
- /* Cleanup possible redirect junk */
- if(data->req.newurl) {
- free(data->req.newurl);
- data->req.newurl = NULL;
- }
- if(data->req.location) {
- free(data->req.location);
- data->req.location = NULL;
- }
-
- if(conn->dns_entry) {
- Curl_resolv_unlock(data, conn->dns_entry); /* done with this */
- conn->dns_entry = NULL;
- }
-
- /* this calls the protocol-specific function pointer previously set */
- if(conn->handler->done)
- result = conn->handler->done(conn, status, premature);
- else
- result = CURLE_OK;
-
- Curl_pgrsDone(conn); /* done with the operation */
-
- /* if the transfer was completed in a paused state there can be buffered
- data left to write and then kill */
- if(data->state.tempwrite) {
- free(data->state.tempwrite);
- data->state.tempwrite = NULL;
- }
-
- /* for ares-using, make sure all possible outstanding requests are properly
- cancelled before we proceed */
- ares_cancel(data->state.areschannel);
-
- /* if data->set.reuse_forbid is TRUE, it means the libcurl client has
- forced us to close this no matter what we think.
-
- if conn->bits.close is TRUE, it means that the connection should be
- closed in spite of all our efforts to be nice, due to protocol
- restrictions in our or the server's end
-
- if premature is TRUE, it means this connection was said to be DONE before
- the entire request operation is complete and thus we can't know in what
- state it is for re-using, so we're forced to close it. In a perfect world
- we can add code that keep track of if we really must close it here or not,
- but currently we have no such detail knowledge.
- */
- if(data->set.reuse_forbid || conn->bits.close || premature) {
- CURLcode res2 = Curl_disconnect(conn); /* close the connection */
-
- /* If we had an error already, make sure we return that one. But
- if we got a new error, return that. */
- if(!result && res2)
- result = res2;
- }
- else {
- ConnectionDone(conn); /* the connection is no longer in use */
-
- /* remember the most recently used connection */
- data->state.lastconnect = conn->connectindex;
-
- infof(data, "Connection #%ld to host %s left intact\n",
- conn->connectindex,
- conn->bits.httpproxy?conn->proxy.dispname:conn->host.dispname);
- }
-
- *connp = NULL; /* to make the caller of this function better detect that
- this was either closed or handed over to the connection
- cache here, and therefore cannot be used from this point on
- */
-
- return result;
-}
-
-/*
- * do_init() inits the readwrite session. This is inited each time (in the DO
- * function before the protocol-specific DO functions are invoked) for a
- * transfer, sometimes multiple times on the same SessionHandle. Make sure
- * nothing in here depends on stuff that are setup dynamicly for the transfer.
- */
-
-static CURLcode do_init(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- struct SingleRequest *k = &data->req;
-
- conn->bits.done = FALSE; /* Curl_done() is not called yet */
- conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to use */
-
- /* NB: the content encoding software depends on this initialization */
- Curl_easy_initHandleData(data);
-
- k->start = Curl_tvnow(); /* start time */
- k->now = k->start; /* current time is now */
- k->header = TRUE; /* assume header */
- k->httpversion = -1; /* unknown at this point */
-
- k->bytecount = 0;
-
- k->buf = data->state.buffer;
- k->uploadbuf = data->state.uploadbuffer;
- k->hbufp = data->state.headerbuff;
- k->ignorebody=FALSE;
-
- Curl_pgrsTime(data, TIMER_PRETRANSFER);
- Curl_speedinit(data);
-
- Curl_pgrsSetUploadCounter(data, 0);
- Curl_pgrsSetDownloadCounter(data, 0);
-
- return CURLE_OK;
-}
-
-/*
- * do_complete is called when the DO actions are complete.
- *
- * We init chunking and trailer bits to their default values here immediately
- * before receiving any header data for the current request in the pipeline.
- */
-static void do_complete(struct connectdata *conn)
-{
- conn->data->req.chunk=FALSE;
- conn->data->req.trailerhdrpresent=FALSE;
-
- conn->data->req.maxfd = (conn->sockfd>conn->writesockfd?
- conn->sockfd:conn->writesockfd)+1;
-}
-
-CURLcode Curl_do(struct connectdata **connp, bool *done)
-{
- CURLcode result=CURLE_OK;
- struct connectdata *conn = *connp;
- struct SessionHandle *data = conn->data;
-
- /* setup and init stuff before DO starts, in preparing for the transfer */
- do_init(conn);
-
- if(conn->handler->do_it) {
- /* generic protocol-specific function pointer set in curl_connect() */
- result = conn->handler->do_it(conn, done);
-
- /* This was formerly done in transfer.c, but we better do it here */
- if((CURLE_SEND_ERROR == result) && conn->bits.reuse) {
- /* This was a re-use of a connection and we got a write error in the
- * DO-phase. Then we DISCONNECT this connection and have another attempt
- * to CONNECT and then DO again! The retry cannot possibly find another
- * connection to re-use, since we only keep one possible connection for
- * each. */
-
- infof(data, "Re-used connection seems dead, get a new one\n");
-
- conn->bits.close = TRUE; /* enforce close of this connection */
- result = Curl_done(&conn, result, FALSE); /* we are so done with this */
-
- /* conn may no longer be a good pointer */
-
- /*
- * According to bug report #1330310. We need to check for
- * CURLE_SEND_ERROR here as well. I figure this could happen when the
- * request failed on a FTP connection and thus Curl_done() itself tried
- * to use the connection (again). Slight Lack of feedback in the report,
- * but I don't think this extra check can do much harm.
- */
- if((CURLE_OK == result) || (CURLE_SEND_ERROR == result)) {
- bool async;
- bool protocol_done = TRUE;
-
- /* Now, redo the connect and get a new connection */
- result = Curl_connect(data, connp, &async, &protocol_done);
- if(CURLE_OK == result) {
- /* We have connected or sent away a name resolve query fine */
-
- conn = *connp; /* setup conn to again point to something nice */
- if(async) {
- /* Now, if async is TRUE here, we need to wait for the name
- to resolve */
- result = Curl_wait_for_resolv(conn, NULL);
- if(result)
- return result;
-
- /* Resolved, continue with the connection */
- result = Curl_async_resolved(conn, &protocol_done);
- if(result)
- return result;
- }
-
- /* ... finally back to actually retry the DO phase */
- result = conn->handler->do_it(conn, done);
- }
- }
- }
-
- if((result == CURLE_OK) && *done)
- /* do_complete must be called after the protocol-specific DO function */
- do_complete(conn);
- }
- return result;
-}
-
-CURLcode Curl_do_more(struct connectdata *conn)
-{
- CURLcode result=CURLE_OK;
-
- if(conn->handler->do_more)
- result = conn->handler->do_more(conn);
-
- if(result == CURLE_OK)
- /* do_complete must be called after the protocol-specific DO function */
- do_complete(conn);
-
- return result;
-}
-
-/* Called on connect, and if there's already a protocol-specific struct
- allocated for a different connection, this frees it that it can be setup
- properly later on. */
-void Curl_reset_reqproto(struct connectdata *conn)
-{
- struct SessionHandle *data = conn->data;
- if(data->state.proto.generic && data->state.current_conn != conn) {
- free(data->state.proto.generic);
- data->state.proto.generic = NULL;
- }
- data->state.current_conn = conn;
-}
diff --git a/Utilities/cmcurl-7.19.0/lib/url.h b/Utilities/cmcurl-7.19.0/lib/url.h
deleted file mode 100644
index 229f408..0000000
--- a/Utilities/cmcurl-7.19.0/lib/url.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef __URL_H
-#define __URL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <stdarg.h> /* to make sure we have ap_list */
-
-/*
- * Prototypes for library-wide functions provided by url.c
- */
-
-CURLcode Curl_open(struct SessionHandle **curl);
-CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
- va_list arg);
-CURLcode Curl_dupset(struct SessionHandle * dst, struct SessionHandle * src);
-void Curl_freeset(struct SessionHandle * data);
-CURLcode Curl_close(struct SessionHandle *data); /* opposite of curl_open() */
-CURLcode Curl_connect(struct SessionHandle *, struct connectdata **,
- bool *async, bool *protocol_connect);
-CURLcode Curl_async_resolved(struct connectdata *conn,
- bool *protocol_connect);
-CURLcode Curl_do(struct connectdata **, bool *done);
-CURLcode Curl_do_more(struct connectdata *);
-CURLcode Curl_done(struct connectdata **, CURLcode, bool premature);
-CURLcode Curl_disconnect(struct connectdata *);
-CURLcode Curl_protocol_connect(struct connectdata *conn, bool *done);
-CURLcode Curl_protocol_connecting(struct connectdata *conn, bool *done);
-CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done);
-void Curl_safefree(void *ptr);
-
-/* create a connection cache */
-struct conncache *Curl_mk_connc(int type, long amount);
-/* free a connection cache */
-void Curl_rm_connc(struct conncache *c);
-/* Change number of entries of a connection cache */
-CURLcode Curl_ch_connc(struct SessionHandle *data,
- struct conncache *c,
- long newamount);
-
-int Curl_protocol_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-int Curl_doing_getsock(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-
-bool Curl_isPipeliningEnabled(const struct SessionHandle *handle);
-CURLcode Curl_addHandleToPipeline(struct SessionHandle *handle,
- struct curl_llist *pipeline);
-int Curl_removeHandleFromPipeline(struct SessionHandle *handle,
- struct curl_llist *pipeline);
-
-void Curl_close_connections(struct SessionHandle *data);
-
-/* Called on connect, and if there's already a protocol-specific struct
- allocated for a different connection, this frees it that it can be setup
- properly later on. */
-void Curl_reset_reqproto(struct connectdata *conn);
-
-#define CURL_DEFAULT_PROXY_PORT 1080 /* default proxy port unless specified */
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/urldata.h b/Utilities/cmcurl-7.19.0/lib/urldata.h
deleted file mode 100644
index 1be126e..0000000
--- a/Utilities/cmcurl-7.19.0/lib/urldata.h
+++ /dev/null
@@ -1,1542 +0,0 @@
-#ifndef __URLDATA_H
-#define __URLDATA_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* This file is for lib internal stuff */
-
-#include "setup.h"
-
-#define PORT_FTP 21
-#define PORT_FTPS 990
-#define PORT_TELNET 23
-#define PORT_HTTP 80
-#define PORT_HTTPS 443
-#define PORT_DICT 2628
-#define PORT_LDAP 389
-#define PORT_LDAPS 636
-#define PORT_TFTP 69
-#define PORT_SSH 22
-
-#define DICT_MATCH "/MATCH:"
-#define DICT_MATCH2 "/M:"
-#define DICT_MATCH3 "/FIND:"
-#define DICT_DEFINE "/DEFINE:"
-#define DICT_DEFINE2 "/D:"
-#define DICT_DEFINE3 "/LOOKUP:"
-
-#define CURL_DEFAULT_USER "anonymous"
-#define CURL_DEFAULT_PASSWORD "ftp@example.com"
-
-#define MAX_IPADR_LEN (4*9) /* should be enough to hold the longest ipv6 one */
-
-#include "cookie.h"
-#include "formdata.h"
-
-#ifdef USE_SSLEAY
-#ifdef USE_OPENSSL
-#include "openssl/rsa.h"
-#include "openssl/crypto.h"
-#include "openssl/x509.h"
-#include "openssl/pem.h"
-#include "openssl/ssl.h"
-#include "openssl/err.h"
-#ifdef HAVE_OPENSSL_ENGINE_H
-#include <openssl/engine.h>
-#endif
-#ifdef HAVE_OPENSSL_PKCS12_H
-#include <openssl/pkcs12.h>
-#endif
-#else /* SSLeay-style includes */
-#include "rsa.h"
-#include "crypto.h"
-#include "x509.h"
-#include "pem.h"
-#include "ssl.h"
-#include "err.h"
-#ifdef HAVE_OPENSSL_ENGINE_H
-#include <engine.h>
-#endif
-#ifdef HAVE_OPENSSL_PKCS12_H
-#include <pkcs12.h>
-#endif
-#endif /* USE_OPENSSL */
-#ifdef USE_GNUTLS
-#error Configuration error; cannot use GnuTLS *and* OpenSSL.
-#endif
-#endif /* USE_SSLEAY */
-
-#ifdef USE_GNUTLS
-#include <gnutls/gnutls.h>
-#endif
-
-#ifdef USE_NSS
-#include <nspr.h>
-#endif
-
-#ifdef USE_QSOSSL
-#include <qsossl.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-
-#include "timeval.h"
-
-#ifdef HAVE_ZLIB_H
-#include <zlib.h> /* for content-encoding */
-#endif
-
-#ifdef USE_ARES
-#include <ares.h>
-#endif
-
-#include <curl/curl.h>
-
-#include "http_chunks.h" /* for the structs and enum stuff */
-#include "hostip.h"
-#include "hash.h"
-#include "splay.h"
-
-#ifdef HAVE_GSSAPI
-# ifdef HAVE_GSSGNU
-# include <gss.h>
-# elif defined HAVE_GSSMIT
-# include <gssapi/gssapi.h>
-# include <gssapi/gssapi_generic.h>
-# else
-# include <gssapi.h>
-# endif
-#endif
-
-#ifdef HAVE_LIBSSH2_H
-#include <libssh2.h>
-#include <libssh2_sftp.h>
-#endif /* HAVE_LIBSSH2_H */
-
-/* Download buffer size, keep it fairly big for speed reasons */
-#undef BUFSIZE
-#define BUFSIZE CURL_MAX_WRITE_SIZE
-
-/* Initial size of the buffer to store headers in, it'll be enlarged in case
- of need. */
-#define HEADERSIZE 256
-
-#define CURLEASY_MAGIC_NUMBER 0xc0dedbadU
-
-/* Just a convenience macro to get the larger value out of two given.
- We prefix with CURL to prevent name collisions. */
-#define CURLMAX(x,y) ((x)>(y)?(x):(y))
-
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
-/* Types needed for krb4/5-ftp connections */
-struct krb4buffer {
- void *data;
- size_t size;
- size_t index;
- int eof_flag;
-};
-enum protection_level {
- prot_clear,
- prot_safe,
- prot_confidential,
- prot_private,
- prot_cmd
-};
-#endif
-
-/* enum for the nonblocking SSL connection state machine */
-typedef enum {
- ssl_connect_1,
- ssl_connect_2,
- ssl_connect_2_reading,
- ssl_connect_2_writing,
- ssl_connect_3,
- ssl_connect_done
-} ssl_connect_state;
-
-typedef enum {
- ssl_connection_none,
- ssl_connection_negotiating,
- ssl_connection_complete
-} ssl_connection_state;
-
-/* struct for data related to each SSL connection */
-struct ssl_connect_data {
- /* Use ssl encrypted communications TRUE/FALSE, not necessarily using it atm
- but at least asked to or meaning to use it. See 'state' for the exact
- current state of the connection. */
- bool use;
- ssl_connection_state state;
-#ifdef USE_SSLEAY
- /* these ones requires specific SSL-types */
- SSL_CTX* ctx;
- SSL* handle;
- X509* server_cert;
- ssl_connect_state connecting_state;
-#endif /* USE_SSLEAY */
-#ifdef USE_GNUTLS
- gnutls_session session;
- gnutls_certificate_credentials cred;
-#endif /* USE_GNUTLS */
-#ifdef USE_NSS
- PRFileDesc *handle;
- char *client_nickname;
-#endif /* USE_NSS */
-#ifdef USE_QSOSSL
- SSLHandle *handle;
-#endif /* USE_QSOSSL */
-};
-
-struct ssl_config_data {
- long version; /* what version the client wants to use */
- long certverifyresult; /* result from the certificate verification */
- long verifypeer; /* set TRUE if this is desired */
- long verifyhost; /* 0: no verify
- 1: check that CN exists
- 2: CN must match hostname */
- char *CApath; /* certificate dir (doesn't work on windows) */
- char *CAfile; /* cerficate to verify peer against */
- char *CRLfile; /* CRL to check cerficate revocation */
- char *issuercert; /* optional issuer cerficate filename */
- char *random_file; /* path to file containing "random" data */
- char *egdsocket; /* path to file containing the EGD daemon socket */
- char *cipher_list; /* list of ciphers to use */
- long numsessions; /* SSL session id cache size */
- curl_ssl_ctx_callback fsslctx; /* function to initialize ssl ctx */
- void *fsslctxp; /* parameter for call back */
- bool sessionid; /* cache session IDs or not */
-};
-
-/* information stored about one single SSL session */
-struct curl_ssl_session {
- char *name; /* host name for which this ID was used */
- void *sessionid; /* as returned from the SSL layer */
- size_t idsize; /* if known, otherwise 0 */
- long age; /* just a number, the higher the more recent */
- unsigned short remote_port; /* remote port to connect to */
- struct ssl_config_data ssl_config; /* setup for this session */
-};
-
-/* Struct used for Digest challenge-response authentication */
-struct digestdata {
- char *nonce;
- char *cnonce;
- char *realm;
- int algo;
- bool stale; /* set true for re-negotiation */
- char *opaque;
- char *qop;
- char *algorithm;
- int nc; /* nounce count */
-};
-
-typedef enum {
- NTLMSTATE_NONE,
- NTLMSTATE_TYPE1,
- NTLMSTATE_TYPE2,
- NTLMSTATE_TYPE3,
- NTLMSTATE_LAST
-} curlntlm;
-
-#ifdef USE_WINDOWS_SSPI
-/* When including these headers, you must define either SECURITY_WIN32
- * or SECURITY_KERNEL, indicating who is compiling the code.
- */
-#define SECURITY_WIN32 1
-#include <security.h>
-#include <sspi.h>
-#include <rpc.h>
-#endif
-
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
-#include <iconv.h>
-#endif
-
-/* Struct used for NTLM challenge-response authentication */
-struct ntlmdata {
- curlntlm state;
-#ifdef USE_WINDOWS_SSPI
- CredHandle handle;
- CtxtHandle c_handle;
- SEC_WINNT_AUTH_IDENTITY identity;
- SEC_WINNT_AUTH_IDENTITY *p_identity;
- int has_handles;
- void *type_2;
- int n_type_2;
-#else
- unsigned int flags;
- unsigned char nonce[8];
-#endif
-};
-
-#ifdef HAVE_GSSAPI
-struct negotiatedata {
- bool gss; /* Whether we're processing GSS-Negotiate or Negotiate */
- const char* protocol; /* "GSS-Negotiate" or "Negotiate" */
- OM_uint32 status;
- gss_ctx_id_t context;
- gss_name_t server_name;
- gss_buffer_desc output_token;
-};
-#endif
-
-/****************************************************************************
- * HTTP unique setup
- ***************************************************************************/
-struct HTTP {
- struct FormData *sendit;
- curl_off_t postsize; /* off_t to handle large file sizes */
- char *postdata;
-
- const char *p_pragma; /* Pragma: string */
- const char *p_accept; /* Accept: string */
- curl_off_t readbytecount;
- curl_off_t writebytecount;
-
- /* For FORM posting */
- struct Form form;
-
- struct back {
- curl_read_callback fread_func; /* backup storage for fread pointer */
- void *fread_in; /* backup storage for fread_in pointer */
- char *postdata;
- curl_off_t postsize;
- } backup;
-
- enum {
- HTTPSEND_NADA, /* init */
- HTTPSEND_REQUEST, /* sending a request */
- HTTPSEND_BODY, /* sending body */
- HTTPSEND_LAST /* never use this */
- } sending;
-
- void *send_buffer; /* used if the request couldn't be sent in one chunk,
- points to an allocated send_buffer struct */
-};
-
-/****************************************************************************
- * FTP unique setup
- ***************************************************************************/
-typedef enum {
- FTP_STOP, /* do nothing state, stops the state machine */
- FTP_WAIT220, /* waiting for the initial 220 response immediately after
- a connect */
- FTP_AUTH,
- FTP_USER,
- FTP_PASS,
- FTP_ACCT,
- FTP_PBSZ,
- FTP_PROT,
- FTP_CCC,
- FTP_PWD,
- FTP_QUOTE, /* waiting for a response to a command sent in a quote list */
- FTP_RETR_PREQUOTE,
- FTP_STOR_PREQUOTE,
- FTP_POSTQUOTE,
- FTP_CWD, /* change dir */
- FTP_MKD, /* if the dir didn't exist */
- FTP_MDTM, /* to figure out the datestamp */
- FTP_TYPE, /* to set type when doing a head-like request */
- FTP_LIST_TYPE, /* set type when about to do a dir list */
- FTP_RETR_TYPE, /* set type when about to RETR a file */
- FTP_STOR_TYPE, /* set type when about to STOR a file */
- FTP_SIZE, /* get the remote file's size for head-like request */
- FTP_RETR_SIZE, /* get the remote file's size for RETR */
- FTP_STOR_SIZE, /* get the size for (resumed) STOR */
- FTP_REST, /* when used to check if the server supports it in head-like */
- FTP_RETR_REST, /* when asking for "resume" in for RETR */
- FTP_PORT, /* generic state for PORT, LPRT and EPRT, check count1 */
- FTP_PASV, /* generic state for PASV and EPSV, check count1 */
- FTP_LIST, /* generic state for LIST, NLST or a custom list command */
- FTP_RETR,
- FTP_STOR, /* generic state for STOR and APPE */
- FTP_QUIT,
- FTP_LAST /* never used */
-} ftpstate;
-
-typedef enum {
- FTPFILE_MULTICWD = 1, /* as defined by RFC1738 */
- FTPFILE_NOCWD = 2, /* use SIZE / RETR / STOR on the full path */
- FTPFILE_SINGLECWD = 3 /* make one CWD, then SIZE / RETR / STOR on the file */
-} curl_ftpfile;
-
-typedef enum {
- FTPTRANSFER_BODY, /* yes do transfer a body */
- FTPTRANSFER_INFO, /* do still go through to get info/headers */
- FTPTRANSFER_NONE, /* don't get anything and don't get info */
- FTPTRANSFER_LAST /* end of list marker, never used */
-} curl_ftptransfer;
-
-/* This FTP struct is used in the SessionHandle. All FTP data that is
- connection-oriented must be in FTP_conn to properly deal with the fact that
- perhaps the SessionHandle is changed between the times the connection is
- used. */
-struct FTP {
- curl_off_t *bytecountp;
- char *user; /* user name string */
- char *passwd; /* password string */
-
- /* transfer a file/body or not, done as a typedefed enum just to make
- debuggers display the full symbol and not just the numerical value */
- curl_ftptransfer transfer;
- curl_off_t downloadsize;
-};
-
-/* ftp_conn is used for striuct connection-oriented data in the connectdata
- struct */
-struct ftp_conn {
- char *entrypath; /* the PWD reply when we logged on */
- char **dirs; /* realloc()ed array for path components */
- int dirdepth; /* number of entries used in the 'dirs' array */
- int diralloc; /* number of entries allocated for the 'dirs' array */
- char *file; /* decoded file */
- char *cache; /* data cache between getresponse()-calls */
- curl_off_t cache_size; /* size of cache in bytes */
- bool dont_check; /* Set to TRUE to prevent the final (post-transfer)
- file size and 226/250 status check. It should still
- read the line, just ignore the result. */
- long response_time; /* When no timeout is given, this is the amount of
- seconds we await for an FTP response. Initialized
- in Curl_ftp_connect() */
- bool ctl_valid; /* Tells Curl_ftp_quit() whether or not to do anything. If
- the connection has timed out or been closed, this
- should be FALSE when it gets to Curl_ftp_quit() */
- bool cwddone; /* if it has been determined that the proper CWD combo
- already has been done */
- bool cwdfail; /* set TRUE if a CWD command fails, as then we must prevent
- caching the current directory */
- char *prevpath; /* conn->path from the previous transfer */
- char transfertype; /* set by ftp_transfertype for use by Curl_client_write()a
- and others (A/I or zero) */
- size_t nread_resp; /* number of bytes currently read of a server response */
- char *linestart_resp; /* line start pointer for the FTP server response
- reader function */
-
- int count1; /* general purpose counter for the state machine */
- int count2; /* general purpose counter for the state machine */
- int count3; /* general purpose counter for the state machine */
- char *sendthis; /* allocated pointer to a buffer that is to be sent to the
- ftp server */
- size_t sendleft; /* number of bytes left to send from the sendthis buffer */
- size_t sendsize; /* total size of the sendthis buffer */
- struct timeval response; /* set to Curl_tvnow() when a command has been sent
- off, used to time-out response reading */
- ftpstate state; /* always use ftp.c:state() to change state! */
-};
-
-/****************************************************************************
- * SSH unique setup
- ***************************************************************************/
-typedef enum {
- SSH_NO_STATE = -1, /* Used for "nextState" so say there is none */
- SSH_STOP = 0, /* do nothing state, stops the state machine */
-
- SSH_S_STARTUP, /* Session startup, First state in SSH-CONNECT */
- SSH_AUTHLIST,
- SSH_AUTH_PKEY_INIT,
- SSH_AUTH_PKEY,
- SSH_AUTH_PASS_INIT,
- SSH_AUTH_PASS,
- SSH_AUTH_HOST_INIT,
- SSH_AUTH_HOST,
- SSH_AUTH_KEY_INIT,
- SSH_AUTH_KEY,
- SSH_AUTH_DONE,
- SSH_SFTP_INIT,
- SSH_SFTP_REALPATH, /* Last state in SSH-CONNECT */
-
- SSH_SFTP_QUOTE_INIT, /* First state in SFTP-DO */
- SSH_SFTP_POSTQUOTE_INIT, /* (Possibly) First state in SFTP-DONE */
- SSH_SFTP_QUOTE,
- SSH_SFTP_NEXT_QUOTE,
- SSH_SFTP_QUOTE_STAT,
- SSH_SFTP_QUOTE_SETSTAT,
- SSH_SFTP_QUOTE_SYMLINK,
- SSH_SFTP_QUOTE_MKDIR,
- SSH_SFTP_QUOTE_RENAME,
- SSH_SFTP_QUOTE_RMDIR,
- SSH_SFTP_QUOTE_UNLINK,
- SSH_SFTP_TRANS_INIT,
- SSH_SFTP_UPLOAD_INIT,
- SSH_SFTP_CREATE_DIRS_INIT,
- SSH_SFTP_CREATE_DIRS,
- SSH_SFTP_CREATE_DIRS_MKDIR,
- SSH_SFTP_READDIR_INIT,
- SSH_SFTP_READDIR,
- SSH_SFTP_READDIR_LINK,
- SSH_SFTP_READDIR_BOTTOM,
- SSH_SFTP_READDIR_DONE,
- SSH_SFTP_DOWNLOAD_INIT,
- SSH_SFTP_DOWNLOAD_STAT, /* Last state in SFTP-DO */
- SSH_SFTP_CLOSE, /* Last state in SFTP-DONE */
- SSH_SFTP_SHUTDOWN, /* First state in SFTP-DISCONNECT */
- SSH_SCP_TRANS_INIT, /* First state in SCP-DO */
- SSH_SCP_UPLOAD_INIT,
- SSH_SCP_DOWNLOAD_INIT,
- SSH_SCP_DONE,
- SSH_SCP_SEND_EOF,
- SSH_SCP_WAIT_EOF,
- SSH_SCP_WAIT_CLOSE,
- SSH_SCP_CHANNEL_FREE, /* Last state in SCP-DONE */
- SSH_SESSION_DISCONNECT, /* First state in SCP-DISCONNECT */
- SSH_SESSION_FREE, /* Last state in SCP/SFTP-DISCONNECT */
- SSH_QUIT,
- SSH_LAST /* never used */
-} sshstate;
-
-/* this struct is used in the HandleData struct which is part of the
- SessionHandle, which means this is used on a per-easy handle basis.
- Everything that is strictly related to a connection is banned from this
- struct. */
-struct SSHPROTO {
- char *path; /* the path we operate on */
-};
-
-/* ssh_conn is used for struct connection-oriented data in the connectdata
- struct */
-struct ssh_conn {
- const char *authlist; /* List of auth. methods, managed by libssh2 */
-#ifdef USE_LIBSSH2
- const char *passphrase; /* passphrase to use */
- char *rsa_pub; /* path name */
- char *rsa; /* path name */
- bool authed; /* the connection has been authenticated fine */
- sshstate state; /* always use ssh.c:state() to change state! */
- sshstate nextstate; /* the state to goto after stopping */
- CURLcode actualcode; /* the actual error code */
- struct curl_slist *quote_item; /* for the quote option */
- char *quote_path1; /* two generic pointers for the QUOTE stuff */
- char *quote_path2;
- LIBSSH2_SFTP_ATTRIBUTES quote_attrs; /* used by the SFTP_QUOTE state */
- char *homedir; /* when doing SFTP we figure out home dir in the
- connect phase */
-
- /* Here's a set of struct members used by the SFTP_READDIR state */
- LIBSSH2_SFTP_ATTRIBUTES readdir_attrs;
- char *readdir_filename;
- char *readdir_longentry;
- int readdir_len, readdir_totalLen, readdir_currLen;
- char *readdir_line;
- char *readdir_linkPath;
- /* end of READDIR stuff */
-
- int secondCreateDirs; /* counter use by the code to see if the
- second attempt has been made to change
- to/create a directory */
- char *slash_pos; /* used by the SFTP_CREATE_DIRS state */
- LIBSSH2_SESSION *ssh_session; /* Secure Shell session */
- LIBSSH2_CHANNEL *ssh_channel; /* Secure Shell channel handle */
- LIBSSH2_SFTP *sftp_session; /* SFTP handle */
- LIBSSH2_SFTP_HANDLE *sftp_handle;
-#endif /* USE_LIBSSH2 */
-};
-
-
-/****************************************************************************
- * FILE unique setup
- ***************************************************************************/
-struct FILEPROTO {
- char *path; /* the path we operate on */
- char *freepath; /* pointer to the allocated block we must free, this might
- differ from the 'path' pointer */
- int fd; /* open file descriptor to read from! */
-};
-
-/*
- * Boolean values that concerns this connection.
- */
-struct ConnectBits {
- bool close; /* if set, we close the connection after this request */
- bool reuse; /* if set, this is a re-used connection */
- bool proxy; /* if set, this transfer is done through a proxy - any type */
- bool httpproxy; /* if set, this transfer is done through a http proxy */
- bool user_passwd; /* do we use user+password for this connection? */
- bool proxy_user_passwd; /* user+password for the proxy? */
- bool ipv6_ip; /* we communicate with a remote site specified with pure IPv6
- IP address */
- bool ipv6; /* we communicate with a site using an IPv6 address */
-
- bool do_more; /* this is set TRUE if the ->curl_do_more() function is
- supposed to be called, after ->curl_do() */
-
- bool tcpconnect; /* the TCP layer (or simimlar) is connected, this is set
- the first time on the first connect function call */
- bool protoconnstart;/* the protocol layer has STARTED its operation after
- the TCP layer connect */
-
- bool retry; /* this connection is about to get closed and then
- re-attempted at another connection. */
- bool tunnel_proxy; /* if CONNECT is used to "tunnel" through the proxy.
- This is implicit when SSL-protocols are used through
- proxies, but can also be enabled explicitly by
- apps */
- bool tunnel_connecting; /* TRUE while we're still waiting for a proxy CONNECT
- */
- bool authneg; /* TRUE when the auth phase has started, which means
- that we are creating a request with an auth header,
- but it is not the final request in the auth
- negotiation. */
- bool rewindaftersend;/* TRUE when the sending couldn't be stopped even
- though it will be discarded. When the whole send
- operation is done, we must call the data rewind
- callback. */
- bool ftp_use_epsv; /* As set with CURLOPT_FTP_USE_EPSV, but if we find out
- EPSV doesn't work we disable it for the forthcoming
- requests */
-
- bool ftp_use_eprt; /* As set with CURLOPT_FTP_USE_EPRT, but if we find out
- EPRT doesn't work we disable it for the forthcoming
- requests */
- bool netrc; /* name+password provided by netrc */
-
- bool done; /* set to FALSE when Curl_do() is called and set to TRUE
- when Curl_done() is called, to prevent Curl_done() to
- get invoked twice when the multi interface is
- used. */
- bool stream_was_rewound; /* Indicates that the stream was rewound after a
- request read past the end of its response byte
- boundary */
- bool proxy_connect_closed; /* set true if a proxy disconnected the
- connection in a CONNECT request with auth, so
- that libcurl should reconnect and continue. */
- bool bound; /* set true if bind() has already been done on this socket/
- connection */
-};
-
-struct hostname {
- char *rawalloc; /* allocated "raw" version of the name */
- char *encalloc; /* allocated IDN-encoded version of the name */
- char *name; /* name to use internally, might be encoded, might be raw */
- char *dispname; /* name to display, as 'name' might be encoded */
-};
-
-/*
- * Flags on the keepon member of the Curl_transfer_keeper
- */
-
-#define KEEP_NONE 0
-#define KEEP_READ (1<<0) /* there is or may be data to read */
-#define KEEP_WRITE (1<<1) /* there is or may be data to write */
-#define KEEP_READ_HOLD (1<<2) /* when set, no reading should be done but there
- might still be data to read */
-#define KEEP_WRITE_HOLD (1<<3) /* when set, no writing should be done but there
- might still be data to write */
-#define KEEP_READ_PAUSE (1<<4) /* reading is paused */
-#define KEEP_WRITE_PAUSE (1<<5) /* writing is paused */
-
-#define KEEP_READBITS (KEEP_READ | KEEP_READ_HOLD | KEEP_READ_PAUSE)
-#define KEEP_WRITEBITS (KEEP_WRITE | KEEP_WRITE_HOLD | KEEP_WRITE_PAUSE)
-
-
-#ifdef HAVE_LIBZ
-typedef enum {
- ZLIB_UNINIT, /* uninitialized */
- ZLIB_INIT, /* initialized */
- ZLIB_GZIP_HEADER, /* reading gzip header */
- ZLIB_GZIP_INFLATING, /* inflating gzip stream */
- ZLIB_INIT_GZIP /* initialized in transparent gzip mode */
-} zlibInitState;
-#endif
-
-#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME) || \
- defined(USE_THREADING_GETADDRINFO)
-struct Curl_async {
- char *hostname;
- int port;
- struct Curl_dns_entry *dns;
- bool done; /* set TRUE when the lookup is complete */
- int status; /* if done is TRUE, this is the status from the callback */
- void *os_specific; /* 'struct thread_data' for Windows */
-};
-#endif
-
-#define FIRSTSOCKET 0
-#define SECONDARYSOCKET 1
-
-/* These function pointer types are here only to allow easier typecasting
- within the source when we need to cast between data pointers (such as NULL)
- and function pointers. */
-typedef CURLcode (*Curl_do_more_func)(struct connectdata *);
-typedef CURLcode (*Curl_done_func)(struct connectdata *, CURLcode, bool);
-
-
-enum expect100 {
- EXP100_SEND_DATA, /* enough waiting, just send the body now */
- EXP100_AWAITING_CONTINUE, /* waiting for the 100 Continue header */
- EXP100_SENDING_REQUEST, /* still sending the request but will wait for
- the 100 header once done with the request */
- EXP100_FAILED /* used on 417 Expectation Failed */
-};
-
-/*
- * Request specific data in the easy handle (SessionHandle). Previously,
- * these members were on the connectdata struct but since a conn struct may
- * now be shared between different SessionHandles, we store connection-specifc
- * data here. This struct only keeps stuff that's interesting for *this*
- * request, as it will be cleared between multiple ones
- */
-struct SingleRequest {
- curl_off_t size; /* -1 if unknown at this point */
- curl_off_t *bytecountp; /* return number of bytes read or NULL */
-
- curl_off_t maxdownload; /* in bytes, the maximum amount of data to fetch,
- -1 means unlimited */
- curl_off_t *writebytecountp; /* return number of bytes written or NULL */
-
- curl_off_t bytecount; /* total number of bytes read */
- curl_off_t writebytecount; /* number of bytes written */
-
- long headerbytecount; /* only count received headers */
- long deductheadercount; /* this amount of bytes doesn't count when we check
- if anything has been transfered at the end of a
- connection. We use this counter to make only a
- 100 reply (without a following second response
- code) result in a CURLE_GOT_NOTHING error code */
-
- struct timeval start; /* transfer started at this time */
- struct timeval now; /* current time */
- bool header; /* incoming data has HTTP header */
- enum {
- HEADER_NORMAL, /* no bad header at all */
- HEADER_PARTHEADER, /* part of the chunk is a bad header, the rest
- is normal data */
- HEADER_ALLBAD /* all was believed to be header */
- } badheader; /* the header was deemed bad and will be
- written as body */
- int headerline; /* counts header lines to better track the
- first one */
- char *hbufp; /* points at *end* of header line */
- size_t hbuflen;
- char *str; /* within buf */
- char *str_start; /* within buf */
- char *end_ptr; /* within buf */
- char *p; /* within headerbuff */
- bool content_range; /* set TRUE if Content-Range: was found */
- curl_off_t offset; /* possible resume offset read from the
- Content-Range: header */
- int httpcode; /* error code from the 'HTTP/1.? XXX' line */
- int httpversion; /* the HTTP version*10 */
- struct timeval start100; /* time stamp to wait for the 100 code from */
- enum expect100 exp100; /* expect 100 continue state */
-
- int content_encoding; /* What content encoding. sec 3.5, RFC2616. */
-
-#define IDENTITY 0 /* No encoding */
-#define DEFLATE 1 /* zlib delfate [RFC 1950 & 1951] */
-#define GZIP 2 /* gzip algorithm [RFC 1952] */
-#define COMPRESS 3 /* Not handled, added for completeness */
-
-#ifdef HAVE_LIBZ
- zlibInitState zlib_init; /* possible zlib init state;
- undefined if Content-Encoding header. */
- z_stream z; /* State structure for zlib. */
-#endif
-
- time_t timeofdoc;
- long bodywrites;
-
- char *buf;
- char *uploadbuf;
- curl_socket_t maxfd;
-
- int keepon;
-
- bool upload_done; /* set to TRUE when doing chunked transfer-encoding upload
- and we're uploading the last chunk */
-
- bool ignorebody; /* we read a response-body but we ignore it! */
- bool ignorecl; /* This HTTP response has no body so we ignore the Content-
- Length: header */
-
- char *location; /* This points to an allocated version of the Location:
- header data */
- char *newurl; /* Set to the new URL to use when a redirect or a retry is
- wanted */
-
- /* 'upload_present' is used to keep a byte counter of how much data there is
- still left in the buffer, aimed for upload. */
- ssize_t upload_present;
-
- /* 'upload_fromhere' is used as a read-pointer when we uploaded parts of a
- buffer, so the next read should read from where this pointer points to,
- and the 'upload_present' contains the number of bytes available at this
- position */
- char *upload_fromhere;
-
- bool chunk; /* if set, this is a chunked transfer-encoding */
- bool upload_chunky; /* set TRUE if we are doing chunked transfer-encoding
- on upload */
- bool getheader; /* TRUE if header parsing is wanted */
-
- bool forbidchunk; /* used only to explicitly forbid chunk-upload for
- specific upload buffers. See readmoredata() in
- http.c for details. */
- bool trailerhdrpresent; /* Set when Trailer: header found in HTTP response.
- Required to determine whether to look for trailers
- in case of Transfer-Encoding: chunking */
-};
-
-/*
- * Specific protocol handler.
- */
-
-struct Curl_handler {
- const char * scheme; /* URL scheme name. */
-
- /* Complement to setup_connection_internals(). */
- CURLcode (*setup_connection)(struct connectdata *);
-
- /* These two functions MUST be set to be protocol dependent */
- CURLcode (*do_it)(struct connectdata *, bool *done);
- Curl_done_func done;
-
- /* If the curl_do() function is better made in two halves, this
- * curl_do_more() function will be called afterwards, if set. For example
- * for doing the FTP stuff after the PASV/PORT command.
- */
- Curl_do_more_func do_more;
-
- /* This function *MAY* be set to a protocol-dependent function that is run
- * after the connect() and everything is done, as a step in the connection.
- * The 'done' pointer points to a bool that should be set to TRUE if the
- * function completes before return. If it doesn't complete, the caller
- * should call the curl_connecting() function until it is.
- */
- CURLcode (*connect_it)(struct connectdata *, bool *done);
-
- /* See above. Currently only used for FTP. */
- CURLcode (*connecting)(struct connectdata *, bool *done);
- CURLcode (*doing)(struct connectdata *, bool *done);
-
- /* Called from the multi interface during the PROTOCONNECT phase, and it
- should then return a proper fd set */
- int (*proto_getsock)(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-
- /* Called from the multi interface during the DOING phase, and it should
- then return a proper fd set */
- int (*doing_getsock)(struct connectdata *conn,
- curl_socket_t *socks,
- int numsocks);
-
- /* This function *MAY* be set to a protocol-dependent function that is run
- * by the curl_disconnect(), as a step in the disconnection.
- */
- CURLcode (*disconnect)(struct connectdata *);
-
- long defport; /* Default port. */
- long protocol; /* PROT_* flags concerning the protocol set */
-};
-
-/*
- * The connectdata struct contains all fields and variables that should be
- * unique for an entire connection.
- */
-struct connectdata {
- /* 'data' is the CURRENT SessionHandle using this connection -- take great
- caution that this might very well vary between different times this
- connection is used! */
- struct SessionHandle *data;
-
- /* chunk is for HTTP chunked encoding, but is in the general connectdata
- struct only because we can do just about any protocol through a HTTP proxy
- and a HTTP proxy may in fact respond using chunked encoding */
- struct Curl_chunker chunk;
-
- bool inuse; /* This is a marker for the connection cache logic. If this is
- TRUE this handle is being used by an easy handle and cannot
- be used by any other easy handle without careful
- consideration (== only for pipelining). */
-
- /**** Fields set when inited and not modified again */
- long connectindex; /* what index in the connection cache connects index this
- particular struct has */
- long protocol; /* PROT_* flags concerning the protocol set */
-#define PROT_MISSING (1<<0)
-#define PROT_HTTP (1<<2)
-#define PROT_HTTPS (1<<3)
-#define PROT_FTP (1<<4)
-#define PROT_TELNET (1<<5)
-#define PROT_DICT (1<<6)
-#define PROT_LDAP (1<<7)
-#define PROT_FILE (1<<8)
-#define PROT_FTPS (1<<9)
-#define PROT_SSL (1<<10) /* protocol requires SSL */
-#define PROT_TFTP (1<<11)
-#define PROT_SCP (1<<12)
-#define PROT_SFTP (1<<13)
-
-#define PROT_CLOSEACTION PROT_FTP /* these ones need action before socket
- close */
-
- /* 'dns_entry' is the particular host we use. This points to an entry in the
- DNS cache and it will not get pruned while locked. It gets unlocked in
- Curl_done(). This entry will be NULL if the connection is re-used as then
- there is no name resolve done. */
- struct Curl_dns_entry *dns_entry;
-
- /* 'ip_addr' is the particular IP we connected to. It points to a struct
- within the DNS cache, so this pointer is only valid as long as the DNS
- cache entry remains locked. It gets unlocked in Curl_done() */
- Curl_addrinfo *ip_addr;
-
- /* 'ip_addr_str' is the ip_addr data as a human readable malloc()ed string.
- It remains available as long as the connection does, which is longer than
- the ip_addr itself. Set with Curl_store_ip_addr() when ip_addr has been
- set. */
- char *ip_addr_str;
-
- unsigned int scope; /* address scope for IPv6 */
-
- char protostr[16]; /* store the protocol string in this buffer */
- int socktype; /* SOCK_STREAM or SOCK_DGRAM */
-
- struct hostname host;
- struct hostname proxy;
-
- long port; /* which port to use locally */
- unsigned short remote_port; /* what remote port to connect to,
- not the proxy port! */
-
- char *user; /* user name string, allocated */
- char *passwd; /* password string, allocated */
-
- char *proxyuser; /* proxy user name string, allocated */
- char *proxypasswd; /* proxy password string, allocated */
- curl_proxytype proxytype; /* what kind of proxy that is in use */
-
- struct timeval now; /* "current" time */
- struct timeval created; /* creation time */
- curl_socket_t sock[2]; /* two sockets, the second is used for the data
- transfer when doing FTP */
-
- struct ssl_connect_data ssl[2]; /* this is for ssl-stuff */
- struct ssl_config_data ssl_config;
-
- struct ConnectBits bits; /* various state-flags for this connection */
-
- const struct Curl_handler * handler; /* Connection's protocol handler. */
-
- /**** curl_get() phase fields */
-
- curl_socket_t sockfd; /* socket to read from or CURL_SOCKET_BAD */
- curl_socket_t writesockfd; /* socket to write to, it may very
- well be the same we read from.
- CURL_SOCKET_BAD disables */
-
- /** Dynamicly allocated strings, may need to be freed before this **/
- /** struct is killed. **/
- struct dynamically_allocated_data {
- char *proxyuserpwd; /* free later if not NULL! */
- char *uagent; /* free later if not NULL! */
- char *accept_encoding; /* free later if not NULL! */
- char *userpwd; /* free later if not NULL! */
- char *rangeline; /* free later if not NULL! */
- char *ref; /* free later if not NULL! */
- char *host; /* free later if not NULL */
- char *cookiehost; /* free later if not NULL */
- } allocptr;
-
- int sec_complete; /* if kerberos is enabled for this connection */
-#if defined(HAVE_KRB4) || defined(HAVE_GSSAPI)
- enum protection_level command_prot;
- enum protection_level data_prot;
- enum protection_level request_data_prot;
- size_t buffer_size;
- struct krb4buffer in_buffer, out_buffer;
- void *app_data;
- const struct Curl_sec_client_mech *mech;
- struct sockaddr_in local_addr;
-#endif
-
- bool readchannel_inuse; /* whether the read channel is in use by an easy
- handle */
- bool writechannel_inuse; /* whether the write channel is in use by an easy
- handle */
- bool server_supports_pipelining; /* TRUE if server supports pipelining,
- set after first response */
-
- struct curl_llist *send_pipe; /* List of handles waiting to
- send on this pipeline */
- struct curl_llist *recv_pipe; /* List of handles waiting to read
- their responses on this pipeline */
- struct curl_llist *pend_pipe; /* List of pending handles on
- this pipeline */
-#define MAX_PIPELINE_LENGTH 5
-
- char* master_buffer; /* The master buffer allocated on-demand;
- used for pipelining. */
- size_t read_pos; /* Current read position in the master buffer */
- size_t buf_len; /* Length of the buffer?? */
-
-
- curl_seek_callback seek_func; /* function that seeks the input */
- void *seek_client; /* pointer to pass to the seek() above */
-
- /*************** Request - specific items ************/
-
- /* previously this was in the urldata struct */
- curl_read_callback fread_func; /* function that reads the input */
- void *fread_in; /* pointer to pass to the fread() above */
-
- struct ntlmdata ntlm; /* NTLM differs from other authentication schemes
- because it authenticates connections, not
- single requests! */
- struct ntlmdata proxyntlm; /* NTLM data for proxy */
-
- char syserr_buf [256]; /* buffer for Curl_strerror() */
-
-#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME) || \
- defined(USE_THREADING_GETADDRINFO)
- /* data used for the asynch name resolve callback */
- struct Curl_async async;
-#endif
-
- /* These three are used for chunked-encoding trailer support */
- char *trailer; /* allocated buffer to store trailer in */
- int trlMax; /* allocated buffer size */
- int trlPos; /* index of where to store data */
-
- union {
- struct ftp_conn ftpc;
- struct ssh_conn sshc;
- } proto;
-
- int cselect_bits; /* bitmask of socket events */
-};
-
-/* The end of connectdata. */
-
-/*
- * Struct to keep statistical and informational data.
- */
-struct PureInfo {
- int httpcode; /* Recent HTTP or FTP response code */
- int httpproxycode; /* response code from proxy when received separate */
- int httpversion; /* the http version number X.Y = X*10+Y */
- long filetime; /* If requested, this is might get set. Set to -1 if the time
- was unretrievable. We cannot have this of type time_t,
- since time_t is unsigned on several platforms such as
- OpenVMS. */
- long header_size; /* size of read header(s) in bytes */
- long request_size; /* the amount of bytes sent in the request(s) */
- long proxyauthavail; /* what proxy auth types were announced */
- long httpauthavail; /* what host auth types were announced */
- long numconnects; /* how many new connection did libcurl created */
- char *contenttype; /* the content type of the object */
- char *wouldredirect; /* URL this would've been redirected to if asked to */
- char ip[MAX_IPADR_LEN]; /* this buffer gets the numerical ip version stored
- at the connect *attempt* so it will get the last
- tried connect IP even on failures */
-};
-
-
-struct Progress {
- long lastshow; /* time() of the last displayed progress meter or NULL to
- force redraw at next call */
- curl_off_t size_dl; /* total expected size */
- curl_off_t size_ul; /* total expected size */
- curl_off_t downloaded; /* transfered so far */
- curl_off_t uploaded; /* transfered so far */
-
- curl_off_t current_speed; /* uses the currently fastest transfer */
-
- bool callback; /* set when progress callback is used */
- int width; /* screen width at download start */
- int flags; /* see progress.h */
-
- double timespent;
-
- curl_off_t dlspeed;
- curl_off_t ulspeed;
-
- double t_nslookup;
- double t_connect;
- double t_appconnect;
- double t_pretransfer;
- double t_starttransfer;
- double t_redirect;
-
- struct timeval start;
- struct timeval t_startsingle;
-#define CURR_TIME (5+1) /* 6 entries for 5 seconds */
-
- curl_off_t speeder[ CURR_TIME ];
- struct timeval speeder_time[ CURR_TIME ];
- int speeder_c;
-};
-
-typedef enum {
- HTTPREQ_NONE, /* first in list */
- HTTPREQ_GET,
- HTTPREQ_POST,
- HTTPREQ_POST_FORM, /* we make a difference internally */
- HTTPREQ_PUT,
- HTTPREQ_HEAD,
- HTTPREQ_CUSTOM,
- HTTPREQ_LAST /* last in list */
-} Curl_HttpReq;
-
-/*
- * Values that are generated, temporary or calculated internally for a
- * "session handle" must be defined within the 'struct UrlState'. This struct
- * will be used within the SessionHandle struct. When the 'SessionHandle'
- * struct is cloned, this data MUST NOT be copied.
- *
- * Remember that any "state" information goes globally for the curl handle.
- * Session-data MUST be put in the connectdata struct and here. */
-#define MAX_CURL_USER_LENGTH 256
-#define MAX_CURL_PASSWORD_LENGTH 256
-#define MAX_CURL_USER_LENGTH_TXT "255"
-#define MAX_CURL_PASSWORD_LENGTH_TXT "255"
-
-struct auth {
- long want; /* Bitmask set to the authentication methods wanted by the app
- (with CURLOPT_HTTPAUTH or CURLOPT_PROXYAUTH). */
- long picked;
- long avail; /* bitmask for what the server reports to support for this
- resource */
- bool done; /* TRUE when the auth phase is done and ready to do the *actual*
- request */
- bool multi; /* TRUE if this is not yet authenticated but within the auth
- multipass negotiation */
-
-};
-
-struct conncache {
- /* 'connects' will be an allocated array with pointers. If the pointer is
- set, it holds an allocated connection. */
- struct connectdata **connects;
- long num; /* number of entries of the 'connects' array */
- enum {
- CONNCACHE_PRIVATE, /* used for an easy handle alone */
- CONNCACHE_MULTI /* shared within a multi handle */
- } type;
-};
-
-
-struct UrlState {
- enum {
- Curl_if_none,
- Curl_if_easy,
- Curl_if_multi
- } used_interface;
-
- struct conncache *connc; /* points to the connection cache this handle
- uses */
-
- /* buffers to store authentication data in, as parsed from input options */
- struct timeval keeps_speed; /* for the progress meter really */
-
- long lastconnect; /* index of most recent connect or -1 if undefined */
-
- char *headerbuff; /* allocated buffer to store headers in */
- size_t headersize; /* size of the allocation */
-
- char buffer[BUFSIZE+1]; /* download buffer */
- char uploadbuffer[BUFSIZE+1]; /* upload buffer */
- curl_off_t current_speed; /* the ProgressShow() funcion sets this,
- bytes / second */
- bool this_is_a_follow; /* this is a followed Location: request */
-
- char *first_host; /* if set, this should be the host name that we will
- sent authorization to, no else. Used to make Location:
- following not keep sending user+password... This is
- strdup() data.
- */
- struct curl_ssl_session *session; /* array of 'numsessions' size */
- long sessionage; /* number of the most recent session */
- char *tempwrite; /* allocated buffer to keep data in when a write
- callback returns to make the connection paused */
- size_t tempwritesize; /* size of the 'tempwrite' allocated buffer */
- int tempwritetype; /* type of the 'tempwrite' buffer as a bitmask that is
- used with Curl_client_write() */
- char *scratch; /* huge buffer[BUFSIZE*2] when doing upload CRLF replacing */
- bool errorbuf; /* Set to TRUE if the error buffer is already filled in.
- This must be set to FALSE every time _easy_perform() is
- called. */
- int os_errno; /* filled in with errno whenever an error occurs */
-#ifdef HAVE_SIGNAL
- /* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */
- void (*prev_signal)(int sig);
-#endif
- bool allow_port; /* Is set.use_port allowed to take effect or not. This
- is always set TRUE when curl_easy_perform() is called. */
- struct digestdata digest; /* state data for host Digest auth */
- struct digestdata proxydigest; /* state data for proxy Digest auth */
-
-#ifdef HAVE_GSSAPI
- struct negotiatedata negotiate; /* state data for host Negotiate auth */
- struct negotiatedata proxyneg; /* state data for proxy Negotiate auth */
-#endif
-
- struct auth authhost; /* auth details for host */
- struct auth authproxy; /* auth details for proxy */
-
- bool authproblem; /* TRUE if there's some problem authenticating */
-
-#ifdef USE_ARES
- ares_channel areschannel; /* for name resolves */
-#endif
-
-#if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H)
- ENGINE *engine;
-#endif /* USE_SSLEAY */
- struct timeval expiretime; /* set this with Curl_expire() only */
- struct Curl_tree timenode; /* for the splay stuff */
-
- /* a place to store the most recenlty set FTP entrypath */
- char *most_recent_ftp_entrypath;
-
- /* set after initial USER failure, to prevent an authentication loop */
- bool ftp_trying_alternative;
-
- bool expect100header; /* TRUE if we added Expect: 100-continue */
-
- bool pipe_broke; /* TRUE if the connection we were pipelined on broke
- and we need to restart from the beginning */
-
-#if !defined(WIN32) && !defined(MSDOS) && !defined(__EMX__) && \
- !defined(__SYMBIAN32__)
-/* do FTP line-end conversions on most platforms */
-#define CURL_DO_LINEEND_CONV
- /* for FTP downloads: track CRLF sequences that span blocks */
- bool prev_block_had_trailing_cr;
- /* for FTP downloads: how many CRLFs did we converted to LFs? */
- curl_off_t crlf_conversions;
-#endif
- /* If set to non-NULL, there's a connection in a shared connection cache
- that uses this handle so we can't kill this SessionHandle just yet but
- must keep it around and add it to the list of handles to kill once all
- its connections are gone */
- void *shared_conn;
- bool closed; /* set to TRUE when curl_easy_cleanup() has been called on this
- handle, but it is kept around as mentioned for
- shared_conn */
- char *pathbuffer;/* allocated buffer to store the URL's path part in */
- char *path; /* path to use, points to somewhere within the pathbuffer
- area */
-
- bool use_range;
- bool rangestringalloc; /* the range string is malloc()'ed */
-
- char *range; /* range, if used. See README for detailed specification on
- this syntax. */
- curl_off_t resume_from; /* continue [ftp] transfer from here */
-
- /* Protocol specific data.
- *
- *************************************************************************
- * Note that this data will be REMOVED after each request, so anything that
- * should be kept/stored on a per-connection basis and thus live for the
- * next requst on the same connection MUST be put in the connectdata struct!
- *************************************************************************/
- union {
- struct HTTP *http;
- struct HTTP *https; /* alias, just for the sake of being more readable */
- struct FTP *ftp;
- void *tftp; /* private for tftp.c-eyes only */
- struct FILEPROTO *file;
- void *telnet; /* private for telnet.c-eyes only */
- void *generic;
- struct SSHPROTO *ssh;
- } proto;
- /* current user of this SessionHandle instance, or NULL */
- struct connectdata *current_conn;
-};
-
-
-/*
- * This 'DynamicStatic' struct defines dynamic states that actually change
- * values in the 'UserDefined' area, which MUST be taken into consideration
- * if the UserDefined struct is cloned or similar. You can probably just
- * copy these, but each one indicate a special action on other data.
- */
-
-struct DynamicStatic {
- char *url; /* work URL, copied from UserDefined */
- bool url_alloc; /* URL string is malloc()'ed */
- char *referer; /* referer string */
- bool referer_alloc; /* referer sting is malloc()ed */
- struct curl_slist *cookielist; /* list of cookie files set by
- curl_easy_setopt(COOKIEFILE) calls */
-};
-
-/*
- * This 'UserDefined' struct must only contain data that is set once to go
- * for many (perhaps) independent connections. Values that are generated or
- * calculated internally for the "session handle" MUST be defined within the
- * 'struct UrlState' instead. The only exceptions MUST note the changes in
- * the 'DynamicStatic' struct.
- * Character pointer fields point to dynamic storage, unless otherwise stated.
- */
-struct Curl_one_easy; /* declared and used only in multi.c */
-struct Curl_multi; /* declared and used only in multi.c */
-
-enum dupstring {
- STRING_CERT, /* client certificate file name */
- STRING_CERT_TYPE, /* format for certificate (default: PEM)*/
- STRING_COOKIE, /* HTTP cookie string to send */
- STRING_COOKIEJAR, /* dump all cookies to this file */
- STRING_CUSTOMREQUEST, /* HTTP/FTP request/method to use */
- STRING_DEVICE, /* local network interface/address to use */
- STRING_ENCODING, /* Accept-Encoding string */
- STRING_FTP_ACCOUNT, /* ftp account data */
- STRING_FTP_ALTERNATIVE_TO_USER, /* command to send if USER/PASS fails */
- STRING_FTPPORT, /* port to send with the FTP PORT command */
- STRING_KEY, /* private key file name */
- STRING_KEY_PASSWD, /* plain text private key password */
- STRING_KEY_TYPE, /* format for private key (default: PEM) */
- STRING_KRB_LEVEL, /* krb security level */
- STRING_NETRC_FILE, /* if not NULL, use this instead of trying to find
- $HOME/.netrc */
- STRING_COPYPOSTFIELDS, /* if POST, set the fields' values here */
- STRING_PROXY, /* proxy to use */
- STRING_PROXYUSERPWD, /* Proxy <user:password>, if used */
- STRING_SET_RANGE, /* range, if used */
- STRING_SET_REFERER, /* custom string for the HTTP referer field */
- STRING_SET_URL, /* what original URL to work on */
- STRING_SSH_PRIVATE_KEY, /* path to the private key file for auth */
- STRING_SSH_PUBLIC_KEY, /* path to the public key file for auth */
- STRING_SSL_CAPATH, /* CA directory name (doesn't work on windows) */
- STRING_SSL_CAFILE, /* certificate file to verify peer against */
- STRING_SSL_CIPHER_LIST, /* list of ciphers to use */
- STRING_SSL_EGDSOCKET, /* path to file containing the EGD daemon socket */
- STRING_SSL_RANDOM_FILE, /* path to file containing "random" data */
- STRING_USERAGENT, /* User-Agent string */
- STRING_USERPWD, /* <user:password>, if used */
- STRING_SSH_HOST_PUBLIC_KEY_MD5, /* md5 of host public key in ascii hex */
- STRING_SSL_CRLFILE, /* crl file to check certificate */
- STRING_SSL_ISSUERCERT, /* issuer cert file to check certificate */
-
- /* -- end of strings -- */
- STRING_LAST /* not used, just an end-of-list marker */
-};
-
-struct UserDefined {
- FILE *err; /* the stderr user data goes here */
- void *debugdata; /* the data that will be passed to fdebug */
- char *errorbuffer; /* (Static) store failure messages in here */
- long proxyport; /* If non-zero, use this port number by default. If the
- proxy string features a ":[port]" that one will override
- this. */
- void *out; /* the fetched file goes here */
- void *in; /* the uploaded file is read from here */
- void *writeheader; /* write the header to this if non-NULL */
- long use_port; /* which port to use (when not using default) */
- long httpauth; /* what kind of HTTP authentication to use (bitmask) */
- long proxyauth; /* what kind of proxy authentication to use (bitmask) */
- long followlocation; /* as in HTTP Location: */
- long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1
- for infinity */
- bool post301; /* Obey RFC 2616/10.3.2 and keep POSTs as POSTs after a
- 301 */
- bool free_referer; /* set TRUE if 'referer' points to a string we
- allocated */
- void *postfields; /* if POST, set the fields' values here */
- curl_seek_callback seek_func; /* function that seeks the input */
- curl_off_t postfieldsize; /* if POST, this might have a size to use instead
- of strlen(), and then the data *may* be binary
- (contain zero bytes) */
- unsigned short localport; /* local port number to bind to */
- int localportrange; /* number of additional port numbers to test in case the
- 'localport' one can't be bind()ed */
- curl_write_callback fwrite_func; /* function that stores the output */
- curl_write_callback fwrite_header; /* function that stores headers */
- curl_read_callback fread_func; /* function that reads the input */
- curl_progress_callback fprogress; /* function for progress information */
- curl_debug_callback fdebug; /* function that write informational data */
- curl_ioctl_callback ioctl_func; /* function for I/O control */
- curl_sockopt_callback fsockopt; /* function for setting socket options */
- void *sockopt_client; /* pointer to pass to the socket options callback */
- curl_opensocket_callback fopensocket; /* function for checking/translating
- the address and opening the socket */
- void* opensocket_client;
-
- void *seek_client; /* pointer to pass to the seek callback */
- /* the 3 curl_conv_callback functions below are used on non-ASCII hosts */
- /* function to convert from the network encoding: */
- curl_conv_callback convfromnetwork;
- /* function to convert to the network encoding: */
- curl_conv_callback convtonetwork;
- /* function to convert from UTF-8 encoding: */
- curl_conv_callback convfromutf8;
-
- void *progress_client; /* pointer to pass to the progress callback */
- void *ioctl_client; /* pointer to pass to the ioctl callback */
- long timeout; /* in milliseconds, 0 means no timeout */
- long connecttimeout; /* in milliseconds, 0 means no timeout */
- long ftp_response_timeout; /* in milliseconds, 0 means no timeout */
- curl_off_t infilesize; /* size of file to upload, -1 means unknown */
- long low_speed_limit; /* bytes/second */
- long low_speed_time; /* number of seconds */
- curl_off_t max_send_speed; /* high speed limit in bytes/second for upload */
- curl_off_t max_recv_speed; /* high speed limit in bytes/second for download */
- curl_off_t set_resume_from; /* continue [ftp] transfer from here */
- struct curl_slist *headers; /* linked list of extra headers */
- struct curl_httppost *httppost; /* linked list of POST data */
- bool cookiesession; /* new cookie session? */
- bool crlf; /* convert crlf on ftp upload(?) */
- struct curl_slist *quote; /* after connection is established */
- struct curl_slist *postquote; /* after the transfer */
- struct curl_slist *prequote; /* before the transfer, after type */
- struct curl_slist *source_quote; /* 3rd party quote */
- struct curl_slist *source_prequote; /* in 3rd party transfer mode - before
- the transfer on source host */
- struct curl_slist *source_postquote; /* in 3rd party transfer mode - after
- the transfer on source host */
- struct curl_slist *telnet_options; /* linked list of telnet options */
- curl_TimeCond timecondition; /* kind of time/date comparison */
- time_t timevalue; /* what time to compare with */
- Curl_HttpReq httpreq; /* what kind of HTTP request (if any) is this */
- long httpversion; /* when non-zero, a specific HTTP version requested to
- be used in the library's request(s) */
- struct ssl_config_data ssl; /* user defined SSL stuff */
- curl_proxytype proxytype; /* what kind of proxy that is in use */
- long dns_cache_timeout; /* DNS cache timeout */
- long buffer_size; /* size of receive buffer to use */
- void *private_data; /* application-private data */
-
- struct Curl_one_easy *one_easy; /* When adding an easy handle to a multi
- handle, an internal 'Curl_one_easy'
- struct is created and this is a pointer
- to the particular struct associated with
- this SessionHandle */
-
- struct curl_slist *http200aliases; /* linked list of aliases for http200 */
-
- long ip_version; /* the CURL_IPRESOLVE_* defines in the public header file
- 0 - whatever, 1 - v2, 2 - v6 */
-
- curl_off_t max_filesize; /* Maximum file size to download */
-
- curl_ftpfile ftp_filemethod; /* how to get to a file when FTP is used */
-
-/* Here follows boolean settings that define how to behave during
- this session. They are STATIC, set by libcurl users or at least initially
- and they don't change during operations. */
-
- bool printhost; /* printing host name in debug info */
- bool get_filetime; /* get the time and get of the remote file */
- bool tunnel_thru_httpproxy; /* use CONNECT through a HTTP proxy */
- bool prefer_ascii; /* ASCII rather than binary */
- bool ftp_append; /* append, not overwrite, on upload */
- bool ftp_list_only; /* switch FTP command for listing directories */
- bool ftp_create_missing_dirs; /* create directories that don't exist */
- bool ftp_use_port; /* use the FTP PORT command */
- bool hide_progress; /* don't use the progress meter */
- bool http_fail_on_error; /* fail on HTTP error codes >= 300 */
- bool http_follow_location; /* follow HTTP redirects */
- bool http_disable_hostname_check_before_authentication;
- bool include_header; /* include received protocol headers in data output */
- bool http_set_referer; /* is a custom referer used */
- bool http_auto_referer; /* set "correct" referer when following location: */
- bool opt_no_body; /* as set with CURLOPT_NO_BODY */
- bool set_port; /* custom port number used */
- bool upload; /* upload request */
- enum CURL_NETRC_OPTION
- use_netrc; /* defined in include/curl.h */
- bool verbose; /* output verbosity */
- bool krb; /* kerberos connection requested */
- bool reuse_forbid; /* forbidden to be reused, close after use */
- bool reuse_fresh; /* do not re-use an existing connection */
- bool ftp_use_epsv; /* if EPSV is to be attempted or not */
- bool ftp_use_eprt; /* if EPRT is to be attempted or not */
-
- curl_usessl ftp_ssl; /* if AUTH TLS is to be attempted etc */
- curl_ftpauth ftpsslauth; /* what AUTH XXX to be attempted */
- curl_ftpccc ftp_ccc; /* FTP CCC options */
- bool no_signal; /* do not use any signal/alarm handler */
- bool global_dns_cache; /* subject for future removal */
- bool tcp_nodelay; /* whether to enable TCP_NODELAY or not */
- bool ignorecl; /* ignore content length */
- bool ftp_skip_ip; /* skip the IP address the FTP server passes on to
- us */
- bool connect_only; /* make connection, let application use the socket */
- long ssh_auth_types; /* allowed SSH auth types */
- bool http_te_skip; /* pass the raw body data to the user, even when
- transfer-encoded (chunked, compressed) */
- bool http_ce_skip; /* pass the raw body data to the user, even when
- content-encoded (chunked, compressed) */
- long new_file_perms; /* Permissions to use when creating remote files */
- long new_directory_perms; /* Permissions to use when creating remote dirs */
- bool proxy_transfer_mode; /* set transfer mode (;type=<a|i>) when doing FTP
- via an HTTP proxy */
- char *str[STRING_LAST]; /* array of strings, pointing to allocated memory */
- unsigned int scope; /* address scope for IPv6 */
-};
-
-struct Names {
- struct curl_hash *hostcache;
- enum {
- HCACHE_NONE, /* not pointing to anything */
- HCACHE_PRIVATE, /* points to our own */
- HCACHE_GLOBAL, /* points to the (shrug) global one */
- HCACHE_MULTI, /* points to a shared one in the multi handle */
- HCACHE_SHARED /* points to a shared one in a shared object */
- } hostcachetype;
-};
-
-/*
- * The 'connectdata' struct MUST have all the connection oriented stuff as we
- * may have several simultaneous connections and connection structs in memory.
- *
- * The 'struct UserDefined' must only contain data that is set once to go for
- * many (perhaps) independent connections. Values that are generated or
- * calculated internally for the "session handle" must be defined within the
- * 'struct UrlState' instead.
- */
-
-struct SessionHandle {
- struct Names dns;
- struct Curl_multi *multi; /* if non-NULL, points to the multi handle
- struct to which this "belongs" */
- struct Curl_one_easy *multi_pos; /* if non-NULL, points to the its position
- in multi controlling structure to assist
- in removal. */
- struct Curl_share *share; /* Share, handles global variable mutexing */
- struct SingleRequest req; /* Request-specific data */
- struct UserDefined set; /* values set by the libcurl user */
- struct DynamicStatic change; /* possibly modified userdefined data */
- struct CookieInfo *cookies; /* the cookies, read from files and servers.
- NOTE that the 'cookie' field in the
- UserDefined struct defines if the "engine"
- is to be used or not. */
- struct Progress progress; /* for all the progress meter data */
- struct UrlState state; /* struct for fields used for state info and
- other dynamic purposes */
- struct PureInfo info; /* stats, reports and info data */
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
- iconv_t outbound_cd; /* for translating to the network encoding */
- iconv_t inbound_cd; /* for translating from the network encoding */
- iconv_t utf8_cd; /* for translating to UTF8 */
-#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
- unsigned int magic; /* set to a CURLEASY_MAGIC_NUMBER */
-};
-
-#define LIBCURL_NAME "libcurl"
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/lib/version.c b/Utilities/cmcurl-7.19.0/lib/version.c
deleted file mode 100644
index 2e8f1b4..0000000
--- a/Utilities/cmcurl-7.19.0/lib/version.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <string.h>
-#include <stdio.h>
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "sslgen.h"
-
-#define _MPRINTF_REPLACE /* use the internal *printf() functions */
-#include <curl/mprintf.h>
-
-#ifdef USE_ARES
-#include <ares_version.h>
-#endif
-
-#ifdef USE_LIBIDN
-#include <stringprep.h>
-#endif
-
-#if defined(HAVE_ICONV) && defined(CURL_DOES_CONVERSIONS)
-#include <iconv.h>
-#endif
-
-#ifdef USE_LIBSSH2
-#include <libssh2.h>
-#endif
-
-
-char *curl_version(void)
-{
- static char version[200];
- char *ptr=version;
- size_t len;
- size_t left = sizeof(version);
- strcpy(ptr, LIBCURL_NAME "/" LIBCURL_VERSION );
- len = strlen(ptr);
- left -= len;
- ptr += len;
-
- if(left > 1) {
- len = Curl_ssl_version(ptr + 1, left - 1);
-
- if(len > 0) {
- *ptr = ' ';
- left -= ++len;
- ptr += len;
- }
- }
-
-#ifdef HAVE_LIBZ
- len = snprintf(ptr, left, " zlib/%s", zlibVersion());
- left -= len;
- ptr += len;
-#endif
-#ifdef USE_ARES
- /* this function is only present in c-ares, not in the original ares */
- len = snprintf(ptr, left, " c-ares/%s", ares_version(NULL));
- left -= len;
- ptr += len;
-#endif
-#ifdef USE_LIBIDN
- if(stringprep_check_version(LIBIDN_REQUIRED_VERSION)) {
- len = snprintf(ptr, left, " libidn/%s", stringprep_check_version(NULL));
- left -= len;
- ptr += len;
- }
-#endif
-#if defined(HAVE_ICONV) && defined(CURL_DOES_CONVERSIONS)
-#ifdef _LIBICONV_VERSION
- len = snprintf(ptr, left, " iconv/%d.%d",
- _LIBICONV_VERSION >> 8, _LIBICONV_VERSION & 255);
-#else
- /* version unknown */
- len = snprintf(ptr, left, " iconv");
-#endif /* _LIBICONV_VERSION */
- left -= len;
- ptr += len;
-#endif
-#ifdef USE_LIBSSH2
- len = snprintf(ptr, left, " libssh2/%s", LIBSSH2_VERSION);
- left -= len;
- ptr += len;
-#endif
-
- return version;
-}
-
-/* data for curl_version_info */
-
-static const char * const protocols[] = {
-#ifndef CURL_DISABLE_TFTP
- "tftp",
-#endif
-#ifndef CURL_DISABLE_FTP
- "ftp",
-#endif
-#ifndef CURL_DISABLE_TELNET
- "telnet",
-#endif
-#ifndef CURL_DISABLE_DICT
- "dict",
-#endif
-#ifndef CURL_DISABLE_LDAP
- "ldap",
-#ifdef HAVE_LDAP_SSL
- "ldaps",
-#endif
-#endif
-#ifndef CURL_DISABLE_HTTP
- "http",
-#endif
-#ifndef CURL_DISABLE_FILE
- "file",
-#endif
-
-#ifdef USE_SSL
-#ifndef CURL_DISABLE_HTTP
- "https",
-#endif
-#ifndef CURL_DISABLE_FTP
- "ftps",
-#endif
-#endif
-
-#ifdef USE_LIBSSH2
- "scp",
- "sftp",
-#endif
-
- NULL
-};
-
-static curl_version_info_data version_info = {
- CURLVERSION_NOW,
- LIBCURL_VERSION,
- LIBCURL_VERSION_NUM,
- OS, /* as found by configure or set by hand at build-time */
- 0 /* features is 0 by default */
-#ifdef ENABLE_IPV6
- | CURL_VERSION_IPV6
-#endif
-#ifdef HAVE_KRB4
- | CURL_VERSION_KERBEROS4
-#endif
-#ifdef USE_SSL
- | CURL_VERSION_SSL
-#endif
-#ifdef USE_NTLM
- | CURL_VERSION_NTLM
-#endif
-#ifdef USE_WINDOWS_SSPI
- | CURL_VERSION_SSPI
-#endif
-#ifdef HAVE_LIBZ
- | CURL_VERSION_LIBZ
-#endif
-#ifdef HAVE_GSSAPI
- | CURL_VERSION_GSSNEGOTIATE
-#endif
-#ifdef CURLDEBUG
- | CURL_VERSION_DEBUG
-#endif
-#ifdef USE_ARES
- | CURL_VERSION_ASYNCHDNS
-#endif
-#ifdef HAVE_SPNEGO
- | CURL_VERSION_SPNEGO
-#endif
-#if (CURL_SIZEOF_CURL_OFF_T > 4) && \
- ( (SIZEOF_OFF_T > 4) || defined(USE_WIN32_LARGE_FILES) )
- | CURL_VERSION_LARGEFILE
-#endif
-#if defined(CURL_DOES_CONVERSIONS)
- | CURL_VERSION_CONV
-#endif
- ,
- NULL, /* ssl_version */
- 0, /* ssl_version_num, this is kept at zero */
- NULL, /* zlib_version */
- protocols,
- NULL, /* c-ares version */
- 0, /* c-ares version numerical */
- NULL, /* libidn version */
- 0, /* iconv version */
- NULL, /* ssh lib version */
-};
-
-curl_version_info_data *curl_version_info(CURLversion stamp)
-{
-#ifdef USE_LIBSSH2
- static char ssh_buffer[80];
-#endif
-
-#ifdef USE_SSL
- static char ssl_buffer[80];
- Curl_ssl_version(ssl_buffer, sizeof(ssl_buffer));
- version_info.ssl_version = ssl_buffer;
-#endif
-
-#ifdef HAVE_LIBZ
- version_info.libz_version = zlibVersion();
- /* libz left NULL if non-existing */
-#endif
-#ifdef USE_ARES
- {
- int aresnum;
- version_info.ares = ares_version(&aresnum);
- version_info.ares_num = aresnum;
- }
-#endif
-#ifdef USE_LIBIDN
- /* This returns a version string if we use the given version or later,
- otherwise it returns NULL */
- version_info.libidn = stringprep_check_version(LIBIDN_REQUIRED_VERSION);
- if(version_info.libidn)
- version_info.features |= CURL_VERSION_IDN;
-#endif
-
-#if defined(HAVE_ICONV) && defined(CURL_DOES_CONVERSIONS)
-#ifdef _LIBICONV_VERSION
- version_info.iconv_ver_num = _LIBICONV_VERSION;
-#else
- /* version unknown */
- version_info.iconv_ver_num = -1;
-#endif /* _LIBICONV_VERSION */
-#endif
-
-#ifdef USE_LIBSSH2
- snprintf(ssh_buffer, sizeof(ssh_buffer), "libssh2/%s", LIBSSH2_VERSION);
- version_info.libssh_version = ssh_buffer;
-#endif
-
- (void)stamp; /* avoid compiler warnings, we don't use this */
-
- return &version_info;
-}
diff --git a/Utilities/cmcurl-7.19.0/libcurl.pc.in b/Utilities/cmcurl-7.19.0/libcurl.pc.in
deleted file mode 100644
index 7e5ffab..0000000
--- a/Utilities/cmcurl-7.19.0/libcurl.pc.in
+++ /dev/null
@@ -1,38 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 2004 - 2007, 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.
-#
-# $Id$
-###########################################################################
-
-# This should most probably benefit from getting a "Requires:" field added
-# dynamically by configure.
-#
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: libcurl
-URL: http://curl.haxx.se/
-Description: Library to transfer files with ftp, http, etc.
-Version: @VERSION@
-Libs: -L${libdir} -lcurl @LDFLAGS@ @LIBS@
-Libs.private: @LIBCURL_LIBS@ @LIBS@
-Cflags: -I${includedir}
diff --git a/Utilities/cmcurl-7.19.0/ltmain.sh b/Utilities/cmcurl-7.19.0/ltmain.sh
deleted file mode 100755
index 0bf3848..0000000
--- a/Utilities/cmcurl-7.19.0/ltmain.sh
+++ /dev/null
@@ -1,6964 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION="1.5.26 Debian 1.5.26-4"
-TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-lt_env=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- lt_env=\"$lt_var=\$$lt_var \$lt_env\"
- $lt_var=C
- export $lt_var
- fi"
-done
-
-if test -n "$lt_env"; then
- lt_env="env $lt_env"
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
- fi
-
- $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
-
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
- fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
- fi
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- extracted_serial=`expr $extracted_serial + 1`
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
-
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
- fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
- shift
-
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
-
- prev=
- prevopt=
- continue
- fi
-
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
-
- --version)
- echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
-
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
- done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
-
- --dry-run | -n)
- run=:
- ;;
-
- --features)
- $echo "host: $host"
- if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
- else
- $echo "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
- else
- $echo "disable static libraries"
- fi
- exit $?
- ;;
-
- --finish) mode="finish" ;;
-
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
-
- --preserve-dup-deps) duplicate_deps="yes" ;;
-
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
-
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
-
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
- ;;
-
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-
- *)
- nonopt="$arg"
- break
- ;;
- esac
-done
-
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no)
- ;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
- ;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
- ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
- ;;
- *)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
-
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
- fi
- ;;
- esac
- fi
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
-
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
-
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
- arg_mode=target
- continue
- ;;
-
- -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
- continue
- ;;
-
- -no-suppress)
- suppress_opt=no
- continue
- ;;
-
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
- done
- IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
- # Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
- continue
- ;;
-
- * )
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
-
- # Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
- done # for arg
-
- case $arg_mode in
- arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
- ;;
- target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
- ;;
- *)
- # Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
- ;;
- esac
-
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
- case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.[fF][09]?) xform=[fF][09]. ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- *.obj) xform=obj ;;
- *.sx) xform=sx ;;
- esac
-
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
- case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
- *)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- func_infer_tag $base_compile
-
- for arg in $later; do
- case $arg in
- -static)
- build_old_libs=yes
- continue
- ;;
-
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
-
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
- done
-
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
- lobj=${xdir}$objdir/$objname
-
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- $echo "$srcfile" > "$lockfile"
- fi
-
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
-
- $run $rm "$lobj" "$output_obj"
-
- $show "$command"
- if $run eval $lt_env "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval $lt_env "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
- else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
- fi
-
- $run $mv "${libobj}T" "${libobj}"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- # libtool link mode
- link | relink)
- modename="$modename: link"
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args="$nonopt"
- base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
-
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
- single_module="${wl}-single_module"
-
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -all-static | -static | -static-libtool-libs)
- case $arg in
- -all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- -static)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- ;;
- -static-libtool-libs)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- esac
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
- ;;
- esac
-
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat $save_arg`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- done
- else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- prev=
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
- compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -multi_module)
- single_module="${wl}-multi_module"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
- # The PATH hackery in wrapper scripts is required on Windows
- # and Darwin in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
-
- -static | -static-libtool-libs)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
-
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
- done # argument parsing loop
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
- # Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
-
- # Determine the type of output
- case $output in
- "")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- case $linkmode in
- lib)
- passes="conv link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
- for pass in $passes; do
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link)
- libs="$deplibs %DEPLIBS%"
- test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
- ;;
- esac
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
- continue
- fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- if test "$linkmode" = lib; then
- searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
- else
- searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
- fi
- for searchdir in $searchdirs; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- library_names=
- old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- *)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
-
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
- fi
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
- if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
- abs_ladir="$ladir"
- fi
- ;;
- esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
- test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- # This is a shared library
-
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
- if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
- else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $echo "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- fi
- ;;
- esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
- case $host in
- *-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$deplibdir/$depdepl" ; then
- depdepl="$deplibdir/$depdepl"
- elif test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
- else
- # Can't find it, oh well...
- depdepl=
- fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
- fi
- path=""
- ;;
- *)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
- ;;
- *) continue ;;
- esac
- ;;
- *) continue ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- case " $deplibs" in
- *\ -l* | *\ -L*)
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
- esac
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
-
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
-
- set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- IFS="$save_ifs"
-
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows|none)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_minor"
- lt_irix_increment=no
- ;;
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- ;;
- no)
- current="$2"
- revision="$3"
- age="$4"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current";
- ;;
-
- irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
- major=`expr $current - $age`
- else
- major=`expr $current - $age + 1`
- fi
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- major=.`expr $current - $age`
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
-
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
- fi
-
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$echo "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- #for path in $notinst_path; do
- # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- #done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $rm conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $rm conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
- done
- fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
- if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- case $archive_cmds in
- *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
- *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
- esac
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- realname="$2"
- shift; shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- delfiles=
- last_robj=
- k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
-
- $echo "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
-
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- case " $deplibs" in
- *\ -l* | *\ -L*)
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
- esac
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
-
- case $output in
- *.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $run $rm $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
- esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
-
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
-
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
-
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- else
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- fi
-
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
-
- # Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
- fi
-
- exit $exit_status
- fi
-
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $run $rm $output
- # Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- $show "$link_command"
- $run eval "$link_command" || exit $?
-
- # Now create the wrapper script.
- $show "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
- fi
-
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
- ;
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
-
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable(const char * path)
-{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
-
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \$*\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
- fi
- fi
-
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
- fi
-
- eval cmds=\"$old_archive_cmds\"
-
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
-
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- for obj in $save_oldobjs
- do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
-
- # Only create the output if not a dry run.
- if test -z "$run"; then
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdependency_libs="$newdependency_libs $libdir/$name"
- ;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
- for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $rm $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- fi
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
- ;;
- esac
- exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
- else
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
-
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- fi"
- done
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
- *) files="$files $arg" ;;
- esac
- done
-
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- rmdirs=
-
- origobjdir="$objdir"
- for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
- objdir="$origobjdir"
- else
- objdir="$dir/$origobjdir"
- fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- test "$mode" = uninstall && objdir="$dir"
-
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
- case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
- done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
- case "$mode" in
- clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
- *" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
- esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
- # Read the .lo file
- . $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- rmfiles="$rmfiles $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
- done
- objdir="$origobjdir"
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
- fi
- done
-
- exit $exit_status
- ;;
-
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
- eval exec $exec_cmd
- exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/Utilities/cmcurl-7.19.0/m4/curl-reentrant.m4 b/Utilities/cmcurl-7.19.0/m4/curl-reentrant.m4
deleted file mode 100644
index e185bdf..0000000
--- a/Utilities/cmcurl-7.19.0/m4/curl-reentrant.m4
+++ /dev/null
@@ -1,448 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-#***************************************************************************
-
-# File version for 'aclocal' use. Keep it a single number.
-# serial 2
-
-dnl Note 1
-dnl ------
-dnl None of the CURL_CHECK_NEED_REENTRANT_* macros shall use HAVE_FOO_H to
-dnl conditionally include header files. These macros are used early in the
-dnl configure process much before header file availability is known.
-
-
-dnl CURL_CHECK_NEED_REENTRANT_GMTIME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function gmtime_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GMTIME_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([gmtime_r])
- ],[
- tmp_gmtime_r="yes"
- ],[
- tmp_gmtime_r="no"
- ])
- if test "$tmp_gmtime_r" = "yes"; then
- AC_EGREP_CPP([gmtime_r],[
-#include <sys/types.h>
-#include <time.h>
- ],[
- tmp_gmtime_r="proto_declared"
- ],[
- AC_EGREP_CPP([gmtime_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <time.h>
- ],[
- tmp_gmtime_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_LOCALTIME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function localtime_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_LOCALTIME_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([localtime_r])
- ],[
- tmp_localtime_r="yes"
- ],[
- tmp_localtime_r="no"
- ])
- if test "$tmp_localtime_r" = "yes"; then
- AC_EGREP_CPP([localtime_r],[
-#include <sys/types.h>
-#include <time.h>
- ],[
- tmp_localtime_r="proto_declared"
- ],[
- AC_EGREP_CPP([localtime_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <time.h>
- ],[
- tmp_localtime_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_STRERROR_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function strerror_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_STRERROR_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strerror_r])
- ],[
- tmp_strerror_r="yes"
- ],[
- tmp_strerror_r="no"
- ])
- if test "$tmp_strerror_r" = "yes"; then
- AC_EGREP_CPP([strerror_r],[
-#include <sys/types.h>
-#include <string.h>
- ],[
- tmp_strerror_r="proto_declared"
- ],[
- AC_EGREP_CPP([strerror_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <string.h>
- ],[
- tmp_strerror_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_STRTOK_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function strtok_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_STRTOK_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strtok_r])
- ],[
- tmp_strtok_r="yes"
- ],[
- tmp_strtok_r="no"
- ])
- if test "$tmp_strtok_r" = "yes"; then
- AC_EGREP_CPP([strtok_r],[
-#include <sys/types.h>
-#include <string.h>
- ],[
- tmp_strtok_r="proto_declared"
- ],[
- AC_EGREP_CPP([strtok_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <string.h>
- ],[
- tmp_strtok_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_INET_NTOA_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function inet_ntoa_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_INET_NTOA_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([inet_ntoa_r])
- ],[
- tmp_inet_ntoa_r="yes"
- ],[
- tmp_inet_ntoa_r="no"
- ])
- if test "$tmp_inet_ntoa_r" = "yes"; then
- AC_EGREP_CPP([inet_ntoa_r],[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
- ],[
- tmp_inet_ntoa_r="proto_declared"
- ],[
- AC_EGREP_CPP([inet_ntoa_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
- ],[
- tmp_inet_ntoa_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function gethostbyaddr_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
- ],[
- tmp_gethostbyaddr_r="yes"
- ],[
- tmp_gethostbyaddr_r="no"
- ])
- if test "$tmp_gethostbyaddr_r" = "yes"; then
- AC_EGREP_CPP([gethostbyaddr_r],[
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_gethostbyaddr_r="proto_declared"
- ],[
- AC_EGREP_CPP([gethostbyaddr_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_gethostbyaddr_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function gethostbyname_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
- ],[
- tmp_gethostbyname_r="yes"
- ],[
- tmp_gethostbyname_r="no"
- ])
- if test "$tmp_gethostbyname_r" = "yes"; then
- AC_EGREP_CPP([gethostbyname_r],[
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_gethostbyname_r="proto_declared"
- ],[
- AC_EGREP_CPP([gethostbyname_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_gethostbyname_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function getprotobyname_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([getprotobyname_r])
- ],[
- tmp_getprotobyname_r="yes"
- ],[
- tmp_getprotobyname_r="no"
- ])
- if test "$tmp_getprotobyname_r" = "yes"; then
- AC_EGREP_CPP([getprotobyname_r],[
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_getprotobyname_r="proto_declared"
- ],[
- AC_EGREP_CPP([getprotobyname_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_getprotobyname_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes function getservbyport_r compiler visible.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([getservbyport_r])
- ],[
- tmp_getservbyport_r="yes"
- ],[
- tmp_getservbyport_r="no"
- ])
- if test "$tmp_getservbyport_r" = "yes"; then
- AC_EGREP_CPP([getservbyport_r],[
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_getservbyport_r="proto_declared"
- ],[
- AC_EGREP_CPP([getservbyport_r],[
-#define _REENTRANT
-#include <sys/types.h>
-#include <netdb.h>
- ],[
- tmp_getservbyport_r="proto_needs_reentrant"
- tmp_need_reentrant="yes"
- ])
- ])
- fi
-])
-
-
-dnl CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
-dnl -------------------------------------------------
-dnl Checks if the preprocessor _REENTRANT definition
-dnl makes several _r functions compiler visible.
-dnl Internal macro for CURL_CONFIGURE_REENTRANT.
-
-AC_DEFUN([CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
- #
- tmp_need_reentrant="no"
- #
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_GMTIME_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_LOCALTIME_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_STRERROR_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_STRTOK_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_INET_NTOA_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
- fi
- if test "$tmp_need_reentrant" = "no"; then
- CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
- fi
-])
-
-
-dnl CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
-dnl -------------------------------------------------
-dnl This macro ensures that configuration tests done
-dnl after this will execute with preprocessor symbol
-dnl _REENTRANT defined. This macro also ensures that
-dnl the generated config file defines NEED_REENTRANT
-dnl and that in turn setup.h will define _REENTRANT.
-dnl Internal macro for CURL_CONFIGURE_REENTRANT.
-
-AC_DEFUN([CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [
-AC_DEFINE(NEED_REENTRANT, 1,
- [Define to 1 if _REENTRANT preprocessor symbol must be defined.])
-cat >>confdefs.h <<_EOF
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-_EOF
-])
-
-
-dnl CURL_CONFIGURE_REENTRANT
-dnl -------------------------------------------------
-dnl This first checks if the preprocessor _REENTRANT
-dnl symbol is already defined. If it isn't currently
-dnl defined a set of checks are performed to verify
-dnl if its definition is required to make visible to
-dnl the compiler a set of *_r functions. Finally, if
-dnl _REENTRANT is already defined or needed it takes
-dnl care of making adjustments necessary to ensure
-dnl that it is defined equally for further configure
-dnl tests and generated config file.
-
-AC_DEFUN([CURL_CONFIGURE_REENTRANT], [
- AC_PREREQ([2.50])dnl
- #
- AC_MSG_CHECKING([if _REENTRANT is already defined])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
-#ifdef _REENTRANT
- int dummy=1;
-#else
- force compilation error
-#endif
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tmp_reentrant_initially_defined="yes"
- ],[
- AC_MSG_RESULT([no])
- tmp_reentrant_initially_defined="no"
- ])
- #
- if test "$tmp_reentrant_initially_defined" = "no"; then
- AC_MSG_CHECKING([if _REENTRANT is actually needed])
- CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
- if test "$tmp_need_reentrant" = "yes"; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- fi
- #
- AC_MSG_CHECKING([if _REENTRANT is onwards defined])
- if test "$tmp_reentrant_initially_defined" = "yes" ||
- test "$tmp_need_reentrant" = "yes"; then
- CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- #
-])
-
diff --git a/Utilities/cmcurl-7.19.0/maketgz b/Utilities/cmcurl-7.19.0/maketgz
deleted file mode 100755
index a378826..0000000
--- a/Utilities/cmcurl-7.19.0/maketgz
+++ /dev/null
@@ -1,152 +0,0 @@
-#! /bin/sh
-# Script to build release-archives with
-#
-
-version=$1
-
-if [ -z "$version" ]; then
- echo "Specify a version number!"
- exit
-fi
-
-libversion="$version"
-
-# we make curl the same version as libcurl
-curlversion=$libversion
-
-major=`echo $libversion |cut -d. -f1 | sed -e "s/[^0-9]//g"`
-minor=`echo $libversion |cut -d. -f2 | sed -e "s/[^0-9]//g"`
-patch=`echo $libversion |cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`
-
-numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`
-
-HEADER=include/curl/curlver.h
-CHEADER=src/version.h
-
-# requires a date command that knows -u for UTC time zone
-datestamp=`date -u`
-
-# Replace version number in header file:
-sed -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
- -e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \
- -e 's/^#define LIBCURL_VERSION_MAJOR .*/#define LIBCURL_VERSION_MAJOR '$major'/g' \
- -e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR '$minor'/g' \
- -e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH '$patch'/g' \
- -e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP \"$datestamp\"/g" \
- $HEADER >$HEADER.dist
-
-# Replace version number in header file:
-sed 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER >$CHEADER.dist
-
-echo "generate VC8 makefiles"
-# Generate VC8 versions from the VC6 Makefile versions
-perl -pe 's%/GX /DWIN32 /YX%/EHsc /DWIN32%;' -e 's%/GZ%/RTC1%;' -e 's%wsock32.lib%wsock32.lib bufferoverflowu.lib%g;' -e 's%(VC)6%${1}8%gi;' lib/Makefile.vc6 > lib/Makefile.vc8.dist
-perl -pe "s%/GX /DWIN32 /YX%/EHsc /DWIN32%;" -e 's%/GZ%/RTC1%;' -e 's%wsock32.lib%wsock32.lib bufferoverflowu.lib%g;' -e 's%(VC)6%${1}8%gi;' -e 's/^#MANIFESTTOOL/MANIFESTTOOL/' src/Makefile.vc6 > src/Makefile.vc8.dist
-
-# Replace version number in plist file:
-PLIST=lib/libcurl.plist
-sed "s/7\.12\.3/$libversion/g" $PLIST > $PLIST.dist
-
-echo "curl version $curlversion"
-echo "libcurl version $libversion"
-echo "libcurl numerical $numeric"
-echo "datestamp $datestamp"
-
-findprog()
-{
- file="$1"
- for part in `echo $PATH| tr ':' ' '`; do
- path="$part/$file"
- if [ -x "$path" ]; then
- # there it is!
- return 1
- fi
- done
-
- # no such executable
- return 0
-}
-
-echo "maketgz: cp lib/config.h.in src/config.h.in"
-cp lib/config.h.in src/config.h.in
-
-############################################################################
-#
-# Enforce a rerun of configure (updates the VERSION)
-#
-
-echo "Re-running config.status"
-./config.status --recheck >/dev/null
-
-############################################################################
-#
-# automake is needed to run to make a non-GNU Makefile.in if Makefile.am has
-# been modified.
-#
-
-if { findprog automake >/dev/null 2>/dev/null; } then
- echo "- Could not find or run automake, I hope you know what you're doing!"
-else
- echo "Runs automake --include-deps"
- automake --include-deps Makefile >/dev/null
-fi
-
-############################################################################
-#
-# Make sure we have updated HTML versions of all man pages:
-#
-echo "make html"
-make -s html
-
-# And the PDF versions
-echo "make pdf"
-make -s pdf
-
-############################################################################
-#
-# Now run make dist to generate a tar.gz archive
-#
-
-echo "make dist"
-targz="curl-$version.tar.gz"
-make -s dist VERSION=$version
-
-############################################################################
-#
-# Now make a bz2 archive from the tar.gz original
-#
-
-bzip2="curl-$version.tar.bz2"
-echo "Generating $bzip2"
-gzip -dc $targz | bzip2 - > $bzip2
-
-############################################################################
-#
-# Now make a zip archive from the tar.gz original
-#
-makezip ()
-{
- rm -rf $tempdir
- mkdir $tempdir
- cd $tempdir
- gzip -dc ../$targz | tar -xf -
- find . | zip $zip -@ >/dev/null
- mv $zip ../
- cd ..
- rm -rf $tempdir
-}
-
-zip="curl-$version.zip"
-echo "Generating $zip"
-tempdir=".builddir"
-makezip
-
-echo "------------------"
-echo "maketgz report:"
-echo ""
-ls -l $targz $bzip2 $zip
-
-md5sum $targz $bzip2 $zip
-
-echo "Run this:"
-echo "gpg -b -a $targz && gpg -b -a $bzip2 && gpg -b -a $zip"
diff --git a/Utilities/cmcurl-7.19.0/missing b/Utilities/cmcurl-7.19.0/missing
deleted file mode 100755
index 0a7fb5a..0000000
--- a/Utilities/cmcurl-7.19.0/missing
+++ /dev/null
@@ -1,283 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-case "$1" in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing 0.3 - GNU automake"
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
- aclocal)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case "$f" in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if [ ! -f y.tab.h ]; then
- echo >y.tab.h
- fi
- if [ ! -f y.tab.c ]; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if [ ! -f lex.yy.c ]; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit 1
- fi
- ;;
-
- makeinfo)
- if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
- # We have makeinfo, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
- fi
- touch $file
- ;;
-
- tar)
- shift
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- fi
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar ${1+"$@"} && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar ${1+"$@"} && exit 0
- fi
- firstarg="$1"
- if shift; then
- case "$firstarg" in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" ${1+"$@"} && exit 0
- ;;
- esac
- case "$firstarg" in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" ${1+"$@"} && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequirements for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/Utilities/cmcurl-7.19.0/mkinstalldirs b/Utilities/cmcurl-7.19.0/mkinstalldirs
deleted file mode 100755
index 521ecbe..0000000
--- a/Utilities/cmcurl-7.19.0/mkinstalldirs
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id$
-
-errstatus=0
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir -m0755 $pathcomp" 1>&2
-
- mkdir -m0755 "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/Utilities/cmcurl-7.19.0/packages/AIX/Makefile.am b/Utilities/cmcurl-7.19.0/packages/AIX/Makefile.am
deleted file mode 100644
index 4b038ed..0000000
--- a/Utilities/cmcurl-7.19.0/packages/AIX/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBDIRS = RPM
-
-EXTRA_DIST = Makefile.am
diff --git a/Utilities/cmcurl-7.19.0/packages/AIX/Makefile.in b/Utilities/cmcurl-7.19.0/packages/AIX/Makefile.in
deleted file mode 100644
index a7279f8..0000000
--- a/Utilities/cmcurl-7.19.0/packages/AIX/Makefile.in
+++ /dev/null
@@ -1,524 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/AIX
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-SUBDIRS = RPM
-EXTRA_DIST = Makefile.am
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/AIX/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/AIX/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.am b/Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.am
deleted file mode 100644
index d1e7bf9..0000000
--- a/Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-EXTRA_DIST = README curl.spec.in
-
diff --git a/Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.in b/Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.in
deleted file mode 100644
index 9de4b2d..0000000
--- a/Utilities/cmcurl-7.19.0/packages/AIX/RPM/Makefile.in
+++ /dev/null
@@ -1,369 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/AIX/RPM
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/curl.spec.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES = curl.spec
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = README curl.spec.in
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/AIX/RPM/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/AIX/RPM/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;
-
-$(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
-curl.spec: $(top_builddir)/config.status $(srcdir)/curl.spec.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/AIX/RPM/README b/Utilities/cmcurl-7.19.0/packages/AIX/RPM/README
deleted file mode 100644
index 348cb85..0000000
--- a/Utilities/cmcurl-7.19.0/packages/AIX/RPM/README
+++ /dev/null
@@ -1,34 +0,0 @@
-$Id$
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- ( (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
- for AIX Toolbox
-
-Author: Tor Arntsen
-
-The spec file in this directory is based on the Linux ssl and non-ssl
-curl spec files, plus additions to make it AIX Toolbox compatible.
-
-The AIX Toolbox setup (installs into /opt/freeware, with symlinks in
-/usr/bin,/usr/lib,/usr/include) are based on IBM's aixtoolbox spec
-file written by David Clissold <cliss@austin.ibm.com>, see
-
-ftp://ftp.software.ibm.com/aixtoolbox/SPECS/curl-7.9.3-2.spec
-
-This spec file is designed to be a drop-in replacement for the
-old spec file found at the above link. Thus, like the old spec file
-this version is also a unified ssl/non-ssl version. To get non-ssl
-RPMs just pass --define 'nossl 1' to the command line when building
-the RPM, e.g.
-
-rpm -bb --define 'nossl 1' curl.spec
-
-Default is to build with ssl support.
-
-Lastly, the spec file expects the Curl source distribution file to be
-in .tar.bz2 format.
-
-The nifty cURL header of this README is a ripoff of the vms/readme file.
-
diff --git a/Utilities/cmcurl-7.19.0/packages/AIX/RPM/curl.spec.in b/Utilities/cmcurl-7.19.0/packages/AIX/RPM/curl.spec.in
deleted file mode 100644
index 766b0f3..0000000
--- a/Utilities/cmcurl-7.19.0/packages/AIX/RPM/curl.spec.in
+++ /dev/null
@@ -1,132 +0,0 @@
-# Use --define 'nossl 1' on the command line to disable SSL detection
-%{!?nossl:%define SSL 1}
-%{?nossl:%define SSL 0}
-
-%define name curl
-%define version @VERSION@
-%define release 1%{!?nossl:ssl}
-
-%define curlroot %{_builddir}/%{name}-%{version}
-
-Summary: get a file from a FTP or HTTP server.
-Name: %{name}
-Version: %{version}
-Release: %{release}
-License: MIT/X derivate
-Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se>
-Group: Applications/Internet
-Source: %{name}-%{version}.tar.bz2
-URL: http://curl.haxx.se/
-Provides: curl
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Prefix: %{_prefix}
-
-%description
-curl is a client to get documents/files from servers, using any of the
-supported protocols. The command is designed to work without user
-interaction or any kind of interactivity.
-
-curl offers many useful tricks like proxy support, user authentication,
-ftp upload, HTTP post, file transfer resume and more.
-
-%if %{SSL} == 1
-Note: this version is compiled with SSL support.
-%else
-Note: this version is compiled without SSL support.
-%endif
-
-%package devel
-Summary: Development files for the curl libary
-Group: Development/Libraries
-%if %{SSL} == 1
-Requires: openssl >= 0.9.5
-%endif
-Requires: curl = %{version}
-Provides: curl-devel
-
-%description devel
-libcurl is the core engine of curl; this packages contains all the
-libs, headers, and manual pages to develop applications using libcurl.
-
-%define DEFCC xlc
-
-%prep
-rm -rf %{curlroot}
-%setup -q
-
-%build
-
-# Use the default compiler for this platform - gcc otherwise
-if [[ -z "$CC" ]]
-then
- if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then
- export CC=%{DEFCC}
- else
- export CC=gcc
- fi
-fi
-
-cd %{curlroot} && (if [ -f configure.in ]; then mv -f configure.in configure.in.
-rpm; fi)
-
-./configure --prefix=%{prefix} \
-%if %{SSL} == 1
- --with-ssl
-%else
- --without-ssl
-%endif
-
-make
-
-%install
-[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
-make DESTDIR=%{buildroot} install-strip
-
-( cd $RPM_BUILD_ROOT # same as %{buildroot}
-
- for dir in bin include
- do
- mkdir -p usr/$dir
- cd usr/$dir
- ln -sf ../..%{prefix}/$dir/* .
- cd -
- done
-
- mkdir -p usr/lib
- cd usr/lib
- ln -sf ../..%{prefix}/lib/* .
- cd -
-)
-
-%clean
-[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
-
-%files
-%defattr(-,root,root)
-%attr(0755,root,root) %{_bindir}/curl
-%attr(0644,root,root) %{_mandir}/man1/curl.1*
-%{_libdir}/libcurl.a
-%if %{SSL} == 1
-%{_datadir}/curl/curl-ca-bundle.crt
-%endif
-%doc CHANGES COPYING README RELEASE-NOTES
-%doc docs/BUGS docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/HISTORY
-%doc docs/INSTALL docs/KNOWN_BUGS
-%doc docs/MANUAL docs/RESOURCES docs/THANKS docs/VERSIONS docs/TODO
-%doc docs/TheArtOfHttpScripting
-%if %{SSL} == 1
-%doc docs/SSLCERTS
-%endif
-/usr/bin/curl
-/usr/lib/libcurl.a
-
-%files devel
-%defattr(-,root,root)
-%attr(0755,root,root) %{_bindir}/curl-config
-%attr(0644,root,root) %{_mandir}/man1/curl-config.1*
-%attr(0644,root,root) %{_mandir}/man3/*
-%attr(0644,root,root) %{_includedir}/curl/*
-%{_libdir}/libcurl.la
-%doc docs/BINDINGS docs/INTERNALS docs/LICENSE-MIXING
-/usr/bin/curl-config
-/usr/include/curl
diff --git a/Utilities/cmcurl-7.19.0/packages/DOS/Makefile.am b/Utilities/cmcurl-7.19.0/packages/DOS/Makefile.am
deleted file mode 100644
index 70313cb..0000000
--- a/Utilities/cmcurl-7.19.0/packages/DOS/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_DIST = README common.dj
diff --git a/Utilities/cmcurl-7.19.0/packages/DOS/Makefile.in b/Utilities/cmcurl-7.19.0/packages/DOS/Makefile.in
deleted file mode 100644
index 35a482d..0000000
--- a/Utilities/cmcurl-7.19.0/packages/DOS/Makefile.in
+++ /dev/null
@@ -1,366 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/DOS
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = README common.dj
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/DOS/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/DOS/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/DOS/README b/Utilities/cmcurl-7.19.0/packages/DOS/README
deleted file mode 100644
index c2ab9b9..0000000
--- a/Utilities/cmcurl-7.19.0/packages/DOS/README
+++ /dev/null
@@ -1,11 +0,0 @@
-Gisle Vanem made curl build fine on DOS (and MingW) with djgpp, OpenSSL and his
-Watt-32 stack.
-
-'make djgpp' in the root curl dir should build it fine.
-
-Note 1: djgpp 2.04 beta has a sscanf() bug so the URL parsing isn't
- done proberly. Use djgpp 2.03 until they fix it.
-
-Note 2: Compile Watt-32 (and OpenSSL) with the same version of djgpp.
- Otherwise things go wrong because things like FS-extensions and
- errnos have been changed between releases.
diff --git a/Utilities/cmcurl-7.19.0/packages/DOS/common.dj b/Utilities/cmcurl-7.19.0/packages/DOS/common.dj
deleted file mode 100644
index d81de29..0000000
--- a/Utilities/cmcurl-7.19.0/packages/DOS/common.dj
+++ /dev/null
@@ -1,100 +0,0 @@
-#
-# Common defines for curl (djgpp/Watt-32)
-#
-# Assumes you've unpacked cURL with short-file names
-# I.e use "set LFN=n" before untaring on Win9x/XP.
-# Requires sed, yacc, rm and the usual stuff.
-#
-# Define TOPDIR before including this file.
-
-.SUFFIXES: .exe .y
-
-MAKEFILE = Makefile.dj
-OBJ_DIR = djgpp
-
-#
-# OpenSSL is available from www.openssl.org and builds okay
-# with djgpp/Watt-32. Set to 0 if you don't need https URLs
-# (reduces curl.exe with approx 700 kB)
-#
-USE_SSL = 0
-
-#
-# Use zlib for contents encoding
-#
-USE_ZLIB = 0
-
-#
-# Use libidn for international domain names
-#
-USE_IDNA = 0
-
-#
-# Use Watt-32 IPv6 stack (only IPv6 name resolution working at the moment)
-#
-USE_IPV6 = 0
-
-#
-# Use C-Ares resolver library
-# This conflicts with USE_IPV6=1
-#
-USE_ARES = 0
-
-#
-# Enable debug code in libcurl/curl
-#
-USE_DEBUG = 0
-
-default: all
-
-#
-# Root directory for Waterloo tcp/ip etc. Change to suite.
-# WATT_ROOT should be set during Watt-32 install.
-#
-WATT32_ROOT = $(subst \,/,$(WATT_ROOT))
-OPENSSL_ROOT = e:/net/openssl.099
-ZLIB_ROOT = $(DJDIR)/contrib/zlib
-LIBIDN_ROOT = $(TOPDIR)/../IDN/libidn
-ARES_ROOT = $(TOPDIR)/ares
-
-CC = gcc
-YACC = bison -y
-
-CFLAGS = -g -gcoff -O2 -I. -I$(TOPDIR)/include -I$(TOPDIR)/lib \
- -I$(WATT32_ROOT)/inc -Wall -DHAVE_CONFIG_H
-
-ifeq ($(USE_SSL),1)
- CFLAGS += -DUSE_SSLEAY -DUSE_OPENSSL -I$(OPENSSL_ROOT)
-endif
-
-ifeq ($(USE_ZLIB),1)
- CFLAGS += -DUSE_ZLIB -I$(ZLIB_ROOT)
-endif
-
-ifeq ($(USE_IPV6),1)
- CFLAGS += -DENABLE_IPV6
-endif
-
-ifeq ($(USE_ARES),1)
- CFLAGS += -DUSE_ARES -I$(ARES_ROOT)
-endif
-
-ifeq ($(USE_IDNA),1)
- CFLAGS += -DHAVE_LIBIDN -DHAVE_IDN_FREE_H -DHAVE_IDN_FREE -DHAVE_TLD_H \
- -DHAVE_TLD_STRERROR -I$(LIBIDN_ROOT)/lib
-endif
-
-ifeq ($(USE_DEBUG),1)
- CFLAGS += -DDEBUG=1 -DCURLDEBUG # -DDPRINTF_DEBUG2=1
-endif
-
-$(OBJ_DIR):
- mkdir $(OBJ_DIR)
-
-$(OBJ_DIR)/%.o: %.c
- $(CC) $(CFLAGS) -o $@ -c $<
- @echo
-
-depend: $(DEPEND_PREREQ) $(MAKEFILE)
- $(CC) -MM $(CFLAGS) $(CSOURCES) | \
- sed -e 's/^\([a-zA-Z0-9_-]*\.o:\)/$$(OBJ_DIR)\/\1/' > depend.dj
diff --git a/Utilities/cmcurl-7.19.0/packages/EPM/Makefile.am b/Utilities/cmcurl-7.19.0/packages/EPM/Makefile.am
deleted file mode 100644
index b010a4b..0000000
--- a/Utilities/cmcurl-7.19.0/packages/EPM/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-AUTOMAKE_OPTIONS = foreign
-
-EXTRA_DIST = README curl.list.in
diff --git a/Utilities/cmcurl-7.19.0/packages/EPM/Makefile.in b/Utilities/cmcurl-7.19.0/packages/EPM/Makefile.in
deleted file mode 100644
index e5d901b..0000000
--- a/Utilities/cmcurl-7.19.0/packages/EPM/Makefile.in
+++ /dev/null
@@ -1,370 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/EPM
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/curl.list.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES = curl.list
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-AUTOMAKE_OPTIONS = foreign
-EXTRA_DIST = README curl.list.in
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/EPM/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/EPM/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;
-
-$(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
-curl.list: $(top_builddir)/config.status $(srcdir)/curl.list.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/EPM/README b/Utilities/cmcurl-7.19.0/packages/EPM/README
deleted file mode 100644
index 3529dbf..0000000
--- a/Utilities/cmcurl-7.19.0/packages/EPM/README
+++ /dev/null
@@ -1,12 +0,0 @@
-EPM is a free UNIX software/file packaging program that generates distribution
-archives from a list of files. EPM Can:
-
- * Generate portable script-based distribution packages complete with
- installation and removal scripts.
- * Generate vendor distributions in AIX, BSD, Compaq Tru64, Debian, HP-UX,
- IRIX, Red Hat, and Solaris formats.
- * Provide a complete, cross-platform software distribution solution for your
- applications.
-
-http://www.easysw.com/epm/
-
diff --git a/Utilities/cmcurl-7.19.0/packages/EPM/curl.list.in b/Utilities/cmcurl-7.19.0/packages/EPM/curl.list.in
deleted file mode 100644
index 39060dd..0000000
--- a/Utilities/cmcurl-7.19.0/packages/EPM/curl.list.in
+++ /dev/null
@@ -1,59 +0,0 @@
-# Directories...
-$prefix=@prefix@
-$exec_prefix=@exec_prefix@
-$bindir=@bindir@
-$confdir=@sysconfdir@
-$docdir=@prefix@/doc
-$mandir=@mandir@
-$libdir=@libdir@
-$srcdir=@top_srcdir@
-$includedir=@includedir@
-$datarootdir=@datarootdir@
-
-# Product information
-%product curl
-%copyright 1998-2002 by Daniel Stenberg
-%vendor Daniel Stenberg, <daniel@haxx.se>
-%license ${srcdir}/MITX.txt
-%readme ${srcdir}/README
-%description Curl is a command line tool for transfering data specified
-%description with URL syntax
-%version @VERSION@
-%packager Giuseppe "Cowo" Corbelli <cowo@lugbs.linux.it>
-
-f 0644 cowo pppusers ${mandir}/man1/curl.1 ./docs/curl.1
-f 0644 cowo pppusers ${mandir}/man1/curl-config.1 ./docs/curl-config.1
-f 0644 cowo pppusers ${mandir}/man3/curl_easy_cleanup.3 ./docs/curl_easy_cleanup.3
-f 0644 cowo pppusers ${mandir}/man3/curl_easy_getinfo.3 ./docs/curl_easy_getinfo.3
-f 0644 cowo pppusers ${mandir}/man3/curl_easy_init.3 ./docs/curl_easy_init.3
-f 0644 cowo pppusers ${mandir}/man3/curl_easy_perform.3 ./docs/curl_easy_perform.3
-f 0644 cowo pppusers ${mandir}/man3/curl_easy_setopt.3 ./docs/curl_easy_setopt.3
-f 0644 cowo pppusers ${mandir}/man3/curl_easy_duphandle.3 ./docs/curl_easy_duphandle.3
-f 0644 cowo pppusers ${mandir}/man3/curl_formparse.3 ./docs/curl_formparse.3
-f 0644 cowo pppusers ${mandir}/man3/curl_formadd.3 ./docs/curl_formadd.3
-f 0644 cowo pppusers ${mandir}/man3/curl_formfree.3 ./docs/curl_formfree.3
-f 0644 cowo pppusers ${mandir}/man3/curl_getdate.3 ./docs/curl_getdate.3
-f 0644 cowo pppusers ${mandir}/man3/curl_getenv.3 ./docs/curl_getenv.3
-f 0644 cowo pppusers ${mandir}/man3/curl_slist_append.3 ./docs/curl_slist_append.3
-f 0644 cowo pppusers ${mandir}/man3/curl_slist_free_all.3 ./docs/curl_slist_free_all.3
-f 0644 cowo pppusers ${mandir}/man3/curl_version.3 ./docs/curl_version.3
-f 0644 cowo pppusers ${mandir}/man3/curl_escape.3 ./docs/curl_escape.3
-f 0644 cowo pppusers ${mandir}/man3/curl_unescape.3 ./docs/curl_unescape.3
-f 0644 cowo pppusers ${mandir}/man3/curl_strequal.3 ./docs/curl_strequal.3
-f 0644 cowo pppusers ${mandir}/man3/curl_strnequal.3 ./docs/curl_strnequal.3
-f 0644 cowo pppusers ${mandir}/man3/curl_mprintf.3 ./docs/curl_mprintf.3
-f 0644 cowo pppusers ${mandir}/man3/curl_global_init.3 ./docs/curl_global_init.3
-f 0644 cowo pppusers ${mandir}/man3/curl_global_cleanup.3 ./docs/curl_global_cleanup.3
-f 0644 cowo pppusers ${mandir}/man3/libcurl.3 ./docs/libcurl.3
-f 0755 cowo pppusers ${libdir}/libcurl.so.2.0.2 ./lib/.libs/libcurl.so.2.0.2
-f 0755 cowo pppusers ${libdir}/libcurl.la ./lib/libcurl.la
-f 0755 cowo pppusers ${libdir}/libcurl.la ./lib/.libs/libcurl.la
-f 0644 cowo pppusers ${libdir}/libcurl.a ./lib/.libs/libcurl.a
-f 0755 cowo pppusers ${bindir}/curl ./src/curl
-f 0755 cowo pppusers ${bindir}/curl ./src/.libs/curl
-f 0644 cowo pppusers ${includedir}/curl/curl.h ./include/curl/curl.h
-f 0644 cowo pppusers ${includedir}/curl/easy.h ./include/curl/easy.h
-f 0644 cowo pppusers ${includedir}/curl/mprintf.h ./include/curl/mprintf.h
-f 0644 cowo pppusers ${includedir}/curl/stdcheaders.h ./include/curl/stdcheaders.h
-f 0644 cowo pppusers ${includedir}/curl/types.h ./include/curl/types.h
-f 0755 cowo pppusers ${bindir}/curl-config ./curl-config
diff --git a/Utilities/cmcurl-7.19.0/packages/Linux/Makefile.am b/Utilities/cmcurl-7.19.0/packages/Linux/Makefile.am
deleted file mode 100644
index 5753055..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = RPM
diff --git a/Utilities/cmcurl-7.19.0/packages/Linux/Makefile.in b/Utilities/cmcurl-7.19.0/packages/Linux/Makefile.in
deleted file mode 100644
index 38960ee..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/Makefile.in
+++ /dev/null
@@ -1,523 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/Linux
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-SUBDIRS = RPM
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Linux/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/Linux/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.am b/Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.am
deleted file mode 100644
index 5d46d87..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-EXTRA_DIST = README curl-ssl.spec.in curl.spec.in make_curl_rpm
-
diff --git a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.in b/Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.in
deleted file mode 100644
index 5ba51df..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/Makefile.in
+++ /dev/null
@@ -1,371 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/Linux/RPM
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/curl-ssl.spec.in $(srcdir)/curl.spec.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES = curl.spec curl-ssl.spec
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = README curl-ssl.spec.in curl.spec.in make_curl_rpm
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Linux/RPM/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/Linux/RPM/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;
-
-$(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
-curl.spec: $(top_builddir)/config.status $(srcdir)/curl.spec.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-curl-ssl.spec: $(top_builddir)/config.status $(srcdir)/curl-ssl.spec.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/Linux/RPM/README b/Utilities/cmcurl-7.19.0/packages/Linux/RPM/README
deleted file mode 100644
index a48ece0..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Author: Daniel (I'm not trustworthy, replace this!)
-
-Paul Marquis's 'make_curl_rpm' script is a fine example on how to automate the
-jobs. You need to fill in your own name and email at least.
-
diff --git a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl-ssl.spec.in b/Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl-ssl.spec.in
deleted file mode 100644
index d953b39..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl-ssl.spec.in
+++ /dev/null
@@ -1,84 +0,0 @@
-%define name curl-ssl
-%define tarball curl
-%define version 7.11.0
-%define release 1
-
-%define curlroot %{_builddir}/%{tarball}-%{version}
-
-Summary: get a file from an FTP or HTTP server.
-Name: %{name}
-Version: %{version}
-Release: %{release}
-Copyright: MIT/X derivate
-Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se>
-Packager: Troy Engel <tengel@sonic.net>
-Group: Utilities/Console
-Source: %{tarball}-%{version}.tar.gz
-URL: http://curl.haxx.se/
-Provides: curl
-Obsoletes: curl
-BuildRoot: %{_tmppath}/%{tarball}-%{version}-root
-Requires: openssl >= 0.9.5
-
-%description
-curl is a client to get documents/files from servers, using any of the
-supported protocols. The command is designed to work without user
-interaction or any kind of interactivity.
-
-curl offers a busload of useful tricks like proxy support, user
-authentication, ftp upload, HTTP post, file transfer resume and more.
-
-%package devel
-Summary: The includes, libs, and man pages to develop with libcurl
-Group: Development/Libraries
-Requires: openssl-devel >= 0.9.5
-Provides: curl-devel
-
-%description devel
-libcurl is the core engine of curl; this packages contains all the libs,
-headers, and manual pages to develop applications using libcurl.
-
-%prep
-
-%setup -q -n %{tarball}-%{version}
-
-%build
-cd %{curlroot} && (if [ -f configure.in ]; then mv -f configure.in configure.in.rpm; fi)
-%configure
-cd %{curlroot} && (if [ -f configure.in.rpm ]; then mv -f configure.in.rpm configure.in; fi)
-make
-
-%install
-[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
-make DESTDIR=%{buildroot} install-strip
-
-%clean
-[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
-[ "%{curlroot}" != "/" ] && rm -rf %{curlroot}
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%defattr(-,root,root)
-%attr(0755,root,root) %{_bindir}/curl
-%attr(0644,root,root) %{_mandir}/man1/curl.1*
-%{_libdir}/libcurl.so*
-%{_datadir}/curl/curl-ca-bundle.crt
-%doc CHANGES COPYING README testcurl.sh docs/BUGS docs/SSLCERTS
-%doc docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/HISTORY docs/INSTALL
-%doc docs/KNOWN_BUGS docs/MANUAL docs/RESOURCES docs/THANKS
-%doc docs/TODO docs/VERSIONS docs/TheArtOfHttpScripting tests
-
-%files devel
-%defattr(-,root,root)
-%attr(0755,root,root) %{_bindir}/curl-config
-%attr(0644,root,root) %{_mandir}/man1/curl-config.1*
-%attr(0644,root,root) %{_mandir}/man3/*
-%attr(0644,root,root) %{_includedir}/curl/*
-%{_libdir}/libcurl.a
-%{_libdir}/libcurl.la
-%doc docs/BINDINGS docs/INTERNALS docs/examples/* docs/libcurl-the-guide
diff --git a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl.spec.in b/Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl.spec.in
deleted file mode 100644
index 8b81726..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/curl.spec.in
+++ /dev/null
@@ -1,84 +0,0 @@
-%define name curl
-%define version @VERSION@
-%define release 1
-%define prefix /usr
-
-%define builddir $RPM_BUILD_DIR/%{name}-%{version}
-
-Summary: get a file from an FTP or HTTP server.
-Name: %{name}
-Version: %{version}
-Release: %{release}
-Copyright: MPL
-Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se>
-Packager: Loic Dachary <loic@senga.org>
-Group: Utilities/Console
-Source: %{name}-%{version}.tar.gz
-URL: http://curl.haxx.se/
-BuildRoot: /tmp/%{name}-%{version}-root
-
-%description
-curl is a client to get documents/files from servers, using any of the
-supported protocols. The command is designed to work without user
-interaction or any kind of interactivity.
-
-curl offers a busload of useful tricks like proxy support, user
-authentication, ftp upload, HTTP post, file transfer resume and more.
-
-Note: this version is compiled without SSL (https:) support.
-
-%package devel
-Summary: The includes, libs, and man pages to develop with libcurl
-Group: Development/Libraries
-
-%description devel
-libcurl is the core engine of curl; this packages contains all the libs,
-headers, and manual pages to develop applications using libcurl.
-
-%prep
-rm -rf %{builddir}
-
-%setup
-
-%build
-%configure --without-ssl --prefix=%{prefix}
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install-strip
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-rm -rf %{builddir}
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%defattr(-,root,root)
-%attr(0755,root,root) %{_bindir}/curl
-%attr(0644,root,root) %{_mandir}/man1/*
-%{prefix}/lib/libcurl.so*
-%doc CHANGES LEGAL MITX.txt MPL-1.1.txt README docs/BUGS
-%doc docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/INSTALL docs/INTERNALS
-%doc docs/LIBCURL docs/MANUAL docs/README* docs/RESOURCES docs/TODO
-%doc docs/TheArtOfHttpScripting
-
-%files devel
-%defattr(-,root,root)
-%attr(0644,root,root) %{_mandir}/man3/*
-%attr(0644,root,root) %{_includedir}/curl/*
-%{prefix}/lib/libcurl.a
-%{prefix}/lib/libcurl.la
-%doc docs/examples/*
-
-%changelog
-* Sun Jan 7 2001 Loic Dachary <loic@senga.org>
-
- - use _mandir instead of prefix to locate man pages because
- _mandir is not always prefix/man/man?.
-
diff --git a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/make_curl_rpm b/Utilities/cmcurl-7.19.0/packages/Linux/RPM/make_curl_rpm
deleted file mode 100644
index 544a23b..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Linux/RPM/make_curl_rpm
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-# script to build curl RPM from src RPM (SSL and non-SSL versions)
-
-# initialize
-top_dir=/usr/src/redhat
-sources_dir=$top_dir/SOURCES
-specs_dir=$top_dir/SPECS
-rpms_dir=$top_dir/RPMS
-arch=`rpm --showrc | awk 'NF == 3 && $2 == "_arch" { print $3 }'`
-
-# fill in your own name and email here
-packager_name="Mr Joe Packager Person"
-packager_email='<Joe@packager.person>'
-
-# make sure we're running as root
-if test `id -u` -ne `id -u root`
-then
- echo "you must build the RPM as root"
- exit 1
-fi
-
-# get version and release number
-if test $# -lt 1
-then
- echo "version number?"
- read version
-else
- version=$1
-fi
-
-if test $# -lt 2
-then
- echo "release number?"
- read release
-else
- release=$2
-fi
-
-# build all the files
-targets="curl curl-ssl"
-for target in $targets
-do
- # make sure src RPM exist
- src_rpm="$target-$version-$release.src.rpm"
- if test -f $src_rpm
- then
- rpm -ivh $src_rpm
-
- # replace packager in spec file
- sed -e 's/^Packager: .*/Packager: $packager_name $packager_email/' $specs_dir/$target.spec > $specs_dir/$target-$version-$arch.spec
-
- # build it
- if ! rpm -ba $specs_dir/$target-$version-$arch.spec
- then
- echo "error building $target for $arch -- check output above"
- fi
-
- echo "$target rpm is now in $rpms_dir/$arch"
- else
- echo $src_rpm does not exist
- fi
-done
diff --git a/Utilities/cmcurl-7.19.0/packages/Makefile.am b/Utilities/cmcurl-7.19.0/packages/Makefile.am
deleted file mode 100644
index 32f9c8b..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-SUBDIRS = Win32 Linux Solaris EPM DOS AIX vms
-
-EXTRA_DIST = README NetWare/get_ver.awk OS400/ccsidcurl.c OS400/ccsidcurl.h \
-OS400/curl.inc.in OS400/initscript.sh OS400/makefile.sh OS400/make-include.sh \
-OS400/make-lib.sh OS400/make-src.sh OS400/make-tests.sh OS400/os400sys.c \
-OS400/os400sys.h OS400/README.OS400 \
-Symbian/bwins/libcurlu.def Symbian/eabi/libcurlu.def Symbian/group/bld.inf \
-Symbian/group/curl.iby Symbian/group/curl.mmp Symbian/group/libcurl.iby \
-Symbian/group/libcurl.mmp Symbian/group/curl.pkg Symbian/group/libcurl.pkg \
-Symbian/readme.txt
diff --git a/Utilities/cmcurl-7.19.0/packages/Makefile.in b/Utilities/cmcurl-7.19.0/packages/Makefile.in
deleted file mode 100644
index 3c214fb..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Makefile.in
+++ /dev/null
@@ -1,533 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-SUBDIRS = Win32 Linux Solaris EPM DOS AIX vms
-EXTRA_DIST = README NetWare/get_ver.awk OS400/ccsidcurl.c OS400/ccsidcurl.h \
-OS400/curl.inc.in OS400/initscript.sh OS400/makefile.sh OS400/make-include.sh \
-OS400/make-lib.sh OS400/make-src.sh OS400/make-tests.sh OS400/os400sys.c \
-OS400/os400sys.h OS400/README.OS400 \
-Symbian/bwins/libcurlu.def Symbian/eabi/libcurlu.def Symbian/group/bld.inf \
-Symbian/group/curl.iby Symbian/group/curl.mmp Symbian/group/libcurl.iby \
-Symbian/group/libcurl.mmp Symbian/group/curl.pkg Symbian/group/libcurl.pkg \
-Symbian/readme.txt
-
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/NetWare $(distdir)/OS400 $(distdir)/Symbian $(distdir)/Symbian/bwins $(distdir)/Symbian/eabi $(distdir)/Symbian/group
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/NetWare/get_ver.awk b/Utilities/cmcurl-7.19.0/packages/NetWare/get_ver.awk
deleted file mode 100644
index af61319..0000000
--- a/Utilities/cmcurl-7.19.0/packages/NetWare/get_ver.awk
+++ /dev/null
@@ -1,76 +0,0 @@
-# ***************************************************************************
-# * _ _ ____ _
-# * Project ___| | | | _ \| |
-# * / __| | | | |_) | |
-# * | (__| |_| | _ <| |___
-# * \___|\___/|_| \_\_____|
-# *
-# * Copyright (C) 1998 - 2008, 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.
-# *
-# * $Id$
-# ***************************************************************************
-# awk script which fetches curl / ares version number and string from input
-# file and writes them to STDOUT. Here you can get an awk version for Win32:
-# http://www.gknw.net/development/prgtools/awk-20070501.zip
-#
-BEGIN {
- if (match (ARGV[1], /curlver.h/)) {
- while ((getline < ARGV[1]) > 0) {
- if (match ($0, /^#define LIBCURL_COPYRIGHT "[^"]+"$/)) {
- libcurl_copyright_str = substr($0, 28, length($0)-28);
- }
- else if (match ($0, /^#define LIBCURL_VERSION "[^"]+"$/)) {
- libcurl_ver_str = substr($3, 2, length($3)-2);
- }
- else if (match ($0, /^#define LIBCURL_VERSION_MAJOR [0-9]+$/)) {
- libcurl_ver_major = substr($3, 1, length($3));
- }
- else if (match ($0, /^#define LIBCURL_VERSION_MINOR [0-9]+$/)) {
- libcurl_ver_minor = substr($3, 1, length($3));
- }
- else if (match ($0, /^#define LIBCURL_VERSION_PATCH [0-9]+$/)) {
- libcurl_ver_patch = substr($3, 1, length($3));
- }
- }
- libcurl_ver = libcurl_ver_major "," libcurl_ver_minor "," libcurl_ver_patch;
- print "LIBCURL_VERSION = " libcurl_ver "";
- print "LIBCURL_VERSION_STR = " libcurl_ver_str "";
- print "LIBCURL_COPYRIGHT_STR = " libcurl_copyright_str "";
- }
- if (match (ARGV[1], /ares_version.h/)) {
- while ((getline < ARGV[1]) > 0) {
- if (match ($0, /^#define ARES_COPYRIGHT "[^"]+"$/)) {
- libcares_copyright_str = substr($0, 25, length($0)-25);
- }
- else if (match ($0, /^#define ARES_VERSION_STR "[^"]+"$/)) {
- libcares_ver_str = substr($3, 2, length($3)-2);
- }
- else if (match ($0, /^#define ARES_VERSION_MAJOR [0-9]+$/)) {
- libcares_ver_major = substr($3, 1, length($3));
- }
- else if (match ($0, /^#define ARES_VERSION_MINOR [0-9]+$/)) {
- libcares_ver_minor = substr($3, 1, length($3));
- }
- else if (match ($0, /^#define ARES_VERSION_PATCH [0-9]+$/)) {
- libcares_ver_patch = substr($3, 1, length($3));
- }
- }
- libcares_ver = libcares_ver_major "," libcares_ver_minor "," libcares_ver_patch;
- print "LIBCARES_VERSION = " libcares_ver "";
- print "LIBCARES_VERSION_STR = " libcares_ver_str "";
- print "LIBCARES_COPYRIGHT_STR = " libcares_copyright_str "";
- }
-}
-
-
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/README.OS400 b/Utilities/cmcurl-7.19.0/packages/OS400/README.OS400
deleted file mode 100644
index 8117343..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/README.OS400
+++ /dev/null
@@ -1,253 +0,0 @@
-$Id$
-
-Implementation notes:
-
- This is a true OS/400 implementation, not a PASE implementation (for PASE,
-use AIX implementation).
-
- The biggest problem with OS/400 is EBCDIC. Libcurl implements an internal
-conversion mechanism, but it has been designed for computers that have a
-single native character set. OS/400 default native character set varies
-depending on the country for which it has been localized. And more, a job
-may dynamically alter its "native" character set.
- Several characters that do not have fixed code in EBCDIC variants are
-used in libcurl strings. As a consequence, using the existing conversion
-mechanism would have lead in a localized binary library - not portable across
-countries.
- For this reason, and because libcurl was originally designed for ASCII based
-operating systems, the current OS/400 implementation uses ASCII as internal
-character set. This has been accomplished using the QADRT library and
-include files, a C and system procedures ASCII wrapper library. See IBM QADRT
-description for more information.
- This then results in libcurl being an ASCII library: any function string
-argument is taken/returned in ASCII and a C/C++ calling program built around
-QADRT may use libcurl functions as on any other platform.
- QADRT does not define ASCII wrappers for all C/system procedures: the
-OS/400 configuration header file and an additional module (os400sys.c) define
-some more of them, that are used by libcurl and that QADRT left out.
- To support all the different variants of EBCDIC, non-standard wrapper
-procedures have been added to libcurl on OS/400: they provide an additional
-CCSID (numeric Coded Character Set ID specific to OS/400) parameter for each
-string argument. String values passed to callback procedures are NOT converted,
-so text gathered this way is (probably !) ASCII.
-
- Another OS/400 problem comes from the fact that the last fixed argument of a
-vararg procedure may not be of type char, unsigned char, short or unsigned
-short. Enums that are internally implemented by the C compiler as one of these
-types are also forbidden. Libcurl uses enums as vararg procedure tagfields...
-Happily, there is a pragma forcing enums to type "int". The original libcurl
-header files are thus altered during build process to use this pragma, in
-order to force libcurl enums of being type int (the pragma disposition in use
-before inclusion is restored before resuming the including unit compilation).
-
- Three SSL implementations were present in libcurl. Nevertheless, none of them
-is available on OS/400. To support SSL on OS/400, a fourth implementation has
-been added (qssl.[ch]). There is no way to have different certificate stores
-for CAs and for personal/application certificates/key. More, the SSL context
-may be defined as an application identifier in the main certificate store,
-or as a keyring file. As a consequence, the meaning of some fields have been
-slightly altered:
-_ The "certificate identifier" is taken from CURLOPT_SSLCERT if defined, else
-from CURLOPT_CAINFO.
-_ The certificate identifier is then used as an application identifier in the
-main certificate store. If successful, this context is used.
-_ If the previous step failed, the certificate identifier is used as the file
-name of a keyring. CURLOPT_KEYPASSWD is used here as the keyring password.
-_ The default ca-bundle (CURLOPT_CAINFO) is set to the main certificate store's
-keyring file name: this allows to use the system global CAs by default. (In that
-case, the keyring password is safely recovered from the system... IBM dixit!)
-
- Non-standard EBCDIC wrapper prototypes are defined in an additional header
-file: ccsidcurl.h. These should be self-explanatory to an OS/400-aware
-designer. CCSID 0 can be used to select the current job's CCSID.
- Wrapper procedures with variable arguments are described below:
-
-_ curl_easy_setopt_ccsid()
- Variable arguments are a string pointer and a CCSID (unsigned int) for
-options:
- CURLOPT_CAINFO
- CURLOPT_CAPATH
- CURLOPT_COOKIE
- CURLOPT_COOKIEFILE
- CURLOPT_COOKIEJAR
- CURLOPT_COOKIELIST
- CURLOPT_CUSTOMREQUEST
- CURLOPT_EGDSOCKET
- CURLOPT_ENCODING
- CURLOPT_FTPPORT
- CURLOPT_FTP_ACCOUNT
- CURLOPT_FTP_ALTERNATIVE_TO_USER
- CURLOPT_INTERFACE
- CURLOPT_KEYPASSWD
- CURLOPT_KRBLEVEL
- CURLOPT_NETRC_FILE
- CURLOPT_COPYPOSTFIELDS
- CURLOPT_PROXY
- CURLOPT_PROXYUSERPWD
- CURLOPT_RANDOM_FILE
- CURLOPT_RANGE
- CURLOPT_REFERER
- CURLOPT_SSH_PRIVATE_KEYFILE
- CURLOPT_SSH_PUBLIC_KEYFILE
- CURLOPT_SSLCERT
- CURLOPT_SSLCERTTYPE
- CURLOPT_SSLENGINE
- CURLOPT_SSLKEY
- CURLOPT_SSLKEYTYPE
- CURLOPT_SSL_CIPHER_LIST
- CURLOPT_URL
- CURLOPT_USERAGENT
- CURLOPT_USERPWD
- CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
- CURLOPT_CRLFILE
- CURLOPT_ISSUERCERT
- Else it is the same as for curl_easy_setopt().
- Note that CURLOPT_ERRORBUFFER is not in the list above, since it gives the
-address of an (empty) character buffer, not the address of a string.
-CURLOPT_POSTFIELDS stores the address of static binary data (of type void *) and
-thus is not converted. If CURLOPT_COPYPOSTFIELDS is issued after
-CURLOPT_POSTFIELDSIZE != -1, the data size is adjusted according to the
-CCSID conversion result length.
-
-_ curl_formadd_ccsid()
- In the variable argument list, string pointers should be followed by a (long)
-CCSID for the following options:
- CURLFORM_FILENAME
- CURLFORM_CONTENTTYPE
- CURLFORM_BUFFER
- CURLFORM_FILE
- CURLFORM_FILECONTENT
- CURLFORM_COPYCONTENTS
- CURLFORM_COPYNAME
- CURLFORM_PTRNAME
- If taken from an argument array, an additional array entry must follow each
-entry containing one of the above option. This additional entry holds the CCSID
-in its value field, and the option field is meaningless.
- It is not possible to have a string pointer and its CCSID across a function
-parameter/array boundary.
- Please note that CURLFORM_PTRCONTENTS and CURLFORM_BUFFERPTR are considered
-unconvertible strings and thus are NOT followed by a CCSID.
-
-_ curl_easy_getinfo_ccsid
- The following options are followed by a 'char * *' and a CCSID. Unlike
-curl_easy_getinfo(), the value returned in the pointer should be freed after
-use:
- CURLINFO_EFFECTIVE_URL
- CURLINFO_CONTENT_TYPE
- CURLINFO_FTP_ENTRY_PATH
- Other options are processed like in curl_easy_getinfo().
-
- Standard compilation environment does support neither autotools nor make;
-in fact, very few common utilities are available. As a consequence, the
-config-os400.h has been coded manually and the compilation scripts are
-a set of shell scripts stored in subdirectory packages/OS400.
-
- The "curl" command and the test environment are currently not supported on
-OS/400.
-
-
-Protocols currently implemented on OS/400:
-_ HTTP
-_ HTTPS
-_ FTP
-_ FTPS
-_ FTP with secure transmission.
-_ LDAP
-_ DICT
-_ TELNET
-
-
-
-Compiling on OS/400:
-
- These instructions targets people who knows about OS/400, compiling, IFS and
-archive extraction. Do not ask questions about these subjects if you're not
-familiar with.
-
-_ As a prerequisite, QADRT development environment must be installed.
-_ Install the curl source directory in IFS.
-_ Enter shell (QSH)
-_ Change current directory to the curl installation directory
-_ Change current directory to ./packages/OS400
-_ Edit file iniscript.sh. You may want to change tunable configuration
- parameters, like debug info generation, optimisation level, listing option,
- target library, etc.
-_ Copy any file in the current directory to makelog (i.e.:
- cp initscript.sh makelog): this is intended to create the makelog file with
- an ASCII CCSID!
-_ Enter the command "sh makefile.sh > makelog 2>&1'
-_ Examine the makelog file to check for compilation errors.
-
- Leaving file initscript.sh unchanged, this will produce the following OS/400
-objects:
-_ Library CURL. All other objects will be stored in this library.
-_ Modules for all libcurl units.
-_ Binding directory CURL_A, to be used at calling program link time for
- statically binding the modules (specify BNDSRVPGM(QADRTTS QGLDCLNT QGLDBRDR)
- when creating a program using CURL_A).
-_ Service program CURL.<soname>, where <soname> is extracted from the
- lib/Makefile.am VERSION variable. To be used at calling program run-time
- when this program has dynamically bound curl at link time.
-_ Binding directory CURL. To be used to dynamically bind libcurl when linking a
- calling program.
-_ Source file H. It contains all the include members needed to compile a C/C++
- module using libcurl, and an ILE/RPG /copy member for support in this
- language.
-_ Standard C/C++ libcurl include members in file H.
-_ CCSIDCURL member in file H. This defines the non-standard EBCDIC wrappers for
- C and C++.
-_ CURL.INC member in file H. This defines everything needed by an ILE/RPG
- program using libcurl.
-_ LIBxxx modules and programs. Although the test environment is not supported
- on OS/400, the libcurl test programs are compiled for manual tests.
-
-
-
-Special programming consideration:
-
-QADRT being used, the following points must be considered:
-_ If static binding is used, service program QADRTTS must be linked too.
-_ The EBCDIC CCSID used by QADRT is 37 by default, NOT THE JOB'S CCSID. If
- another EBCDIC CCSID is required, it must be set via a locale through a call
- to setlocale_a (QADRT's setlocale() ASCII wrapper) with category LC_ALL or
- LC_CTYPE, or by setting environment variable QADRT_ENV_LOCALE to the locale
- object path before executing the program.
-_ Do not use original source include files unless you know what you are doing.
- Use the installed members instead (in /QSYS.LIB/CURL.LIB/H.FILE).
-
-
-
-ILE/RPG support:
-
- Since 95% of the OS/400 programmers use ILE/RPG exclusively, a definition
- /COPY member is provided for this language. To include all libcurl
- definitions in an ILE/RPG module, line
-
- h bnddir('CURL/CURL')
-
-must figure in the program header, and line
-
- d/copy curl/h,curl.inc
-
-in the global data section of the module's source code.
-
- No vararg procedure support exists in ILE/RPG: for this reason, the following
-considerations apply:
-_ Procedures curl_easy_setopt_long(), curl_easy_setopt_object(),
- curl_easy_setopt_function() and curl_easy_setopt_offset() are all alias
- prototypes to curl_easy_setopt(), but with different parameter lists.
-_ Procedures curl_easy_getinfo_string(), curl_easy_getinfo_long(),
- curl_easy_getinfo_double() and curl_easy_getinfo_slist() are all alias
- prototypes to curl_easy_getinfo(), but with different parameter lists.
-_ Procedures curl_multi_setopt_long(), curl_multi_setopt_object(),
- curl_multi_setopt_function() and curl_multi_setopt_offset() are all alias
- prototypes to curl_multi_setopt(), but with different parameter lists.
-_ The prototype of procedure curl_formadd() allows specifying a pointer option
- and the CURLFORM_END option. This makes possible to use an option array
- without any additional definition. If some specific incompatible argument
- list is used in the ILE/RPG program, the latter must define a specialised
- alias. The same applies to curl_formadd_ccsid() too.
-
- Since RPG cannot cast a long to a pointer, procedure curl_form_long_value()
-is provided for that purpose: this allows storing a long value in the curl_forms
-array.
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.c b/Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.c
deleted file mode 100644
index c44db0e..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.c
+++ /dev/null
@@ -1,1175 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- *
- ***************************************************************************/
-
-/* CCSID API wrappers for OS/400. */
-
-#include <iconv.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <stdarg.h>
-
-#pragma enum(int)
-
-#include <curl/curl.h>
-#include "urldata.h"
-#include "url.h"
-#include "getinfo.h"
-#include "ccsidcurl.h"
-
-#include "os400sys.h"
-
-#ifndef SIZE_MAX
-#define SIZE_MAX ((size_t) ~0) /* Is unsigned on OS/400. */
-#endif
-
-
-#define ASCII_CCSID 819 /* Use ISO-8859-1 as ASCII. */
-#define NOCONV_CCSID 65535 /* No conversion. */
-#define ICONV_ID_SIZE 32 /* Size of iconv_open() code identifier. */
-#define ICONV_OPEN_ERROR(t) ((t).return_value == -1)
-
-#define ALLOC_GRANULE 8 /* Alloc. granule for curl_formadd_ccsid(). */
-
-
-static void
-makeOS400IconvCode(char buf[ICONV_ID_SIZE], unsigned int ccsid)
-
-{
- /**
- *** Convert a CCSID to the corresponding IBM iconv_open() character
- *** code identifier.
- *** This code is specific to the OS400 implementation of the iconv library.
- *** CCSID 65535 (no conversion) is replaced by the ASCII CCSID.
- *** CCSID 0 is interpreted by the OS400 as the job's CCSID.
- **/
-
- ccsid &= 0xFFFF;
-
- if (ccsid == NOCONV_CCSID)
- ccsid = ASCII_CCSID;
-
- memset(buf, 0, ICONV_ID_SIZE);
- curl_msprintf(buf, "IBMCCSID%05u0000000", ccsid);
-}
-
-
-static iconv_t
-iconv_open_CCSID(unsigned int ccsidout, unsigned int ccsidin, unsigned int cstr)
-
-{
- char fromcode[ICONV_ID_SIZE];
- char tocode[ICONV_ID_SIZE];
-
- /**
- *** Like iconv_open(), but character codes are given as CCSIDs.
- *** If `cstr' is non-zero, conversion is set up to stop whenever a
- *** null character is encountered.
- *** See iconv_open() IBM description in "National Language Support API".
- **/
-
- makeOS400IconvCode(fromcode, ccsidin);
- makeOS400IconvCode(tocode, ccsidout);
- memset(tocode + 13, 0, sizeof tocode - 13); /* Dest. code id format. */
-
- if (cstr)
- fromcode[18] = '1'; /* Set null-terminator flag. */
-
- return iconv_open(tocode, fromcode);
-}
-
-
-static int
-convert(char * d, size_t dlen, int dccsid,
- const char * s, int slen, int sccsid)
-
-{
- int i;
- iconv_t cd;
- size_t lslen;
-
- /**
- *** Convert `sccsid'-coded `slen'-data bytes at `s' into `dccsid'-coded
- *** data stored in the `dlen'-byte buffer at `d'.
- *** If `slen' < 0, source string is null-terminated.
- *** CCSID 65535 (no conversion) is replaced by the ASCII CCSID.
- *** Return the converted destination byte count, or -1 if error.
- **/
-
- if (sccsid == 65535)
- sccsid = ASCII_CCSID;
-
- if (dccsid == 65535)
- dccsid = ASCII_CCSID;
-
- if (sccsid == dccsid) {
- lslen = slen >= 0? slen: strlen(s) + 1;
- i = lslen < dlen? lslen: dlen;
-
- if (s != d && i > 0)
- memcpy(d, s, i);
-
- return i;
- }
-
- if (slen < 0) {
- lslen = 0;
- cd = iconv_open_CCSID(dccsid, sccsid, 1);
- }
- else {
- lslen = (size_t) slen;
- cd = iconv_open_CCSID(dccsid, sccsid, 0);
- }
-
- if (ICONV_OPEN_ERROR(cd))
- return -1;
-
- i = dlen;
-
- if ((int) iconv(cd, (char * *) &s, &lslen, &d, &dlen) < 0)
- i = -1;
- else
- i -= dlen;
-
- iconv_close(cd);
- return i;
-}
-
-
-static char *
-dynconvert(int dccsid, const char * s, int slen, int sccsid)
-
-{
- char * d;
- char * cp;
- size_t dlen;
- int l;
- int l2;
- static const char nullbyte = 0;
-
- /* Like convert, but the destination is allocated and returned. */
-
- dlen = (size_t) (slen < 0? strlen(s): slen) + 1;
- dlen *= MAX_CONV_EXPANSION; /* Allow some expansion. */
- d = malloc(dlen);
-
- if (!d)
- return (char *) NULL;
-
- l = convert(d, dlen, dccsid, s, slen, sccsid);
-
- if (l < 0) {
- free(d);
- return (char *) NULL;
- }
-
- if (slen < 0) {
- /* Need to null-terminate even when source length is given.
- Since destination code size is unknown, use a conversion to generate
- terminator. */
-
- l2 = convert(d + l, dlen - l, dccsid, &nullbyte, -1, ASCII_CCSID);
-
- if (l2 < 0) {
- free(d);
- return (char *) NULL;
- }
-
- l += l2;
- }
-
- if ((size_t) l < dlen) {
- cp = realloc(d, l); /* Shorten to minimum needed. */
-
- if (cp)
- d = cp;
- }
-
- return d;
-}
-
-
-char *
-curl_version_ccsid(unsigned int ccsid)
-
-{
- int i;
- char * aversion;
- char * eversion;
-
- aversion = curl_version();
-
- if (!aversion)
- return aversion;
-
- i = strlen(aversion) + 1;
- i *= MAX_CONV_EXPANSION;
-
- if (!(eversion = Curl_thread_buffer(LK_CURL_VERSION, i)))
- return (char *) NULL;
-
- if (convert(eversion, i, ccsid, aversion, -1, ASCII_CCSID) < 0)
- return (char *) NULL;
-
- return eversion;
-}
-
-
-char *
-curl_easy_escape_ccsid(CURL * handle, const char * string, int length,
- unsigned int sccsid, unsigned int dccsid)
-
-{
- char * s;
- char * d;
-
- if (!string) {
- errno = EINVAL;
- return (char *) NULL;
- }
-
- s = dynconvert(ASCII_CCSID, s, length? length: -1, sccsid);
-
- if (!s)
- return (char *) NULL;
-
- d = curl_easy_escape(handle, s, 0);
- free(s);
-
- if (!d)
- return (char *) NULL;
-
- s = dynconvert(dccsid, d, -1, ASCII_CCSID);
- free(d);
- return s;
-}
-
-
-char *
-curl_easy_unescape_ccsid(CURL * handle, const char * string, int length,
- int * outlength,
- unsigned int sccsid, unsigned int dccsid)
-
-{
- char * s;
- char * d;
-
- if (!string) {
- errno = EINVAL;
- return (char *) NULL;
- }
-
- s = dynconvert(ASCII_CCSID, s, length? length: -1, sccsid);
-
- if (!s)
- return (char *) NULL;
-
- d = curl_easy_unescape(handle, s, 0, outlength);
- free(s);
-
- if (!d)
- return (char *) NULL;
-
- s = dynconvert(dccsid, d, -1, ASCII_CCSID);
- free(d);
-
- if (s && outlength)
- *outlength = strlen(s);
-
- return s;
-}
-
-
-struct curl_slist *
-curl_slist_append_ccsid(struct curl_slist * list,
- const char * data, unsigned int ccsid)
-
-{
- char * s;
-
- s = (char *) NULL;
-
- if (!data)
- return curl_slist_append(list, data);
-
- s = dynconvert(ASCII_CCSID, data, -1, ccsid);
-
- if (!s)
- return (struct curl_slist *) NULL;
-
- list = curl_slist_append(list, s);
- free(s);
- return list;
-}
-
-
-time_t
-curl_getdate_ccsid(const char * p, const time_t * unused, unsigned int ccsid)
-
-{
- char * s;
- time_t t;
-
- if (!p)
- return curl_getdate(p, unused);
-
- s = dynconvert(ASCII_CCSID, p, -1, ccsid);
-
- if (!s)
- return (time_t) -1;
-
- t = curl_getdate(s, unused);
- free(s);
- return t;
-}
-
-
-static int
-convert_version_info_string(const char * * stringp,
- char * * bufp, int * left, unsigned int ccsid)
-
-{
- int l;
-
- /* Helper for curl_version_info_ccsid(): convert a string if defined.
- Result is stored in the `*left'-byte buffer at `*bufp'.
- `*bufp' and `*left' are updated accordingly.
- Return 0 if ok, else -1. */
-
- if (*stringp) {
- l = convert(*bufp, *left, ccsid, *stringp, -1, ASCII_CCSID);
-
- if (l <= 0)
- return -1;
-
- *stringp = *bufp;
- *bufp += l;
- *left -= l;
- }
-
- return 0;
-}
-
-
-curl_version_info_data *
-curl_version_info_ccsid(CURLversion stamp, unsigned int ccsid)
-
-{
- curl_version_info_data * p;
- char * cp;
- int n;
- int nproto;
- int i;
- curl_version_info_data * id;
-
- /* The assertion below is possible, because although the second operand
- is an enum member, the first is a #define. In that case, the OS/400 C
- compiler seems to compare string values after substitution. */
-
-#if CURLVERSION_NOW != CURLVERSION_FOURTH
-#error curl_version_info_data structure has changed: upgrade this procedure too.
-#endif
-
- /* If caller has been compiled with a new version, error. */
-
- if (stamp > CURLVERSION_NOW)
- return (curl_version_info_data *) NULL;
-
- p = curl_version_info(stamp);
-
- if (!p)
- return p;
-
- /* Measure thread space needed. */
-
- n = 0;
- nproto = 0;
-
- if (p->protocols) {
- while (p->protocols[nproto])
- n += strlen(p->protocols[nproto++]);
-
- n += nproto++;
- }
-
- if (p->version)
- n += strlen(p->version) + 1;
-
- if (p->host)
- n += strlen(p->host) + 1;
-
- if (p->ssl_version)
- n += strlen(p->ssl_version) + 1;
-
- if (p->libz_version)
- n += strlen(p->libz_version) + 1;
-
- if (p->ares)
- n += strlen(p->ares) + 1;
-
- if (p->libidn)
- n += strlen(p->libidn) + 1;
-
- if (p->libssh_version)
- n += strlen(p->libssh_version) + 1;
-
- /* Allocate thread space. */
-
- n *= MAX_CONV_EXPANSION;
-
- if (nproto)
- n += nproto * sizeof(const char *);
-
- cp = Curl_thread_buffer(LK_VERSION_INFO_DATA, n);
- id = (curl_version_info_data *) Curl_thread_buffer(LK_VERSION_INFO,
- sizeof *id);
-
- if (!id || !cp)
- return (curl_version_info_data *) NULL;
-
- /* Copy data and convert strings. */
-
- memcpy((char *) id, (char *) p, sizeof *p);
-
- if (id->protocols) {
- id->protocols = (const char * const *) cp;
- i = nproto * sizeof id->protocols[0];
- memcpy(cp, (char *) p->protocols, i);
- cp += i;
- n -= i;
-
- for (i = 0; id->protocols[i]; i++)
- if (convert_version_info_string(((const char * *) id->protocols) + i,
- &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
- }
-
- if (convert_version_info_string(&id->version, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- if (convert_version_info_string(&id->host, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- if (convert_version_info_string(&id->ssl_version, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- if (convert_version_info_string(&id->libz_version, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- if (convert_version_info_string(&id->ares, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- if (convert_version_info_string(&id->libidn, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- if (convert_version_info_string(&id->libssh_version, &cp, &n, ccsid))
- return (curl_version_info_data *) NULL;
-
- return id;
-}
-
-
-const char *
-curl_easy_strerror_ccsid(CURLcode error, unsigned int ccsid)
-
-{
- int i;
- const char * s;
- char * buf;
-
- s = curl_easy_strerror(error);
-
- if (!s)
- return s;
-
- i = MAX_CONV_EXPANSION * (strlen(s) + 1);
-
- if (!(buf = Curl_thread_buffer(LK_EASY_STRERROR, i)))
- return (const char *) NULL;
-
- if (convert(buf, i, ccsid, s, -1, ASCII_CCSID) < 0)
- return (const char *) NULL;
-
- return (const char *) buf;
-}
-
-
-const char *
-curl_share_strerror_ccsid(CURLSHcode error, unsigned int ccsid)
-
-{
- int i;
- const char * s;
- char * buf;
-
- s = curl_share_strerror(error);
-
- if (!s)
- return s;
-
- i = MAX_CONV_EXPANSION * (strlen(s) + 1);
-
- if (!(buf = Curl_thread_buffer(LK_SHARE_STRERROR, i)))
- return (const char *) NULL;
-
- if (convert(buf, i, ccsid, s, -1, ASCII_CCSID) < 0)
- return (const char *) NULL;
-
- return (const char *) buf;
-}
-
-
-const char *
-curl_multi_strerror_ccsid(CURLMcode error, unsigned int ccsid)
-
-{
- int i;
- const char * s;
- char * buf;
-
- s = curl_multi_strerror(error);
-
- if (!s)
- return s;
-
- i = MAX_CONV_EXPANSION * (strlen(s) + 1);
-
- if (!(buf = Curl_thread_buffer(LK_MULTI_STRERROR, i)))
- return (const char *) NULL;
-
- if (convert(buf, i, ccsid, s, -1, ASCII_CCSID) < 0)
- return (const char *) NULL;
-
- return (const char *) buf;
-}
-
-
-CURLcode
-curl_easy_getinfo_ccsid(CURL * curl, CURLINFO info, ...)
-
-{
- va_list arg;
- void * paramp;
- CURLcode ret;
- unsigned int ccsid;
- char * * cpp;
- char * s;
- char * d;
- struct SessionHandle * data;
-
- /* WARNING: unlike curl_easy_get_info(), the strings returned by this
- procedure have to be free'ed. */
-
- data = (struct SessionHandle *) curl;
- va_start(arg, info);
- paramp = va_arg(arg, void *);
- ret = Curl_getinfo(data, info, paramp);
-
- if (ret != CURLE_OK || ((int) info & CURLINFO_TYPEMASK) != CURLINFO_STRING) {
- va_end(arg);
- return ret;
- }
-
- ccsid = va_arg(arg, unsigned int);
- va_end(arg);
- cpp = (char * *) paramp;
- s = *cpp;
-
- if (!s)
- return ret;
-
- d = dynconvert(ccsid, s, -1, ASCII_CCSID);
- *cpp = d;
-
- if (!d)
- return CURLE_OUT_OF_MEMORY;
-
- return ret;
-}
-
-
-static int
-Curl_is_formadd_string(CURLformoption option)
-
-{
- switch (option) {
-
- case CURLFORM_FILENAME:
- case CURLFORM_CONTENTTYPE:
- case CURLFORM_BUFFER:
- case CURLFORM_FILE:
- case CURLFORM_FILECONTENT:
- case CURLFORM_COPYCONTENTS:
- case CURLFORM_COPYNAME:
- return 1;
- }
-
- return 0;
-}
-
-
-static void
-Curl_formadd_release_local(struct curl_forms * forms, int nargs, int skip)
-
-{
- while (nargs--)
- if (nargs != skip)
- if (Curl_is_formadd_string(forms[nargs].option))
- if (forms[nargs].value)
- free((char *) forms[nargs].value);
-
- free((char *) forms);
-}
-
-
-static int
-Curl_formadd_convert(struct curl_forms * forms,
- int formx, int lengthx, unsigned int ccsid)
-
-{
- int l;
- char * cp;
- char * cp2;
-
- if (formx < 0 || !forms[formx].value)
- return 0;
-
- if (lengthx >= 0)
- l = (int) forms[lengthx].value;
- else
- l = strlen(forms[formx].value) + 1;
-
- cp = malloc(MAX_CONV_EXPANSION * l);
-
- if (!cp)
- return -1;
-
- l = convert(cp, MAX_CONV_EXPANSION * l, ASCII_CCSID,
- forms[formx].value, l, ccsid);
-
- if (l < 0) {
- free(cp);
- return -1;
- }
-
- cp2 = realloc(cp, l); /* Shorten buffer to the string size. */
-
- if (cp2)
- cp = cp2;
-
- forms[formx].value = cp;
-
- if (lengthx >= 0)
- forms[lengthx].value = (char *) l; /* Update to length after conversion. */
-
- return l;
-}
-
-
-CURLFORMcode
-curl_formadd_ccsid(struct curl_httppost * * httppost,
- struct curl_httppost * * last_post, ...)
-
-{
- va_list arg;
- CURLformoption option;
- CURLFORMcode result;
- struct curl_forms * forms;
- struct curl_forms * lforms;
- struct curl_forms * tforms;
- unsigned int lformlen;
- const char * value;
- unsigned int ccsid;
- int nargs;
- int namex;
- int namelengthx;
- int contentx;
- int lengthx;
- unsigned int contentccsid;
- unsigned int nameccsid;
-
- /* A single curl_formadd() call cannot be splitted in several calls to deal
- with all parameters: the original parameters are thus copied to a local
- curl_forms array and converted to ASCII when needed.
- CURLFORM_PTRNAME is processed as if it were CURLFORM_COPYNAME.
- CURLFORM_COPYNAME and CURLFORM_NAMELENGTH occurrence order in
- parameters is not defined; for this reason, the actual conversion is
- delayed to the end of parameter processing. The same applies to
- CURLFORM_COPYCONTENTS/CURLFORM_CONTENTSLENGTH, but these may appear
- several times in the parameter list; the problem resides here in knowing
- which CURLFORM_CONTENTSLENGTH applies to which CURLFORM_COPYCONTENTS and
- when we can be sure to have both info for conversion: end of parameter
- list is such a point, but CURLFORM_CONTENTTYPE is also used here as a
- natural separator between content data definitions; this seems to be
- in accordance with FormAdd() behavior. */
-
- /* Allocate the local curl_forms array. */
-
- lformlen = ALLOC_GRANULE;
- lforms = (struct curl_forms *) malloc(lformlen * sizeof * lforms);
-
- if (!lforms)
- return CURL_FORMADD_MEMORY;
-
- /* Process the arguments, copying them into local array, latching conversion
- indexes and converting when needed. */
-
- result = CURL_FORMADD_OK;
- nargs = 0;
- contentx = -1;
- lengthx = -1;
- namex = -1;
- namelengthx = -1;
- forms = (struct curl_forms *) NULL;
- va_start(arg, last_post);
-
- for (;;) {
- /* Make sure there is still room for an item in local array. */
-
- if (nargs >= lformlen) {
- lformlen += ALLOC_GRANULE;
- tforms = (struct curl_forms *) realloc((char *) lforms,
- lformlen * sizeof *lforms);
-
- if (!tforms) {
- result = CURL_FORMADD_MEMORY;
- break;
- }
-
- lforms = tforms;
- }
-
- /* Get next option. */
-
- if (forms) {
- /* Get option from array. */
-
- option = forms->option;
- value = forms->value;
- forms++;
- }
- else {
- /* Get option from arguments. */
-
- option = va_arg(arg, CURLformoption);
-
- if (option == CURLFORM_END)
- break;
- }
-
- /* Dispatch by option. */
-
- switch (option) {
-
- case CURLFORM_END:
- forms = (struct curl_forms *) NULL; /* Leave array mode. */
- continue;
-
- case CURLFORM_ARRAY:
- if (!forms) {
- forms = va_arg(arg, struct curl_forms *);
- continue;
- }
-
- result = CURL_FORMADD_ILLEGAL_ARRAY;
- break;
-
- case CURLFORM_COPYNAME:
- option = CURLFORM_PTRNAME; /* Static for now. */
-
- case CURLFORM_PTRNAME:
- if (namex >= 0)
- result = CURL_FORMADD_OPTION_TWICE;
-
- namex = nargs;
-
- if (!forms) {
- value = va_arg(arg, char *);
- nameccsid = (unsigned int) va_arg(arg, long);
- }
- else {
- nameccsid = (unsigned int) forms->value;
- forms++;
- }
-
- break;
-
- case CURLFORM_COPYCONTENTS:
- if (contentx >= 0)
- result = CURL_FORMADD_OPTION_TWICE;
-
- contentx = nargs;
-
- if (!forms) {
- value = va_arg(arg, char *);
- contentccsid = (unsigned int) va_arg(arg, long);
- }
- else {
- contentccsid = (unsigned int) forms->value;
- forms++;
- }
-
- break;
-
- case CURLFORM_PTRCONTENTS:
- case CURLFORM_BUFFERPTR:
- if (!forms)
- value = va_arg(arg, char *); /* No conversion. */
-
- break;
-
- case CURLFORM_CONTENTSLENGTH:
- lengthx = nargs;
-
- if (!forms)
- value = (char *) va_arg(arg, long);
-
- break;
-
- case CURLFORM_NAMELENGTH:
- namelengthx = nargs;
-
- if (!forms)
- value = (char *) va_arg(arg, long);
-
- break;
-
- case CURLFORM_BUFFERLENGTH:
- if (!forms)
- value = (char *) va_arg(arg, long);
-
- break;
-
- case CURLFORM_CONTENTHEADER:
- if (!forms)
- value = (char *) va_arg(arg, struct curl_slist *);
-
- break;
-
- case CURLFORM_STREAM:
- if (!forms)
- value = (char *) va_arg(arg, void *);
-
- break;
-
- case CURLFORM_CONTENTTYPE:
- /* If a previous content has been encountered, convert it now. */
-
- if (Curl_formadd_convert(lforms, contentx, lengthx, contentccsid) < 0) {
- result = CURL_FORMADD_MEMORY;
- break;
- }
-
- contentx = -1;
- lengthx = -1;
- /* Fall into default. */
-
- default:
- /* Must be a convertible string. */
-
- if (!Curl_is_formadd_string(option)) {
- result = CURL_FORMADD_UNKNOWN_OPTION;
- break;
- }
-
- if (!forms) {
- value = va_arg(arg, char *);
- ccsid = (unsigned int) va_arg(arg, long);
- }
- else {
- ccsid = (unsigned int) forms->value;
- forms++;
- }
-
- /* Do the conversion. */
-
- lforms[nargs].value = value;
-
- if (Curl_formadd_convert(lforms, nargs, -1, ccsid) < 0) {
- result = CURL_FORMADD_MEMORY;
- break;
- }
-
- value = lforms[nargs].value;
- }
-
- if (result != CURL_FORMADD_OK)
- break;
-
- lforms[nargs].value = value;
- lforms[nargs++].option = option;
- }
-
- va_end(arg);
-
- /* Convert the name and the last content, now that we know their lengths. */
-
- if (result == CURL_FORMADD_OK && namex >= 0) {
- if (Curl_formadd_convert(lforms, namex, namelengthx, nameccsid) < 0)
- result = CURL_FORMADD_MEMORY;
- else
- lforms[namex].option = CURLFORM_COPYNAME; /* Force copy. */
- }
-
- if (result == CURL_FORMADD_OK) {
- if (Curl_formadd_convert(lforms, contentx, lengthx, contentccsid) < 0)
- result = CURL_FORMADD_MEMORY;
- else
- contentx = -1;
- }
-
- /* Do the formadd with our converted parameters. */
-
- if (result == CURL_FORMADD_OK) {
- lforms[nargs].option = CURLFORM_END;
- result = curl_formadd(httppost, last_post,
- CURLFORM_ARRAY, lforms, CURLFORM_END);
- }
-
- /* Terminate. */
-
- Curl_formadd_release_local(lforms, nargs, contentx);
- return result;
-}
-
-
-typedef struct {
- curl_formget_callback append;
- void * arg;
- unsigned int ccsid;
-} cfcdata;
-
-
-static size_t
-Curl_formget_callback_ccsid(void * arg, const char * buf, size_t len)
-
-{
- cfcdata * p;
- char * b;
- int l;
- size_t ret;
-
- p = (cfcdata *) arg;
-
- if ((long) len <= 0)
- return (*p->append)(p->arg, buf, len);
-
- b = malloc(MAX_CONV_EXPANSION * len);
-
- if (!b)
- return (size_t) -1;
-
- l = convert(b, MAX_CONV_EXPANSION * len, p->ccsid, buf, len, ASCII_CCSID);
-
- if (l < 0) {
- free(b);
- return (size_t) -1;
- }
-
- ret = (*p->append)(p->arg, b, l);
- free(b);
- return ret == l? len: -1;
-}
-
-
-int
-curl_formget_ccsid(struct curl_httppost * form, void * arg,
- curl_formget_callback append, unsigned int ccsid)
-
-{
- cfcdata lcfc;
-
- lcfc.append = append;
- lcfc.arg = arg;
- lcfc.ccsid = ccsid;
- return curl_formget(form, (void *) &lcfc, Curl_formget_callback_ccsid);
-}
-
-
-CURLcode
-curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...)
-
-{
- CURLcode result;
- va_list arg;
- struct SessionHandle * data;
- char * s;
- char * cp;
- unsigned int ccsid;
- size_t len;
- curl_off_t pfsize;
- static char testwarn = 1;
-
- /* Warns if this procedure has not been updated when the dupstring enum
- changes.
- We (try to) do it only once: there is no need to issue several times
- the same message; but since threadsafeness is not handled here,
- this may occur (and we don't care!). */
-
- if (testwarn) {
- testwarn = 0;
-
- if ((int) STRING_LAST != (int) STRING_SSL_ISSUERCERT + 1)
- curl_mfprintf(stderr,
- "*** WARNING: curl_easy_setopt_ccsid() should be reworked ***\n");
- }
-
- data = (struct SessionHandle *) curl;
- va_start(arg, tag);
-
- switch (tag) {
-
- case CURLOPT_CAINFO:
- case CURLOPT_CAPATH:
- case CURLOPT_COOKIE:
- case CURLOPT_COOKIEFILE:
- case CURLOPT_COOKIEJAR:
- case CURLOPT_COOKIELIST:
- case CURLOPT_CUSTOMREQUEST:
- case CURLOPT_EGDSOCKET:
- case CURLOPT_ENCODING:
- case CURLOPT_FTPPORT:
- case CURLOPT_FTP_ACCOUNT:
- case CURLOPT_FTP_ALTERNATIVE_TO_USER:
- case CURLOPT_INTERFACE:
- case CURLOPT_KEYPASSWD:
- case CURLOPT_KRBLEVEL:
- case CURLOPT_NETRC_FILE:
- case CURLOPT_PROXY:
- case CURLOPT_PROXYUSERPWD:
- case CURLOPT_RANDOM_FILE:
- case CURLOPT_RANGE:
- case CURLOPT_REFERER:
- case CURLOPT_SSH_PRIVATE_KEYFILE:
- case CURLOPT_SSH_PUBLIC_KEYFILE:
- case CURLOPT_SSLCERT:
- case CURLOPT_SSLCERTTYPE:
- case CURLOPT_SSLENGINE:
- case CURLOPT_SSLKEY:
- case CURLOPT_SSLKEYTYPE:
- case CURLOPT_SSL_CIPHER_LIST:
- case CURLOPT_URL:
- case CURLOPT_USERAGENT:
- case CURLOPT_USERPWD:
- case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5:
- case CURLOPT_CRLFILE:
- case CURLOPT_ISSUERCERT:
- s = va_arg(arg, char *);
- ccsid = va_arg(arg, unsigned int);
-
- if (s) {
- s = dynconvert(ASCII_CCSID, s, -1, ccsid);
-
- if (!s) {
- result = CURLE_OUT_OF_MEMORY;
- break;
- }
- }
-
- result = curl_easy_setopt(curl, tag, s);
-
- if (s)
- free(s);
-
- break;
-
- case CURLOPT_COPYPOSTFIELDS:
- /* Special case: byte count may have been given by CURLOPT_POSTFIELDSIZE
- prior to this call. In this case, convert the given byte count and
- replace the length according to the conversion result. */
- s = va_arg(arg, char *);
- ccsid = va_arg(arg, unsigned int);
-
- pfsize = data->set.postfieldsize;
-
- if (!s || !pfsize || ccsid == NOCONV_CCSID || ccsid == ASCII_CCSID) {
- result = curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, s);
- break;
- }
-
- if (pfsize == -1) {
- /* Data is null-terminated. */
- s = dynconvert(ASCII_CCSID, s, -1, ccsid);
-
- if (!s) {
- result = CURLE_OUT_OF_MEMORY;
- break;
- }
- }
- else {
- /* Data length specified. */
-
- if (pfsize < 0 || pfsize > SIZE_MAX) {
- result = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- len = pfsize;
- pfsize = len * MAX_CONV_EXPANSION;
-
- if (pfsize > SIZE_MAX)
- pfsize = SIZE_MAX;
-
- cp = malloc(pfsize);
-
- if (!cp) {
- result = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- pfsize = convert(cp, pfsize, ASCII_CCSID, s, len, ccsid);
-
- if (pfsize < 0) {
- free(cp);
- result = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- data->set.postfieldsize = pfsize; /* Replace data size. */
- s = cp;
- }
-
- result = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, s);
- data->set.str[STRING_COPYPOSTFIELDS] = s; /* Give to library. */
- break;
-
- case CURLOPT_ERRORBUFFER: /* This is an output buffer. */
- default:
- result = Curl_setopt(data, tag, arg);
- break;
- }
-
- va_end(arg);
- return result;
-}
-
-
-char *
-curl_form_long_value(long value)
-
-{
- /* ILE/RPG cannot cast an integer to a pointer. This procedure does it. */
-
- return (char *) value;
-}
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.h b/Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.h
deleted file mode 100644
index f270d83..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/ccsidcurl.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- *
- ***************************************************************************/
-
-#ifndef __CURL_CCSIDCURL_H
-#define __CURL_CCSIDCURL_H
-
-#include <curl.h>
-#include <easy.h>
-#include <multi.h>
-
-
-CURL_EXTERN char * curl_version_ccsid(unsigned int ccsid);
-CURL_EXTERN char * curl_easy_escape_ccsid(CURL * handle,
- const char * string, int length,
- unsigned int sccsid,
- unsigned int dccsid);
-CURL_EXTERN char * curl_easy_unescape_ccsid(CURL * handle, const char * string,
- int length, int * outlength,
- unsigned int sccsid,
- unsigned int dccsid);
-CURL_EXTERN struct curl_slist * curl_slist_append_ccsid(struct curl_slist * lst,
- const char * data,
- unsigned int ccsid);
-CURL_EXTERN time_t curl_getdate_ccsid(const char * p, const time_t * unused,
- unsigned int ccsid);
-CURL_EXTERN curl_version_info_data * curl_version_info_ccsid(CURLversion stamp,
- unsigned int csid);
-CURL_EXTERN const char * curl_easy_strerror_ccsid(CURLcode error,
- unsigned int ccsid);
-CURL_EXTERN const char * curl_share_strerror_ccsid(CURLSHcode error,
- unsigned int ccsid);
-CURL_EXTERN const char * curl_multi_strerror_ccsid(CURLMcode error,
- unsigned int ccsid);
-CURL_EXTERN CURLcode curl_easy_getinfo_ccsid(CURL * curl, CURLINFO info, ...);
-CURL_EXTERN CURLFORMcode curl_formadd_ccsid(struct curl_httppost * * httppost,
- struct curl_httppost * * last_post,
- ...);
-CURL_EXTERN char * curl_form_long_value(long value);
-CURL_EXTERN int curl_formget_ccsid(struct curl_httppost * form, void * arg,
- curl_formget_callback append,
- unsigned int ccsid);
-CURL_EXTERN CURLcode curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/curl.inc.in b/Utilities/cmcurl-7.19.0/packages/OS400/curl.inc.in
deleted file mode 100644
index bfbad1f..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/curl.inc.in
+++ /dev/null
@@ -1,1611 +0,0 @@
- **************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- *
- **************************************************************************
- *
- /if not defined(CURL_CURL_INC_)
- /define CURL_CURL_INC_
- *
- * WARNING: this file should be kept in sync with C include files.
- *
- **************************************************************************
- * Constants
- **************************************************************************
- *
- d LIBCURL_VERSION...
- d c '@LIBCURL_VERSION@'
- d LIBCURL_VERSION_MAJOR...
- d c @LIBCURL_VERSION_MAJOR@
- d LIBCURL_VERSION_MINOR...
- d c @LIBCURL_VERSION_MINOR@
- d LIBCURL_VERSION_PATCH...
- d c @LIBCURL_VERSION_PATCH@
- d LIBCURL_VERSION_NUM...
- d c X'00@LIBCURL_VERSION_NUM@'
- d LIBCURL_TIMESTAMP...
- d c '@LIBCURL_TIMESTAMP@'
- *
- d CURL_SOCKET_BAD...
- d c -1
- d CURL_SOCKET_TIMEOUT...
- d c -1
- *
- d CURLINFO_STRING...
- d c X'00100000'
- d CURLINFO_LONG c X'00200000'
- d CURLINFO_DOUBLE...
- d c X'00300000'
- d CURLINFO_SLIST c X'00400000'
- d CURLINFO_MASK c X'000FFFFF'
- d CURLINFO_TYPEMASK...
- d c X'00F00000'
- *
- d CURL_GLOBAL_SSL...
- d c X'00000001'
- d CURL_GLOBAL_WIN32...
- d c X'00000002'
- d CURL_GLOBAL_ALL...
- d c X'00000003'
- d CURL_GLOBAL_NOTHING...
- d c X'00000000'
- d CURL_GLOBAL_DEFAULT...
- d c X'00000003'
- *
- d CURL_VERSION_IPV6...
- d c X'00000001'
- d CURL_VERSION_KERBEROS4...
- d c X'00000002'
- d CURL_VERSION_SSL...
- d c X'00000004'
- d CURL_VERSION_LIBZ...
- d c X'00000008'
- d CURL_VERSION_NTLM...
- d c X'00000010'
- d CURL_VERSION_GSSNEGOTIATE...
- d c X'00000020'
- d CURL_VERSION_DEBUG...
- d c X'00000040'
- d CURL_VERSION_ASYNCHDNS...
- d c X'00000080'
- d CURL_VERSION_SPNEGO...
- d c X'00000100'
- d CURL_VERSION_LARGEFILE...
- d c X'00000200'
- d CURL_VERSION_IDN...
- d c X'00000400'
- d CURL_VERSION_SSPI...
- d c X'00000800'
- d CURL_VERSION_CONV...
- d c X'00001000'
- *
- d HTTPPOST_FILENAME...
- d c X'00000001'
- d HTTPPOST_READFILE...
- d c X'00000002'
- d HTTPPOST_PTRNAME...
- d c X'00000004'
- d HTTPPOST_PTRCONTENTS...
- d c X'00000008'
- d HTTPPOST_BUFFER...
- d c X'00000010'
- d HTTPPOST_PTRBUFFER...
- d c X'00000020'
- d HTTPPOST_CALLBACK...
- d c X'00000040'
- *
- d CURL_READFUNC_ABORT...
- d c X'10000000'
- d CURL_READFUNC_PAUSE...
- d c X'10000001'
- *
- d CURL_WRITEFUNC_PAUSE...
- d c X'10000001'
- *
- d CURLAUTH_NONE c X'00000000'
- d CURLAUTH_BASIC c X'00000001'
- d CURLAUTH_DIGEST...
- d c X'00000002'
- d CURLAUTH_GSSNEGOTIATE...
- d c X'00000004'
- d CURLAUTH_NTLM c X'00000008'
- d CURLAUTH_ANY c X'7FFFFFFF'
- d CURLAUTH_ANYSAFE...
- d c X'7FFFFFFE' ~CURLAUTH_BASIC
- *
- d CURLSSH_AUTH_ANY...
- d c X'7FFFFFFF'
- d CURLSSH_AUTH_NONE...
- d c X'00000000'
- d CURLSSH_AUTH_PUBLICKEY...
- d c X'00000001'
- d CURLSSH_AUTH_PASSWORD...
- d c X'00000002'
- d CURLSSH_AUTH_HOST...
- d c X'00000004'
- d CURLSSH_AUTH_KEYBOARD...
- d c X'00000008'
- d CURLSSH_AUTH_DEFAULT...
- d c X'7FFFFFFF' CURLSSH_AUTH_ANY
- *
- d CURL_ERROR_SIZE...
- d c 256
- *
- d CURLOPTTYPE_LONG...
- d c 0
- d CURLOPTTYPE_OBJECTPOINT...
- d c 10000
- d CURLOPTTYPE_FUNCTIONPOINT...
- d c 20000
- d CURLOPTTYPE_OFF_T...
- d c 30000
- *
- d CURL_IPRESOLVE_WHATEVER...
- d c 0
- d CURL_IPRESOLVE_V4...
- d c 1
- d CURL_IPRESOLVE_V6...
- d c 2
- *
- d CURL_HTTP_VERSION_NONE...
- d c 0
- d CURL_HTTP_VERSION_1_0...
- d c 1
- d CURL_HTTP_VERSION_1_1...
- d c 2
- *
- d CURL_NETRC_IGNORED...
- d c 0
- d CURL_NETRC_OPTIONAL...
- d c 1
- d CURL_NETRC_REQUIRED...
- d c 2
- *
- d CURL_SSLVERSION_DEFAULT...
- d c 0
- d CURL_SSLVERSION_TLSv1...
- d c 1
- d CURL_SSLVERSION_SSLv2...
- d c 2
- d CURL_SSLVERSION_SSLv3...
- d c 3
- *
- d CURL_POLL_NONE c 0
- d CURL_POLL_IN c 1
- d CURL_POLL_OUT c 2
- d CURL_POLL_INOUT...
- d c 3
- d CURL_POLL_REMOVE...
- d c 4
- *
- d CURL_CSELECT_IN...
- d c X'00000001'
- d CURL_CSELECT_OUT...
- d c X'00000002'
- d CURL_CSELECT_ERR...
- d c X'00000004'
- *
- d CURLPAUSE_RECV c X'00000001'
- d CURLPAUSE_RECV_CONT...
- d c X'00000000'
- d CURLPAUSE_SEND c X'00000004'
- d CURLPAUSE_SEND_CONT...
- d c X'00000000'
- d CURLPAUSE_ALL c X'00000005'
- d CURLPAUSE_CONT c X'00000000'
- *
- **************************************************************************
- * Types
- **************************************************************************
- *
- d curl_socket_t s 10i 0 based(######ptr######)
- *
- d curl_off_t s 20i 0 based(######ptr######)
- *
- d CURLcode s 10i 0 based(######ptr######) Enum
- d CURLE_OK c 0
- d CURLE_UNSUPPORTED_PROTOCOL...
- d c 1
- d CURLE_FAILED_INIT...
- d c 2
- d CURLE_URL_MALFORMAT...
- d c 3
- d CURLE_OBSOLETE4...
- d c 4
- d CURLE_COULDNT_RESOLVE_PROXY...
- d c 5
- d CURLE_COULDNT_RESOLVE_HOST...
- d c 6
- d CURLE_COULDNT_CONNECT...
- d c 7
- d CURLE_FTP_WEIRD_SERVER_REPLY...
- d c 8
- d CURLE_REMOTE_ACCESS_DENIED...
- d c 9
- d CURLE_OBSOLETE10...
- d c 10
- d CURLE_FTP_WEIRD_PASS_REPLY...
- d c 11
- d CURLE_OBSOLETE12...
- d c 12
- d CURLE_FTP_WEIRD_PASV_REPLY...
- d c 13
- d CURLE_FTP_WEIRD_227_FORMAT...
- d c 14
- d CURLE_FTP_CANT_GET_HOST...
- d c 15
- d CURLE_OBSOLETE16...
- d c 16
- d CURLE_FTP_COULDNT_SET_TYPE...
- d c 17
- d CURLE_PARTIAL_FILE...
- d c 18
- d CURLE_FTP_COULDNT_RETR_FILE...
- d c 19
- d CURLE_OBSOLETE20...
- d c 20
- d CURLE_QUOTE_ERROR...
- d c 21
- d CURLE_HTTP_RETURNED_ERROR...
- d c 22
- d CURLE_WRITE_ERROR...
- d c 23
- d CURLE_OBSOLETE24...
- d c 24
- d CURLE_UPLOAD_FAILED...
- d c 25
- d CURLE_READ_ERROR...
- d c 26
- d CURLE_OUT_OF_MEMORY...
- d c 27
- d CURLE_OPERATION_TIMEDOUT...
- d c 28
- d CURLE_OBSOLETE29...
- d c 29
- d CURLE_FTP_PORT_FAILED...
- d c 30
- d CURLE_FTP_COULDNT_USE_REST...
- d c 31
- d CURLE_OBSOLETE32...
- d c 32
- d CURLE_RANGE_ERROR...
- d c 33
- d CURLE_HTTP_POST_ERROR...
- d c 34
- d CURLE_SSL_CONNECT_ERROR...
- d c 35
- d CURLE_BAD_DOWNLOAD_RESUME...
- d c 36
- d CURLE_FILE_COULDNT_READ_FILE...
- d c 37
- d CURLE_LDAP_CANNOT_BIND...
- d c 38
- d CURLE_LDAP_SEARCH_FAILED...
- d c 39
- d CURLE_OBSOLETE40...
- d c 40
- d CURLE_FUNCTION_NOT_FOUND...
- d c 41
- d CURLE_ABORTED_BY_CALLBACK...
- d c 42
- d CURLE_BAD_FUNCTION_ARGUMENT...
- d c 43
- d CURLE_OBSOLETE44...
- d c 44
- d CURLE_INTERFACE_FAILED...
- d c 45
- d CURLE_OBSOLETE46...
- d c 46
- d CURLE_TOO_MANY_REDIRECTS...
- d c 47
- d CURLE_UNKNOWN_TELNET_OPTION...
- d c 48
- d CURLE_TELNET_OPTION_SYNTAX...
- d c 49
- d CURLE_OBSOLETE50...
- d c 50
- d CURLE_PEER_FAILED_VERIFICATION...
- d c 51
- d CURLE_GOT_NOTHING...
- d c 52
- d CURLE_SSL_ENGINE_NOTFOUND...
- d c 53
- d CURLE_SSL_ENGINE_SETFAILED...
- d c 54
- d CURLE_SEND_ERROR...
- d c 55
- d CURLE_RECV_ERROR...
- d c 56
- d CURLE_OBSOLETE57...
- d c 57
- d CURLE_SSL_CERTPROBLEM...
- d c 58
- d CURLE_SSL_CIPHER...
- d c 59
- d CURLE_SSL_CACERT...
- d c 60
- d CURLE_BAD_CONTENT_ENCODING...
- d c 61
- d CURLE_LDAP_INVALID_URL...
- d c 62
- d CURLE_FILESIZE_EXCEEDED...
- d c 63
- d CURLE_USE_SSL_FAILED...
- d c 64
- d CURLE_SEND_FAIL_REWIND...
- d c 65
- d CURLE_SSL_ENGINE_INITFAILED...
- d c 66
- d CURLE_LOGIN_DENIED...
- d c 67
- d CURLE_TFTP_NOTFOUND...
- d c 68
- d CURLE_TFTP_PERM...
- d c 69
- d CURLE_REMOTE_DISK_FULL...
- d c 70
- d CURLE_TFTP_ILLEGAL...
- d c 71
- d CURLE_TFTP_UNKNOWNID...
- d c 72
- d CURLE_REMOTE_FILE_EXISTS...
- d c 73
- d CURLE_TFTP_NOSUCHUSER...
- d c 74
- d CURLE_CONV_FAILED...
- d c 75
- d CURLE_CONV_REQD...
- d c 76
- d CURLE_SSL_CACERT_BADFILE...
- d c 77
- d CURLE_REMOTE_FILE_NOT_FOUND...
- d c 78
- d CURLE_SSH...
- d c 79
- d CURLE_SSL_SHUTDOWN_FAILED...
- d c 80
- d CURLE_AGAIN...
- d c 81
- d CURLE_SSL_CRL_BADFILE...
- d c 82
- d CURLE_SSL_ISSUER_ERROR...
- d c 83
- *
- d curlioerr s 10i 0 based(######ptr######) Enum
- d CURLIOE_OK c 0
- d CURLIOE_UNKNOWNCMD...
- d c 1
- d CURLIOE_FAILRESTART...
- d c 2
- *
- d curliocmd s 10i 0 based(######ptr######) Enum
- d CURLIOCMD_NOP c 0
- d CURLIOCMD_RESTARTREAD...
- d c 1
- *
- d curl_infotype s 10i 0 based(######ptr######) Enum
- d CURLINFO_TEXT...
- d c 0
- d CURLINFO_HEADER_IN...
- d c 1
- d CURLINFO_HEADER_OUT...
- d c 2
- d CURLINFO_DATA_IN...
- d c 3
- d CURLINFO_DATA_OUT...
- d c 4
- d CURLINFO_SSL_DATA_IN...
- d c 5
- d CURLINFO_SSL_DATA_OUT...
- d c 6
- d CURLINFO_END...
- d c 7
- *
- d curl_proxytype s 10i 0 based(######ptr######) Enum
- d CURLPROXY_HTTP...
- d c 0
- d CURLPROXY_SOCKS4...
- d c 4
- d CURLPROXY_SOCKS5...
- d c 5
- d CURLPROXY_SOCKS4A...
- d c 6
- d CURLPROXY_SOCKS5_HOSTNAME...
- d c 7
- *
- d curl_usessl s 10i 0 based(######ptr######) Enum
- d CURLUSESSL_NONE...
- d c 0
- d CURLUSESSL_TRY...
- d c 1
- d CURLUSESSL_CONTROL...
- d c 2
- d CURLUSESSL_ALL...
- d c 3
- *
- d curl_ftpccc s 10i 0 based(######ptr######) Enum
- d CURLFTPSSL_CCC_NONE...
- d c 0
- d CURLFTPSSL_CCC_PASSIVE...
- d c 1
- d CURLFTPSSL_CCC_ACTIVE...
- d c 2
- *
- d curl_ftpauth s 10i 0 based(######ptr######) Enum
- d CURLFTPAUTH_DEFAULT...
- d c 0
- d CURLFTPAUTH_SSL...
- d c 1
- d CURLFTPAUTH_TLS...
- d c 2
- *
- d curl_ftpmethod s 10i 0 based(######ptr######) Enum
- d CURLFTPMETHOD_DEFAULT...
- d c 0
- d CURLFTPMETHOD_MULTICWD...
- d c 1
- d CURLFTPMETHOD_NOCWD...
- d c 2
- d CURLFTPMETHOD_SINGLECWD...
- d c 3
- *
- d CURLoption s 10i 0 based(######ptr######) Enum
- d CURLOPT_FILE c 10001
- d CURLOPT_WRITEDATA...
- d c 10001
- d CURLOPT_URL c 10002
- d CURLOPT_PORT c 00003
- d CURLOPT_PROXY c 10004
- d CURLOPT_USERPWD...
- d c 10005
- d CURLOPT_PROXYUSERPWD...
- d c 10006
- d CURLOPT_RANGE c 10007
- d CURLOPT_INFILE...
- d c 10009
- d CURLOPT_READDATA...
- d c 10009
- d CURLOPT_ERRORBUFFER...
- d c 10010
- d CURLOPT_WRITEFUNCTION...
- d c 20011
- d CURLOPT_READFUNCTION...
- d c 20012
- d CURLOPT_TIMEOUT...
- d c 00013
- d CURLOPT_INFILESIZE...
- d c 00014
- d CURLOPT_POSTFIELDS...
- d c 10015
- d CURLOPT_REFERER...
- d c 10016
- d CURLOPT_FTPPORT...
- d c 10017
- d CURLOPT_USERAGENT...
- d c 10018
- d CURLOPT_LOW_SPEED_LIMIT...
- d c 00019
- d CURLOPT_LOW_SPEED_TIME...
- d c 00020
- d CURLOPT_RESUME_FROM...
- d c 00021
- d CURLOPT_COOKIE...
- d c 10022
- d CURLOPT_HTTPHEADER...
- d c 10023
- d CURLOPT_HTTPPOST...
- d c 10024
- d CURLOPT_SSLCERT...
- d c 10025
- d CURLOPT_SSLCERTPASSWD...
- d c 10026
- d CURLOPT_KEYPASSWD...
- d c 10026
- d CURLOPT_CRLF c 00027
- d CURLOPT_QUOTE c 10028
- d CURLOPT_WRITEHEADER...
- d c 10029
- d CURLOPT_HEADERDATA...
- d c 10029
- d CURLOPT_COOKIEFILE...
- d c 10031
- d CURLOPT_SSLVERSION...
- d c 00032
- d CURLOPT_TIMECONDITION...
- d c 00033
- d CURLOPT_TIMEVALUE...
- d c 00034
- d CURLOPT_CUSTOMREQUEST...
- d c 10036
- d CURLOPT_STDERR...
- d c 10037
- d CURLOPT_POSTQUOTE...
- d c 10039
- d CURLOPT_WRITEINFO...
- d c 10040
- d CURLOPT_VERBOSE...
- d c 00041
- d CURLOPT_HEADER...
- d c 00042
- d CURLOPT_NOPROGRESS...
- d c 00043
- d CURLOPT_NOBODY...
- d c 00044
- d CURLOPT_FAILONERROR...
- d c 00045
- d CURLOPT_UPLOAD...
- d c 00046
- d CURLOPT_POST c 00047
- d CURLOPT_DIRLISTONLY...
- d c 00048
- d CURLOPT_APPEND...
- d c 00050
- d CURLOPT_NETRC c 00051
- d CURLOPT_FOLLOWLOCATION...
- d c 00052
- d CURLOPT_TRANSFERTEXT...
- d c 00053
- d CURLOPT_PUT c 00054
- d CURLOPT_PROGRESSFUNCTION...
- d c 20056
- d CURLOPT_PROGRESSDATA...
- d c 10057
- d CURLOPT_AUTOREFERER...
- d c 00058
- d CURLOPT_PROXYPORT...
- d c 00059
- d CURLOPT_POSTFIELDSIZE...
- d c 00060
- d CURLOPT_HTTPPROXYTUNNEL...
- d c 00061
- d CURLOPT_INTERFACE...
- d c 10062
- d CURLOPT_KRBLEVEL...
- d c 10063
- d CURLOPT_SSL_VERIFYPEER...
- d c 00064
- d CURLOPT_CAINFO...
- d c 10065
- d CURLOPT_MAXREDIRS...
- d c 00068
- d CURLOPT_FILETIME...
- d c 00069
- d CURLOPT_TELNETOPTIONS...
- d c 10070
- d CURLOPT_MAXCONNECTS...
- d c 00071
- d CURLOPT_CLOSEPOLICY...
- d c 00072
- d CURLOPT_FRESH_CONNECT...
- d c 00074
- d CURLOPT_FORBID_REUSE...
- d c 00075
- d CURLOPT_RANDOM_FILE...
- d c 10076
- d CURLOPT_EGDSOCKET...
- d c 10077
- d CURLOPT_CONNECTTIMEOUT...
- d c 00078
- d CURLOPT_HEADERFUNCTION...
- d c 20079
- d CURLOPT_HTTPGET...
- d c 00080
- d CURLOPT_SSL_VERIFYHOST...
- d c 00081
- d CURLOPT_COOKIEJAR...
- d c 10082
- d CURLOPT_SSL_CIPHER_LIST...
- d c 10083
- d CURLOPT_HTTP_VERSION...
- d c 00084
- d CURLOPT_FTP_USE_EPSV...
- d c 00085
- d CURLOPT_SSLCERTTYPE...
- d c 10086
- d CURLOPT_SSLKEY...
- d c 10087
- d CURLOPT_SSLKEYTYPE...
- d c 10088
- d CURLOPT_SSLENGINE...
- d c 10089
- d CURLOPT_SSLENGINE_DEFAULT...
- d c 00090
- d CURLOPT_DNS_USE_GLOBAL_CACHE...
- d c 00091
- d CURLOPT_DNS_CACHE_TIMEOUT...
- d c 00092
- d CURLOPT_PREQUOTE...
- d c 10093
- d CURLOPT_DEBUGFUNCTION...
- d c 20094
- d CURLOPT_DEBUGDATA...
- d c 10095
- d CURLOPT_COOKIESESSION...
- d c 00096
- d CURLOPT_CAPATH...
- d c 10097
- d CURLOPT_BUFFERSIZE...
- d c 00098
- d CURLOPT_NOSIGNAL...
- d c 00099
- d CURLOPT_SHARE c 10100
- d CURLOPT_PROXYTYPE...
- d c 00101
- d CURLOPT_ENCODING...
- d c 10102
- d CURLOPT_PRIVATE...
- d c 10103
- d CURLOPT_HTTP200ALIASES...
- d c 10104
- d CURLOPT_UNRESTRICTED_AUTH...
- d c 00105
- d CURLOPT_FTP_USE_EPRT...
- d c 00106
- d CURLOPT_HTTPAUTH...
- d c 00107
- d CURLOPT_SSL_CTX_FUNCTION...
- d c 20108
- d CURLOPT_SSL_CTX_DATA...
- d c 10109
- d CURLOPT_FTP_CREATE_MISSING_DIRS...
- d c 00110
- d CURLOPT_PROXYAUTH...
- d c 00111
- d CURLOPT_FTP_RESPONSE_TIMEOUT...
- d c 00112
- d CURLOPT_IPRESOLVE...
- d c 00113
- d CURLOPT_MAXFILESIZE...
- d c 00114
- d CURLOPT_INFILESIZE_LARGE...
- d c 30115
- d CURLOPT_RESUME_FROM_LARGE...
- d c 30116
- d CURLOPT_MAXFILESIZE_LARGE...
- d c 30117
- d CURLOPT_NETRC_FILE...
- d c 10118
- d CURLOPT_USE_SSL...
- d c 00119
- d CURLOPT_POSTFIELDSIZE_LARGE...
- d c 30120
- d CURLOPT_TCP_NODELAY...
- d c 00121
- d CURLOPT_FTPSSLAUTH...
- d c 00129
- d CURLOPT_IOCTLFUNCTION...
- d c 20130
- d CURLOPT_IOCTLDATA...
- d c 10131
- d CURLOPT_FTP_ACCOUNT...
- d c 10134
- d CURLOPT_COOKIELIST...
- d c 10135
- d CURLOPT_IGNORE_CONTENT_LENGTH...
- d c 00136
- d CURLOPT_FTP_SKIP_PASV_IP...
- d c 00137
- d CURLOPT_FTP_FILEMETHOD...
- d c 00138
- d CURLOPT_LOCALPORT...
- d c 00139
- d CURLOPT_LOCALPORTRANGE...
- d c 00140
- d CURLOPT_CONNECT_ONLY...
- d c 00141
- d CURLOPT_CONV_FROM_NETWORK_FUNCTION...
- d c 20142
- d CURLOPT_CONV_TO_NETWORK_FUNCTION...
- d c 20143
- d CURLOPT_CONV_FROM_UTF8_FUNCTION...
- d c 20144
- d CURLOPT_MAX_SEND_SPEED_LARGE...
- d c 30145
- d CURLOPT_MAX_RECV_SPEED_LARGE...
- d c 30146
- d CURLOPT_FTP_ALTERNATIVE_TO_USER...
- d c 10147
- d CURLOPT_SOCKOPTFUNCTION...
- d c 20148
- d CURLOPT_SOCKOPTDATA...
- d c 10149
- d CURLOPT_SSL_SESSIONID_CACHE...
- d c 00150
- d CURLOPT_SSH_AUTH_TYPES...
- d c 00151
- d CURLOPT_SSH_PUBLIC_KEYFILE...
- d c 10152
- d CURLOPT_SSH_PRIVATE_KEYFILE...
- d c 10153
- d CURLOPT_FTP_SSL_CCC...
- d c 00154
- d CURLOPT_TIMEOUT_MS...
- d c 00155
- d CURLOPT_CONNECTTIMEOUT_MS...
- d c 00156
- d CURLOPT_HTTP_TRANSFER_DECODING...
- d c 00157
- d CURLOPT_HTTP_CONTENT_DECODING...
- d c 00158
- d CURLOPT_NEW_FILE_PERMS...
- d c 00159
- d CURLOPT_NEW_DIRECTORY_PERMS...
- d c 00160
- d CURLOPT_POST301...
- d c 00161
- d CURLOPT_SSH_HOST_PUBLIC_KEY_MD5...
- d c 10162
- d CURLOPT_OPENSOCKETFUNCTION...
- d c 20163
- d CURLOPT_OPENSOCKETDATA...
- d c 10164
- d CURLOPT_COPYPOSTFIELDS...
- d c 10165
- d CURLOPT_PROXY_TRANSFER_MODE...
- d c 00166
- d CURLOPT_SEEKFUNCTION...
- d c 20167
- d CURLOPT_SEEKDATA...
- d c 10168
- d CURLOPT_CRLFILE...
- d c 10169
- d CURLOPT_ISSUERCERT...
- d c 10170
- d CURLOPT_ADDRESS_SCOPE...
- d c 00171
- *
- d CURLFORMcode s 10i 0 based(######ptr######) Enum
- d CURL_FORMADD_OK...
- d c 0
- d CURL_FORMADD_MEMORY...
- d c 1
- d CURL_FORMADD_OPTION_TWICE...
- d c 2
- d CURL_FORMADD_NULL...
- d c 3
- d CURL_FORMADD_UNKNOWN_OPTION...
- d c 4
- d CURL_FORMADD_INCOMPLETE...
- d c 5
- d CURL_FORMADD_ILLEGAL_ARRAY...
- d c 6
- d CURL_FORMADD_DISABLED...
- d c 7
- *
- d CURLformoption s 10i 0 based(######ptr######) Enum
- d CURLFORM_NOTHING...
- d c 0
- d CURLFORM_COPYNAME...
- d c 1
- d CURLFORM_PTRNAME...
- d c 2
- d CURLFORM_NAMELENGTH...
- d c 3
- d CURLFORM_COPYCONTENTS...
- d c 4
- d CURLFORM_PTRCONTENTS...
- d c 5
- d CURLFORM_CONTENTSLENGTH...
- d c 6
- d CURLFORM_FILECONTENT...
- d c 7
- d CURLFORM_ARRAY...
- d c 8
- d CURLFORM_OBSOLETE...
- d c 9
- d CURLFORM_FILE...
- d c 10
- d CURLFORM_BUFFER...
- d c 11
- d CURLFORM_BUFFERPTR...
- d c 12
- d CURLFORM_BUFFERLENGTH...
- d c 13
- d CURLFORM_CONTENTTYPE...
- d c 14
- d CURLFORM_CONTENTHEADER...
- d c 15
- d CURLFORM_FILENAME...
- d c 16
- d CURLFORM_END...
- d c 17
- d CURLFORM_OBSOLETE2...
- d c 18
- d CURLFORM_STREAM...
- d c 19
- *
- d CURLINFO s 10i 0 based(######ptr######) Enum
- d CURLINFO_EFFECTIVE_URL... CURLINFO_STRING + 1
- d c X'00100001'
- d CURLINFO_RESPONSE_CODE... CURLINFO_LONG + 2
- d c X'00200002'
- d CURLINFO_TOTAL_TIME... CURLINFO_DOUBLE + 3
- d c X'00300003'
- d CURLINFO_NAMELOOKUP_TIME... CURLINFO_DOUBLE + 4
- d c X'00300004'
- d CURLINFO_CONNECT_TIME... CURLINFO_DOUBLE + 5
- d c X'00300005'
- d CURLINFO_PRETRANSFER_TIME... CURLINFO_DOUBLE + 6
- d c X'00300006'
- d CURLINFO_SIZE_UPLOAD... CURLINFO_DOUBLE + 7
- d c X'00300007'
- d CURLINFO_SIZE_DOWNLOAD... CURLINFO_DOUBLE + 8
- d c X'00300008'
- d CURLINFO_SPEED_DOWNLOAD... CURLINFO_DOUBLE + 9
- d c X'00300009'
- d CURLINFO_SPEED_UPLOAD... CURLINFO_DOUBLE + 10
- d c X'0030000A'
- d CURLINFO_HEADER_SIZE... CURLINFO_LONG + 11
- d c X'0020000B'
- d CURLINFO_REQUEST_SIZE... CURLINFO_LONG + 12
- d c X'0020000C'
- d CURLINFO_SSL_VERIFYRESULT... CURLINFO_LONG + 13
- d c X'0020000D'
- d CURLINFO_FILETIME... CURLINFO_LONG + 14
- d c X'0020000E'
- d CURLINFO_CONTENT_LENGTH_DOWNLOAD... CURLINFO_DOUBLE + 15
- d c X'0030000F'
- d CURLINFO_CONTENT_LENGTH_UPLOAD... CURLINFO_DOUBLE + 16
- d c X'00300010'
- d CURLINFO_STARTTRANSFER_TIME... CURLINFO_DOUBLE + 17
- d c X'00300011'
- d CURLINFO_CONTENT_TYPE... CURLINFO_STRING + 18
- d c X'00100012'
- d CURLINFO_REDIRECT_TIME... CURLINFO_DOUBLE + 19
- d c X'00300013'
- d CURLINFO_REDIRECT_COUNT... CURLINFO_LONG + 20
- d c X'00200014'
- d CURLINFO_PRIVATE... CURLINFO_STRING + 21
- d c X'00100015'
- d CURLINFO_HTTP_CONNECTCODE... CURLINFO_LONG + 22
- d c X'00200016'
- d CURLINFO_HTTPAUTH_AVAIL... CURLINFO_LONG + 23
- d c X'00200017'
- d CURLINFO_PROXYAUTH_AVAIL... CURLINFO_LONG + 24
- d c X'00200018'
- d CURLINFO_OS_ERRNO... CURLINFO_LONG + 25
- d c X'00200019'
- d CURLINFO_NUM_CONNECTS... CURLINFO_LONG + 26
- d c X'0020001A'
- d CURLINFO_SSL_ENGINES... CURLINFO_SLIST + 27
- d c X'0040001B'
- d CURLINFO_COOKIELIST... CURLINFO_SLIST + 28
- d c X'0040001C'
- d CURLINFO_LASTSOCKET... CURLINFO_LONG + 29
- d c X'0020001D'
- d CURLINFO_FTP_ENTRY_PATH... CURLINFO_STRING + 30
- d c X'0010001E'
- d CURLINFO_REDIRECT_URL... CURLINFO_STRING + 31
- d c X'0010001F'
- d CURLINFO_PRIMARY_IP... CURLINFO_STRING + 32
- d c X'00100020'
- d CURLINFO_APPCONNECT_TIME... CURLINFO_DOUBLE + 33
- d c X'00300021'
- d CURLINFO_HTTP_CODE... Old ...RESPONSE_CODE
- d c X'00200002'
- *
- d curl_closepolicy...
- d s 10i 0 based(######ptr######) Enum
- d CURLCLOSEPOLICY_OLDEST...
- d c 1
- d CURLCLOSEPOLICY_LEAST_RECENTLY_USED...
- d c 2
- d CURLCLOSEPOLICY_LEAST_TRAFFIC...
- d c 3
- d CURLCLOSEPOLICY_SLOWEST...
- d c 4
- d CURLCLOSEPOLICY_CALLBACK...
- d c 5
- *
- d curl_lock_data...
- d s 10i 0 based(######ptr######) Enum
- d CURL_LOCK_DATA_NONE...
- d c 0
- d CURL_LOCK_DATA_SHARE...
- d c 1
- d CURL_LOCK_DATA_COOKIE...
- d c 2
- d CURL_LOCK_DATA_DNS...
- d c 3
- d CURL_LOCK_DATA_SSL_SESSION...
- d c 4
- d CURL_LOCK_DATA_CONNECT...
- d c 5
- d CURL_LOCK_DATA_LAST...
- d c 6
- *
- d curl_lock_access...
- d s 10i 0 based(######ptr######) Enum
- d CURL_LOCK_ACCESS_NONE...
- d c 0
- d CURL_LOCK_ACCESS_SHARED...
- d c 1
- d CURL_LOCK_ACCESS_SINGLE...
- d c 2
- *
- d curl_TimeCond s 10i 0 based(######ptr######) Enum
- d CURL_TIMECOND_NONE...
- d c 0
- d CURL_TIMECOND_IFMODSINCE...
- d c 1
- d CURL_TIMECOND_LASTMOD...
- d c 2
- d CURL_TIMECOND_LAST...
- d c 3
- *
- d CURLSHcode s 10i 0 based(######ptr######) Enum
- d CURLSHE_OK c 0
- d CURLSHE_BAD_OPTION...
- d c 1
- d CURLSHE_IN_USE...
- d c 2
- d CURLSHE_INVALID...
- d c 3
- d CURLSHE_NOMEM...
- d c 4
- *
- d CURLSHoption...
- d s 10i 0 based(######ptr######) Enum
- d CURLSHOPT_SHARE...
- d c 1
- d CURLSHOPT_UNSHARE...
- d c 2
- d CURLSHOPT_LOCKFUNC...
- d c 3
- d CURLSHOPT_UNLOCKFUNC...
- d c 4
- d CURLSHOPT_USERDATA...
- d c 5
- *
- d CURLversion s 10i 0 based(######ptr######) Enum
- d CURLVERSION_FIRST...
- d c 0
- d CURLVERSION_SECOND...
- d c 1
- d CURLVERSION_THIRD...
- d c 2
- d CURLVERSION_FOURTH...
- d c 3
- d CURLVERSION_NOW...
- d c 3 CURLVERSION_FOURTH
- *
- d curlsocktype s 10i 0 based(######ptr######) Enum
- d CURLSOCKTYPE_IPCXN...
- d c 0
- *
- d CURLMcode s 10i 0 based(######ptr######) Enum
- d CURLM_CALL_MULTI_PERFORM...
- d c -1
- d CURLM_CALL_MULTI_SOCKET...
- d c -1
- d CURLM_OK c 0
- d CURLM_BAD_HANDLE...
- d c 1
- d CURLM_BAD_EASY_HANDLE...
- d c 2
- d CURLM_OUT_OF_MEMORY...
- d c 3
- d CURLM_INTERNAL_ERROR...
- d c 4
- d CURLM_BAD_SOCKET...
- d c 5
- d CURLM_UNKNOWN_OPTION...
- d c 6
- d CURLM_LAST c 7
- *
- d CURLMSG s 10i 0 based(######ptr######) Enum
- d CURLMSG_NONE c 0
- d CURLMSG_DONE c 1
- *
- d CURLMoption s 10i 0 based(######ptr######) Enum
- d CURLMOPT_SOCKETFUNCTION...
- d c 20001
- d CURLMOPT_SOCKETDATA...
- d c 10002
- d CURLMOPT_PIPELINING...
- d c 00003
- d CURLMOPT_TIMERFUNCTION...
- d c 20004
- d CURLMOPT_TIMERDATA...
- d c 10005
- d CURLMOPT_MAXCONNECTS...
- d c 00006
- *
- * Renaming CURLMsg to CURL_Msg to avoid case-insensivity name clash.
- *
- d CURL_Msg ds based(######ptr######)
- d qualified
- d msg like(CURLMSG)
- d easy_handle * CURL *
- d data *
- d whatever * overlay(data) void *
- d result overlay(data) like(CURLcode)
- *
- d curl_http_post...
- d ds based(######ptr######)
- d qualified
- d next * curl_httppost *
- d name * char *
- d namelength 10i 0 long
- d contents * char *
- d contentslength...
- d 10i 0 long
- d buffer * char *
- d bufferlength...
- d 10i 0 long
- d contenttype * char *
- d contentheader...
- d * curl_slist *
- d more * curl_httppost *
- d flags 10i 0 long
- d showfilename * char *
- d userp * void *
- *
- d curl_sockaddr ds based(######ptr######)
- d qualified
- d family 10i 0
- d socktype 10i 0
- d protocol 10i 0
- d addrlen 10i 0 socklen_t
- d addr 16 struct sockaddr
- *
- d curl_forms ds based(######ptr######)
- d qualified
- d option like(CURLformoption)
- d value * const char *
- d value_ptr * overlay(value)
- d value_procptr...
- d * overlay(value) procptr
- *
- d curl_slist ds based(######ptr######)
- d qualified
- d data * char *
- d next * struct curl_slist *
- *
- d curl_version_info_data...
- d ds based(######ptr######)
- d qualified
- d age like(CURLversion)
- d version * const char *
- d version_num 10u 0
- d host * const char *
- d features 10i 0
- d ssl_version * const char *
- d ssl_version_num...
- d 10i 0 long
- d libz_version * const char *
- d protocols * const char * const *
- d ares * const char *
- d ares_num 10i 0
- d libidn * const char *
- d iconv_ver_num...
- d 10i 0
- d libssh_version...
- d * const char *
- *
- d curl_formget_callback...
- d s * based(######ptr######) procptr
- *
- d curl_malloc_callback...
- d s * based(######ptr######) procptr
- *
- d curl_free_callback...
- d s * based(######ptr######) procptr
- *
- d curl_realloc_callback...
- d s * based(######ptr######) procptr
- *
- d curl_strdup_callback...
- d s * based(######ptr######) procptr
- *
- d curl_calloc_callback...
- d s * based(######ptr######) procptr
- *
- d curl_lock_function...
- d s * based(######ptr######) procptr
- *
- d curl_unlock_function...
- d s * based(######ptr######) procptr
- *
- d curl_progress_callback...
- d s * based(######ptr######) procptr
- *
- d curl_read_callback...
- d s * based(######ptr######) procptr
- *
- d curl_write_callback...
- d s * based(######ptr######) procptr
- *
- d curl_seek_callback...
- d s * based(######ptr######) procptr
- *
- d curl_sockopt_callback...
- d s * based(######ptr######) procptr
- *
- d curl_ioctl_callback...
- d s * based(######ptr######) procptr
- *
- d curl_debug_callback...
- d s * based(######ptr######) procptr
- *
- d curl_conv_callback...
- d s * based(######ptr######) procptr
- *
- d curl_ssl_ctx_callback...
- d s * based(######ptr######) procptr
- *
- d curl_socket_callback...
- d s * based(######ptr######) procptr
- *
- d curl_opensocket_callback...
- d s * based(######ptr######) procptr
- *
- **************************************************************************
- * Prototypes
- **************************************************************************
- *
- * This procedure as a variable parameter list.
- * This prototype allows use of an option array, or a single "object"
- * option. Other argument lists may be implemented by alias procedure
- * prototype definitions.
- *
- d curl_formadd pr extproc('curl_formadd')
- d like(CURLFORMcode)
- d httppost * curl_httppost *
- d lastpost * curl_httppost *
- d option1 value like(CURLFORMoption) CURLFORM_ARRAY
- d options(*nopass)
- d object1 * value options(*string: *nopass)
- d option2 value like(CURLFORMoption) CURLFORM_END
- d options(*nopass)
- *
- *
- d curl_strequal pr 10i 0 extproc('curl_strequal')
- d s1 * value options(*string)
- d s2 * value options(*string)
- *
- d curl_strnequal pr 10i 0 extproc('curl_strnequal')
- d s1 * value options(*string)
- d s2 * value options(*string)
- d n 10u 0 value
- *
- d curl_formget pr 10i 0 extproc('curl_formget')
- d form * value curl_httppost *
- d arg * value
- d append value like(curl_formget_callback)
- *
- d curl_formfree pr extproc('curl_formfree')
- d form * value curl_httppost *
- *
- d curl_getenv pr * extproc('curl_getenv')
- d variable * value options(*string)
- *
- d curl_version pr * extproc('curl_version')
- *
- d curl_easy_escape...
- d pr * extproc('curl_easy_escape') char *
- d handle * value CURL *
- d string * value options(*string)
- d length 10i 0 value
- *
- d curl_escape pr * extproc('curl_escape') char *
- d string * value options(*string)
- d length 10i 0 value
- *
- d curl_easy_unescape...
- d pr * extproc('curl_easy_unescape') char *
- d handle * value CURL *
- d string * value options(*string)
- d length 10i 0 value
- d outlength 10i 0 options(*omit)
- *
- d curl_unescape pr * extproc('curl_unescape') char *
- d string * value options(*string)
- d length 10i 0 value
- *
- d curl_free pr extproc('curl_free')
- d p * value
- *
- d curl_global_init...
- d pr extproc('curl_global_init')
- d like(CURLcode)
- d flags 10i 0 value
- *
- d curl_global_init_mem...
- d pr extproc('curl_global_init_mem')
- d like(CURLcode)
- d m value like(curl_malloc_callback)
- d f value like(curl_free_callback)
- d r value like(curl_realloc_callback)
- d s value like(curl_strdup_callback)
- d c value like(curl_calloc_callback)
- *
- d curl_global_cleanup...
- d pr extproc('curl_global_cleanup')
- *
- d curl_slist_append...
- d pr * extproc('curl_slist_append') struct curl_slist *
- d list * value struct curl_slist *
- d data * value options(*string) const char *
- *
- d curl_slist_free_all...
- d pr extproc('curl_slist_free_all')
- d list * value struct curl_slist *
- *
- d curl_getdate pr 10i 0 extproc('curl_getdate') time_t
- d p * value options(*string) const char *
- d unused 10i 0 const options(*omit) time_t
- *
- d curl_share_init...
- d pr * extproc('curl_share_init') CURLSH * (= void *)
- *
- * Variable argument type procedure.
- * Multiply prototyped to support all possible types.
- *
- d curl_share_setopt_int...
- d pr extproc('curl_share_setopt')
- d like(CURLSHcode)
- d share * value CURLSH * (= void *)
- d option value like(CURLSHoption)
- d intarg 10i 0 value options(*nopass)
- *
- d curl_share_setopt_ptr...
- d pr extproc('curl_share_setopt')
- d like(CURLSHcode)
- d share * value CURLSH * (= void *)
- d option value like(CURLSHoption)
- d ptrarg * value options(*nopass)
- *
- d curl_share_setopt_proc...
- d pr extproc('curl_share_setopt')
- d like(CURLSHcode)
- d share * value CURLSH * (= void *)
- d option value like(CURLSHoption)
- d procarg * value procptr options(*nopass)
- *
- d curl_share_cleanup...
- d pr extproc('curl_share_cleanup')
- d like(CURLSHcode)
- d share * value CURLSH * (= void *)
- *
- d curl_version_info...
- d pr * extproc('curl_version_info') c_i_version_data *
- d version value like(CURLversion)
- *
- d curl_easy_strerror...
- d pr * extproc('curl_easy_strerror') const char *
- d code value like(CURLcode)
- *
- d curl_share_strerror...
- d pr * extproc('curl_share_strerror') const char *
- d code value like(CURLSHcode)
- *
- d curl_easy_init pr * extproc('curl_easy_init') CURL *
- *
- * Multiple prototypes for vararg procedure curl_easy_setopt.
- *
- d curl_easy_setopt_long...
- d pr extproc('curl_easy_setopt')
- d like(CURLcode)
- d curl * value CURL *
- d option value like(CURLoption)
- d longarg 10i 0 value options(*nopass)
- *
- d curl_easy_setopt_object...
- d pr extproc('curl_easy_setopt')
- d like(CURLcode)
- d curl * value CURL *
- d option value like(CURLoption)
- d objectarg * value options(*string: *nopass)
- *
- d curl_easy_setopt_function...
- d pr extproc('curl_easy_setopt')
- d like(CURLcode)
- d curl * value CURL *
- d option value like(CURLoption)
- d functionarg * value procptr options(*nopass)
- *
- d curl_easy_setopt_offset...
- d pr extproc('curl_easy_setopt')
- d like(CURLcode)
- d curl * value CURL *
- d option value like(CURLoption)
- d offsetarg value like(curl_off_t)
- d options(*nopass)
- *
- *
- d curl_easy_perform...
- d pr extproc('curl_easy_perform')
- d like(CURLcode)
- d curl * value CURL *
- *
- d curl_easy_cleanup...
- d pr extproc('curl_easy_cleanup')
- d curl * value CURL *
- *
- * Multiple prototypes for vararg procedure curl_easy_getinfo.
- *
- d curl_easy_getinfo_string...
- d pr extproc('curl_easy_getinfo')
- d like(CURLcode)
- d curl * value CURL *
- d info value like(CURLINFO)
- d stringarg * options(*nopass) char *
- *
- d curl_easy_getinfo_long...
- d pr extproc('curl_easy_getinfo')
- d like(CURLcode)
- d curl * value CURL *
- d info value like(CURLINFO)
- d longarg 10i 0 options(*nopass)
- *
- d curl_easy_getinfo_double...
- d pr extproc('curl_easy_getinfo')
- d like(CURLcode)
- d curl * value CURL *
- d info value like(CURLINFO)
- d doublearg 8f options(*nopass)
- *
- d curl_easy_getinfo_slist...
- d pr extproc('curl_easy_getinfo')
- d like(CURLcode)
- d curl * value CURL *
- d info value like(CURLINFO)
- d slistarg * options(*nopass) struct curl_slist *
- *
- *
- d curl_easy_duphandle...
- d pr * extproc('curl_easy_duphandle') CURL *
- d curl * value CURL *
- *
- d curl_easy_reset...
- d pr extproc('curl_easy_reset')
- d curl * value CURL *
- *
- d curl_easy_recv...
- d pr extproc('curl_easy_recv')
- d like(CURLcode)
- d curl * value CURL *
- d buffer * value void *
- d buflen 10u 0 value size_t
- d n 10u 0 size_t *
- *
- d curl_easy_send...
- d pr extproc('curl_easy_send')
- d like(CURLcode)
- d curl * value CURL *
- d buffer * value const void *
- d buflen 10u 0 value size_t
- d n 10u 0 size_t *
- *
- d curl_easy_pause...
- d pr extproc('curl_easy_pause')
- d curl * value CURL *
- d bitmask 10i 0 value
- *
- d curl_multi_init...
- d pr * extproc('curl_multi_init') CURLM *
- *
- d curl_multi_add_handle...
- d pr extproc('curl_multi_add_handle')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d curl_handle * value CURL *
- *
- d curl_multi_remove_handle...
- d pr extproc('curl_multi_remove_handle')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d curl_handle * value CURL *
- *
- d curl_multi_fdset...
- d pr extproc('curl_multi_fdset')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d read_fd_set 65535 options(*varsize) fd_set
- d write_fd_set 65535 options(*varsize) fd_set
- d exc_fd_set 65535 options(*varsize) fd_set
- d max_fd 10i 0
- *
- d curl_multi_perform...
- d pr extproc('curl_multi_perform')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d running_handles...
- d 10i 0
- *
- d curl_multi_cleanup...
- d pr extproc('curl_multi_cleanup')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- *
- d curl_multi_info_read...
- d pr * extproc('curl_multi_info_read') CURL_Msg *
- d multi_handle * value CURLM *
- d msgs_in_queue 10i 0
- *
- d curl_multi_strerror...
- d pr * extproc('curl_multi_strerror') char *
- d code value like(CURLMcode)
- *
- d curl_multi_socket...
- d pr extproc('curl_multi_socket')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d s value like(curl_socket_t)
- d running_handles...
- d 10i 0
- *
- d curl_multi_socket_action...
- d pr extproc('curl_multi_socket_action')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d s value like(curl_socket_t)
- d ev_bitmask 10i 0 value
- d running_handles...
- d 10i 0
- *
- d curl_multi_socket_all...
- d pr extproc('curl_multi_socket_all')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d running_handles...
- d 10i 0
- *
- d curl_multi_timeout...
- d pr extproc('curl_multi_timeout')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d milliseconds 10i 0
- *
- * Multiple prototypes for vararg procedure curl_multi_setopt.
- *
- d curl_multi_setopt_long...
- d pr extproc('curl_multi_setopt')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d option value like(CURLMoption)
- d longarg 10i 0 value options(*nopass)
- *
- d curl_multi_setopt_object...
- d pr extproc('curl_multi_setopt')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d option value like(CURLMoption)
- d objectarg * value options(*string: *nopass)
- *
- d curl_multi_setopt_function...
- d pr extproc('curl_multi_setopt')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d option value like(CURLMoption)
- d functionarg * value procptr options(*nopass)
- *
- d curl_multi_setopt_offset...
- d pr extproc('curl_multi_setopt')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d option value like(CURLMoption)
- d offsetarg value like(curl_off_t)
- d options(*nopass)
- *
- *
- d curl_multi_assign...
- d pr extproc('curl_multi_assign')
- d like(CURLMcode)
- d multi_handle * value CURLM *
- d sockfd value like(curl_socket_t)
- d sockp * value void *
- *
- **************************************************************************
- * CCSID wrapper procedure prototypes
- **************************************************************************
- *
- d curl_version_ccsid...
- d pr * extproc('curl_version_ccsid')
- d ccsid 10u 0 value
- *
- d curl_easy_escape_ccsid...
- d pr * extproc('curl_easy_escape_ccsid') char *
- d handle * value CURL *
- d string * value options(*string)
- d length 10i 0 value
- d ccsid 10u 0 value
- *
- d curl_easy_unescape_ccsid...
- d pr * extproc('curl_easy_unescape_ccsid') char *
- d handle * value CURL *
- d string * value options(*string)
- d length 10i 0 value
- d outlength 10i 0 options(*omit)
- d ccsid 10u 0 value
- *
- d curl_slist_append_ccsid...
- d pr * extproc('curl_slist_append_ccsid') struct curl_slist *
- d list * value struct curl_slist *
- d data * value options(*string) const char *
- d ccsid 10u 0 value
- *
- d curl_getdate_ccsid...
- d pr 10i 0 extproc('curl_getdate_ccsid') time_t
- d p * value options(*string) const char *
- d unused 10i 0 const options(*omit) time_t
- d ccsid 10u 0 value
- *
- d curl_version_info_ccsid...
- d pr * extproc('curl_version_info_ccsid') c_i_version_data *
- d version value like(CURLversion)
- d ccsid 10u 0 value
- *
- d curl_easy_strerror_ccsid...
- d pr * extproc('curl_easy_strerror_ccsid') const char *
- d code value like(CURLcode)
- d ccsid 10u 0 value
- *
- d curl_share_strerror_ccsid...
- d pr * extproc('curl_share_strerror_ccsid') const char *
- d code value like(CURLSHcode)
- d ccsid 10u 0 value
- *
- d curl_multi_strerror_ccsid...
- d pr * extproc('curl_multi_strerror_ccsid') char *
- d code value like(CURLMcode)
- d ccsid 10u 0 value
- *
- d curl_easy_getinfo_ccsid...
- d pr extproc('curl_easy_getinfo_ccsid')
- d like(CURLcode)
- d curl * value CURL *
- d info value like(CURLINFO)
- d stringarg * options(*nopass) char *
- d ccsid 10u 0 value options(*nopass)
- *
- d curl_formadd_ccsid...
- d pr extproc('curl_formadd_ccsid')
- d like(CURLFORMcode)
- d httppost * curl_httppost *
- d lastpost * curl_httppost *
- d option1 value like(CURLFORMoption) CURLFORM_ARRAY
- d options(*nopass)
- d object1 * value options(*string: *nopass)
- d option2 value like(CURLFORMoption) CURLFORM_END
- d options(*nopass)
- *
- d curl_formget_ccsid...
- d pr 10i 0 extproc('curl_formget_ccsid')
- d form * value curl_httppost *
- d arg * value
- d append value like(curl_formget_callback)
- d ccsid 10u 0 value
- *
- d curl_form_long_value...
- d pr * extproc('curl_form_long_value')
- d value 10i 0 value curl_httppost *
- *
- d curl_easy_setopt_ccsid...
- d pr extproc('curl_easy_setopt_ccsid')
- d like(CURLcode)
- d curl * value CURL *
- d option value like(CURLoption)
- d objectarg * value options(*string: *nopass)
- d ccsid 10u 0 value options(*nopass)
- *
- /endif
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/initscript.sh b/Utilities/cmcurl-7.19.0/packages/OS400/initscript.sh
deleted file mode 100755
index 308c6d7..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/initscript.sh
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/bin/sh
-
-# $Id$
-
-case "${SCRIPTDIR}" in
-/*) ;;
-*) SCRIPTDIR="`pwd`/${SCRIPTDIR}"
-esac
-
-while true
-do case "${SCRIPTDIR}" in
- */.) SCRIPTDIR="${SCRIPTDIR%/.}";;
- *) break;;
- esac
-done
-
-# The script directory is supposed to be in $TOPDIR/packages/os400.
-
-TOPDIR=`dirname "${SCRIPTDIR}"`
-TOPDIR=`dirname "${TOPDIR}"`
-export SCRIPTDIR TOPDIR
-
-# Extract the SONAME from the library makefile.
-
-SONAME=`sed -e '/^VERSIONINFO=/!d' -e 's/^.* \([0-9]*\):.*$/\1/' -e 'q' \
- < "${TOPDIR}/lib/Makefile.am"`
-export SONAME
-
-
-################################################################################
-#
-# Tunable configuration parameters.
-#
-################################################################################
-
-TARGETLIB='CURL' # Target OS/400 program library
-STATBNDDIR='CURL_A' # Static binding directory.
-DYNBNDDIR='CURL' # Dynamic binding directory.
-SRVPGM="CURL.${SONAME}" # Service program.
-TGTCCSID='500' # Target CCSID of objects
-DEBUG='*ALL' # Debug level
-OPTIMIZE='10' # Optimisation level
-OUTPUT='*NONE' # Compilation output option.
-TGTRLS='V5R2M0' # Target OS release
-
-export TARGETLIB STATBNDDIR DYNBNDDIR SRVPGM TGTCCSID DEBUG OPTIMIZE OUTPUT
-export TGTRLS
-
-
-################################################################################
-
-# Need to get the version definitions.
-
-LIBCURL_VERSION=`grep '^#define *LIBCURL_VERSION ' \
- "${TOPDIR}/include/curl/curlver.h" |
- sed 's/.*"\(.*\)".*/\1/'`
-LIBCURL_VERSION_MAJOR=`grep '^#define *LIBCURL_VERSION_MAJOR ' \
- "${TOPDIR}/include/curl/curlver.h" |
- sed 's/^#define *LIBCURL_VERSION_MAJOR *\([^ ]*\).*/\1/'`
-LIBCURL_VERSION_MINOR=`grep '^#define *LIBCURL_VERSION_MINOR ' \
- "${TOPDIR}/include/curl/curlver.h" |
- sed 's/^#define *LIBCURL_VERSION_MINOR *\([^ ]*\).*/\1/'`
-LIBCURL_VERSION_PATCH=`grep '^#define *LIBCURL_VERSION_PATCH ' \
- "${TOPDIR}/include/curl/curlver.h" |
- sed 's/^#define *LIBCURL_VERSION_PATCH *\([^ ]*\).*/\1/'`
-LIBCURL_VERSION_NUM=`grep '^#define *LIBCURL_VERSION_NUM ' \
- "${TOPDIR}/include/curl/curlver.h" |
- sed 's/^#define *LIBCURL_VERSION_NUM *0x\([^ ]*\).*/\1/'`
-LIBCURL_TIMESTAMP=`grep '^#define *LIBCURL_TIMESTAMP ' \
- "${TOPDIR}/include/curl/curlver.h" |
- sed 's/.*"\(.*\)".*/\1/'`
-export LIBCURL_VERSION
-export LIBCURL_VERSION_MAJOR LIBCURL_VERSION_MINOR LIBCURL_VERSION_PATCH
-export LIBCURL_VERSION_NUM LIBCURL_TIMESTAMP
-
-################################################################################
-#
-# OS/400 specific definitions.
-#
-################################################################################
-
-LIBIFSNAME="/QSYS.LIB/${TARGETLIB}.LIB"
-
-
-################################################################################
-#
-# Procedures.
-#
-################################################################################
-
-# action_needed dest [src]
-#
-# dest is an object to build
-# if specified, src is an object on which dest depends.
-#
-# exit 0 (succeeds) if some action has to be taken, else 1.
-
-action_needed()
-
-{
- [ ! -e "${1}" ] && return 0
- [ "${2}" ] || return 1
- [ "${1}" -ot "${2}" ] && return 0
- return 1
-}
-
-
-# make_module module_name source_name [additional_definitions]
-#
-# Compile source name into ASCII module if needed.
-# As side effect, append the module name to variable MODULES.
-# Set LINK to "YES" if the module has been compiled.
-
-make_module()
-
-{
- MODULES="${MODULES} ${1}"
- MODIFSNAME="${LIBIFSNAME}/${1}.MODULE"
- action_needed "${MODIFSNAME}" "${2}" || return 0;
-
- # #pragma convert has to be in the source file itself, i.e.
- # putting it in an include file makes it only active
- # for that include file.
- # Thus we build a temporary file with the pragma prepended to
- # the source file and we compile that themporary file.
-
- echo "#line 1 \"${2}\"" > __tmpsrcf.c
- echo "#pragma convert(819)" >> __tmpsrcf.c
- echo "#line 1" >> __tmpsrcf.c
- cat "${2}" >> __tmpsrcf.c
- CMD="CRTCMOD MODULE(${TARGETLIB}/${1}) SRCSTMF('__tmpsrcf.c')"
-# CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST *SHOWINC *SHOWSYS)"
- CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST)"
- CMD="${CMD} LOCALETYPE(*LOCALE)"
- CMD="${CMD} INCDIR('/qibm/proddata/qadrt/include'"
- CMD="${CMD} '${TOPDIR}/include/curl' '${TOPDIR}/include'"
- CMD="${CMD} '${TOPDIR}/packages/OS400' ${INCLUDES})"
- CMD="${CMD} TGTCCSID(${TGTCCSID}) TGTRLS(${TGTRLS})"
- CMD="${CMD} OUTPUT(${OUTPUT})"
- CMD="${CMD} OPTIMIZE(${OPTIMIZE})"
- CMD="${CMD} DBGVIEW(${DEBUG})"
-
- if [ "${3}" ]
- then CMD="${CMD} DEFINE(${3})"
- fi
-
- system "${CMD}"
- rm -f __tmpsrcf.c
- LINK=YES
-}
-
-
-# Determine DB2 object name from IFS name.
-
-db2_name()
-
-{
- basename "${1}" |
- tr '[a-z-]' '[A-Z_]' |
- sed -e 's/\..*//' \
- -e 's/^\(..........\).*/\1/'
-}
-
-
-# Copy IFS file replacing version info.
-
-versioned_copy()
-
-{
- sed -e "s/@LIBCURL_VERSION@/${LIBCURL_VERSION}/g" \
- -e "s/@LIBCURL_VERSION_MAJOR@/${LIBCURL_VERSION_MAJOR}/g" \
- -e "s/@LIBCURL_VERSION_MINOR@/${LIBCURL_VERSION_MINOR}/g" \
- -e "s/@LIBCURL_VERSION_PATCH@/${LIBCURL_VERSION_PATCH}/g" \
- -e "s/@LIBCURL_VERSION_NUM@/${LIBCURL_VERSION_NUM}/g" \
- -e "s/@LIBCURL_TIMESTAMP@/${LIBCURL_TIMESTAMP}/g" \
- < "${1}" > "${2}"
-}
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/make-include.sh b/Utilities/cmcurl-7.19.0/packages/OS400/make-include.sh
deleted file mode 100755
index ecbc7e1..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/make-include.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-#
-# Installation of the include files in the OS/400 library.
-#
-# $Id$
-
-SCRIPTDIR=`dirname "${0}"`
-. "${SCRIPTDIR}/initscript.sh"
-cd "${TOPDIR}/include"
-
-
-# Produce the curlbuild.h include file.
-
-if action_needed curl/curlbuild.h curl/curlbuild.h.dist
-then cp -p curl/curlbuild.h.dist curl/curlbuild.h
-fi
-
-
-# Create the OS/400 source program file for the include files.
-
-SRCPF="${LIBIFSNAME}/H.FILE"
-
-if action_needed "${SRCPF}"
-then CMD="CRTSRCPF FILE(${TARGETLIB}/H) RCDLEN(112)"
- CMD="${CMD} CCSID(${TGTCCSID}) TEXT('curl: Header files')"
- system "${CMD}"
-fi
-
-
-# Enumeration values are used as va_arg tagfields, so they MUST be
-# integers.
-
-copy_hfile()
-
-{
- sed -e '1i\
-#pragma enum(int)\
-' -e '$a\
-#pragma enum(pop)\
-' < "${2}" > "${1}"
-}
-
-# Copy the header files.
-
-for HFILE in curl/*.h ${SCRIPTDIR}/ccsidcurl.h
-do DEST="${SRCPF}/`db2_name \"${HFILE}\"`.MBR"
- if action_needed "${DEST}" "${HFILE}"
- then copy_hfile "${DEST}" "${HFILE}"
- fi
-done
-
-
-# Copy the ILE/RPG include file, setting-up version number.
-
- versioned_copy "${SCRIPTDIR}/curl.inc.in" "${SRCPF}/CURL.INC.MBR"
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/make-lib.sh b/Utilities/cmcurl-7.19.0/packages/OS400/make-lib.sh
deleted file mode 100755
index b066c28..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/make-lib.sh
+++ /dev/null
@@ -1,193 +0,0 @@
-#!/bin/sh
-#
-# libcurl compilation script for the OS/400.
-#
-# $Id$
-
-SCRIPTDIR=`dirname "${0}"`
-. "${SCRIPTDIR}/initscript.sh"
-cd "${TOPDIR}/lib"
-
-
-# Create and compile the identification source file.
-
-echo '#pragma comment(user, "libcurl version '"${LIBCURL_VERSION}"'")' > os400.c
-echo '#pragma comment(date)' >> os400.c
-echo '#pragma comment(copyright, "Copyright (C) 1998-2008 Daniel Stenberg et al. OS/400 version by P. Monnerat")' >> os400.c
-make_module OS400 os400.c
-LINK= # No need to rebuild service program yet.
-MODULES=
-
-
-# Get source list.
-
-CSOURCES()
-
-{
- shift # Drop the equal sign.
- CSOURCES="$*" # Get the file names.
-}
-
-HHEADERS()
-
-{
- shift # Drop the equal sign.
- HHEADERS="$*" # Get the file names.
-}
-
-. Makefile.inc
-
-
-# Compile the sources into modules.
-
-INCLUDES="'`pwd`'"
-
-make_module OS400SYS "${SCRIPTDIR}/os400sys.c"
-make_module CCSIDCURL "${SCRIPTDIR}/ccsidcurl.c"
-
-for SRC in ${CSOURCES}
-do MODULE=`basename "${SRC}" .c |
- tr '[a-z]' '[A-Z]' |
- sed -e 's/^\(..........\).*/\1/'`
- make_module "${MODULE}" "${SRC}"
-done
-
-
-# If needed, (re)create the static binding directory.
-
-if action_needed "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
-then LINK=YES
-fi
-
-if [ "${LINK}" ]
-then rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
- CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})"
- CMD="${CMD} TEXT('LibCurl API static binding directory')"
- system "${CMD}"
-
- for MODULE in ${MODULES}
- do CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${STATBNDDIR})"
- CMD="${CMD} OBJ((${TARGETLIB}/${MODULE} *MODULE))"
- system "${CMD}"
- done
-fi
-
-
-# The exportation file for service program creation must be in a DB2
-# source file, so make sure it exists.
-
-if action_needed "${LIBIFSNAME}/TOOLS.FILE"
-then CMD="CRTSRCPF FILE(${TARGETLIB}/TOOLS) RCDLEN(112)"
- CMD="${CMD} TEXT('curl: build tools')"
- system "${CMD}"
-fi
-
-
-# Gather the list of symbols to export.
-
-EXPORTS=`grep '^CURL_EXTERN[ ]' \
- "${TOPDIR}"/include/curl/*.h \
- "${SCRIPTDIR}/ccsidcurl.h" |
- sed -e 's/^.*CURL_EXTERN[ ]\(.*\)(.*$/\1/' \
- -e 's/[ ]*$//' \
- -e 's/^.*[ ][ ]*//' \
- -e 's/^\*//' \
- -e 's/(\(.*\))/\1/'`
-
-# Create the service program exportation file in DB2 member if needed.
-
-BSF="${LIBIFSNAME}/TOOLS.FILE/BNDSRC.MBR"
-
-if action_needed "${BSF}" Makefile.am
-then LINK=YES
-fi
-
-if [ "${LINK}" ]
-then echo " STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('LIBCURL_${SONAME}')" \
- > "${BSF}"
- for EXPORT in ${EXPORTS}
- do echo ' EXPORT SYMBOL("'"${EXPORT}"'")' >> "${BSF}"
- done
-
- echo ' ENDPGMEXP' >> "${BSF}"
-fi
-
-
-# Build the service program if needed.
-
-if action_needed "${LIBIFSNAME}/${SRVPGM}.SRVPGM"
-then LINK=YES
-fi
-
-if [ "${LINK}" ]
-then CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})"
- CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(BNDSRC)"
- CMD="${CMD} MODULE(${TARGETLIB}/OS400)"
- CMD="${CMD} BNDDIR(${TARGETLIB}/${STATBNDDIR})"
- CMD="${CMD} BNDSRVPGM(QADRTTS QGLDCLNT QGLDBRDR)"
- CMD="${CMD} TEXT('curl API library')"
- CMD="${CMD} TGTRLS(${TGTRLS})"
- system "${CMD}"
- LINK=YES
-fi
-
-
-# If needed, (re)create the dynamic binding directory.
-
-if action_needed "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
-then LINK=YES
-fi
-
-if [ "${LINK}" ]
-then rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
- CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
- CMD="${CMD} TEXT('LibCurl API dynamic binding directory')"
- system "${CMD}"
- CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
- CMD="${CMD} OBJ((*LIBL/${SRVPGM} *SRVPGM))"
- system "${CMD}"
-fi
-
-
-# Rebuild the formdata test if needed.
-
-if [ "${TEST_FORMDATA}" ]
-then MODULES=
- make_module TFORMDATA formdata.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TSTREQUAL strequal.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TMEMDEBUG memdebug.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TMPRINTF mprintf.c "'_FORM_DEBUG' 'CURLDEBUG'"
- make_module TSTRERROR strerror.c "'_FORM_DEBUG' 'CURLDEBUG'"
- # The following modules should not be needed (see comment in
- # formdata.c. However, there are some unsatisfied
- # external references leading in the following
- # modules to be (recursively) needed.
- MODULES="${MODULES} EASY STRDUP SSLGEN QSSL HOSTIP HOSTIP4 HOSTIP6"
- MODULES="${MODULES} URL HASH TRANSFER GETINFO COOKIE SENDF SELECT"
- MODULES="${MODULES} INET_NTOP SHARE HOSTTHRE MULTI LLIST FTP HTTP"
- MODULES="${MODULES} HTTP_DIGES HTTP_CHUNK HTTP_NEGOT TIMEVAL HOSTSYN"
- MODULES="${MODULES} CONNECT SOCKS PROGRESS ESCAPE INET_PTON GETENV"
- MODULES="${MODULES} DICT LDAP TELNET FILE TFTP NETRC PARSEDATE"
- MODULES="${MODULES} SPEEDCHECK SPLAY BASE64 SECURITY IF2IP MD5"
- MODULES="${MODULES} KRB5 OS400SYS"
-
- PGMIFSNAME="${LIBIFSNAME}/TFORMDATA.PGM"
-
- if action_needed "${PGMIFSNAME}"
- then LINK=YES
- fi
-
- if [ "${LINK}" ]
- then CMD="CRTPGM PGM(${TARGETLIB}/TFORMDATA)"
- CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
- CMD="${CMD} MODULE("
-
- for MODULE in ${MODULES}
- do CMD="${CMD} ${TARGETLIB}/${MODULE}"
- done
-
- CMD="${CMD} ) BNDSRVPGM(QADRTTS)"
- CMD="${CMD} TGTRLS(${TGTRLS})"
- system "${CMD}"
- fi
-fi
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/make-src.sh b/Utilities/cmcurl-7.19.0/packages/OS400/make-src.sh
deleted file mode 100755
index ba71153..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/make-src.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-#
-# $Id$
-#
-# Not implemented yet on OS/400.
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/make-tests.sh b/Utilities/cmcurl-7.19.0/packages/OS400/make-tests.sh
deleted file mode 100755
index 6ef6af9..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/make-tests.sh
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/bin/sh
-#
-# tests compilation script for the OS/400.
-#
-# $Id$
-
-
-SCRIPTDIR=`dirname "${0}"`
-. "${SCRIPTDIR}/initscript.sh"
-cd "${TOPDIR}/tests"
-
-
-# tests directory not implemented yet.
-
-
-# Process the libtest subdirectory.
-
-cd libtest
-
-# Get definitions from the Makefile.am file.
-# The `sed' statement works as follows:
-# _ Join \nl-separated lines.
-# _ Retain only lines that begins with "identifier =".
-# _ Turn these lines into shell variable assignments.
-
-eval "`sed -e ': begin' \
- -e '/\\\\$/{' \
- -e 'N' \
- -e 's/\\\\\\n/ /' \
- -e 'b begin' \
- -e '}' \
- -e '/^[A-Za-z_][A-Za-z0-9_]*[ ]*[=]/b keep' \
- -e 'd' \
- -e ': keep' \
- -e 's/[ ]*=[ ]*/=/' \
- -e 's/=\\(.*[^ ]\\)[ ]*$/=\\"\\1\\"/' \
- -e 's/\\$(\\([^)]*\\))/${\\1}/g' \
- < Makefile.am`"
-
-# Compile all programs.
-# The list is found in variable "noinst_PROGRAMS"
-
-INCLUDES="'${TOPDIR}/tests/libtest' '${TOPDIR}/lib'"
-
-for PGM in ${noinst_PROGRAMS}
-do DB2PGM=`db2_name "${PGM}"`
- PGMIFSNAME="${LIBIFSNAME}/${DB2PGM}.PGM"
-
- # Extract preprocessor symbol definitions from compilation
- # options for the program.
-
- PGMCFLAGS="`eval echo \"\\${${PGM}_CFLAGS}\"`"
- PGMDEFINES=
-
- for FLAG in ${PGMCFLAGS}
- do case "${FLAG}" in
- -D?*) DEFINE="`echo \"${FLAG}\" | sed 's/^..//'`"
- PGMDEFINES="${PGMDEFINES} '${DEFINE}'"
- ;;
- esac
- done
-
- # Compile all C sources for the program into modules.
-
- PGMSOURCES="`eval echo \"\\${${PGM}_SOURCES}\"`"
- LINK=
- MODULES=
-
- for SOURCE in ${PGMSOURCES}
- do case "${SOURCE}" in
- *.c) # Special processing for libxxx.c files: their
- # module name is determined by the target
- # PROGRAM name.
-
- case "${SOURCE}" in
- lib*.c) MODULE="${DB2PGM}"
- ;;
- *) MODULE=`db2_name "${SOURCE}"`
- ;;
- esac
-
- make_module "${MODULE}" "${SOURCE}" "${PGMDEFINES}"
- if action_needed "${PGMIFSNAME}" "${MODIFSNAME}"
- then LINK=yes
- fi
- ;;
- esac
- done
-
- # Link program if needed.
-
- if [ "${LINK}" ]
- then MODULES="`echo \"${MODULES}\" |
- sed \"s/[^ ][^ ]*/${TARGETLIB}\/&/g\"`"
- CMD="CRTPGM PGM(${TARGETLIB}/${DB2PGM})"
- CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
- CMD="${CMD} MODULE(${MODULES})"
- CMD="${CMD} BNDSRVPGM(${TARGETLIB}/${SRVPGM} QADRTTS)"
- CMD="${CMD} TGTRLS(${TGTRLS})"
- system "${CMD}"
- fi
-done
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/makefile.sh b/Utilities/cmcurl-7.19.0/packages/OS400/makefile.sh
deleted file mode 100755
index 6f435d4..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/makefile.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-#
-# curl compilation script for the OS/400.
-#
-# $Id$
-#
-# This is a shell script since make is not a standard component of OS/400.
-
-SCRIPTDIR=`dirname "${0}"`
-. "${SCRIPTDIR}/initscript.sh"
-cd "${TOPDIR}"
-
-
-# Create the OS/400 library if it does not exist.
-
-if action_needed "${LIBIFSNAME}"
-then CMD="CRTLIB LIB(${TARGETLIB}) TEXT('curl: multiprotocol support API')"
- system "${CMD}"
-fi
-
-
-# Create the DOCS source file if it does not exist.
-
-if action_needed "${LIBIFSNAME}/DOCS.FILE"
-then CMD="CRTSRCPF FILE(${TARGETLIB}/DOCS) RCDLEN(112)"
- CMD="${CMD} CCSID(${TGTCCSID}) TEXT('Documentation texts')"
- system "${CMD}"
-fi
-
-
-# Copy some documentation files if needed.
-
-for TEXT in "${TOPDIR}/COPYING" "${SCRIPTDIR}/README.OS400" \
- "${TOPDIR}/CHANGES" "${TOPDIR}/docs/THANKS" "${TOPDIR}/docs/FAQ" \
- "${TOPDIR}/docs/FEATURES" "${TOPDIR}/docs/SSLCERTS" \
- "${TOPDIR}/docs/RESOURCES" "${TOPDIR}/docs/VERSIONS" \
- "${TOPDIR}/docs/HISTORY"
-do MEMBER="`basename \"${TEXT}\" .OS400`"
- MEMBER="${LIBIFSNAME}/DOCS.FILE/`db2_name \"${MEMBER}\"`.MBR"
-
- if action_needed "${MEMBER}" "${TEXT}"
- then CMD="CPY OBJ('${TEXT}') TOOBJ('${MEMBER}') TOCCSID(${TGTCCSID})"
- CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
- system "${CMD}"
- fi
-done
-
-
-# Build in each directory.
-
-for SUBDIR in include lib src tests
-do "${SCRIPTDIR}/make-${SUBDIR}.sh"
-done
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/os400sys.c b/Utilities/cmcurl-7.19.0/packages/OS400/os400sys.c
deleted file mode 100644
index 608aab6..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/os400sys.c
+++ /dev/null
@@ -1,1111 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- *
- ***************************************************************************/
-
-/* OS/400 additional support. */
-
-#include "config-os400.h" /* Not setup.h: we only need some defines. */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-
-#include <stdlib.h>
-#include <stddef.h>
-#include <string.h>
-#include <pthread.h>
-#include <netdb.h>
-#include <qadrt.h>
-#include <errno.h>
-
-#ifdef USE_QSOSSL
-#include <qsossl.h>
-#endif
-
-#ifdef HAVE_GSSAPI
-#include <gssapi.h>
-#endif
-
-#ifndef CURL_DISABLE_LDAP
-#include <ldap.h>
-#endif
-
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "os400sys.h"
-
-
-/**
-*** QADRT OS/400 ASCII runtime defines only the most used procedures, but
-*** but a lot of them are not supported. This module implements
-*** ASCII wrappers for those that are used by libcurl, but not
-*** defined by QADRT.
-**/
-
-#pragma convert(0) /* Restore EBCDIC. */
-
-
-#define MIN_BYTE_GAIN 1024 /* Minimum gain when shortening a buffer. */
-
-typedef struct {
- unsigned long size; /* Buffer size. */
- char * buf; /* Buffer address. */
-} buffer_t;
-
-
-static char * buffer_undef(localkey_t key, long size);
-static char * buffer_threaded(localkey_t key, long size);
-static char * buffer_unthreaded(localkey_t key, long size);
-
-static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_key_t thdkey;
-static buffer_t * locbufs;
-
-char * (* Curl_thread_buffer)(localkey_t key, long size) = buffer_undef;
-
-
-static void
-thdbufdestroy(void * private)
-
-{
- localkey_t i;
- buffer_t * p;
-
- if (private) {
- p = (buffer_t *) private;
-
- for (i = (localkey_t) 0; i < LK_LAST; i++) {
- if (p->buf)
- free(p->buf);
-
- p++;
- }
-
- free(private);
- }
-}
-
-
-static void
-terminate(void)
-
-{
- if (Curl_thread_buffer == buffer_threaded) {
- locbufs = pthread_getspecific(thdkey);
- pthread_setspecific(thdkey, (void *) NULL);
- pthread_key_delete(thdkey);
- }
-
- if (Curl_thread_buffer != buffer_undef) {
- thdbufdestroy((void *) locbufs);
- locbufs = (buffer_t *) NULL;
- }
-
- Curl_thread_buffer = buffer_undef;
-}
-
-
-static char *
-get_buffer(buffer_t * buf, long size)
-
-{
- char * cp;
-
- /* If `size' >= 0, make sure buffer at `buf' is at least `size'-byte long.
- Return the buffer address. */
-
- if (size < 0)
- return buf->buf;
-
- if (!buf->buf) {
- if ((buf->buf = malloc(size)))
- buf->size = size;
-
- return buf->buf;
- }
-
- if ((unsigned long) size <= buf->size) {
- /* Shorten the buffer only if it frees a significant byte count. This
- avoids some realloc() overhead. */
-
- if (buf->size - size < MIN_BYTE_GAIN)
- return buf->buf;
- }
-
- /* Resize the buffer. */
-
- if ((cp = realloc(buf->buf, size))) {
- buf->buf = cp;
- buf->size = size;
- }
- else if (size <= buf->size)
- cp = buf->buf;
-
- return cp;
-}
-
-
-static char *
-buffer_unthreaded(localkey_t key, long size)
-
-{
- return get_buffer(locbufs + key, size);
-}
-
-
-static char *
-buffer_threaded(localkey_t key, long size)
-
-{
- buffer_t * bufs;
-
- /* Get the buffer for the given local key in the current thread, and
- make sure it is at least `size'-byte long. Set `size' to < 0 to get
- its address only. */
-
- bufs = (buffer_t *) pthread_getspecific(thdkey);
-
- if (!bufs) {
- if (size < 0)
- return (char *) NULL; /* No buffer yet. */
-
- /* Allocate buffer descriptors for the current thread. */
-
- if (!(bufs = (buffer_t *) calloc((size_t) LK_LAST, sizeof *bufs)))
- return (char *) NULL;
-
- if (pthread_setspecific(thdkey, (void *) bufs)) {
- free(bufs);
- return (char *) NULL;
- }
- }
-
- return get_buffer(bufs + key, size);
-}
-
-
-static char *
-buffer_undef(localkey_t key, long size)
-
-{
- /* Define the buffer system, get the buffer for the given local key in
- the current thread, and make sure it is at least `size'-byte long.
- Set `size' to < 0 to get its address only. */
-
- pthread_mutex_lock(&mutex);
-
- /* Determine if we can use pthread-specific data. */
-
- if (Curl_thread_buffer == buffer_undef) { /* If unchanged during lock. */
- if (!pthread_key_create(&thdkey, thdbufdestroy))
- Curl_thread_buffer = buffer_threaded;
- else if (!(locbufs = (buffer_t *) calloc((size_t) LK_LAST,
- sizeof *locbufs))) {
- pthread_mutex_unlock(&mutex);
- return (char *) NULL;
- }
- else
- Curl_thread_buffer = buffer_unthreaded;
-
- atexit(terminate);
- }
-
- pthread_mutex_unlock(&mutex);
- return Curl_thread_buffer(key, size);
-}
-
-
-int
-Curl_getnameinfo_a(const struct sockaddr * sa, socklen_t salen,
- char * nodename, socklen_t nodenamelen,
- char * servname, socklen_t servnamelen,
- int flags)
-
-{
- char * enodename;
- char * eservname;
- int status;
- int i;
-
- enodename = (char *) NULL;
- eservname = (char *) NULL;
-
- if (nodename && nodenamelen)
- if (!(enodename = malloc(nodenamelen)))
- return EAI_MEMORY;
-
- if (servname && servnamelen)
- if (!(eservname = malloc(servnamelen))) {
- if (enodename)
- free(enodename);
-
- return EAI_MEMORY;
- }
-
- status = getnameinfo(sa, salen, enodename, nodenamelen,
- eservname, servnamelen, flags);
-
- if (!status) {
- if (enodename) {
- i = QadrtConvertE2A(nodename, enodename,
- nodenamelen - 1, strlen(enodename));
- nodename[i] = '\0';
- }
-
- if (eservname) {
- i = QadrtConvertE2A(servname, eservname,
- servnamelen - 1, strlen(eservname));
- servname[i] = '\0';
- }
- }
-
- if (enodename)
- free(enodename);
-
- if (eservname)
- free(eservname);
-
- return status;
-}
-
-
-int
-Curl_getaddrinfo_a(const char * nodename, const char * servname,
- const struct addrinfo * hints,
- struct addrinfo * * res)
-
-{
- char * enodename;
- char * eservname;
- int status;
- int i;
-
- enodename = (char *) NULL;
- eservname = (char *) NULL;
-
- if (nodename) {
- i = strlen(nodename);
-
- if (!(enodename = malloc(i + 1)))
- return EAI_MEMORY;
-
- i = QadrtConvertA2E(enodename, nodename, i, i);
- enodename[i] = '\0';
- }
-
- if (servname) {
- i = strlen(servname);
-
- if (!(eservname = malloc(i + 1))) {
- if (enodename)
- free(enodename);
-
- return EAI_MEMORY;
- }
-
- QadrtConvertA2E(eservname, servname, i, i);
- eservname[i] = '\0';
- }
-
- status = getaddrinfo(enodename, eservname, hints, res);
-
- if (enodename)
- free(enodename);
-
- if (eservname)
- free(eservname);
-
- return status;
-}
-
-
-int
-Curl_inet_ntoa_r_a(struct in_addr internet_address,
- char * output_buffer, int output_buffer_length)
-
-{
- int rc;
- int i;
- char * cp;
-
- if (!output_buffer || output_buffer_length < 16)
- return inet_ntoa_r(internet_address, output_buffer, output_buffer_length);
-
- if (!(cp = malloc(output_buffer_length + 1)))
- return -1;
-
- rc = inet_ntoa_r(internet_address, cp, output_buffer_length);
-
- if (rc) {
- free(cp);
- return rc;
- }
-
- cp[output_buffer_length - 1] = '\0';
- i = strlen(cp);
- QadrtConvertE2A(output_buffer, cp, i, i);
- output_buffer[i] = '\0';
- free(cp);
- return rc;
-}
-
-
-#ifdef USE_QSOSSL
-
-/* ASCII wrappers for the SSL procedures. */
-
-int
-Curl_SSL_Init_Application_a(SSLInitApp * init_app)
-
-{
- int rc;
- unsigned int i;
- SSLInitApp ia;
-
- if (!init_app || !init_app->applicationID || !init_app->applicationIDLen)
- return SSL_Init_Application(init_app);
-
- memcpy((char *) &ia, (char *) init_app, sizeof ia);
- i = ia.applicationIDLen;
-
- if (!(ia.applicationID = malloc(i + 1))) {
- errno = ENOMEM;
- return SSL_ERROR_IO;
- }
-
- QadrtConvertA2E(ia.applicationID, init_app->applicationID, i, i);
- ia.applicationID[i] = '\0';
- rc = SSL_Init_Application(&ia);
- free(ia.applicationID);
- init_app->localCertificateLen = ia.localCertificateLen;
- init_app->sessionType = ia.sessionType;
- return rc;
-}
-
-
-int
-Curl_SSL_Init_a(SSLInit * init)
-
-{
- int rc;
- unsigned int i;
- SSLInit ia;
-
- if (!init || (!init->keyringFileName && !init->keyringPassword))
- return SSL_Init(init);
-
- memcpy((char *) &ia, (char *) init, sizeof ia);
-
- if (ia.keyringFileName) {
- i = strlen(ia.keyringFileName);
-
- if (!(ia.keyringFileName = malloc(i + 1))) {
- errno = ENOMEM;
- return SSL_ERROR_IO;
- }
-
- QadrtConvertA2E(ia.keyringFileName, init->keyringFileName, i, i);
- ia.keyringFileName[i] = '\0';
- }
-
- if (ia.keyringPassword) {
- i = strlen(ia.keyringPassword);
-
- if (!(ia.keyringPassword = malloc(i + 1))) {
- if (ia.keyringFileName)
- free(ia.keyringFileName);
-
- errno = ENOMEM;
- return SSL_ERROR_IO;
- }
-
- QadrtConvertA2E(ia.keyringPassword, init->keyringPassword, i, i);
- ia.keyringPassword[i] = '\0';
- }
-
- rc = SSL_Init(&ia);
-
- if (ia.keyringFileName)
- free(ia.keyringFileName);
-
- if (ia.keyringPassword)
- free(ia.keyringPassword);
-
- return rc;
-}
-
-
-char *
-Curl_SSL_Strerror_a(int sslreturnvalue, SSLErrorMsg * serrmsgp)
-
-{
- int i;
- char * cp;
- char * cp2;
-
- cp = SSL_Strerror(sslreturnvalue, serrmsgp);
-
- if (!cp)
- return cp;
-
- i = strlen(cp);
-
- if (!(cp2 = Curl_thread_buffer(LK_SSL_ERROR, MAX_CONV_EXPANSION * i + 1)))
- return cp2;
-
- i = QadrtConvertE2A(cp2, cp, MAX_CONV_EXPANSION * i, i);
- cp2[i] = '\0';
- return cp2;
-}
-
-#endif /* USE_QSOSSL */
-
-
-#ifdef HAVE_GSSAPI
-
-/* ASCII wrappers for the GSSAPI procedures. */
-
-static int
-Curl_gss_convert_in_place(OM_uint32 * minor_status, gss_buffer_t buf)
-
-{
- unsigned int i;
- char * t;
-
- /* Convert `buf' in place, from EBCDIC to ASCII.
- If error, release the buffer and return -1. Else return 0. */
-
- i = buf->length;
-
- if (i) {
- if (!(t = malloc(i))) {
- gss_release_buffer(minor_status, buf);
-
- if (minor_status)
- *minor_status = ENOMEM;
-
- return -1;
- }
-
- QadrtConvertE2A(t, buf->value, i, i);
- memcpy(buf->value, t, i);
- free(t);
- }
-
- return 0;
-}
-
-
-OM_uint32
-Curl_gss_import_name_a(OM_uint32 * minor_status, gss_buffer_t in_name,
- gss_OID in_name_type, gss_name_t * out_name)
-
-{
- int rc;
- unsigned int i;
- gss_buffer_desc in;
-
- if (!in_name || !in_name->value || !in_name->length)
- return gss_import_name(minor_status, in_name, in_name_type, out_name);
-
- memcpy((char *) &in, (char *) in_name, sizeof in);
- i = in.length;
-
- if (!(in.value = malloc(i + 1))) {
- if (minor_status)
- *minor_status = ENOMEM;
-
- return GSS_S_FAILURE;
- }
-
- QadrtConvertA2E(in.value, in_name->value, i, i);
- ((char *) in.value)[i] = '\0';
- rc = gss_import_name(minor_status, &in, in_name_type, out_name);
- free(in.value);
- return rc;
-}
-
-
-OM_uint32
-Curl_gss_display_status_a(OM_uint32 * minor_status, OM_uint32 status_value,
- int status_type, gss_OID mech_type,
- gss_msg_ctx_t * message_context, gss_buffer_t status_string)
-
-{
- int rc;
-
- rc = gss_display_status(minor_status, status_value, status_type,
- mech_type, message_context, status_string);
-
- if (rc != GSS_S_COMPLETE || !status_string ||
- !status_string->length || !status_string->value)
- return rc;
-
- /* No way to allocate a buffer here, because it will be released by
- gss_release_buffer(). The solution is to overwrite the EBCDIC buffer
- with ASCII to return it. */
-
- if (Curl_gss_convert_in_place(minor_status, status_string))
- return GSS_S_FAILURE;
-
- return rc;
-}
-
-
-OM_uint32
-Curl_gss_init_sec_context_a(OM_uint32 * minor_status, gss_cred_id_t cred_handle,
- gss_ctx_id_t * context_handle,
- gss_name_t target_name, gss_OID mech_type,
- gss_flags_t req_flags, OM_uint32 time_req,
- gss_channel_bindings_t input_chan_bindings,
- gss_buffer_t input_token,
- gss_OID * actual_mech_type,
- gss_buffer_t output_token, gss_flags_t * ret_flags,
- OM_uint32 * time_rec)
-
-{
- int rc;
- unsigned int i;
- gss_buffer_desc in;
- gss_buffer_t inp;
-
- in.value = NULL;
-
- if ((inp = input_token))
- if (inp->length && inp->value) {
- i = inp->length;
-
- if (!(in.value = malloc(i + 1))) {
- if (minor_status)
- *minor_status = ENOMEM;
-
- return GSS_S_FAILURE;
- }
-
- QadrtConvertA2E(in.value, input_token->value, i, i);
- ((char *) in.value)[i] = '\0';
- in.length = i;
- inp = &in;
- }
-
- rc = gss_init_sec_context(minor_status, cred_handle, context_handle,
- target_name, mech_type, req_flags, time_req,
- input_chan_bindings, inp, actual_mech_type,
- output_token, ret_flags, time_rec);
-
- if (in.value)
- free(in.value);
-
- if (rc != GSS_S_COMPLETE || !output_token ||
- !output_token->length || !output_token->value)
- return rc;
-
- /* No way to allocate a buffer here, because it will be released by
- gss_release_buffer(). The solution is to overwrite the EBCDIC buffer
- with ASCII to return it. */
-
- if (Curl_gss_convert_in_place(minor_status, output_token))
- return GSS_S_FAILURE;
-
- return rc;
-}
-
-
-OM_uint32
-Curl_gss_delete_sec_context_a(OM_uint32 * minor_status,
- gss_ctx_id_t * context_handle,
- gss_buffer_t output_token)
-
-{
- int rc;
-
- rc = gss_delete_sec_context(minor_status, context_handle, output_token);
-
- if (rc != GSS_S_COMPLETE || !output_token ||
- !output_token->length || !output_token->value)
- return rc;
-
- /* No way to allocate a buffer here, because it will be released by
- gss_release_buffer(). The solution is to overwrite the EBCDIC buffer
- with ASCII to return it. */
-
- if (Curl_gss_convert_in_place(minor_status, output_token))
- return GSS_S_FAILURE;
-
- return rc;
-}
-
-#endif /* HAVE_GSSAPI */
-
-
-#ifndef CURL_DISABLE_LDAP
-
-/* ASCII wrappers for the LDAP procedures. */
-
-void *
-Curl_ldap_init_a(char * host, int port)
-
-{
- unsigned int i;
- char * ehost;
- void * result;
-
- if (!host)
- return (void *) ldap_init(host, port);
-
- i = strlen(host);
-
- if (!(ehost = malloc(i + 1)))
- return (void *) NULL;
-
- QadrtConvertA2E(ehost, host, i, i);
- ehost[i] = '\0';
- result = (void *) ldap_init(ehost, port);
- free(ehost);
- return result;
-}
-
-
-int
-Curl_ldap_simple_bind_s_a(void * ld, char * dn, char * passwd)
-
-{
- int i;
- char * edn;
- char * epasswd;
-
- edn = (char *) NULL;
- epasswd = (char *) NULL;
-
- if (dn) {
- i = strlen(dn);
-
- if (!(edn = malloc(i + 1)))
- return LDAP_NO_MEMORY;
-
- QadrtConvertA2E(edn, dn, i, i);
- edn[i] = '\0';
- }
-
- if (passwd) {
- i = strlen(passwd);
-
- if (!(epasswd = malloc(i + 1))) {
- if (edn)
- free(edn);
-
- return LDAP_NO_MEMORY;
- }
-
- QadrtConvertA2E(epasswd, passwd, i, i);
- epasswd[i] = '\0';
- }
-
- i = ldap_simple_bind_s(ld, edn, epasswd);
-
- if (epasswd)
- free(epasswd);
-
- if (edn)
- free(edn);
-
- return i;
-}
-
-
-int
-Curl_ldap_search_s_a(void * ld, char * base, int scope, char * filter,
- char * * attrs, int attrsonly, LDAPMessage * * res)
-
-{
- int i;
- int j;
- char * ebase;
- char * efilter;
- char * * eattrs;
- int status;
-
- ebase = (char *) NULL;
- efilter = (char *) NULL;
- eattrs = (char * *) NULL;
- status = LDAP_SUCCESS;
-
- if (base) {
- i = strlen(base);
-
- if (!(ebase = malloc(i + 1)))
- status = LDAP_NO_MEMORY;
- else {
- QadrtConvertA2E(ebase, base, i, i);
- ebase[i] = '\0';
- }
- }
-
- if (filter && status == LDAP_SUCCESS) {
- i = strlen(filter);
-
- if (!(efilter = malloc(i + 1)))
- status = LDAP_NO_MEMORY;
- else {
- QadrtConvertA2E(efilter, filter, i, i);
- efilter[i] = '\0';
- }
- }
-
- if (attrs && status == LDAP_SUCCESS) {
- for (i = 0; attrs[i++];)
- ;
-
- if (!(eattrs = (char * *) calloc(i, sizeof *eattrs)))
- status = LDAP_NO_MEMORY;
- else {
- for (j = 0; attrs[j]; j++) {
- i = strlen(attrs[j]);
-
- if (!(eattrs[j] = malloc(i + 1))) {
- status = LDAP_NO_MEMORY;
- break;
- }
-
- QadrtConvertA2E(eattrs[j], attrs[j], i, i);
- eattrs[j][i] = '\0';
- }
- }
- }
-
- if (status == LDAP_SUCCESS)
- status = ldap_search_s(ld, ebase? ebase: "", scope,
- efilter? efilter: "(objectclass=*)",
- eattrs, attrsonly, res);
-
- if (eattrs) {
- for (j = 0; eattrs[j]; j++)
- free(eattrs[j]);
-
- free(eattrs);
- }
-
- if (efilter)
- free(efilter);
-
- if (ebase)
- free(ebase);
-
- return status;
-}
-
-
-struct berval * *
-Curl_ldap_get_values_len_a(void * ld, LDAPMessage * entry, const char * attr)
-
-{
- int i;
- char * cp;
- struct berval * * result;
-
- cp = (char *) NULL;
-
- if (attr) {
- i = strlen(attr);
-
- if (!(cp = malloc(i + 1))) {
- ldap_set_lderrno(ld, LDAP_NO_MEMORY, NULL,
- ldap_err2string(LDAP_NO_MEMORY));
- return (struct berval * *) NULL;
- }
-
- QadrtConvertA2E(cp, attr, i, i);
- cp[i] = '\0';
- }
-
- result = ldap_get_values_len(ld, entry, cp);
-
- if (cp)
- free(cp);
-
- /* Result data are binary in nature, so they haven't been converted to EBCDIC.
- Therefore do not convert. */
-
- return result;
-}
-
-
-char *
-Curl_ldap_err2string_a(int error)
-
-{
- int i;
- char * cp;
- char * cp2;
-
- cp = ldap_err2string(error);
-
- if (!cp)
- return cp;
-
- i = strlen(cp);
-
- if (!(cp2 = Curl_thread_buffer(LK_LDAP_ERROR, MAX_CONV_EXPANSION * i + 1)))
- return cp2;
-
- i = QadrtConvertE2A(cp2, cp, MAX_CONV_EXPANSION * i, i);
- cp2[i] = '\0';
- return cp2;
-}
-
-
-char *
-Curl_ldap_get_dn_a(void * ld, LDAPMessage * entry)
-
-{
- int i;
- char * cp;
- char * cp2;
-
- cp = ldap_get_dn(ld, entry);
-
- if (!cp)
- return cp;
-
- i = strlen(cp);
-
- if (!(cp2 = malloc(i + 1)))
- return cp2;
-
- QadrtConvertE2A(cp2, cp, i, i);
-
- /* No way to allocate a buffer here, because it will be released by
- ldap_memfree() and ldap_memalloc() does not exist. The solution is to
- overwrite the EBCDIC buffer with ASCII to return it. */
-
- strcpy(cp, cp2);
- free(cp2);
- return cp;
-}
-
-
-char *
-Curl_ldap_first_attribute_a(void * ld,
- LDAPMessage * entry, BerElement * * berptr)
-
-{
- int i;
- char * cp;
- char * cp2;
-
- cp = ldap_first_attribute(ld, entry, berptr);
-
- if (!cp)
- return cp;
-
- i = strlen(cp);
-
- if (!(cp2 = malloc(i + 1)))
- return cp2;
-
- QadrtConvertE2A(cp2, cp, i, i);
-
- /* No way to allocate a buffer here, because it will be released by
- ldap_memfree() and ldap_memalloc() does not exist. The solution is to
- overwrite the EBCDIC buffer with ASCII to return it. */
-
- strcpy(cp, cp2);
- free(cp2);
- return cp;
-}
-
-
-char *
-Curl_ldap_next_attribute_a(void * ld,
- LDAPMessage * entry, BerElement * berptr)
-
-{
- int i;
- char * cp;
- char * cp2;
-
- cp = ldap_next_attribute(ld, entry, berptr);
-
- if (!cp)
- return cp;
-
- i = strlen(cp);
-
- if (!(cp2 = malloc(i + 1)))
- return cp2;
-
- QadrtConvertE2A(cp2, cp, i, i);
-
- /* No way to allocate a buffer here, because it will be released by
- ldap_memfree() and ldap_memalloc() does not exist. The solution is to
- overwrite the EBCDIC buffer with ASCII to return it. */
-
- strcpy(cp, cp2);
- free(cp2);
- return cp;
-}
-
-#endif /* CURL_DISABLE_LDAP */
-
-
-static int
-convert_sockaddr(struct sockaddr_storage * dstaddr,
- const struct sockaddr * srcaddr, int srclen)
-
-{
- const struct sockaddr_un * srcu;
- struct sockaddr_un * dstu;
- unsigned int i;
- unsigned int dstsize;
-
- /* Convert a socket address into job CCSID, if needed. */
-
- if (!srcaddr || srclen < offsetof(struct sockaddr, sa_family) +
- sizeof srcaddr->sa_family || srclen > sizeof *dstaddr) {
- errno = EINVAL;
- return -1;
- }
-
- memcpy((char *) dstaddr, (char *) srcaddr, srclen);
-
- switch (srcaddr->sa_family) {
-
- case AF_UNIX:
- srcu = (const struct sockaddr_un *) srcaddr;
- dstu = (struct sockaddr_un *) dstaddr;
- dstsize = sizeof *dstaddr - offsetof(struct sockaddr_un, sun_path);
- srclen -= offsetof(struct sockaddr_un, sun_path);
- i = QadrtConvertA2E(dstu->sun_path, srcu->sun_path, dstsize - 1, srclen);
- dstu->sun_path[i] = '\0';
- i += offsetof(struct sockaddr_un, sun_path);
- srclen = i;
- }
-
- return srclen;
-}
-
-
-int
-Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen)
-
-{
- int i;
- struct sockaddr_storage laddr;
-
- i = convert_sockaddr(&laddr, destaddr, addrlen);
-
- if (i < 0)
- return -1;
-
- return connect(sd, (struct sockaddr *) &laddr, i);
-}
-
-
-int
-Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen)
-
-{
- int i;
- struct sockaddr_storage laddr;
-
- i = convert_sockaddr(&laddr, localaddr, addrlen);
-
- if (i < 0)
- return -1;
-
- return bind(sd, (struct sockaddr *) &laddr, i);
-}
-
-
-int
-Curl_os400_sendto(int sd, char * buffer, int buflen, int flags,
- struct sockaddr * dstaddr, int addrlen)
-
-{
- int i;
- struct sockaddr_storage laddr;
-
- i = convert_sockaddr(&laddr, dstaddr, addrlen);
-
- if (i < 0)
- return -1;
-
- return sendto(sd, buffer, buflen, flags, (struct sockaddr *) &laddr, i);
-}
-
-
-int
-Curl_os400_recvfrom(int sd, char * buffer, int buflen, int flags,
- struct sockaddr * fromaddr, int * addrlen)
-
-{
- int i;
- int rcvlen;
- int laddrlen;
- const struct sockaddr_un * srcu;
- struct sockaddr_un * dstu;
- struct sockaddr_storage laddr;
-
- if (!fromaddr || !addrlen || *addrlen <= 0)
- return recvfrom(sd, buffer, buflen, flags, fromaddr, addrlen);
-
- laddrlen = sizeof laddr;
- laddr.ss_family = AF_UNSPEC; /* To detect if unused. */
- rcvlen = recvfrom(sd, buffer, buflen, flags,
- (struct sockaddr *) &laddr, &laddrlen);
-
- if (rcvlen < 0)
- return rcvlen;
-
- switch (laddr.ss_family) {
-
- case AF_UNIX:
- srcu = (const struct sockaddr_un *) &laddr;
- dstu = (struct sockaddr_un *) fromaddr;
- i = *addrlen - offsetof(struct sockaddr_un, sun_path);
- laddrlen -= offsetof(struct sockaddr_un, sun_path);
- i = QadrtConvertE2A(dstu->sun_path, srcu->sun_path, i, laddrlen);
- laddrlen = i + offsetof(struct sockaddr_un, sun_path);
-
- if (laddrlen < *addrlen)
- dstu->sun_path[i] = '\0';
-
- break;
-
- case AF_UNSPEC:
- break;
-
- default:
- if (laddrlen > *addrlen)
- laddrlen = *addrlen;
-
- if (laddrlen)
- memcpy((char *) fromaddr, (char *) &laddr, laddrlen);
-
- break;
- }
-
- *addrlen = laddrlen;
- return rcvlen;
-}
diff --git a/Utilities/cmcurl-7.19.0/packages/OS400/os400sys.h b/Utilities/cmcurl-7.19.0/packages/OS400/os400sys.h
deleted file mode 100644
index fb36ac8..0000000
--- a/Utilities/cmcurl-7.19.0/packages/OS400/os400sys.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- *
- ***************************************************************************/
-
-/* OS/400 additional definitions. */
-
-#ifndef __OS400_SYS_
-#define __OS400_SYS_
-
-
-/* Per-thread item identifiers. */
-
-typedef enum {
- LK_SSL_ERROR,
- LK_LDAP_ERROR,
- LK_CURL_VERSION,
- LK_VERSION_INFO,
- LK_VERSION_INFO_DATA,
- LK_EASY_STRERROR,
- LK_SHARE_STRERROR,
- LK_MULTI_STRERROR,
- LK_LAST
-} localkey_t;
-
-
-extern char * (* Curl_thread_buffer)(localkey_t key, long size);
-
-
-/* Maximum string expansion factor due to character code conversion. */
-
-#define MAX_CONV_EXPANSION 4 /* Can deal with UTF-8. */
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/packages/README b/Utilities/cmcurl-7.19.0/packages/README
deleted file mode 100644
index cb50b40..0000000
--- a/Utilities/cmcurl-7.19.0/packages/README
+++ /dev/null
@@ -1,27 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-PACKAGES
-
- This directory and all its subdirectories are for special package
-information, template, scripts and docs. The files herein should be of use for
-those of you who want to package curl in a binary or source format using one
-of those custom formats.
-
- The hierarchy for these directories is something like this:
-
- packages/[OS]/[FORMAT]/
-
- Currently, we have Win32 and Linux for [OS]. There might be different formats
-for the same OS so for Linux we have RPM as format.
-
- We might need to add some differentiation for CPU as well, as there is
-Linux-RPMs for several CPUs. However, it might not be necessary since the
-packaging should be pretty much the same no matter what CPU that is used.
-
- For each unique OS-FORMAT pair, there's a directory to "fill"! I'd like to
-see a single README with as much details as possible, and then I'd like some
-template files for the package process.
diff --git a/Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.am b/Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.am
deleted file mode 100644
index 4750a67..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.am
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# $Id$
-#
-
-PKGADD_PKG="@PKGADD_PKG@"
-PKGADD_NAME="@PACKAGE@-@VERSION@ - @PKGADD_NAME@"
-PKGADD_VENDOR="@PKGADD_VENDOR@"
-PKGADD_ARCH="@host_cpu@"
-PKGADD_DESC="@PACKAGE@-@VERSION@ - @PKGADD_NAME@"
-PKGADD_CLASSES=none
-PKGADD_BASEDIR=/
-
-PKGADD_FILE=${PKGADD_PKG}-@PACKAGE@-@VERSION@-@host@.pkg
-
-package:
- if [ ! -f release ]; then echo 0 > release; fi
- if [ `find root -newer release -print|wc -l` -gt 0 ]; then expr `cat release` + 1 > release; fi
- echo PKG=${PKGADD_PKG} > pkginfo
- echo NAME=${PKGADD_NAME} >> pkginfo
- echo VENDOR=${PKGADD_VENDOR} >> pkginfo
- echo ARCH=${PKGADD_ARCH} >> pkginfo
- echo DESC=${PKGADD_DESC} >> pkginfo
- echo CLASSES=${PKGADD_CLASSES} >> pkginfo
- echo BASEDIR=${PKGADD_BASEDIR} >> pkginfo
- echo CATEGORY=application >> pkginfo
- echo VERSION=`cat ./release` >> pkginfo
- echo > prototype
- for subdir in opt var etc usr; \
- do if [ -d root/$$subdir ]; then \
- pkgproto root/$$subdir=$$subdir >> prototype;\
- fi; done
- for file in pkginfo preinstall postinstall copyright; \
- do if [ -f $$file ]; then \
- echo "i $$file=$$file" >> prototype; \
- fi; done
- rm -rf ./tmp
- mkdir ./tmp
- pkgmk -o -d ./tmp
- pkgtrans -so ./tmp ${top_srcdir}/../${PKGADD_FILE} ${PKGADD_PKG}
diff --git a/Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.in b/Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.in
deleted file mode 100644
index ca37e20..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Solaris/Makefile.in
+++ /dev/null
@@ -1,400 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-#
-# $Id$
-#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/Solaris
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKGADD_NAME = "@PACKAGE@-@VERSION@ - @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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-PKGADD_ARCH = "@host_cpu@"
-PKGADD_DESC = "@PACKAGE@-@VERSION@ - @PKGADD_NAME@"
-PKGADD_CLASSES = none
-PKGADD_BASEDIR = /
-PKGADD_FILE = ${PKGADD_PKG}-@PACKAGE@-@VERSION@-@host@.pkg
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Solaris/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/Solaris/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-package:
- if [ ! -f release ]; then echo 0 > release; fi
- if [ `find root -newer release -print|wc -l` -gt 0 ]; then expr `cat release` + 1 > release; fi
- echo PKG=${PKGADD_PKG} > pkginfo
- echo NAME=${PKGADD_NAME} >> pkginfo
- echo VENDOR=${PKGADD_VENDOR} >> pkginfo
- echo ARCH=${PKGADD_ARCH} >> pkginfo
- echo DESC=${PKGADD_DESC} >> pkginfo
- echo CLASSES=${PKGADD_CLASSES} >> pkginfo
- echo BASEDIR=${PKGADD_BASEDIR} >> pkginfo
- echo CATEGORY=application >> pkginfo
- echo VERSION=`cat ./release` >> pkginfo
- echo > prototype
- for subdir in opt var etc usr; \
- do if [ -d root/$$subdir ]; then \
- pkgproto root/$$subdir=$$subdir >> prototype;\
- fi; done
- for file in pkginfo preinstall postinstall copyright; \
- do if [ -f $$file ]; then \
- echo "i $$file=$$file" >> prototype; \
- fi; done
- rm -rf ./tmp
- mkdir ./tmp
- pkgmk -o -d ./tmp
- pkgtrans -so ./tmp ${top_srcdir}/../${PKGADD_FILE} ${PKGADD_PKG}
-# 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/Utilities/cmcurl-7.19.0/packages/Symbian/bwins/libcurlu.def b/Utilities/cmcurl-7.19.0/packages/Symbian/bwins/libcurlu.def
deleted file mode 100644
index 4d693a9..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/bwins/libcurlu.def
+++ /dev/null
@@ -1,60 +0,0 @@
-EXPORTS
- curl_easy_cleanup @ 1 NONAME
- curl_easy_duphandle @ 2 NONAME
- curl_easy_escape @ 3 NONAME
- curl_easy_getinfo @ 4 NONAME
- curl_easy_init @ 5 NONAME
- curl_easy_pause @ 6 NONAME
- curl_easy_perform @ 7 NONAME
- curl_easy_reset @ 8 NONAME
- curl_easy_setopt @ 9 NONAME
- curl_easy_strerror @ 10 NONAME
- curl_easy_unescape @ 11 NONAME
- curl_escape @ 12 NONAME
- curl_formadd @ 13 NONAME
- curl_formfree @ 14 NONAME
- curl_formget @ 15 NONAME
- curl_free @ 16 NONAME
- curl_getdate @ 17 NONAME
- curl_getenv @ 18 NONAME
- curl_global_cleanup @ 19 NONAME
- curl_global_init @ 20 NONAME
- curl_global_init_mem @ 21 NONAME
- curl_maprintf @ 22 NONAME
- curl_mfprintf @ 23 NONAME
- curl_mprintf @ 24 NONAME
- curl_msnprintf @ 25 NONAME
- curl_msprintf @ 26 NONAME
- curl_multi_add_handle @ 27 NONAME
- curl_multi_assign @ 28 NONAME
- curl_multi_cleanup @ 29 NONAME
- curl_multi_fdset @ 30 NONAME
- curl_multi_info_read @ 31 NONAME
- curl_multi_init @ 32 NONAME
- curl_multi_perform @ 33 NONAME
- curl_multi_remove_handle @ 34 NONAME
- curl_multi_setopt @ 35 NONAME
- curl_multi_socket @ 36 NONAME
- curl_multi_socket_action @ 37 NONAME
- curl_multi_socket_all @ 38 NONAME
- curl_multi_strerror @ 39 NONAME
- curl_multi_timeout @ 40 NONAME
- curl_mvaprintf @ 41 NONAME
- curl_mvfprintf @ 42 NONAME
- curl_mvprintf @ 43 NONAME
- curl_mvsnprintf @ 44 NONAME
- curl_mvsprintf @ 45 NONAME
- curl_share_cleanup @ 46 NONAME
- curl_share_init @ 47 NONAME
- curl_share_setopt @ 48 NONAME
- curl_share_strerror @ 49 NONAME
- curl_slist_append @ 50 NONAME
- curl_slist_free_all @ 51 NONAME
- curl_strequal @ 52 NONAME
- curl_strnequal @ 53 NONAME
- curl_unescape @ 54 NONAME
- curl_version @ 55 NONAME
- curl_version_info @ 56 NONAME
- curl_easy_recv @ 57 NONAME
- curl_easy_send @ 58 NONAME
-
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/eabi/libcurlu.def b/Utilities/cmcurl-7.19.0/packages/Symbian/eabi/libcurlu.def
deleted file mode 100644
index 4d693a9..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/eabi/libcurlu.def
+++ /dev/null
@@ -1,60 +0,0 @@
-EXPORTS
- curl_easy_cleanup @ 1 NONAME
- curl_easy_duphandle @ 2 NONAME
- curl_easy_escape @ 3 NONAME
- curl_easy_getinfo @ 4 NONAME
- curl_easy_init @ 5 NONAME
- curl_easy_pause @ 6 NONAME
- curl_easy_perform @ 7 NONAME
- curl_easy_reset @ 8 NONAME
- curl_easy_setopt @ 9 NONAME
- curl_easy_strerror @ 10 NONAME
- curl_easy_unescape @ 11 NONAME
- curl_escape @ 12 NONAME
- curl_formadd @ 13 NONAME
- curl_formfree @ 14 NONAME
- curl_formget @ 15 NONAME
- curl_free @ 16 NONAME
- curl_getdate @ 17 NONAME
- curl_getenv @ 18 NONAME
- curl_global_cleanup @ 19 NONAME
- curl_global_init @ 20 NONAME
- curl_global_init_mem @ 21 NONAME
- curl_maprintf @ 22 NONAME
- curl_mfprintf @ 23 NONAME
- curl_mprintf @ 24 NONAME
- curl_msnprintf @ 25 NONAME
- curl_msprintf @ 26 NONAME
- curl_multi_add_handle @ 27 NONAME
- curl_multi_assign @ 28 NONAME
- curl_multi_cleanup @ 29 NONAME
- curl_multi_fdset @ 30 NONAME
- curl_multi_info_read @ 31 NONAME
- curl_multi_init @ 32 NONAME
- curl_multi_perform @ 33 NONAME
- curl_multi_remove_handle @ 34 NONAME
- curl_multi_setopt @ 35 NONAME
- curl_multi_socket @ 36 NONAME
- curl_multi_socket_action @ 37 NONAME
- curl_multi_socket_all @ 38 NONAME
- curl_multi_strerror @ 39 NONAME
- curl_multi_timeout @ 40 NONAME
- curl_mvaprintf @ 41 NONAME
- curl_mvfprintf @ 42 NONAME
- curl_mvprintf @ 43 NONAME
- curl_mvsnprintf @ 44 NONAME
- curl_mvsprintf @ 45 NONAME
- curl_share_cleanup @ 46 NONAME
- curl_share_init @ 47 NONAME
- curl_share_setopt @ 48 NONAME
- curl_share_strerror @ 49 NONAME
- curl_slist_append @ 50 NONAME
- curl_slist_free_all @ 51 NONAME
- curl_strequal @ 52 NONAME
- curl_strnequal @ 53 NONAME
- curl_unescape @ 54 NONAME
- curl_version @ 55 NONAME
- curl_version_info @ 56 NONAME
- curl_easy_recv @ 57 NONAME
- curl_easy_send @ 58 NONAME
-
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/bld.inf b/Utilities/cmcurl-7.19.0/packages/Symbian/group/bld.inf
deleted file mode 100644
index 3b6993e..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/bld.inf
+++ /dev/null
@@ -1,7 +0,0 @@
-//
-// libcurl and curl bld.inf file for Symbian OS
-//
-
-PRJ_MMPFILES
- libcurl.mmp
- curl.mmp
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.iby b/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.iby
deleted file mode 100644
index 141986e..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.iby
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// curl file transfer utility command-line utility
-//
-// Use this file with buildrom to add curl to a device ROM
-//
-
-#ifndef CURL_IBY
-#define CURL_IBY
-
-#include <openenv.iby>
-#include <libcurl.iby>
-
-file=ABI_DIR\BUILD_DIR\curl.exe System\Programs\curl.exe
-
-#endif // CURL_IBY
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.mmp b/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.mmp
deleted file mode 100644
index 1c49548..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.mmp
+++ /dev/null
@@ -1,23 +0,0 @@
-//
-// cURL network retrieval client
-//
-
-TARGET curl.exe
-TARGETTYPE exe
-UID 0x00000000 0xF0206442
-
-SOURCEPATH ../../../src
-SOURCE \
- main.c hugehelp.c urlglob.c writeout.c writeenv.c \
- getpass.c homedir.c curlutil.c
-
-SYSTEMINCLUDE ../../../include ../../../lib ../../../include/curl \
- /epoc32/include /epoc32/include/stdapis
-
-LIBRARY euser.lib libc.lib libcurl.lib
-STATICLIBRARY libcrt0.lib
-
-CAPABILITY NetworkServices
-
-EPOCSTACKSIZE 0x8000
-
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.pkg b/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.pkg
deleted file mode 100644
index 3454496..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/curl.pkg
+++ /dev/null
@@ -1,26 +0,0 @@
-; curl package defintion file
-; Use with makesis to create a Symbian .sis package
-
-;Language - standard language definitions
-&EN
-
-;Header - standard sis file header including version number
-;Version scheme: curl's major, curl's minor, curl's subminor*100 + build number
-; e.g. The third Symbian package of curl ver. 7.18.2 would have a SIS package
-; version of 7, 18, 203
-#{"curl"}, (0xF0206442), 7, 18, <please_update_version>, TYPE=SA
-
-; Vendor name
-%{"Standard libcurl package"}
-:"Standard libcurl package"
-
-; Embedded component
-@"libcurl.sis",(0xF0206D00)
-
-; A dependency on P.I.P.S. and the stdio server are probably good to have here
-;(0x20009A80), *, *, *, {"P.I.P.S. for Series 60 3rd ed."}
-;(0x20009A81), *, *, *, {"P.I.P.S. for UIQ 3"}
-;(0x20009AA2), *, *, *, {"Symbian OS STDIOSERVER"}
-
-;Files - standard file specifications
-"epoc32\release\armv5\urel\curl.exe" - "$:\sys\bin\curl.exe"
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.iby b/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.iby
deleted file mode 100644
index b59af68..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.iby
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// libcurl file transfer DLL
-//
-// Use this file with buildrom to add libcurl to a device ROM
-//
-
-#ifndef LIBCURL_IBY
-#define LIBCURL_IBY
-
-#include <openenv.iby>
-
-file=ABI_DIR\BUILD_DIR\libcurl.dll System\Libs\libcurl.dll
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.mmp b/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.mmp
deleted file mode 100644
index ef2aa0f..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.mmp
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// libcurl.dll cURL network retrieval client library
-//
-
-TARGET libcurl.dll
-TARGETTYPE dll
-UID 0x1000008d 0xF0206D00
-
-MACRO BUILDING_LIBCURL=1
-
-SOURCEPATH ../../../lib
-SOURCE \
- file.c timeval.c base64.c hostip.c progress.c formdata.c \
- cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \
- ldap.c ssluse.c version.c getenv.c escape.c mprintf.c telnet.c \
- netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c \
- krb5.c memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c \
- multi.c content_encoding.c share.c http_digest.c md5.c \
- http_negotiate.c http_ntlm.c inet_pton.c strtoofft.c strerror.c \
- hostares.c hostasyn.c hostip4.c hostip6.c hostsyn.c hostthre.c \
- inet_ntop.c parsedate.c select.c gtls.c sslgen.c tftp.c splay.c \
- strdup.c socks.c ssh.c nss.c qssl.c
-
-USERINCLUDE ../../../lib
-
-SYSTEMINCLUDE ../../../include ../../../include/curl \
- /epoc32/include/stdapis /epoc32/include
-
-LIBRARY euser.lib libc.lib
-
-CAPABILITY NetworkServices
-
-EPOCALLOWDLLDATA
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.pkg b/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.pkg
deleted file mode 100644
index ab01ba1..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/group/libcurl.pkg
+++ /dev/null
@@ -1,22 +0,0 @@
-; libcurl package defintion file
-; Use with makesis to create a Symbian .sis package
-
-;Language - standard language definitions
-&EN
-
-;Header - standard sis file header including version number
-;Version scheme: curl's major, curl's minor, curl's subminor*100 + build number
-; e.g. The third Symbian package of curl ver. 7.18.2 would have a SIS package
-; version of 7, 18, 203
-#{"libcurl"}, (0xF0206D00), 7, 18, <please_update_version>, TYPE=SA
-
-; Vendor name
-%{"Standard curl package"}
-:"Standard curl package"
-
-; A dependency on P.I.P.S. is probably a good idea to add here
-;(0x20009A80), *, *, *, {"P.I.P.S. for Series 60 3rd ed."}
-;(0x20009A81), *, *, *, {"P.I.P.S. for UIQ 3"}
-
-;Files - standard file specifications
-"epoc32\release\armv5\urel\libcurl.dll" - "$:\sys\bin\libcurl.dll"
diff --git a/Utilities/cmcurl-7.19.0/packages/Symbian/readme.txt b/Utilities/cmcurl-7.19.0/packages/Symbian/readme.txt
deleted file mode 100644
index 5dc69e0..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Symbian/readme.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-Curl on Symbian OS
-==================
-This is a basic port of curl and libcurl to Symbian OS. The port is
-a straightforward one using Symbian's P.I.P.S. POSIX compatibility
-layer, which was first available for OS version 9.1. A more complete
-port would involve writing a Symbian C++ binding, or wrapping libcurl
-as a Symbian application server with a C++ API to handle requests
-from client applications as well as creating a GUI application to allow
-file transfers. The author has no current plans to do so.
-
-This means that integration with standard Symbian OS programs can be
-tricky, since libcurl isn't designed with Symbian's native asynchronous
-message passing idioms in mind. However, it may be possible to use libcurl
-in an active object-based application through libcurl's multi interface.
-The port is most easily used when porting POSIX applications to Symbian
-OS using P.I.P.S.
-
-libcurl is built as a standard Symbian ordinal-linked DLL, and curl is
-built as a text mode EXE application. They have not been Symbian
-Signed, which is required in order to install them on most phones.
-
-Following are some things to keep in mind when using this port.
-
-
-curl notes
-----------
-When starting curl in the Windows emulator from the Windows command-line,
-place a double-dash -- before the first curl command-line option.
-e.g. \epoc32\release\winscw\udeb\curl -- -v http://localhost/
-Failure to do so may mean that some of your options won't be correctly
-processed.
-
-Symbian's ESHELL allows for redirecting stdin and stdout to files, but
-stderr goes to the epocwind.out file (on the emulator). The standard
-curl options -o, --stderr and --trace-ascii can be used to
-redirect output to a file (or stdout) instead.
-
-P.I.P.S. doesn't inherit the current working directory at startup from
-the shell, so relative path names are always relative to
-C:\Private\f0206442\.
-
-P.I.P.S. provides no way to disable echoing of characters as they are
-entered, so passwords typed in on the console will be visible. It also
-line buffers keyboard input so interactive telnet sessions are not very
-feasible.
-
-All screen output disappears after curl exits, so after a command completes,
-curl waits by default for Enter to be pressed before exiting. This behaviour
-is suppressed when the -s option is given.
-
-curl's "home directory" in Symbian is C:\Private\f0206442\. The .curlrc file
-is read from this directory on startup.
-
-
-libcurl notes
--------------
-libcurl uses writable static data, so the EPOCALLOWDLLDATA option is
-used in its MMP file, with the corresponding additional memory usage
-and limitations on the Windows emulator.
-
-curl_global_init() *must* be called (either explicitly or implicitly through
-calling certain other libcurl functions) before any libcurl functions
-that could allocate memory (like curl_getenv()).
-
-P.I.P.S. doesn't support signals or the alarm() call, so some timeouts
-(such as the connect timeout) are not honoured.
-
-P.I.P.S. causes a USER:87 panic if certain timeouts much longer than
-half an hour are selected.
-
-SSL/TLS encryption is not supported, nor are LDAP, SCP or SFTP URLs.
-
-Debug builds are not supported (i.e. --enable-debug) because they cause
-additional symbol exports in the library which are not frozen in the .def
-files.
-
-
-Dan Fandrich
-dan@coneharvesters.com
-July 2008
diff --git a/Utilities/cmcurl-7.19.0/packages/Win32/Makefile.am b/Utilities/cmcurl-7.19.0/packages/Win32/Makefile.am
deleted file mode 100644
index 93350ea..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Win32/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBDIRS = cygwin
-
-EXTRA_DIST = README
diff --git a/Utilities/cmcurl-7.19.0/packages/Win32/Makefile.in b/Utilities/cmcurl-7.19.0/packages/Win32/Makefile.in
deleted file mode 100644
index 6d52ab1..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Win32/Makefile.in
+++ /dev/null
@@ -1,524 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/Win32
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-SUBDIRS = cygwin
-EXTRA_DIST = README
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Win32/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/Win32/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/Win32/README b/Utilities/cmcurl-7.19.0/packages/Win32/README
deleted file mode 100644
index 266e4ea..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Win32/README
+++ /dev/null
@@ -1,53 +0,0 @@
-Author: Jörn Hartroth
-
-DESCRIPTION
-
-(If you're only looking for precompiled win32 binaries, go visit
-http://curl.haxx.se/download.html)
-
-Packaging of the curl binaries for Win32 should at this point in time be based
-on the InfoZip (zip/unzip) archiver family as the de-facto standard for
-Windows archives. A package should contain the main binary curl.exe along with
-the appropriate documentation and license information files. For development
-releases, you should also include the header directory and probably the
-compiled binaries of libcurl and the appropriate Makefiles/project definition
-files for the compiler used.
-
-A simple packaging mechanism can be based on a set of batch files which call
-zip.exe with the appropriate files from the curl distribution - see the
-samples included below (Long lines have been split with "\" as the split
-marker, you'll want to rejoin the pieces to be all on one line in the batch
-file). Call any of these batch files - after compiling the curl binaries -
-with a single parameter specifying the name of the archive file to be created.
-
-It is implicitely assumed that all of the binary files (curl.exe, libcurl.a,
-etc) have previously been copied to the main directory of the curl source
-package (the directory where the main README resides), because that is where
-they should end up in the zip archive. The archive should *not* be built with
-absolute path information because the user will want to locally extract the
-archive contents and shift the binaries to his executable directory.
-
-SCRIPT_TEMPLATES
-
-curlpkg.bat:
- zip -9 %1 curl.exe CHANGES LEGAL MPL-1.0.txt README \
- docs/FAQ docs/FEATURES docs/README.curl docs/README.win32 docs/TODO
-
-curldevpkg.bat:
- zip -9 %1 curl.exe include\README include\curl\*.h CHANGES docs\* \
- curl.spec curl-ssl.spec LEGAL lib/Makefile.m32 src/Makefile.m32 \
- libcurl.a libcurl.dll libcurldll.a MPL-1.0.txt README
-
-PROCEDURE_EXAMPLE
-
-A standard packaging routine (for MingW32) using the above batch files could
-go like this:
-(No SSL) (With SSL)
-cd <curl-sourcedir>\lib cd <curl-sourcedir>\lib
-make -f Makefile.m32 make -f Makefile.m32 SSL=1
-cd ..\src cd ..\src
-make -f Makefile.m32 make -f Makefile.m32 SSL=1
-cd .. cd ..
-copy lib\libcurl.a . copy lib\libcurl.a .
-copy src\curl.exe . copy src\curl.exe .
-curlpkg curl-win32-nossl.zip curlpkg curl-win32-ssl.zip
diff --git a/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.am b/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.am
deleted file mode 100644
index 936f1b5..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.am
+++ /dev/null
@@ -1,62 +0,0 @@
-EXTRA_DIST = README
-
-#
-# Build a Cygwin binary tar ball
-#
-# Read the README file for details on using this Makefile
-#
-# NOTE: As I'm not particularly familiar with Makefiles, this was the
-# best I could come up with. It should probably be enhanced someday
-# to actually use the correct target and pre-requisite names, etc...
-# If anyone else wants to volunteer, feel free ;-)
-#
-
-# Cygwin build number (default to "1")
-CYGBUILD = 1
-
-# Cygwin tarball build dir (fully-qualified name, gets deleted when done)
-cygwintmp = $(CURDIR)/tmp_binbuild
-
-cygwinbin:
- rm -rf $(cygwintmp)
- rm -rf $(cygwintmp)-dev
- $(MAKE) -C $(top_builddir) DESTDIR=$(cygwintmp) install-strip
-# $(STRIP) $(cygwintmp)/usr/bin/cygcurl-?.dll
- $(mkinstalldirs) \
- $(cygwintmp)$(datadir)/doc/Cygwin \
- $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples \
- $(cygwintmp)-dev$(mandir)
-#
-# copy some files into the binary install dir
- cp $(srcdir)/README \
- $(cygwintmp)$(datadir)/doc/Cygwin/$(PACKAGE)-$(VERSION)-$(CYGBUILD).README
- cd $(top_srcdir) ; cp CHANGES COPYING README RELEASE-NOTES docs/* \
- $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; pwd
- cd $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; rm *.1 Makefile*
-#
-# copy some files into the -dev install dir, remove some from binary
- cp $(top_srcdir)/docs/libcurl/*.html \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl
- cp $(top_srcdir)/docs/examples/* \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
- rm $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples/Makefile*
- cp $(top_srcdir)/docs/examples/Makefile.example \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
- mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/BINDINGS \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
- mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/INTERNALS \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
- mv $(cygwintmp)/usr/include $(cygwintmp)-dev/usr
- mv $(cygwintmp)/usr/lib $(cygwintmp)-dev/usr
- mv $(cygwintmp)$(mandir)/man3 $(cygwintmp)-dev$(mandir)
-#
-# create both tar files, and delete tmp folders
- cd $(cygwintmp) ; tar cjf \
- $(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 usr
- mv $(cygwintmp)/*.tar.bz2 . && rm -rf $(cygwintmp)
-#
- cd $(cygwintmp)-dev ; tar cjf \
- $(PACKAGE)-devel-$(VERSION)-$(CYGBUILD).tar.bz2 usr
- mv $(cygwintmp)-dev/*.tar.bz2 . && rm -rf $(cygwintmp)-dev
diff --git a/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.in b/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.in
deleted file mode 100644
index f78d400..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/Makefile.in
+++ /dev/null
@@ -1,427 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/Win32/cygwin
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = README
-
-#
-# Build a Cygwin binary tar ball
-#
-# Read the README file for details on using this Makefile
-#
-# NOTE: As I'm not particularly familiar with Makefiles, this was the
-# best I could come up with. It should probably be enhanced someday
-# to actually use the correct target and pre-requisite names, etc...
-# If anyone else wants to volunteer, feel free ;-)
-#
-
-# Cygwin build number (default to "1")
-CYGBUILD = 1
-
-# Cygwin tarball build dir (fully-qualified name, gets deleted when done)
-cygwintmp = $(CURDIR)/tmp_binbuild
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Win32/cygwin/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/Win32/cygwin/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-cygwinbin:
- rm -rf $(cygwintmp)
- rm -rf $(cygwintmp)-dev
- $(MAKE) -C $(top_builddir) DESTDIR=$(cygwintmp) install-strip
-# $(STRIP) $(cygwintmp)/usr/bin/cygcurl-?.dll
- $(mkinstalldirs) \
- $(cygwintmp)$(datadir)/doc/Cygwin \
- $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples \
- $(cygwintmp)-dev$(mandir)
-#
-# copy some files into the binary install dir
- cp $(srcdir)/README \
- $(cygwintmp)$(datadir)/doc/Cygwin/$(PACKAGE)-$(VERSION)-$(CYGBUILD).README
- cd $(top_srcdir) ; cp CHANGES COPYING README RELEASE-NOTES docs/* \
- $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; pwd
- cd $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; rm *.1 Makefile*
-#
-# copy some files into the -dev install dir, remove some from binary
- cp $(top_srcdir)/docs/libcurl/*.html \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl
- cp $(top_srcdir)/docs/examples/* \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
- rm $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples/Makefile*
- cp $(top_srcdir)/docs/examples/Makefile.example \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
- mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/BINDINGS \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
- mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/INTERNALS \
- $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
- mv $(cygwintmp)/usr/include $(cygwintmp)-dev/usr
- mv $(cygwintmp)/usr/lib $(cygwintmp)-dev/usr
- mv $(cygwintmp)$(mandir)/man3 $(cygwintmp)-dev$(mandir)
-#
-# create both tar files, and delete tmp folders
- cd $(cygwintmp) ; tar cjf \
- $(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 usr
- mv $(cygwintmp)/*.tar.bz2 . && rm -rf $(cygwintmp)
-#
- cd $(cygwintmp)-dev ; tar cjf \
- $(PACKAGE)-devel-$(VERSION)-$(CYGBUILD).tar.bz2 usr
- mv $(cygwintmp)-dev/*.tar.bz2 . && rm -rf $(cygwintmp)-dev
-# 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/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/README b/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/README
deleted file mode 100644
index 313dacc..0000000
--- a/Utilities/cmcurl-7.19.0/packages/Win32/cygwin/README
+++ /dev/null
@@ -1,114 +0,0 @@
-Curl is a tool for transferring files with URL syntax, supporting
- FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP.
- Curl supports HTTPS certificates, HTTP POST, HTTP PUT,
- FTP uploading, kerberos, HTTP form based upload, proxies,
- cookies, user+password authentication, file transfer resume,
- http proxy tunneling and a busload of other useful tricks.
-
-See /usr/doc/curl-$(VERSION)/FEATURES for more info.
-
-
-Dependencies:
- - Cygwin
- - OpenSSL 0.9.6b-2+ (*)
-
- (*) cURL can be built without SSL support, see below for details
-
-
-Canonical Homepage and Downloads:
- http://curl.haxx.se/
- http://curl.haxx.se/download.html
-
-
-Cygwin specific source files (a .README template and a Makefile
- for building binary tarballs) are maintained in the upstream
- CVS at: <srctop>/packages/Win32/cygwin/
-
-
-Build Instructions (to recompile from the cygwin source tarball):
- ---STANDARD (with SSL) RELEASE---
- Download the source (either the official release or the cygwin version),
- unpack it (done for you if using setup.exe), then:
-
- $ ./configure --prefix=/usr --mandir=/usr/share/man # (*)
- $ make
- $ make test # optional
- $ make install # (**)
-
- (*) The Cygwin project now (as of sometime in 2003) prefers man pages
- within /usr/share/man, as opposed to the default /usr/man.
-
- (**) LibTool 1.4.2 had a bug related to cygwin's use of ".exe" extensions,
- such that "make install" blew up at curl.exe. See this URL for details:
- http://mail.gnu.org/pipermail/libtool/2001-September/005549.html
- The copy of ltmain.sh that is distributed with cURL includes this patch.
-
- As of curl 7.9.1, the official source compiles (under Cygwin) and tests
- 100% cleanly OOTB (Out Of The Box)
-
- ---NO SSL RELEASE---
- Same as standard, except for the configure step, which changes to:
-
- $ ./configure --prefix=/usr --mandir=/usr/share/man --without-ssl
-
- NOTE: the standard release is what is available via Cygwin's setup.exe;
- the no-ssl release is only available from the curl website
-
-
-Packaging Instructions:
- ---BINARY---
- Compile cleanly as described above, then:
-
- $ make cygwinbin CYGBUILD=n
-
- where n is the cygwin release number (e.g. the "1" in curl-7.9-1),
- and "CYGBUILD=n" is optional (n defaults to 1 if not specified)
-
- Assuming everything worked, you'll find your binary tarballs in
- $(buildtop)/packages/Win32/cygwin/
-
- ---SOURCE---
- 1. download & unpack the pristine source
- 2. rename the source dir to add the "-$(REL)" suffix, e.g.:
- $ mv curl-7.9 curl-7.9-1
- 3. unpack the pristine source once more, so you'll end up
- with 2 directories: "curl-7.9" and "curl-7.9-1" in this example
- 3. add a CYGWIN-PATCHES directory, and add this readme to it
- $ cd curl-7.9-1; mkdir CYGWIN-PATCHES
- $ cp packages/Win32/cygwin/README CYGWIN-PATCHES/curl-7.9-1.README
- 4. if applicable, document any changes in the README file
- 5. create a patch which, when applied
- (using `patch -p1 < curl-7.9-$(REL).patch`)
- will remove any changes you've made to the pristine source:
- $ cd ..
- $ diff -Nrup curl-7.9-1 curl-7.9 > curl-7.9-1.patch
- and then move it into the CYGWIN-PATCHES directory
- $ mv curl-7.9-1.patch curl-7.9-1/CYGWIN-PATCHES
- 6. pack the new source dir into a tar.bz2 file:
- $ tar cfj curl-7.9-1-src.tar.bz2 curl-7.9-1
-
- ---SETUP.HINT---
- @ curl
- sdesc: "a client that groks URLs"
- ldesc: "Curl is a tool for transferring files with URL syntax,
- supporting FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE
- and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT,
- FTP uploading, kerberos, HTTP form based upload, proxies,
- cookies, user+password authentication, file transfer resume,
- http proxy tunneling and a busload of other useful tricks."
- category: Web Libs
- requires: cygwin openssl
-
- @ curl-devel
- sdesc: "(lib)cURL headers, static libraries, developer docs and samples"
- ldesc: "curl-devel is the developer-oriented (non-run-time) parts
- of the cURL package. It includes header files, static libraries,
- example source code snippets, and the libcurl man pages."
- category: Web Libs Devel
- requires: cygwin openssl curl
-
-
-Cygwin port maintained by:
- Kevin Roth <kproth @ users . sourceforge . net>
- Questions about cURL should be directed to curl-users@cool.haxx.se.
- Questions about this cygwin package go to cygwin@cygwin.com.
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/Makefile.am b/Utilities/cmcurl-7.19.0/packages/vms/Makefile.am
deleted file mode 100644
index e2464b0..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-EXTRA_DIST = batch_compile.com build_vms.com config-vms.h defines.com \
- hpssl_alpha.opt hpssl_ia64.opt hpssl_vax.opt readme curlmsg.msg \
- curlmsg_vms.h axp/README ia64/README vax/README curlmsg.h curlmsg.sdl
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/Makefile.in b/Utilities/cmcurl-7.19.0/packages/vms/Makefile.in
deleted file mode 100644
index b8d510a..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/Makefile.in
+++ /dev/null
@@ -1,370 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = packages/vms
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = batch_compile.com build_vms.com config-vms.h defines.com \
- hpssl_alpha.opt hpssl_ia64.opt hpssl_vax.opt readme curlmsg.msg \
- curlmsg_vms.h axp/README ia64/README vax/README curlmsg.h curlmsg.sdl
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/vms/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign packages/vms/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/axp $(distdir)/ia64 $(distdir)/vax
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/packages/vms/axp/README b/Utilities/cmcurl-7.19.0/packages/vms/axp/README
deleted file mode 100644
index d00491f..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/axp/README
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/batch_compile.com b/Utilities/cmcurl-7.19.0/packages/vms/batch_compile.com
deleted file mode 100755
index 0bacb61..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/batch_compile.com
+++ /dev/null
@@ -1,7 +0,0 @@
-$ proc = f$environment( "procedure")
-$ devdir = f$parse( proc,,,"DEVICE") + f$parse( proc,,,"DIRECTORY")
-$ set def 'devdir'
-$ define CURL_BUILD_NOHPSSL true
-$ @defines
-$ @build_vms
-$ exit
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/build_vms.com b/Utilities/cmcurl-7.19.0/packages/vms/build_vms.com
deleted file mode 100755
index 0c2cd0a..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/build_vms.com
+++ /dev/null
@@ -1,248 +0,0 @@
-$! $Id$
-$! BUILD_VMS.COM
-$!
-$! I've taken the original build_vms.com, supplied by Nico Baggus, if
-$! memory serves me correctly, and made some modifications.
-$!
-$! SSL support is based on logicals, or lack thereof. If SSL$INCLUDE
-$! is defined, then it assumed that hp's SSL product has been installed.
-$! If OPENSSL is defined, but SSL$INCLUDE isn't, then the OpenSSL defined
-$! via the defines.com procedure will be used. If neither logical is
-$! defined, then SSL support will not be compiled/linked in.
-$!
-$! If CURL_BUILD_NOSSL is defined to anything, then no SSL support will
-$! be built in. This way you can build without SSL support on systems
-$! that have it without the "automatic" build/link "features".
-$!
-$! If CURL_BUILD_NOHPSSL is defined to anything, it will override the
-$! SSL$INCLUDE check. This way you can build against OpenSSL, even if
-$! you have hp SSL installed.
-$!
-$! Parameter(s):
-$!
-$! P1 - LISTING will create .lis files during the C compile
-$! DEBUG will compile and link with debug; also will create
-$! compiler listings and linker map files
-$! 64 will compile and link with 64-bit pointers
-$!
-$! Revisions:
-$!
-$! 2-DEC-2003, MSK, the "original" version.
-$! It works for me. Your mileage may vary.
-$! 13-JAN-2004, MSK, moved this procedure to the [.packages.vms] directory
-$! and updated it to do hardware dependant builds.
-$! 29-JAN-2004, MSK, moved logical defines into defines.com
-$! 6-FEB-2004, MSK, put in various SSL support bits
-$! 9-MAR-2004, MSK, the config-vms.h* files are now copied to the lib and
-$! src directories as config.h.
-$! 15-MAR-2004, MSK, All of the curlmsg*.* files have also been moved to
-$! this build directory. They will be copied to the src
-$! directory before build. The .msg file will be compiled
-$! to get the .obj for messages, but the .h and .sdl files
-$! are not automatically created since they partly rely on
-$! the freeware SDL tool.
-$! 8-FEB-2005, MSK, merged the two config-vms.h* files into one that uses
-$! USE_SSLEAY to define if the target has SSL support built
-$! in. Changed the cc/define parameter accordingly.
-$! 11-FEB-2005, MSK, If [--.LIB]AMIGAOS.C and NWLIB.C are there, rename them
-$! 23-MAR-2005, MSK, relocated cc_qual define so that DEBUG option would work
-$! 25-APR-2007, STL, allow compilation in 64-bit mode.
-$!
-$ on control_y then goto Common_Exit
-$ ctrl_y = 1556
-$ origdir = f$environment("DEFAULT")
-$ proc = f$environment("PROCEDURE")
-$ thisdir = f$parse( proc,,,"DEVICE") + f$parse( proc,,,"DIRECTORY")
-$!
-$! Verbose output message stuff. Define symbol to "write sys$output" or "!".
-$! vo_c - verbose output for compile
-$! vo_l - link
-$! vo_o - object check
-$!
-$ vo_c = "write sys$output"
-$ vo_l = "write sys$output"
-$ vo_o = "!"
-$!
-$ defines = thisdir + "defines.com"
-$ if f$trnlnm( "curl_defines_done") .eqs. ""
-$ then
-$ if f$search( defines) .eqs. ""
-$ then
-$ write sys$output "%CURL-F-DEFFNF, cannot find defines.com procedure"
-$ exit %X18290 ! FNF
-$ else
-$ @'defines'
-$ endif
-$ endif
-$ set def 'thisdir'
-$!
-$ hpssl = 0
-$ openssl = 0
-$ cc_qual = "/define=HAVE_CONFIG_H=1"
-$ link_qual = ""
-$ if f$trnlnm( "CURL_BUILD_NOSSL") .eqs. ""
-$ then
-$ if f$trnlnm( "OPENSSL") .nes. ""
-$ then
-$ openssl = 1
-$ cc_qual = "/define=(HAVE_CONFIG_H=1,USE_SSLEAY=1)"
-$ if ( f$trnlnm( "SSL$INCLUDE") .nes. "") .and. -
- ( f$trnlnm( "CURL_BUILD_NOHPSSL") .eqs. "")
-$ then hpssl = 1
-$ endif
-$ endif
-$ endif
-$ cc_qual = cc_qual + "/OBJ=OBJDIR:"
-$ if p1 .eqs. "64" then cc_qual = cc_qual + "/POINTER=64"
-$ if p1 .eqs. "LISTING" then cc_qual = cc_qual + "/LIST/SHOW=ALL"
-$ if p1 .eqs. "DEBUG"
-$ then
-$ cc_qual = cc_qual + "/LIST/SHOW=ALL/DEBUG/NOOPT"
-$ link_qual = "/DEBUG/MAP"
-$ endif
-$ msg_qual = "/OBJ=OBJDIR:"
-$!
-$! Put the right main config file in the two source directories for the build.
-$!
-$ if ( openssl .eq. 1) .or. ( hpssl .eq. 1)
-$ then
-$ 'vo_c' "%CURL-I-BLDSSL, building with SSL support"
-$ else
-$ 'vo_c' "%CURL-I-BLDNOSSL, building without SSL support"
-$ endif
-$ config_h = "CONFIG-VMS.H"
-$!
-$! Only do the copy if the source and destination files are different.
-$!
-$ call MoveIfDiff 'config_h' "[--.LIB]CONFIG.H"
-$ call MoveIfDiff 'config_h' "[--.SRC]CONFIG.H"
-$! call MoveIfDiff "SETUP.H" "[--.LIB]"
-$! call MoveIfDiff "SETUP.H" "[--.SRC]"
-$ call MoveIfDiff "CURLMSG.H" "[--.SRC]"
-$ call MoveIfDiff "CURLMSG.MSG" "[--.SRC]"
-$ call MoveIfDiff "CURLMSG.SDL" "[--.SRC]"
-$ call MoveIfDiff "CURLMSG_VMS.H" "[--.SRC]"
-$!
-$! The [--.LIB]amigaos.c and nwlib.c files aren't needed for the VMS build.
-$! If they are there, rename them so the brute force build works right.
-$!
-$ if f$search( "[--.lib]amigaos.c") .nes. ""
-$ then
-$ rename [--.lib]amigaos.c .c_not_used
-$ endif
-$ if f$search( "[--.lib]nwlib.c") .nes. ""
-$ then
-$ rename [--.lib]nwlib.c .c_not_used
-$ endif
-$ on control_y then goto Common_Exit
-$!
-$ call build "[--.lib]" "*.c" "objdir:curllib.olb"
-$ if ($status .eq. ctrl_y) then goto Common_Exit
-$ call build "[--.src]" "*.c" "objdir:curlsrc.olb"
-$ if ($status .eq. ctrl_y) then goto Common_Exit
-$ call build "[--.src]" "*.msg" "objdir:curlsrc.olb"
-$ if ($status .eq. ctrl_y) then goto Common_Exit
-$ if ( openssl .eq. 1) .and. ( hpssl .eq. 0)
-$ then
-$ 'vo_l' "%CURL-I-LINK_OSSL, linking with OpenSSL"
-$ link 'link_qual'/exe=exedir:curl.exe -
- objdir:curlsrc/lib/include=(main,curlmsg),-
- objdir:curllib/lib, libssl/lib, libcrypto/lib
-$ endif
-$ if ( openssl .eq. 1) .and. ( hpssl .eq. 1)
-$ then
-$ 'vo_l' "%CURL-I-LINK_HPSSL, linking with hp SSL option"
-$ optfile = "[]hpssl_" + f$getsyi("ARCH_NAME") + ".opt/opt"
-$ link 'link_qual'/exe=exedir:curl.exe -
- objdir:curlsrc/lib/include=(main,curlmsg),-
- objdir:curllib/lib, 'optfile'
-$ endif
-$ if ( openssl .eq. 0) .and. ( hpssl .eq. 0)
-$ then
-$ 'vo_l' "%CURL-I-LINK_NOSSL, linking without SSL support"
-$ link 'link_qual'/exe=exedir:curl.exe -
- objdir:curlsrc/lib/include=(main,curlmsg),-
- objdir:curllib/lib
-$ endif
-$!
-$ goto Common_Exit
-$!
-$! Subroutine to build everything with a filetype passed in via P2 in
-$! the directory passed in via P1 and put it in the object library named
-$! via P3
-$!
-$build: subroutine
-$ on control_y then goto EndLoop ! SS$_CONTROLY
-$! set noon
-$ set default 'p1'
-$ search = p2
-$ reset = f$search("reset")
-$ if f$search( p3) .eqs. ""
-$ then
-$ LIB/CREATE/OBJECT 'p3'
-$ endif
-$ reset = f$search("reset",1)
-$Loop:
-$ file = f$search(search,1)
-$ if file .eqs. "" then goto EndLoop
-$ objfile = f$parse("objdir:.OBJ;",file)
-$ obj = f$search( objfile, 2)
-$ if (obj .nes. "")
-$ then
-$ if (f$cvtime(f$file(file,"rdt")) .gts. f$cvtime(f$file(obj,"rdt")))
-$ then
-$ call compile 'file'
-$ if .not. $status then return $status
-$ lib/object 'p3' 'objfile'
-$ else
-$ 'vo_o' "%CURL-I-OBJUTD, ", objfile, " is up to date"
-$ endif
-$ else
-$ 'vo_o' "%CURL-I-OBJDNE, ", file, " does not exist"
-$ call compile 'file'
-$ if .not. $status then return $status
-$ lib/object 'p3' 'objfile'
-$ endif
-$ goto Loop
-$EndLoop:
-$ !purge
-$ set def 'origdir'
-$ endsubroutine ! Build
-$!
-$! Based on the file TYPE, do the right compile command.
-$! Only C and MSG supported.
-$!
-$compile: subroutine
-$ on control_y then return ctrl_y ! SS$_CONTROLY
-$! set noon
-$ file = p1
-$ qual = p2+p3+p4+p5+p6+p7+p8
-$ typ = f$parse(file,,,"TYPE") - "."
-$ cmd_c = "CC "+cc_qual
-$ cmd_msg = "MESSAGE "+msg_qual
-$ x = cmd_'typ'
-$ 'vo_c' x," ",file
-$ 'x' 'file'
-$ ENDSUBROUTINE ! Compile
-$!
-$! Do a diff of the file specified in P1 with that in P2. If different
-$! copy P1 to P2. This also covers if P2 doesn't exist, but not if P2
-$! is an invalid filespec.
-$!
-$MoveIfDiff: subroutine
-$ set NoOn
-$ set message/nof/noi/nos/not
-$ diff/out=nla0: 'p1' 'p2'
-$ status = $status
-$ set message/f/i/s/t
-$ if ( status .ne. %X006C8009) ! if status is not "no diff"
-$ then
-$ copy 'p1' 'p2'
-$ purge/nolog 'p2'
-$ endif
-$ on control_y then return ctrl_y ! SS$_CONTROLY
-$ ENDSUBROUTINE ! MoveIfDiff
-$!
-$Common_Exit:
-$ set default 'origdir'
-$ exit
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/config-vms.h b/Utilities/cmcurl-7.19.0/packages/vms/config-vms.h
deleted file mode 100644
index e19a0b4..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/config-vms.h
+++ /dev/null
@@ -1,357 +0,0 @@
-/* MSK, 02/05/04, Hand edited for trail build on Alpha V7.3, DEC C 6.5-003 */
-/* MSK, 03/09/04, Seems to work for all platforms I've built on so far. */
-/* Added HAVE_SYS_IOCTL_H and IOCTL_3_ARGS defines */
-/* MSK, 06/04/04, Added HAVE_INET_NTOP */
-/* TES, 10/06/04, Added MAX_INITIAL_POST_SIZE, HAVE_BASENAME */
-/* MSK, 02/02/05, Changed HAVE_TERMIOS_H to an undef since the change in */
-/* getpass.c no longer undef'd it during compile. */
-/* MSK, 02/08/05, turned two config-vms files into one by using USE_SSLEAY */
-/* MPZ, 12/28/05, changed HAVE_STRTOK_R define to use CRTL_VER */
-/* MSK, 01/27/07, needed to add HAVE_STRUCT_TIMEVAL define */
-
-/* Define cpu-machine-OS */
-#ifdef __ALPHA
-#define OS "ALPHA-HP-VMS"
-#else
-#ifdef __VAX
-#define OS "VAX-HP-VMS"
-#else
-#define OS "IA64-HP-VMS"
-#endif
-#endif
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#define socklen_t size_t
-
-/* The number of bytes in a long double. */
-#define SIZEOF_LONG_DOUBLE 8
-
-/* The number of bytes in a long long. */
-#define SIZEOF_LONG_LONG 8
-
-/* Define if you have the geteuid function. */
-#define HAVE_GETEUID 1
-
-/* Define if you have the basename function. */
-#define HAVE_BASENAME 1
-
-/* Define if you have the gethostbyaddr function. */
-#define HAVE_GETHOSTBYADDR 1
-
-/* Define if you have the gethostname function. */
-#define HAVE_GETHOSTNAME 1
-
-/* Define if you have the getpwuid function. */
-#define HAVE_GETPWUID 1
-
-/* Define if you have the getservbyname function. */
-#define HAVE_GETSERVBYNAME 1
-
-/* Define if you have the gettimeofday function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* Define if you have the inet_addr function. */
-#define HAVE_INET_ADDR 1
-
-/* Define if you have the inet_ntoa function. */
-#define HAVE_INET_NTOA 1
-
-/* Define if you have the perror function. */
-#define HAVE_PERROR 1
-
-/* Define if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define if you have the setvbuf function. */
-#define HAVE_SETVBUF 1
-
-/* Define if you have the sigaction function. */
-#define HAVE_SIGACTION 1
-
-/* Define if you have the signal function. */
-#define HAVE_SIGNAL 1
-
-/* Define if you have the socket function. */
-#define HAVE_SOCKET 1
-
-/* Define if you have the strcasecmp function. */
-#define HAVE_STRCASECMP 1
-
-/* Define if you have the strcmpi function. */
-#define HAVE_STRCMPI 1
-
-/* Define if you have the strdup function. */
-#define HAVE_STRDUP 1
-
-/* Define if you have the strftime function. */
-#define HAVE_STRFTIME 1
-
-/* Define if you have the stricmp function. */
-#define HAVE_STRICMP 1
-
-/* Define if you have the strstr function. */
-#define HAVE_STRSTR 1
-
-/* Define if you have the ftruncate function. */
-#define HAVE_FTRUNCATE 1
-
-/* Define if you have the uname function. */
-#define HAVE_UNAME 1
-
-/* Define if you have the <err.h> header file. */
-#define HAVE_ERR_H 1
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H 1
-
-/* Define if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H 1
-
-/* Define if you need the malloc.h header header file even with stdlib.h */
-/* #define NEED_MALLOC_H 1 */
-
-/* Define if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H 1
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-#define HAVE_NETINET_IF_ETHER_H 1
-
-/* Define if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H 1
-
-/* OpenSSL section starts here */
-
-/* Define if you have a working OpenSSL installation */
-#ifdef USE_SSLEAY
-
-/* if OpenSSL is in use */
-#define USE_OPENSSL 1
-
-/* Define if you have the crypto library (-lcrypto). */
-#define HAVE_LIBCRYPTO 1
-
-/* Define if you have the ssl library (-lssl). */
-#define HAVE_LIBSSL 1
-
-/* Define if you have the <openssl/crypto.h> header file. */
-#define HAVE_OPENSSL_CRYPTO_H 1
-
-/* Define if you have the <openssl/err.h> header file. */
-#define HAVE_OPENSSL_ERR_H 1
-
-/* Define if you have the <openssl/pem.h> header file. */
-#define HAVE_OPENSSL_PEM_H 1
-
-/* Define if you have the <openssl/rsa.h> header file. */
-#define HAVE_OPENSSL_RSA_H 1
-
-/* Define if you have the <openssl/ssl.h> header file. */
-#define HAVE_OPENSSL_SSL_H 1
-
-/* Define if you have the <openssl/x509.h> header file. */
-#define HAVE_OPENSSL_X509_H 1
-
-/*
- * This needs to be defined for OpenSSL 0.9.7 and other versions that have the
- * ENGINE stuff supported. If an include of "openssl/engine.h" fails, then
- * undefine the define below.
-*/
-#define HAVE_OPENSSL_ENGINE_H 1
-
-#endif /* USE_SSLEAY */
-/* OpenSSL section ends here */
-
-/* Define if you have the <pwd.h> header file. */
-#define HAVE_PWD_H 1
-
-/* Define if you have the <sgtty.h> header file. */
-#define HAVE_SGTTY_H 1
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the resolv library (-lresolv). */
-#define HAVE_LIBRESOLV 1
-
-/* Define if you have the socket library (-lsocket). */
-#define HAVE_LIBSOCKET 1
-
-/* Define if getaddrinfo exists and works */
-#define HAVE_GETADDRINFO 1
-
-/* Define if you have the <timeval.h> header file. */
-#define HAVE_TIMEVAL_H 1
-
-/* Define if you have the timeval struct. */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* Name of this package! */
-#define PACKAGE "not-used"
-
-/* Version number of this archive. */
-#define VERSION "not-used"
-
-/* Define if you have the getpass function. */
-#undef HAVE_GETPASS
-
-/* Define if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define if you have the `strtok_r' function. */
-/* Condition lifted from <string.h> */
-#if __CRTL_VER >= 70301000
-#define HAVE_STRTOK_R 1
-#endif
-
-/* Define if you have the `strtoll' function. */
-#define HAVE_STRTOLL 1
-
-/* Define if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-#define HAVE_FIONBIO 1
-
-/* Define if you have the `sigsetjmp' function. */
-#define HAVE_SIGSETJMP 1
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#define HAVE_SETJMP_H 1
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#define HAVE_SYS_IOCTL_H 1
-
-/* IOCTL_3_ARGS defined to match the ioctl function in stropts.h */
-#define IOCTL_3_ARGS 1
-
-/* Somewhere around 7.12.0 HAVE_INET_NTOP was introduced. */
-#define HAVE_INET_NTOP 1
-
-/* to disable LDAP */
-#define CURL_DISABLE_LDAP 1
-
-/* Define if you have the getnameinfo function. */
-#define HAVE_GETNAMEINFO 1
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 size_t
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
-/* Define if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 int
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 void *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 int
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 void
-
-/* Define if the type pointed by arg 2 for recvfrom is void. */
-#define RECVFROM_TYPE_ARG2_IS_VOID 1
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 int
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 void *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.h b/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.h
deleted file mode 100644
index bf53bf8..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/********************************************************************************************************************************/
-/* Created: 30-MAY-2008 14:11:08 by OpenVMS SDL EV1-60 */
-/* Source: 30-MAY-2008 14:09:41 $44$DKA200:[CURL.CURL-7_18_2-20080530.PACKAGES. */
-/********************************************************************************************************************************/
-/*** MODULE $CURDEF ***/
-#pragma __member_alignment __save
-#pragma __nomember_alignment
-/* */
-/* This SDL File Generated by VAX-11 Message V04-00 on 30-MAY-2008 14:09:41.93 */
-/* */
-/* $ID: CURLMSG.MSG,V 1.6 2007-07-11 23:18:15 CURLVMS EXP $ */
-/* */
-/* THESE VMS ERROR CODES ARE GENERATED BY TAKING APART THE CURL.H */
-/* FILE AND PUTTING ALL THE CURLE_* ENUM STUFF INTO THIS FILE, */
-/* CURLMSG.MSG. AN .SDL FILE IS CREATED FROM THIS FILE WITH */
-/* MESSAGE/SDL. THE .H FILE IS CREATED USING THE FREEWARE SDL TOOL */
-/* AGAINST THE .SDL FILE WITH SDL/ALPHA/LANG=CC COMMAND. */
-/* */
-/* WITH THE EXCEPTION OF CURLE_OK, ALL OF THE MESSAGES ARE AT */
-/* THE ERROR SEVERITY LEVEL. WITH THE EXCEPTION OF */
-/* PEER_FAILED_VERIF, WHICH IS A SHORTENED FORM OF */
-/* PEER_FAILED_VERIFICATION, THESE ARE THE SAME NAMES AS THE */
-/* CURLE_ ONES IN INCLUDE/CURL.H. THE MESSAGE UTILITY MANUAL STATES */
-/* "THE COMBINED LENGTH OF THE PREFIX AND THE MESSAGE SYMBOL NAME CANNOT */
-/* EXCEED 31 CHARACTERS." WITH A PREFIX OF FIVE THAT LEAVES US WITH 26 */
-/* FOR THE MESSAGE NAME. */
-/* */
-/* IF YOU UPDATE THIS FILE ALSO UPDATE CURLMSG_VMS.H SO THAT THEY ARE IN SYNC */
-/* */
-#define CURL_FACILITY 3841
-#define CURL_OK 251756553
-#define CURL_UNSUPPORTED_PROTOCOL 251756562
-#define CURL_FAILED_INIT 251756570
-#define CURL_URL_MALFORMAT 251756578
-#define CURL_OBSOLETE4 251756586
-#define CURL_COULDNT_RESOLVE_PROXY 251756594
-#define CURL_COULDNT_RESOLVE_HOST 251756602
-#define CURL_COULDNT_CONNECT 251756610
-#define CURL_FTP_WEIRD_SERVER_REPLY 251756618
-#define CURL_FTP_ACCESS_DENIED 251756626
-#define CURL_OBSOLETE10 251756634
-#define CURL_FTP_WEIRD_PASS_REPLY 251756642
-#define CURL_OBSOLETE12 251756650
-#define CURL_FTP_WEIRD_PASV_REPLY 251756658
-#define CURL_FTP_WEIRD_227_FORMAT 251756666
-#define CURL_FTP_CANT_GET_HOST 251756674
-#define CURL_OBSOLETE16 251756682
-#define CURL_FTP_COULDNT_SET_TYPE 251756690
-#define CURL_PARTIAL_FILE 251756698
-#define CURL_FTP_COULDNT_RETR_FILE 251756706
-#define CURL_OBSOLETE20 251756714
-#define CURL_QUOTE_ERROR 251756722
-#define CURL_HTTP_RETURNED_ERROR 251756730
-#define CURL_WRITE_ERROR 251756738
-#define CURL_OBSOLETE24 251756746
-#define CURL_UPLOAD_FAILED 251756754
-#define CURL_READ_ERROR 251756762
-#define CURL_OUT_OF_MEMORY 251756770
-#define CURL_OPERATION_TIMEOUTED 251756778
-#define CURL_OBSOLETE29 251756786
-#define CURL_FTP_PORT_FAILED 251756794
-#define CURL_FTP_COULDNT_USE_REST 251756802
-#define CURL_OBSOLETE32 251756810
-#define CURL_RANGE_ERROR 251756818
-#define CURL_HTTP_POST_ERROR 251756826
-#define CURL_SSL_CONNECT_ERROR 251756834
-#define CURL_BAD_DOWNLOAD_RESUME 251756842
-#define CURL_FILE_COULDNT_READ_FILE 251756850
-#define CURL_LDAP_CANNOT_BIND 251756858
-#define CURL_LDAP_SEARCH_FAILED 251756866
-#define CURL_OBSOLETE40 251756874
-#define CURL_FUNCTION_NOT_FOUND 251756882
-#define CURL_ABORTED_BY_CALLBACK 251756890
-#define CURL_BAD_FUNCTION_ARGUMENT 251756898
-#define CURL_OBSOLETE44 251756906
-#define CURL_INTERFACE_FAILED 251756914
-#define CURL_OBSOLETE46 251756922
-#define CURL_TOO_MANY_REDIRECTS 251756930
-#define CURL_UNKNOWN_TELNET_OPTION 251756938
-#define CURL_TELNET_OPTION_SYNTAX 251756946
-#define CURL_OBSOLETE50 251756954
-#define CURL_PEER_FAILED_VERIF 251756962
-#define CURL_GOT_NOTHING 251756970
-#define CURL_SSL_ENGINE_NOTFOUND 251756978
-#define CURL_SSL_ENGINE_SETFAILED 251756986
-#define CURL_SEND_ERROR 251756994
-#define CURL_RECV_ERROR 251757002
-#define CURL_OBSOLETE57 251757010
-#define CURL_SSL_CERTPROBLEM 251757018
-#define CURL_SSL_CIPHER 251757026
-#define CURL_SSL_CACERT 251757034
-#define CURL_BAD_CONTENT_ENCODING 251757042
-#define CURL_LDAP_INVALID_URL 251757050
-#define CURL_FILESIZE_EXCEEDED 251757058
-#define CURL_USE_SSL_FAILED 251757066
-#define CURL_SEND_FAIL_REWIND 251757074
-#define CURL_SSL_ENGINE_INITFAILED 251757082
-#define CURL_LOGIN_DENIED 251757090
-#define CURL_TFTP_NOTFOUND 251757098
-#define CURL_TFTP_PERM 251757106
-#define CURL_REMOTE_DISK_FULL 251757114
-#define CURL_TFTP_ILLEGAL 251757122
-#define CURL_TFTP_UNKNOWNID 251757130
-#define CURL_REMOTE_FILE_EXISTS 251757138
-#define CURL_TFTP_NOSUCHUSER 251757146
-#define CURL_CONV_FAILED 251757154
-#define CURL_CONV_REQD 251757162
-#define CURL_SSL_CACERT_BADFILE 251757170
-#define CURL_REMOTE_FILE_NOT_FOUND 251757178
-#define CURL_SSH 251757186
-#define CURL_SSL_SHUTDOWN_FAILED 251757194
-#define CURL_AGAIN 251757202
-#define CURL_CURL_LAST 251757210
-
-#pragma __member_alignment __restore
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.msg b/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.msg
deleted file mode 100644
index 9a89253..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.msg
+++ /dev/null
@@ -1,110 +0,0 @@
-! $Id$
-!
-! These VMS error codes are generated by taking apart the curl.h
-! file and putting all the CURLE_* enum stuff into this file,
-! CURLMSG.MSG. An .SDL file is created from this file with
-! MESSAGE/SDL. The .H file is created using the freeware SDL tool
-! against the .SDL file with SDL/ALPHA/LANG=CC command.
-!
-! With the exception of CURLE_OK, all of the messages are at
-! the error severity level. With the exception of
-! PEER_FAILED_VERIF, which is a shortened form of
-! PEER_FAILED_VERIFICATION, these are the same names as the
-! CURLE_ ones in include/curl.h. The Message Utility manual states
-! "The combined length of the prefix and the message symbol name cannot
-! exceed 31 characters." With a prefix of five that leaves us with 26
-! for the message name.
-!
-! If you update this file also update curlmsg_vms.h so that they are in sync
-!
-.TITLE CURLMSG Message files
-.FACILITY CURL,1793 /PREFIX=CURL_
-.BASE 1
-.SEVERITY SUCCESS
-OK <normal successful completion>
-
-.SEVERITY ERROR
-UNSUPPORTED_PROTOCOL <unsupported protocol>
-FAILED_INIT <failed init>
-URL_MALFORMAT <URL malformat>
-OBSOLETE4 <obsolete error code>
-COULDNT_RESOLVE_PROXY <could not resolve proxy>
-COULDNT_RESOLVE_HOST <could not resolve host>
-COULDNT_CONNECT <could not connect>
-FTP_WEIRD_SERVER_REPLY <FTP weird server reply>
-FTP_ACCESS_DENIED <FTP access denied>
-OBSOLETE10 <obsolete error code>
-FTP_WEIRD_PASS_REPLY <FTP weird PASS reply>
-OBSOLETE12 <obsolete error code>
-FTP_WEIRD_PASV_REPLY <FTP weird PASV reply>
-FTP_WEIRD_227_FORMAT <FTP weird 227 format>
-FTP_CANT_GET_HOST <FTP can not get host>
-OBSOLETE16 <obsolete error code>
-FTP_COULDNT_SET_TYPE <FTP could not set type>
-PARTIAL_FILE <partial file>
-FTP_COULDNT_RETR_FILE <FTP could not RETR file>
-OBSOLETE20 <obsolete error code>
-QUOTE_ERROR <quote command error>
-HTTP_RETURNED_ERROR <HTTP returned error>
-WRITE_ERROR <write error>
-OBSOLETE24 <obsolete error code>
-UPLOAD_FAILED <failed upload command>
-READ_ERROR <read error, could not open/read file>
-OUT_OF_MEMORY <out of memory>
-OPERATION_TIMEOUTED <operation timed out, timeout time was reached>
-OBSOLETE29 <obsolete error code>
-FTP_PORT_FAILED <FTP PORT operation failed>
-FTP_COULDNT_USE_REST <FTP REST command failed>
-OBSOLETE32 <obsolete error code>
-RANGE_ERROR <RANGE command error>
-HTTP_POST_ERROR <HTTP POST error>
-SSL_CONNECT_ERROR <SSL connect error>
-BAD_DOWNLOAD_RESUME <bad download resume>
-FILE_COULDNT_READ_FILE <FILE could not read file>
-LDAP_CANNOT_BIND <LDAP cannot bind>
-LDAP_SEARCH_FAILED <LDAP search failed>
-OBSOLETE40 <obsolete error code>
-FUNCTION_NOT_FOUND <function not found>
-ABORTED_BY_CALLBACK <aborted by callback>
-BAD_FUNCTION_ARGUMENT <bad function argument>
-OBSOLETE44 <obsolete error code>
-INTERFACE_FAILED <CURLOPT_INTERFACE failed>
-OBSOLETE46 <obsolete error code>
-TOO_MANY_REDIRECTS <too many redirects>
-UNKNOWN_TELNET_OPTION <unknown TELNET option>
-TELNET_OPTION_SYNTAX <malformed TELNET option syntax>
-OBSOLETE50 <obsolete error code>
-PEER_FAILED_VERIF <peer certificate or fingerprint failed>
-GOT_NOTHING <got nothing>
-SSL_ENGINE_NOTFOUND <SSL crypto engine not found>
-SSL_ENGINE_SETFAILED <SSL can not set SSL crypto engine as default>
-SEND_ERROR <SEND error, failure sending network data>
-RECV_ERROR <RECV error, failure receiving network data>
-OBSOLETE57 <obsolete error code>
-SSL_CERTPROBLEM <SSL problem with the local certificate>
-SSL_CIPHER <SSL CIPHER, could not use specified cipher>
-SSL_CACERT <SSL CACERT, problem with the CA cert (path?)>
-BAD_CONTENT_ENCODING <unrecognized transfer encoding>
-LDAP_INVALID_URL <LDAP invalid url>
-FILESIZE_EXCEEDED <maximum file size exceeded>
-USE_SSL_FAILED <requested FTP SSL level failed>
-SEND_FAIL_REWIND <sending data requires a rewind that failed>
-SSL_ENGINE_INITFAILED <failed to initialise ENGINE>
-LOGIN_DENIED <user or password not accepted. failed to login>
-TFTP_NOTFOUND <file not found on server>
-TFTP_PERM <permission problem on server>
-REMOTE_DISK_FULL <out of disk space on server>
-TFTP_ILLEGAL <illegal TFTP operation>
-TFTP_UNKNOWNID <unknown transfer ID>
-REMOTE_FILE_EXISTS <file already exists>
-TFTP_NOSUCHUSER <no such user>
-CONV_FAILED <conversion failed>
-CONV_REQD <caller must register conversion callbacks>
-SSL_CACERT_BADFILE <could not load CACERT file>
-REMOTE_FILE_NOT_FOUND <remote file not found>
-SSH <unspecified error from the SSH layer>
-SSL_SHUTDOWN_FAILED <failed to shut down the SSL connection>
-AGAIN <socket not ready, wait and try again>
-CURL_LAST <CURLMSG.MSG is out of sync with the source code>
-
-.END
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.sdl b/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.sdl
deleted file mode 100644
index a1ca6c0..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg.sdl
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
- MODULE $CURDEF;
-
-/*
-/* This SDL File Generated by VAX-11 Message V04-00 on 30-MAY-2008 14:09:41.93
-/*
-/* $ID: CURLMSG.MSG,V 1.6 2007-07-11 23:18:15 CURLVMS EXP $
-/*
-/* THESE VMS ERROR CODES ARE GENERATED BY TAKING APART THE CURL.H
-/* FILE AND PUTTING ALL THE CURLE_* ENUM STUFF INTO THIS FILE,
-/* CURLMSG.MSG. AN .SDL FILE IS CREATED FROM THIS FILE WITH
-/* MESSAGE/SDL. THE .H FILE IS CREATED USING THE FREEWARE SDL TOOL
-/* AGAINST THE .SDL FILE WITH SDL/ALPHA/LANG=CC COMMAND.
-/*
-/* WITH THE EXCEPTION OF CURLE_OK, ALL OF THE MESSAGES ARE AT
-/* THE ERROR SEVERITY LEVEL. WITH THE EXCEPTION OF
-/* PEER_FAILED_VERIF, WHICH IS A SHORTENED FORM OF
-/* PEER_FAILED_VERIFICATION, THESE ARE THE SAME NAMES AS THE
-/* CURLE_ ONES IN INCLUDE/CURL.H. THE MESSAGE UTILITY MANUAL STATES
-/* "THE COMBINED LENGTH OF THE PREFIX AND THE MESSAGE SYMBOL NAME CANNOT
-/* EXCEED 31 CHARACTERS." WITH A PREFIX OF FIVE THAT LEAVES US WITH 26
-/* FOR THE MESSAGE NAME.
-/*
-/* IF YOU UPDATE THIS FILE ALSO UPDATE CURLMSG_VMS.H SO THAT THEY ARE IN SYNC
-/*
- CONSTANT
- "FACILITY" EQUALS 3841 PREFIX "CURL" TAG ""
- ,"OK" EQUALS %X0F018009 PREFIX "CURL" TAG ""
- ,"UNSUPPORTED_PROTOCOL" EQUALS %X0F018012 PREFIX "CURL" TAG ""
- ,"FAILED_INIT" EQUALS %X0F01801A PREFIX "CURL" TAG ""
- ,"URL_MALFORMAT" EQUALS %X0F018022 PREFIX "CURL" TAG ""
- ,"OBSOLETE4" EQUALS %X0F01802A PREFIX "CURL" TAG ""
- ,"COULDNT_RESOLVE_PROXY" EQUALS %X0F018032 PREFIX "CURL" TAG ""
- ,"COULDNT_RESOLVE_HOST" EQUALS %X0F01803A PREFIX "CURL" TAG ""
- ,"COULDNT_CONNECT" EQUALS %X0F018042 PREFIX "CURL" TAG ""
- ,"FTP_WEIRD_SERVER_REPLY" EQUALS %X0F01804A PREFIX "CURL" TAG ""
- ,"FTP_ACCESS_DENIED" EQUALS %X0F018052 PREFIX "CURL" TAG ""
- ,"OBSOLETE10" EQUALS %X0F01805A PREFIX "CURL" TAG ""
- ,"FTP_WEIRD_PASS_REPLY" EQUALS %X0F018062 PREFIX "CURL" TAG ""
- ,"OBSOLETE12" EQUALS %X0F01806A PREFIX "CURL" TAG ""
- ,"FTP_WEIRD_PASV_REPLY" EQUALS %X0F018072 PREFIX "CURL" TAG ""
- ,"FTP_WEIRD_227_FORMAT" EQUALS %X0F01807A PREFIX "CURL" TAG ""
- ,"FTP_CANT_GET_HOST" EQUALS %X0F018082 PREFIX "CURL" TAG ""
- ,"OBSOLETE16" EQUALS %X0F01808A PREFIX "CURL" TAG ""
- ,"FTP_COULDNT_SET_TYPE" EQUALS %X0F018092 PREFIX "CURL" TAG ""
- ,"PARTIAL_FILE" EQUALS %X0F01809A PREFIX "CURL" TAG ""
- ,"FTP_COULDNT_RETR_FILE" EQUALS %X0F0180A2 PREFIX "CURL" TAG ""
- ,"OBSOLETE20" EQUALS %X0F0180AA PREFIX "CURL" TAG ""
- ,"QUOTE_ERROR" EQUALS %X0F0180B2 PREFIX "CURL" TAG ""
- ,"HTTP_RETURNED_ERROR" EQUALS %X0F0180BA PREFIX "CURL" TAG ""
- ,"WRITE_ERROR" EQUALS %X0F0180C2 PREFIX "CURL" TAG ""
- ,"OBSOLETE24" EQUALS %X0F0180CA PREFIX "CURL" TAG ""
- ,"UPLOAD_FAILED" EQUALS %X0F0180D2 PREFIX "CURL" TAG ""
- ,"READ_ERROR" EQUALS %X0F0180DA PREFIX "CURL" TAG ""
- ,"OUT_OF_MEMORY" EQUALS %X0F0180E2 PREFIX "CURL" TAG ""
- ,"OPERATION_TIMEOUTED" EQUALS %X0F0180EA PREFIX "CURL" TAG ""
- ,"OBSOLETE29" EQUALS %X0F0180F2 PREFIX "CURL" TAG ""
- ,"FTP_PORT_FAILED" EQUALS %X0F0180FA PREFIX "CURL" TAG ""
- ,"FTP_COULDNT_USE_REST" EQUALS %X0F018102 PREFIX "CURL" TAG ""
- ,"OBSOLETE32" EQUALS %X0F01810A PREFIX "CURL" TAG ""
- ,"RANGE_ERROR" EQUALS %X0F018112 PREFIX "CURL" TAG ""
- ,"HTTP_POST_ERROR" EQUALS %X0F01811A PREFIX "CURL" TAG ""
- ,"SSL_CONNECT_ERROR" EQUALS %X0F018122 PREFIX "CURL" TAG ""
- ,"BAD_DOWNLOAD_RESUME" EQUALS %X0F01812A PREFIX "CURL" TAG ""
- ,"FILE_COULDNT_READ_FILE" EQUALS %X0F018132 PREFIX "CURL" TAG ""
- ,"LDAP_CANNOT_BIND" EQUALS %X0F01813A PREFIX "CURL" TAG ""
- ,"LDAP_SEARCH_FAILED" EQUALS %X0F018142 PREFIX "CURL" TAG ""
- ,"OBSOLETE40" EQUALS %X0F01814A PREFIX "CURL" TAG ""
- ,"FUNCTION_NOT_FOUND" EQUALS %X0F018152 PREFIX "CURL" TAG ""
- ,"ABORTED_BY_CALLBACK" EQUALS %X0F01815A PREFIX "CURL" TAG ""
- ,"BAD_FUNCTION_ARGUMENT" EQUALS %X0F018162 PREFIX "CURL" TAG ""
- ,"OBSOLETE44" EQUALS %X0F01816A PREFIX "CURL" TAG ""
- ,"INTERFACE_FAILED" EQUALS %X0F018172 PREFIX "CURL" TAG ""
- ,"OBSOLETE46" EQUALS %X0F01817A PREFIX "CURL" TAG ""
- ,"TOO_MANY_REDIRECTS" EQUALS %X0F018182 PREFIX "CURL" TAG ""
- ,"UNKNOWN_TELNET_OPTION" EQUALS %X0F01818A PREFIX "CURL" TAG ""
- ,"TELNET_OPTION_SYNTAX" EQUALS %X0F018192 PREFIX "CURL" TAG ""
- ,"OBSOLETE50" EQUALS %X0F01819A PREFIX "CURL" TAG ""
- ,"PEER_FAILED_VERIF" EQUALS %X0F0181A2 PREFIX "CURL" TAG ""
- ,"GOT_NOTHING" EQUALS %X0F0181AA PREFIX "CURL" TAG ""
- ,"SSL_ENGINE_NOTFOUND" EQUALS %X0F0181B2 PREFIX "CURL" TAG ""
- ,"SSL_ENGINE_SETFAILED" EQUALS %X0F0181BA PREFIX "CURL" TAG ""
- ,"SEND_ERROR" EQUALS %X0F0181C2 PREFIX "CURL" TAG ""
- ,"RECV_ERROR" EQUALS %X0F0181CA PREFIX "CURL" TAG ""
- ,"OBSOLETE57" EQUALS %X0F0181D2 PREFIX "CURL" TAG ""
- ,"SSL_CERTPROBLEM" EQUALS %X0F0181DA PREFIX "CURL" TAG ""
- ,"SSL_CIPHER" EQUALS %X0F0181E2 PREFIX "CURL" TAG ""
- ,"SSL_CACERT" EQUALS %X0F0181EA PREFIX "CURL" TAG ""
- ,"BAD_CONTENT_ENCODING" EQUALS %X0F0181F2 PREFIX "CURL" TAG ""
- ,"LDAP_INVALID_URL" EQUALS %X0F0181FA PREFIX "CURL" TAG ""
- ,"FILESIZE_EXCEEDED" EQUALS %X0F018202 PREFIX "CURL" TAG ""
- ,"USE_SSL_FAILED" EQUALS %X0F01820A PREFIX "CURL" TAG ""
- ,"SEND_FAIL_REWIND" EQUALS %X0F018212 PREFIX "CURL" TAG ""
- ,"SSL_ENGINE_INITFAILED" EQUALS %X0F01821A PREFIX "CURL" TAG ""
- ,"LOGIN_DENIED" EQUALS %X0F018222 PREFIX "CURL" TAG ""
- ,"TFTP_NOTFOUND" EQUALS %X0F01822A PREFIX "CURL" TAG ""
- ,"TFTP_PERM" EQUALS %X0F018232 PREFIX "CURL" TAG ""
- ,"REMOTE_DISK_FULL" EQUALS %X0F01823A PREFIX "CURL" TAG ""
- ,"TFTP_ILLEGAL" EQUALS %X0F018242 PREFIX "CURL" TAG ""
- ,"TFTP_UNKNOWNID" EQUALS %X0F01824A PREFIX "CURL" TAG ""
- ,"REMOTE_FILE_EXISTS" EQUALS %X0F018252 PREFIX "CURL" TAG ""
- ,"TFTP_NOSUCHUSER" EQUALS %X0F01825A PREFIX "CURL" TAG ""
- ,"CONV_FAILED" EQUALS %X0F018262 PREFIX "CURL" TAG ""
- ,"CONV_REQD" EQUALS %X0F01826A PREFIX "CURL" TAG ""
- ,"SSL_CACERT_BADFILE" EQUALS %X0F018272 PREFIX "CURL" TAG ""
- ,"REMOTE_FILE_NOT_FOUND" EQUALS %X0F01827A PREFIX "CURL" TAG ""
- ,"SSH" EQUALS %X0F018282 PREFIX "CURL" TAG ""
- ,"SSL_SHUTDOWN_FAILED" EQUALS %X0F01828A PREFIX "CURL" TAG ""
- ,"AGAIN" EQUALS %X0F018292 PREFIX "CURL" TAG ""
- ,"CURL_LAST" EQUALS %X0F01829A PREFIX "CURL" TAG ""
- ;
- END_MODULE;
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg_vms.h b/Utilities/cmcurl-7.19.0/packages/vms/curlmsg_vms.h
deleted file mode 100644
index 6e102c8..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/curlmsg_vms.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* $Id$ */
-/* CURLMSG_VMS.H */
-/* This defines the necessary bits to change CURLE_* error codes to VMS */
-/* style error codes. CURLMSG.H is built from CURLMSG.SDL which is built */
-/* from CURLMSG.MSG. The vms_cond array is used to return VMS errors by */
-/* putting the VMS error codes into the array offset based on CURLE_* code. */
-/* */
-/* If you update CURLMSG.MSG make sure to update this file to match. */
-/* */
-#include "curlmsg.h"
-int vms_show = 0;
-/*
-#define FAC_CURL 0xC01
-#define FAC_SYSTEM 0
-#define MSG_NORMAL 0
-*/
-#define VMS_STS(c,f,e,s) (((c&0xF)<<28)|((f&0xFFF)<<16)|((e&0x1FFF)<3)|(s&7))
-#define VMSSTS_HIDE VMS_STS(1,0,0,0)
-/*
-#define SEV_WARNING 0
-#define SEV_SUCCESS 1
-#define SEV_ERROR 2
-#define SEV_INFO 3
-#define SEV_FATAL 4
-*/
-long vms_cond[] =
- {
- CURL_OK,
- CURL_UNSUPPORTED_PROTOCOL,
- CURL_FAILED_INIT,
- CURL_URL_MALFORMAT,
- CURL_OBSOLETE4,
- CURL_COULDNT_RESOLVE_PROXY,
- CURL_COULDNT_RESOLVE_HOST,
- CURL_COULDNT_CONNECT,
- CURL_FTP_WEIRD_SERVER_REPLY,
- CURL_FTP_ACCESS_DENIED,
- CURL_OBSOLETE10,
- CURL_FTP_WEIRD_PASS_REPLY,
- CURL_OBSOLETE12,
- CURL_FTP_WEIRD_PASV_REPLY,
- CURL_FTP_WEIRD_227_FORMAT,
- CURL_FTP_CANT_GET_HOST,
- CURL_OBSOLETE16,
- CURL_FTP_COULDNT_SET_TYPE,
- CURL_PARTIAL_FILE,
- CURL_FTP_COULDNT_RETR_FILE,
- CURL_OBSOLETE20,
- CURL_QUOTE_ERROR,
- CURL_HTTP_RETURNED_ERROR,
- CURL_WRITE_ERROR,
- CURL_OBSOLETE24,
- CURL_UPLOAD_FAILED,
- CURL_READ_ERROR,
- CURL_OUT_OF_MEMORY,
- CURL_OPERATION_TIMEOUTED,
- CURL_OBSOLETE29,
- CURL_FTP_PORT_FAILED,
- CURL_FTP_COULDNT_USE_REST,
- CURL_OBSOLETE32,
- CURL_RANGE_ERROR,
- CURL_HTTP_POST_ERROR,
- CURL_SSL_CONNECT_ERROR,
- CURL_BAD_DOWNLOAD_RESUME,
- CURL_FILE_COULDNT_READ_FILE,
- CURL_LDAP_CANNOT_BIND,
- CURL_LDAP_SEARCH_FAILED,
- CURL_OBSOLETE40,
- CURL_FUNCTION_NOT_FOUND,
- CURL_ABORTED_BY_CALLBACK,
- CURL_BAD_FUNCTION_ARGUMENT,
- CURL_OBSOLETE44,
- CURL_INTERFACE_FAILED,
- CURL_OBSOLETE46,
- CURL_TOO_MANY_REDIRECTS,
- CURL_UNKNOWN_TELNET_OPTION,
- CURL_TELNET_OPTION_SYNTAX,
- CURL_OBSOLETE50,
- CURL_PEER_FAILED_VERIF,
- CURL_GOT_NOTHING,
- CURL_SSL_ENGINE_NOTFOUND,
- CURL_SSL_ENGINE_SETFAILED,
- CURL_SEND_ERROR,
- CURL_RECV_ERROR,
- CURL_OBSOLETE57,
- CURL_SSL_CERTPROBLEM,
- CURL_SSL_CIPHER,
- CURL_SSL_CACERT,
- CURL_BAD_CONTENT_ENCODING,
- CURL_LDAP_INVALID_URL,
- CURL_FILESIZE_EXCEEDED,
- CURL_USE_SSL_FAILED,
- CURL_SEND_FAIL_REWIND,
- CURL_SSL_ENGINE_INITFAILED,
- CURL_LOGIN_DENIED,
- CURL_TFTP_NOTFOUND,
- CURL_TFTP_PERM,
- CURL_REMOTE_DISK_FULL,
- CURL_TFTP_ILLEGAL,
- CURL_TFTP_UNKNOWNID,
- CURL_REMOTE_FILE_EXISTS,
- CURL_TFTP_NOSUCHUSER,
- CURL_CONV_FAILED,
- CURL_CONV_REQD,
- CURL_SSL_CACERT_BADFILE,
- CURL_REMOTE_FILE_NOT_FOUND,
- CURL_SSH,
- CURL_SSL_SHUTDOWN_FAILED,
- CURL_AGAIN,
- CURL_CURL_LAST
- };
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/defines.com b/Utilities/cmcurl-7.19.0/packages/vms/defines.com
deleted file mode 100755
index aafebe5..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/defines.com
+++ /dev/null
@@ -1,78 +0,0 @@
-$! $Id$
-$! DEFINES.COM
-$! Define where to look for the curl include directory, where to put the
-$! exes and objects, and the openssl stuff. If you have hp's SSL product
-$! installed you won't need these openssl, libssl and libcrypto defines.
-$!
-$! Be cautioned, though. If you build using these defines at the process
-$! level and then try to build against hp's SSL product, you will need to
-$! deassign the openssl logical at the process level or the link will most
-$! probably fail, or define CURL_BUILD_NOHPSSL to anything.
-$!
-$! 8-FEB-2005, MSK, changed the openssl, libssl and libcrypto defines
-$! to not override previously defined logicals.
-$!
-$ proc = f$environment( "PROCEDURE")
-$ thisdev = f$parse( proc,,,"DEVICE")
-$ thisdir = f$parse( proc,,,"DIRECTORY") - ".PACKAGES.VMS]"
-$ newdir = f$parse( proc,,,"DEVICE") + f$parse( proc,,,"DIRECTORY")
-$ exedir = newdir - "]"
-$!
-$ arch = f$getsyi("ARCH_TYPE")
-$ if ( arch .eq. 1)
-$ then
-$ exedir = exedir + ".VAX]"
-$ ssldir = "VAX"
-$ else
-$ if ( arch .eq. 2)
-$ then
-$ exedir = exedir + ".AXP]"
-$ ssldir = "AXP"
-$ else
-$ exedir = exedir + ".IA64]"
-$ ssldir = "IA64"
-$ endif
-$ endif
-$ def/nolog exedir 'exedir'
-$ def/nolog objdir 'exedir'
-$ def/nolog lisdir 'exedir'
-$!
-$ def/nolog curl 'THISDEV''THISDIR'.INCLUDE.CURL]
-$ def/nolog libsrc 'THISDEV''THISDIR'.LIB]
-$ def/nolog curlsrc 'THISDEV''THISDIR'.SRC]
-$!
-$! If you're going to build against an OpenSSL dist, you'll want to define
-$! the following logicals to point to the dist location.
-$!
-$ if ( f$trnlnm( "openssl") .eqs. "")
-$ then
-$ def/nolog openssl 'THISDEV'[OPENSSL.OPENSSL-0_9_7E.INCLUDE.OPENSSL]
-$ endif
-$ if ( f$trnlnm( "libssl") .eqs. "")
-$ then
-$ def/nolog libssl 'THISDEV'[OPENSSL.OPENSSL-0_9_7E.'ssldir'.EXE.SSL]LIBSSL.OLB
-$ endif
-$ if ( f$trnlnm( "libcrypto") .eqs. "")
-$ then
-$ def/nolog libcrypto 'THISDEV'[OPENSSL.OPENSSL-0_9_7E.'ssldir'.EXE.CRYPTO]LIBCRYPTO.OLB
-$ endif
-$!
-$! If you have hp's SSL product installed, and you still want to build
-$! against an OpenSSL distribution, you'll need to define the following
-$! logical. The CURL_BUILD_NOHPSSL logical is used by BUILD_VMS.COM.
-$!
-$ def/nolog CURL_BUILD_NOHPSSL true
-$!
-$! The curl code has some mixed up includes where a user include is done
-$! with <> and a system include is done with "". Define a broader include
-$! path to make the compile work "right".
-$!
-$ def/nolog decc$system_include libsrc:,curlsrc:
-$!
-$! The build_vms.com checks to see if the curl_defines_done logical is
-$! defined. If it isn't it will invoke this procedure. If it is, and
-$! you change something in here, you'll have to run the procedure yourself.
-$!
-$ def/nolog curl_defines_done true
-$!
-$ exit
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/hpssl_alpha.opt b/Utilities/cmcurl-7.19.0/packages/vms/hpssl_alpha.opt
deleted file mode 100644
index 3ad9fbd..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/hpssl_alpha.opt
+++ /dev/null
@@ -1,2 +0,0 @@
-SYS$LIBRARY:SSL$LIBCRYPTO_SHR32.EXE/SHARE
-SYS$LIBRARY:SSL$LIBSSL_SHR32.EXE/SHARE
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/hpssl_ia64.opt b/Utilities/cmcurl-7.19.0/packages/vms/hpssl_ia64.opt
deleted file mode 100644
index 9b22014..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/hpssl_ia64.opt
+++ /dev/null
@@ -1,2 +0,0 @@
-SYS$LIBRARY:SSL$LIBCRYPTO_SHR.EXE/SHARE
-SYS$LIBRARY:SSL$LIBSSL_SHR.EXE/SHARE
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/hpssl_vax.opt b/Utilities/cmcurl-7.19.0/packages/vms/hpssl_vax.opt
deleted file mode 100644
index 3ad9fbd..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/hpssl_vax.opt
+++ /dev/null
@@ -1,2 +0,0 @@
-SYS$LIBRARY:SSL$LIBCRYPTO_SHR32.EXE/SHARE
-SYS$LIBRARY:SSL$LIBSSL_SHR32.EXE/SHARE
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/ia64/README b/Utilities/cmcurl-7.19.0/packages/vms/ia64/README
deleted file mode 100644
index d00491f..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/ia64/README
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/readme b/Utilities/cmcurl-7.19.0/packages/vms/readme
deleted file mode 100644
index bf365c4..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/readme
+++ /dev/null
@@ -1,67 +0,0 @@
-$Id$
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- ( (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
- for OpenVMS
-
-History:
-
- 9-MAR-2004, Created this readme. file. Marty Kuhrt (MSK).
-15-MAR-2004, MSK, Updated to reflect the new files in this directory.
-14-FEB-2005, MSK, removed config-vms.h_with* file comments
-
-
-Prerequisites:
-
-OpenVMS V7.0 or later (any platform)
-DECC V6.5 or later
-OpenSSL or hp SSL, if you want SSL support
-
-What is Here:
-
-This directory contains the following files:
-
-AXP.DIR - Target directory for Alpha builds.
-BATCH_COMPILE.COM - Quick and dirty batch build procedure.
-BUILD_VMS.COM - The brute force build procedure that sets
- up the config files, and builds all the C
- and MSG files in the lib and src
- subdirectories.
-CONFIG-VMS.H - The config file used for all builds.
-CURLMSG.H - Created with SDL/ALPHA/LANGUAGE=CC CURLMSG.SDL
- (Needs freeware SDL tool)
-CURLMSG.MSG - Source for .SDL and .H as well as the
- .OBJ used to link against for error messages.
-CURLMSG.SDL - Created with MESSAGE/SDL CURLMSG.MSG.
-CURLMSG_VMS.H - Maps curl error codes to VMS error numbers.
-DEFINES.COM - Some handy logicals needed for the build.
- You may need to update this for your setup.
-HPSSL_ALPHA.OPT - Option file for hp SSL link on Alpha.
-HPSSL_IA64.OPT - Option file for hp SSL link on IA64.
-HPSSL_VAX.OPT - Option file for hp SSL link on VAX.
-IA64.DIR - Target directory for IA64 builds.
-README. - This file.
-VAX.DIR - Target directory for VAX builds.
-
-
-How to Build:
-
-In theory you should be able to do an @defines followed by an
-@build_vms from this directory and it will create brand new .olbs and
-an .exe. I say in theory because every release of cURL tosses in a
-new twist that has to be addressed by updating the config-vms.h*
-files, or other files. I'm working on keeping all the OpenVMS
-dependant stuff in this config file to keep from having to wade
-through gobs of #ifdefs and such.
-
-Other Notes:
-
-The test suites are not supported as of 7.11.0.
-
-The CURLMSG.SDL and CURLMSG.H files are generated from CURLMSG.MSG.
-This is not done automatically, since the .MSG file is a hand edit
-of the relevant stuff from the CURL.H file. If you want to do this
-yourself you'll need the SDL package from the freeware CD.
-
diff --git a/Utilities/cmcurl-7.19.0/packages/vms/vax/README b/Utilities/cmcurl-7.19.0/packages/vms/vax/README
deleted file mode 100644
index d00491f..0000000
--- a/Utilities/cmcurl-7.19.0/packages/vms/vax/README
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Utilities/cmcurl-7.19.0/reconf b/Utilities/cmcurl-7.19.0/reconf
deleted file mode 100755
index 39405b0..0000000
--- a/Utilities/cmcurl-7.19.0/reconf
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# $Id$
-#
-# re autoconf/automake shell script
-#
-
-die(){
- echo "$@" ; exit
-}
-
-aclocal -I . || die "The command 'aclocal -I .' failed"
-autoheader || die "The command 'autoheader' failed"
-automake || die "The command 'automake' failed"
-autoconf || die "The command 'autoconf' failed"
diff --git a/Utilities/cmcurl-7.19.0/sample.emacs b/Utilities/cmcurl-7.19.0/sample.emacs
deleted file mode 100644
index c3d05d2..0000000
--- a/Utilities/cmcurl-7.19.0/sample.emacs
+++ /dev/null
@@ -1,46 +0,0 @@
-;; $Id$ -*- emacs-lisp -*-
-
-;; This file was contributed by Mats Lidell
-
-;; Here's a sample .emacs file that might help you along the way.
-
-;; First comes a setup that is ideal when you are only working with curl. Just
-;; select the next few lines, paste it into your .emacs and change the path to
-;; the tools folder. (If you are using more than one style. Look further down
-;; this file.)
-
-(load-file "<YOUR-PATH-TO-CURL>/curl-style.el")
-(add-hook 'c-mode-common-hook 'curl-c-mode-common-hook)
-
-;; If you are using more than one style in maybe more than one project the
-;; example below might help out. It uses a predicate hook pair to select the
-;; right hook to use.
-
-(defvar my-style-selective-mode-hook nil
- "Holds a list of predicate and hooks pairs. (list (PREDICATE . HOOK)
-...) It is used by my-mode-selective-mood-hook-function for choosing
-the right hook to run.")
-
-(defun my-style-selective-mode-hook-function ()
- "Run each PREDICATE in `my-style-selective-mode-hook' to see if the
-HOOK in the pair should be executed. If the PREDICATE evaluate to non
-nil HOOK is executed and the rest of the hooks are ignored."
- (let ((h my-style-selective-mode-hook))
- (while (not (eval (caar h)))
- (setq h (cdr h)))
- (funcall (cdar h))))
-
-;;; Example configuration.
-;; Add the selective hook to the c-mode-common-hook
-(add-hook 'c-mode-common-hook 'my-style-selective-mode-hook-function)
-
-;; Add your own hooks and predicates. The predicate should evaluate to
-;; non nil if the hook in the pair is supposed to be evaluated. In the
-;; example a part of the path is used to select what style to
-;; use. Choose what is appropriate for you.
-(add-hook 'my-style-selective-mode-hook
- '((string-match "curl" (buffer-file-name)) . curl-c-mode-common-hook))
-(add-hook 'my-style-selective-mode-hook
- '((string-match "other" (buffer-file-name)) . other-c-mode-common-hook))
-;; Make sure the default style is appended.
-(add-hook 'my-style-selective-mode-hook '(t . my-c-mode-common-hook) t)
diff --git a/Utilities/cmcurl-7.19.0/src/CMakeLists.txt b/Utilities/cmcurl-7.19.0/src/CMakeLists.txt
deleted file mode 100644
index c0a1137..0000000
--- a/Utilities/cmcurl-7.19.0/src/CMakeLists.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-# libcurl has sources that provide functions named curlx_* that aren't part of
-# the official API, but we re-use the code here to avoid duplication.
-set(CURLX_ONES
- ${CURL_SOURCE_DIR}/lib/strtoofft.c
- ${CURL_SOURCE_DIR}/lib/strdup.c
- )
-
-set(CURL_SOURCES
- main.c hugehelp.c urlglob.c writeout.c writeenv.c
- getpass.c homedir.c curlutil.c)
-
-set(CURL_HFILES hugehelp.h setup.h config-win32.h config-mac.h
- config-riscos.h urlglob.h version.h
- writeout.h writeenv.h getpass.h homedir.h curlutil.h
-)
-
-add_executable(curl ${CURL_SOURCES} ${CURLX_ONES} ${CURL_HFILES})
-target_link_libraries(curl cmcurl)
-
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.Watcom b/Utilities/cmcurl-7.19.0/src/Makefile.Watcom
deleted file mode 100644
index 6154002..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.Watcom
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-# Watcom / OpenWatcom / Win32 makefile for cURL.
-# G. Vanem <gvanem@broadpark.no>
-#
-# $Id$
-
-CC = wcc386
-
-CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm &
- -bt=nt -d+ -dWIN32 -dHAVE_STRTOLL -dCURLDEBUG -dENABLE_IPV6 &
- -dHAVE_WINSOCK2_H -I..\include -I..\lib
-
-OBJ_DIR = WC_Win32.obj
-
-OBJS = $(OBJ_DIR)\getpass.obj $(OBJ_DIR)\homedir.obj $(OBJ_DIR)\hugehelp.obj &
- $(OBJ_DIR)\main.obj $(OBJ_DIR)\urlglob.obj $(OBJ_DIR)\writeenv.obj &
- $(OBJ_DIR)\writeout.obj $(OBJ_DIR)\curlutil.obj
-
-RESOURCE = $(OBJ_DIR)\curl.res
-
-all: hugehelp.c $(OBJ_DIR) curl.exe .SYMBOLIC
- @echo Welcome to cURL
-
-hugehelp.c: hugehelp.c.cvs
- copy hugehelp.c.cvs hugehelp.c
-
-$(OBJ_DIR):
- mkdir $(OBJ_DIR)
-
-curl.exe: $(OBJS) $(RESOURCE)
- wlink name $@ system nt file { $(OBJS) } &
- option quiet, map, caseexact, eliminate, res=$(RESOURCE) &
- libpath $(%watcom)\lib386;$(%watcom)\lib386\nt &
- library ..\lib\libcurl_wc_imp.lib, clib3r.lib, ws2_32.lib
-
-clean: .SYMBOLIC
- - rm -f $(OBJS) $(RESOURCE)
-
-vclean realclean: clean .SYMBOLIC
- - rm -f curl.exe curl.map hugehelp.c
- - rmdir $(OBJ_DIR)
-
-$(RESOURCE): curl.rc
- wrc -dCURLDEBUG=1 -q -r -zm -I..\include -fo=$@ curl.rc
-
-.ERASE
-.c{$(OBJ_DIR)}.obj:
- $(CC) $[@ $(CFLAGS) -fo=$@
-
-#
-# Dependencies based on "gcc -MM .."
-#
-$(OBJ_DIR)\getpass.obj: getpass.c setup.h config-win32.h ..\lib\setup_once.h getpass.h &
- ..\lib\memdebug.h ..\lib\setup.h ..\lib\config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h
-
-$(OBJ_DIR)\homedir.obj: homedir.c setup.h config-win32.h ..\lib\setup_once.h homedir.h &
- ..\lib\memdebug.h ..\lib\setup.h ..\lib\config-win32.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlrules.h ..\include\curl\easy.h &
- ..\include\curl\multi.h ..\include\curl\curl.h
-
-$(OBJ_DIR)\hugehelp.obj: hugehelp.c
-
-$(OBJ_DIR)\main.obj: main.c setup.h config-win32.h ..\lib\setup_once.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- urlglob.h writeout.h getpass.h homedir.h curlutil.h hugehelp.h &
- version.h ..\include\curl\curlver.h ..\lib\curlx.h &
- ..\include\curl\mprintf.h ..\lib\strequal.h ..\lib\strtoofft.h &
- ..\lib\setup.h ..\lib\config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h ..\lib\timeval.h ..\lib\memdebug.h
-
-$(OBJ_DIR)\urlglob.obj: urlglob.c setup.h config-win32.h ..\lib\setup_once.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- ..\include\curl\mprintf.h urlglob.h ..\lib\memdebug.h ..\lib\setup.h &
- ..\lib\config-win32.h ..\include\curl\curlbuild.h &
- ..\include\curl\curlrules.h
-
-$(OBJ_DIR)\writeenv.obj: writeenv.c setup.h config-win32.h ..\lib\setup_once.h
-
-$(OBJ_DIR)\writeout.obj: writeout.c setup.h config-win32.h ..\lib\setup_once.h &
- ..\include\curl\curl.h ..\include\curl\curlver.h &
- ..\include\curl\curlbuild.h ..\include\curl\curlrules.h &
- ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h &
- ..\include\curl\mprintf.h writeout.h
-
-$(OBJ_DIR)\curlutil.obj: curlutil.c setup.h config-win32.h ..\lib\setup_once.h &
- curlutil.h
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.am b/Utilities/cmcurl-7.19.0/src/Makefile.am
deleted file mode 100644
index be76828..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.am
+++ /dev/null
@@ -1,92 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_builddir)/src is for curl's generated src/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
-# $(top_srcdir)/src is for curl's src/setup.h and "curl-private" files
-
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_builddir)/src \
- -I$(top_srcdir)/lib \
- -I$(top_srcdir)/src
-
-bin_PROGRAMS = curl
-
-include Makefile.inc
-
-curl_LDADD = ../lib/libcurl.la @CURL_LIBS@
-curl_DEPENDENCIES = ../lib/libcurl.la
-BUILT_SOURCES = hugehelp.c
-CLEANFILES = hugehelp.c
-# Use the C locale to ensure that only ASCII characters appear in the
-# embedded text.
-NROFF=env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
-
-EXTRA_DIST = mkhelp.pl makefile.dj Makefile.vc6 Makefile.b32 Makefile.m32 \
- Makefile.riscos config.h.in macos/curl.mcp.xml.sit.hqx \
- macos/MACINSTALL.TXT macos/src/curl_GUSIConfig.cpp curlsrc.dsp \
- macos/src/macos_main.cpp config-amigaos.h makefile.amiga curl.rc \
- Makefile.netware Makefile.inc Makefile.Watcom curlsrc.dsw
-
-MANPAGE=$(top_srcdir)/docs/curl.1
-README=$(top_srcdir)/docs/MANUAL
-MKHELP=$(top_srcdir)/src/mkhelp.pl
-HUGE=hugehelp.c
-
-if USE_MANUAL
-# Here are the stuff to create a built-in manual
-
-if HAVE_LIBZ
-# This generates the hugehelp.c file in both uncompressed and compressed formats
-$(HUGE): $(README) $(MANPAGE) mkhelp.pl
- echo '#include "setup.h"' > $(HUGE)
- echo '#ifndef HAVE_LIBZ' >> $(HUGE)
- $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
- echo '#else' >> $(HUGE)
- $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c $(README) >> $(HUGE)
- echo '#endif /* HAVE_LIBZ */' >> $(HUGE)
-else # HAVE_LIBZ
-# This generates the hugehelp.c file uncompressed only
-$(HUGE): $(README) $(MANPAGE) mkhelp.pl
- echo '#include "setup.h"' > $(HUGE)
- $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
-endif
-
-else # USE_MANUAL
-# built-in manual has been disabled, make a blank file
-$(HUGE):
- echo "/* built-in manual is disabled, blank function */" > $(HUGE)
- echo '#include "hugehelp.h"' >> $(HUGE)
- echo "void hugehelp(void) {}" >>$(HUGE)
-endif
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.b32 b/Utilities/cmcurl-7.19.0/src/Makefile.b32
deleted file mode 100644
index b4677c6..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.b32
+++ /dev/null
@@ -1,90 +0,0 @@
-############################################################
-# $Id$
-#
-# Makefile.b32 - Borland's C++ Compiler 5.X
-#
-# 'src' directory
-#
-# 'BCCDIR' has to be set up to point to the base directory
-# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
-# where c:\Borland\BCC55 is the compiler is installed
-#
-# Written by Jaepil Kim, pit@paradise.net.nz
-############################################################
-
-# Edit the path below to point to the base of your Zlib sources.
-!ifndef ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.1
-!endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-!ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.7d
-!endif
-
-# Set program's name
-PROGNAME = curl.exe
-
-# Setup environment
-CXX = bcc32
-LD = bcc32
-CP = copy
-RM = del
-LIB = tlib
-
-CXXFLAGS = -q -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM
-LDFLAGS = -q -lq -lap
-
-INCDIRS = -I.;../include;../lib
-LINKLIB = $(BCCDIR)/lib/cw32mt.lib
-
-# If you build with SSL support, set WITH_SSL=1
-DEFINES = -DNDEBUG -DWIN32
-
-!ifdef DYNAMIC
-LIBCURL_LIB = ../lib/libcurl_imp.lib
-!else
-LIBCURL_LIB = ../lib/libcurl.lib
-DEFINES = $(DEFINES) -DCURL_STATICLIB
-!endif
-
-!ifdef WITH_ZLIB
-DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
-INCDIRS = $(INCDIRS);$(ZLIB_PATH)
-LINKLIB = $(LINKLIB) $(ZLIB_PATH)/zlib.lib
-!endif
-
-!ifdef WITH_SSL
-DEFINES = $(DEFINES) -DUSE_SSLEAY
-INCDIRS = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl
-LINKLIB = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib
-!endif
-
-.autodepend
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-top_srcdir = ..
-!include Makefile.inc
-
-CSOURCES = $(CURL_SOURCES) $(CURLX_ONES)
-OBJECTS = $(CSOURCES:.c=.obj)
-
-.c.obj:
- $(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $<
-
-all: $(PROGNAME)
-
-clean:
- -$(RM) $(PROGNAME)
- -$(RM) *.obj
- -$(RM) hugehelp.c
-
-$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
- @-$(RM) $@
- $(LD) $(LDFLAGS) -e$@ $**
-
-hugehelp.c: hugehelp.c.cvs
- @echo Creating $@
- @$(CP) $** $@
-
-
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.in b/Utilities/cmcurl-7.19.0/src/Makefile.in
deleted file mode 100644
index c17c9ca..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.in
+++ /dev/null
@@ -1,659 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-# ./src/Makefile.inc
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-bin_PROGRAMS = curl$(EXEEXT)
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.inc $(srcdir)/config.h.in
-subdir = src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am__objects_1 = main.$(OBJEXT) hugehelp.$(OBJEXT) urlglob.$(OBJEXT) \
- writeout.$(OBJEXT) writeenv.$(OBJEXT) getpass.$(OBJEXT) \
- homedir.$(OBJEXT) curlutil.$(OBJEXT)
-am__objects_2 = strtoofft.$(OBJEXT) strdup.$(OBJEXT)
-am__objects_3 =
-am_curl_OBJECTS = $(am__objects_1) $(am__objects_2) $(am__objects_3)
-curl_OBJECTS = $(am_curl_OBJECTS)
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(curl_SOURCES)
-DIST_SOURCES = $(curl_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-# Use the C locale to ensure that only ASCII characters appear in the
-# embedded text.
-NROFF = env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_builddir)/src is for curl's generated src/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
-# $(top_srcdir)/src is for curl's src/setup.h and "curl-private" files
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_builddir)/src \
- -I$(top_srcdir)/lib \
- -I$(top_srcdir)/src
-
-
-# libcurl has sources that provide functions named curlx_* that aren't part of
-# the official API, but we re-use the code here to avoid duplication.
-CURLX_ONES = $(top_srcdir)/lib/strtoofft.c \
- $(top_srcdir)/lib/strdup.c
-
-CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c \
- getpass.c homedir.c curlutil.c
-
-CURL_HFILES = hugehelp.h setup.h config-win32.h config-mac.h \
- config-riscos.h urlglob.h version.h \
- writeout.h writeenv.h getpass.h homedir.h curlutil.h
-
-curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES)
-curl_LDADD = ../lib/libcurl.la @CURL_LIBS@
-curl_DEPENDENCIES = ../lib/libcurl.la
-BUILT_SOURCES = hugehelp.c
-CLEANFILES = hugehelp.c
-EXTRA_DIST = mkhelp.pl makefile.dj Makefile.vc6 Makefile.b32 Makefile.m32 \
- Makefile.riscos config.h.in macos/curl.mcp.xml.sit.hqx \
- macos/MACINSTALL.TXT macos/src/curl_GUSIConfig.cpp curlsrc.dsp \
- macos/src/macos_main.cpp config-amigaos.h makefile.amiga curl.rc \
- Makefile.netware Makefile.inc Makefile.Watcom curlsrc.dsw
-
-MANPAGE = $(top_srcdir)/docs/curl.1
-README = $(top_srcdir)/docs/MANUAL
-MKHELP = $(top_srcdir)/src/mkhelp.pl
-HUGE = hugehelp.c
-all: $(BUILT_SOURCES) config.h
- $(MAKE) $(AM_MAKEFLAGS) 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 \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/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;
-
-$(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
-
-config.h: stamp-h2
- @if test ! -f $@; then \
- rm -f stamp-h2; \
- $(MAKE) stamp-h2; \
- else :; fi
-
-stamp-h2: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h2
- cd $(top_builddir) && $(SHELL) ./config.status src/config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h2
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h2
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-curl$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES)
- @rm -f curl$(EXEEXT)
- $(LINK) $(curl_LDFLAGS) $(curl_OBJECTS) $(curl_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curlutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/homedir.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hugehelp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoofft.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/urlglob.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writeenv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writeout.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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 $@ $<
-
-strtoofft.o: $(top_srcdir)/lib/strtoofft.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strtoofft.o -MD -MP -MF "$(DEPDIR)/strtoofft.Tpo" -c -o strtoofft.o `test -f '$(top_srcdir)/lib/strtoofft.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strtoofft.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strtoofft.Tpo" "$(DEPDIR)/strtoofft.Po"; else rm -f "$(DEPDIR)/strtoofft.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strtoofft.c' object='strtoofft.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoofft.o `test -f '$(top_srcdir)/lib/strtoofft.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strtoofft.c
-
-strtoofft.obj: $(top_srcdir)/lib/strtoofft.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strtoofft.obj -MD -MP -MF "$(DEPDIR)/strtoofft.Tpo" -c -o strtoofft.obj `if test -f '$(top_srcdir)/lib/strtoofft.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strtoofft.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strtoofft.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strtoofft.Tpo" "$(DEPDIR)/strtoofft.Po"; else rm -f "$(DEPDIR)/strtoofft.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strtoofft.c' object='strtoofft.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoofft.obj `if test -f '$(top_srcdir)/lib/strtoofft.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strtoofft.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strtoofft.c'; fi`
-
-strdup.o: $(top_srcdir)/lib/strdup.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdup.o -MD -MP -MF "$(DEPDIR)/strdup.Tpo" -c -o strdup.o `test -f '$(top_srcdir)/lib/strdup.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strdup.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strdup.Tpo" "$(DEPDIR)/strdup.Po"; else rm -f "$(DEPDIR)/strdup.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strdup.c' object='strdup.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.o `test -f '$(top_srcdir)/lib/strdup.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strdup.c
-
-strdup.obj: $(top_srcdir)/lib/strdup.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdup.obj -MD -MP -MF "$(DEPDIR)/strdup.Tpo" -c -o strdup.obj `if test -f '$(top_srcdir)/lib/strdup.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strdup.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strdup.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strdup.Tpo" "$(DEPDIR)/strdup.Po"; else rm -f "$(DEPDIR)/strdup.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strdup.c' object='strdup.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.obj `if test -f '$(top_srcdir)/lib/strdup.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strdup.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strdup.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/macos $(distdir)/macos/src
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(PROGRAMS) config.h
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) 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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-info: install-info-am
-
-install-man:
-
-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: uninstall-binPROGRAMS uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-binPROGRAMS install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man 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 uninstall-binPROGRAMS \
- uninstall-info-am
-
-
-# Here are the stuff to create a built-in manual
-
-# This generates the hugehelp.c file in both uncompressed and compressed formats
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@$(HUGE): $(README) $(MANPAGE) mkhelp.pl
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#include "setup.h"' > $(HUGE)
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#ifndef HAVE_LIBZ' >> $(HUGE)
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#else' >> $(HUGE)
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c $(README) >> $(HUGE)
-@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#endif /* HAVE_LIBZ */' >> $(HUGE)
-# This generates the hugehelp.c file uncompressed only
-@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@$(HUGE): $(README) $(MANPAGE) mkhelp.pl
-@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@ echo '#include "setup.h"' > $(HUGE)
-@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
-
-# built-in manual has been disabled, make a blank file
-@USE_MANUAL_FALSE@$(HUGE):
-@USE_MANUAL_FALSE@ echo "/* built-in manual is disabled, blank function */" > $(HUGE)
-@USE_MANUAL_FALSE@ echo '#include "hugehelp.h"' >> $(HUGE)
-@USE_MANUAL_FALSE@ echo "void hugehelp(void) {}" >>$(HUGE)
-# 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/Utilities/cmcurl-7.19.0/src/Makefile.inc b/Utilities/cmcurl-7.19.0/src/Makefile.inc
deleted file mode 100644
index 1ebbd0d..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-# ./src/Makefile.inc
-
-# libcurl has sources that provide functions named curlx_* that aren't part of
-# the official API, but we re-use the code here to avoid duplication.
-CURLX_ONES = $(top_srcdir)/lib/strtoofft.c \
- $(top_srcdir)/lib/strdup.c
-
-CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c \
- getpass.c homedir.c curlutil.c
-
-CURL_HFILES = hugehelp.h setup.h config-win32.h config-mac.h \
- config-riscos.h urlglob.h version.h \
- writeout.h writeenv.h getpass.h homedir.h curlutil.h
-
-curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES)
-
-
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.m32 b/Utilities/cmcurl-7.19.0/src/Makefile.m32
deleted file mode 100644
index 3ecd999..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.m32
+++ /dev/null
@@ -1,151 +0,0 @@
-#########################################################################
-# $Id$
-#
-## Makefile for building curl.exe with MingW32 (GCC-3.2)
-## and optionally OpenSSL (0.9.8), libssh2 (0.18), zlib (1.2.3)
-##
-## Usage:
-## mingw32-make -f Makefile.m32 [SSL=1] [SSH2=1] [ZLIB=1] [SSPI=1] [IPV6=1] [DYN=1]
-##
-## Hint: you can also set environment vars to control the build, f.e.:
-## set ZLIB_PATH=c:/zlib-1.2.3
-## set ZLIB=1
-##
-## Comments to: Troy Engel <tengel@sonic.net> or
-## Joern Hartroth <hartroth@acm.org>
-#########################################################################
-
-# Edit the path below to point to the base of your Zlib sources.
-ifndef ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-endif
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-endif
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../libssh2-0.18
-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
-
-ARES_LIB = ../ares
-
-CC = gcc
-CFLAGS = -g -O2
-# comment LDFLAGS below to keep debug info
-LDFLAGS = -s
-RC = windres
-RCFLAGS = --include-dir=../include -O COFF -i
-RM = del /q /f > NUL 2>&1
-CP = copy
-
-# We may need these someday
-# PERL = perl
-# NROFF = nroff
-
-########################################################
-## Nothing more to do below this line!
-
-INCLUDES = -I. -I.. -I../include -I../lib
-LINK = $(CC) $(LDFLAGS) -o $@
-
-curl_PROGRAMS = curl.exe
-ifdef DYN
- curl_DEPENDENCIES = ../lib/libcurldll.a ../lib/libcurl.dll
- curl_LDADD = -L../lib -lcurldll
-else
- curl_DEPENDENCIES = ../lib/libcurl.a
- curl_LDADD = -L../lib -lcurl
- CFLAGS += -DCURL_STATICLIB
-endif
-ifdef ARES
- ifndef DYN
- curl_DEPENDENCIES += $(ARES_LIB)/libcares.a
- endif
- CFLAGS += -DUSE_ARES
- curl_LDADD += -L$(ARES_LIB) -lcares
-endif
-ifdef SSH2
- CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H
- curl_LDADD += -L$(LIBSSH2_PATH)/win32 -lssh2
-endif
-ifdef SSL
- CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H
- curl_LDADD += -L$(OPENSSL_PATH)/out -leay32 -lssl32
-endif
-ifdef ZLIB
- INCLUDES += -I"$(ZLIB_PATH)"
- CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H
- curl_LDADD += -L$(ZLIB_PATH) -lz
-endif
-ifdef SSPI
- CFLAGS += -DUSE_WINDOWS_SSPI
-endif
-ifdef IPV6
- CFLAGS += -DENABLE_IPV6
-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
-COMPILE = $(CC) $(INCLUDES) $(CFLAGS)
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-curl_OBJECTS := $(patsubst %.c,%.o,$(strip $(CURL_SOURCES)))
-# curlx_OBJECTS := $(patsubst %.c,%.o,$(notdir $(strip $(CURLX_ONES))))
-# vpath %.c ../lib
-
-RESOURCE = curl.res
-
-.SUFFIXES: .rc .res
-
-all: curl.exe
-
-curl.exe: $(RESOURCE) $(curl_OBJECTS) $(curl_DEPENDENCIES)
- -$(RM) $@
- $(LINK) $< $(curl_OBJECTS) $(curl_LDADD)
-
-# We don't have nroff normally under win32
-# hugehelp.c: ../README.curl ../curl.1 mkhelp.pl
-# -$(RM) hugehelp.c
-# $(NROFF) -man ../curl.1 | $(PERL) mkhelp.pl ../README.curl > hugehelp.c
-
-hugehelp.c:
- @echo Creating $@
- @$(CP) hugehelp.c.cvs $@
-
-.c.o:
- $(COMPILE) -c $<
-
-.rc.res:
- $(RC) $(RCFLAGS) $< -o $@
-
-clean:
-ifeq "$(wildcard hugehelp.c.cvs)" "hugehelp.c.cvs"
- -$(RM) hugehelp.c
-endif
- -$(RM) $(curl_OBJECTS) $(RESOURCE)
-
-distrib: clean
- -$(RM) $(curl_PROGRAMS)
-
-
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.netware b/Utilities/cmcurl-7.19.0/src/Makefile.netware
deleted file mode 100644
index b8ff8b7..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.netware
+++ /dev/null
@@ -1,545 +0,0 @@
-#################################################################
-# $Id$
-#
-## Makefile for building curl.nlm (NetWare version - gnu make)
-## Use: make -f Makefile.netware
-##
-## Comments to: Guenter Knauf http://www.gknw.de/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.3
-endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8h
-endif
-
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../libssh2-0.18
-endif
-
-ifndef INSTDIR
-INSTDIR = ..$(DS)curl-$(LIBCURL_VERSION_STR)-bin-nw
-endif
-
-# Edit the vars below to change NLM target settings.
-TARGET = curl
-VERSION = $(LIBCURL_VERSION)
-COPYR = Copyright (C) $(LIBCURL_COPYRIGHT_STR)
-DESCR = cURL $(LIBCURL_VERSION_STR) ($(LIBARCH)) - http://curl.haxx.se
-MTSAFE = YES
-STACK = 64000
-SCREEN = $(TARGET) commandline utility
-# 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
-# a native win32 awk can be downloaded from here:
-# http://www.gknw.net/development/prgtools/awk-20070501.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 $(OBJS) $(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 = $(SDK_LIBC)/imports/posixpre.o
-else
- PRELUDE = $(SDK_LIBC)/imports/libcpre.o
-endif
- CFLAGS += -align 4
-else
- # PRELUDE = $(SDK_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 += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
-CFLAGS += -Wall # -pedantic
-ifeq ($(LIBARCH),LIBC)
-ifeq ($(POSIXFL),1)
- PRELUDE = $(SDK_LIBC)/imports/posixpre.gcc.o
-else
- PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
-endif
-else
- # PRELUDE = $(SDK_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
-SDK_CLIB = $(NDK_ROOT)/nwsdk
-SDK_LIBC = $(NDK_ROOT)/libc
-SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
-CURL_INC = ../include
-CURL_LIB = ../lib
-ARES_LIB = ../ares
-
-INCLUDES = -I$(CURL_INC) -I$(CURL_LIB)
-
-ifdef LINK_STATIC
- LDLIBS = $(CURL_LIB)/libcurl.$(LIBEXT)
-ifdef WITH_ARES
- LDLIBS += $(ARES_LIB)/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_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
-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
-
-ifeq ($(LIBARCH),LIBC)
- INCLUDES += -I$(SDK_LIBC)/include
- # INCLUDES += -I$(SDK_LIBC)/include/nks
- # INCLUDES += -I$(SDK_LIBC)/include/winsock
- CFLAGS += -D_POSIX_SOURCE
-else
- INCLUDES += -I$(SDK_CLIB)/include/nlm
- # INCLUDES += -I$(SDK_CLIB)/include
-endif
-ifndef DISABLE_LDAP
- # INCLUDES += -I$(SDK_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 linux,$(OSTYPE)),linux)
-DL = '
-DS = /
-PCT = %
-#-include $(NDKBASE)/nlmconv/ncpfs.inc
-else
-DS = \\
-PCT = %%
-endif
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-OBJX := $(patsubst %.c,$(OBJDIR)/%.o,$(notdir $(strip $(CURLX_ONES))))
-OBJS := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(CURL_SOURCES))) $(OBJX)
-
-vpath %.c $(CURL_LIB)
-
-all: prebuild $(TARGET).nlm
-
-prebuild: $(OBJDIR) $(OBJDIR)/version.inc config.h
-
-$(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) ../docs/$(TARGET).pdf $(INSTDIR)
- @-$(CP) ../docs/$(TARGET).html $(INSTDIR)
- @$(CP) $(TARGET).nlm $(INSTDIR)
-
-clean:
-ifeq "$(wildcard hugehelp.c.cvs)" "hugehelp.c.cvs"
- -$(RM) hugehelp.c
-endif
- -$(RM) config.h
- -$(RM) -r $(OBJDIR)
-
-distclean: clean
- -$(RM) $(TARGET).nlm
-
-$(OBJDIR) $(INSTDIR):
- @$(MKDIR) $@
-
-$(TARGET).nlm: $(OBJS) $(OBJDIR)/$(TARGET).def $(XDCDATA)
- @echo Linking $@
- @-$(RM) $@
- @$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).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)"$(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 "$(SCREEN)"$(DL) >> $@
-else
- @echo $(DL)screenname "DEFAULT"$(DL) >> $@
-endif
-ifneq ($(DB),NDEBUG)
- @echo $(DL)debug$(DL) >> $@
-endif
- @echo $(DL)threadname "$(TARGET)"$(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 @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
- @echo $(DL)module clib$(DL) >> $@
-ifndef DISABLE_LDAP
- @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
-# @echo $(DL)import @$(SDK_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 @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
- @echo $(DL)module libc$(DL) >> $@
-ifndef DISABLE_LDAP
- @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
-# @echo $(DL)import @$(SDK_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 $(OBJS)$(DL) >> $@
-ifdef LDLIBS
- @echo $(DL)input $(LDLIBS)$(DL) >> $@
-endif
- @echo $(DL)output $(TARGET).nlm$(DL) >> $@
-endif
-
-config.h: Makefile.netware
- @echo Creating $@
- @echo $(DL)/* $@ for NetWare target.$(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)#ifndef NETWARE$(DL) >> $@
- @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@
- @echo $(DL)#endif$(DL) >> $@
- @echo $(DL)#define VERSION "$(LIBCURL_VERSION_STR)"$(DL) >> $@
- @echo $(DL)#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
- @echo $(DL)#define OS "i586-pc-clib-NetWare"$(DL) >> $@
- @echo $(DL)#define NETDB_USE_INTERNET 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRICMP 1$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG2 char *$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG3 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@
- @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG2 char *$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG3 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_RETV int$(DL) >> $@
- @echo $(DL)#define socklen_t int$(DL) >> $@
- @echo $(DL)#define pressanykey PressAnyKeyToContinue$(DL) >> $@
-else
- @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@
- @echo $(DL)#define HAVE_FTRUNCATE 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_PTON 1$(DL) >> $@
- @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRTOLL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@
- @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG2 void *$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG3 size_t$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG6 size_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@
- @echo $(DL)#define RECVFROM_TYPE_ARG2_IS_VOID 1$(DL) >> $@
- @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG2 void *$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG3 size_t$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
- @echo $(DL)#define SEND_TYPE_RETV ssize_t$(DL) >> $@
- @echo $(DL)#define SIZEOF_STRUCT_IN6_ADDR 16$(DL) >> $@
-ifdef ENABLE_IPV6
- @echo $(DL)#define ENABLE_IPV6 1$(DL) >> $@
-endif
-endif
- @echo $(DL)#define USE_MANUAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETHOSTBYNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETPROTOBYNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_GMTIME_R 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_NTOA 1$(DL) >> $@
- @echo $(DL)#define HAVE_LL 1$(DL) >> $@
- @echo $(DL)#define HAVE_LOCALE_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LOCALTIME_R 1$(DL) >> $@
- @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_NETINET_IN_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_RECV 1$(DL) >> $@
- @echo $(DL)#define HAVE_RECVFROM 1$(DL) >> $@
- @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@
- @echo $(DL)#define HAVE_SEND 1$(DL) >> $@
- @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SETLOCALE 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIGNAL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIG_ATOMIC_T 1$(DL) >> $@
- @echo $(DL)#define HAVE_SOCKET 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRUCT_TIMEVAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_IOCTL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_UTIME 1$(DL) >> $@
- @echo $(DL)#define HAVE_UTIME_H 1$(DL) >> $@
- @echo $(DL)#define RETSIGTYPE void$(DL) >> $@
- @echo $(DL)#define SIZEOF_STRUCT_IN_ADDR 4$(DL) >> $@
- @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
- @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
-ifdef DISABLE_LDAP
- @echo $(DL)#define CURL_DISABLE_LDAP 1$(DL) >> $@
-else
- @echo $(DL)#define CURL_HAS_NOVELL_LDAPSDK 1$(DL) >> $@
-ifndef DISABLE_LDAPS
- @echo $(DL)#define HAVE_LDAP_SSL 1$(DL) >> $@
-endif
- @echo $(DL)#define HAVE_LDAP_SSL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LDAP_URL_PARSE 1$(DL) >> $@
-endif
-ifdef NW_WINSOCK
- @echo $(DL)#define HAVE_CLOSESOCKET 1$(DL) >> $@
-else
- @echo $(DL)#define USE_BSD_SOCKETS 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SOCKET_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SOCKIO_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_NETDB_H 1$(DL) >> $@
-endif
-ifdef WITH_ARES
- @echo $(DL)#define USE_ARES 1$(DL) >> $@
-endif
-ifdef WITH_ZLIB
- @echo $(DL)#define HAVE_ZLIB_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBZ 1$(DL) >> $@
-endif
-ifdef WITH_SSL
- @echo $(DL)#define USE_SSLEAY 1$(DL) >> $@
- @echo $(DL)#define USE_OPENSSL 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_X509_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_SSL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_RSA_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_PEM_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_ERR_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_CRYPTO_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_OPENSSL_ENGINE_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBSSL 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBCRYPTO 1$(DL) >> $@
- @echo $(DL)#define OPENSSL_NO_KRB5 1$(DL) >> $@
-endif
-ifdef WITH_SSH2
- @echo $(DL)#define USE_LIBSSH2 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBSSH2_H 1$(DL) >> $@
-endif
- @echo $(DL)#ifdef __GNUC__$(DL) >> $@
- @echo $(DL)#define HAVE_VARIADIC_MACROS_GCC 1$(DL) >> $@
- @echo $(DL)#else$(DL) >> $@
- @echo $(DL)#define HAVE_VARIADIC_MACROS_C99 1$(DL) >> $@
- @echo $(DL)#endif$(DL) >> $@
-ifdef OLD_NOVELLSDK
- @echo $(DL)#define socklen_t int$(DL) >> $@
-endif
-ifdef CABUNDLE
- @echo $(DL)#define CURL_CA_BUNDLE "$(CABUNDLE)"$(DL) >> $@
-else
- @echo $(DL)#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")$(DL) >> $@
-endif
-
-hugehelp.c:
- @echo Creating $@
- @$(CP) hugehelp.c.cvs $@
-
-$(ARES_LIB)/libcares.$(LIBEXT):
- $(MAKE) -C $(ARES_LIB) -f Makefile.netware lib
-
-
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.riscos b/Utilities/cmcurl-7.19.0/src/Makefile.riscos
deleted file mode 100644
index ac8b776..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.riscos
+++ /dev/null
@@ -1,48 +0,0 @@
-# Makefile for project cURL
-# Generated on Sun,13 Jan 2002.17:11:10 by EasyGCC (0.1.3 [beta 2] (3 Jan 2002))
-# Contact: easygcc@melotech.co.uk
-
-# Project objects:
-objs = o.hugehelp o.main o.urlglob o.writeout o.writeenv \
-
-
-# Compile options:
-linkopts = ../lib/libcurl openldap:libraries/libldap/libldap -o curl
-compileropts = -mpoke-function-name -IUtilLib: -mthrowback
-
-# Project target:
-curl: $(objs)
- gcc $(linkopts) $(objs)
-
-# Static dependancies:
-o.hugehelp: c.hugehelp
- gcc $(compileropts) -c -o hugehelp.o c.hugehelp
-
-o.main: c.main
- gcc $(compileropts) -c -o main.o c.main
-
-o.urlglob: c.urlglob
- gcc $(compileropts) -c -o urlglob.o c.urlglob
-
-o.writeout: c.writeout
- gcc $(compileropts) -c -o writeout.o c.writeout
-
-o.writeenv: c.writeenv
- gcc $(compileropts) -c -o writeenv.o c.writeenv
-
-# Dynamic dependancies:
-o.hugehelp: c.hugehelp
-
-o.main: c.main
-o.main: h.setup
-o.main: h.urlglob
-o.main: h.writeout
-o.main: h.version
-
-o.urlglob: c.urlglob
-o.urlglob: h.setup
-o.urlglob: h.urlglob
-
-o.writeout: c.writeout
-o.writeout: h.writeout
-
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.vc6 b/Utilities/cmcurl-7.19.0/src/Makefile.vc6
deleted file mode 100644
index e2684e3..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.vc6
+++ /dev/null
@@ -1,282 +0,0 @@
-#############################################################
-# $Id$
-#
-## Makefile for building curl.exe with MSVC6
-## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
-## (default is release)
-## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
-## into curl.exe producing a standalone SSL-enabled executable.
-##
-## Comments to: Troy Engel <tengel@sonic.net>
-## Updated by: Craig Davison <cd@securityfocus.com>
-## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
-#
-#############################################################
-
-PROGRAM_NAME = curl.exe
-
-!IFNDEF ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-!ENDIF
-
-!IFNDEF OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-!ENDIF
-
-!IFNDEF MACHINE
-MACHINE = X86
-!ENDIF
-
-# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
-# without an openssl installation and offers the ability to authenticate
-# using the "current logged in user". Since at least with MSVC6 the sspi.h
-# header is broken it is either required to install the Windows SDK,
-# or to fix sspi.h with adding this define at the beginning of sspi.h:
-# #define FreeCredentialHandle FreeCredentialsHandle
-#
-# If, for some reason the Windows SDK is installed but not installed
-# in the default location, you can specify WINDOWS_SDK_PATH.
-# It can be downloaded from:
-# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
-
-# WINDOWS_SSPI = 1
-
-!IFDEF WINDOWS_SSPI
-!IFNDEF WINDOWS_SDK_PATH
-WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
-!ENDIF
-!ENDIF
-
-########################################################
-## Nothing more to do below this line!
-ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
-ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)"
-ZLIB_LIBS = zlib.lib
-ZLIB_IMP_LIBS = zdll.lib
-
-SSL_CFLAGS = /DUSE_SSLEAY
-SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32"
-SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
-SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib
-
-# Runtime library configuration
-RTLIB = /MD
-RTLIBD = /MDd
-
-!IF "$(RTLIBCFG)" == "static"
-RTLIB = /MT
-RTLIBD = /MTd
-!ENDIF
-
-## Release
-CCR = cl.exe $(RTLIB) /O2 /DNDEBUG
-LINKR = link.exe /incremental:no /libpath:"../lib"
-RCR = rc.exe /dCURLDEBUG=0
-
-## Debug
-CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /GZ
-LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
-RCD = rc.exe /dCURLDEBUG=1
-
-CFLAGS = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c
-LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)
-RESFLAGS = /i../include
-
-# This manifest thing is for VC8, enabled by the maketgz script that
-# builds the VC8 version of this makefile. Left commented out in the VC6
-# version!
-#MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1
-
-!IFDEF WINDOWS_SSPI
-CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
-!ENDIF
-
-RELEASE_OBJS= \
- hugehelpr.obj \
- writeoutr.obj \
- urlglobr.obj \
- getpassr.obj \
- homedirr.obj \
- curlutilr.obj \
- strtoofftr.obj \
- mainr.obj \
- curlr.res
-
-DEBUG_OBJS= \
- hugehelpd.obj \
- writeoutd.obj \
- urlglobd.obj \
- getpassd.obj \
- homedird.obj \
- curlutild.obj \
- strtoofftd.obj \
- maind.obj \
- curld.res
-
-#################################################
-# If CFG not specified, use static libs
-
-CFLAGS = $(CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib
-LINKLIBS_DEBUG = libcurld.lib
-
-#################################################
-# release dynamic library
-
-!IF "$(CFG)" == "release-dll"
-LINKLIBS = libcurl_imp.lib
-LINKLIBS_DEBUG = libcurld_imp.lib
-!ENDIF
-
-#################################################
-# release static library with zlib
-
-!IF "$(CFG)" == "release-zlib"
-CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(ZLIB_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)
-LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with ssl
-
-!IF "$(CFG)" == "release-ssl"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_LFLAGS)
-!ENDIF
-
-#################################################
-# release dynamic library with dynamic ssl
-
-!IF "$(CFG)" == "release-dll-ssl-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
-LINKLIBS = libcurl_imp.lib $(SSL_LIBS)
-LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with ssl and zlib
-
-!IF "$(CFG)" == "release-ssl-zlib"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with dynamic ssl
-
-!IF "$(CFG)" == "release-ssl-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with dynamic zlib
-
-!IF "$(CFG)" == "release-zlib-dll"
-CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release dynamic library with dynamic zlib
-
-!IF "$(CFG)" == "release-dll-zlib-dll"
-CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
-LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with dynamic ssl and dynamic zlib
-
-!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release dynamic library with dynamic ssl and dynamic zlib
-
-!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)
-LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-
-LINKLIBS = $(LINKLIBS) wsock32.lib wldap32.lib
-LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib wldap32.lib
-
-all : release
-
-release: $(RELEASE_OBJS)
- $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
- $(MANIFESTTOOL)
-
-debug: $(DEBUG_OBJS)
- $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
- $(MANIFESTTOOL)
-
-## Release
-hugehelpr.obj: hugehelp.c
- $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
-writeoutr.obj: writeout.c
- $(CCR) $(CFLAGS) /Fo"$@" writeout.c
-urlglobr.obj: urlglob.c
- $(CCR) $(CFLAGS) /Fo"$@" urlglob.c
-getpassr.obj: getpass.c
- $(CCR) $(CFLAGS) /Fo"$@" getpass.c
-homedirr.obj: homedir.c
- $(CCR) $(CFLAGS) /Fo"$@" homedir.c
-curlutilr.obj: curlutil.c
- $(CCR) $(CFLAGS) /Fo"$@" curlutil.c
-strtoofftr.obj: ../lib/strtoofft.c
- $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
-mainr.obj: main.c
- $(CCR) $(CFLAGS) /Fo"$@" main.c
-curlr.res : curl.rc
- $(RCR) $(RESFLAGS) /Fo"$@" curl.rc
-
-## Debug
-hugehelpd.obj: hugehelp.c
- $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
-writeoutd.obj: writeout.c
- $(CCD) $(CFLAGS) /Fo"$@" writeout.c
-urlglobd.obj: urlglob.c
- $(CCD) $(CFLAGS) /Fo"$@" urlglob.c
-getpassd.obj: getpass.c
- $(CCD) $(CFLAGS) /Fo"$@" getpass.c
-homedird.obj: homedir.c
- $(CCD) $(CFLAGS) /Fo"$@" homedir.c
-curlutild.obj: curlutil.c
- $(CCD) $(CFLAGS) /Fo"$@" curlutil.c
-strtoofftd.obj: ../lib/strtoofft.c
- $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
-maind.obj: main.c
- $(CCD) $(CFLAGS) /Fo"$@" main.c
-curld.res : curl.rc
- $(RCD) $(RESFLAGS) /Fo"$@" curl.rc
-
-clean:
- @-erase $(PROGRAM_NAME) 2> NUL
- @-erase $(RELEASE_OBJS) 2> NUL
- @-erase $(DEBUG_OBJS) 2> NUL
- @-erase *.idb 2> NUL
- @-erase *.pdb 2> NUL
- @-erase *.pch 2> NUL
- @-erase *.ilk 2> NUL
diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.vc8 b/Utilities/cmcurl-7.19.0/src/Makefile.vc8
deleted file mode 100644
index 7f66a15..0000000
--- a/Utilities/cmcurl-7.19.0/src/Makefile.vc8
+++ /dev/null
@@ -1,282 +0,0 @@
-#############################################################
-# $Id$
-#
-## Makefile for building curl.exe with MSVC8
-## Use: nmake -f makefile.vc8 [release | debug] [CFG=release-ssl]
-## (default is release)
-## "nmake -f makefile.vc8 CFG=release-ssl" statically links OpenSSL
-## into curl.exe producing a standalone SSL-enabled executable.
-##
-## Comments to: Troy Engel <tengel@sonic.net>
-## Updated by: Craig Davison <cd@securityfocus.com>
-## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
-#
-#############################################################
-
-PROGRAM_NAME = curl.exe
-
-!IFNDEF ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
-!ENDIF
-
-!IFNDEF OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8g
-!ENDIF
-
-!IFNDEF MACHINE
-MACHINE = X86
-!ENDIF
-
-# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
-# without an openssl installation and offers the ability to authenticate
-# using the "current logged in user". Since at least with MSVC8 the sspi.h
-# header is broken it is either required to install the Windows SDK,
-# or to fix sspi.h with adding this define at the beginning of sspi.h:
-# #define FreeCredentialHandle FreeCredentialsHandle
-#
-# If, for some reason the Windows SDK is installed but not installed
-# in the default location, you can specify WINDOWS_SDK_PATH.
-# It can be downloaded from:
-# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
-
-# WINDOWS_SSPI = 1
-
-!IFDEF WINDOWS_SSPI
-!IFNDEF WINDOWS_SDK_PATH
-WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
-!ENDIF
-!ENDIF
-
-########################################################
-## Nothing more to do below this line!
-ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
-ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)"
-ZLIB_LIBS = zlib.lib
-ZLIB_IMP_LIBS = zdll.lib
-
-SSL_CFLAGS = /DUSE_SSLEAY
-SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32"
-SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
-SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib
-
-# Runtime library configuration
-RTLIB = /MD
-RTLIBD = /MDd
-
-!IF "$(RTLIBCFG)" == "static"
-RTLIB = /MT
-RTLIBD = /MTd
-!ENDIF
-
-## Release
-CCR = cl.exe $(RTLIB) /O2 /DNDEBUG
-LINKR = link.exe /incremental:no /libpath:"../lib"
-RCR = rc.exe /dCURLDEBUG=0
-
-## Debug
-CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /RTC1
-LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
-RCD = rc.exe /dCURLDEBUG=1
-
-CFLAGS = /I../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c
-LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)
-RESFLAGS = /i../include
-
-# This manifest thing is for VC8, enabled by the maketgz script that
-# builds the VC8 version of this makefile. Left commented out in the VC8
-# version!
-MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1
-
-!IFDEF WINDOWS_SSPI
-CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
-!ENDIF
-
-RELEASE_OBJS= \
- hugehelpr.obj \
- writeoutr.obj \
- urlglobr.obj \
- getpassr.obj \
- homedirr.obj \
- curlutilr.obj \
- strtoofftr.obj \
- mainr.obj \
- curlr.res
-
-DEBUG_OBJS= \
- hugehelpd.obj \
- writeoutd.obj \
- urlglobd.obj \
- getpassd.obj \
- homedird.obj \
- curlutild.obj \
- strtoofftd.obj \
- maind.obj \
- curld.res
-
-#################################################
-# If CFG not specified, use static libs
-
-CFLAGS = $(CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib
-LINKLIBS_DEBUG = libcurld.lib
-
-#################################################
-# release dynamic library
-
-!IF "$(CFG)" == "release-dll"
-LINKLIBS = libcurl_imp.lib
-LINKLIBS_DEBUG = libcurld_imp.lib
-!ENDIF
-
-#################################################
-# release static library with zlib
-
-!IF "$(CFG)" == "release-zlib"
-CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(ZLIB_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)
-LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with ssl
-
-!IF "$(CFG)" == "release-ssl"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_LFLAGS)
-!ENDIF
-
-#################################################
-# release dynamic library with dynamic ssl
-
-!IF "$(CFG)" == "release-dll-ssl-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
-LINKLIBS = libcurl_imp.lib $(SSL_LIBS)
-LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with ssl and zlib
-
-!IF "$(CFG)" == "release-ssl-zlib"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with dynamic ssl
-
-!IF "$(CFG)" == "release-ssl-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with dynamic zlib
-
-!IF "$(CFG)" == "release-zlib-dll"
-CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release dynamic library with dynamic zlib
-
-!IF "$(CFG)" == "release-dll-zlib-dll"
-CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
-LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release static library with dynamic ssl and dynamic zlib
-
-!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
-LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-#################################################
-# release dynamic library with dynamic ssl and dynamic zlib
-
-!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
-CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)
-LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
-LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
-!ENDIF
-
-
-LINKLIBS = $(LINKLIBS) wsock32.lib bufferoverflowu.lib wldap32.lib
-LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib bufferoverflowu.lib wldap32.lib
-
-all : release
-
-release: $(RELEASE_OBJS)
- $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
- $(MANIFESTTOOL)
-
-debug: $(DEBUG_OBJS)
- $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
- $(MANIFESTTOOL)
-
-## Release
-hugehelpr.obj: hugehelp.c
- $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
-writeoutr.obj: writeout.c
- $(CCR) $(CFLAGS) /Fo"$@" writeout.c
-urlglobr.obj: urlglob.c
- $(CCR) $(CFLAGS) /Fo"$@" urlglob.c
-getpassr.obj: getpass.c
- $(CCR) $(CFLAGS) /Fo"$@" getpass.c
-homedirr.obj: homedir.c
- $(CCR) $(CFLAGS) /Fo"$@" homedir.c
-curlutilr.obj: curlutil.c
- $(CCR) $(CFLAGS) /Fo"$@" curlutil.c
-strtoofftr.obj: ../lib/strtoofft.c
- $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
-mainr.obj: main.c
- $(CCR) $(CFLAGS) /Fo"$@" main.c
-curlr.res : curl.rc
- $(RCR) $(RESFLAGS) /Fo"$@" curl.rc
-
-## Debug
-hugehelpd.obj: hugehelp.c
- $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
-writeoutd.obj: writeout.c
- $(CCD) $(CFLAGS) /Fo"$@" writeout.c
-urlglobd.obj: urlglob.c
- $(CCD) $(CFLAGS) /Fo"$@" urlglob.c
-getpassd.obj: getpass.c
- $(CCD) $(CFLAGS) /Fo"$@" getpass.c
-homedird.obj: homedir.c
- $(CCD) $(CFLAGS) /Fo"$@" homedir.c
-curlutild.obj: curlutil.c
- $(CCD) $(CFLAGS) /Fo"$@" curlutil.c
-strtoofftd.obj: ../lib/strtoofft.c
- $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
-maind.obj: main.c
- $(CCD) $(CFLAGS) /Fo"$@" main.c
-curld.res : curl.rc
- $(RCD) $(RESFLAGS) /Fo"$@" curl.rc
-
-clean:
- @-erase $(PROGRAM_NAME) 2> NUL
- @-erase $(RELEASE_OBJS) 2> NUL
- @-erase $(DEBUG_OBJS) 2> NUL
- @-erase *.idb 2> NUL
- @-erase *.pdb 2> NUL
- @-erase *.pch 2> NUL
- @-erase *.ilk 2> NUL
diff --git a/Utilities/cmcurl-7.19.0/src/config-amigaos.h b/Utilities/cmcurl-7.19.0/src/config-amigaos.h
deleted file mode 100644
index 75b1fb8..0000000
--- a/Utilities/cmcurl-7.19.0/src/config-amigaos.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef CURL_CONFIG_AMIGAOS_H
-#define CURL_CONFIG_AMIGAOS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#ifdef __AMIGA__ /* Any AmigaOS flavour */
-
-/* Define to 1 if you want the built-in manual */
-#define USE_MANUAL 1
-
-#define OS "AmigaOS"
-
-#define HAVE_UNISTD_H 1
-#define HAVE_STRDUP 1
-#define HAVE_UTIME 1
-#define HAVE_UTIME_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_SOCKET_H 1
-#define HAVE_WRITABLE_ARGV 1
-#define HAVE_SYS_TIME_H 1
-#define HAVE_TIME_H 1
-#define TIME_WITH_SYS_TIME 1
-#define HAVE_STRUCT_TIMEVAL 1
-
-#if 0
-# define HAVE_TERMIOS_H 1
-# define HAVE_FTRUNCATE 1
-#endif
-
-#define HAVE_PWD_H 1
-
-#ifndef F_OK
-# define F_OK 0
-#endif
-#ifndef O_RDONLY
-# define O_RDONLY 0x0000 /* open for reading only */
-#endif
-#ifndef LONG_MAX
-# define LONG_MAX 0x7fffffffL /* max value for a long */
-#endif
-#ifndef LONG_MIN
-# define LONG_MIN (-0x7fffffffL-1) /* min value for a long */
-#endif
-
-#endif /* __AMIGA__ */
-#endif /* CURL_CONFIG_AMIGAOS_H */
diff --git a/Utilities/cmcurl-7.19.0/src/config-mac.h b/Utilities/cmcurl-7.19.0/src/config-mac.h
deleted file mode 100644
index 2697afe..0000000
--- a/Utilities/cmcurl-7.19.0/src/config-mac.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Define to 1 if you want the built-in manual */
-#define USE_MANUAL 1
-
-#define HAVE_UNISTD_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_UTIME_H 1
-#define HAVE_SYS_UTIME_H 1
-
-#define HAVE_SETVBUF 1
-#define HAVE_UTIME 1
-#define HAVE_FTRUNCATE 1
-
-#define HAVE_TIME_H 1
-#define HAVE_SYS_TIME_H 1
-#define TIME_WITH_SYS_TIME 1
-#define HAVE_STRUCT_TIMEVAL 1
-
-#define main(x,y) curl_main(x,y)
-
-/* we provide our own strdup prototype */
-char *strdup(char *s1);
diff --git a/Utilities/cmcurl-7.19.0/src/config-riscos.h b/Utilities/cmcurl-7.19.0/src/config-riscos.h
deleted file mode 100644
index 544b249..0000000
--- a/Utilities/cmcurl-7.19.0/src/config-riscos.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-/* Name of this package! */
-#undef PACKAGE
-
-/* Version number of this archive. */
-#undef VERSION
-
-/* Define if you have the getpass function. */
-#undef HAVE_GETPASS
-
-/* Define cpu-machine-OS */
-#define OS "ARM-RISC OS"
-
-/* Define to 1 if you want the built-in manual */
-#define USE_MANUAL 1
-
-/* Define if you have the gethostbyaddr_r() function with 5 arguments */
-#undef HAVE_GETHOSTBYADDR_R_5
-
-/* Define if you have the gethostbyaddr_r() function with 7 arguments */
-#undef HAVE_GETHOSTBYADDR_R_7
-
-/* Define if you have the gethostbyaddr_r() function with 8 arguments */
-#undef HAVE_GETHOSTBYADDR_R_8
-
-/* Define if you have the gethostbyname_r() function with 3 arguments */
-#undef HAVE_GETHOSTBYNAME_R_3
-
-/* Define if you have the gethostbyname_r() function with 5 arguments */
-#undef HAVE_GETHOSTBYNAME_R_5
-
-/* Define if you have the gethostbyname_r() function with 6 arguments */
-#undef HAVE_GETHOSTBYNAME_R_6
-
-/* Define if you have the inet_ntoa_r function declared. */
-#undef HAVE_INET_NTOA_R_DECL
-
-/* Define if you need the _REENTRANT define for some functions */
-#undef NEED_REENTRANT
-
-/* Define if you have the Kerberos4 libraries (including -ldes) */
-#undef HAVE_KRB4
-
-/* Define if you want to enable IPv6 support */
-#undef ENABLE_IPV6
-
-/* Define this to 'int' if ssize_t is not an available typedefed type */
-#undef ssize_t
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#undef socklen_t
-
-/* Define this as a suitable file to read random data from */
-#undef RANDOM_FILE
-
-/* Define this to your Entropy Gathering Daemon socket pathname */
-#undef EGD_SOCKET
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#define DISABLED_THREADSAFE
-
-/* Define if you want to enable IPv6 support */
-#undef ENABLE_IPV6
-
-/* Define if you have the <alloca.h> header file. */
-#define HAVE_ALLOCA_H
-
-/* Define if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H
-
-/* Define if you have the `closesocket' function. */
-#undef HAVE_CLOSESOCKET
-
-/* Define if you have the <crypto.h> header file. */
-#undef HAVE_CRYPTO_H
-
-/* Define if you have the <des.h> header file. */
-#undef HAVE_DES_H
-
-/* Define if you have the <err.h> header file. */
-#undef HAVE_ERR_H
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H
-
-/* Define if you have the `ftruncate' function. */
-#define HAVE_FTRUNCATE
-
-/* Define if getaddrinfo exists and works */
-#define HAVE_GETADDRINFO
-
-/* Define if you have the `geteuid' function. */
-#undef HAVE_GETEUID
-
-/* Define if you have the `gethostbyaddr' function. */
-#define HAVE_GETHOSTBYADDR
-
-/* Define if you have the `gethostbyaddr_r' function. */
-#undef HAVE_GETHOSTBYADDR_R
-
-/* Define if you have the `gethostbyname_r' function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* Define if you have the `gethostname' function. */
-#define HAVE_GETHOSTNAME
-
-/* Define if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H
-
-/* Define if you have the `getpass_r' function. */
-#undef HAVE_GETPASS_R
-
-/* Define if you have the `getpwuid' function. */
-#undef HAVE_GETPWUID
-
-/* Define if you have the `getservbyname' function. */
-#undef HAVE_GETSERVBYNAME
-
-/* Define if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY
-
-/* Define if you have the `timeval' struct. */
-#define HAVE_STRUCT_TIMEVAL
-
-/* Define if you have the `inet_addr' function. */
-#undef HAVE_INET_ADDR
-
-/* Define if you have the `inet_ntoa' function. */
-#undef HAVE_INET_NTOA
-
-/* Define if you have the `inet_ntoa_r' function. */
-#undef HAVE_INET_NTOA_R
-
-/* Define if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H
-
-/* Define if you have the <io.h> header file. */
-#undef HAVE_IO_H
-
-/* Define if you have the `krb_get_our_ip_for_realm' function. */
-#undef HAVE_KRB_GET_OUR_IP_FOR_REALM
-
-/* Define if you have the <krb.h> header file. */
-#undef HAVE_KRB_H
-
-/* Define if you have the `crypto' library (-lcrypto). */
-#undef HAVE_LIBCRYPTO
-
-/* Define if you have the `nsl' library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define if you have the `resolv' library (-lresolv). */
-#undef HAVE_LIBRESOLV
-
-/* Define if you have the `resolve' library (-lresolve). */
-#undef HAVE_LIBRESOLVE
-
-/* Define if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
-/* Define if you have the `ucb' library (-lucb). */
-#undef HAVE_LIBUCB
-
-/* Define if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H
-
-/* Define to 1 if you need the malloc.h header file even with stdlib.h */
-/* #define NEED_MALLOC_H 1 */
-
-/* Define if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define if you have the <netdb.h> header file. */
-#define HAVE_NETDB_H
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-#undef HAVE_NETINET_IF_ETHER_H
-
-/* Define if you have the <netinet/in.h> header file. */
-#define HAVE_NETINET_IN_H
-
-/* Define if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H
-
-/* Define if you have the <openssl/crypto.h> header file. */
-#undef HAVE_OPENSSL_CRYPTO_H
-
-/* Define if you have the <openssl/err.h> header file. */
-#undef HAVE_OPENSSL_ERR_H
-
-/* Define if you have the <openssl/pem.h> header file. */
-#undef HAVE_OPENSSL_PEM_H
-
-/* Define if you have the <openssl/rsa.h> header file. */
-#undef HAVE_OPENSSL_RSA_H
-
-/* Define if you have the <openssl/ssl.h> header file. */
-#undef HAVE_OPENSSL_SSL_H
-
-/* Define if you have the <openssl/x509.h> header file. */
-#undef HAVE_OPENSSL_X509_H
-
-/* Define if you have the <pem.h> header file. */
-#undef HAVE_PEM_H
-
-/* Define if you have the `perror' function. */
-#undef HAVE_PERROR
-
-/* Define if you have the <pwd.h> header file. */
-#undef HAVE_PWD_H
-
-/* Define if you have the `RAND_egd' function. */
-#undef HAVE_RAND_EGD
-
-/* Define if you have the `RAND_screen' function. */
-#undef HAVE_RAND_SCREEN
-
-/* Define if you have the `RAND_status' function. */
-#undef HAVE_RAND_STATUS
-
-/* Define if you have the <rsa.h> header file. */
-#undef HAVE_RSA_H
-
-/* Define if you have the `select' function. */
-#define HAVE_SELECT
-
-/* Define if you have the `setvbuf' function. */
-#undef HAVE_SETVBUF
-
-/* Define if you have the <sgtty.h> header file. */
-#define HAVE_SGTTY_H
-
-/* Define if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define if you have the `signal' function. */
-#define HAVE_SIGNAL
-
-/* Define if you have the `socket' function. */
-#define HAVE_SOCKET
-
-/* Define if you have the <ssl.h> header file. */
-#undef HAVE_SSL_H
-
-/* Define if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H
-
-/* Define if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the `strcmpi' function. */
-#undef HAVE_STRCMPI
-
-/* Define if you have the `strdup' function. */
-#define HAVE_STRDUP
-
-/* Define if you have the `strftime' function. */
-#define HAVE_STRFTIME
-
-/* Define if you have the `stricmp' function. */
-#define HAVE_STRICMP
-
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define if you have the <string.h> header file. */
-#define HAVE_STRING_H
-
-/* Define if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
-/* Define if you have the `strlcpy' function. */
-#undef HAVE_STRLCPY
-
-/* Define if you have the `strstr' function. */
-#define HAVE_STRSTR
-
-/* Define if you have the `strtok_r' function. */
-#undef HAVE_STRTOK_R
-
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/sockio.h> header file. */
-#undef HAVE_SYS_SOCKIO_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H
-
-/* Define if you have the `tcgetattr' function. */
-#define HAVE_TCGETATTR
-
-/* Define if you have the `tcsetattr' function. */
-#define HAVE_TCSETATTR
-
-/* Define if you have the <termios.h> header file. */
-#define HAVE_TERMIOS_H
-
-/* Define if you have the <termio.h> header file. */
-#undef HAVE_TERMIO_H
-
-/* Define if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define if you have the `uname' function. */
-#define HAVE_UNAME
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H
-
-/* Define if you have the <winsock.h> header file. */
-#undef HAVE_WINSOCK_H
-
-/* Define if you have the <x509.h> header file. */
-#undef HAVE_X509_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* The size of a `long double', as computed by sizeof. */
-#undef SIZEOF_LONG_DOUBLE
-
-/* The size of a `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef ssize_t
-
-/* this is a quick hack. I hope it's correct. */
-#define ifr_dstaddr ifr_addr
-
-#define IOCTL_3_ARGS
-
-#define HAVE_FIONBIO
-
diff --git a/Utilities/cmcurl-7.19.0/src/config-win32.h b/Utilities/cmcurl-7.19.0/src/config-win32.h
deleted file mode 100644
index 654d892..0000000
--- a/Utilities/cmcurl-7.19.0/src/config-win32.h
+++ /dev/null
@@ -1,267 +0,0 @@
-#ifndef __SRC_CONFIG_WIN32_H
-#define __SRC_CONFIG_WIN32_H
-
-/* ================================================================ */
-/* src/config-win32.h - Hand crafted config file for windows */
-/* ================================================================ */
-
-/* ---------------------------------------------------------------- */
-/* HEADER FILES */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <io.h> header file. */
-#define HAVE_IO_H 1
-
-/* Define if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define if you have the <locale.h> header file. */
-#define HAVE_LOCALE_H 1
-
-/* Define if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define if you have the <sys/time.h> header file */
-/* #define HAVE_SYS_TIME_H 1 */
-
-/* Define if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define if you have the <sys/utime.h> header file. */
-#ifndef __BORLANDC__
-#define HAVE_SYS_UTIME_H 1
-#endif
-
-/* Define if you have the <unistd.h> header file. */
-#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__)
-#define HAVE_UNISTD_H 1
-#endif
-
-/* Define if you have the <windows.h> header file. */
-#define HAVE_WINDOWS_H 1
-
-/* Define if you have the <winsock.h> header file. */
-#define HAVE_WINSOCK_H 1
-
-/* Define if you have the <winsock2.h> header file. */
-#define HAVE_WINSOCK2_H 1
-
-/* Define if you have the <ws2tcpip.h> header file. */
-#define HAVE_WS2TCPIP_H 1
-
-/* ---------------------------------------------------------------- */
-/* OTHER HEADER INFO */
-/* ---------------------------------------------------------------- */
-
-/* Define if sig_atomic_t is an available typedef. */
-#define HAVE_SIG_ATOMIC_T 1
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-/* #define TIME_WITH_SYS_TIME 1 */
-
-/* ---------------------------------------------------------------- */
-/* FUNCTIONS */
-/* ---------------------------------------------------------------- */
-
-/* Define if you have the setmode function. */
-#define HAVE_SETMODE 1
-
-/* Define if you have the ftruncate function. */
-#define HAVE_FTRUNCATE 1
-
-/* Define if you have the setlocale function. */
-#define HAVE_SETLOCALE 1
-
-/* Define if you have the strdup function. */
-#define HAVE_STRDUP 1
-
-/* Define if you have the stricmp function. */
-#define HAVE_STRICMP 1
-
-/* Define if you have the utime function */
-#ifndef __BORLANDC__
-#define HAVE_UTIME 1
-#endif
-
-/* Define if you have the recv function. */
-#define HAVE_RECV 1
-
-/* Define to the type of arg 1 for recv. */
-#define RECV_TYPE_ARG1 SOCKET
-
-/* Define to the type of arg 2 for recv. */
-#define RECV_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for recv. */
-#define RECV_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recv. */
-#define RECV_TYPE_ARG4 int
-
-/* Define to the function return type for recv. */
-#define RECV_TYPE_RETV int
-
-/* Define if you have the recvfrom function. */
-#define HAVE_RECVFROM 1
-
-/* Define to the type of arg 1 for recvfrom. */
-#define RECVFROM_TYPE_ARG1 SOCKET
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#define RECVFROM_TYPE_ARG2 char
-
-/* Define to the type of arg 3 for recvfrom. */
-#define RECVFROM_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for recvfrom. */
-#define RECVFROM_TYPE_ARG4 int
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#define RECVFROM_TYPE_ARG5 struct sockaddr
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#define RECVFROM_TYPE_ARG6 int
-
-/* Define to the function return type for recvfrom. */
-#define RECVFROM_TYPE_RETV int
-
-/* Define if you have the send function. */
-#define HAVE_SEND 1
-
-/* Define to the type of arg 1 for send. */
-#define SEND_TYPE_ARG1 SOCKET
-
-/* Define to the type qualifier of arg 2 for send. */
-#define SEND_QUAL_ARG2 const
-
-/* Define to the type of arg 2 for send. */
-#define SEND_TYPE_ARG2 char *
-
-/* Define to the type of arg 3 for send. */
-#define SEND_TYPE_ARG3 int
-
-/* Define to the type of arg 4 for send. */
-#define SEND_TYPE_ARG4 int
-
-/* Define to the function return type for send. */
-#define SEND_TYPE_RETV int
-
-/* ---------------------------------------------------------------- */
-/* TYPEDEF REPLACEMENTS */
-/* ---------------------------------------------------------------- */
-
-/* Define this if in_addr_t is not an available 'typedefed' type */
-#define in_addr_t unsigned long
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \
- defined(__MINGW32__)
-#elif defined(_WIN64)
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-
-/* ---------------------------------------------------------------- */
-/* STRUCT RELATED */
-/* ---------------------------------------------------------------- */
-
-/* Define this if you have struct sockaddr_storage */
-#ifndef __SALFORDC__
-#define HAVE_STRUCT_SOCKADDR_STORAGE 1
-#endif
-
-/* Define this if you have struct timeval */
-#define HAVE_STRUCT_TIMEVAL 1
-
-/* ---------------------------------------------------------------- */
-/* COMPILER SPECIFIC */
-/* ---------------------------------------------------------------- */
-
-/* Undef keyword 'const' if it does not work. */
-/* #undef const */
-
-/* Windows should not have HAVE_GMTIME_R defined */
-/* #undef HAVE_GMTIME_R */
-
-/* Define if the compiler supports C99 variadic macro style. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define HAVE_VARIADIC_MACROS_C99 1
-#endif
-
-/* Define if the compiler supports the 'long long' data type. */
-#if defined(__MINGW32__) || defined(__WATCOMC__)
-#define HAVE_LONGLONG 1
-#endif
-
-/* Define to avoid VS2005 complaining about portable C functions */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define _CRT_SECURE_NO_DEPRECATE 1
-#define _CRT_NONSTDC_NO_DEPRECATE 1
-#endif
-
-/* VS2005 and later dafault size for time_t is 64-bit, unless */
-/* _USE_32BIT_TIME_T has been defined to get a 32-bit time_t. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-# ifndef _USE_32BIT_TIME_T
-# define SIZEOF_TIME_T 8
-# else
-# define SIZEOF_TIME_T 4
-# endif
-#endif
-
-/* VS2008 does not support Windows build targets prior to WinXP, */
-/* so, if no build target has been defined we will target WinXP. */
-#if defined(_MSC_VER) && (_MSC_VER >= 1500)
-# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0501
-# endif
-# ifndef WINVER
-# define WINVER 0x0501
-# endif
-# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501)
-# error VS2008 does not support Windows build targets prior to WinXP
-# endif
-#endif
-
-/* ---------------------------------------------------------------- */
-/* LARGE FILE SUPPORT */
-/* ---------------------------------------------------------------- */
-
-#if defined(_MSC_VER) && !defined(_WIN32_WCE)
-# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
-# define USE_WIN32_LARGE_FILES
-# else
-# define USE_WIN32_SMALL_FILES
-# endif
-#endif
-
-#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
-# define USE_WIN32_SMALL_FILES
-#endif
-
-/* ---------------------------------------------------------------- */
-/* ADDITIONAL DEFINITIONS */
-/* ---------------------------------------------------------------- */
-
-/* Define cpu-machine-OS */
-#ifndef OS
-#define OS "i386-pc-win32"
-#endif
-
-/* Define to 1 if you want the built-in manual */
-#define USE_MANUAL 1
-
-
-#endif /* __SRC_CONFIG_WIN32_H */
diff --git a/Utilities/cmcurl-7.19.0/src/config.h.in b/Utilities/cmcurl-7.19.0/src/config.h.in
deleted file mode 100644
index 3d264e6..0000000
--- a/Utilities/cmcurl-7.19.0/src/config.h.in
+++ /dev/null
@@ -1,857 +0,0 @@
-/* lib/config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if you have the $func function. */
-#undef AS_TR_CPP
-
-/* when building libcurl itself */
-#undef BUILDING_LIBCURL
-
-/* Location of default ca bundle */
-#undef CURL_CA_BUNDLE
-
-/* Location of default ca path */
-#undef CURL_CA_PATH
-
-/* to disable cookies support */
-#undef CURL_DISABLE_COOKIES
-
-/* to disable cryptographic authentication */
-#undef CURL_DISABLE_CRYPTO_AUTH
-
-/* to disable DICT */
-#undef CURL_DISABLE_DICT
-
-/* to disable FILE */
-#undef CURL_DISABLE_FILE
-
-/* to disable FTP */
-#undef CURL_DISABLE_FTP
-
-/* to disable HTTP */
-#undef CURL_DISABLE_HTTP
-
-/* to disable LDAP */
-#undef CURL_DISABLE_LDAP
-
-/* to disable LDAPS */
-#undef CURL_DISABLE_LDAPS
-
-/* to disable TELNET */
-#undef CURL_DISABLE_TELNET
-
-/* to disable TFTP */
-#undef CURL_DISABLE_TFTP
-
-/* to disable verbose strings */
-#undef CURL_DISABLE_VERBOSE_STRINGS
-
-/* to make a symbol visible */
-#undef CURL_EXTERN_SYMBOL
-
-/* to enable hidden symbols */
-#undef CURL_HIDDEN_SYMBOLS
-
-/* W$ LDAP with non-W$ compiler */
-#undef CURL_LDAP_HYBRID
-
-/* Use W$ LDAP implementation */
-#undef CURL_LDAP_WIN
-
-/* when not building a shared library */
-#undef CURL_STATICLIB
-
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#undef DISABLED_THREADSAFE
-
-/* your Entropy Gathering Daemon socket pathname */
-#undef EGD_SOCKET
-
-/* Define if you want to enable IPv6 support */
-#undef ENABLE_IPV6
-
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#undef GETNAMEINFO_QUAL_ARG1
-
-/* Define to the type of arg 1 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG1
-
-/* Define to the type of arg 2 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG2
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG46
-
-/* Define to the type of arg 7 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG7
-
-/* Define to 1 if you have the <alloca.h> header file. */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the <arpa/tftp.h> header file. */
-#undef HAVE_ARPA_TFTP_H
-
-/* Define to 1 if you have the <assert.h> header file. */
-#undef HAVE_ASSERT_H
-
-/* Define to 1 if you have the `basename' function. */
-#undef HAVE_BASENAME
-
-/* Define to 1 if bool is an available type. */
-#undef HAVE_BOOL_T
-
-/* Define to 1 if you have the clock_gettime function and monotonic timer. */
-#undef HAVE_CLOCK_GETTIME_MONOTONIC
-
-/* Define to 1 if you have the `closesocket' function. */
-#undef HAVE_CLOSESOCKET
-
-/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
-#undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
-
-/* Define to 1 if you have the <crypto.h> header file. */
-#undef HAVE_CRYPTO_H
-
-/* Define to 1 if you have the <des.h> header file. */
-#undef HAVE_DES_H
-
-/* disabled non-blocking sockets */
-#undef HAVE_DISABLED_NONBLOCKING
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-#undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES
-
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define to 1 if you have the <err.h> header file. */
-#undef HAVE_ERR_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* use FIONBIO for non-blocking sockets */
-#undef HAVE_FIONBIO
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* Define to 1 if you have the `ftruncate' function. */
-#undef HAVE_FTRUNCATE
-
-/* Define if getaddrinfo exists and works */
-#undef HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `geteuid' function. */
-#undef HAVE_GETEUID
-
-/* Define to 1 if you have the `gethostbyaddr' function. */
-#undef HAVE_GETHOSTBYADDR
-
-/* If you have gethostbyname */
-#undef HAVE_GETHOSTBYNAME
-
-/* Define to 1 if you have the gethostbyname_r function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* gethostbyname_r() takes 3 args */
-#undef HAVE_GETHOSTBYNAME_R_3
-
-/* gethostbyname_r() takes 5 args */
-#undef HAVE_GETHOSTBYNAME_R_5
-
-/* gethostbyname_r() takes 6 args */
-#undef HAVE_GETHOSTBYNAME_R_6
-
-/* Define to 1 if you have the getnameinfo function. */
-#undef HAVE_GETNAMEINFO
-
-/* Define to 1 if you have the `getpass_r' function. */
-#undef HAVE_GETPASS_R
-
-/* Define to 1 if you have the `getppid' function. */
-#undef HAVE_GETPPID
-
-/* Define to 1 if you have the `getprotobyname' function. */
-#undef HAVE_GETPROTOBYNAME
-
-/* Define to 1 if you have the `getpwuid' function. */
-#undef HAVE_GETPWUID
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_GETRLIMIT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* we have a glibc-style strerror_r() */
-#undef HAVE_GLIBC_STRERROR_R
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#undef HAVE_GMTIME_R
-
-/* if you have the gssapi libraries */
-#undef HAVE_GSSAPI
-
-/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
-#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
-
-/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
-#undef HAVE_GSSAPI_GSSAPI_H
-
-/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
-#undef HAVE_GSSAPI_GSSAPI_KRB5_H
-
-/* if you have the GNU gssapi libraries */
-#undef HAVE_GSSGNU
-
-/* if you have the Heimdal gssapi libraries */
-#undef HAVE_GSSHEIMDAL
-
-/* if you have the MIT gssapi libraries */
-#undef HAVE_GSSMIT
-
-/* Define to 1 if you have the `idna_strerror' function. */
-#undef HAVE_IDNA_STRERROR
-
-/* Define to 1 if you have the `idn_free' function. */
-#undef HAVE_IDN_FREE
-
-/* Define to 1 if you have the <idn-free.h> header file. */
-#undef HAVE_IDN_FREE_H
-
-/* Define to 1 if you have the `inet_addr' function. */
-#undef HAVE_INET_ADDR
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#undef HAVE_INET_NTOA
-
-/* Define to 1 if you have the `inet_ntoa_r' function. */
-#undef HAVE_INET_NTOA_R
-
-/* inet_ntoa_r() is declared */
-#undef HAVE_INET_NTOA_R_DECL
-
-/* Define to 1 if you have the `inet_pton' function. */
-#undef HAVE_INET_PTON
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* use ioctlsocket() for non-blocking sockets */
-#undef HAVE_IOCTLSOCKET
-
-/* use Ioctlsocket() for non-blocking sockets */
-#undef HAVE_IOCTLSOCKET_CASE
-
-/* Define to 1 if you have the <io.h> header file. */
-#undef HAVE_IO_H
-
-/* if you have the Kerberos4 libraries (including -ldes) */
-#undef HAVE_KRB4
-
-/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
-#undef HAVE_KRB_GET_OUR_IP_FOR_REALM
-
-/* Define to 1 if you have the <krb.h> header file. */
-#undef HAVE_KRB_H
-
-/* Define to 1 if you have the lber.h header file. */
-#undef HAVE_LBER_H
-
-/* Define to 1 if you have the ldapssl.h header file. */
-#undef HAVE_LDAPSSL_H
-
-/* Define to 1 if you have the ldap.h header file. */
-#undef HAVE_LDAP_H
-
-/* Use LDAPS implementation */
-#undef HAVE_LDAP_SSL
-
-/* Define to 1 if you have the ldap_ssl.h header file. */
-#undef HAVE_LDAP_SSL_H
-
-/* Define to 1 if you have the `ldap_url_parse' function. */
-#undef HAVE_LDAP_URL_PARSE
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#undef HAVE_LIBGEN_H
-
-/* Define to 1 if you have the `idn' library (-lidn). */
-#undef HAVE_LIBIDN
-
-/* Define to 1 if you have the `resolv' library (-lresolv). */
-#undef HAVE_LIBRESOLV
-
-/* Define to 1 if you have the `resolve' library (-lresolve). */
-#undef HAVE_LIBRESOLVE
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define to 1 if you have the `ssh2' library (-lssh2). */
-#undef HAVE_LIBSSH2
-
-/* Define to 1 if you have the <libssh2.h> header file. */
-#undef HAVE_LIBSSH2_H
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
-/* if zlib is available */
-#undef HAVE_LIBZ
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* if your compiler supports LL */
-#undef HAVE_LL
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define to 1 if the compiler supports the 'long long' data type. */
-#undef HAVE_LONGLONG
-
-/* Define to 1 if you have the malloc.h header file. */
-#undef HAVE_MALLOC_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the MSG_NOSIGNAL flag. */
-#undef HAVE_MSG_NOSIGNAL
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#undef HAVE_NETINET_TCP_H
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#undef HAVE_NET_IF_H
-
-/* Define to 1 if NI_WITHSCOPEID exists and works. */
-#undef HAVE_NI_WITHSCOPEID
-
-/* Defined if no inet_pton() prototype available */
-#undef HAVE_NO_INET_PTON_PROTO
-
-/* we have no strerror_r() proto */
-#undef HAVE_NO_STRERROR_R_DECL
-
-/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE
- */
-#undef HAVE_OLD_GSSMIT
-
-/* Define to 1 if you have the <openssl/crypto.h> header file. */
-#undef HAVE_OPENSSL_CRYPTO_H
-
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-#undef HAVE_OPENSSL_ENGINE_H
-
-/* Define to 1 if you have the <openssl/err.h> header file. */
-#undef HAVE_OPENSSL_ERR_H
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-#undef HAVE_OPENSSL_PEM_H
-
-/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
-#undef HAVE_OPENSSL_PKCS12_H
-
-/* Define to 1 if you have the <openssl/rsa.h> header file. */
-#undef HAVE_OPENSSL_RSA_H
-
-/* Define to 1 if you have the <openssl/ssl.h> header file. */
-#undef HAVE_OPENSSL_SSL_H
-
-/* Define to 1 if you have the <openssl/x509.h> header file. */
-#undef HAVE_OPENSSL_X509_H
-
-/* use O_NONBLOCK for non-blocking sockets */
-#undef HAVE_O_NONBLOCK
-
-/* Define to 1 if you have the <pem.h> header file. */
-#undef HAVE_PEM_H
-
-/* Define to 1 if you have the `perror' function. */
-#undef HAVE_PERROR
-
-/* Define to 1 if you have the `pipe' function. */
-#undef HAVE_PIPE
-
-/* if you have the function PK11_CreateGenericObject */
-#undef HAVE_PK11_CREATEGENERICOBJECT
-
-/* Define to 1 if you have the `poll' function. */
-#undef HAVE_POLL
-
-/* If you have a fine poll */
-#undef HAVE_POLL_FINE
-
-/* Define to 1 if you have the <poll.h> header file. */
-#undef HAVE_POLL_H
-
-/* we have a POSIX-style strerror_r() */
-#undef HAVE_POSIX_STRERROR_R
-
-/* Define to 1 if you have the <pwd.h> header file. */
-#undef HAVE_PWD_H
-
-/* Define to 1 if you have the `RAND_egd' function. */
-#undef HAVE_RAND_EGD
-
-/* Define to 1 if you have the `RAND_screen' function. */
-#undef HAVE_RAND_SCREEN
-
-/* Define to 1 if you have the `RAND_status' function. */
-#undef HAVE_RAND_STATUS
-
-/* Define to 1 if you have the recv function. */
-#undef HAVE_RECV
-
-/* Define to 1 if you have the recvfrom function. */
-#undef HAVE_RECVFROM
-
-/* Define to 1 if you have the <rsa.h> header file. */
-#undef HAVE_RSA_H
-
-/* Define to 1 if you have the select function. */
-#undef HAVE_SELECT
-
-/* Define to 1 if you have the send function. */
-#undef HAVE_SEND
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#undef HAVE_SETJMP_H
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
-
-/* Define to 1 if you have the `setmode' function. */
-#undef HAVE_SETMODE
-
-/* Define to 1 if you have the `setrlimit' function. */
-#undef HAVE_SETRLIMIT
-
-/* Define to 1 if you have the <sgtty.h> header file. */
-#undef HAVE_SGTTY_H
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if you have the `siginterrupt' function. */
-#undef HAVE_SIGINTERRUPT
-
-/* Define to 1 if you have the `signal' function. */
-#undef HAVE_SIGNAL
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* If you have sigsetjmp */
-#undef HAVE_SIGSETJMP
-
-/* Define to 1 if sig_atomic_t is an available typedef. */
-#undef HAVE_SIG_ATOMIC_T
-
-/* Define to 1 if sig_atomic_t is already defined as volatile. */
-#undef HAVE_SIG_ATOMIC_T_VOLATILE
-
-/* Define to 1 if you have the `socket' function. */
-#undef HAVE_SOCKET
-
-/* use SO_NONBLOCK for non-blocking sockets */
-#undef HAVE_SO_NONBLOCK
-
-/* Define this if you have the SPNEGO library fbopenssl */
-#undef HAVE_SPNEGO
-
-/* Define to 1 if you have the `SSL_get_shutdown' function. */
-#undef HAVE_SSL_GET_SHUTDOWN
-
-/* Define to 1 if you have the <ssl.h> header file. */
-#undef HAVE_SSL_H
-
-/* Define to 1 if you have the <stdbool.h> header file. */
-#undef HAVE_STDBOOL_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#undef HAVE_STDIO_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strcasestr' function. */
-#undef HAVE_STRCASESTR
-
-/* Define to 1 if you have the `strcmpi' function. */
-#undef HAVE_STRCMPI
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror_r' function. */
-#undef HAVE_STRERROR_R
-
-/* Define to 1 if you have the `stricmp' function. */
-#undef HAVE_STRICMP
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
-/* Define to 1 if you have the `strlcpy' function. */
-#undef HAVE_STRLCPY
-
-/* Define to 1 if you have the `strstr' function. */
-#undef HAVE_STRSTR
-
-/* Define to 1 if you have the `strtok_r' function. */
-#undef HAVE_STRTOK_R
-
-/* Define to 1 if you have the `strtoll' function. */
-#undef HAVE_STRTOLL
-
-/* if struct sockaddr_storage is defined */
-#undef HAVE_STRUCT_SOCKADDR_STORAGE
-
-/* Define to 1 if you have the timeval struct. */
-#undef HAVE_STRUCT_TIMEVAL
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#undef HAVE_SYS_FILIO_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-#undef HAVE_SYS_POLL_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-#undef HAVE_SYS_SOCKIO_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/utime.h> header file. */
-#undef HAVE_SYS_UTIME_H
-
-/* Define to 1 if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define to 1 if you have the <termio.h> header file. */
-#undef HAVE_TERMIO_H
-
-/* Define to 1 if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if you have the <tld.h> header file. */
-#undef HAVE_TLD_H
-
-/* Define to 1 if you have the `tld_strerror' function. */
-#undef HAVE_TLD_STRERROR
-
-/* Define to 1 if you have the `uname' function. */
-#undef HAVE_UNAME
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `utime' function. */
-#undef HAVE_UTIME
-
-/* Define to 1 if you have the <utime.h> header file. */
-#undef HAVE_UTIME_H
-
-/* Define to 1 if compiler supports C99 variadic macro style. */
-#undef HAVE_VARIADIC_MACROS_C99
-
-/* Define to 1 if compiler supports old gcc variadic macro style. */
-#undef HAVE_VARIADIC_MACROS_GCC
-
-/* Define to 1 if you have the winber.h header file. */
-#undef HAVE_WINBER_H
-
-/* Define to 1 if you have the windows.h header file. */
-#undef HAVE_WINDOWS_H
-
-/* Define to 1 if you have the winldap.h header file. */
-#undef HAVE_WINLDAP_H
-
-/* Define to 1 if you have the winsock2.h header file. */
-#undef HAVE_WINSOCK2_H
-
-/* Define to 1 if you have the winsock.h header file. */
-#undef HAVE_WINSOCK_H
-
-/* Define this symbol if your OS supports changing the contents of argv */
-#undef HAVE_WRITABLE_ARGV
-
-/* Define to 1 if you have the ws2tcpip.h header file. */
-#undef HAVE_WS2TCPIP_H
-
-/* Define to 1 if you have the <x509.h> header file. */
-#undef HAVE_X509_H
-
-/* if you have the zlib.h header file */
-#undef HAVE_ZLIB_H
-
-/* Define to 1 if you are building a native Windows target. */
-#undef NATIVE_WINDOWS
-
-/* If you lack a fine basename() prototype */
-#undef NEED_BASENAME_PROTO
-
-/* Define to 1 if you need the lber.h header file even with ldap.h */
-#undef NEED_LBER_H
-
-/* Define to 1 if you need the malloc.h header file even with stdlib.h */
-#undef NEED_MALLOC_H
-
-/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
-#undef NEED_REENTRANT
-
-/* cpu-machine-OS */
-#undef OS
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* a suitable file to read random data from */
-#undef RANDOM_FILE
-
-/* Define to the type of arg 1 for recvfrom. */
-#undef RECVFROM_TYPE_ARG1
-
-/* Define to the type pointed by arg 2 for recvfrom. */
-#undef RECVFROM_TYPE_ARG2
-
-/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
-#undef RECVFROM_TYPE_ARG2_IS_VOID
-
-/* Define to the type of arg 3 for recvfrom. */
-#undef RECVFROM_TYPE_ARG3
-
-/* Define to the type of arg 4 for recvfrom. */
-#undef RECVFROM_TYPE_ARG4
-
-/* Define to the type pointed by arg 5 for recvfrom. */
-#undef RECVFROM_TYPE_ARG5
-
-/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
-#undef RECVFROM_TYPE_ARG5_IS_VOID
-
-/* Define to the type pointed by arg 6 for recvfrom. */
-#undef RECVFROM_TYPE_ARG6
-
-/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
-#undef RECVFROM_TYPE_ARG6_IS_VOID
-
-/* Define to the function return type for recvfrom. */
-#undef RECVFROM_TYPE_RETV
-
-/* Define to the type of arg 1 for recv. */
-#undef RECV_TYPE_ARG1
-
-/* Define to the type of arg 2 for recv. */
-#undef RECV_TYPE_ARG2
-
-/* Define to the type of arg 3 for recv. */
-#undef RECV_TYPE_ARG3
-
-/* Define to the type of arg 4 for recv. */
-#undef RECV_TYPE_ARG4
-
-/* Define to the function return type for recv. */
-#undef RECV_TYPE_RETV
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* Define to the type qualifier of arg 5 for select. */
-#undef SELECT_QUAL_ARG5
-
-/* Define to the type of arg 1 for select. */
-#undef SELECT_TYPE_ARG1
-
-/* Define to the type of args 2, 3 and 4 for select. */
-#undef SELECT_TYPE_ARG234
-
-/* Define to the type of arg 5 for select. */
-#undef SELECT_TYPE_ARG5
-
-/* Define to the function return type for select. */
-#undef SELECT_TYPE_RETV
-
-/* Define to the type qualifier of arg 2 for send. */
-#undef SEND_QUAL_ARG2
-
-/* Define to the type of arg 1 for send. */
-#undef SEND_TYPE_ARG1
-
-/* Define to the type of arg 2 for send. */
-#undef SEND_TYPE_ARG2
-
-/* Define to the type of arg 3 for send. */
-#undef SEND_TYPE_ARG3
-
-/* Define to the type of arg 4 for send. */
-#undef SEND_TYPE_ARG4
-
-/* Define to the function return type for send. */
-#undef SEND_TYPE_RETV
-
-/* The size of `int', as computed by sizeof. */
-#undef SIZEOF_INT
-
-/* The size of `long', as computed by sizeof. */
-#undef SIZEOF_LONG
-
-/* The size of `off_t', as computed by sizeof. */
-#undef SIZEOF_OFF_T
-
-/* The size of `size_t', as computed by sizeof. */
-#undef SIZEOF_SIZE_T
-
-/* The size of `time_t', as computed by sizeof. */
-#undef SIZEOF_TIME_T
-
-/* The size of `void*', as computed by sizeof. */
-#undef SIZEOF_VOIDP
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define if you want to enable c-ares support */
-#undef USE_ARES
-
-/* if GnuTLS is enabled */
-#undef USE_GNUTLS
-
-/* if libSSH2 is in use */
-#undef USE_LIBSSH2
-
-/* If you want to build curl with the built-in manual */
-#undef USE_MANUAL
-
-/* if NSS is enabled */
-#undef USE_NSS
-
-/* if OpenSSL is in use */
-#undef USE_OPENSSL
-
-/* if SSL is enabled */
-#undef USE_SSLEAY
-
-/* Define to 1 if you are building a Windows target without large file
- support. */
-#undef USE_WIN32_LARGE_FILES
-
-/* to enable SSPI support */
-#undef USE_WINDOWS_SSPI
-
-/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
-#undef USE_YASSLEMUL
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to avoid automatic inclusion of winsock.h */
-#undef WIN32_LEAN_AND_MEAN
-
-/* Define to 1 if OS is AIX. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* define this if you need it to compile thread-safe code */
-#undef _THREAD_SAFE
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Type to use in place of in_addr_t when system does not provide it. */
-#undef in_addr_t
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Type to use in place of socklen_t when system does not provide it. */
-#undef socklen_t
-
-/* the signed version of size_t */
-#undef ssize_t
diff --git a/Utilities/cmcurl-7.19.0/src/curl.rc b/Utilities/cmcurl-7.19.0/src/curl.rc
deleted file mode 100644
index fd29f18..0000000
--- a/Utilities/cmcurl-7.19.0/src/curl.rc
+++ /dev/null
@@ -1,64 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include <winver.h>
-#include "version.h"
-
-LANGUAGE 0x09,0x01
-
-#define RC_VERSION CURL_VERSION_MAJOR, CURL_VERSION_MINOR, CURL_VERSION_PATCH, 0
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION RC_VERSION
- PRODUCTVERSION RC_VERSION
- FILEFLAGSMASK 0x3fL
-#if defined(CURLDEBUG) || defined(_DEBUG)
- FILEFLAGS 1
-#else
- FILEFLAGS 0
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_APP
- FILESUBTYPE 0x0L
-
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "CompanyName", "cURL, http://curl.haxx.se/\0"
- VALUE "FileDescription", "The cURL executable\0"
- VALUE "FileVersion", CURL_VERSION "\0"
- VALUE "InternalName", "curl\0"
- VALUE "OriginalFilename", "curl.exe\0"
- VALUE "ProductName", "The cURL executable\0"
- VALUE "ProductVersion", CURL_VERSION "\0"
- VALUE "LegalCopyright", "© " CURL_COPYRIGHT "\0"
- VALUE "License", "http://curl.haxx.se/docs/copyright.html\0"
- END
- END
-
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/Utilities/cmcurl-7.19.0/src/curlsrc.dsp b/Utilities/cmcurl-7.19.0/src/curlsrc.dsp
deleted file mode 100644
index c5b0ecb..0000000
--- a/Utilities/cmcurl-7.19.0/src/curlsrc.dsp
+++ /dev/null
@@ -1,234 +0,0 @@
-# Microsoft Developer Studio Project File - Name="curlsrc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=curlsrc - Win32 using libcurl LIB Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "curlsrc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "curlsrc.mak" CFG="curlsrc - Win32 using libcurl LIB Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "curlsrc - Win32 using libcurl DLL Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "curlsrc - Win32 using libcurl DLL Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "curlsrc - Win32 using libcurl LIB Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "curlsrc - Win32 using libcurl LIB Release" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "curlsrc - Win32 using libcurl DLL Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "DLL-Debug"
-# PROP BASE Intermediate_Dir "DLL-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "DLL-Debug"
-# PROP Intermediate_Dir "DLL-Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /FD /GZ /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurld_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"DLL-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\DLL-Debug"
-# ADD LINK32 libcurld_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"DLL-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\DLL-Debug"
-
-!ELSEIF "$(CFG)" == "curlsrc - Win32 using libcurl DLL Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "DLL-Release"
-# PROP BASE Intermediate_Dir "DLL-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "DLL-Release"
-# PROP Intermediate_Dir "DLL-Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "NDEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurl_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"DLL-Release/curl.exe" /libpath:"..\lib\DLL-Release"
-# ADD LINK32 libcurl_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"DLL-Release/curl.exe" /libpath:"..\lib\DLL-Release"
-
-!ELSEIF "$(CFG)" == "curlsrc - Win32 using libcurl LIB Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "LIB-Debug"
-# PROP BASE Intermediate_Dir "LIB-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "LIB-Debug"
-# PROP Intermediate_Dir "LIB-Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /GZ /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurld.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"LIB-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\LIB-Debug"
-# ADD LINK32 libcurld.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"LIB-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\LIB-Debug"
-
-!ELSEIF "$(CFG)" == "curlsrc - Win32 using libcurl LIB Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "LIB-Release"
-# PROP BASE Intermediate_Dir "LIB-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "LIB-Release"
-# PROP Intermediate_Dir "LIB-Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "NDEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurl.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"LIB-Release/curl.exe" /libpath:"..\lib\LIB-Release"
-# ADD LINK32 libcurl.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"LIB-Release/curl.exe" /libpath:"..\lib\LIB-Release"
-
-!ENDIF
-
-# Begin Target
-
-# Name "curlsrc - Win32 using libcurl DLL Debug"
-# Name "curlsrc - Win32 using libcurl DLL Release"
-# Name "curlsrc - Win32 using libcurl LIB Debug"
-# Name "curlsrc - Win32 using libcurl LIB Release"
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\curlutil.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getpass.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\homedir.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hugehelp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lib\strtoofft.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\urlglob.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeenv.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeout.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=".\config-win32.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\curlutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\getpass.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\homedir.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\hugehelp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setup.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\lib\strtoofft.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\urlglob.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\version.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeenv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeout.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\curl.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/Utilities/cmcurl-7.19.0/src/curlsrc.dsw b/Utilities/cmcurl-7.19.0/src/curlsrc.dsw
deleted file mode 100644
index 2aec010..0000000
--- a/Utilities/cmcurl-7.19.0/src/curlsrc.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "curlsrc"=".\curlsrc.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Utilities/cmcurl-7.19.0/src/curlutil.c b/Utilities/cmcurl-7.19.0/src/curlutil.c
deleted file mode 100644
index 1712ce3..0000000
--- a/Utilities/cmcurl-7.19.0/src/curlutil.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "curlutil.h"
-
-#if defined(WIN32) && !defined(MSDOS)
-
-struct timeval cutil_tvnow(void)
-{
- /*
- ** GetTickCount() is available on _all_ Windows versions from W95 up
- ** to nowadays. Returns milliseconds elapsed since last system boot,
- ** increases monotonically and wraps once 49.7 days have elapsed.
- */
- struct timeval now;
- DWORD milliseconds = GetTickCount();
- now.tv_sec = milliseconds / 1000;
- now.tv_usec = (milliseconds % 1000) * 1000;
- return now;
-}
-
-#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)
-
-struct timeval cutil_tvnow(void)
-{
- /*
- ** clock_gettime() is granted to be increased monotonically when the
- ** monotonic clock is queried. Time starting point is unspecified, it
- ** could be the system start-up time, the Epoch, or something else,
- ** in any case the time starting point does not change once that the
- ** system has started up.
- */
- struct timeval now;
- struct timespec tsnow;
- if(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow)) {
- now.tv_sec = tsnow.tv_sec;
- now.tv_usec = tsnow.tv_nsec / 1000;
- }
- /*
- ** Even when the configure process has truly detected monotonic clock
- ** availability, it might happen that it is not actually available at
- ** run-time. When this occurs simply fallback to other time source.
- */
-#ifdef HAVE_GETTIMEOFDAY
- else
- (void)gettimeofday(&now, NULL);
-#else
- else {
- now.tv_sec = (long)time(NULL);
- now.tv_usec = 0;
- }
-#endif
- return now;
-}
-
-#elif defined(HAVE_GETTIMEOFDAY)
-
-struct timeval cutil_tvnow(void)
-{
- /*
- ** gettimeofday() is not granted to be increased monotonically, due to
- ** clock drifting and external source time synchronization it can jump
- ** forward or backward in time.
- */
- struct timeval now;
- (void)gettimeofday(&now, NULL);
- return now;
-}
-
-#else
-
-struct timeval cutil_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;
-}
-
-#endif
-
-/*
- * Make sure that the first argument is the more recent time, as otherwise
- * we'll get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long cutil_tvdiff(struct timeval newer, struct timeval older)
-{
- return (newer.tv_sec-older.tv_sec)*1000+
- (newer.tv_usec-older.tv_usec)/1000;
-}
-
-/*
- * Same as cutil_tvdiff but with full usec resolution.
- *
- * Returns: the time difference in seconds with subsecond resolution.
- */
-double cutil_tvdiff_secs(struct timeval newer, struct timeval older)
-{
- return (double)(newer.tv_sec-older.tv_sec)+
- (double)(newer.tv_usec-older.tv_usec)/1000000.0;
-}
-
-/* return the number of seconds in the given input timeval struct */
-long cutil_tvlong(struct timeval t1)
-{
- return t1.tv_sec;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/src/curlutil.h b/Utilities/cmcurl-7.19.0/src/curlutil.h
deleted file mode 100644
index 50f0bfaf..0000000
--- a/Utilities/cmcurl-7.19.0/src/curlutil.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef __CURL_SRC_UTIL_H
-#define __CURL_SRC_UTIL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-
-struct timeval cutil_tvnow(void);
-
-/*
- * Make sure that the first argument (t1) is the more recent time and t2 is
- * the older time, as otherwise you get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long cutil_tvdiff(struct timeval t1, struct timeval t2);
-
-/*
- * Same as cutil_tvdiff but with full usec resolution.
- *
- * Returns: the time difference in seconds with subsecond resolution.
- */
-double cutil_tvdiff_secs(struct timeval t1, struct timeval t2);
-
-long cutil_tvlong(struct timeval t1);
-
-
-#endif /* __CURL_SRC_UTIL_H */
-
diff --git a/Utilities/cmcurl-7.19.0/src/getpass.c b/Utilities/cmcurl-7.19.0/src/getpass.c
deleted file mode 100644
index 7209a2a..0000000
--- a/Utilities/cmcurl-7.19.0/src/getpass.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* This file is a reimplementation of the previous one, due to license
- problems. */
-
-#include "setup.h"
-
-#ifndef HAVE_GETPASS_R
-/* this file is only for systems without getpass_r() */
-
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "getpass.h"
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_TERMIOS_H
-#include <termios.h>
-#else
-#ifdef HAVE_TERMIO_H
-#include <termio.h>
-#endif
-#endif
-
-/* The last #include file should be: */
-#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
-#include "memdebug.h"
-#endif
-
-#ifdef VMS
-/* VMS implementation */
-#include descrip
-#include starlet
-#include iodef
-/* #include iosbdef */
-char *getpass_r(const char *prompt, char *buffer, size_t buflen)
-{
- long sts;
- short chan;
-
- /* MSK, 23-JAN-2004, iosbdef.h wasn't in VAX V7.2 or CC 6.4 */
- /* distribution so I created this. May revert back later to */
- /* struct _iosb iosb; */
- struct _iosb
- {
- short int iosb$w_status; /* status */
- short int iosb$w_bcnt; /* byte count */
- int unused; /* unused */
- } iosb;
-
- $DESCRIPTOR(ttdesc, "TT");
-
- buffer[0]='\0';
- sts = sys$assign(&ttdesc, &chan,0,0);
- if (sts & 1) {
- sts = sys$qiow(0, chan,
- IO$_READPROMPT | IO$M_NOECHO,
- &iosb, 0, 0, buffer, buflen, 0, 0,
- prompt, strlen(prompt));
-
- if((sts & 1) && (iosb.iosb$w_status&1))
- buffer[iosb.iosb$w_bcnt] = '\0';
-
- sts = sys$dassgn(chan);
- }
- return buffer; /* we always return success */
-}
-#define DONE
-#endif /* VMS */
-
-
-#ifdef WIN32
-/* Windows implementation */
-#include <conio.h>
-#endif
-
-#ifdef __SYMBIAN32__
-#define getch() getchar()
-#endif
-
-#if defined(WIN32) || defined(__SYMBIAN32__)
-
-char *getpass_r(const char *prompt, char *buffer, size_t buflen)
-{
- size_t i;
- fputs(prompt, stderr);
-
- for(i=0; i<buflen; i++) {
- buffer[i] = getch();
- if ( buffer[i] == '\r' || buffer[i] == '\n' ) {
- buffer[i] = 0;
- break;
- }
- else
- if ( buffer[i] == '\b')
- /* remove this letter and if this is not the first key, remove the
- previous one as well */
- i = i - (i>=1?2:1);
- }
-#ifndef __SYMBIAN32__
- /* since echo is disabled, print a newline */
- fputs("\n", stderr);
-#endif
- /* if user didn't hit ENTER, terminate buffer */
- if (i==buflen)
- buffer[buflen-1]=0;
-
- return buffer; /* we always return success */
-}
-#define DONE
-#endif /* WIN32 || __SYMBIAN32__ */
-
-#ifdef NETWARE
-/* NetWare implementation */
-#ifdef __NOVELL_LIBC__
-#include <screen.h>
-char *getpass_r(const char *prompt, char *buffer, size_t buflen)
-{
- return getpassword(prompt, buffer, buflen);
-}
-#else
-#include <nwconio.h>
-char *getpass_r(const char *prompt, char *buffer, size_t buflen)
-{
- size_t i = 0;
-
- printf("%s", prompt);
- do {
- buffer[i++] = getch();
- if (buffer[i-1] == '\b') {
- /* remove this letter and if this is not the first key,
- remove the previous one as well */
- if (i > 1) {
- printf("\b \b");
- i = i - 2;
- } else {
- RingTheBell();
- i = i - 1;
- }
- } else if (buffer[i-1] != 13) {
- putchar('*');
- }
- } while ((buffer[i-1] != 13) && (i < buflen));
- buffer[i-1] = 0;
- printf("\r\n");
- return buffer;
-}
-#endif /* __NOVELL_LIBC__ */
-#define DONE
-#endif /* NETWARE */
-
-#ifndef DONE /* not previously provided */
-
-#ifdef HAVE_TERMIOS_H
-#define struct_term struct termios
-#else
-#ifdef HAVE_TERMIO_H
-#define struct_term struct termio
-#else
-#undef struct_term
-#endif
-#endif
-
-static bool ttyecho(bool enable, int fd)
-{
-#ifdef struct_term
- static struct_term withecho;
- static struct_term noecho;
-#endif
- if(!enable) {
- /* disable echo by extracting the current 'withecho' mode and remove the
- ECHO bit and set back the struct */
-#ifdef HAVE_TERMIOS_H
- tcgetattr(fd, &withecho);
- noecho = withecho;
- noecho.c_lflag &= ~ECHO;
- tcsetattr(fd, TCSANOW, &noecho);
-#else /* HAVE_TERMIOS_H */
-#ifdef HAVE_TERMIO_H
- ioctl(fd, TCGETA, &withecho);
- noecho = withecho;
- noecho.c_lflag &= ~ECHO;
- ioctl(fd, TCSETA, &noecho);
-#else /* HAVE_TERMIO_H */
-/* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H, we can't disable echo! */
- (void)fd; /* prevent compiler warning on unused variable */
- return FALSE; /* not disabled */
-#endif
-#endif
- return TRUE; /* disabled */
- }
- else {
- /* re-enable echo, assumes we disabled it before (and set the structs we
- now use to reset the terminal status) */
-#ifdef HAVE_TERMIOS_H
- tcsetattr(fd, TCSAFLUSH, &withecho);
-#else /* HAVE_TERMIOS_H */
-#ifdef HAVE_TERMIO_H
- ioctl(fd, TCSETA, &withecho);
-#else
-/* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H */
- return FALSE; /* not enabled */
-#endif
-#endif
- return TRUE; /* enabled */
- }
-}
-
-char *getpass_r(const char *prompt, /* prompt to display */
- char *password, /* buffer to store password in */
- size_t buflen) /* size of buffer to store password in */
-{
- ssize_t nread;
- bool disabled;
- int fd=open("/dev/tty", O_RDONLY);
- if(-1 == fd)
- fd = 1; /* use stdin if the tty couldn't be used */
-
- disabled = ttyecho(FALSE, fd); /* disable terminal echo */
-
- fputs(prompt, stderr);
- nread=read(fd, password, buflen);
- if(nread > 0)
- password[--nread]=0; /* zero terminate where enter is stored */
- else
- password[0]=0; /* got nothing */
-
- if(disabled) {
- /* if echo actually was disabled, add a newline */
- fputs("\n", stderr);
- (void)ttyecho(TRUE, fd); /* enable echo */
- }
-
- if(1 != fd)
- close(fd);
-
- return password; /* return pointer to buffer */
-}
-
-#endif /* DONE */
-#endif /* HAVE_GETPASS_R */
diff --git a/Utilities/cmcurl-7.19.0/src/getpass.h b/Utilities/cmcurl-7.19.0/src/getpass.h
deleted file mode 100644
index ed31704..0000000
--- a/Utilities/cmcurl-7.19.0/src/getpass.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef __GETPASS_H
-#define __GETPASS_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-#ifndef HAVE_GETPASS_R
-/* If there's a system-provided function named like this, we trust it is
- also found in one of the standard headers. */
-
-/*
- * Returning NULL will abort the continued operation!
- */
-char* getpass_r(const char *prompt, char* buffer, size_t buflen );
-#endif
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/homedir.c b/Utilities/cmcurl-7.19.0/src/homedir.c
deleted file mode 100644
index d9bc39f..0000000
--- a/Utilities/cmcurl-7.19.0/src/homedir.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef VMS
-#include <unixlib.h>
-#endif
-
-#include "homedir.h"
-
-#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
-#include "memdebug.h"
-#endif
-
-static
-char *GetEnv(const char *variable, char do_expand)
-{
- char *env = NULL;
-#ifdef WIN32
- char buf1[1024], buf2[1024];
- DWORD rc;
-
- /* Don't use getenv(); it doesn't find variable added after program was
- * started. Don't accept truncated results (i.e. rc >= sizeof(buf1)). */
-
- rc = GetEnvironmentVariable(variable, buf1, sizeof(buf1));
- if (rc > 0 && rc < sizeof(buf1)) {
- env = buf1;
- variable = buf1;
- }
- if (do_expand && strchr(variable,'%')) {
- /* buf2 == variable if not expanded */
- rc = ExpandEnvironmentStrings (variable, buf2, sizeof(buf2));
- if (rc > 0 && rc < sizeof(buf2) &&
- !strchr(buf2,'%')) /* no vars still unexpanded */
- env = buf2;
- }
-#else
- (void)do_expand;
-#ifdef VMS
- env = getenv(variable);
- if (env && strcmp("HOME",variable) == 0) {
- env = decc$translate_vms(env);
- }
-#else
- /* no length control */
- env = getenv(variable);
-#endif
-#endif
- return (env && env[0])?strdup(env):NULL;
-}
-
-/* return the home directory of the current user as an allocated string */
-char *homedir(void)
-{
- char *home;
-
- home = GetEnv("CURL_HOME", FALSE);
- if(home)
- return home;
-
- home = GetEnv("HOME", FALSE);
- if(home)
- return home;
-
-#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID)
- {
- struct passwd *pw = getpwuid(geteuid());
-
- if (pw) {
-#ifdef VMS
- home = decc$translate_vms(pw->pw_dir);
-#else
- home = pw->pw_dir;
-#endif
- if (home && home[0])
- home = strdup(home);
- else
- home = NULL;
- }
- }
-#endif /* PWD-stuff */
-#ifdef WIN32
- home = GetEnv("APPDATA", TRUE);
- if(!home)
- home = GetEnv("%USERPROFILE%\\Application Data", TRUE); /* Normally only
- on Win-2K/XP */
-#endif /* WIN32 */
- return home;
-}
diff --git a/Utilities/cmcurl-7.19.0/src/homedir.h b/Utilities/cmcurl-7.19.0/src/homedir.h
deleted file mode 100644
index ba790ba..0000000
--- a/Utilities/cmcurl-7.19.0/src/homedir.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __HOMEDIR_H
-#define __HOMEDIR_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-char *homedir(void);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/hugehelp.c b/Utilities/cmcurl-7.19.0/src/hugehelp.c
deleted file mode 100644
index 5b8ab7a..0000000
--- a/Utilities/cmcurl-7.19.0/src/hugehelp.c
+++ /dev/null
@@ -1,6622 +0,0 @@
-#include "setup.h"
-#ifndef HAVE_LIBZ
-/*
- * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
- * Generation time: Fri Aug 22 10:00:28 2008
- */
-#include "setup.h"
-#ifdef USE_MANUAL
-#include "hugehelp.h"
-#include <stdio.h>
-void hugehelp(void)
-{
- fputs(
-" _ _ ____ _ \n"
-" Project ___| | | | _ \\| | \n"
-" / __| | | | |_) | | \n"
-" | (__| |_| | _ <| |___ \n"
-" \\___|\\___/|_| \\_\\_____|\n"
-"\n"
-"NAME\n"
-" curl - transfer a URL\n"
-"\n"
-"SYNOPSIS\n"
-" curl [options] [URL...]\n"
-"\n"
-"DESCRIPTION\n"
-" curl is a tool to transfer data from or to a server, using one of the\n"
-, stdout);
- fputs(
-" supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT,\n"
-" TELNET, LDAP or FILE). The command is designed to work without user\n"
-" interaction.\n"
-"\n"
-" curl offers a busload of useful tricks like proxy support, user authen-\n"
-" tication, ftp upload, HTTP post, SSL connections, cookies, file trans-\n"
-" fer resume and more. As you will see below, the number of features will\n"
-" make your head spin!\n"
-"\n"
-, stdout);
- fputs(
-" curl is powered by libcurl for all transfer-related features. See\n"
-" libcurl(3) for details.\n"
-"\n"
-"URL\n"
-" The URL syntax is protocol dependent. You'll find a detailed descrip-\n"
-" tion in RFC 3986.\n"
-"\n"
-" You can specify multiple URLs or parts of URLs by writing part sets\n"
-" within braces as in:\n"
-"\n"
-" http://site.{one,two,three}.com\n"
-"\n"
-" or you can get sequences of alphanumeric series by using [] as in:\n"
-"\n"
-" ftp://ftp.numericals.com/file[1-100].txt\n"
-, stdout);
- fputs(
-" ftp://ftp.numericals.com/file[001-100].txt (with leading zeros)\n"
-" ftp://ftp.letters.com/file[a-z].txt\n"
-"\n"
-" No nesting of the sequences is supported at the moment, but you can use\n"
-" several ones next to each other:\n"
-"\n"
-" http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html\n"
-"\n"
-" You can specify any amount of URLs on the command line. They will be\n"
-" fetched in a sequential manner in the specified order.\n"
-"\n"
-, stdout);
- fputs(
-" Since curl 7.15.1 you can also specify step counter for the ranges, so\n"
-" that you can get every Nth number or letter:\n"
-" http://www.numericals.com/file[1-100:10].txt\n"
-" http://www.letters.com/file[a-z:2].txt\n"
-"\n"
-" If you specify URL without protocol:// prefix, curl will attempt to\n"
-" guess what protocol you might want. It will then default to HTTP but\n"
-" try other protocols based on often-used host name prefixes. For exam-\n"
-, stdout);
- fputs(
-" ple, for host names starting with \"ftp.\" curl will assume you want to\n"
-" speak FTP.\n"
-"\n"
-" Curl will attempt to re-use connections for multiple file transfers, so\n"
-" that getting many files from the same server will not do multiple con-\n"
-" nects / handshakes. This improves speed. Of course this is only done on\n"
-" files specified on a single command line and cannot be used between\n"
-" separate curl invokes.\n"
-"\n"
-"PROGRESS METER\n"
-, stdout);
- fputs(
-" curl normally displays a progress meter during operations, indicating\n"
-" amount of transferred data, transfer speeds and estimated time left\n"
-" etc.\n"
-"\n"
-" However, since curl displays data to the terminal by default, if you\n"
-" invoke curl to do an operation and it is about to write data to the\n"
-" terminal, it disables the progress meter as otherwise it would mess up\n"
-" the output mixing progress meter and response data.\n"
-"\n"
-, stdout);
- fputs(
-" If you want a progress meter for HTTP POST or PUT requests, you need to\n"
-" redirect the response output to a file, using shell redirect (>), -o\n"
-" [file] or similar.\n"
-"\n"
-" It is not the same case for FTP upload as that operation is not spit-\n"
-" ting out any response data to the terminal.\n"
-"\n"
-" If you prefer a progress \"bar\" instead of the regular meter, -# is your\n"
-" friend.\n"
-"OPTIONS\n"
-" In general, all boolean options are enabled with --option and yet again\n"
-, stdout);
- fputs(
-" disabled with --no-option. That is, you use the exact same option name\n"
-" but prefix it with \"no-\". However, in this list we mostly only list and\n"
-" show the --option version of them. (This concept with --no options was\n"
-" added in 7.19.0. Previously most options were toggled on/off on\n"
-" repeated use of the same command line option.)\n"
-"\n"
-" -a/--append\n"
-" (FTP/SFTP) When used in an upload, this will tell curl to append\n"
-, stdout);
- fputs(
-" to the target file instead of overwriting it. If the file\n"
-" doesn't exist, it will be created. Note that this flag is\n"
-" ignored by some SSH servers (including OpenSSH).\n"
-"\n"
-" -A/--user-agent <agent string>\n"
-" (HTTP) Specify the User-Agent string to send to the HTTP server.\n"
-" Some badly done CGIs fail if this field isn't set to\n"
-" \"Mozilla/4.0\". To encode blanks in the string, surround the\n"
-, stdout);
- fputs(
-" string with single quote marks. This can also be set with the\n"
-" -H/--header option of course.\n"
-"\n"
-" If this option is set more than once, the last one will be the\n"
-" one that's used.\n"
-"\n"
-" --anyauth\n"
-" (HTTP) Tells curl to figure out authentication method by itself,\n"
-" and use the most secure one the remote site claims it supports.\n"
-" This is done by first doing a request and checking the response-\n"
-, stdout);
- fputs(
-" headers, thus possibly inducing an extra network round-trip.\n"
-" This is used instead of setting a specific authentication\n"
-" method, which you can do with --basic, --digest, --ntlm, and\n"
-" --negotiate.\n"
-"\n"
-" Note that using --anyauth is not recommended if you do uploads\n"
-" from stdin, since it may require data to be sent twice and then\n"
-, stdout);
- fputs(
-" the client must be able to rewind. If the need should arise when\n"
-" uploading from stdin, the upload operation will fail.\n"
-"\n"
-" -b/--cookie <name=data>\n"
-" (HTTP) Pass the data to the HTTP server as a cookie. It is sup-\n"
-" posedly the data previously received from the server in a \"Set-\n"
-" Cookie:\" line. The data should be in the format \"NAME1=VALUE1;\n"
-" NAME2=VALUE2\".\n"
-"\n"
-, stdout);
- fputs(
-" If no '=' letter is used in the line, it is treated as a file-\n"
-" name to use to read previously stored cookie lines from, which\n"
-" should be used in this session if they match. Using this method\n"
-" also activates the \"cookie parser\" which will make curl record\n"
-" incoming cookies too, which may be handy if you're using this in\n"
-" combination with the -L/--location option. The file format of\n"
-, stdout);
- fputs(
-" the file to read cookies from should be plain HTTP headers or\n"
-" the Netscape/Mozilla cookie file format.\n"
-"\n"
-" NOTE that the file specified with -b/--cookie is only used as\n"
-" input. No cookies will be stored in the file. To store cookies,\n"
-" use the -c/--cookie-jar option or you could even save the HTTP\n"
-" headers to a file using -D/--dump-header!\n"
-"\n"
-, stdout);
- fputs(
-" If this option is set more than once, the last one will be the\n"
-" one that's used.\n"
-"\n"
-" -B/--use-ascii\n"
-" Enable ASCII transfer when using FTP or LDAP. For FTP, this can\n"
-" also be enforced by using an URL that ends with \";type=A\". This\n"
-" option causes data sent to stdout to be in text mode for win32\n"
-" systems.\n"
-"\n"
-" --basic\n"
-" (HTTP) Tells curl to use HTTP Basic authentication. This is the\n"
-, stdout);
- fputs(
-" default and this option is usually pointless, unless you use it\n"
-" to override a previously set option that sets a different\n"
-" authentication method (such as --ntlm, --digest and --negoti-\n"
-" ate).\n"
-"\n"
-" --ciphers <list of ciphers>\n"
-" (SSL) Specifies which ciphers to use in the connection. The list\n"
-" of ciphers must be using valid ciphers. Read up on SSL cipher\n"
-, stdout);
- fputs(
-" list details on this URL:\n"
-" http://www.openssl.org/docs/apps/ciphers.html\n"
-"\n"
-" NSS ciphers are done differently than OpenSSL and GnuTLS. The\n"
-" full list of NSS ciphers is in the NSSCipherSuite entry at this\n"
-" URL: http://directory.fedora.redhat.com/docs/mod_nss.html#Direc-\n"
-" tives\n"
-"\n"
-" If this option is used several times, the last one will override\n"
-, stdout);
- fputs(
-" the others.\n"
-"\n"
-" --compressed\n"
-" (HTTP) Request a compressed response using one of the algorithms\n"
-" libcurl supports, and return the uncompressed document. If this\n"
-" option is used and the server sends an unsupported encoding,\n"
-" curl will report an error.\n"
-"\n"
-" --connect-timeout <seconds>\n"
-" Maximum time in seconds that you allow the connection to the\n"
-, stdout);
- fputs(
-" server to take. This only limits the connection phase, once\n"
-" curl has connected this option is of no more use. See also the\n"
-" -m/--max-time option.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -c/--cookie-jar <file name>\n"
-" Specify to which file you want curl to write all cookies after a\n"
-" completed operation. Curl writes all cookies previously read\n"
-, stdout);
- fputs(
-" from a specified file as well as all cookies received from\n"
-" remote server(s). If no cookies are known, no file will be writ-\n"
-" ten. The file will be written using the Netscape cookie file\n"
-" format. If you set the file name to a single dash, \"-\", the\n"
-" cookies will be written to stdout.\n"
-"\n"
-" NOTE If the cookie jar can't be created or written to, the whole\n"
-, stdout);
- fputs(
-" curl operation won't fail or even report an error clearly. Using\n"
-" -v will get a warning displayed, but that is the only visible\n"
-" feedback you get about this possibly lethal situation.\n"
-"\n"
-" If this option is used several times, the last specified file\n"
-" name will be used.\n"
-"\n"
-" -C/--continue-at <offset>\n"
-" Continue/Resume a previous file transfer at the given offset.\n"
-, stdout);
- fputs(
-" The given offset is the exact number of bytes that will be\n"
-" skipped counted from the beginning of the source file before it\n"
-" is transferred to the destination. If used with uploads, the\n"
-" ftp server command SIZE will not be used by curl.\n"
-"\n"
-" Use \"-C -\" to tell curl to automatically find out where/how to\n"
-" resume the transfer. It then uses the given output/input files\n"
-" to figure that out.\n"
-"\n"
-, stdout);
- fputs(
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --create-dirs\n"
-" When used in conjunction with the -o option, curl will create\n"
-" the necessary local directory hierarchy as needed. This option\n"
-" creates the dirs mentioned with the -o option, nothing else. If\n"
-" the -o file name uses no dir or if the dirs it mentions already\n"
-" exist, no dir will be created.\n"
-"\n"
-, stdout);
- fputs(
-" To create remote directories when using FTP or SFTP, try --ftp-\n"
-" create-dirs.\n"
-"\n"
-" --crlf (FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).\n"
-"\n"
-" -d/--data <data>\n"
-" (HTTP) Sends the specified data in a POST request to the HTTP\n"
-" server, in the same way that a browser does when a user has\n"
-" filled in an HTML form and presses the submit button. This will\n"
-, stdout);
- fputs(
-" cause curl to pass the data to the server using the content-type\n"
-" application/x-www-form-urlencoded. Compare to -F/--form.\n"
-"\n"
-" -d/--data is the same as --data-ascii. To post data purely\n"
-" binary, you should instead use the --data-binary option. To URL\n"
-" encode the value of a form field you may use --data-urlencode.\n"
-"\n"
-" If any of these options is used more than once on the same com-\n"
-, stdout);
- fputs(
-" mand line, the data pieces specified will be merged together\n"
-" with a separating &-letter. Thus, using '-d name=daniel -d\n"
-" skill=lousy' would generate a post chunk that looks like\n"
-" 'name=daniel&skill=lousy'.\n"
-"\n"
-" If you start the data with the letter @, the rest should be a\n"
-" file name to read the data from, or - if you want curl to read\n"
-, stdout);
- fputs(
-" the data from stdin. The contents of the file must already be\n"
-" url-encoded. Multiple files can also be specified. Posting data\n"
-" from a file named 'foobar' would thus be done with --data @foo-\n"
-" bar.\n"
-"\n"
-" --data-binary <data>\n"
-" (HTTP) This posts data exactly as specified with no extra pro-\n"
-" cessing whatsoever.\n"
-"\n"
-" If you start the data with the letter @, the rest should be a\n"
-, stdout);
- fputs(
-" filename. Data is posted in a similar manner as --data-ascii\n"
-" does, except that newlines are preserved and conversions are\n"
-" never done.\n"
-"\n"
-" If this option is used several times, the ones following the\n"
-" first will append data. As described in -d/--data.\n"
-"\n"
-" --data-urlencode <data>\n"
-" (HTTP) This posts data, similar to the other --data options with\n"
-, stdout);
- fputs(
-" the exception that this performs URL encoding. (Added in 7.18.0)\n"
-" To be CGI compliant, the <data> part should begin with a name\n"
-" followed by a separator and a content specification. The <data>\n"
-" part can be passed to curl using one of the following syntaxes:\n"
-"\n"
-" content\n"
-" This will make curl URL encode the content and pass that\n"
-" on. Just be careful so that the content doesn't contain\n"
-, stdout);
- fputs(
-" any = or @ letters, as that will then make the syntax\n"
-" match one of the other cases below!\n"
-"\n"
-" =content\n"
-" This will make curl URL encode the content and pass that\n"
-" on. The preceding = letter is not included in the data.\n"
-"\n"
-" name=content\n"
-" This will make curl URL encode the content part and pass\n"
-, stdout);
- fputs(
-" that on. Note that the name part is expected to be URL\n"
-" encoded already.\n"
-"\n"
-" @filename\n"
-" This will make curl load data from the given file\n"
-" (including any newlines), URL encode that data and pass\n"
-" it on in the POST.\n"
-"\n"
-" name@filename\n"
-" This will make curl load data from the given file\n"
-, stdout);
- fputs(
-" (including any newlines), URL encode that data and pass\n"
-" it on in the POST. The name part gets an equal sign\n"
-" appended, resulting in name=urlencoded-file-content. Note\n"
-" that the name is expected to be URL encoded already.\n"
-"\n"
-" --digest\n"
-" (HTTP) Enables HTTP Digest authentication. This is a authentica-\n"
-" tion that prevents the password from being sent over the wire in\n"
-, stdout);
- fputs(
-" clear text. Use this in combination with the normal -u/--user\n"
-" option to set user name and password. See also --ntlm, --negoti-\n"
-" ate and --anyauth for related options.\n"
-"\n"
-" If this option is used several times, the following occurrences\n"
-" make no difference.\n"
-"\n"
-" --disable-eprt\n"
-" (FTP) Tell curl to disable the use of the EPRT and LPRT commands\n"
-, stdout);
- fputs(
-" when doing active FTP transfers. Curl will normally always first\n"
-" attempt to use EPRT, then LPRT before using PORT, but with this\n"
-" option, it will use PORT right away. EPRT and LPRT are exten-\n"
-" sions to the original FTP protocol, may not work on all servers\n"
-" but enable more functionality in a better way than the tradi-\n"
-" tional PORT command.\n"
-"\n"
-, stdout);
- fputs(
-" Since curl 7.19.0, --eprt can be used to explicitly enable EPRT\n"
-" again and --no-eprt is an alias for --disable-eprt.\n"
-"\n"
-" --disable-epsv\n"
-" (FTP) Tell curl to disable the use of the EPSV command when\n"
-" doing passive FTP transfers. Curl will normally always first\n"
-" attempt to use EPSV before PASV, but with this option, it will\n"
-" not try using EPSV.\n"
-"\n"
-, stdout);
- fputs(
-" Since curl 7.19.0, --epsv can be used to explicitly enable EPRT\n"
-" again and --no-epsv is an alias for --disable-epsv.\n"
-"\n"
-" -D/--dump-header <file>\n"
-" Write the protocol headers to the specified file.\n"
-"\n"
-" This option is handy to use when you want to store the headers\n"
-" that a HTTP site sends to you. Cookies from the headers could\n"
-" then be read in a second curl invoke by using the -b/--cookie\n"
-, stdout);
- fputs(
-" option! The -c/--cookie-jar option is however a better way to\n"
-" store cookies.\n"
-"\n"
-" When used on FTP, the ftp server response lines are considered\n"
-" being \"headers\" and thus are saved there.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -e/--referer <URL>\n"
-" (HTTP) Sends the \"Referer Page\" information to the HTTP server.\n"
-, stdout);
- fputs(
-" This can also be set with the -H/--header flag of course. When\n"
-" used with -L/--location you can append \";auto\" to the --referer\n"
-" URL to make curl automatically set the previous URL when it fol-\n"
-" lows a Location: header. The \";auto\" string can be used alone,\n"
-" even if you don't set an initial --referer.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --engine <name>\n"
-, stdout);
- fputs(
-" Select the OpenSSL crypto engine to use for cipher operations.\n"
-" Use --engine list to print a list of build-time supported\n"
-" engines. Note that not all (or none) of the engines may be\n"
-" available at run-time.\n"
-"\n"
-" --environment\n"
-" (RISC OS ONLY) Sets a range of environment variables, using the\n"
-" names the -w option supports, to easier allow extraction of use-\n"
-, stdout);
- fputs(
-" ful information after having run curl.\n"
-"\n"
-" --egd-file <file>\n"
-" (SSL) Specify the path name to the Entropy Gathering Daemon\n"
-" socket. The socket is used to seed the random engine for SSL\n"
-" connections. See also the --random-file option.\n"
-"\n"
-" -E/--cert <certificate[:password]>\n"
-" (SSL) Tells curl to use the specified certificate file when get-\n"
-" ting a file with HTTPS or FTPS. The certificate must be in PEM\n"
-, stdout);
- fputs(
-" format. If the optional password isn't specified, it will be\n"
-" queried for on the terminal. Note that this option assumes a\n"
-" \"certificate\" file that is the private key and the private cer-\n"
-" tificate concatenated! See --cert and --key to specify them\n"
-" independently.\n"
-"\n"
-" If curl is built against the NSS SSL library then this option\n"
-, stdout);
- fputs(
-" tells curl the nickname of the certificate to use within the NSS\n"
-" database defined by the environment variable SSL_DIR (or by\n"
-" default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (lib-\n"
-" nsspem.so) is available then PEM files may be loaded.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --cert-type <type>\n"
-" (SSL) Tells curl what certificate type the provided certificate\n"
-, stdout);
- fputs(
-" is in. PEM, DER and ENG are recognized types. If not specified,\n"
-" PEM is assumed.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --cacert <CA certificate>\n"
-" (SSL) Tells curl to use the specified certificate file to verify\n"
-" the peer. The file may contain multiple CA certificates. The\n"
-" certificate(s) must be in PEM format. Normally curl is built to\n"
-, stdout);
- fputs(
-" use a default file for this, so this option is typically used to\n"
-" alter that default file.\n"
-"\n"
-" curl recognizes the environment variable named 'CURL_CA_BUNDLE'\n"
-" if that is set, and uses the given path as a path to a CA cert\n"
-" bundle. This option overrides that variable.\n"
-"\n"
-" The windows version of curl will automatically look for a CA\n"
-" certs file named 'curl-ca-bundle.crt', either in the same\n"
-, stdout);
- fputs(
-" directory as curl.exe, or in the Current Working Directory, or\n"
-" in any folder along your PATH.\n"
-"\n"
-" If curl is built against the NSS SSL library then this option\n"
-" tells curl the nickname of the CA certificate to use within the\n"
-" NSS database defined by the environment variable SSL_DIR (or by\n"
-" default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (lib-\n"
-, stdout);
- fputs(
-" nsspem.so) is available then PEM files may be loaded.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --capath <CA certificate directory>\n"
-" (SSL) Tells curl to use the specified certificate directory to\n"
-" verify the peer. The certificates must be in PEM format, and the\n"
-" directory must have been processed using the c_rehash utility\n"
-, stdout);
- fputs(
-" supplied with openssl. Using --capath can allow curl to make\n"
-" SSL-connections much more efficiently than using --cacert if the\n"
-" --cacert file contains many CA certificates.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -f/--fail\n"
-" (HTTP) Fail silently (no output at all) on server errors. This\n"
-" is mostly done like this to better enable scripts etc to better\n"
-, stdout);
- fputs(
-" deal with failed attempts. In normal cases when a HTTP server\n"
-" fails to deliver a document, it returns an HTML document stating\n"
-" so (which often also describes why and more). This flag will\n"
-" prevent curl from outputting that and return error 22.\n"
-"\n"
-" This method is not fail-safe and there are occasions where non-\n"
-" successful response codes will slip through, especially when\n"
-, stdout);
- fputs(
-" authentication is involved (response codes 401 and 407).\n"
-"\n"
-" --ftp-account [data]\n"
-" (FTP) When an FTP server asks for \"account data\" after user name\n"
-" and password has been provided, this data is sent off using the\n"
-" ACCT command. (Added in 7.13.0)\n"
-"\n"
-" If this option is used twice, the second will override the pre-\n"
-" vious use.\n"
-"\n"
-" --ftp-create-dirs\n"
-, stdout);
- fputs(
-" (FTP/SFTP) When an FTP or SFTP URL/operation uses a path that\n"
-" doesn't currently exist on the server, the standard behavior of\n"
-" curl is to fail. Using this option, curl will instead attempt to\n"
-" create missing directories.\n"
-"\n"
-" --ftp-method [method]\n"
-" (FTP) Control what method curl should use to reach a file on a\n"
-" FTP(S) server. The method argument should be one of the follow-\n"
-" ing alternatives:\n"
-"\n"
-, stdout);
- fputs(
-" multicwd\n"
-" curl does a single CWD operation for each path part in\n"
-" the given URL. For deep hierarchies this means very many\n"
-" commands. This is how RFC1738 says it should be done.\n"
-" This is the default but the slowest behavior.\n"
-"\n"
-" nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR\n"
-" etc and give a full path to the server for all these com-\n"
-, stdout);
- fputs(
-" mands. This is the fastest behavior.\n"
-"\n"
-" singlecwd\n"
-" curl does one CWD with the full target directory and then\n"
-" operates on the file \"normally\" (like in the multicwd\n"
-" case). This is somewhat more standards compliant than\n"
-" 'nocwd' but without the full penalty of 'multicwd'.\n"
-"\n"
-" --ftp-pasv\n"
-" (FTP) Use PASV when transferring. PASV is the internal default\n"
-, stdout);
- fputs(
-" behavior, but using this option can be used to override a previ-\n"
-" ous --ftp-port option. (Added in 7.11.0)\n"
-"\n"
-" If this option is used several times, the following occurrences\n"
-" make no difference. Undoing an enforced PASV really isn't doable\n"
-" but you must then instead enforce the correct EPRT again.\n"
-"\n"
-" --ftp-alternative-to-user <command>\n"
-" (FTP) If authenticating with the USER and PASS commands fails,\n"
-, stdout);
- fputs(
-" send this command. When connecting to Tumbleweed's Secure\n"
-" Transport server over FTPS using a client certificate, using\n"
-" \"SITE AUTH\" will tell the server to retrieve the username from\n"
-" the certificate. (Added in 7.15.5)\n"
-"\n"
-" --ftp-skip-pasv-ip\n"
-" (FTP) Tell curl to not use the IP address the server suggests in\n"
-" its response to curl's PASV command when curl connects the data\n"
-, stdout);
- fputs(
-" connection. Instead curl will re-use the same IP address it\n"
-" already uses for the control connection. (Added in 7.14.2)\n"
-"\n"
-" This option has no effect if PORT, EPRT or EPSV is used instead\n"
-" of PASV.\n"
-"\n"
-" --ftp-ssl\n"
-" (FTP) Try to use SSL/TLS for the FTP connection. Reverts to a\n"
-" non-secure connection if the server doesn't support SSL/TLS.\n"
-, stdout);
- fputs(
-" See also --ftp-ssl-control and --ftp-ssl-reqd for different lev-\n"
-" els of encryption required. (Added in 7.11.0)\n"
-"\n"
-" --ftp-ssl-control\n"
-" (FTP) Require SSL/TLS for the ftp login, clear for transfer.\n"
-" Allows secure authentication, but non-encrypted data transfers\n"
-" for efficiency. Fails the transfer if the server doesn't sup-\n"
-" port SSL/TLS. (Added in 7.16.0)\n"
-"\n"
-" --ftp-ssl-reqd\n"
-, stdout);
- fputs(
-" (FTP) Require SSL/TLS for the FTP connection. Terminates the\n"
-" connection if the server doesn't support SSL/TLS. (Added in\n"
-" 7.15.5)\n"
-"\n"
-" --ftp-ssl-ccc\n"
-" (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS\n"
-" layer after authenticating. The rest of the control channel com-\n"
-" munication will be unencrypted. This allows NAT routers to fol-\n"
-, stdout);
- fputs(
-" low the FTP transaction. The default mode is passive. See --ftp-\n"
-" ssl-ccc-mode for other modes. (Added in 7.16.1)\n"
-"\n"
-" --ftp-ssl-ccc-mode [active/passive]\n"
-" (FTP) Use CCC (Clear Command Channel) Sets the CCC mode. The\n"
-" passive mode will not initiate the shutdown, but instead wait\n"
-" for the server to do it, and will not reply to the shutdown from\n"
-, stdout);
- fputs(
-" the server. The active mode initiates the shutdown and waits for\n"
-" a reply from the server. (Added in 7.16.2)\n"
-"\n"
-" -F/--form <name=content>\n"
-" (HTTP) This lets curl emulate a filled in form in which a user\n"
-" has pressed the submit button. This causes curl to POST data\n"
-" using the Content-Type multipart/form-data according to RFC1867.\n"
-" This enables uploading of binary files etc. To force the 'con-\n"
-, stdout);
- fputs(
-" tent' part to be a file, prefix the file name with an @ sign. To\n"
-" just get the content part from a file, prefix the file name with\n"
-" the letter <. The difference between @ and < is then that @\n"
-" makes a file get attached in the post as a file upload, while\n"
-" the < makes a text field and just get the contents for that text\n"
-" field from a file.\n"
-"\n"
-, stdout);
- fputs(
-" Example, to send your password file to the server, where 'pass-\n"
-" word' is the name of the form-field to which /etc/passwd will be\n"
-" the input:\n"
-"\n"
-" curl -F password=@/etc/passwd www.mypasswords.com\n"
-"\n"
-" To read the file's content from stdin instead of a file, use -\n"
-" where the file name should've been. This goes for both @ and <\n"
-" constructs.\n"
-"\n"
-, stdout);
- fputs(
-" You can also tell curl what Content-Type to use by using\n"
-" 'type=', in a manner similar to:\n"
-"\n"
-" curl -F \"web=@index.html;type=text/html\" url.com\n"
-"\n"
-" or\n"
-"\n"
-" curl -F \"name=daniel;type=text/foo\" url.com\n"
-"\n"
-" You can also explicitly change the name field of an file upload\n"
-" part by setting filename=, like this:\n"
-"\n"
-" curl -F \"file=@localfile;filename=nameinpost\" url.com\n"
-"\n"
-, stdout);
- fputs(
-" See further examples and details in the MANUAL.\n"
-"\n"
-" This option can be used multiple times.\n"
-"\n"
-" --form-string <name=string>\n"
-" (HTTP) Similar to --form except that the value string for the\n"
-" named parameter is used literally. Leading '@' and '<' charac-\n"
-" ters, and the ';type=' string in the value have no special mean-\n"
-" ing. Use this in preference to --form if there's any possibility\n"
-, stdout);
- fputs(
-" that the string value may accidentally trigger the '@' or '<'\n"
-" features of --form.\n"
-"\n"
-" -g/--globoff\n"
-" This option switches off the \"URL globbing parser\". When you set\n"
-" this option, you can specify URLs that contain the letters {}[]\n"
-" without having them being interpreted by curl itself. Note that\n"
-" these letters are not normal legal URL contents but they should\n"
-, stdout);
- fputs(
-" be encoded according to the URI standard.\n"
-"\n"
-" -G/--get\n"
-" When used, this option will make all data specified with\n"
-" -d/--data or --data-binary to be used in a HTTP GET request\n"
-" instead of the POST request that otherwise would be used. The\n"
-" data will be appended to the URL with a '?' separator.\n"
-"\n"
-" If used in combination with -I, the POST data will instead be\n"
-, stdout);
- fputs(
-" appended to the URL with a HEAD request.\n"
-"\n"
-" If this option is used several times, the following occurrences\n"
-" make no difference. This is because undoing a GET doesn't make\n"
-" sense, but you should then instead enforce the alternative\n"
-" method you prefer.\n"
-"\n"
-" -h/--help\n"
-" Usage help.\n"
-"\n"
-" -H/--header <header>\n"
-" (HTTP) Extra header to use when getting a web page. You may\n"
-, stdout);
- fputs(
-" specify any number of extra headers. Note that if you should add\n"
-" a custom header that has the same name as one of the internal\n"
-" ones curl would use, your externally set header will be used\n"
-" instead of the internal one. This allows you to make even trick-\n"
-" ier stuff than curl would normally do. You should not replace\n"
-" internally set headers without knowing perfectly well what\n"
-, stdout);
- fputs(
-" you're doing. Remove an internal header by giving a replacement\n"
-" without content on the right side of the colon, as in: -H\n"
-" \"Host:\".\n"
-"\n"
-" curl will make sure that each header you add/replace get sent\n"
-" with the proper end of line marker, you should thus not add that\n"
-" as a part of the header content: do not add newlines or carriage\n"
-" returns they will only mess things up for you.\n"
-"\n"
-, stdout);
- fputs(
-" See also the -A/--user-agent and -e/--referer options.\n"
-"\n"
-" This option can be used multiple times to add/replace/remove\n"
-" multiple headers.\n"
-"\n"
-" --hostpubmd5 <md5>\n"
-" Pass a string containing 32 hexadecimal digits. The string\n"
-" should be the 128 bit MD5 checksum of the remote host's public\n"
-" key, curl will refuse the connection with the host unless the\n"
-, stdout);
- fputs(
-" md5sums match. This option is only for SCP and SFTP transfers.\n"
-" (Added in 7.17.1)\n"
-"\n"
-" --ignore-content-length\n"
-" (HTTP) Ignore the Content-Length header. This is particularly\n"
-" useful for servers running Apache 1.x, which will report incor-\n"
-" rect Content-Length for files larger than 2 gigabytes.\n"
-"\n"
-" -i/--include\n"
-" (HTTP) Include the HTTP-header in the output. The HTTP-header\n"
-, stdout);
- fputs(
-" includes things like server-name, date of the document, HTTP-\n"
-" version and more...\n"
-"\n"
-" --interface <name>\n"
-" Perform an operation using a specified interface. You can enter\n"
-" interface name, IP address or host name. An example could look\n"
-" like:\n"
-"\n"
-" curl --interface eth0:1 http://www.netscape.com/\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -I/--head\n"
-, stdout);
- fputs(
-" (HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature\n"
-" the command HEAD which this uses to get nothing but the header\n"
-" of a document. When used on a FTP or FILE file, curl displays\n"
-" the file size and last modification time only.\n"
-"\n"
-" -j/--junk-session-cookies\n"
-" (HTTP) When curl is told to read cookies from a given file, this\n"
-" option will make it discard all \"session cookies\". This will\n"
-, stdout);
- fputs(
-" basically have the same effect as if a new session is started.\n"
-" Typical browsers always discard session cookies when they're\n"
-" closed down.\n"
-"\n"
-" -k/--insecure\n"
-" (SSL) This option explicitly allows curl to perform \"insecure\"\n"
-" SSL connections and transfers. All SSL connections are attempted\n"
-" to be made secure by using the CA certificate bundle installed\n"
-, stdout);
- fputs(
-" by default. This makes all connections considered \"insecure\" to\n"
-" fail unless -k/--insecure is used.\n"
-"\n"
-" See this online resource for further details:\n"
-" http://curl.haxx.se/docs/sslcerts.html\n"
-"\n"
-" --keepalive-time <seconds>\n"
-" This option sets the time a connection needs to remain idle\n"
-" before sending keepalive probes and the time between individual\n"
-, stdout);
- fputs(
-" keepalive probes. It is currently effective on operating systems\n"
-" offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options\n"
-" (meaning Linux, recent AIX, HP-UX and more). This option has no\n"
-" effect if --no-keepalive is used. (Added in 7.18.0)\n"
-"\n"
-" If this option is used multiple times, the last occurrence sets\n"
-" the amount.\n"
-" --key <key>\n"
-, stdout);
- fputs(
-" (SSL/SSH) Private key file name. Allows you to provide your pri-\n"
-" vate key in this separate file.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --key-type <type>\n"
-" (SSL) Private key file type. Specify which type your --key pro-\n"
-" vided private key is. DER, PEM and ENG are supported. If not\n"
-" specified, PEM is assumed.\n"
-"\n"
-, stdout);
- fputs(
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --krb <level>\n"
-" (FTP) Enable Kerberos authentication and use. The level must be\n"
-" entered and should be one of 'clear', 'safe', 'confidential' or\n"
-" 'private'. Should you use a level that is not one of these,\n"
-" 'private' will instead be used.\n"
-"\n"
-" This option requires that the library was built with kerberos4\n"
-, stdout);
- fputs(
-" or GSSAPI (GSS-Negotiate) support. This is not very common. Use\n"
-" -V/--version to see if your curl supports it.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -K/--config <config file>\n"
-" Specify which config file to read curl arguments from. The con-\n"
-" fig file is a text file in which command line arguments can be\n"
-" written which then will be used as if they were written on the\n"
-, stdout);
- fputs(
-" actual command line. Options and their parameters must be speci-\n"
-" fied on the same config file line, separated by white space,\n"
-" colon, the equals sign or any combination thereof (however, the\n"
-" preferred separator is the equals sign). If the parameter is to\n"
-" contain white spaces, the parameter must be enclosed within\n"
-" quotes. Within double quotes, the following escape sequences are\n"
-, stdout);
- fputs(
-" available: \\\\, \\\", \\t, \\n, \\r and \\v. A backlash preceding any\n"
-" other letter is ignored. If the first column of a config line\n"
-" is a '#' character, the rest of the line will be treated as a\n"
-" comment. Only write one option per physical line in the config\n"
-" file.\n"
-"\n"
-" Specify the filename to -K/--config as '-' to make curl read the\n"
-" file from stdin.\n"
-"\n"
-, stdout);
- fputs(
-" Note that to be able to specify a URL in the config file, you\n"
-" need to specify it using the --url option, and not by simply\n"
-" writing the URL on its own line. So, it could look similar to\n"
-" this:\n"
-"\n"
-" url = \"http://curl.haxx.se/docs/\"\n"
-"\n"
-" Long option names can optionally be given in the config file\n"
-" without the initial double dashes.\n"
-"\n"
-, stdout);
- fputs(
-" When curl is invoked, it always (unless -q is used) checks for a\n"
-" default config file and uses it if found. The default config\n"
-" file is checked for in the following places in this order:\n"
-"\n"
-" 1) curl tries to find the \"home dir\": It first checks for the\n"
-" CURL_HOME and then the HOME environment variables. Failing that,\n"
-" it uses getpwuid() on unix-like systems (which returns the home\n"
-, stdout);
- fputs(
-" dir given the current user in your system). On Windows, it then\n"
-" checks for the APPDATA variable, or as a last resort the '%USER-\n"
-" PROFILE%0lication Data'.\n"
-"\n"
-" 2) On windows, if there is no _curlrc file in the home dir, it\n"
-" checks for one in the same dir the executable curl is placed. On\n"
-" unix-like systems, it will simply try to load .curlrc from the\n"
-" determined home dir.\n"
-"\n"
-, stdout);
- fputs(
-" # --- Example file ---\n"
-" # this is a comment\n"
-" url = \"curl.haxx.se\"\n"
-" output = \"curlhere.html\"\n"
-" user-agent = \"superagent/1.0\"\n"
-"\n"
-" # and fetch another URL too\n"
-" url = \"curl.haxx.se/docs/manpage.html\"\n"
-" -O\n"
-" referer = \"http://nowhereatall.com/\"\n"
-" # --- End of example file ---\n"
-"\n"
-" This option can be used multiple times to load multiple config\n"
-" files.\n"
-"\n"
-, stdout);
- fputs(
-" --libcurl <file>\n"
-" Append this option to any ordinary curl command line, and you\n"
-" will get a libcurl-using source code written to the file that\n"
-" does the equivalent operation of what your command line opera-\n"
-" tion does!\n"
-"\n"
-" NOTE: this does not properly support -F and the sending of mul-\n"
-" tipart formposts, so in those cases the output program will be\n"
-, stdout);
- fputs(
-" missing necessary calls to curl_formadd(3), and possibly more.\n"
-"\n"
-" If this option is used several times, the last given file name\n"
-" will be used. (Added in 7.16.1)\n"
-"\n"
-" --limit-rate <speed>\n"
-" Specify the maximum transfer rate you want curl to use. This\n"
-" feature is useful if you have a limited pipe and you'd like your\n"
-" transfer not use your entire bandwidth.\n"
-"\n"
-, stdout);
- fputs(
-" The given speed is measured in bytes/second, unless a suffix is\n"
-" appended. Appending 'k' or 'K' will count the number as kilo-\n"
-" bytes, 'm' or M' makes it megabytes while 'g' or 'G' makes it\n"
-" gigabytes. Examples: 200K, 3m and 1G.\n"
-"\n"
-" The given rate is the average speed, counted during the entire\n"
-" transfer. It means that curl might use higher transfer speeds in\n"
-, stdout);
- fputs(
-" short bursts, but over time it uses no more than the given rate.\n"
-" If you are also using the -Y/--speed-limit option, that option\n"
-" will take precedence and might cripple the rate-limiting\n"
-" slightly, to help keeping the speed-limit logic working.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -l/--list-only\n"
-" (FTP) When listing an FTP directory, this switch forces a name-\n"
-, stdout);
- fputs(
-" only view. Especially useful if you want to machine-parse the\n"
-" contents of an FTP directory since the normal directory view\n"
-" doesn't use a standard look or format.\n"
-"\n"
-" This option causes an FTP NLST command to be sent. Some FTP\n"
-" servers list only files in their response to NLST; they do not\n"
-" include subdirectories and symbolic links.\n"
-"\n"
-" --local-port <num>[-num]\n"
-, stdout);
- fputs(
-" Set a preferred number or range of local port numbers to use for\n"
-" the connection(s). Note that port numbers by nature is a scarce\n"
-" resource that will be busy at times so setting this range to\n"
-" something too narrow might cause unnecessary connection setup\n"
-" failures. (Added in 7.15.2)\n"
-"\n"
-" -L/--location\n"
-" (HTTP/HTTPS) If the server reports that the requested page has\n"
-, stdout);
- fputs(
-" moved to a different location (indicated with a Location: header\n"
-" and a 3XX response code) this option will make curl redo the\n"
-" request on the new place. If used together with -i/--include or\n"
-" -I/--head, headers from all requested pages will be shown. When\n"
-" authentication is used, curl only sends its credentials to the\n"
-" initial host. If a redirect takes curl to a different host, it\n"
-, stdout);
- fputs(
-" won't be able to intercept the user+password. See also --loca-\n"
-" tion-trusted on how to change this. You can limit the amount of\n"
-" redirects to follow by using the --max-redirs option.\n"
-"\n"
-" When curl follows a redirect and the request is not a plain GET\n"
-" (for example POST or PUT), it will do the following request with\n"
-" a GET if the HTTP response was 301, 302, or 303. If the response\n"
-, stdout);
- fputs(
-" code was any other 3xx code, curl will re-send the following\n"
-" request using the same unmodified method.\n"
-"\n"
-" --location-trusted\n"
-" (HTTP/HTTPS) Like -L/--location, but will allow sending the name\n"
-" + password to all hosts that the site may redirect to. This may\n"
-" or may not introduce a security breach if the site redirects you\n"
-" do a site to which you'll send your authentication info (which\n"
-, stdout);
- fputs(
-" is plaintext in the case of HTTP Basic authentication).\n"
-"\n"
-" --max-filesize <bytes>\n"
-" Specify the maximum size (in bytes) of a file to download. If\n"
-" the file requested is larger than this value, the transfer will\n"
-" not start and curl will return with exit code 63.\n"
-"\n"
-" NOTE: The file size is not always known prior to download, and\n"
-" for such files this option has no effect even if the file trans-\n"
-, stdout);
- fputs(
-" fer ends up being larger than this given limit. This concerns\n"
-" both FTP and HTTP transfers.\n"
-"\n"
-" -m/--max-time <seconds>\n"
-" Maximum time in seconds that you allow the whole operation to\n"
-" take. This is useful for preventing your batch jobs from hang-\n"
-" ing for hours due to slow networks or links going down. See\n"
-" also the --connect-timeout option.\n"
-"\n"
-, stdout);
- fputs(
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -M/--manual\n"
-" Manual. Display the huge help text.\n"
-"\n"
-" -n/--netrc\n"
-" Makes curl scan the .netrc (_netrc on Windows) file in the\n"
-" user's home directory for login name and password. This is typi-\n"
-" cally used for ftp on unix. If used with http, curl will enable\n"
-" user authentication. See netrc(4) or ftp(1) for details on the\n"
-, stdout);
- fputs(
-" file format. Curl will not complain if that file hasn't the\n"
-" right permissions (it should not be world nor group readable).\n"
-" The environment variable \"HOME\" is used to find the home direc-\n"
-" tory.\n"
-"\n"
-" A quick and very simple example of how to setup a .netrc to\n"
-" allow curl to ftp to the machine host.domain.com with user name\n"
-" 'myself' and password 'secret' should look similar to:\n"
-"\n"
-, stdout);
- fputs(
-" machine host.domain.com login myself password secret\n"
-"\n"
-" --netrc-optional\n"
-" Very similar to --netrc, but this option makes the .netrc usage\n"
-" optional and not mandatory as the --netrc does.\n"
-"\n"
-" --negotiate\n"
-" (HTTP) Enables GSS-Negotiate authentication. The GSS-Negotiate\n"
-" method was designed by Microsoft and is used in their web appli-\n"
-" cations. It is primarily meant as a support for Kerberos5\n"
-, stdout);
- fputs(
-" authentication but may be also used along with another authenti-\n"
-" cation methods. For more information see IETF draft draft-\n"
-" brezak-spnego-http-04.txt.\n"
-"\n"
-" If you want to enable Negotiate for your proxy authentication,\n"
-" then use --proxy-negotiate.\n"
-"\n"
-" This option requires that the library was built with GSSAPI sup-\n"
-" port. This is not very common. Use -V/--version to see if your\n"
-, stdout);
- fputs(
-" version supports GSS-Negotiate.\n"
-"\n"
-" When using this option, you must also provide a fake -u/--user\n"
-" option to activate the authentication code properly. Sending a\n"
-" '-u :' is enough as the user name and password from the -u\n"
-" option aren't actually used.\n"
-"\n"
-" If this option is used several times, the following occurrences\n"
-" make no difference.\n"
-"\n"
-" -N/--no-buffer\n"
-, stdout);
- fputs(
-" Disables the buffering of the output stream. In normal work sit-\n"
-" uations, curl will use a standard buffered output stream that\n"
-" will have the effect that it will output the data in chunks, not\n"
-" necessarily exactly when the data arrives. Using this option\n"
-" will disable that buffering.\n"
-"\n"
-" Note that this is the negated option name documented. You can\n"
-" thus use --buffer to enforce the buffering.\n"
-"\n"
-, stdout);
- fputs(
-" --no-keepalive\n"
-" Disables the use of keepalive messages on the TCP connection, as\n"
-" by default curl enables them.\n"
-"\n"
-" Note that this is the negated option name documented. You can\n"
-" thus use --keepalive to enforce keepalive.\n"
-"\n"
-" --no-sessionid\n"
-" (SSL) Disable curl's use of SSL session-ID caching. By default\n"
-" all transfers are done using the cache. Note that while nothing\n"
-, stdout);
- fputs(
-" ever should get hurt by attempting to reuse SSL session-IDs,\n"
-" there seem to be broken SSL implementations in the wild that may\n"
-" require you to disable this in order for you to succeed. (Added\n"
-" in 7.16.0)\n"
-"\n"
-" Note that this is the negated option name documented. You can\n"
-" thus use --sessionid to enforce session-ID caching.\n"
-"\n"
-" --ntlm (HTTP) Enables NTLM authentication. The NTLM authentication\n"
-, stdout);
- fputs(
-" method was designed by Microsoft and is used by IIS web servers.\n"
-" It is a proprietary protocol, reversed engineered by clever peo-\n"
-" ple and implemented in curl based on their efforts. This kind of\n"
-" behavior should not be endorsed, you should encourage everyone\n"
-" who uses NTLM to switch to a public and documented authentica-\n"
-" tion method instead. Such as Digest.\n"
-"\n"
-, stdout);
- fputs(
-" If you want to enable NTLM for your proxy authentication, then\n"
-" use --proxy-ntlm.\n"
-"\n"
-" This option requires that the library was built with SSL sup-\n"
-" port. Use -V/--version to see if your curl supports NTLM.\n"
-"\n"
-" If this option is used several times, the following occurrences\n"
-" make no difference.\n"
-"\n"
-" -o/--output <file>\n"
-" Write output to <file> instead of stdout. If you are using {} or\n"
-, stdout);
- fputs(
-" [] to fetch multiple documents, you can use '#' followed by a\n"
-" number in the <file> specifier. That variable will be replaced\n"
-" with the current string for the URL being fetched. Like in:\n"
-"\n"
-" curl http://{one,two}.site.com -o \"file_#1.txt\"\n"
-"\n"
-" or use several variables like:\n"
-"\n"
-" curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n"
-"\n"
-" You may use this option as many times as you have number of\n"
-, stdout);
- fputs(
-" URLs.\n"
-"\n"
-" See also the --create-dirs option to create the local directo-\n"
-" ries dynamically.\n"
-"\n"
-" -O/--remote-name\n"
-" Write output to a local file named like the remote file we get.\n"
-" (Only the file part of the remote file is used, the path is cut\n"
-" off.)\n"
-"\n"
-" The remote file name to use for saving is extracted from the\n"
-" given URL, nothing else.\n"
-"\n"
-, stdout);
- fputs(
-" You may use this option as many times as you have number of\n"
-" URLs.\n"
-"\n"
-" --remote-name-all\n"
-" This option changes the default action for all given URLs to be\n"
-" dealt with as if -O/--remote-name were used for each one. So if\n"
-" you want to disable that for a specific URL after --remote-name-\n"
-" all has been used, you must use \"-o -\" or --no-remote-name.\n"
-" (Added in 7.19.0)\n"
-"\n"
-" --pass <phrase>\n"
-, stdout);
- fputs(
-" (SSL/SSH) Pass phrase for the private key\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --post301\n"
-" Tells curl to respect RFC 2616/10.3.2 and not convert POST\n"
-" requests into GET requests when following a 301 redirection. The\n"
-" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
-" the conversion by default to maintain consistency. However, a\n"
-, stdout);
- fputs(
-" server may requires a POST to remain a POST after such a redi-\n"
-" rection. This option is meaningful only when using -L/--location\n"
-" (Added in 7.17.1)\n"
-"\n"
-" --proxy-anyauth\n"
-" Tells curl to pick a suitable authentication method when commu-\n"
-" nicating with the given proxy. This might cause an extra\n"
-" request/response round-trip. (Added in 7.13.2)\n"
-"\n"
-" --proxy-basic\n"
-, stdout);
- fputs(
-" Tells curl to use HTTP Basic authentication when communicating\n"
-" with the given proxy. Use --basic for enabling HTTP Basic with a\n"
-" remote host. Basic is the default authentication method curl\n"
-" uses with proxies.\n"
-"\n"
-" --proxy-digest\n"
-" Tells curl to use HTTP Digest authentication when communicating\n"
-" with the given proxy. Use --digest for enabling HTTP Digest with\n"
-" a remote host.\n"
-"\n"
-, stdout);
- fputs(
-" --proxy-negotiate\n"
-" Tells curl to use HTTP Negotiate authentication when communicat-\n"
-" ing with the given proxy. Use --negotiate for enabling HTTP\n"
-" Negotiate with a remote host. (Added in 7.17.1)\n"
-"\n"
-" --proxy-ntlm\n"
-" Tells curl to use HTTP NTLM authentication when communicating\n"
-" with the given proxy. Use --ntlm for enabling NTLM with a remote\n"
-" host.\n"
-"\n"
-" -p/--proxytunnel\n"
-, stdout);
- fputs(
-" When an HTTP proxy is used (-x/--proxy), this option will cause\n"
-" non-HTTP protocols to attempt to tunnel through the proxy\n"
-" instead of merely using it to do HTTP-like operations. The tun-\n"
-" nel approach is made with the HTTP proxy CONNECT request and\n"
-" requires that the proxy allows direct connect to the remote port\n"
-" number curl wants to tunnel through to.\n"
-"\n"
-" --pubkey <key>\n"
-, stdout);
- fputs(
-" (SSH) Public key file name. Allows you to provide your public\n"
-" key in this separate file.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -P/--ftp-port <address>\n"
-" (FTP) Reverses the initiator/listener roles when connecting with\n"
-" ftp. This switch makes Curl use the PORT command instead of\n"
-" PASV. In practise, PORT tells the server to connect to the\n"
-, stdout);
- fputs(
-" client's specified address and port, while PASV asks the server\n"
-" for an ip address and port to connect to. <address> should be\n"
-" one of:\n"
-"\n"
-" interface\n"
-" i.e \"eth0\" to specify which interface's IP address you\n"
-" want to use (Unix only)\n"
-"\n"
-" IP address\n"
-" i.e \"192.168.10.1\" to specify exact IP number\n"
-"\n"
-" host name\n"
-, stdout);
- fputs(
-" i.e \"my.host.domain\" to specify machine\n"
-"\n"
-" - make curl pick the same IP address that is already used\n"
-" for the control connection\n"
-"\n"
-" If this option is used several times, the last one will be used. Dis-\n"
-" able the use of PORT with --ftp-pasv. Disable the attempt to use the\n"
-" EPRT command instead of PORT by using --disable-eprt. EPRT is really\n"
-" PORT++.\n"
-"\n"
-, stdout);
- fputs(
-" -q If used as the first parameter on the command line, the curlrc\n"
-" config file will not be read and used. See the -K/--config for\n"
-" details on the default config file search path.\n"
-"\n"
-" -Q/--quote <command>\n"
-" (FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP\n"
-" server. Quote commands are sent BEFORE the transfer is taking\n"
-" place (just after the initial PWD command in an FTP transfer, to\n"
-, stdout);
- fputs(
-" be exact). To make commands take place after a successful trans-\n"
-" fer, prefix them with a dash '-'. To make commands get sent\n"
-" after libcurl has changed working directory, just before the\n"
-" transfer command(s), prefix the command with '+' (this is only\n"
-" supported for FTP). You may specify any number of commands. If\n"
-" the server returns failure for one of the commands, the entire\n"
-, stdout);
- fputs(
-" operation will be aborted. You must send syntactically correct\n"
-" FTP commands as RFC959 defines to FTP servers, or one of the\n"
-" commands listed below to SFTP servers. This option can be used\n"
-" multiple times.\n"
-"\n"
-" SFTP is a binary protocol. Unlike for FTP, libcurl interprets\n"
-" SFTP quote commands before sending them to the server. Follow-\n"
-" ing is the list of all supported SFTP quote commands:\n"
-"\n"
-, stdout);
- fputs(
-" chgrp group file\n"
-" The chgrp command sets the group ID of the file named by\n"
-" the file operand to the group ID specified by the group\n"
-" operand. The group operand is a decimal integer group ID.\n"
-"\n"
-" chmod mode file\n"
-" The chmod command modifies the file mode bits of the\n"
-" specified file. The mode operand is an octal integer mode\n"
-" number.\n"
-"\n"
-, stdout);
- fputs(
-" chown user file\n"
-" The chown command sets the owner of the file named by the\n"
-" file operand to the user ID specified by the user\n"
-" operand. The user operand is a decimal integer user ID.\n"
-"\n"
-" ln source_file target_file\n"
-" The ln and symlink commands create a symbolic link at the\n"
-" target_file location pointing to the source_file loca-\n"
-" tion.\n"
-"\n"
-, stdout);
- fputs(
-" mkdir directory_name\n"
-" The mkdir command creates the directory named by the\n"
-" directory_name operand.\n"
-"\n"
-" pwd The pwd command returns the absolute pathname of the cur-\n"
-" rent working directory.\n"
-"\n"
-" rename source target\n"
-" The rename command renames the file or directory named by\n"
-" the source operand to the destination path named by the\n"
-, stdout);
- fputs(
-" target operand.\n"
-"\n"
-" rm file\n"
-" The rm command removes the file specified by the file\n"
-" operand.\n"
-"\n"
-" rmdir directory\n"
-" The rmdir command removes the directory entry specified\n"
-" by the directory operand, provided it is empty.\n"
-"\n"
-" symlink source_file target_file\n"
-" See ln.\n"
-"\n"
-" --random-file <file>\n"
-, stdout);
- fputs(
-" (SSL) Specify the path name to file containing what will be con-\n"
-" sidered as random data. The data is used to seed the random\n"
-" engine for SSL connections. See also the --egd-file option.\n"
-"\n"
-" -r/--range <range>\n"
-" (HTTP/FTP/FILE) Retrieve a byte range (i.e a partial document)\n"
-" from a HTTP/1.1, FTP server or a local FILE. Ranges can be spec-\n"
-" ified in a number of ways.\n"
-"\n"
-, stdout);
- fputs(
-" 0-499 specifies the first 500 bytes\n"
-"\n"
-" 500-999 specifies the second 500 bytes\n"
-"\n"
-" -500 specifies the last 500 bytes\n"
-"\n"
-" 9500- specifies the bytes from offset 9500 and forward\n"
-"\n"
-" 0-0,-1 specifies the first and last byte only(*)(H)\n"
-"\n"
-" 500-700,600-799\n"
-" specifies 300 bytes from offset 500(H)\n"
-"\n"
-" 100-199,500-599\n"
-, stdout);
- fputs(
-" specifies two separate 100 bytes ranges(*)(H)\n"
-"\n"
-" (*) = NOTE that this will cause the server to reply with a multipart\n"
-" response!\n"
-"\n"
-" Only digit characters (0-9) are valid in 'start' and 'stop' of range\n"
-" syntax 'start-stop'. If a non-digit character is given in the range,\n"
-" the server's response will be indeterminable, depending on different\n"
-" server's configuration.\n"
-"\n"
-, stdout);
- fputs(
-" You should also be aware that many HTTP/1.1 servers do not have this\n"
-" feature enabled, so that when you attempt to get a range, you'll\n"
-" instead get the whole document.\n"
-"\n"
-" FTP range downloads only support the simple syntax 'start-stop'\n"
-" (optionally with one of the numbers omitted). It depends on the non-RFC\n"
-" command SIZE.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-, stdout);
- fputs(
-" --raw When used, it disables all internal HTTP decoding of content or\n"
-" transfer encodings and instead makes them passed on unaltered,\n"
-" raw. (Added in 7.16.2)\n"
-"\n"
-" -R/--remote-time\n"
-" When used, this will make libcurl attempt to figure out the\n"
-" timestamp of the remote file, and if that is available make the\n"
-" local file get that same timestamp.\n"
-"\n"
-" --retry <num>\n"
-, stdout);
- fputs(
-" If a transient error is returned when curl tries to perform a\n"
-" transfer, it will retry this number of times before giving up.\n"
-" Setting the number to 0 makes curl do no retries (which is the\n"
-" default). Transient error means either: a timeout, an FTP 5xx\n"
-" response code or an HTTP 5xx response code.\n"
-"\n"
-" When curl is about to retry a transfer, it will first wait one\n"
-, stdout);
- fputs(
-" second and then for all forthcoming retries it will double the\n"
-" waiting time until it reaches 10 minutes which then will be the\n"
-" delay between the rest of the retries. By using --retry-delay\n"
-" you disable this exponential backoff algorithm. See also\n"
-" --retry-max-time to limit the total time allowed for retries.\n"
-" (Added in 7.12.3)\n"
-"\n"
-, stdout);
- fputs(
-" If this option is used multiple times, the last occurrence\n"
-" decide the amount.\n"
-"\n"
-" --retry-delay <seconds>\n"
-" Make curl sleep this amount of time between each retry when a\n"
-" transfer has failed with a transient error (it changes the\n"
-" default backoff time algorithm between retries). This option is\n"
-" only interesting if --retry is also used. Setting this delay to\n"
-, stdout);
- fputs(
-" zero will make curl use the default backoff time. (Added in\n"
-" 7.12.3)\n"
-"\n"
-" If this option is used multiple times, the last occurrence\n"
-" decide the amount.\n"
-"\n"
-" --retry-max-time <seconds>\n"
-" The retry timer is reset before the first transfer attempt.\n"
-" Retries will be done as usual (see --retry) as long as the timer\n"
-" hasn't reached this given limit. Notice that if the timer hasn't\n"
-, stdout);
- fputs(
-" reached the limit, the request will be made and while perform-\n"
-" ing, it may take longer than this given time period. To limit a\n"
-" single request's maximum time, use -m/--max-time. Set this\n"
-" option to zero to not timeout retries. (Added in 7.12.3)\n"
-"\n"
-" If this option is used multiple times, the last occurrence\n"
-" decide the amount.\n"
-"\n"
-" -s/--silent\n"
-, stdout);
- fputs(
-" Silent mode. Don't show progress meter or error messages. Makes\n"
-" Curl mute.\n"
-"\n"
-" -S/--show-error\n"
-" When used with -s it makes curl show error message if it fails.\n"
-"\n"
-" --socks4 <host[:port]>\n"
-" Use the specified SOCKS4 proxy. If the port number is not speci-\n"
-" fied, it is assumed at port 1080. (Added in 7.15.2)\n"
-"\n"
-" This option overrides any previous use of -x/--proxy, as they\n"
-, stdout);
- fputs(
-" are mutually exclusive.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --socks4a <host[:port]>\n"
-" Use the specified SOCKS4a proxy. If the port number is not spec-\n"
-" ified, it is assumed at port 1080. (Added in 7.18.0)\n"
-"\n"
-" This option overrides any previous use of -x/--proxy, as they\n"
-" are mutually exclusive.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-, stdout);
- fputs(
-" --socks5-hostname <host[:port]>\n"
-" Use the specified SOCKS5 proxy (and let the proxy resolve the\n"
-" host name). If the port number is not specified, it is assumed\n"
-" at port 1080. (Added in 7.18.0)\n"
-"\n"
-" This option overrides any previous use of -x/--proxy, as they\n"
-" are mutually exclusive.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-, stdout);
- fputs(
-" (This option was previously wrongly documented and used as\n"
-" --socks without the number appended.)\n"
-"\n"
-" --socks5 <host[:port]>\n"
-" Use the specified SOCKS5 proxy - but resolve the host name\n"
-" locally. If the port number is not specified, it is assumed at\n"
-" port 1080.\n"
-"\n"
-" This option overrides any previous use of -x/--proxy, as they\n"
-" are mutually exclusive.\n"
-"\n"
-, stdout);
- fputs(
-" If this option is used several times, the last one will be used.\n"
-" (This option was previously wrongly documented and used as\n"
-" --socks without the number appended.)\n"
-"\n"
-" --stderr <file>\n"
-" Redirect all writes to stderr to the specified file instead. If\n"
-" the file name is a plain '-', it is instead written to stdout.\n"
-" This option has no point when you're using a shell with decent\n"
-, stdout);
- fputs(
-" redirecting capabilities.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --tcp-nodelay\n"
-" Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n"
-" page for details about this option. (Added in 7.11.2)\n"
-"\n"
-" -t/--telnet-option <OPT=val>\n"
-" Pass options to the telnet protocol. Supported options are:\n"
-"\n"
-" TTYPE=<term> Sets the terminal type.\n"
-"\n"
-, stdout);
- fputs(
-" XDISPLOC=<X display> Sets the X display location.\n"
-"\n"
-" NEW_ENV=<var,val> Sets an environment variable.\n"
-"\n"
-" -T/--upload-file <file>\n"
-" This transfers the specified local file to the remote URL. If\n"
-" there is no file part in the specified URL, Curl will append the\n"
-" local file name. NOTE that you must use a trailing / on the last\n"
-" directory to really prove to Curl that there is no file name or\n"
-, stdout);
- fputs(
-" curl will think that your last directory name is the remote file\n"
-" name to use. That will most likely cause the upload operation to\n"
-" fail. If this is used on a http(s) server, the PUT command will\n"
-" be used.\n"
-"\n"
-" Use the file name \"-\" (a single dash) to use stdin instead of a\n"
-" given file.\n"
-"\n"
-" You can specify one -T for each URL on the command line. Each -T\n"
-, stdout);
- fputs(
-" + URL pair specifies what to upload and to where. curl also sup-\n"
-" ports \"globbing\" of the -T argument, meaning that you can upload\n"
-" multiple files to a single URL by using the same URL globbing\n"
-" style supported in the URL, like this:\n"
-"\n"
-" curl -T \"{file1,file2}\" http://www.uploadtothissite.com\n"
-"\n"
-" or even\n"
-"\n"
-" curl -T \"img[1-1000].png\" ftp://ftp.picturemania.com/upload/\n"
-"\n"
-" --trace <file>\n"
-, stdout);
- fputs(
-" Enables a full trace dump of all incoming and outgoing data,\n"
-" including descriptive information, to the given output file. Use\n"
-" \"-\" as filename to have the output sent to stdout.\n"
-"\n"
-" This option overrides previous uses of -v/--verbose or --trace-\n"
-" ascii.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --trace-ascii <file>\n"
-, stdout);
- fputs(
-" Enables a full trace dump of all incoming and outgoing data,\n"
-" including descriptive information, to the given output file. Use\n"
-" \"-\" as filename to have the output sent to stdout.\n"
-"\n"
-" This is very similar to --trace, but leaves out the hex part and\n"
-" only shows the ASCII part of the dump. It makes smaller output\n"
-" that might be easier to read for untrained humans.\n"
-"\n"
-, stdout);
- fputs(
-" This option overrides previous uses of -v/--verbose or --trace.\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --trace-time\n"
-" Prepends a time stamp to each trace or verbose line that curl\n"
-" displays. (Added in 7.14.0)\n"
-"\n"
-" -u/--user <user:password>\n"
-" Specify user and password to use for server authentication.\n"
-" Overrides -n/--netrc and --netrc-optional.\n"
-"\n"
-, stdout);
- fputs(
-" If you just give the user name (without entering a colon) curl\n"
-" will prompt for a password.\n"
-"\n"
-" If you use an SSPI-enabled curl binary and do NTLM authentica-\n"
-" tion, you can force curl to pick up the user name and password\n"
-" from your environment by simply specifying a single colon with\n"
-" this option: \"-u :\".\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-, stdout);
- fputs(
-" -U/--proxy-user <user:password>\n"
-" Specify user and password to use for proxy authentication.\n"
-"\n"
-" If you use an SSPI-enabled curl binary and do NTLM authentica-\n"
-" tion, you can force curl to pick up the user name and password\n"
-" from your environment by simply specifying a single colon with\n"
-" this option: \"-U :\".\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --url <URL>\n"
-, stdout);
- fputs(
-" Specify a URL to fetch. This option is mostly handy when you\n"
-" want to specify URL(s) in a config file.\n"
-"\n"
-" This option may be used any number of times. To control where\n"
-" this URL is written, use the -o/--output or the -O/--remote-name\n"
-" options.\n"
-"\n"
-" -v/--verbose\n"
-" Makes the fetching more verbose/talkative. Mostly usable for\n"
-" debugging. Lines starting with '>' means \"header data\" sent by\n"
-, stdout);
- fputs(
-" curl, '<' means \"header data\" received by curl that is hidden in\n"
-" normal cases and lines starting with '*' means additional info\n"
-" provided by curl.\n"
-"\n"
-" Note that if you only want HTTP headers in the output,\n"
-" -i/--include might be option you're looking for.\n"
-"\n"
-" If you think this option still doesn't give you enough details,\n"
-" consider using --trace or --trace-ascii instead.\n"
-"\n"
-, stdout);
- fputs(
-" This option overrides previous uses of --trace-ascii or --trace.\n"
-"\n"
-" -V/--version\n"
-" Displays information about curl and the libcurl version it uses.\n"
-" The first line includes the full version of curl, libcurl and\n"
-" other 3rd party libraries linked with the executable.\n"
-"\n"
-" The second line (starts with \"Protocols:\") shows all protocols\n"
-" that libcurl reports to support.\n"
-"\n"
-, stdout);
- fputs(
-" The third line (starts with \"Features:\") shows specific features\n"
-" libcurl reports to offer. Available features include:\n"
-"\n"
-" IPv6 You can use IPv6 with this.\n"
-"\n"
-" krb4 Krb4 for ftp is supported.\n"
-"\n"
-" SSL HTTPS and FTPS are supported.\n"
-"\n"
-" libz Automatic decompression of compressed files over HTTP is\n"
-" supported.\n"
-"\n"
-" NTLM NTLM authentication is supported.\n"
-"\n"
-" GSS-Negotiate\n"
-, stdout);
- fputs(
-" Negotiate authentication and krb5 for ftp is supported.\n"
-"\n"
-" Debug This curl uses a libcurl built with Debug. This enables\n"
-" more error-tracking and memory debugging etc. For curl-\n"
-" developers only!\n"
-"\n"
-" AsynchDNS\n"
-" This curl uses asynchronous name resolves.\n"
-"\n"
-" SPNEGO SPNEGO Negotiate authentication is supported.\n"
-"\n"
-" Largefile\n"
-, stdout);
- fputs(
-" This curl supports transfers of large files, files larger\n"
-" than 2GB.\n"
-"\n"
-" IDN This curl supports IDN - international domain names.\n"
-"\n"
-" SSPI SSPI is supported. If you use NTLM and set a blank user\n"
-" name, curl will authenticate with your current user and\n"
-" password.\n"
-"\n"
-" -w/--write-out <format>\n"
-" Defines what to display on stdout after a completed and success-\n"
-, stdout);
- fputs(
-" ful operation. The format is a string that may contain plain\n"
-" text mixed with any number of variables. The string can be spec-\n"
-" ified as \"string\", to get read from a particular file you spec-\n"
-" ify it \"@filename\" and to tell curl to read the format from\n"
-" stdin you write \"@-\".\n"
-"\n"
-" The variables present in the output format will be substituted\n"
-, stdout);
- fputs(
-" by the value or text that curl thinks fit, as described below.\n"
-" All variables are specified like %{variable_name} and to output\n"
-" a normal % you just write them like %%. You can output a newline\n"
-" by using \\n, a carriage return with \\r and a tab space with \\t.\n"
-" NOTE: The %-letter is a special letter in the win32-environment,\n"
-" where all occurrences of % must be doubled when using this\n"
-" option.\n"
-"\n"
-, stdout);
- fputs(
-" Available variables are at this point:\n"
-"\n"
-" url_effective The URL that was fetched last. This is mostly\n"
-" meaningful if you've told curl to follow loca-\n"
-" tion: headers.\n"
-"\n"
-" http_code The numerical response code that was found in the\n"
-" last retrieved HTTP(S) or FTP(s) transfer. In\n"
-" 7.18.2 the alias response_code was added to show\n"
-, stdout);
- fputs(
-" the same info.\n"
-"\n"
-" http_connect The numerical code that was found in the last\n"
-" response (from a proxy) to a curl CONNECT\n"
-" request. (Added in 7.12.4)\n"
-"\n"
-" time_total The total time, in seconds, that the full opera-\n"
-" tion lasted. The time will be displayed with mil-\n"
-" lisecond resolution.\n"
-"\n"
-" time_namelookup\n"
-, stdout);
- fputs(
-" The time, in seconds, it took from the start\n"
-" until the name resolving was completed.\n"
-"\n"
-" time_connect The time, in seconds, it took from the start\n"
-" until the TCP connect to the remote host (or\n"
-" proxy) was completed.\n"
-"\n"
-" time_appconnect\n"
-" The time, in seconds, it took from the start\n"
-, stdout);
- fputs(
-" until the SSL/SSH/etc connect/handshake to the\n"
-" remote host was completed. (Added in 7.19.0)\n"
-"\n"
-" time_pretransfer\n"
-" The time, in seconds, it took from the start\n"
-" until the file transfer is just about to begin.\n"
-" This includes all pre-transfer commands and nego-\n"
-, stdout);
- fputs(
-" tiations that are specific to the particular pro-\n"
-" tocol(s) involved.\n"
-"\n"
-" time_redirect The time, in seconds, it took for all redirection\n"
-" steps include name lookup, connect, pretransfer\n"
-" and transfer before final transaction was\n"
-" started. time_redirect shows the complete execu-\n"
-, stdout);
- fputs(
-" tion time for multiple redirections. (Added in\n"
-" 7.12.3)\n"
-"\n"
-" time_starttransfer\n"
-" The time, in seconds, it took from the start\n"
-" until the first byte is just about to be trans-\n"
-" ferred. This includes time_pretransfer and also\n"
-" the time the server needs to calculate the\n"
-, stdout);
- fputs(
-" result.\n"
-"\n"
-" size_download The total amount of bytes that were downloaded.\n"
-"\n"
-" size_upload The total amount of bytes that were uploaded.\n"
-"\n"
-" size_header The total amount of bytes of the downloaded head-\n"
-" ers.\n"
-"\n"
-" size_request The total amount of bytes that were sent in the\n"
-" HTTP request.\n"
-"\n"
-, stdout);
- fputs(
-" speed_download The average download speed that curl measured for\n"
-" the complete download.\n"
-"\n"
-" speed_upload The average upload speed that curl measured for\n"
-" the complete upload.\n"
-"\n"
-" content_type The Content-Type of the requested document, if\n"
-" there was any.\n"
-"\n"
-" num_connects Number of new connects made in the recent trans-\n"
-, stdout);
- fputs(
-" fer. (Added in 7.12.3)\n"
-"\n"
-" num_redirects Number of redirects that were followed in the\n"
-" request. (Added in 7.12.3)\n"
-"\n"
-" redirect_url When a HTTP request was made without -L to follow\n"
-" redirects, this variable will show the actual URL\n"
-" a redirect would take you to. (Added in 7.18.2)\n"
-"\n"
-, stdout);
- fputs(
-" ftp_entry_path The initial path libcurl ended up in when logging\n"
-" on to the remote FTP server. (Added in 7.15.4)\n"
-"\n"
-" ssl_verify_result\n"
-" The result of the SSL peer certificate verifica-\n"
-" tion that was requested. 0 means the verification\n"
-" was successful. (Added in 7.19.0)\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-, stdout);
- fputs(
-" -x/--proxy <proxyhost[:port]>\n"
-" Use specified HTTP proxy. If the port number is not specified,\n"
-" it is assumed at port 1080.\n"
-"\n"
-" This option overrides existing environment variables that sets\n"
-" proxy to use. If there's an environment variable setting a\n"
-" proxy, you can set proxy to \"\" to override it.\n"
-"\n"
-" Note that all operations that are performed over a HTTP proxy\n"
-, stdout);
- fputs(
-" will transparently be converted to HTTP. It means that certain\n"
-" protocol specific operations might not be available. This is not\n"
-" the case if you can tunnel through the proxy, as done with the\n"
-" -p/--proxytunnel option.\n"
-"\n"
-" Starting with 7.14.1, the proxy host can be specified the exact\n"
-" same way as the proxy environment variables, include protocol\n"
-" prefix (http://) and embedded user + password.\n"
-"\n"
-, stdout);
- fputs(
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -X/--request <command>\n"
-" (HTTP) Specifies a custom request method to use when communicat-\n"
-" ing with the HTTP server. The specified request will be used\n"
-" instead of the method otherwise used (which defaults to GET).\n"
-" Read the HTTP 1.1 specification for details and explanations.\n"
-"\n"
-, stdout);
- fputs(
-" (FTP) Specifies a custom FTP command to use instead of LIST when\n"
-" doing file lists with ftp.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -y/--speed-time <time>\n"
-" If a download is slower than speed-limit bytes per second during\n"
-" a speed-time period, the download gets aborted. If speed-time is\n"
-" used, the default speed-limit will be 1 unless set with -y.\n"
-"\n"
-, stdout);
- fputs(
-" This option controls transfers and thus will not affect slow\n"
-" connects etc. If this is a concern for you, try the --connect-\n"
-" timeout option.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -Y/--speed-limit <speed>\n"
-" If a download is slower than this given speed, in bytes per sec-\n"
-" ond, for speed-time seconds it gets aborted. speed-time is set\n"
-, stdout);
- fputs(
-" with -Y and is 30 if not set.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -z/--time-cond <date expression>\n"
-" (HTTP/FTP) Request a file that has been modified later than the\n"
-" given time and date, or one that has been modified before that\n"
-" time. The date expression can be all sorts of date strings or if\n"
-" it doesn't match any internal ones, it tries to get the time\n"
-, stdout);
- fputs(
-" from a given file name instead! See the curl_getdate(3) man\n"
-" pages for date expression details.\n"
-"\n"
-" Start the date expression with a dash (-) to make it request for\n"
-" a document that is older than the given date/time, default is a\n"
-" document that is newer than the specified date/time.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" --max-redirs <num>\n"
-, stdout);
- fputs(
-" Set maximum number of redirection-followings allowed. If\n"
-" -L/--location is used, this option can be used to prevent curl\n"
-" from following redirections \"in absurdum\". By default, the limit\n"
-" is set to 50 redirections. Set this option to -1 to make it lim-\n"
-" itless.\n"
-"\n"
-" If this option is used several times, the last one will be used.\n"
-"\n"
-" -0/--http1.0\n"
-, stdout);
- fputs(
-" (HTTP) Forces curl to issue its requests using HTTP 1.0 instead\n"
-" of using its internally preferred: HTTP 1.1.\n"
-"\n"
-" -1/--tlsv1\n"
-" (SSL) Forces curl to use TSL version 1 when negotiating with a\n"
-" remote TLS server.\n"
-"\n"
-" -2/--sslv2\n"
-" (SSL) Forces curl to use SSL version 2 when negotiating with a\n"
-" remote SSL server.\n"
-"\n"
-" -3/--sslv3\n"
-" (SSL) Forces curl to use SSL version 3 when negotiating with a\n"
-, stdout);
- fputs(
-" remote SSL server.\n"
-"\n"
-" -4/--ipv4\n"
-" If libcurl is capable of resolving an address to multiple IP\n"
-" versions (which it is if it is ipv6-capable), this option tells\n"
-" libcurl to resolve names to IPv4 addresses only.\n"
-"\n"
-" -6/--ipv6\n"
-" If libcurl is capable of resolving an address to multiple IP\n"
-" versions (which it is if it is ipv6-capable), this option tells\n"
-, stdout);
- fputs(
-" libcurl to resolve names to IPv6 addresses only.\n"
-"\n"
-" -#/--progress-bar\n"
-" Make curl display progress information as a progress bar instead\n"
-" of the default statistics.\n"
-"\n"
-"FILES\n"
-" ~/.curlrc\n"
-" Default config file, see -K/--config for details.\n"
-"\n"
-"ENVIRONMENT\n"
-" http_proxy [protocol://]<host>[:port]\n"
-" Sets proxy server to use for HTTP.\n"
-"\n"
-" HTTPS_PROXY [protocol://]<host>[:port]\n"
-, stdout);
- fputs(
-" Sets proxy server to use for HTTPS.\n"
-"\n"
-" FTP_PROXY [protocol://]<host>[:port]\n"
-" Sets proxy server to use for FTP.\n"
-"\n"
-" ALL_PROXY [protocol://]<host>[:port]\n"
-" Sets proxy server to use if no protocol-specific proxy is set.\n"
-"\n"
-" NO_PROXY <comma-separated list of hosts>\n"
-" list of host names that shouldn't go through any proxy. If set\n"
-" to a asterisk '*' only, it matches all hosts.\n"
-"\n"
-"EXIT CODES\n"
-, stdout);
- fputs(
-" There exists a bunch of different error codes and their corresponding\n"
-" error messages that may appear during bad conditions. At the time of\n"
-" this writing, the exit codes are:\n"
-"\n"
-" 1 Unsupported protocol. This build of curl has no support for this\n"
-" protocol.\n"
-"\n"
-" 2 Failed to initialize.\n"
-"\n"
-" 3 URL malformat. The syntax was not correct.\n"
-"\n"
-" 5 Couldn't resolve proxy. The given proxy host could not be\n"
-, stdout);
- fputs(
-" resolved.\n"
-"\n"
-" 6 Couldn't resolve host. The given remote host was not resolved.\n"
-"\n"
-" 7 Failed to connect to host.\n"
-"\n"
-" 8 FTP weird server reply. The server sent data curl couldn't\n"
-" parse.\n"
-"\n"
-" 9 FTP access denied. The server denied login or denied access to\n"
-" the particular resource or directory you wanted to reach. Most\n"
-" often you tried to change to a directory that doesn't exist on\n"
-, stdout);
- fputs(
-" the server.\n"
-"\n"
-" 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n"
-" PASS request.\n"
-"\n"
-" 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n"
-" PASV request.\n"
-"\n"
-" 14 FTP weird 227 format. Curl couldn't parse the 227-line the\n"
-" server sent.\n"
-"\n"
-" 15 FTP can't get host. Couldn't resolve the host IP we got in the\n"
-" 227-line.\n"
-"\n"
-, stdout);
- fputs(
-" 17 FTP couldn't set binary. Couldn't change transfer method to\n"
-" binary.\n"
-"\n"
-" 18 Partial file. Only a part of the file was transferred.\n"
-"\n"
-" 19 FTP couldn't download/access the given file, the RETR (or simi-\n"
-" lar) command failed.\n"
-"\n"
-" 21 FTP quote error. A quote command returned error from the server.\n"
-" 22 HTTP page not retrieved. The requested url was not found or\n"
-, stdout);
- fputs(
-" returned another error with the HTTP error code being 400 or\n"
-" above. This return code only appears if -f/--fail is used.\n"
-"\n"
-" 23 Write error. Curl couldn't write data to a local filesystem or\n"
-" similar.\n"
-"\n"
-" 25 FTP couldn't STOR file. The server denied the STOR operation,\n"
-" used for FTP uploading.\n"
-"\n"
-" 26 Read error. Various reading problems.\n"
-"\n"
-" 27 Out of memory. A memory allocation request failed.\n"
-"\n"
-, stdout);
- fputs(
-" 28 Operation timeout. The specified time-out period was reached\n"
-" according to the conditions.\n"
-"\n"
-" 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n"
-" support the PORT command, try doing a transfer using PASV\n"
-" instead!\n"
-"\n"
-" 31 FTP couldn't use REST. The REST command failed. This command is\n"
-" used for resumed FTP transfers.\n"
-"\n"
-" 33 HTTP range error. The range \"command\" didn't work.\n"
-"\n"
-, stdout);
- fputs(
-" 34 HTTP post error. Internal post-request generation error.\n"
-"\n"
-" 35 SSL connect error. The SSL handshaking failed.\n"
-"\n"
-" 36 FTP bad download resume. Couldn't continue an earlier aborted\n"
-" download.\n"
-"\n"
-" 37 FILE couldn't read file. Failed to open the file. Permissions?\n"
-"\n"
-" 38 LDAP cannot bind. LDAP bind operation failed.\n"
-"\n"
-" 39 LDAP search failed.\n"
-"\n"
-" 41 Function not found. A required LDAP function was not found.\n"
-"\n"
-, stdout);
- fputs(
-" 42 Aborted by callback. An application told curl to abort the oper-\n"
-" ation.\n"
-"\n"
-" 43 Internal error. A function was called with a bad parameter.\n"
-"\n"
-" 45 Interface error. A specified outgoing interface could not be\n"
-" used.\n"
-"\n"
-" 47 Too many redirects. When following redirects, curl hit the maxi-\n"
-" mum amount.\n"
-"\n"
-" 48 Unknown TELNET option specified.\n"
-"\n"
-" 49 Malformed telnet option.\n"
-"\n"
-, stdout);
- fputs(
-" 51 The peer's SSL certificate or SSH MD5 fingerprint was not ok\n"
-"\n"
-" 52 The server didn't reply anything, which here is considered an\n"
-" error.\n"
-"\n"
-" 53 SSL crypto engine not found\n"
-"\n"
-" 54 Cannot set SSL crypto engine as default\n"
-"\n"
-" 55 Failed sending network data\n"
-"\n"
-" 56 Failure in receiving network data\n"
-"\n"
-" 58 Problem with the local certificate\n"
-"\n"
-" 59 Couldn't use specified SSL cipher\n"
-"\n"
-, stdout);
- fputs(
-" 60 Peer certificate cannot be authenticated with known CA certifi-\n"
-" cates\n"
-"\n"
-" 61 Unrecognized transfer encoding\n"
-"\n"
-" 62 Invalid LDAP URL\n"
-"\n"
-" 63 Maximum file size exceeded\n"
-"\n"
-" 64 Requested FTP SSL level failed\n"
-"\n"
-" 65 Sending the data requires a rewind that failed\n"
-"\n"
-" 66 Failed to initialise SSL Engine\n"
-"\n"
-" 67 User, password or similar was not accepted and curl failed to\n"
-" login\n"
-"\n"
-, stdout);
- fputs(
-" 68 File not found on TFTP server\n"
-"\n"
-" 69 Permission problem on TFTP server\n"
-"\n"
-" 70 Out of disk space on TFTP server\n"
-"\n"
-" 71 Illegal TFTP operation\n"
-"\n"
-" 72 Unknown TFTP transfer ID\n"
-"\n"
-" 73 File already exists (TFTP)\n"
-"\n"
-" 74 No such user (TFTP)\n"
-"\n"
-" 75 Character conversion failed\n"
-"\n"
-" 76 Character conversion functions required\n"
-"\n"
-" 77 Problem with reading the SSL CA cert (path? access rights?)\n"
-"\n"
-, stdout);
- fputs(
-" 78 The resource referenced in the URL does not exist\n"
-"\n"
-" 79 An unspecified error occurred during the SSH session\n"
-"\n"
-" 80 Failed to shut down the SSL connection\n"
-"\n"
-" 82 Could not load CRL file, missing or wrong format (added in\n"
-" 7.19.0)\n"
-"\n"
-" 83 Issuer check failed (added in 7.19.0)\n"
-"\n"
-" XX There will appear more error codes here in future releases. The\n"
-" existing ones are meant to never change.\n"
-"\n"
-"AUTHORS / CONTRIBUTORS\n"
-, stdout);
- fputs(
-" Daniel Stenberg is the main author, but the whole list of contributors\n"
-" is found in the separate THANKS file.\n"
-"\n"
-"WWW\n"
-" http://curl.haxx.se\n"
-"\n"
-"FTP\n"
-" ftp://ftp.sunet.se/pub/www/utilities/curl/\n"
-"\n"
-"SEE ALSO\n"
-" ftp(1), wget(1)\n"
-"\n"
-"LATEST VERSION\n"
-"\n"
-" You always find news about what's going on as well as the latest versions\n"
-" from the curl web pages, located at:\n"
-"\n"
-" http://curl.haxx.se\n"
-"\n"
-"SIMPLE USAGE\n"
-"\n"
-" Get the main page from Netscape's web-server:\n"
-"\n"
-, stdout);
- fputs(
-" curl http://www.netscape.com/\n"
-"\n"
-" Get the README file the user's home directory at funet's ftp-server:\n"
-"\n"
-" curl ftp://ftp.funet.fi/README\n"
-"\n"
-" Get a web page from a server using port 8000:\n"
-"\n"
-" curl http://www.weirdserver.com:8000/\n"
-"\n"
-" Get a list of a directory of an FTP site:\n"
-"\n"
-" curl ftp://cool.haxx.se/\n"
-"\n"
-" Get the definition of curl from a dictionary:\n"
-"\n"
-" curl dict://dict.org/m:curl\n"
-"\n"
-" Fetch two documents at once:\n"
-"\n"
-, stdout);
- fputs(
-" curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/\n"
-"\n"
-" Get a file off an FTPS server:\n"
-"\n"
-" curl ftps://files.are.secure.com/secrets.txt\n"
-"\n"
-" or use the more appropriate FTPS way to get the same file:\n"
-"\n"
-" curl --ftp-ssl ftp://files.are.secure.com/secrets.txt\n"
-"\n"
-" Get a file from an SSH server using SFTP:\n"
-"\n"
-" curl -u username sftp://shell.example.com/etc/issue\n"
-"\n"
-" Get a file from an SSH server using SCP using a private key to authenticate:\n"
-"\n"
-, stdout);
- fputs(
-" curl -u username: --key ~/.ssh/id_dsa --pubkey ~/.ssh/id_dsa.pub \\\n"
-" scp://shell.example.com/~/personal.txt\n"
-"\n"
-" Get the main page from an IPv6 web server:\n"
-"\n"
-" curl -g \"http://[2001:1890:1112:1::20]/\"\n"
-"\n"
-"DOWNLOAD TO A FILE\n"
-"\n"
-" Get a web page and store in a local file:\n"
-"\n"
-" curl -o thatpage.html http://www.netscape.com/\n"
-"\n"
-" Get a web page and store in a local file, make the local file get the name\n"
-" of the remote document (if no file name part is specified in the URL, this\n"
-, stdout);
- fputs(
-" will fail):\n"
-"\n"
-" curl -O http://www.netscape.com/index.html\n"
-"\n"
-" Fetch two files and store them with their remote names:\n"
-"\n"
-" curl -O www.haxx.se/index.html -O curl.haxx.se/download.html\n"
-"\n"
-"USING PASSWORDS\n"
-"\n"
-" FTP\n"
-"\n"
-" To ftp files using name+passwd, include them in the URL like:\n"
-"\n"
-" curl ftp://name:passwd@machine.domain:port/full/path/to/file\n"
-"\n"
-" or specify them with the -u flag like\n"
-"\n"
-" curl -u name:passwd ftp://machine.domain:port/full/path/to/file\n"
-"\n"
-" FTPS\n"
-"\n"
-, stdout);
- fputs(
-" It is just like for FTP, but you may also want to specify and use\n"
-" SSL-specific options for certificates etc.\n"
-"\n"
-" Note that using FTPS:// as prefix is the \"implicit\" way as described in the\n"
-" standards while the recommended \"explicit\" way is done by using FTP:// and\n"
-" the --ftp-ssl option.\n"
-"\n"
-" SFTP / SCP\n"
-"\n"
-" This is similar to FTP, but you can specify a private key to use instead of\n"
-" a password. Note that the private key may itself be protected by a password\n"
-, stdout);
- fputs(
-" that is unrelated to the login password of the remote system. If you\n"
-" provide a private key file you must also provide a public key file.\n"
-"\n"
-" HTTP\n"
-"\n"
-" Curl also supports user and password in HTTP URLs, thus you can pick a file\n"
-" like:\n"
-"\n"
-" curl http://name:passwd@machine.domain/full/path/to/file\n"
-"\n"
-" or specify user and password separately like in\n"
-"\n"
-" curl -u name:passwd http://machine.domain/full/path/to/file\n"
-"\n"
-, stdout);
- fputs(
-" HTTP offers many different methods of authentication and curl supports\n"
-" several: Basic, Digest, NTLM and Negotiate. Without telling which method to\n"
-" use, curl defaults to Basic. You can also ask curl to pick the most secure\n"
-" ones out of the ones that the server accepts for the given URL, by using\n"
-" --anyauth.\n"
-"\n"
-" NOTE! Since HTTP URLs don't support user and password, you can't use that\n"
-" style when using Curl via a proxy. You _must_ use the -u style fetch\n"
-, stdout);
- fputs(
-" during such circumstances.\n"
-"\n"
-" HTTPS\n"
-"\n"
-" Probably most commonly used with private certificates, as explained below.\n"
-"\n"
-"PROXY\n"
-"\n"
-" Get an ftp file using a proxy named my-proxy that uses port 888:\n"
-"\n"
-" curl -x my-proxy:888 ftp://ftp.leachsite.com/README\n"
-"\n"
-" Get a file from a HTTP server that requires user and password, using the\n"
-" same proxy as above:\n"
-"\n"
-" curl -u user:passwd -x my-proxy:888 http://www.get.this/\n"
-"\n"
-" Some proxies require special authentication. Specify by using -U as above:\n"
-"\n"
-, stdout);
- fputs(
-" curl -U user:passwd -x my-proxy:888 http://www.get.this/\n"
-"\n"
-" curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.\n"
-"\n"
-" See also the environment variables Curl support that offer further proxy\n"
-" control.\n"
-"\n"
-"RANGES\n"
-"\n"
-" With HTTP 1.1 byte-ranges were introduced. Using this, a client can request\n"
-" to get only one or more subparts of a specified document. Curl supports\n"
-" this with the -r flag.\n"
-"\n"
-" Get the first 100 bytes of a document:\n"
-"\n"
-" curl -r 0-99 http://www.get.this/\n"
-"\n"
-, stdout);
- fputs(
-" Get the last 500 bytes of a document:\n"
-"\n"
-" curl -r -500 http://www.get.this/\n"
-"\n"
-" Curl also supports simple ranges for FTP files as well. Then you can only\n"
-" specify start and stop position.\n"
-"\n"
-" Get the first 100 bytes of a document using FTP:\n"
-"\n"
-" curl -r 0-99 ftp://www.get.this/README \n"
-"\n"
-"UPLOADING\n"
-"\n"
-" FTP / FTPS / SFTP / SCP\n"
-"\n"
-" Upload all data on stdin to a specified server:\n"
-"\n"
-" curl -T - ftp://ftp.upload.com/myfile\n"
-"\n"
-" Upload data from a specified file, login with user and password:\n"
-, stdout);
- fputs(
-"\n"
-" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile\n"
-"\n"
-" Upload a local file to the remote site, and use the local file name remote\n"
-" too:\n"
-" \n"
-" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n"
-"\n"
-" Upload a local file to get appended to the remote file:\n"
-"\n"
-" curl -T localfile -a ftp://ftp.upload.com/remotefile\n"
-"\n"
-" Curl also supports ftp upload through a proxy, but only if the proxy is\n"
-" configured to allow that kind of tunneling. If it does, you can run curl in\n"
-, stdout);
- fputs(
-" a fashion similar to:\n"
-"\n"
-" curl --proxytunnel -x proxy:port -T localfile ftp.upload.com\n"
-"\n"
-" HTTP\n"
-"\n"
-" Upload all data on stdin to a specified http site:\n"
-"\n"
-" curl -T - http://www.upload.com/myfile\n"
-"\n"
-" Note that the http server must have been configured to accept PUT before\n"
-" this can be done successfully.\n"
-"\n"
-" For other ways to do http data upload, see the POST section below.\n"
-"\n"
-"VERBOSE / DEBUG\n"
-"\n"
-" If curl fails where it isn't supposed to, if the servers don't let you in,\n"
-, stdout);
- fputs(
-" if you can't understand the responses: use the -v flag to get verbose\n"
-" fetching. Curl will output lots of info and what it sends and receives in\n"
-" order to let the user see all client-server interaction (but it won't show\n"
-" you the actual data).\n"
-"\n"
-" curl -v ftp://ftp.upload.com/\n"
-"\n"
-" To get even more details and information on what curl does, try using the\n"
-" --trace or --trace-ascii options with a given file name to log to, like\n"
-" this:\n"
-"\n"
-" curl --trace trace.txt www.haxx.se\n"
-" \n"
-"\n"
-, stdout);
- fputs(
-"DETAILED INFORMATION\n"
-"\n"
-" Different protocols provide different ways of getting detailed information\n"
-" about specific files/documents. To get curl to show detailed information\n"
-" about a single file, you should use -I/--head option. It displays all\n"
-" available info on a single file for HTTP and FTP. The HTTP information is a\n"
-" lot more extensive.\n"
-"\n"
-" For HTTP, you can get the header information (the same as -I would show)\n"
-" shown before the data by using -i/--include. Curl understands the\n"
-, stdout);
- fputs(
-" -D/--dump-header option when getting files from both FTP and HTTP, and it\n"
-" will then store the headers in the specified file.\n"
-"\n"
-" Store the HTTP headers in a separate file (headers.txt in the example):\n"
-"\n"
-" curl --dump-header headers.txt curl.haxx.se\n"
-"\n"
-" Note that headers stored in a separate file can be very useful at a later\n"
-" time if you want curl to use cookies sent by the server. More about that in\n"
-" the cookies section.\n"
-"\n"
-"POST (HTTP)\n"
-"\n"
-, stdout);
- fputs(
-" It's easy to post data using curl. This is done using the -d <data>\n"
-" option. The post data must be urlencoded.\n"
-"\n"
-" Post a simple \"name\" and \"phone\" guestbook.\n"
-"\n"
-" curl -d \"name=Rafael%20Sagula&phone=3320780\" \\\n"
-" http://www.where.com/guest.cgi\n"
-"\n"
-" How to post a form with curl, lesson #1:\n"
-"\n"
-" Dig out all the <input> tags in the form that you want to fill in. (There's\n"
-" a perl program called formfind.pl on the curl site that helps with this).\n"
-"\n"
-, stdout);
- fputs(
-" If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n"
-" string\", which is in the format\n"
-"\n"
-" <variable1>=<data1>&<variable2>=<data2>&...\n"
-"\n"
-" The 'variable' names are the names set with \"name=\" in the <input> tags, and\n"
-" the data is the contents you want to fill in for the inputs. The data *must*\n"
-" be properly URL encoded. That means you replace space with + and that you\n"
-" write weird letters with %XX where XX is the hexadecimal representation of\n"
-, stdout);
- fputs(
-" the letter's ASCII code.\n"
-"\n"
-" Example:\n"
-"\n"
-" (page located at http://www.formpost.com/getthis/\n"
-"\n"
-" <form action=\"post.cgi\" method=\"post\">\n"
-" <input name=user size=10>\n"
-" <input name=pass type=password size=10>\n"
-" <input name=id type=hidden value=\"blablabla\">\n"
-" <input name=ding value=\"submit\">\n"
-" </form>\n"
-"\n"
-" We want to enter user 'foobar' with password '12345'.\n"
-"\n"
-" To post to this, you enter a curl command line like:\n"
-"\n"
-, stdout);
- fputs(
-" curl -d \"user=foobar&pass=12345&id=blablabla&ding=submit\" (continues)\n"
-" http://www.formpost.com/getthis/post.cgi\n"
-"\n"
-"\n"
-" While -d uses the application/x-www-form-urlencoded mime-type, generally\n"
-" understood by CGI's and similar, curl also supports the more capable\n"
-" multipart/form-data type. This latter type supports things like file upload.\n"
-"\n"
-" -F accepts parameters like -F \"name=contents\". If you want the contents to\n"
-, stdout);
- fputs(
-" be read from a file, use <@filename> as contents. When specifying a file,\n"
-" you can also specify the file content type by appending ';type=<mime type>'\n"
-" to the file name. You can also post the contents of several files in one\n"
-" field. For example, the field name 'coolfiles' is used to send three files,\n"
-" with different content types using the following syntax:\n"
-"\n"
-" curl -F \"coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html\" \\\n"
-" http://www.post.com/postit.cgi\n"
-"\n"
-, stdout);
- fputs(
-" If the content-type is not specified, curl will try to guess from the file\n"
-" extension (it only knows a few), or use the previously specified type (from\n"
-" an earlier file if several files are specified in a list) or else it will\n"
-" using the default type 'text/plain'.\n"
-"\n"
-" Emulate a fill-in form with -F. Let's say you fill in three fields in a\n"
-" form. One field is a file name which to post, one field is your name and one\n"
-, stdout);
- fputs(
-" field is a file description. We want to post the file we have written named\n"
-" \"cooltext.txt\". To let curl do the posting of this data instead of your\n"
-" favourite browser, you have to read the HTML source of the form page and\n"
-" find the names of the input fields. In our example, the input field names\n"
-" are 'file', 'yourname' and 'filedescription'.\n"
-"\n"
-" curl -F \"file=@cooltext.txt\" -F \"yourname=Daniel\" \\\n"
-" -F \"filedescription=Cool text file with cool text inside\" \\\n"
-, stdout);
- fputs(
-" http://www.post.com/postit.cgi\n"
-"\n"
-" To send two files in one post you can do it in two ways:\n"
-"\n"
-" 1. Send multiple files in a single \"field\" with a single field name:\n"
-" \n"
-" curl -F \"pictures=@dog.gif,cat.gif\" \n"
-" \n"
-" 2. Send two fields with two field names: \n"
-"\n"
-" curl -F \"docpicture=@dog.gif\" -F \"catpicture=@cat.gif\" \n"
-"\n"
-" To send a field value literally without interpreting a leading '@'\n"
-" or '<', or an embedded ';type=', use --form-string instead of\n"
-, stdout);
- fputs(
-" -F. This is recommended when the value is obtained from a user or\n"
-" some other unpredictable source. Under these circumstances, using\n"
-" -F instead of --form-string would allow a user to trick curl into\n"
-" uploading a file.\n"
-"\n"
-"REFERRER\n"
-"\n"
-" A HTTP request has the option to include information about which address\n"
-" that referred to actual page. Curl allows you to specify the\n"
-" referrer to be used on the command line. It is especially useful to\n"
-, stdout);
- fputs(
-" fool or trick stupid servers or CGI scripts that rely on that information\n"
-" being available or contain certain data.\n"
-"\n"
-" curl -e www.coolsite.com http://www.showme.com/\n"
-"\n"
-" NOTE: The Referer: [sic] field is defined in the HTTP spec to be a full URL.\n"
-"\n"
-"USER AGENT\n"
-"\n"
-" A HTTP request has the option to include information about the browser\n"
-" that generated the request. Curl allows it to be specified on the command\n"
-" line. It is especially useful to fool or trick stupid servers or CGI\n"
-, stdout);
- fputs(
-" scripts that only accept certain browsers.\n"
-"\n"
-" Example:\n"
-"\n"
-" curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/\n"
-"\n"
-" Other common strings:\n"
-" 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95\n"
-" 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95\n"
-" 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2\n"
-" 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX\n"
-" 'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)' NS for Linux\n"
-"\n"
-, stdout);
- fputs(
-" Note that Internet Explorer tries hard to be compatible in every way:\n"
-" 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95\n"
-"\n"
-" Mozilla is not the only possible User-Agent name:\n"
-" 'Konqueror/1.0' KDE File Manager desktop client\n"
-" 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser\n"
-"\n"
-"COOKIES\n"
-"\n"
-" Cookies are generally used by web servers to keep state information at the\n"
-" client's side. The server sets cookies by sending a response line in the\n"
-, stdout);
- fputs(
-" headers that looks like 'Set-Cookie: <data>' where the data part then\n"
-" typically contains a set of NAME=VALUE pairs (separated by semicolons ';'\n"
-" like \"NAME1=VALUE1; NAME2=VALUE2;\"). The server can also specify for what\n"
-" path the \"cookie\" should be used for (by specifying \"path=value\"), when the\n"
-" cookie should expire (\"expire=DATE\"), for what domain to use it\n"
-" (\"domain=NAME\") and if it should be used on secure connections only\n"
-" (\"secure\").\n"
-"\n"
-, stdout);
- fputs(
-" If you've received a page from a server that contains a header like:\n"
-" Set-Cookie: sessionid=boo123; path=\"/foo\";\n"
-"\n"
-" it means the server wants that first pair passed on when we get anything in\n"
-" a path beginning with \"/foo\".\n"
-"\n"
-" Example, get a page that wants my name passed in a cookie:\n"
-"\n"
-" curl -b \"name=Daniel\" www.sillypage.com\n"
-"\n"
-" Curl also has the ability to use previously received cookies in following\n"
-" sessions. If you get cookies from a server and store them in a file in a\n"
-, stdout);
- fputs(
-" manner similar to:\n"
-"\n"
-" curl --dump-header headers www.example.com\n"
-"\n"
-" ... you can then in a second connect to that (or another) site, use the\n"
-" cookies from the 'headers' file like:\n"
-"\n"
-" curl -b headers www.example.com\n"
-"\n"
-" While saving headers to a file is a working way to store cookies, it is\n"
-" however error-prone and not the preferred way to do this. Instead, make curl\n"
-" save the incoming cookies using the well-known netscape cookie format like\n"
-" this:\n"
-"\n"
-, stdout);
- fputs(
-" curl -c cookies.txt www.example.com\n"
-"\n"
-" Note that by specifying -b you enable the \"cookie awareness\" and with -L\n"
-" you can make curl follow a location: (which often is used in combination\n"
-" with cookies). So that if a site sends cookies and a location, you can\n"
-" use a non-existing file to trigger the cookie awareness like:\n"
-"\n"
-" curl -L -b empty.txt www.example.com\n"
-"\n"
-" The file to read cookies from must be formatted using plain HTTP headers OR\n"
-, stdout);
- fputs(
-" as netscape's cookie file. Curl will determine what kind it is based on the\n"
-" file contents. In the above command, curl will parse the header and store\n"
-" the cookies received from www.example.com. curl will send to the server the\n"
-" stored cookies which match the request as it follows the location. The\n"
-" file \"empty.txt\" may be a nonexistent file.\n"
-"\n"
-" Alas, to both read and write cookies from a netscape cookie file, you can\n"
-" set both -b and -c to use the same file:\n"
-"\n"
-, stdout);
- fputs(
-" curl -b cookies.txt -c cookies.txt www.example.com\n"
-"\n"
-"PROGRESS METER\n"
-"\n"
-" The progress meter exists to show a user that something actually is\n"
-" happening. The different fields in the output have the following meaning:\n"
-"\n"
-" % Total % Received % Xferd Average Speed Time Curr.\n"
-" Dload Upload Total Current Left Speed\n"
-" 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287\n"
-"\n"
-" From left-to-right:\n"
-, stdout);
- fputs(
-" % - percentage completed of the whole transfer\n"
-" Total - total size of the whole expected transfer\n"
-" % - percentage completed of the download\n"
-" Received - currently downloaded amount of bytes\n"
-" % - percentage completed of the upload\n"
-" Xferd - currently uploaded amount of bytes\n"
-" Average Speed\n"
-" Dload - the average transfer speed of the download\n"
-" Average Speed\n"
-" Upload - the average transfer speed of the upload\n"
-, stdout);
- fputs(
-" Time Total - expected time to complete the operation\n"
-" Time Current - time passed since the invoke\n"
-" Time Left - expected time left to completion\n"
-" Curr.Speed - the average transfer speed the last 5 seconds (the first\n"
-" 5 seconds of a transfer is based on less time of course.)\n"
-"\n"
-" The -# option will display a totally different progress bar that doesn't\n"
-" need much explanation!\n"
-"\n"
-"SPEED LIMIT\n"
-"\n"
-, stdout);
- fputs(
-" Curl allows the user to set the transfer speed conditions that must be met\n"
-" to let the transfer keep going. By using the switch -y and -Y you\n"
-" can make curl abort transfers if the transfer speed is below the specified\n"
-" lowest limit for a specified time.\n"
-"\n"
-" To have curl abort the download if the speed is slower than 3000 bytes per\n"
-" second for 1 minute, run:\n"
-"\n"
-" curl -Y 3000 -y 60 www.far-away-site.com\n"
-"\n"
-" This can very well be used in combination with the overall time limit, so\n"
-, stdout);
- fputs(
-" that the above operation must be completed in whole within 30 minutes:\n"
-"\n"
-" curl -m 1800 -Y 3000 -y 60 www.far-away-site.com\n"
-"\n"
-" Forcing curl not to transfer data faster than a given rate is also possible,\n"
-" which might be useful if you're using a limited bandwidth connection and you\n"
-" don't want your transfer to use all of it (sometimes referred to as\n"
-" \"bandwidth throttle\").\n"
-"\n"
-" Make curl transfer data no faster than 10 kilobytes per second:\n"
-"\n"
-, stdout);
- fputs(
-" curl --limit-rate 10K www.far-away-site.com\n"
-"\n"
-" or\n"
-"\n"
-" curl --limit-rate 10240 www.far-away-site.com\n"
-"\n"
-" Or prevent curl from uploading data faster than 1 megabyte per second:\n"
-"\n"
-" curl -T upload --limit-rate 1M ftp://uploadshereplease.com\n"
-"\n"
-" When using the --limit-rate option, the transfer rate is regulated on a\n"
-" per-second basis, which will cause the total transfer speed to become lower\n"
-" than the given number. Sometimes of course substantially lower, if your\n"
-, stdout);
- fputs(
-" transfer stalls during periods.\n"
-"\n"
-"CONFIG FILE\n"
-"\n"
-" Curl automatically tries to read the .curlrc file (or _curlrc file on win32\n"
-" systems) from the user's home dir on startup.\n"
-"\n"
-" The config file could be made up with normal command line switches, but you\n"
-" can also specify the long options without the dashes to make it more\n"
-" readable. You can separate the options and the parameter with spaces, or\n"
-" with = or :. Comments can be used within the file. If the first letter on a\n"
-, stdout);
- fputs(
-" line is a '#'-letter the rest of the line is treated as a comment.\n"
-"\n"
-" If you want the parameter to contain spaces, you must enclose the entire\n"
-" parameter within double quotes (\"). Within those quotes, you specify a\n"
-" quote as \\\".\n"
-"\n"
-" NOTE: You must specify options and their arguments on the same line.\n"
-"\n"
-" Example, set default time out and proxy in a config file:\n"
-"\n"
-" # We want a 30 minute timeout:\n"
-" -m 1800\n"
-" # ... and we use a proxy for all accesses:\n"
-, stdout);
- fputs(
-" proxy = proxy.our.domain.com:8080\n"
-"\n"
-" White spaces ARE significant at the end of lines, but all white spaces\n"
-" leading up to the first characters of each line are ignored.\n"
-"\n"
-" Prevent curl from reading the default file by using -q as the first command\n"
-" line parameter, like:\n"
-"\n"
-" curl -q www.thatsite.com\n"
-"\n"
-" Force curl to get and display a local help page in case it is invoked\n"
-" without URL by making a config file similar to:\n"
-"\n"
-" # default url to get\n"
-, stdout);
- fputs(
-" url = \"http://help.with.curl.com/curlhelp.html\"\n"
-"\n"
-" You can specify another config file to be read by using the -K/--config\n"
-" flag. If you set config file name to \"-\" it'll read the config from stdin,\n"
-" which can be handy if you want to hide options from being visible in process\n"
-" tables etc:\n"
-"\n"
-" echo \"user = user:passwd\" | curl -K - http://that.secret.site.com\n"
-"\n"
-"EXTRA HEADERS\n"
-"\n"
-" When using curl in your own very special programs, you may end up needing\n"
-, stdout);
- fputs(
-" to pass on your own custom headers when getting a web page. You can do\n"
-" this by using the -H flag.\n"
-"\n"
-" Example, send the header \"X-you-and-me: yes\" to the server when getting a\n"
-" page:\n"
-"\n"
-" curl -H \"X-you-and-me: yes\" www.love.com\n"
-"\n"
-" This can also be useful in case you want curl to send a different text in a\n"
-" header than it normally does. The -H header you specify then replaces the\n"
-" header curl would normally send. If you replace an internal header with an\n"
-, stdout);
- fputs(
-" empty one, you prevent that header from being sent. To prevent the Host:\n"
-" header from being used:\n"
-"\n"
-" curl -H \"Host:\" www.server.com\n"
-"\n"
-"FTP and PATH NAMES\n"
-"\n"
-" Do note that when getting files with the ftp:// URL, the given path is\n"
-" relative the directory you enter. To get the file 'README' from your home\n"
-" directory at your ftp site, do:\n"
-"\n"
-" curl ftp://user:passwd@my.site.com/README\n"
-"\n"
-" But if you want the README file from the root directory of that very same\n"
-, stdout);
- fputs(
-" site, you need to specify the absolute file name:\n"
-"\n"
-" curl ftp://user:passwd@my.site.com//README\n"
-"\n"
-" (I.e with an extra slash in front of the file name.)\n"
-"\n"
-"SFTP and SCP and PATH NAMES\n"
-"\n"
-" With sftp: and scp: URLs, the path name given is the absolute name on the\n"
-" server. To access a file relative to the remote user's home directory,\n"
-" prefix the file with /~/ , such as:\n"
-"\n"
-" curl -u $USER sftp://home.example.com/~/.bashrc\n"
-"\n"
-"FTP and firewalls\n"
-"\n"
-, stdout);
- fputs(
-" The FTP protocol requires one of the involved parties to open a second\n"
-" connection as soon as data is about to get transfered. There are two ways to\n"
-" do this.\n"
-"\n"
-" The default way for curl is to issue the PASV command which causes the\n"
-" server to open another port and await another connection performed by the\n"
-" client. This is good if the client is behind a firewall that don't allow\n"
-" incoming connections.\n"
-"\n"
-" curl ftp.download.com\n"
-"\n"
-, stdout);
- fputs(
-" If the server for example, is behind a firewall that don't allow connections\n"
-" on other ports than 21 (or if it just doesn't support the PASV command), the\n"
-" other way to do it is to use the PORT command and instruct the server to\n"
-" connect to the client on the given (as parameters to the PORT command) IP\n"
-" number and port.\n"
-"\n"
-" The -P flag to curl supports a few different options. Your machine may have\n"
-" several IP-addresses and/or network interfaces and curl allows you to select\n"
-, stdout);
- fputs(
-" which of them to use. Default address can also be used:\n"
-"\n"
-" curl -P - ftp.download.com\n"
-"\n"
-" Download with PORT but use the IP address of our 'le0' interface (this does\n"
-" not work on windows):\n"
-"\n"
-" curl -P le0 ftp.download.com\n"
-"\n"
-" Download with PORT but use 192.168.0.10 as our IP address to use:\n"
-"\n"
-" curl -P 192.168.0.10 ftp.download.com\n"
-"\n"
-"NETWORK INTERFACE\n"
-"\n"
-" Get a web page from a server using a specified port for the interface:\n"
-"\n"
-, stdout);
- fputs(
-" curl --interface eth0:1 http://www.netscape.com/\n"
-"\n"
-" or\n"
-"\n"
-" curl --interface 192.168.1.10 http://www.netscape.com/\n"
-"\n"
-"HTTPS\n"
-"\n"
-" Secure HTTP requires SSL libraries to be installed and used when curl is\n"
-" built. If that is done, curl is capable of retrieving and posting documents\n"
-" using the HTTPS protocol.\n"
-"\n"
-" Example:\n"
-"\n"
-" curl https://www.secure-site.com\n"
-"\n"
-" Curl is also capable of using your personal certificates to get/post files\n"
-, stdout);
- fputs(
-" from sites that require valid certificates. The only drawback is that the\n"
-" certificate needs to be in PEM-format. PEM is a standard and open format to\n"
-" store certificates with, but it is not used by the most commonly used\n"
-" browsers (Netscape and MSIE both use the so called PKCS#12 format). If you\n"
-" want curl to use the certificates you use with your (favourite) browser, you\n"
-" may need to download/compile a converter that can convert your browser's\n"
-, stdout);
- fputs(
-" formatted certificates to PEM formatted ones. This kind of converter is\n"
-" included in recent versions of OpenSSL, and for older versions Dr Stephen\n"
-" N. Henson has written a patch for SSLeay that adds this functionality. You\n"
-" can get his patch (that requires an SSLeay installation) from his site at:\n"
-" http://www.drh-consultancy.demon.co.uk/\n"
-"\n"
-" Example on how to automatically retrieve a document using a certificate with\n"
-" a personal password:\n"
-"\n"
-, stdout);
- fputs(
-" curl -E /path/to/cert.pem:password https://secure.site.com/\n"
-"\n"
-" If you neglect to specify the password on the command line, you will be\n"
-" prompted for the correct password before any data can be received.\n"
-"\n"
-" Many older SSL-servers have problems with SSLv3 or TLS, that newer versions\n"
-" of OpenSSL etc is using, therefore it is sometimes useful to specify what\n"
-" SSL-version curl should use. Use -3, -2 or -1 to specify that exact SSL\n"
-" version to use (for SSLv3, SSLv2 or TLSv1 respectively):\n"
-, stdout);
- fputs(
-"\n"
-" curl -2 https://secure.site.com/\n"
-"\n"
-" Otherwise, curl will first attempt to use v3 and then v2.\n"
-"\n"
-" To use OpenSSL to convert your favourite browser's certificate into a PEM\n"
-" formatted one that curl can use, do something like this (assuming netscape,\n"
-" but IE is likely to work similarly):\n"
-"\n"
-" You start with hitting the 'security' menu button in netscape. \n"
-"\n"
-" Select 'certificates->yours' and then pick a certificate in the list \n"
-"\n"
-" Press the 'export' button \n"
-"\n"
-, stdout);
- fputs(
-" enter your PIN code for the certs \n"
-"\n"
-" select a proper place to save it \n"
-"\n"
-" Run the 'openssl' application to convert the certificate. If you cd to the\n"
-" openssl installation, you can do it like:\n"
-"\n"
-" # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile]\n"
-"\n"
-"\n"
-"RESUMING FILE TRANSFERS\n"
-"\n"
-" To continue a file transfer where it was previously aborted, curl supports\n"
-" resume on http(s) downloads as well as ftp uploads and downloads.\n"
-"\n"
-" Continue downloading a document:\n"
-"\n"
-, stdout);
- fputs(
-" curl -C - -o file ftp://ftp.server.com/path/file\n"
-"\n"
-" Continue uploading a document(*1):\n"
-"\n"
-" curl -C - -T file ftp://ftp.server.com/path/file\n"
-"\n"
-" Continue downloading a document from a web server(*2):\n"
-"\n"
-" curl -C - -o file http://www.server.com/\n"
-"\n"
-" (*1) = This requires that the ftp server supports the non-standard command\n"
-" SIZE. If it doesn't, curl will say so.\n"
-"\n"
-" (*2) = This requires that the web server supports at least HTTP/1.1. If it\n"
-" doesn't, curl will say so.\n"
-"\n"
-, stdout);
- fputs(
-"TIME CONDITIONS\n"
-"\n"
-" HTTP allows a client to specify a time condition for the document it\n"
-" requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to\n"
-" specify them with the -z/--time-cond flag.\n"
-"\n"
-" For example, you can easily make a download that only gets performed if the\n"
-" remote file is newer than a local copy. It would be made like:\n"
-"\n"
-" curl -z local.html http://remote.server.com/remote.html\n"
-"\n"
-" Or you can download a file only if the local file is newer than the remote\n"
-, stdout);
- fputs(
-" one. Do this by prepending the date string with a '-', as in:\n"
-"\n"
-" curl -z -local.html http://remote.server.com/remote.html\n"
-"\n"
-" You can specify a \"free text\" date as condition. Tell curl to only download\n"
-" the file if it was updated since January 12, 2012:\n"
-"\n"
-" curl -z \"Jan 12 2012\" http://remote.server.com/remote.html\n"
-"\n"
-" Curl will then accept a wide range of date formats. You always make the date\n"
-" check the other way around by prepending it with a dash '-'.\n"
-"\n"
-"DICT\n"
-"\n"
-" For fun try\n"
-"\n"
-, stdout);
- fputs(
-" curl dict://dict.org/m:curl\n"
-" curl dict://dict.org/d:heisenbug:jargon\n"
-" curl dict://dict.org/d:daniel:web1913\n"
-"\n"
-" Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'\n"
-" and 'lookup'. For example,\n"
-"\n"
-" curl dict://dict.org/find:curl\n"
-"\n"
-" Commands that break the URL description of the RFC (but not the DICT\n"
-" protocol) are\n"
-"\n"
-" curl dict://dict.org/show:db\n"
-" curl dict://dict.org/show:strat\n"
-"\n"
-, stdout);
- fputs(
-" Authentication is still missing (but this is not required by the RFC)\n"
-"\n"
-"LDAP\n"
-"\n"
-" If you have installed the OpenLDAP library, curl can take advantage of it\n"
-" and offer ldap:// support.\n"
-"\n"
-" LDAP is a complex thing and writing an LDAP query is not an easy task. I do\n"
-" advice you to dig up the syntax description for that elsewhere. Two places\n"
-" that might suit you are:\n"
-"\n"
-" Netscape's \"Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10:\n"
-" Working with LDAP URLs\":\n"
-, stdout);
- fputs(
-" http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm\n"
-"\n"
-" RFC 2255, \"The LDAP URL Format\" http://curl.haxx.se/rfc/rfc2255.txt\n"
-"\n"
-" To show you an example, this is now I can get all people from my local LDAP\n"
-" server that has a certain sub-domain in their email address:\n"
-"\n"
-" curl -B \"ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se\"\n"
-"\n"
-" If I want the same info in HTML format, I can get it by not using the -B\n"
-" (enforce ASCII) flag.\n"
-"\n"
-"ENVIRONMENT VARIABLES\n"
-"\n"
-, stdout);
- fputs(
-" Curl reads and understands the following environment variables:\n"
-"\n"
-" http_proxy, HTTPS_PROXY, FTP_PROXY\n"
-"\n"
-" They should be set for protocol-specific proxies. General proxy should be\n"
-" set with\n"
-" \n"
-" ALL_PROXY\n"
-"\n"
-" A comma-separated list of host names that shouldn't go through any proxy is\n"
-" set in (only an asterisk, '*' matches all hosts)\n"
-"\n"
-" NO_PROXY\n"
-"\n"
-" If a tail substring of the domain-path for a host matches one of these\n"
-, stdout);
- fputs(
-" strings, transactions with that node will not be proxied.\n"
-"\n"
-"\n"
-" The usage of the -x/--proxy flag overrides the environment variables.\n"
-"\n"
-"NETRC\n"
-"\n"
-" Unix introduced the .netrc concept a long time ago. It is a way for a user\n"
-" to specify name and password for commonly visited ftp sites in a file so\n"
-" that you don't have to type them in each time you visit those sites. You\n"
-" realize this is a big security risk if someone else gets hold of your\n"
-, stdout);
- fputs(
-" passwords, so therefore most unix programs won't read this file unless it is\n"
-" only readable by yourself (curl doesn't care though).\n"
-"\n"
-" Curl supports .netrc files if told so (using the -n/--netrc and\n"
-" --netrc-optional options). This is not restricted to only ftp,\n"
-" but curl can use it for all protocols where authentication is used.\n"
-"\n"
-" A very simple .netrc file could look something like:\n"
-"\n"
-" machine curl.haxx.se login iamdaniel password mysecret\n"
-"\n"
-"CUSTOM OUTPUT\n"
-"\n"
-, stdout);
- fputs(
-" To better allow script programmers to get to know about the progress of\n"
-" curl, the -w/--write-out option was introduced. Using this, you can specify\n"
-" what information from the previous transfer you want to extract.\n"
-"\n"
-" To display the amount of bytes downloaded together with some text and an\n"
-" ending newline:\n"
-"\n"
-" curl -w 'We downloaded %{size_download} bytes\\n' www.download.com\n"
-"\n"
-"KERBEROS FTP TRANSFER\n"
-"\n"
-" Curl supports kerberos4 and kerberos5/GSSAPI for FTP transfers. You need\n"
-, stdout);
- fputs(
-" the kerberos package installed and used at curl build time for it to be\n"
-" used.\n"
-"\n"
-" First, get the krb-ticket the normal way, like with the kinit/kauth tool.\n"
-" Then use curl in way similar to:\n"
-"\n"
-" curl --krb private ftp://krb4site.com -u username:fakepwd\n"
-"\n"
-" There's no use for a password on the -u switch, but a blank one will make\n"
-" curl ask for one and you already entered the real password to kinit/kauth.\n"
-"\n"
-"TELNET\n"
-"\n"
-, stdout);
- fputs(
-" The curl telnet support is basic and very easy to use. Curl passes all data\n"
-" passed to it on stdin to the remote server. Connect to a remote telnet\n"
-" server using a command line similar to:\n"
-"\n"
-" curl telnet://remote.server.com\n"
-"\n"
-" And enter the data to pass to the server on stdin. The result will be sent\n"
-" to stdout or to the file you specify with -o.\n"
-"\n"
-" You might want the -N/--no-buffer option to switch off the buffered output\n"
-" for slow connections or similar.\n"
-"\n"
-, stdout);
- fputs(
-" Pass options to the telnet protocol negotiation, by using the -t option. To\n"
-" tell the server we use a vt100 terminal, try something like:\n"
-"\n"
-" curl -tTTYPE=vt100 telnet://remote.server.com\n"
-"\n"
-" Other interesting options for it -t include:\n"
-"\n"
-" - XDISPLOC=<X display> Sets the X display location.\n"
-"\n"
-" - NEW_ENV=<var,val> Sets an environment variable.\n"
-"\n"
-" NOTE: the telnet protocol does not specify any way to login with a specified\n"
-, stdout);
- fputs(
-" user and password so curl can't do that automatically. To do that, you need\n"
-" to track when the login prompt is received and send the username and\n"
-" password accordingly.\n"
-"\n"
-"PERSISTENT CONNECTIONS\n"
-"\n"
-" Specifying multiple files on a single command line will make curl transfer\n"
-" all of them, one after the other in the specified order.\n"
-"\n"
-" libcurl will attempt to use persistent connections for the transfers so that\n"
-" the second transfer to the same host can use the same connection that was\n"
-, stdout);
- fputs(
-" already initiated and was left open in the previous transfer. This greatly\n"
-" decreases connection time for all but the first transfer and it makes a far\n"
-" better use of the network.\n"
-"\n"
-" Note that curl cannot use persistent connections for transfers that are used\n"
-" in subsequence curl invokes. Try to stuff as many URLs as possible on the\n"
-" same command line if they are using the same host, as that'll make the\n"
-" transfers faster. If you use a http proxy for file transfers, practically\n"
-, stdout);
- fputs(
-" all transfers will be persistent.\n"
-"\n"
-"MULTIPLE TRANSFERS WITH A SINGLE COMMAND LINE\n"
-"\n"
-" As is mentioned above, you can download multiple files with one command line\n"
-" by simply adding more URLs. If you want those to get saved to a local file\n"
-" instead of just printed to stdout, you need to add one save option for each\n"
-" URL you specify. Note that this also goes for the -O option (but not\n"
-" --remote-name-all).\n"
-"\n"
-" For example: get two files and use -O for the first and a custom file\n"
-, stdout);
- fputs(
-" name for the second:\n"
-"\n"
-" curl -O http://url.com/file.txt ftp://ftp.com/moo.exe -o moo.jpg\n"
-"\n"
-" You can also upload multiple files in a similar fashion:\n"
-"\n"
-" curl -T local1 ftp://ftp.com/moo.exe -T local2 ftp://ftp.com/moo2.txt\n"
-"\n"
-"IPv6\n"
-"\n"
-" curl will connect to a server with IPv6 when a host lookup returns an IPv6\n"
-" address and fall back to IPv4 if the connection fails. The --ipv4 and --ipv6\n"
-" options can specify which address to use when both are available. IPv6\n"
-, stdout);
- fputs(
-" addresses can also be specified directly in URLs using the syntax:\n"
-"\n"
-" http://[2001:1890:1112:1::20]/overview.html\n"
-"\n"
-" When this style is used, the -g option must be given to stop curl from\n"
-" interpreting the square brackets as special globbing characters. Link local\n"
-" and site local addresses including a scope identifier, such as fe80::1234%1,\n"
-" may also be used, but the scope portion must be numeric and the percent\n"
-" character must be URL escaped. The previous example in an SFTP URL might\n"
-, stdout);
- fputs(
-" look like:\n"
-"\n"
-" sftp://[fe80::1234%251]/\n"
-"\n"
-" IPv6 addresses provided other than in URLs (e.g. to the --proxy, --interface\n"
-" or --ftp-port options) should not be URL encoded.\n"
-"\n"
-"\n"
-"MAILING LISTS\n"
-"\n"
-" For your convenience, we have several open mailing lists to discuss curl,\n"
-" its development and things relevant to this. Get all info at\n"
-" http://curl.haxx.se/mail/. Some of the lists available are:\n"
-"\n"
-" curl-users\n"
-"\n"
-" Users of the command line tool. How to use it, what doesn't work, new\n"
-, stdout);
- fputs(
-" features, related tools, questions, news, installations, compilations,\n"
-" running, porting etc.\n"
-"\n"
-" curl-library\n"
-"\n"
-" Developers using or developing libcurl. Bugs, extensions, improvements.\n"
-"\n"
-" curl-announce\n"
-"\n"
-" Low-traffic. Only receives announcements of new public versions. At worst,\n"
-" that makes something like one or two mails per month, but usually only one\n"
-" mail every second month.\n"
-"\n"
-" curl-and-php\n"
-"\n"
-" Using the curl functions in PHP. Everything curl with a PHP angle. Or PHP\n"
-, stdout);
- fputs(
-" with a curl angle.\n"
-"\n"
-" curl-and-python\n"
-"\n"
-" Python hackers using curl with or without the python binding pycurl.\n"
-"\n"
-" Please direct curl questions, feature requests and trouble reports to one of\n"
-" these mailing lists instead of mailing any individual.\n"
-, stdout) ;
-}
-#endif /* USE_MANUAL */
-#else
-/*
- * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
- * Generation time: Fri Aug 22 10:00:29 2008
- */
-#include "setup.h"
-#ifdef USE_MANUAL
-#include "hugehelp.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <zlib.h>
-static const unsigned char hugehelpgz[] = {
- /* This mumbo-jumbo is the huge help text compressed with gzip.
- Thanks to this operation, the size of this data shrunk from 123812
- to 38358 bytes. You can disable the use of compressed help
- texts by NOT passing -c to the mkhelp.pl tool. */
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd,
- 0x69, 0x5b, 0x23, 0x57, 0xb2, 0x2e, 0xfa, 0xf9, 0xf2, 0x2b, 0xb2, 0xe5,
- 0xeb, 0x16, 0x74, 0x4b, 0x62, 0xa8, 0x2a, 0xdb, 0x45, 0x57, 0xb9, 0x8d,
- 0x81, 0xb2, 0x39, 0xa6, 0x80, 0x83, 0x28, 0x0f, 0xc7, 0xf6, 0x53, 0x4f,
- 0x4a, 0x4a, 0x20, 0x1b, 0x49, 0xa9, 0xce, 0x4c, 0x31, 0xb8, 0x77, 0xef,
- 0xdf, 0x7e, 0x23, 0xde, 0x88, 0x58, 0x6b, 0xe5, 0x20, 0x28, 0x77, 0xdb,
- 0x67, 0x9f, 0xe1, 0x7a, 0xef, 0x2e, 0x40, 0xca, 0x5c, 0x63, 0xac, 0x58,
- 0x31, 0xbe, 0x11, 0x45, 0x4f, 0xfd, 0xf7, 0x1e, 0xff, 0x7b, 0x4f, 0xff,
- 0xc9, 0xef, 0x51, 0xb4, 0x16, 0x45, 0x67, 0x79, 0xf6, 0xb7, 0x64, 0x5c,
- 0xb6, 0xbf, 0xf0, 0xfe, 0xfd, 0x7f, 0x44, 0xf2, 0x7f, 0xf4, 0xc2, 0x4f,
- 0xf8, 0x89, 0x97, 0x1e, 0xf9, 0x6f, 0x33, 0xf2, 0x2f, 0xfd, 0xc7, 0xfb,
- 0x8d, 0xe8, 0x43, 0x5e, 0xfa, 0x8f, 0x68, 0x1d, 0x2f, 0xbd, 0xd7, 0x9e,
- 0x5e, 0xf1, 0xef, 0x34, 0xca, 0xc7, 0x7b, 0xfa, 0x89, 0x87, 0xc7, 0xff,
- 0x6c, 0xf2, 0x8b, 0x3f, 0xbd, 0xe7, 0x5f, 0xe9, 0x93, 0xb5, 0xb5, 0x93,
- 0xbd, 0xb7, 0x87, 0xf6, 0xea, 0x78, 0x99, 0x4f, 0xa3, 0x7e, 0x54, 0xe6,
- 0xf1, 0xbc, 0xb8, 0x4c, 0xf2, 0x28, 0x8e, 0xde, 0x9d, 0x1f, 0xaf, 0xad,
- 0x0d, 0x7f, 0x38, 0x39, 0x3d, 0x1b, 0x1e, 0x0d, 0x2b, 0x8f, 0xfd, 0x98,
- 0x2d, 0xca, 0x34, 0x9b, 0x17, 0x3f, 0x47, 0x3f, 0xd2, 0x43, 0x83, 0xc1,
- 0xe0, 0xe7, 0xb5, 0xb5, 0x83, 0xc3, 0xe1, 0xfe, 0xf9, 0xd1, 0xd9, 0xc5,
- 0xd1, 0xe9, 0x49, 0xe5, 0xd9, 0x28, 0x2d, 0x22, 0x6a, 0xac, 0xcc, 0xb2,
- 0x29, 0xfd, 0xe3, 0xdb, 0x9f, 0xc4, 0x65, 0x1c, 0x5d, 0xe6, 0xd9, 0x2c,
- 0xca, 0x72, 0xfe, 0x22, 0x8e, 0x8a, 0x24, 0xbf, 0x4d, 0xf2, 0x5e, 0xb4,
- 0x2c, 0xd2, 0xf9, 0x55, 0x94, 0xcd, 0x93, 0x28, 0xbb, 0x8c, 0xca, 0xeb,
- 0xc4, 0x9a, 0x2b, 0x96, 0x8b, 0x45, 0x96, 0x97, 0xc9, 0x24, 0x5a, 0xe4,
- 0x59, 0x99, 0x8d, 0xb3, 0x69, 0x11, 0xad, 0x7f, 0x7d, 0x71, 0x71, 0xd6,
- 0x8b, 0xf8, 0xdf, 0x61, 0x2f, 0x7a, 0xc3, 0xbf, 0xbf, 0xc1, 0xaf, 0xd1,
- 0x70, 0xff, 0x8c, 0xff, 0xc5, 0x47, 0xd1, 0x85, 0xfc, 0x38, 0x38, 0xda,
- 0xbf, 0xe8, 0x59, 0x73, 0x17, 0x87, 0xc7, 0x27, 0x87, 0x17, 0xf4, 0xe9,
- 0xf1, 0xc1, 0xde, 0x59, 0xc4, 0xa3, 0x88, 0xde, 0x1c, 0x1d, 0x1f, 0x6e,
- 0x0c, 0xe8, 0xab, 0xeb, 0x24, 0x1a, 0x67, 0xb3, 0x59, 0x3c, 0x9f, 0xf0,
- 0xf0, 0x27, 0x49, 0x91, 0x5e, 0xcd, 0xa9, 0x5f, 0x1a, 0xe6, 0x5d, 0x96,
- 0xdf, 0x44, 0x77, 0x69, 0x79, 0x9d, 0x2d, 0x4b, 0x1a, 0x69, 0x92, 0x5b,
- 0x73, 0xe9, 0xbc, 0x4c, 0xf2, 0x78, 0xcc, 0xeb, 0x32, 0x58, 0xab, 0xac,
- 0x40, 0x76, 0x49, 0xf3, 0x2d, 0x68, 0x82, 0xa3, 0x65, 0x31, 0xcd, 0xe2,
- 0x09, 0x4f, 0x8b, 0xde, 0xbc, 0x5c, 0xd2, 0x82, 0xe4, 0xe9, 0xf8, 0xa6,
- 0x88, 0xa6, 0xe9, 0x4d, 0xc2, 0x93, 0xba, 0x7f, 0xb0, 0x49, 0xf6, 0xd0,
- 0x76, 0x14, 0x2f, 0x69, 0xfe, 0xf3, 0xbe, 0x35, 0x57, 0xa6, 0xe3, 0x98,
- 0x3b, 0xa0, 0x41, 0x5f, 0x96, 0x8b, 0x68, 0xb9, 0xe0, 0xe6, 0x64, 0xf6,
- 0xd1, 0x22, 0x2b, 0xe8, 0xad, 0xe1, 0xf0, 0x98, 0x46, 0x3e, 0x9f, 0x27,
- 0x18, 0x48, 0xd1, 0xa3, 0x3f, 0xb2, 0x9b, 0x34, 0xa1, 0x5f, 0x2e, 0xd3,
- 0x69, 0x22, 0xab, 0xef, 0x9a, 0xe3, 0x6d, 0xc8, 0x93, 0x62, 0x39, 0x4b,
- 0x22, 0x9e, 0xe9, 0x2c, 0xcb, 0x93, 0x41, 0xb4, 0x57, 0x44, 0x0f, 0xd9,
- 0x92, 0xa6, 0x38, 0x9d, 0xd2, 0x8e, 0x24, 0xd1, 0x28, 0x99, 0x66, 0x77,
- 0x3d, 0xde, 0x87, 0x68, 0xbe, 0x9c, 0x8d, 0xe8, 0x15, 0x1a, 0xfe, 0x65,
- 0x12, 0x97, 0x4b, 0x7a, 0x15, 0x8f, 0x59, 0x73, 0xb3, 0x98, 0x66, 0x41,
- 0xef, 0xe6, 0xd1, 0x75, 0x42, 0xb3, 0x2c, 0x16, 0xe9, 0xfc, 0x0f, 0x6b,
- 0x4d, 0x5a, 0x58, 0x64, 0x77, 0x49, 0x4e, 0x8b, 0x19, 0x8d, 0x1e, 0x22,
- 0x9a, 0xf9, 0x48, 0xbe, 0xb9, 0xe4, 0xf5, 0x8f, 0xa7, 0x53, 0x47, 0x20,
- 0xfd, 0x3c, 0x99, 0xc6, 0xbc, 0xd9, 0xd6, 0xd7, 0x20, 0x1a, 0x26, 0x8e,
- 0x16, 0xf4, 0xbd, 0xf5, 0x67, 0x1b, 0x78, 0x73, 0x92, 0x94, 0x71, 0x3a,
- 0x2d, 0x68, 0xe1, 0x99, 0x68, 0x6d, 0x83, 0x69, 0xc8, 0xf4, 0x67, 0x54,
- 0x3c, 0xcc, 0xcb, 0xf8, 0x9e, 0xfb, 0x36, 0xba, 0xa1, 0xe7, 0x17, 0xc9,
- 0x7c, 0x92, 0xcc, 0xcb, 0x41, 0xf4, 0x43, 0xb6, 0xec, 0x52, 0xb7, 0x97,
- 0x29, 0xad, 0x40, 0x1c, 0x69, 0x4b, 0x3c, 0x3c, 0xda, 0xf5, 0x71, 0x9e,
- 0x2e, 0x82, 0xc5, 0xcf, 0xe6, 0xb4, 0xcb, 0xd1, 0xf9, 0x9b, 0xfd, 0xe8,
- 0xd9, 0xcb, 0xcf, 0x3e, 0xf1, 0xbb, 0x4c, 0x4d, 0xd0, 0x04, 0xe3, 0x39,
- 0x91, 0xe8, 0x22, 0x19, 0xa7, 0x97, 0x34, 0xaf, 0xd9, 0x72, 0x5a, 0xa6,
- 0x0b, 0x5a, 0x71, 0x1e, 0x41, 0xc1, 0xc4, 0xb5, 0x88, 0xf3, 0xb2, 0xe0,
- 0xb5, 0xc3, 0x07, 0x34, 0xf7, 0xbb, 0x3c, 0x2d, 0x99, 0xd0, 0xf9, 0x0b,
- 0x5a, 0xe9, 0xb2, 0xb0, 0xe6, 0x98, 0xba, 0xa8, 0x9f, 0x11, 0x51, 0x13,
- 0xad, 0x70, 0x5c, 0x50, 0xa7, 0xbb, 0xae, 0xaf, 0xe8, 0xba, 0x2c, 0x17,
- 0xbb, 0x9b, 0x9b, 0x45, 0x5a, 0x26, 0x83, 0x7f, 0xd0, 0x21, 0xe9, 0x95,
- 0x77, 0x59, 0xaf, 0xbc, 0xce, 0x93, 0xe4, 0x9f, 0x03, 0xa2, 0x59, 0xf7,
- 0x20, 0x75, 0xc9, 0xfb, 0xc8, 0xc3, 0xba, 0x4a, 0xb8, 0x83, 0xbf, 0x2f,
- 0x93, 0x39, 0x37, 0x48, 0x43, 0x88, 0xa7, 0x8b, 0xeb, 0x98, 0x76, 0x33,
- 0x21, 0xf2, 0xe3, 0x63, 0x47, 0x04, 0xc2, 0x23, 0x92, 0x83, 0xf7, 0xe3,
- 0xcf, 0x8d, 0x3e, 0x2f, 0xd1, 0x25, 0xfd, 0x3b, 0xd0, 0x97, 0x62, 0x5a,
- 0x6b, 0xea, 0x6c, 0x93, 0x89, 0xea, 0xc7, 0xed, 0xfe, 0xf6, 0xd6, 0xd6,
- 0xcf, 0x83, 0xf2, 0xbe, 0xfc, 0xc0, 0x17, 0xb6, 0xb6, 0xfc, 0x2b, 0xfc,
- 0xf4, 0x3a, 0xcf, 0x38, 0x9a, 0x12, 0xd1, 0x70, 0xff, 0xbf, 0x24, 0x79,
- 0x56, 0x6c, 0xb4, 0x34, 0x35, 0x4d, 0x4a, 0x3a, 0x62, 0x41, 0x3b, 0x71,
- 0xff, 0x17, 0xe9, 0xd6, 0x1e, 0x3e, 0xc9, 0xa2, 0x79, 0x52, 0x60, 0x55,
- 0x85, 0x75, 0x04, 0xd3, 0xa6, 0xed, 0xf7, 0x0c, 0x24, 0x2e, 0xf1, 0xed,
- 0x2c, 0x9b, 0x11, 0x0d, 0xf4, 0xe8, 0x60, 0x96, 0x6e, 0xb1, 0xe8, 0xdc,
- 0x39, 0x86, 0x93, 0x10, 0x3f, 0x8a, 0xa7, 0xcc, 0x8a, 0x0a, 0x6a, 0x98,
- 0x06, 0x4b, 0x0c, 0x20, 0x89, 0xc7, 0xd7, 0x51, 0x46, 0x6f, 0xe7, 0xcd,
- 0x4d, 0x89, 0xe7, 0x0f, 0x83, 0x2c, 0xbf, 0xda, 0x8c, 0xf3, 0xf1, 0x75,
- 0x7a, 0x4b, 0x2b, 0xf3, 0xf2, 0xe5, 0x27, 0x7d, 0xfa, 0xe7, 0xe5, 0xcf,
- 0x9b, 0xb7, 0xd9, 0x94, 0x16, 0xea, 0xf9, 0xcf, 0x9b, 0xbc, 0xdd, 0xff,
- 0x88, 0x7b, 0xa3, 0xde, 0xf8, 0x9f, 0x83, 0xeb, 0x72, 0x36, 0x7d, 0x8c,
- 0x8a, 0xa8, 0xbd, 0x28, 0x9e, 0x65, 0xcb, 0x79, 0xe9, 0x08, 0x87, 0x68,
- 0xb0, 0x0c, 0xb8, 0xd3, 0x34, 0x9d, 0xd3, 0x99, 0x25, 0x4a, 0x7f, 0x90,
- 0x13, 0x3b, 0x4a, 0xfc, 0xe1, 0x2e, 0xc7, 0xd7, 0x34, 0x55, 0xa2, 0xa4,
- 0x58, 0x97, 0xa1, 0x4c, 0x69, 0x32, 0xf4, 0xda, 0x9c, 0x0e, 0x71, 0x2a,
- 0xed, 0x48, 0x57, 0x29, 0x3d, 0x97, 0xe5, 0x93, 0x24, 0xf7, 0x34, 0x3d,
- 0x4c, 0x69, 0xd5, 0xe4, 0xd4, 0x7e, 0x3a, 0xd8, 0x7e, 0x31, 0xd8, 0x76,
- 0x0b, 0x44, 0x5b, 0x99, 0xb9, 0x21, 0x16, 0x65, 0xb2, 0xa0, 0xc1, 0x2c,
- 0x99, 0xf9, 0xe1, 0x24, 0x72, 0xa3, 0x74, 0x82, 0xaf, 0x98, 0xe5, 0x44,
- 0x45, 0xe6, 0x0e, 0xcf, 0x75, 0x5c, 0x56, 0xe8, 0x91, 0x97, 0xf6, 0x21,
- 0x3a, 0xa1, 0x7d, 0x37, 0xae, 0x92, 0x47, 0xb2, 0xc1, 0xbb, 0xf5, 0x55,
- 0xbd, 0xbb, 0xbb, 0x5b, 0x4d, 0x77, 0xbb, 0xdb, 0x35, 0xd2, 0x0b, 0x5e,
- 0x6a, 0x23, 0x98, 0xdd, 0x9d, 0x2a, 0xc9, 0x1c, 0x5d, 0x46, 0x18, 0x97,
- 0x5f, 0x74, 0x66, 0x19, 0x8e, 0xc3, 0x1b, 0xc7, 0xa0, 0x16, 0xe9, 0xf7,
- 0xe4, 0x32, 0xbd, 0xef, 0xc9, 0xa2, 0x60, 0xb5, 0x63, 0x6a, 0x7f, 0xb6,
- 0x60, 0xb2, 0xb0, 0xe6, 0xae, 0x96, 0x49, 0x41, 0x5c, 0x91, 0x67, 0xeb,
- 0x98, 0x0d, 0x37, 0x3f, 0x4b, 0xaf, 0xae, 0xcb, 0xe8, 0x2e, 0x66, 0x8e,
- 0x73, 0x54, 0xca, 0xdb, 0xcc, 0xda, 0x89, 0xcb, 0x5c, 0xc6, 0xc4, 0x2b,
- 0x22, 0x26, 0x2d, 0x61, 0xe4, 0x4c, 0x8d, 0x6e, 0xd9, 0x68, 0x8d, 0x84,
- 0xd8, 0xa2, 0xe0, 0xd2, 0x1b, 0xc5, 0x05, 0x6f, 0xd8, 0x9c, 0x88, 0xa2,
- 0xa4, 0xdb, 0x61, 0xc9, 0x7f, 0x5d, 0x13, 0xfb, 0x8f, 0xe6, 0xf1, 0x2c,
- 0xd1, 0x61, 0x32, 0xbf, 0x7c, 0x43, 0x6b, 0x9a, 0xdc, 0xc7, 0x33, 0xc7,
- 0xc2, 0x88, 0x21, 0xf5, 0xb0, 0x4b, 0xee, 0x69, 0x3a, 0x14, 0x25, 0x11,
- 0x24, 0x9f, 0x18, 0x1c, 0xc2, 0x0e, 0x1f, 0xb4, 0x4e, 0x38, 0xc5, 0x02,
- 0xf7, 0x03, 0x96, 0x88, 0x87, 0x1f, 0x05, 0x93, 0xa5, 0x25, 0x8b, 0x6f,
- 0xf8, 0xbe, 0xf5, 0x64, 0xb3, 0xdf, 0xb2, 0x36, 0x74, 0xc7, 0xf0, 0x18,
- 0xc3, 0x7b, 0x09, 0x83, 0x70, 0x3c, 0xd2, 0x5f, 0x4d, 0x7c, 0x51, 0xf6,
- 0xea, 0x64, 0x43, 0xe4, 0x82, 0x01, 0xce, 0xf8, 0x38, 0xf0, 0xb3, 0x85,
- 0xc8, 0x0d, 0xa0, 0x5f, 0x9e, 0xb1, 0x08, 0x0e, 0xd2, 0xed, 0x3c, 0x2b,
- 0xa3, 0x49, 0x16, 0xf0, 0x5f, 0xea, 0xd5, 0xcd, 0x9f, 0xbb, 0x2f, 0x48,
- 0xf0, 0x22, 0xe6, 0x37, 0x29, 0xae, 0xe9, 0xba, 0x2a, 0xf8, 0xec, 0x10,
- 0x67, 0x48, 0x67, 0xb4, 0xba, 0xb7, 0xbc, 0x1a, 0x8b, 0x24, 0x99, 0x0c,
- 0xa2, 0xd3, 0x4b, 0x26, 0xea, 0x9c, 0x06, 0x5d, 0xe2, 0x6b, 0x3e, 0x77,
- 0xd3, 0x07, 0x6a, 0x98, 0x85, 0x92, 0xb9, 0x3b, 0x62, 0x18, 0x4b, 0x70,
- 0x84, 0x70, 0xd4, 0x68, 0xa8, 0xd3, 0xea, 0x01, 0xc5, 0xed, 0xca, 0x94,
- 0xcf, 0x83, 0xa3, 0x23, 0x1a, 0x45, 0xd8, 0x32, 0xfa, 0xad, 0xbc, 0x4b,
- 0x92, 0xb9, 0x67, 0x37, 0xc4, 0x1b, 0xe8, 0xca, 0x93, 0xd5, 0x4f, 0xe7,
- 0xb7, 0x19, 0x0f, 0x70, 0x6d, 0xed, 0xec, 0xfc, 0xf4, 0xab, 0xf3, 0xc3,
- 0xe1, 0x30, 0x7a, 0x7b, 0x78, 0x71, 0x78, 0x5e, 0xbd, 0x50, 0xe7, 0x59,
- 0x3e, 0xa3, 0x5b, 0x93, 0xa8, 0x64, 0x92, 0x16, 0x8b, 0x69, 0xfc, 0xc0,
- 0x72, 0x06, 0xcd, 0xe5, 0x2a, 0x67, 0x3a, 0x9c, 0x25, 0x7c, 0x2c, 0x27,
- 0xcb, 0x1c, 0x1c, 0x71, 0x41, 0xcc, 0x4c, 0xa5, 0x02, 0xba, 0xec, 0x20,
- 0x4a, 0xcc, 0xaf, 0xac, 0x39, 0xcf, 0x66, 0x6c, 0x23, 0xf8, 0x8e, 0x66,
- 0x21, 0xad, 0xe7, 0x65, 0x36, 0xac, 0x0e, 0x8b, 0x73, 0x3c, 0x1f, 0x66,
- 0xb4, 0x33, 0xdc, 0xd0, 0x74, 0x35, 0xd2, 0x2e, 0xd0, 0xf1, 0xbd, 0x74,
- 0x84, 0x4b, 0xcc, 0xc7, 0x13, 0xc5, 0xd7, 0x74, 0xe3, 0x43, 0xb2, 0xe3,
- 0xc5, 0x19, 0x27, 0x36, 0x76, 0x37, 0x62, 0x88, 0x82, 0x2c, 0x1b, 0xd2,
- 0x86, 0xd2, 0x80, 0x67, 0xe9, 0x9c, 0xf8, 0x14, 0xdd, 0x47, 0x7a, 0x36,
- 0x68, 0xb8, 0x97, 0x4c, 0x80, 0x5e, 0xd2, 0xe2, 0x95, 0x91, 0x46, 0xe8,
- 0x2d, 0xda, 0x6d, 0xe2, 0x29, 0x6e, 0x76, 0x18, 0x5c, 0x5a, 0xf2, 0x9e,
- 0xc5, 0x23, 0x3e, 0xc2, 0x7c, 0xb0, 0xf8, 0xae, 0xa5, 0x7e, 0xd1, 0x11,
- 0x3e, 0x08, 0xc4, 0x4a, 0xeb, 0x91, 0x86, 0x47, 0xaf, 0xd1, 0xa0, 0xe2,
- 0x11, 0x6f, 0x2b, 0x0f, 0xa6, 0xb6, 0x90, 0x74, 0x2d, 0xe2, 0x2c, 0xde,
- 0xa5, 0x44, 0x18, 0xf4, 0xec, 0x5d, 0xb6, 0x9c, 0x92, 0xd8, 0xc4, 0x0f,
- 0x2c, 0x17, 0x9e, 0x64, 0x89, 0x44, 0x96, 0xe5, 0x82, 0x7a, 0x9e, 0xa5,
- 0xf7, 0xb8, 0xe0, 0x6b, 0xad, 0xd0, 0xf8, 0xe8, 0xcf, 0x05, 0x6d, 0x44,
- 0x82, 0x11, 0x0d, 0x42, 0x66, 0x04, 0xd9, 0x8b, 0xcf, 0x59, 0x63, 0x1b,
- 0xf9, 0xc8, 0x80, 0x41, 0x9c, 0x9d, 0x0e, 0x2f, 0x98, 0x5d, 0x9e, 0xbd,
- 0xbb, 0xa0, 0x86, 0x88, 0xb1, 0x17, 0x25, 0x6d, 0x29, 0xbf, 0x38, 0x4f,
- 0x20, 0xa4, 0x5a, 0x73, 0xb4, 0x83, 0x69, 0x0e, 0x95, 0x85, 0x07, 0xe5,
- 0x3b, 0xb5, 0xf1, 0x41, 0xea, 0x66, 0x22, 0x36, 0x99, 0xbb, 0xb8, 0x4e,
- 0xe8, 0x08, 0xb9, 0xd7, 0xd6, 0x3f, 0xdf, 0xe8, 0x45, 0x7d, 0xd7, 0xdc,
- 0x8f, 0xfc, 0xe8, 0xcf, 0xdc, 0x73, 0x91, 0xce, 0xd2, 0x69, 0x1c, 0xdc,
- 0x16, 0x47, 0x58, 0x6f, 0x26, 0x6f, 0x77, 0x28, 0xc7, 0xc4, 0xa4, 0x30,
- 0x66, 0xe2, 0x0f, 0x2a, 0xa9, 0xf2, 0x02, 0xe2, 0x44, 0xfb, 0xcd, 0x62,
- 0x81, 0x10, 0xa7, 0x82, 0xa4, 0xc5, 0x32, 0x10, 0xb5, 0x98, 0x5e, 0x69,
- 0x84, 0x7c, 0xe2, 0x2b, 0x6b, 0x55, 0x27, 0x93, 0xc6, 0xda, 0x31, 0xf7,
- 0x83, 0xf6, 0xe2, 0x56, 0xaf, 0x33, 0x8a, 0xf3, 0x0e, 0x11, 0x0d, 0x5d,
- 0x55, 0x22, 0x7b, 0xe3, 0x8a, 0x4a, 0xae, 0x96, 0x34, 0x03, 0x59, 0x5a,
- 0x9a, 0xe4, 0x47, 0x3c, 0x12, 0x96, 0x5d, 0xdd, 0xd9, 0x26, 0xa1, 0x68,
- 0x3e, 0x19, 0xac, 0x9d, 0x42, 0xa3, 0x71, 0xea, 0xcf, 0x11, 0xdf, 0x5e,
- 0x73, 0x96, 0x0a, 0x7a, 0x90, 0x56, 0x47, 0xa4, 0xd6, 0x24, 0x20, 0x3f,
- 0xe1, 0x6b, 0x71, 0x9e, 0x44, 0xc9, 0x9c, 0x29, 0x68, 0x22, 0x0c, 0xb5,
- 0xdf, 0x97, 0xaf, 0xb0, 0xed, 0x0f, 0x74, 0xf1, 0xc5, 0x57, 0x71, 0xea,
- 0x8e, 0xbc, 0x52, 0xdb, 0x24, 0xb2, 0x87, 0xe7, 0x99, 0x3e, 0xcf, 0x8c,
- 0x29, 0xe6, 0x55, 0x95, 0x9d, 0x5d, 0x82, 0x15, 0x25, 0xcc, 0xce, 0x69,
- 0x63, 0xb0, 0xc0, 0xda, 0x2e, 0x73, 0x71, 0x6b, 0x6e, 0x84, 0x1b, 0x8b,
- 0xd9, 0x3f, 0xc8, 0x13, 0x0c, 0x9d, 0x5a, 0xec, 0x0c, 0xfc, 0x11, 0xc4,
- 0xbd, 0x9f, 0xb2, 0xca, 0x41, 0x37, 0xc0, 0x1d, 0x8b, 0x40, 0x45, 0x49,
- 0xec, 0x03, 0xec, 0x0d, 0x9f, 0xd1, 0x38, 0x1d, 0x43, 0xba, 0xce, 0xee,
- 0x84, 0x76, 0xdc, 0x2c, 0xa8, 0x8d, 0x22, 0xc5, 0xcd, 0xc3, 0x9f, 0xcf,
- 0x06, 0xd1, 0x3a, 0xf8, 0x27, 0x31, 0xd9, 0x71, 0xb2, 0x28, 0xfd, 0x2c,
- 0xdc, 0x82, 0xdc, 0xc5, 0x4e, 0xae, 0x8d, 0x27, 0x13, 0x91, 0x47, 0x58,
- 0xa2, 0x78, 0x39, 0xd8, 0x1a, 0xb0, 0x4e, 0x9d, 0xdc, 0xa6, 0x19, 0xa9,
- 0x45, 0x2c, 0x32, 0xf3, 0x9d, 0xe4, 0xde, 0x8b, 0x58, 0x49, 0xe0, 0xb3,
- 0x7a, 0x75, 0x85, 0xf5, 0xc9, 0xe6, 0x9b, 0xa4, 0x47, 0x45, 0x01, 0xf7,
- 0xcd, 0x49, 0x86, 0x07, 0xfb, 0xe1, 0xb5, 0x31, 0x71, 0x0f, 0x94, 0x17,
- 0xb2, 0x5e, 0x5d, 0xcd, 0x0d, 0x47, 0x27, 0xfd, 0x78, 0xb3, 0xdf, 0x8f,
- 0x17, 0x2c, 0xff, 0xd7, 0xb4, 0xe6, 0x75, 0xa2, 0xd4, 0x4d, 0x56, 0x18,
- 0x37, 0xa2, 0xef, 0xf8, 0x6a, 0x06, 0x93, 0x66, 0xf1, 0x69, 0xee, 0x34,
- 0x2d, 0x2c, 0x9d, 0x5c, 0xde, 0x7c, 0x52, 0x8c, 0x05, 0xb5, 0x36, 0x67,
- 0x94, 0x1a, 0xe7, 0x2c, 0xef, 0xe0, 0x8e, 0x73, 0x54, 0xc8, 0xe3, 0x8d,
- 0xe8, 0xc2, 0xc9, 0x4d, 0x09, 0xa0, 0xfd, 0x1a, 0x88, 0x30, 0x82, 0xa3,
- 0xca, 0x4f, 0xd7, 0x9a, 0x9b, 0x64, 0x49, 0x31, 0xef, 0xd2, 0x0a, 0x25,
- 0xf7, 0x29, 0x6b, 0x7a, 0xbc, 0xc3, 0x32, 0x14, 0xdc, 0x28, 0xe3, 0x1c,
- 0x8b, 0x31, 0x80, 0x14, 0x5c, 0x26, 0x72, 0xce, 0x30, 0xdc, 0xcb, 0x69,
- 0x7c, 0x45, 0x74, 0x54, 0x6b, 0x8e, 0x14, 0xda, 0x8c, 0x39, 0x3c, 0xb1,
- 0xd9, 0x82, 0xa4, 0x60, 0x52, 0x1c, 0xbf, 0xd6, 0x7b, 0x94, 0x94, 0x6a,
- 0xe2, 0xd2, 0xd3, 0x25, 0x84, 0xf1, 0x53, 0x9a, 0x18, 0x7d, 0xb5, 0xe1,
- 0xcf, 0x59, 0x7f, 0x8f, 0xd6, 0x8f, 0x95, 0xd3, 0x7e, 0x4c, 0x27, 0xa1,
- 0x8c, 0x5e, 0xc9, 0x8f, 0xa2, 0xe4, 0x4b, 0xe6, 0xf3, 0xfa, 0x92, 0x32,
- 0xc3, 0xda, 0x88, 0x86, 0x2a, 0x5b, 0xf1, 0xdc, 0xde, 0xf1, 0xab, 0x7b,
- 0xc1, 0x3b, 0xbc, 0x50, 0x05, 0x2d, 0x9f, 0x2d, 0x18, 0x78, 0x9c, 0x0c,
- 0x65, 0x50, 0x6b, 0x6e, 0xc8, 0x23, 0xa5, 0xf9, 0xc6, 0x13, 0x26, 0x18,
- 0xb9, 0x8e, 0xa3, 0xfd, 0xaf, 0x8e, 0x88, 0x5c, 0x2e, 0x49, 0x6b, 0x8b,
- 0xf8, 0xa2, 0x90, 0x49, 0xd3, 0x0a, 0x26, 0xc4, 0x9b, 0x69, 0xde, 0x58,
- 0x33, 0x52, 0xaf, 0x42, 0xc1, 0x45, 0xff, 0xeb, 0xbc, 0xcd, 0x7e, 0xa1,
- 0x05, 0x8c, 0x37, 0x9f, 0x0f, 0xb6, 0xe8, 0x8c, 0x5c, 0x90, 0x70, 0x3f,
- 0x1f, 0x67, 0x13, 0xd2, 0x79, 0xa7, 0xf1, 0x9c, 0xd4, 0x72, 0xd0, 0x2a,
- 0xf6, 0x43, 0x46, 0xca, 0x17, 0xd8, 0x32, 0xcf, 0xe9, 0xa2, 0x9c, 0x54,
- 0x6e, 0x10, 0x3b, 0x2e, 0x32, 0x1d, 0x39, 0x04, 0x26, 0x07, 0x44, 0x7f,
- 0x5f, 0xf2, 0x76, 0xcc, 0xe2, 0xfc, 0xc6, 0x84, 0x0d, 0x27, 0x44, 0x8f,
- 0x12, 0x0c, 0x0c, 0xcf, 0x37, 0x9b, 0xeb, 0x7f, 0x4d, 0x0b, 0xcd, 0x9a,
- 0x34, 0x0b, 0xc7, 0x72, 0xfa, 0x32, 0x13, 0x4b, 0xfc, 0x76, 0x78, 0xee,
- 0x87, 0x79, 0xeb, 0x83, 0xac, 0xec, 0x50, 0xcb, 0xac, 0xd1, 0x33, 0x25,
- 0xd0, 0x9b, 0x74, 0x3e, 0x45, 0x89, 0x9f, 0xc6, 0x74, 0xcc, 0x78, 0xe1,
- 0x3c, 0xed, 0x34, 0xfb, 0xe6, 0xef, 0x99, 0x82, 0xba, 0x05, 0x4e, 0x41,
- 0xb0, 0xfb, 0x7d, 0x62, 0xc9, 0x6c, 0x95, 0x68, 0xdf, 0xe8, 0x0b, 0x3a,
- 0x15, 0x85, 0x3b, 0x16, 0x97, 0xe9, 0x15, 0x29, 0xee, 0xc2, 0xc8, 0x61,
- 0xc8, 0x30, 0xfb, 0x05, 0xb3, 0xdd, 0xeb, 0x0c, 0xc4, 0x97, 0x96, 0x45,
- 0x32, 0xbd, 0xec, 0xd5, 0x9a, 0xe3, 0xe3, 0x6b, 0x2c, 0x0f, 0x7c, 0xa1,
- 0x48, 0xc6, 0x68, 0x6a, 0x9e, 0x28, 0xfb, 0x9e, 0xf1, 0xaa, 0xb2, 0x12,
- 0x1c, 0x8d, 0xa7, 0x71, 0x3a, 0x2b, 0x70, 0x1c, 0x54, 0xc1, 0x2b, 0xea,
- 0x74, 0x73, 0xa1, 0x42, 0x1c, 0x08, 0x66, 0xc4, 0x42, 0x64, 0x5e, 0xb0,
- 0x98, 0xc8, 0xdb, 0x15, 0xdb, 0x1d, 0x8a, 0x4e, 0x49, 0x65, 0x1a, 0xdf,
- 0x80, 0x28, 0xd1, 0x8b, 0xdc, 0x3c, 0xfd, 0x5a, 0x73, 0xb2, 0x29, 0x05,
- 0xaf, 0xe7, 0xb2, 0x60, 0xc3, 0x4b, 0x91, 0x8e, 0x88, 0x20, 0x49, 0xa8,
- 0x5a, 0x8e, 0x41, 0x01, 0xac, 0xc4, 0x91, 0xba, 0x98, 0xc7, 0x2c, 0x72,
- 0x96, 0x30, 0x19, 0x45, 0x20, 0x9b, 0x3e, 0x91, 0xc8, 0xa2, 0x75, 0x74,
- 0xb8, 0x09, 0x45, 0x2c, 0xac, 0x30, 0x89, 0x42, 0x85, 0x5f, 0xb6, 0x4d,
- 0xa8, 0xa4, 0x39, 0xae, 0xad, 0x66, 0xad, 0x39, 0x59, 0xdb, 0x1e, 0x29,
- 0x21, 0x29, 0x69, 0xaa, 0xa6, 0x73, 0x91, 0x94, 0x24, 0x74, 0xd9, 0xef,
- 0x93, 0xfa, 0x90, 0x8e, 0x7b, 0xfc, 0xdb, 0x24, 0x25, 0x3d, 0xad, 0xc4,
- 0xaf, 0xf3, 0x72, 0x3a, 0xeb, 0x45, 0x21, 0xf7, 0x77, 0x3b, 0x3e, 0x4f,
- 0xae, 0x32, 0x52, 0x1d, 0xcb, 0x26, 0xd5, 0x81, 0xd3, 0x08, 0xab, 0x51,
- 0x09, 0xc2, 0xd1, 0x87, 0xc9, 0x03, 0x24, 0x48, 0x10, 0x3b, 0x66, 0x63,
- 0xcb, 0x44, 0xc5, 0x38, 0x1e, 0x8a, 0xf0, 0xd3, 0x3a, 0x4f, 0x82, 0x54,
- 0x5f, 0x94, 0xc4, 0x78, 0x7a, 0x2a, 0x29, 0xd2, 0xa6, 0xce, 0xe2, 0x07,
- 0xec, 0x10, 0x89, 0x24, 0x4e, 0x02, 0xc0, 0xc1, 0x21, 0x06, 0x52, 0xde,
- 0xa5, 0x63, 0x95, 0xae, 0x79, 0x41, 0xea, 0x0c, 0x98, 0xf5, 0xe4, 0x69,
- 0xca, 0x0f, 0xce, 0x96, 0xb4, 0xbf, 0xf4, 0x16, 0x5f, 0xb6, 0xa2, 0x91,
- 0xdc, 0xd1, 0x6e, 0x0d, 0xe4, 0xd8, 0x24, 0x22, 0x37, 0xd1, 0x6d, 0xc7,
- 0xe2, 0x5c, 0x9c, 0xb3, 0x74, 0x77, 0xd7, 0x6c, 0x4e, 0xc6, 0xcc, 0x93,
- 0x0c, 0xc7, 0xc9, 0xaf, 0xab, 0x74, 0xe3, 0xa5, 0x1a, 0x1c, 0x2d, 0xe6,
- 0x48, 0xc1, 0xc1, 0x19, 0xd1, 0x69, 0x16, 0x63, 0x5c, 0xf4, 0x8a, 0xef,
- 0xec, 0xd7, 0x3c, 0x99, 0x15, 0xfc, 0xf2, 0x8c, 0xb4, 0x2e, 0xb4, 0x1c,
- 0x8a, 0x3c, 0x01, 0x5f, 0x64, 0x41, 0x2a, 0x56, 0xd3, 0xde, 0x40, 0x85,
- 0x2f, 0x26, 0xfe, 0x3a, 0xa1, 0x12, 0x69, 0x26, 0x60, 0x95, 0xae, 0xad,
- 0x85, 0xbf, 0x70, 0x69, 0x67, 0x92, 0xf4, 0x96, 0x0d, 0x6c, 0x4e, 0x99,
- 0x92, 0xc6, 0x61, 0x31, 0xe8, 0x0c, 0x93, 0xb2, 0xde, 0xdc, 0x3e, 0x3a,
- 0xdc, 0xed, 0xa8, 0xd5, 0x01, 0x06, 0x36, 0xb4, 0xaa, 0x4b, 0x47, 0x0b,
- 0xac, 0x66, 0x85, 0x4b, 0x56, 0x4b, 0x88, 0x28, 0x3a, 0x6c, 0x61, 0xde,
- 0x7e, 0xfd, 0xed, 0xde, 0xf1, 0xbb, 0xc3, 0xed, 0xbf, 0xd4, 0xa9, 0x87,
- 0xbe, 0xdb, 0x91, 0xef, 0x76, 0x3a, 0x6d, 0x1c, 0x8d, 0x08, 0x28, 0x8a,
- 0xba, 0xaf, 0xbb, 0x6a, 0x18, 0xe0, 0x59, 0xda, 0x9d, 0x0c, 0x4e, 0x46,
- 0xa3, 0xe8, 0xa9, 0xa8, 0x5f, 0xca, 0xf5, 0x27, 0x0b, 0xc3, 0xb7, 0x67,
- 0x7d, 0xec, 0x50, 0x8d, 0x69, 0x25, 0xc1, 0x55, 0x98, 0x00, 0xe2, 0x49,
- 0xb8, 0x18, 0x45, 0x89, 0xdb, 0x50, 0x37, 0x88, 0x5b, 0x2e, 0x84, 0x1e,
- 0xe9, 0x4c, 0xe0, 0x20, 0xd5, 0x79, 0xbd, 0xcc, 0x98, 0xa7, 0xec, 0x87,
- 0x04, 0xae, 0x5b, 0x40, 0x3e, 0x4a, 0x41, 0x58, 0x0f, 0x44, 0xbd, 0xe5,
- 0xf8, 0x7a, 0x40, 0x97, 0x9e, 0xf0, 0x94, 0xb4, 0xd0, 0xe3, 0x59, 0xe7,
- 0x77, 0x7c, 0x1d, 0xb0, 0xf1, 0xf8, 0x96, 0x66, 0x21, 0x5b, 0xdf, 0xd1,
- 0xb1, 0x90, 0x4e, 0x48, 0xfb, 0xd2, 0xd1, 0xe3, 0x0c, 0xca, 0x82, 0xa1,
- 0x55, 0x95, 0x28, 0x3e, 0x5f, 0x79, 0xbd, 0x39, 0x3a, 0x3b, 0xd9, 0x8c,
- 0x7b, 0x54, 0xeb, 0x2f, 0x5b, 0xdf, 0x8d, 0x21, 0xf0, 0x79, 0xa2, 0x51,
- 0xb3, 0x0a, 0xfc, 0xa0, 0x27, 0xb2, 0x9b, 0x27, 0x7a, 0x7c, 0x45, 0xdb,
- 0xad, 0x53, 0x3e, 0x35, 0x36, 0x22, 0x61, 0x5b, 0x49, 0x5b, 0x2e, 0xab,
- 0xa8, 0x7f, 0x4c, 0x04, 0x3d, 0xcd, 0x94, 0xa1, 0x7b, 0xa1, 0x55, 0xa5,
- 0x97, 0xc8, 0xd1, 0x40, 0x76, 0xd9, 0x72, 0x2e, 0xf5, 0x19, 0x56, 0xc5,
- 0xb0, 0x15, 0x36, 0x50, 0x39, 0x5a, 0x8e, 0x9c, 0x48, 0x3f, 0xa4, 0x95,
- 0x05, 0xe5, 0x2b, 0xd3, 0x25, 0xf5, 0xa3, 0xa5, 0xb9, 0x93, 0xa4, 0x2c,
- 0xc6, 0xf1, 0x22, 0xd9, 0xd4, 0x1b, 0xdd, 0x36, 0x12, 0xbd, 0xc8, 0x40,
- 0x9a, 0xcc, 0xeb, 0xf4, 0xe2, 0xd0, 0xc4, 0x24, 0x7d, 0xd2, 0xab, 0xf2,
- 0x22, 0xc8, 0x06, 0x67, 0x96, 0x4f, 0x18, 0x84, 0x64, 0x65, 0xd2, 0x71,
- 0x43, 0xa0, 0x9a, 0x93, 0x4a, 0x35, 0x80, 0x0d, 0xd2, 0x26, 0xa3, 0x16,
- 0x39, 0x23, 0x2e, 0x3b, 0x1b, 0xd4, 0x13, 0x84, 0x0d, 0x7c, 0xec, 0x0c,
- 0xf4, 0x75, 0x6e, 0xa3, 0xb7, 0x5f, 0x7f, 0xec, 0xc6, 0xd0, 0xff, 0x5b,
- 0xec, 0x25, 0x01, 0xb5, 0xee, 0x62, 0xa1, 0x48, 0xb2, 0x9f, 0x93, 0xe8,
- 0x7b, 0x9b, 0xe8, 0xda, 0xf2, 0x7a, 0xb5, 0x5f, 0x59, 0x5e, 0xe5, 0x33,
- 0x7e, 0x7d, 0x40, 0xcd, 0x4f, 0x96, 0xb3, 0x85, 0x4a, 0x1a, 0x7f, 0x68,
- 0x3b, 0x86, 0x22, 0x51, 0xfd, 0x5a, 0xd1, 0x62, 0x94, 0xfc, 0x2a, 0xc1,
- 0xe2, 0x4b, 0x11, 0x2b, 0xfb, 0x71, 0x31, 0x4e, 0xd3, 0xda, 0x5b, 0x87,
- 0xd0, 0xa8, 0xa2, 0xbd, 0xe1, 0xfe, 0xd1, 0x91, 0xb7, 0x46, 0xdc, 0x89,
- 0x90, 0xce, 0xd3, 0x60, 0x1d, 0x93, 0x96, 0x84, 0x3d, 0x39, 0x62, 0xf6,
- 0x82, 0xbf, 0x47, 0xc6, 0x4d, 0xb7, 0x5f, 0xdb, 0x69, 0xe3, 0xf1, 0x25,
- 0x73, 0xa2, 0x8d, 0xb1, 0x48, 0xc1, 0xd2, 0x10, 0xcd, 0x87, 0xed, 0x7f,
- 0x20, 0x0b, 0xba, 0xb4, 0x0a, 0x55, 0xa2, 0xfe, 0x52, 0x3e, 0x2c, 0x92,
- 0xd7, 0x7b, 0x1d, 0x91, 0xe0, 0xea, 0x73, 0x92, 0x85, 0x19, 0xc7, 0x34,
- 0x7c, 0x35, 0x66, 0xc8, 0xed, 0xc4, 0x5b, 0x3c, 0x51, 0x13, 0x84, 0xf2,
- 0x46, 0x36, 0x22, 0xcf, 0x58, 0xc4, 0x14, 0x87, 0x07, 0xdd, 0x42, 0xcf,
- 0x76, 0xea, 0xac, 0xe5, 0x81, 0xae, 0xff, 0x59, 0x11, 0xca, 0x5c, 0xb8,
- 0xb1, 0xdb, 0xaf, 0x8a, 0x9a, 0xc8, 0xc5, 0x64, 0x83, 0xe3, 0xf2, 0x25,
- 0xbf, 0x52, 0x13, 0x14, 0x06, 0x4e, 0x10, 0x6a, 0x6e, 0x8c, 0xd9, 0x21,
- 0xf9, 0x32, 0xad, 0x49, 0x92, 0xcb, 0x62, 0x09, 0x13, 0xd3, 0x82, 0xe4,
- 0xa5, 0x72, 0x4a, 0x0c, 0xae, 0x17, 0x2d, 0xe7, 0xfc, 0xd3, 0x69, 0xa6,
- 0xc4, 0x84, 0x9b, 0xca, 0x0f, 0xf4, 0x9b, 0x3c, 0xe5, 0xb9, 0xc6, 0x51,
- 0xc8, 0x6b, 0x45, 0x1a, 0xd7, 0xf6, 0x55, 0x7a, 0x60, 0xff, 0x07, 0x3d,
- 0x36, 0x49, 0xd9, 0x57, 0x46, 0x23, 0xae, 0xef, 0x58, 0xab, 0xf8, 0xb8,
- 0x5e, 0x2c, 0x89, 0xa1, 0x11, 0xcb, 0x77, 0xe2, 0x8b, 0x89, 0x34, 0x6a,
- 0xa2, 0x32, 0xd9, 0xa5, 0x7e, 0x19, 0x10, 0x93, 0x0d, 0x35, 0x9a, 0xfe,
- 0x38, 0x5d, 0x5c, 0xf3, 0xe9, 0x78, 0x05, 0x0d, 0x98, 0xa5, 0x6c, 0xf9,
- 0xa0, 0x71, 0x3d, 0x0f, 0x87, 0xc7, 0xa6, 0xcd, 0xe0, 0x80, 0x83, 0xa3,
- 0xda, 0xdb, 0xba, 0xfc, 0xa9, 0x59, 0xe8, 0xcd, 0xda, 0x29, 0x5c, 0x91,
- 0x9b, 0xae, 0x13, 0x8e, 0xeb, 0xc8, 0x09, 0x28, 0x42, 0x85, 0xb7, 0xf1,
- 0x34, 0x9d, 0xd8, 0x77, 0x83, 0xe8, 0x9c, 0x39, 0xe4, 0x72, 0xc1, 0xa7,
- 0x27, 0x82, 0x87, 0x4f, 0xbf, 0xaa, 0x35, 0x87, 0xc1, 0x87, 0x3b, 0x0a,
- 0x9f, 0x58, 0xe5, 0xf0, 0x55, 0xd8, 0x66, 0x1a, 0x7c, 0x47, 0x44, 0xbf,
- 0x5b, 0x67, 0x19, 0xde, 0x90, 0x4e, 0x92, 0xcd, 0xbc, 0x28, 0xa6, 0xf0,
- 0x6d, 0x4c, 0xb2, 0x71, 0xb1, 0x49, 0x0a, 0x6f, 0xb1, 0x69, 0xe3, 0xab,
- 0x78, 0x31, 0x8c, 0xb9, 0x0e, 0x87, 0x6e, 0x6e, 0x6c, 0x13, 0x81, 0xe4,
- 0xed, 0x76, 0x77, 0xfa, 0x20, 0xac, 0x43, 0xb4, 0xcb, 0x63, 0xdd, 0xad,
- 0xaf, 0xe6, 0xcb, 0x8b, 0xe3, 0xa1, 0xc8, 0x15, 0x75, 0xc9, 0x70, 0xc9,
- 0xba, 0x8a, 0xed, 0x4e, 0xd8, 0x38, 0xee, 0x2b, 0xb9, 0x03, 0x86, 0xc3,
- 0x7d, 0x7c, 0x38, 0x5c, 0xb2, 0x5a, 0x40, 0xdd, 0xe4, 0x0f, 0x91, 0x2a,
- 0xc1, 0xb5, 0xe6, 0x78, 0xb6, 0x36, 0x3f, 0xb1, 0x75, 0x65, 0xf9, 0xc3,
- 0xe0, 0x32, 0x99, 0x64, 0x79, 0x3c, 0x20, 0x56, 0x4d, 0x24, 0x09, 0xa7,
- 0x01, 0xe6, 0x4a, 0xc7, 0xf5, 0x3d, 0xcd, 0x1e, 0xd3, 0xfc, 0xe8, 0x80,
- 0x9f, 0xae, 0x93, 0x13, 0x5d, 0xdb, 0x49, 0xf1, 0xb4, 0x46, 0x86, 0x8b,
- 0xc3, 0x7c, 0x4a, 0x6c, 0x32, 0x2d, 0xda, 0xd8, 0xa6, 0x9d, 0x9a, 0x96,
- 0x5b, 0x0e, 0xc6, 0xc7, 0x0a, 0x63, 0xa0, 0x41, 0x2e, 0xd8, 0xc8, 0x95,
- 0x4c, 0xda, 0xb9, 0xc3, 0xb9, 0xa9, 0x36, 0x91, 0x7f, 0xd2, 0x1b, 0xd4,
- 0xea, 0x8e, 0x76, 0x62, 0x8c, 0x57, 0x59, 0x4e, 0x0c, 0x6f, 0x56, 0x34,
- 0x48, 0x4b, 0xdc, 0xb4, 0xa6, 0x60, 0xf5, 0xd4, 0x8a, 0x59, 0x2e, 0x73,
- 0x59, 0xfc, 0xe5, 0x3c, 0xe8, 0x80, 0x96, 0x6d, 0x39, 0x83, 0x73, 0xd5,
- 0x56, 0xa1, 0x9d, 0x63, 0xda, 0x9a, 0x08, 0xcf, 0x71, 0xf2, 0x27, 0xac,
- 0x01, 0x85, 0x68, 0x51, 0xcb, 0xb9, 0x77, 0xda, 0x89, 0x76, 0xce, 0x7a,
- 0x78, 0x5d, 0x3e, 0x71, 0x4e, 0x87, 0x3c, 0xe1, 0x67, 0xf9, 0x4d, 0x5a,
- 0xc4, 0x2c, 0xaf, 0x2e, 0x15, 0xce, 0x63, 0x9f, 0x17, 0x9e, 0x79, 0xf2,
- 0x2b, 0x52, 0x29, 0x33, 0xea, 0xa7, 0x7e, 0xc6, 0xdf, 0xc6, 0xf7, 0xe9,
- 0x6c, 0x39, 0x33, 0xa3, 0x36, 0x9b, 0x00, 0xf4, 0xc9, 0xc0, 0x8b, 0x45,
- 0xfc, 0x30, 0xbb, 0xab, 0x1d, 0x73, 0x95, 0xd3, 0xeb, 0xdc, 0x5c, 0xe6,
- 0xc4, 0xdf, 0x91, 0xd4, 0x36, 0x50, 0x6d, 0x4f, 0xcd, 0x6d, 0x33, 0xd2,
- 0x7e, 0xf5, 0xce, 0x0e, 0xda, 0x89, 0x16, 0xd7, 0x71, 0x41, 0x57, 0x2a,
- 0x6e, 0xd6, 0xb6, 0xa9, 0x92, 0xf0, 0x56, 0xb8, 0x37, 0x92, 0x06, 0xbf,
- 0xa6, 0xcd, 0x24, 0xc1, 0x19, 0x17, 0x34, 0x2d, 0x2f, 0xdc, 0xe6, 0x72,
- 0xe5, 0xb5, 0xd8, 0x18, 0x66, 0x74, 0xeb, 0xce, 0xe2, 0x7b, 0xac, 0x8a,
- 0x09, 0x71, 0xbf, 0x15, 0x25, 0xab, 0x6c, 0x1c, 0x6c, 0x42, 0x4d, 0x96,
- 0x79, 0x05, 0x41, 0x84, 0x25, 0xf3, 0xfa, 0x26, 0x38, 0x83, 0x51, 0xa6,
- 0x3c, 0x16, 0x4f, 0x3a, 0xdb, 0xb8, 0xdd, 0x76, 0x62, 0xd6, 0x67, 0x3b,
- 0xac, 0x89, 0x5c, 0xf1, 0x25, 0x4c, 0xec, 0x4d, 0x01, 0x76, 0x41, 0x3a,
- 0x44, 0x12, 0xe8, 0x68, 0x03, 0x75, 0x55, 0x71, 0x0b, 0x85, 0x44, 0x1e,
- 0xb8, 0x46, 0x2a, 0x97, 0x15, 0x8b, 0xa7, 0x6d, 0x7a, 0x6a, 0xa0, 0x90,
- 0x33, 0x6d, 0x8a, 0x3c, 0x1b, 0xc3, 0x70, 0xc9, 0x6d, 0xb1, 0x22, 0x12,
- 0x8c, 0xab, 0xa2, 0x6c, 0xd5, 0x9a, 0x33, 0x63, 0x06, 0x28, 0x65, 0xbd,
- 0xd8, 0x80, 0x5a, 0x3a, 0xf7, 0x62, 0x24, 0xf3, 0xcf, 0x9b, 0x79, 0x76,
- 0x47, 0xda, 0xe6, 0x3c, 0x93, 0x8e, 0x6c, 0x7d, 0x79, 0xf8, 0x0d, 0x6e,
- 0x94, 0xcc, 0x55, 0x37, 0xd3, 0x41, 0x39, 0x43, 0x0f, 0x3f, 0x5d, 0x3a,
- 0x99, 0x29, 0x94, 0x9b, 0x43, 0x79, 0xb9, 0x3e, 0x59, 0x91, 0x9e, 0xcd,
- 0xbe, 0xce, 0x77, 0xb7, 0x93, 0x97, 0x4d, 0xa9, 0xc2, 0x5a, 0xa8, 0xbd,
- 0x6b, 0x12, 0x17, 0xd7, 0x44, 0xbb, 0x9d, 0x7e, 0xa7, 0xd7, 0x66, 0x59,
- 0xaa, 0xcb, 0xc6, 0x36, 0x26, 0x27, 0x2c, 0xb5, 0xcb, 0xe9, 0xaa, 0xa8,
- 0xeb, 0x30, 0x99, 0x78, 0x48, 0xac, 0xeb, 0xe2, 0xca, 0x54, 0xcb, 0x27,
- 0xcb, 0x7f, 0xbe, 0x31, 0xa1, 0xc7, 0xbb, 0xeb, 0x6c, 0xda, 0x7a, 0x82,
- 0x02, 0x55, 0x3d, 0xe3, 0x66, 0x60, 0x3d, 0x64, 0x6f, 0x29, 0x4b, 0xd2,
- 0x35, 0x26, 0x12, 0x8d, 0xa7, 0x49, 0x9c, 0x4f, 0x1f, 0x54, 0x8b, 0xab,
- 0x9f, 0xa0, 0x5b, 0x5b, 0x60, 0xb6, 0xf2, 0xd2, 0x42, 0xdc, 0xc5, 0xf9,
- 0x9c, 0x97, 0x57, 0xbd, 0x5b, 0xc9, 0x44, 0xc2, 0x0b, 0x4a, 0xb1, 0xe6,
- 0x0b, 0x1f, 0xe7, 0xd3, 0x7f, 0x9b, 0xb2, 0xd5, 0xa8, 0xb1, 0xda, 0x49,
- 0x32, 0x19, 0xc5, 0xe3, 0x1b, 0xac, 0x35, 0xb7, 0xa8, 0x3e, 0x2c, 0x3e,
- 0x7f, 0xce, 0xd0, 0x44, 0xa4, 0x7c, 0x4d, 0x07, 0xaf, 0x48, 0xcb, 0x65,
- 0xfc, 0x6f, 0x9e, 0x58, 0x39, 0xb2, 0x75, 0x42, 0x6e, 0xd3, 0x9d, 0x57,
- 0x1c, 0xe9, 0x7d, 0x1c, 0x69, 0x12, 0xcd, 0xe6, 0x4b, 0x92, 0xdd, 0x89,
- 0xad, 0x66, 0x97, 0x97, 0x44, 0x23, 0x9f, 0x37, 0x4c, 0x07, 0xf2, 0xc8,
- 0xe6, 0xb9, 0xc4, 0x1b, 0x85, 0x22, 0x61, 0x54, 0x75, 0x00, 0x5b, 0x70,
- 0xc6, 0x55, 0xca, 0x9b, 0x21, 0xcd, 0x35, 0x4d, 0x66, 0xd5, 0xef, 0x6d,
- 0x65, 0xc5, 0x3d, 0x62, 0x21, 0x05, 0x30, 0xa0, 0x8d, 0x1e, 0x70, 0xc0,
- 0x45, 0xcc, 0xb4, 0xa3, 0x50, 0x67, 0xd2, 0x37, 0xe9, 0x62, 0xc1, 0x93,
- 0x97, 0x48, 0x86, 0xc0, 0x24, 0x32, 0x4a, 0xae, 0xd2, 0xf9, 0x3c, 0x0c,
- 0x28, 0xc9, 0x96, 0xa4, 0x31, 0xc8, 0x88, 0x47, 0xc9, 0x25, 0x33, 0xd9,
- 0x86, 0xf0, 0x0b, 0x7b, 0x84, 0x77, 0xa2, 0xaa, 0xfd, 0x66, 0x82, 0xc8,
- 0x14, 0x65, 0x3e, 0xbc, 0x45, 0xa2, 0x48, 0x8a, 0x55, 0x4e, 0x0d, 0x62,
- 0xad, 0x47, 0x86, 0x43, 0xbd, 0xf4, 0x1a, 0x31, 0xd7, 0xc6, 0xf0, 0xe8,
- 0x7f, 0x1c, 0x7a, 0x7f, 0xb7, 0x19, 0x21, 0x48, 0x8b, 0x61, 0xea, 0x6e,
- 0x90, 0xc3, 0x3b, 0x16, 0xd1, 0x3b, 0xfd, 0x7d, 0xda, 0xae, 0x0e, 0x46,
- 0x53, 0xf1, 0x5d, 0x2c, 0xcb, 0x8c, 0x0e, 0x38, 0xc7, 0x56, 0x4c, 0x1f,
- 0x24, 0x0c, 0x8a, 0x29, 0x8e, 0x94, 0xab, 0x3c, 0xd9, 0x64, 0x07, 0x50,
- 0xc3, 0x6c, 0xae, 0x21, 0x63, 0x70, 0x6e, 0xe8, 0x34, 0x61, 0x84, 0x2a,
- 0xd5, 0x69, 0x52, 0x04, 0xdb, 0xa7, 0xae, 0xc6, 0x4d, 0x68, 0xc7, 0xea,
- 0x31, 0x6f, 0xaa, 0x0a, 0x6a, 0x28, 0x16, 0xdf, 0x60, 0x0b, 0x0b, 0xf8,
- 0xed, 0x6e, 0xa0, 0xbe, 0x70, 0x0b, 0x52, 0x13, 0xf2, 0xfa, 0x38, 0x2a,
- 0x3e, 0x1f, 0x22, 0xe9, 0xbf, 0x91, 0x4c, 0x53, 0x33, 0x79, 0x98, 0x5b,
- 0xab, 0x67, 0x17, 0xb1, 0xd0, 0x93, 0xb4, 0xd9, 0x66, 0xe5, 0xa0, 0x0b,
- 0x9a, 0x44, 0xa2, 0x98, 0xa3, 0x38, 0xd8, 0x54, 0x32, 0x8d, 0x9c, 0xb4,
- 0x19, 0x5d, 0xa7, 0x34, 0xf6, 0x7c, 0x7c, 0xfd, 0xc0, 0x57, 0x05, 0x1b,
- 0x20, 0xd9, 0x79, 0x73, 0xe1, 0x67, 0x59, 0x67, 0x5b, 0xe8, 0x43, 0xad,
- 0x82, 0x29, 0x6b, 0x0c, 0xac, 0x0f, 0x65, 0x73, 0xb3, 0x55, 0xd4, 0xc6,
- 0x47, 0x64, 0x71, 0xcd, 0x54, 0x9b, 0x4c, 0x59, 0x02, 0xa0, 0x05, 0x6c,
- 0x1b, 0x5d, 0x3f, 0x0b, 0xd8, 0x38, 0x36, 0x8e, 0xee, 0x17, 0x6a, 0x9c,
- 0x39, 0xa1, 0x18, 0xb0, 0xa4, 0x2b, 0xb6, 0xc2, 0x4a, 0x6f, 0x7c, 0xa9,
- 0xf1, 0x85, 0xf8, 0x50, 0x6b, 0x4e, 0x7d, 0x52, 0xfa, 0xba, 0xad, 0xbd,
- 0xf9, 0xa4, 0xea, 0xdb, 0x79, 0x91, 0xe9, 0x57, 0x76, 0xf5, 0xd9, 0xaa,
- 0x88, 0x4e, 0x55, 0xd7, 0xea, 0x25, 0x86, 0x13, 0xa1, 0x30, 0xfd, 0x3e,
- 0x1d, 0x86, 0x7e, 0xeb, 0xd2, 0x60, 0x4b, 0xab, 0x3b, 0x3d, 0xbd, 0x84,
- 0x4f, 0x6f, 0x83, 0xb9, 0x0f, 0x51, 0x4a, 0x19, 0x1d, 0xbf, 0x61, 0x6a,
- 0xdb, 0x3f, 0xa7, 0x9f, 0xa9, 0x39, 0xf5, 0x98, 0xad, 0x23, 0x16, 0x93,
- 0x15, 0xf2, 0xb7, 0xdf, 0x0e, 0xa3, 0xf5, 0xd3, 0xe1, 0xe6, 0xb3, 0x97,
- 0x5b, 0xa1, 0x82, 0x38, 0x61, 0x23, 0x09, 0xeb, 0xf5, 0xaf, 0x1e, 0x31,
- 0xda, 0x92, 0x9c, 0xa5, 0x42, 0x62, 0x12, 0x32, 0x54, 0xbc, 0x07, 0x93,
- 0x2a, 0xfc, 0xf6, 0xe6, 0x6c, 0x08, 0x8c, 0xba, 0xad, 0x12, 0x63, 0xcf,
- 0x45, 0x68, 0x81, 0xf9, 0xc6, 0x0f, 0x72, 0x3a, 0xe2, 0x68, 0x94, 0x67,
- 0x77, 0x1c, 0x1a, 0x0a, 0x87, 0x60, 0x24, 0xcb, 0xc5, 0xdc, 0x14, 0xf1,
- 0xa2, 0x2c, 0x19, 0xd6, 0xb9, 0x07, 0x6d, 0x86, 0x78, 0x15, 0xf8, 0x46,
- 0xfb, 0xfa, 0xe2, 0xed, 0x31, 0xae, 0x74, 0x08, 0xdd, 0x22, 0xb0, 0x0b,
- 0x51, 0x15, 0xcb, 0x11, 0x89, 0xa3, 0x7c, 0x57, 0x95, 0xce, 0x52, 0x10,
- 0x46, 0x77, 0xda, 0x62, 0xc7, 0x08, 0xe5, 0x51, 0xe6, 0xb1, 0x68, 0x33,
- 0x54, 0x2b, 0xaf, 0xf2, 0x52, 0x06, 0xdf, 0x0f, 0x44, 0x3f, 0x7d, 0x36,
- 0xa2, 0xd4, 0x35, 0xf1, 0xc5, 0x62, 0xaa, 0x5a, 0xfd, 0xe6, 0x7d, 0x9f,
- 0x74, 0xcd, 0x3e, 0x0f, 0xae, 0x4f, 0xcd, 0x8b, 0x2b, 0x8e, 0x1d, 0x9a,
- 0xfb, 0x24, 0xbd, 0xb1, 0x0c, 0x44, 0xcd, 0xf7, 0xdf, 0xd0, 0x4e, 0xf0,
- 0x13, 0x0d, 0x9a, 0xf2, 0x7b, 0x04, 0x53, 0x9d, 0x6c, 0x42, 0x3c, 0x53,
- 0x99, 0x4c, 0xbe, 0x12, 0xdb, 0xd2, 0x00, 0x04, 0xc8, 0xe1, 0xb2, 0x6a,
- 0x12, 0x27, 0xd6, 0x33, 0xad, 0x13, 0x34, 0xdb, 0x3b, 0xf3, 0x07, 0xf1,
- 0xbd, 0xab, 0x39, 0xd2, 0xdc, 0x32, 0xce, 0x32, 0x27, 0x6d, 0xca, 0x93,
- 0xde, 0x00, 0x9a, 0x41, 0xbd, 0xac, 0x9f, 0x0f, 0xf1, 0x2b, 0xf2, 0x6b,
- 0xa4, 0xdb, 0x2f, 0xa1, 0x70, 0xc5, 0xb2, 0x0f, 0xe2, 0xa8, 0x44, 0x8c,
- 0x58, 0xfc, 0x80, 0xc6, 0xb5, 0x61, 0xb7, 0x06, 0xad, 0xa6, 0x71, 0x8e,
- 0x8c, 0x90, 0x2b, 0xa9, 0x48, 0x9c, 0xd3, 0xdc, 0x18, 0x63, 0xd5, 0x38,
- 0x67, 0x31, 0x83, 0xe6, 0x1c, 0xaf, 0x9f, 0x1f, 0xe7, 0x2c, 0xef, 0x05,
- 0x7e, 0x82, 0x94, 0x39, 0x57, 0x28, 0x17, 0x78, 0x77, 0xe1, 0x2c, 0xc9,
- 0xaf, 0x10, 0xf5, 0x93, 0x91, 0x80, 0xd2, 0x34, 0x43, 0xc8, 0x85, 0x16,
- 0xbb, 0x78, 0x26, 0x78, 0xaf, 0xfe, 0xd8, 0x17, 0x1b, 0x3e, 0x24, 0xd3,
- 0x25, 0xdf, 0x73, 0x42, 0x1e, 0x51, 0xb7, 0x3f, 0x89, 0xd4, 0x1d, 0x32,
- 0xa7, 0x95, 0xa0, 0x7d, 0x6c, 0xde, 0xcd, 0xd3, 0xe9, 0xeb, 0x29, 0xc9,
- 0x09, 0x0f, 0xdd, 0x48, 0x43, 0x6e, 0x34, 0x06, 0xa3, 0x54, 0x39, 0x02,
- 0x81, 0x03, 0xe3, 0xeb, 0xe5, 0xfc, 0xc6, 0xee, 0xf9, 0x29, 0xc9, 0x89,
- 0x45, 0x84, 0xb8, 0xea, 0x5a, 0x73, 0xdd, 0xa0, 0xb3, 0x3f, 0x86, 0x6d,
- 0xb7, 0xae, 0xb2, 0x44, 0x06, 0x72, 0x84, 0x5c, 0xe0, 0x43, 0x71, 0xfc,
- 0x56, 0xdd, 0x12, 0x5f, 0xf4, 0xcc, 0x5b, 0x58, 0x06, 0xa6, 0xeb, 0xb8,
- 0x79, 0x0e, 0xbd, 0xc0, 0x0c, 0x9b, 0xb7, 0x6b, 0x50, 0xfc, 0x0c, 0xc4,
- 0x7e, 0xfa, 0xe6, 0x22, 0xf3, 0x5a, 0x8e, 0x33, 0x91, 0xb7, 0x31, 0x70,
- 0xa1, 0x77, 0xef, 0x8e, 0x72, 0xa1, 0xeb, 0x38, 0x6f, 0x85, 0xc9, 0x2c,
- 0xe8, 0x1a, 0x16, 0x26, 0xe5, 0xde, 0x4d, 0x09, 0x88, 0xba, 0xea, 0xbb,
- 0x13, 0xf7, 0x36, 0x0c, 0xcc, 0xab, 0xf9, 0xab, 0x8d, 0x20, 0x06, 0xd1,
- 0x59, 0x26, 0x91, 0xb6, 0x18, 0xc5, 0x0a, 0x0d, 0xc9, 0x4d, 0x7a, 0x12,
- 0x75, 0x2f, 0xb3, 0x6c, 0x14, 0xe7, 0x5d, 0xdd, 0x42, 0xb8, 0x4e, 0x47,
- 0x6a, 0x18, 0xd2, 0xb0, 0x11, 0x4c, 0xe7, 0x0b, 0x7a, 0xae, 0x4e, 0xa1,
- 0xa3, 0xb8, 0xa2, 0xca, 0x87, 0xe7, 0xee, 0x31, 0x8e, 0x7c, 0xa1, 0x52,
- 0x73, 0xa9, 0x56, 0x59, 0x48, 0x87, 0x53, 0x5c, 0xb8, 0x35, 0x4b, 0x3f,
- 0x3b, 0x9a, 0xd4, 0x61, 0xbb, 0xc8, 0x1b, 0xdd, 0xf3, 0x1d, 0x8e, 0x08,
- 0x49, 0xa2, 0xad, 0x22, 0x4b, 0x6e, 0xc3, 0x38, 0xd9, 0xdf, 0x8f, 0x58,
- 0x78, 0xd9, 0x68, 0x43, 0x0f, 0x70, 0x7f, 0xc8, 0x3c, 0x5c, 0x38, 0xaf,
- 0xc4, 0x5f, 0x45, 0x16, 0xcc, 0xdb, 0xe0, 0x71, 0x2d, 0xb1, 0x23, 0x3d,
- 0x9e, 0x21, 0x82, 0x74, 0xf4, 0x8c, 0xcc, 0x93, 0x3b, 0xf5, 0x73, 0x31,
- 0x73, 0xe5, 0xab, 0x80, 0xf9, 0xb6, 0x58, 0x63, 0xc6, 0xb8, 0x30, 0x0b,
- 0x0b, 0x69, 0xaa, 0xeb, 0x03, 0xbc, 0x04, 0xd8, 0xb9, 0x7f, 0x51, 0x52,
- 0x13, 0xea, 0xcd, 0xc4, 0xc9, 0x96, 0xb1, 0x2d, 0x05, 0x84, 0xd4, 0x22,
- 0xfa, 0xc2, 0x51, 0x2f, 0xf1, 0xa4, 0x88, 0xb1, 0x91, 0x80, 0x39, 0x4e,
- 0x52, 0x90, 0xf0, 0xfc, 0x91, 0x2c, 0x89, 0xe3, 0xfe, 0x0d, 0x32, 0x71,
- 0x5c, 0xf4, 0xd7, 0x50, 0x4a, 0xcf, 0xad, 0xb0, 0x5e, 0x69, 0x12, 0x82,
- 0xab, 0x14, 0xea, 0x42, 0x9b, 0xd2, 0x46, 0x18, 0x84, 0xe8, 0x20, 0xbc,
- 0xca, 0x30, 0x08, 0xb9, 0x18, 0x1c, 0x52, 0x37, 0x99, 0xd9, 0x17, 0x70,
- 0x2e, 0x98, 0x19, 0x6b, 0x10, 0xad, 0xef, 0x59, 0x48, 0xd4, 0xa7, 0x83,
- 0xed, 0xcf, 0x06, 0x5b, 0x1b, 0x4d, 0x41, 0x09, 0x1c, 0x77, 0xff, 0xab,
- 0x23, 0x35, 0x62, 0xa4, 0x31, 0xc7, 0xab, 0x73, 0x37, 0x32, 0x1d, 0xcd,
- 0x1e, 0x30, 0x42, 0x22, 0x65, 0x45, 0x28, 0x2e, 0xae, 0xc4, 0x85, 0x39,
- 0x55, 0x9e, 0x97, 0x5a, 0x14, 0x85, 0xd8, 0xd8, 0x73, 0x26, 0x11, 0x89,
- 0xb1, 0x71, 0x0d, 0x17, 0x65, 0x10, 0x07, 0x1e, 0xbd, 0xd6, 0xb5, 0x43,
- 0xd7, 0xcc, 0x1c, 0xd8, 0x51, 0x17, 0xc3, 0xf2, 0x47, 0xcb, 0x05, 0xae,
- 0xd5, 0xb0, 0x2c, 0xfa, 0x5d, 0x96, 0x6c, 0x8c, 0xa4, 0xd8, 0x5d, 0x6b,
- 0x58, 0x06, 0xd0, 0x7f, 0x7b, 0x2a, 0x93, 0xc4, 0x48, 0x78, 0xef, 0x27,
- 0x7a, 0x71, 0x8b, 0x99, 0x84, 0x62, 0x86, 0x48, 0x36, 0x22, 0x98, 0xc4,
- 0x2b, 0x9a, 0xe3, 0x89, 0xfd, 0x37, 0x35, 0xb9, 0x8f, 0x89, 0xc0, 0x59,
- 0xfe, 0x83, 0x81, 0x4c, 0x75, 0x4f, 0x6b, 0xca, 0x47, 0x5d, 0xf1, 0x27,
- 0x71, 0xc3, 0x33, 0xea, 0xc2, 0x55, 0x48, 0x36, 0x7d, 0x2d, 0x39, 0x44,
- 0x5f, 0x44, 0x7a, 0xd4, 0xd9, 0x48, 0xaa, 0xf1, 0x8e, 0x3e, 0xdc, 0x1b,
- 0x83, 0xc7, 0x65, 0x8c, 0x65, 0x68, 0x6f, 0x0e, 0x4e, 0xe3, 0x70, 0xf5,
- 0x84, 0xfc, 0x38, 0xa2, 0xb2, 0x90, 0x7c, 0x9c, 0x86, 0x9b, 0xee, 0xf5,
- 0xd3, 0xab, 0xf7, 0x2b, 0x17, 0xef, 0x89, 0xd5, 0xbb, 0x40, 0x78, 0x2c,
- 0x09, 0x09, 0x88, 0x88, 0x78, 0x1d, 0xb8, 0xe8, 0x59, 0x23, 0x95, 0x00,
- 0x32, 0xef, 0xf3, 0xac, 0x1e, 0xcd, 0xc0, 0xac, 0xf0, 0xfa, 0x37, 0xdb,
- 0x75, 0x50, 0xa3, 0x8d, 0xbe, 0xbd, 0x39, 0xd1, 0x2f, 0x69, 0xf0, 0x61,
- 0x84, 0x9c, 0x5e, 0xca, 0x78, 0x9d, 0x7a, 0x4b, 0xee, 0x17, 0x62, 0x54,
- 0xc5, 0xc5, 0x3b, 0x4a, 0xda, 0xa4, 0xb9, 0x8a, 0x50, 0x37, 0xb1, 0x4b,
- 0xb5, 0x31, 0xbf, 0x2f, 0x8c, 0x8b, 0x3f, 0x39, 0xb9, 0x8a, 0x47, 0x1f,
- 0xb1, 0x24, 0xe1, 0xd5, 0x2e, 0xdc, 0x52, 0xf4, 0xe9, 0x16, 0xeb, 0x8c,
- 0x71, 0x32, 0x1f, 0xb4, 0xc7, 0xe4, 0x68, 0xdc, 0x7d, 0xa3, 0x57, 0x5d,
- 0xb0, 0x58, 0xa5, 0x5e, 0x71, 0xb9, 0xac, 0x5e, 0xab, 0x94, 0x57, 0xca,
- 0xb6, 0x8f, 0x35, 0x97, 0xd6, 0xed, 0xfb, 0xdf, 0x7d, 0x8a, 0x70, 0x89,
- 0xb9, 0x28, 0x3f, 0x4c, 0x53, 0x4d, 0xa7, 0x9e, 0x28, 0xae, 0xe0, 0x9a,
- 0x9c, 0x47, 0xa4, 0xb8, 0xc1, 0xe8, 0x76, 0xb5, 0x8a, 0x09, 0xe0, 0x82,
- 0x62, 0x7b, 0x1f, 0x1b, 0x48, 0xa6, 0x90, 0x8d, 0x52, 0x89, 0xcf, 0x7d,
- 0xed, 0xf5, 0x99, 0x3e, 0x82, 0x53, 0x94, 0x68, 0x85, 0x12, 0x1f, 0x21,
- 0x56, 0x47, 0x9e, 0x21, 0x65, 0x8a, 0x37, 0xd9, 0x4f, 0xb9, 0x85, 0x02,
- 0xcd, 0x0f, 0xda, 0x7e, 0xdb, 0x89, 0x3b, 0xbd, 0x10, 0x47, 0xf1, 0x81,
- 0x38, 0x4c, 0x57, 0x79, 0x8a, 0xe3, 0xe0, 0x9b, 0xa6, 0xdf, 0xcb, 0x2e,
- 0x39, 0x36, 0xe5, 0x41, 0xe2, 0x44, 0xd4, 0x3c, 0xad, 0xf8, 0x5d, 0x96,
- 0xab, 0x15, 0x6d, 0x94, 0x80, 0xeb, 0xf3, 0x11, 0xcd, 0xe0, 0x09, 0x61,
- 0xbb, 0x2c, 0x07, 0x73, 0x35, 0xc3, 0x4c, 0xd8, 0xce, 0x1a, 0xc1, 0x47,
- 0x3e, 0x50, 0xa3, 0x95, 0xc6, 0xa3, 0xb4, 0x47, 0xa0, 0x48, 0xee, 0x43,
- 0xd4, 0x5f, 0x6a, 0x40, 0x6a, 0xbb, 0x93, 0x09, 0xd1, 0xa5, 0x92, 0xaa,
- 0x29, 0x4b, 0x69, 0x3c, 0x82, 0x87, 0x18, 0x38, 0x47, 0xcc, 0x87, 0xfc,
- 0x88, 0xcf, 0x18, 0xaf, 0xfa, 0x08, 0x37, 0x36, 0x18, 0x58, 0x92, 0xa2,
- 0xca, 0x04, 0x83, 0x95, 0xe1, 0x13, 0x4f, 0x9b, 0xae, 0xfc, 0x15, 0x99,
- 0x8d, 0xe9, 0x98, 0xe4, 0x48, 0x5b, 0x6b, 0xa8, 0x6a, 0x37, 0x89, 0x58,
- 0x59, 0xc4, 0x93, 0x3a, 0x4e, 0xaa, 0x7b, 0x8e, 0x68, 0xf2, 0x7e, 0xb2,
- 0xc8, 0xcb, 0x96, 0xd8, 0x66, 0x09, 0xcf, 0xf4, 0x79, 0x13, 0xf2, 0xb4,
- 0xb8, 0xef, 0x7c, 0x08, 0xf5, 0xe1, 0xd9, 0xf9, 0x05, 0x26, 0x7a, 0xcc,
- 0xbf, 0xa8, 0xc1, 0xb1, 0x3e, 0x0e, 0x58, 0x1d, 0x34, 0x7e, 0x92, 0xa3,
- 0x96, 0x12, 0xd8, 0x6a, 0x5c, 0x0a, 0xcf, 0x20, 0xc8, 0x03, 0x72, 0x19,
- 0x2a, 0xf1, 0xf4, 0x8e, 0x93, 0x3d, 0x20, 0xd2, 0x35, 0xd6, 0xd6, 0xe5,
- 0x0a, 0xf1, 0x48, 0x78, 0x08, 0x3d, 0xb9, 0x2f, 0x31, 0x08, 0xb5, 0xb3,
- 0x8a, 0x50, 0x71, 0x76, 0xca, 0x5f, 0xb2, 0x49, 0x5d, 0x14, 0xcd, 0x95,
- 0xee, 0xc5, 0x4a, 0x88, 0x34, 0x37, 0xcb, 0x6f, 0x46, 0x39, 0x12, 0xb1,
- 0x62, 0x1a, 0xca, 0xa0, 0x36, 0x55, 0x84, 0xee, 0xdf, 0x97, 0x41, 0xba,
- 0xad, 0x69, 0xa0, 0x90, 0xf6, 0x4c, 0x12, 0xa4, 0x06, 0x90, 0x9f, 0xc2,
- 0x13, 0xb6, 0x94, 0xac, 0x1e, 0x74, 0x77, 0xbe, 0xf8, 0x10, 0xeb, 0xc9,
- 0xd1, 0xfe, 0xdc, 0xa9, 0xc6, 0x53, 0xd7, 0x95, 0x19, 0x36, 0x84, 0x4a,
- 0x8e, 0x40, 0x24, 0x9a, 0x7a, 0x74, 0xa9, 0xa6, 0xc6, 0x78, 0x9a, 0x96,
- 0x0f, 0x22, 0xe2, 0x8f, 0xe4, 0x3e, 0x55, 0xc3, 0xcf, 0xdc, 0xac, 0xad,
- 0x93, 0xb4, 0xed, 0x10, 0xd2, 0x70, 0x30, 0x39, 0xdd, 0xad, 0x06, 0x15,
- 0x56, 0x93, 0xf9, 0x5e, 0x0e, 0xb6, 0x98, 0xcc, 0x99, 0x4a, 0x4c, 0x7c,
- 0x5b, 0xaa, 0xf0, 0x46, 0x3c, 0x66, 0x9a, 0x8e, 0x53, 0x56, 0x92, 0x6c,
- 0x84, 0xbc, 0x48, 0xf5, 0xed, 0xe2, 0x14, 0x06, 0x3d, 0x0c, 0xf3, 0x4c,
- 0x1a, 0x4a, 0xc1, 0x23, 0x69, 0x02, 0xb1, 0x24, 0x77, 0x55, 0xa9, 0xb1,
- 0x9d, 0x4a, 0x8b, 0xdb, 0x56, 0x2a, 0x15, 0x32, 0x0d, 0xd4, 0x5f, 0xa3,
- 0xd4, 0x26, 0xa9, 0x0e, 0xbf, 0x75, 0x26, 0xf1, 0x96, 0x88, 0x4d, 0x21,
- 0x50, 0x3e, 0xeb, 0xab, 0x28, 0x54, 0xa9, 0xc3, 0x67, 0x51, 0x29, 0x91,
- 0x3e, 0x4a, 0xa5, 0x18, 0x93, 0xd0, 0x29, 0xf5, 0xaf, 0xc4, 0x79, 0xb6,
- 0x37, 0xfc, 0x36, 0x20, 0xcb, 0xe0, 0xcc, 0xf7, 0x24, 0x17, 0xa3, 0x61,
- 0x49, 0x43, 0xb6, 0x4c, 0x6e, 0x81, 0x47, 0xdc, 0xd6, 0x87, 0xee, 0x5b,
- 0x71, 0xfb, 0x1b, 0xed, 0x1b, 0x35, 0xf4, 0xd8, 0xbe, 0x15, 0xb7, 0xc1,
- 0xbe, 0xd5, 0x02, 0xc5, 0xc4, 0x79, 0x5b, 0x57, 0x09, 0xbe, 0x83, 0x43,
- 0x56, 0x53, 0xa7, 0x24, 0xfb, 0x31, 0x88, 0x3c, 0xab, 0x26, 0x9c, 0x22,
- 0x0e, 0x6e, 0xad, 0x35, 0x16, 0xda, 0x62, 0x83, 0xe8, 0x77, 0x89, 0x53,
- 0x54, 0xc6, 0x00, 0xb6, 0xe3, 0xec, 0x23, 0xa5, 0x85, 0xd0, 0x71, 0xbb,
- 0xda, 0xcd, 0x5a, 0xcb, 0x25, 0x1a, 0x6b, 0xe8, 0x6c, 0x0a, 0x27, 0x2b,
- 0xdb, 0x68, 0xe9, 0x4d, 0x6a, 0x65, 0xa0, 0x01, 0xad, 0x45, 0x28, 0x83,
- 0xd8, 0x70, 0x25, 0xb4, 0xae, 0xa9, 0xde, 0xcd, 0x45, 0x28, 0x84, 0x01,
- 0xc7, 0x72, 0x6b, 0x39, 0x3a, 0x20, 0x4c, 0xda, 0xf3, 0xe1, 0x64, 0xb0,
- 0x13, 0xfa, 0x28, 0xc2, 0x56, 0x3e, 0xf5, 0x07, 0x08, 0x1c, 0x2b, 0xe2,
- 0xfc, 0x78, 0x05, 0x24, 0x75, 0x87, 0x2d, 0x5d, 0xca, 0x14, 0xc0, 0x15,
- 0x9a, 0x7e, 0x99, 0x4a, 0x3c, 0x61, 0x63, 0x65, 0xe1, 0xde, 0x50, 0x9f,
- 0x13, 0x35, 0xac, 0x01, 0x72, 0x49, 0xe8, 0x5d, 0x72, 0x81, 0x21, 0x62,
- 0x17, 0x88, 0xd1, 0xda, 0xbc, 0x48, 0x27, 0x9c, 0xaf, 0x5f, 0xe7, 0x62,
- 0xb8, 0xd6, 0x3b, 0xba, 0x5c, 0x1d, 0x8d, 0xe1, 0x58, 0xca, 0x5b, 0x1c,
- 0x8b, 0x08, 0xfb, 0x56, 0x9e, 0xfc, 0x8e, 0xbe, 0x9c, 0x84, 0x56, 0x0c,
- 0xd9, 0x5e, 0x4c, 0x8d, 0x24, 0x0e, 0x3d, 0x6e, 0x97, 0x47, 0x4c, 0xed,
- 0xb9, 0x3e, 0x7e, 0x16, 0x5f, 0x25, 0x9c, 0x13, 0x26, 0xce, 0x6d, 0x1f,
- 0xbc, 0xf1, 0x58, 0xf2, 0xc9, 0xa3, 0xb9, 0x1b, 0x95, 0x6c, 0x0d, 0x64,
- 0xdc, 0xf8, 0x5c, 0x0d, 0x5d, 0xfc, 0x66, 0x80, 0xa7, 0x4b, 0xfb, 0xaa,
- 0x84, 0xd2, 0xba, 0x3c, 0x6b, 0x31, 0x78, 0x74, 0xfe, 0xc2, 0x1e, 0xba,
- 0x8e, 0x0d, 0xd0, 0x4d, 0xb9, 0x19, 0xd2, 0xc4, 0x8f, 0x78, 0x35, 0xa9,
- 0xea, 0xd7, 0x33, 0xb7, 0xbd, 0xf3, 0xb9, 0xf2, 0xf3, 0x38, 0x4e, 0xc4,
- 0x9c, 0x48, 0xf2, 0xa8, 0xdf, 0x2a, 0x24, 0x89, 0x00, 0xb6, 0x23, 0x3a,
- 0xd6, 0x61, 0xed, 0xea, 0xc9, 0x10, 0xcd, 0xcf, 0x06, 0xa5, 0x29, 0x2f,
- 0x21, 0x37, 0x8a, 0xa7, 0x0c, 0x4a, 0x50, 0xb7, 0x7f, 0xb3, 0x60, 0xef,
- 0xc2, 0xff, 0x59, 0xa1, 0xe6, 0x01, 0xc5, 0xac, 0x60, 0xa4, 0xc8, 0x4a,
- 0x77, 0xd3, 0xfa, 0x3d, 0x7d, 0x7f, 0xc9, 0xfc, 0x8a, 0x53, 0xc2, 0x5e,
- 0xb5, 0x46, 0x9c, 0x24, 0x53, 0x9f, 0x29, 0x69, 0x71, 0x69, 0xe3, 0xfc,
- 0x61, 0xc1, 0xdc, 0x55, 0xde, 0x53, 0x26, 0xc4, 0x5c, 0x52, 0xa2, 0xcf,
- 0x82, 0x94, 0xda, 0x41, 0x8b, 0xcb, 0xd5, 0x75, 0x28, 0x81, 0x79, 0x7c,
- 0x6b, 0x2c, 0x68, 0xb9, 0x10, 0x25, 0xa0, 0x9f, 0xc1, 0x41, 0xbd, 0x4c,
- 0xa7, 0x13, 0x09, 0xc0, 0xf1, 0x08, 0x05, 0x0d, 0xff, 0x01, 0x37, 0x54,
- 0x0c, 0xaa, 0x29, 0x17, 0x48, 0x9c, 0x84, 0xa4, 0xb1, 0xce, 0x96, 0x87,
- 0x39, 0xcd, 0x7d, 0xc3, 0xee, 0x46, 0x7d, 0x43, 0xc3, 0xbd, 0xeb, 0x17,
- 0xc1, 0x6d, 0x9c, 0x4e, 0x71, 0x4d, 0x50, 0x33, 0xf9, 0x72, 0x8e, 0xde,
- 0xab, 0x2b, 0x75, 0x9b, 0xe6, 0xd9, 0x7c, 0xd6, 0xd4, 0xcc, 0xd7, 0xcf,
- 0x8f, 0x86, 0xfb, 0xd1, 0xe9, 0x30, 0x3a, 0x3d, 0x39, 0xfe, 0x61, 0x83,
- 0x96, 0x0d, 0x71, 0x9b, 0xc8, 0xf8, 0xe7, 0xae, 0x83, 0x17, 0xa3, 0xdb,
- 0x38, 0x4f, 0xa1, 0x68, 0x58, 0x7a, 0x69, 0x8b, 0x81, 0x4f, 0x72, 0xd0,
- 0x41, 0xd8, 0x77, 0xb6, 0xc5, 0x3e, 0xc8, 0x0c, 0x70, 0x0b, 0x45, 0xca,
- 0xcc, 0x0f, 0x01, 0x57, 0x30, 0xd1, 0x8e, 0x2d, 0x15, 0x6a, 0xd9, 0xcc,
- 0xcc, 0x61, 0x3b, 0x4e, 0x78, 0xaa, 0x25, 0x1c, 0xe8, 0x3a, 0xbe, 0xe5,
- 0xee, 0x69, 0xa2, 0x35, 0xff, 0x38, 0x4d, 0xf4, 0x4a, 0x34, 0xb2, 0xf6,
- 0xeb, 0x2c, 0x8c, 0xf7, 0x7c, 0x50, 0xdd, 0x86, 0xad, 0xc5, 0xf0, 0x2b,
- 0x69, 0x1a, 0x31, 0x47, 0x27, 0x97, 0x79, 0xb6, 0x20, 0x8e, 0xfc, 0x55,
- 0xcc, 0x2c, 0x0f, 0x33, 0x3d, 0x88, 0x93, 0x59, 0xc3, 0x87, 0x5b, 0x64,
- 0xe3, 0x9b, 0xa4, 0x34, 0x0d, 0x53, 0xfe, 0x0a, 0x12, 0x7f, 0xa0, 0xa9,
- 0x08, 0xdf, 0xe4, 0x05, 0x9d, 0xd0, 0x9d, 0xa4, 0x04, 0xc4, 0x24, 0x47,
- 0x43, 0x69, 0x1a, 0xcc, 0x2c, 0x9f, 0xbe, 0x1a, 0xe4, 0xc5, 0xa7, 0x09,
- 0xef, 0xcb, 0xd4, 0xea, 0x61, 0x5d, 0xfd, 0x43, 0xbe, 0x6a, 0xd8, 0x1f,
- 0xfa, 0x8a, 0xff, 0x15, 0x5b, 0x5f, 0xf2, 0xe3, 0xae, 0x29, 0x45, 0x3f,
- 0xb7, 0x2f, 0x43, 0x33, 0xd0, 0xb8, 0x7a, 0x9f, 0x07, 0x6d, 0x69, 0x90,
- 0x12, 0xb3, 0x97, 0xab, 0x66, 0x1a, 0x89, 0xcb, 0x67, 0xd2, 0x50, 0x26,
- 0x5a, 0x51, 0xe0, 0xf7, 0x44, 0x12, 0xb7, 0x3d, 0x14, 0x16, 0x13, 0x36,
- 0x67, 0xd1, 0xb1, 0x74, 0xdf, 0x9e, 0x1d, 0xbe, 0x5d, 0x11, 0xa0, 0x64,
- 0x31, 0x42, 0x32, 0x5d, 0x62, 0x0d, 0x4e, 0x0f, 0x95, 0x24, 0x40, 0x37,
- 0xd2, 0x5a, 0xee, 0x64, 0xad, 0xb9, 0xbf, 0x2f, 0x19, 0x0f, 0x65, 0xa2,
- 0x01, 0xda, 0x99, 0xd9, 0x06, 0x5c, 0xc2, 0x71, 0x3d, 0xbd, 0xd2, 0xd2,
- 0x7b, 0x81, 0x93, 0x50, 0x34, 0x2c, 0xf9, 0x9d, 0x60, 0x1e, 0x1d, 0x0d,
- 0x74, 0x09, 0x42, 0x81, 0x88, 0x21, 0x70, 0xca, 0x47, 0x74, 0x93, 0x3c,
- 0xb8, 0x30, 0x48, 0xfb, 0x8c, 0x97, 0xa0, 0xb9, 0x76, 0xba, 0x24, 0x48,
- 0xb9, 0xa5, 0x5f, 0xe6, 0xac, 0x7e, 0xfe, 0x21, 0xc2, 0xfe, 0x47, 0xba,
- 0xad, 0x16, 0xfc, 0xcc, 0x8d, 0x96, 0x1e, 0xab, 0x83, 0x13, 0x76, 0x1b,
- 0x49, 0x0b, 0x0e, 0x09, 0x67, 0xfa, 0xd0, 0xc6, 0x7a, 0x45, 0xaa, 0x29,
- 0xc0, 0xa4, 0x34, 0x77, 0xb9, 0x28, 0x2d, 0xdc, 0x16, 0xb1, 0xc8, 0xd3,
- 0x74, 0x94, 0x23, 0xc0, 0x41, 0x84, 0xa3, 0x30, 0x57, 0xa0, 0x11, 0x98,
- 0xe6, 0x09, 0x88, 0xd5, 0xf7, 0x74, 0x7c, 0x83, 0x93, 0xa4, 0x1c, 0x2b,
- 0xdc, 0x70, 0x93, 0xf7, 0x04, 0x09, 0x47, 0xbb, 0xab, 0x4b, 0xf7, 0x71,
- 0x19, 0x33, 0x12, 0x06, 0x87, 0xae, 0xa7, 0x73, 0xb1, 0x6a, 0x63, 0xab,
- 0x42, 0x1e, 0xe4, 0x98, 0x10, 0x02, 0xa7, 0xdf, 0x1f, 0x1c, 0x9d, 0x2b,
- 0xb3, 0x1c, 0x3d, 0xac, 0x08, 0x80, 0x8f, 0x36, 0x93, 0x72, 0xbc, 0xb9,
- 0xb8, 0x49, 0x37, 0xe7, 0x45, 0x31, 0x19, 0x6d, 0x84, 0x69, 0xb9, 0x3c,
- 0x67, 0x22, 0xc0, 0xe8, 0xec, 0x9b, 0xfd, 0xe1, 0x47, 0xdb, 0xdb, 0x1c,
- 0xc9, 0xbf, 0xa4, 0xa6, 0xd7, 0x69, 0x0d, 0x1a, 0xf9, 0x46, 0x05, 0x2d,
- 0xfb, 0x6c, 0x50, 0x64, 0x1b, 0x10, 0xb1, 0x1d, 0xc3, 0xc5, 0x2a, 0x71,
- 0x1b, 0xe2, 0x5b, 0xd3, 0x6c, 0x1c, 0x36, 0x88, 0xb5, 0x04, 0x4a, 0xfc,
- 0x96, 0x71, 0x2f, 0xb4, 0xba, 0x70, 0xc0, 0x47, 0xaf, 0xf8, 0xdf, 0xf6,
- 0x23, 0x1e, 0x9e, 0x71, 0x60, 0x98, 0x54, 0xf6, 0x84, 0x5f, 0x56, 0xd1,
- 0xfe, 0x36, 0x9d, 0x54, 0x4f, 0x7c, 0x33, 0x02, 0x8a, 0xbd, 0x91, 0x34,
- 0xcf, 0x5e, 0x74, 0x70, 0x78, 0x0e, 0x82, 0x3c, 0x3c, 0xf9, 0x0a, 0xc2,
- 0x21, 0x67, 0x2c, 0x5d, 0xcd, 0xd3, 0x5f, 0x98, 0xd3, 0x51, 0x93, 0x85,
- 0x2c, 0x30, 0xdf, 0x65, 0xfe, 0x84, 0xd6, 0x9a, 0xe3, 0xf5, 0xe2, 0x55,
- 0xc4, 0x19, 0xfb, 0x7d, 0x97, 0x29, 0x16, 0xc6, 0xb8, 0xbf, 0x17, 0xce,
- 0xee, 0x37, 0x62, 0x88, 0xf4, 0x14, 0x8d, 0x88, 0x8e, 0x62, 0x9b, 0x2f,
- 0x77, 0x91, 0xa8, 0x77, 0xdc, 0xc5, 0x6d, 0x32, 0x6d, 0xa8, 0xdb, 0xc1,
- 0xe3, 0x99, 0x54, 0x07, 0x86, 0x94, 0xe2, 0x46, 0x84, 0xa3, 0xff, 0x7e,
- 0xbd, 0xd8, 0xa8, 0x31, 0x4f, 0xc7, 0x2e, 0x4f, 0x4c, 0xe7, 0xad, 0x1e,
- 0xf1, 0xa6, 0x5a, 0xc1, 0x13, 0x8b, 0xdd, 0xf1, 0xb0, 0x8c, 0x2a, 0xac,
- 0x78, 0x4f, 0x9c, 0x26, 0x95, 0xa5, 0xa7, 0x3d, 0x55, 0x99, 0x53, 0x2f,
- 0xb5, 0x46, 0xf2, 0x4d, 0x09, 0x2b, 0x20, 0x5b, 0x69, 0x83, 0x36, 0x1b,
- 0x9b, 0x8a, 0x61, 0x39, 0x5a, 0xd1, 0xf0, 0xbe, 0x16, 0xe9, 0x42, 0xdd,
- 0xcb, 0x51, 0x77, 0x9f, 0x44, 0xda, 0xf7, 0xfb, 0x7b, 0xef, 0xbf, 0x7c,
- 0x77, 0x72, 0x70, 0x7c, 0xd8, 0xad, 0x53, 0xe4, 0xa5, 0x49, 0x4d, 0x92,
- 0xc0, 0xd4, 0xb3, 0x1c, 0xe3, 0x30, 0x5a, 0x0d, 0xb7, 0x3b, 0x52, 0x08,
- 0xf1, 0x1b, 0x92, 0xa5, 0x74, 0xc1, 0x1b, 0x46, 0x9c, 0xf9, 0x04, 0x69,
- 0x5c, 0xc1, 0xe4, 0x2d, 0x72, 0x5f, 0x9d, 0x3e, 0x36, 0xc0, 0x16, 0x1d,
- 0x97, 0xe9, 0x8f, 0xee, 0x67, 0x12, 0xb1, 0x03, 0x3c, 0x85, 0x00, 0x73,
- 0xa7, 0x22, 0xba, 0x23, 0x98, 0xc1, 0x00, 0xd2, 0x22, 0x1a, 0x4f, 0xcb,
- 0x76, 0x5b, 0x0c, 0xa5, 0x5b, 0x0c, 0x6e, 0x8c, 0x88, 0xb9, 0xaf, 0xe3,
- 0x1c, 0xe7, 0x65, 0x97, 0x1d, 0xc0, 0xa9, 0x40, 0x09, 0xf9, 0xbc, 0xf6,
- 0xa6, 0xe9, 0xde, 0x47, 0xa8, 0xc5, 0x42, 0xdc, 0x83, 0xe4, 0x3e, 0x41,
- 0x74, 0x82, 0x72, 0xe2, 0x7d, 0xd8, 0x26, 0xcb, 0xe8, 0xbb, 0x2c, 0xbf,
- 0x11, 0x59, 0xc7, 0xde, 0xe0, 0x90, 0xf5, 0xbc, 0x71, 0xc3, 0xc0, 0x56,
- 0x4f, 0x2a, 0xc6, 0x04, 0x62, 0x5c, 0x46, 0x6f, 0x00, 0x23, 0xee, 0x6c,
- 0xef, 0xe2, 0xeb, 0x56, 0x73, 0xa9, 0x47, 0x8a, 0x7b, 0xfa, 0xd2, 0x01,
- 0x37, 0x2d, 0x57, 0x06, 0xcd, 0x3d, 0x71, 0xe3, 0x54, 0xcf, 0x52, 0xed,
- 0xd2, 0x69, 0x11, 0x56, 0xb9, 0xf7, 0x95, 0xd7, 0x4e, 0x2b, 0x6d, 0xda,
- 0x9d, 0xc3, 0x57, 0xce, 0xca, 0x1b, 0xa7, 0xf5, 0xc2, 0xb1, 0xd9, 0xf2,
- 0x91, 0x75, 0xf7, 0x8d, 0x5d, 0x38, 0xff, 0x7b, 0xdc, 0x38, 0x31, 0x0e,
- 0x51, 0x8d, 0x95, 0x7a, 0xfa, 0xfa, 0xf7, 0x99, 0x6a, 0x40, 0xab, 0x4d,
- 0x3e, 0x23, 0x9c, 0x56, 0x2e, 0xac, 0xc4, 0xf4, 0xd6, 0x90, 0x75, 0xb6,
- 0x33, 0xc6, 0x9e, 0x89, 0x61, 0x2b, 0x8f, 0x05, 0x5e, 0xbb, 0xe6, 0x6c,
- 0xcb, 0x51, 0xc2, 0x3c, 0x23, 0xcf, 0xc6, 0x92, 0xf6, 0xe2, 0x95, 0x1c,
- 0x22, 0xe2, 0xf7, 0x79, 0x72, 0x1d, 0x17, 0x1c, 0xd9, 0x5b, 0xa6, 0x6c,
- 0xd5, 0xad, 0xab, 0x02, 0x4b, 0x0e, 0x7c, 0xf3, 0xf1, 0xbf, 0x96, 0x61,
- 0x15, 0x69, 0xaa, 0xb0, 0x5f, 0x3f, 0xb1, 0x38, 0xb0, 0xf6, 0x63, 0x8b,
- 0xc2, 0x3a, 0x7e, 0x5d, 0x7b, 0x1d, 0x1e, 0xf7, 0x43, 0x78, 0xad, 0x19,
- 0x27, 0xc6, 0xc1, 0xb6, 0x9c, 0x5c, 0xd2, 0x74, 0xd3, 0x20, 0xe7, 0xca,
- 0xf2, 0xf4, 0xf5, 0xa6, 0x4b, 0x2f, 0xdb, 0xd2, 0x42, 0xec, 0x5b, 0x30,
- 0x15, 0xbd, 0x83, 0x0a, 0x01, 0xe0, 0xaa, 0x5f, 0x40, 0xbf, 0x1f, 0x05,
- 0x5d, 0x72, 0xac, 0x1f, 0x51, 0x71, 0xbb, 0x59, 0xe7, 0x0d, 0x87, 0xec,
- 0x17, 0xec, 0x7e, 0xe4, 0xa9, 0xad, 0x33, 0xe4, 0x8c, 0xa0, 0x1a, 0xb1,
- 0xc5, 0x6f, 0x3a, 0xdd, 0x60, 0xd1, 0xdd, 0x12, 0x8a, 0x10, 0xc7, 0x5f,
- 0x68, 0xf2, 0x4d, 0x53, 0x54, 0x31, 0x10, 0x1c, 0xc4, 0x22, 0x01, 0x8b,
- 0x13, 0x33, 0x80, 0x9f, 0x0d, 0x06, 0x37, 0xb5, 0xa9, 0x02, 0x0f, 0x92,
- 0x78, 0x2d, 0x9d, 0x57, 0xff, 0x65, 0xe3, 0x50, 0xc7, 0x53, 0xd9, 0xd3,
- 0x4b, 0xc1, 0x91, 0x54, 0xab, 0x31, 0xf5, 0x7e, 0x34, 0x37, 0x97, 0x95,
- 0x78, 0xf2, 0x5d, 0xe8, 0xa6, 0xc0, 0xbe, 0xc9, 0x60, 0xeb, 0xca, 0x0d,
- 0x52, 0xf8, 0xd8, 0x5b, 0x93, 0x4c, 0x53, 0xb1, 0x02, 0x5a, 0x76, 0x15,
- 0xec, 0xca, 0x92, 0x82, 0x55, 0xb8, 0xd0, 0x4e, 0xfb, 0x92, 0xe3, 0x90,
- 0xca, 0x66, 0xb6, 0x02, 0x5d, 0xd7, 0xeb, 0x92, 0x50, 0x03, 0xe8, 0x38,
- 0xd1, 0x18, 0x2d, 0x92, 0x86, 0x47, 0x24, 0x5a, 0x08, 0x48, 0x67, 0xc3,
- 0x92, 0x95, 0xc4, 0x9e, 0xd5, 0x66, 0xc2, 0x56, 0xb7, 0x9f, 0x50, 0xa6,
- 0x60, 0xb9, 0x62, 0x0f, 0x4a, 0xb1, 0x7d, 0xc6, 0x65, 0x98, 0x26, 0x26,
- 0xc9, 0x14, 0x3b, 0x3b, 0x2b, 0x6c, 0xbe, 0x9a, 0xd3, 0xa9, 0x01, 0x04,
- 0x3c, 0xef, 0x7e, 0x11, 0x5f, 0x26, 0x76, 0x1c, 0x89, 0x94, 0x59, 0x78,
- 0xcc, 0xc6, 0xb4, 0x76, 0x12, 0x7d, 0x83, 0xcf, 0xe6, 0x59, 0xd3, 0x5d,
- 0xb3, 0x1c, 0xf3, 0x81, 0x64, 0x53, 0x80, 0x33, 0x68, 0xb2, 0x9b, 0x54,
- 0x23, 0x20, 0xa2, 0x62, 0x9a, 0x2e, 0xf8, 0x94, 0xe6, 0xd9, 0xf2, 0x8a,
- 0x33, 0x55, 0x12, 0x30, 0x17, 0xb9, 0x6a, 0x5b, 0x9c, 0x08, 0xb5, 0xd4,
- 0x53, 0x48, 0xb6, 0xb7, 0xd9, 0x94, 0x0d, 0x9c, 0xeb, 0xb5, 0xf6, 0x9f,
- 0x6f, 0x6d, 0x63, 0xb8, 0xcf, 0xb7, 0x3e, 0xad, 0xa4, 0x97, 0x72, 0xcc,
- 0x72, 0x3c, 0x46, 0x6e, 0x41, 0xf4, 0x23, 0xdf, 0x1f, 0x3f, 0xb7, 0xfa,
- 0x3d, 0x60, 0xa1, 0x8d, 0x61, 0x9a, 0xf5, 0x38, 0x0f, 0x37, 0x62, 0x96,
- 0xef, 0xd8, 0xfb, 0xfc, 0x7a, 0x47, 0xed, 0x1a, 0xce, 0xa7, 0xd9, 0x82,
- 0x9e, 0xe2, 0x94, 0x5f, 0xce, 0x15, 0x33, 0x46, 0x05, 0xb1, 0x5d, 0xf3,
- 0xa2, 0x27, 0x1a, 0x57, 0x26, 0x9e, 0xd9, 0xcb, 0xcb, 0xd5, 0x36, 0x9a,
- 0xbd, 0xfd, 0x7d, 0xef, 0x5a, 0xaa, 0xc6, 0x2c, 0x3d, 0xe3, 0x98, 0xa5,
- 0x0f, 0x74, 0x79, 0x02, 0xac, 0xa3, 0xa7, 0x11, 0xc2, 0x30, 0x99, 0x57,
- 0xf2, 0x1d, 0xcd, 0x3c, 0x59, 0xdf, 0x4e, 0x31, 0x57, 0x2e, 0x8b, 0xa4,
- 0xbe, 0xa2, 0xab, 0x23, 0xf9, 0xeb, 0x40, 0x4e, 0xba, 0xa6, 0x1a, 0x4a,
- 0xce, 0xa6, 0xcf, 0x4d, 0x9f, 0x00, 0x04, 0x11, 0x10, 0x61, 0xa4, 0xb1,
- 0xb8, 0x13, 0x1b, 0x51, 0x2f, 0x3e, 0x06, 0x48, 0x24, 0x1f, 0x76, 0xb2,
- 0xdc, 0x23, 0x15, 0x75, 0x1e, 0xc4, 0x3b, 0xeb, 0xcc, 0x4a, 0x5a, 0xa4,
- 0x38, 0xe7, 0x58, 0x2c, 0xb6, 0x3a, 0x65, 0x79, 0x13, 0xfe, 0xc0, 0xe4,
- 0x6d, 0xce, 0x7b, 0x60, 0x88, 0x90, 0x10, 0x1c, 0xc2, 0x3c, 0x46, 0x5e,
- 0x16, 0xb4, 0xa8, 0xe3, 0x26, 0xd4, 0x64, 0x25, 0xfa, 0x3d, 0x9a, 0xa5,
- 0x12, 0xa3, 0x18, 0x84, 0xd2, 0xd7, 0x17, 0x4c, 0x4f, 0xd8, 0x8f, 0xf2,
- 0xb3, 0x9d, 0x06, 0x91, 0xa8, 0x93, 0x67, 0xec, 0x19, 0xe3, 0xe3, 0xab,
- 0xaf, 0x48, 0xee, 0xa7, 0x04, 0x99, 0x79, 0x00, 0x0d, 0xce, 0xbd, 0x96,
- 0x1b, 0x82, 0xed, 0x1f, 0xb5, 0xe6, 0xa8, 0xb5, 0xf5, 0xe1, 0x86, 0x99,
- 0xd2, 0x71, 0xf9, 0x6a, 0x63, 0x71, 0x7e, 0xa5, 0x2c, 0xca, 0x85, 0x3f,
- 0x06, 0xa1, 0x4e, 0xea, 0x06, 0xef, 0x37, 0xc4, 0xc8, 0x2b, 0xd1, 0x1c,
- 0x38, 0x08, 0xe0, 0xb6, 0x25, 0x7a, 0x0c, 0x0a, 0xd2, 0xf8, 0x6e, 0xd2,
- 0x1e, 0x4c, 0xa1, 0x80, 0x83, 0x99, 0x6e, 0xb5, 0xe6, 0xaa, 0xed, 0x7f,
- 0x77, 0x10, 0x64, 0x82, 0xf1, 0x31, 0xc3, 0xa4, 0x40, 0x08, 0x12, 0x0f,
- 0x34, 0x5f, 0x15, 0x9b, 0x61, 0x1a, 0x03, 0xc3, 0x5f, 0x03, 0x70, 0x60,
- 0x92, 0x24, 0x0b, 0x97, 0xd3, 0x01, 0xc8, 0x0d, 0x01, 0xfb, 0x88, 0xe7,
- 0x10, 0xf2, 0x1f, 0x10, 0xab, 0xf9, 0xb0, 0x62, 0x74, 0xea, 0x64, 0x1f,
- 0x84, 0x58, 0x40, 0xc0, 0x5e, 0x3b, 0x7f, 0xb3, 0xbf, 0xfd, 0xe9, 0xb3,
- 0xcf, 0x48, 0x4e, 0x7f, 0x40, 0x1a, 0x86, 0x5f, 0x32, 0x89, 0xbe, 0x5c,
- 0x1d, 0x75, 0xa3, 0xf6, 0x25, 0x93, 0x31, 0x25, 0x05, 0x8d, 0xe8, 0x93,
- 0x03, 0x00, 0x21, 0xf6, 0x08, 0x79, 0x36, 0xa3, 0x7a, 0x32, 0x5a, 0x44,
- 0x5d, 0x30, 0xac, 0x17, 0x5d, 0xac, 0xbc, 0x4e, 0x72, 0xab, 0x0e, 0x02,
- 0xca, 0x9c, 0x64, 0x11, 0xf2, 0x90, 0x88, 0x85, 0x9e, 0x1f, 0x5e, 0x9c,
- 0x33, 0xd8, 0xf6, 0xc5, 0xe9, 0xf9, 0x8a, 0x50, 0x29, 0xba, 0x31, 0x99,
- 0x2b, 0xf1, 0xa2, 0x31, 0xd1, 0x70, 0x3a, 0xb7, 0xa9, 0x58, 0x41, 0xca,
- 0x00, 0x6f, 0x41, 0x2c, 0xa1, 0x72, 0x45, 0x6b, 0xa8, 0x7a, 0x10, 0xb1,
- 0x5e, 0x54, 0xd0, 0x0c, 0xe8, 0x28, 0xd1, 0x39, 0x79, 0x6c, 0x62, 0xb2,
- 0xe7, 0x8f, 0x53, 0x08, 0x26, 0xcc, 0xc4, 0xc8, 0x33, 0x76, 0xae, 0x1d,
- 0x8c, 0x56, 0x61, 0xdc, 0x02, 0xed, 0x48, 0xee, 0xa5, 0x15, 0x14, 0x22,
- 0x64, 0x95, 0x14, 0x81, 0x05, 0x51, 0x14, 0xb4, 0x8e, 0xf9, 0x9a, 0x3b,
- 0x2c, 0xc4, 0xdf, 0x38, 0xb8, 0x80, 0x27, 0xe8, 0x97, 0x04, 0x86, 0x0d,
- 0x3f, 0x61, 0x46, 0x6c, 0xc3, 0xf9, 0xd4, 0xf8, 0x01, 0xe3, 0x3a, 0x45,
- 0x10, 0x25, 0x0a, 0x56, 0xb6, 0x62, 0x74, 0x5d, 0xec, 0x72, 0xd7, 0xb9,
- 0xab, 0x33, 0xa5, 0x0e, 0xd9, 0x17, 0x92, 0x76, 0xa6, 0x25, 0xb2, 0x0b,
- 0xba, 0x36, 0xaa, 0x6e, 0x9d, 0x97, 0xd0, 0xf5, 0xb2, 0xc2, 0x79, 0x8f,
- 0xb8, 0x1d, 0xf6, 0x86, 0x8b, 0x7c, 0xe3, 0x12, 0xe1, 0x10, 0xf0, 0x8a,
- 0xcf, 0x75, 0xc7, 0x00, 0x98, 0xce, 0x76, 0x5a, 0xa5, 0xd1, 0x86, 0x83,
- 0x51, 0x36, 0x52, 0x9c, 0xea, 0xcb, 0x3a, 0x8f, 0xac, 0x7b, 0xc0, 0xdd,
- 0x35, 0xa2, 0x18, 0x47, 0x75, 0xca, 0xe1, 0x4b, 0x44, 0x87, 0xce, 0xc9,
- 0x9d, 0x96, 0xae, 0x51, 0xb9, 0xcd, 0xb6, 0x7f, 0xc5, 0x6d, 0xf6, 0xdb,
- 0x05, 0xf0, 0x44, 0xef, 0xe6, 0x1a, 0x49, 0x33, 0xf7, 0x80, 0x24, 0x58,
- 0x28, 0xe2, 0xb1, 0x2c, 0x95, 0x88, 0xf9, 0x7a, 0x92, 0xc5, 0xcd, 0x74,
- 0x51, 0x03, 0xae, 0x86, 0x4e, 0x02, 0x45, 0xcf, 0xee, 0x0b, 0x6d, 0x49,
- 0x43, 0x24, 0x73, 0xe0, 0x79, 0x4a, 0xbc, 0x0b, 0xab, 0xd3, 0x0d, 0xe9,
- 0xc4, 0xb3, 0xd6, 0x7e, 0x99, 0x21, 0x9a, 0x2a, 0x7a, 0xa5, 0x6c, 0xe9,
- 0xf3, 0xf6, 0x7d, 0x46, 0x12, 0x4a, 0x20, 0x1b, 0x19, 0x82, 0x30, 0x30,
- 0xfe, 0x86, 0x6a, 0xf3, 0xa3, 0x69, 0x0c, 0x1d, 0x7b, 0x13, 0x61, 0xb6,
- 0xd7, 0x48, 0x77, 0x32, 0xc4, 0x11, 0x2f, 0x63, 0x98, 0xb7, 0xda, 0x54,
- 0x1a, 0xc8, 0x25, 0xc4, 0x6e, 0x2e, 0x96, 0x33, 0x5a, 0x83, 0xbb, 0x24,
- 0x99, 0x74, 0x0b, 0x36, 0x79, 0x33, 0x26, 0x5c, 0x5d, 0x98, 0x64, 0x7a,
- 0xc3, 0x16, 0x3b, 0xe9, 0x1f, 0x61, 0x67, 0xf0, 0x2c, 0x58, 0xd6, 0x49,
- 0x6c, 0xb8, 0x60, 0x81, 0x26, 0xa3, 0x4e, 0xaa, 0xba, 0xf9, 0x7e, 0x78,
- 0x74, 0x71, 0x18, 0xed, 0xbd, 0xbb, 0xf8, 0xba, 0x13, 0xe0, 0x3e, 0x06,
- 0x2c, 0x0b, 0x57, 0x61, 0x49, 0xd7, 0xed, 0xad, 0xac, 0x35, 0x84, 0x32,
- 0x71, 0x10, 0xb5, 0xa4, 0x7a, 0xd7, 0xec, 0xdc, 0x35, 0xfa, 0x7b, 0x31,
- 0x78, 0xb1, 0x51, 0xdb, 0x18, 0xce, 0x4c, 0xc5, 0x61, 0xeb, 0xa7, 0x8b,
- 0xa7, 0x43, 0xba, 0x58, 0x72, 0x36, 0x95, 0xf9, 0xe8, 0x8c, 0x01, 0x37,
- 0x81, 0x80, 0x1a, 0x0c, 0xb7, 0x58, 0x5e, 0x71, 0xb8, 0x5f, 0x0b, 0xc8,
- 0x13, 0x43, 0x11, 0x38, 0x79, 0x56, 0xe3, 0xb8, 0x69, 0x95, 0x41, 0x88,
- 0x61, 0x8c, 0x8d, 0x74, 0xa6, 0x3b, 0x53, 0xf8, 0x3c, 0x94, 0x95, 0xce,
- 0x29, 0xb6, 0x67, 0x18, 0xa2, 0x5d, 0x98, 0x35, 0xa9, 0xa8, 0xd0, 0x3e,
- 0x35, 0x29, 0x18, 0x71, 0x23, 0xa5, 0xd6, 0x12, 0x57, 0x20, 0xad, 0x19,
- 0xce, 0xf8, 0x58, 0x65, 0x95, 0xb0, 0xaf, 0xca, 0x82, 0x3e, 0x1f, 0xec,
- 0x6c, 0xb4, 0x6a, 0x1b, 0x7a, 0x98, 0x59, 0x36, 0xa6, 0xc3, 0x48, 0x3a,
- 0x32, 0x1f, 0x0f, 0x52, 0x85, 0x25, 0xb8, 0x0c, 0xe7, 0x84, 0xfa, 0x40,
- 0x7c, 0x8f, 0x1d, 0x78, 0x3b, 0x59, 0x4d, 0x0c, 0x17, 0x5e, 0xa2, 0xfa,
- 0x81, 0x22, 0x5d, 0x7e, 0x45, 0x6c, 0x93, 0x18, 0x2b, 0xb0, 0x4d, 0xa4,
- 0xb5, 0x6f, 0x5e, 0x1c, 0x0f, 0xdd, 0x7c, 0x58, 0x38, 0xad, 0xac, 0xdb,
- 0x39, 0x33, 0x99, 0x52, 0x50, 0x9b, 0x1a, 0xf7, 0xf4, 0xbc, 0xaf, 0xa0,
- 0x88, 0x01, 0x74, 0x84, 0x66, 0x6d, 0x3a, 0xd2, 0x77, 0xa2, 0xab, 0xfa,
- 0x54, 0x23, 0xeb, 0xb3, 0x81, 0xac, 0xe9, 0xc3, 0x20, 0x75, 0xf8, 0x7d,
- 0x5b, 0x5d, 0x89, 0x17, 0xb2, 0x4f, 0xf3, 0xe4, 0xef, 0x13, 0x29, 0xb9,
- 0x60, 0x60, 0x2e, 0xd1, 0x34, 0xb9, 0xad, 0x73, 0xdb, 0x64, 0x5a, 0x88,
- 0x37, 0x18, 0x1e, 0x74, 0x1e, 0x99, 0x42, 0xf8, 0x4d, 0x1e, 0x63, 0xb9,
- 0x8d, 0xbe, 0x5b, 0x97, 0xf0, 0x5c, 0xc1, 0x00, 0xeb, 0xab, 0xc7, 0x81,
- 0x2c, 0xd1, 0x34, 0xbb, 0x4a, 0x91, 0x9e, 0x2b, 0xb1, 0xa4, 0x30, 0x9a,
- 0xba, 0x24, 0xe5, 0xba, 0x5e, 0x33, 0x95, 0x28, 0x07, 0x5d, 0xc6, 0x9a,
- 0xa6, 0x27, 0xf7, 0x0e, 0x2f, 0xb3, 0xce, 0xc2, 0x72, 0x39, 0x5d, 0x0c,
- 0x59, 0xd3, 0x0f, 0xe9, 0xac, 0x2d, 0xe3, 0x07, 0xda, 0xbd, 0x37, 0xa2,
- 0xbb, 0x07, 0x69, 0xd2, 0xb6, 0x3f, 0x6d, 0xdb, 0xd3, 0xc4, 0xee, 0xa3,
- 0xed, 0xb2, 0xdd, 0x8a, 0xaa, 0xab, 0xf6, 0x49, 0xfb, 0xaa, 0xf1, 0xde,
- 0xb4, 0x53, 0x9d, 0xad, 0x99, 0x5b, 0xb4, 0xd5, 0x34, 0x77, 0x21, 0x8e,
- 0x4e, 0xcd, 0x35, 0x5e, 0x79, 0xaa, 0x6b, 0x53, 0x59, 0x4d, 0x68, 0x91,
- 0x1b, 0x7b, 0x93, 0xe7, 0xac, 0xe0, 0x79, 0x4c, 0x00, 0xe3, 0xf1, 0x23,
- 0xe2, 0xc5, 0xfe, 0xfe, 0x3e, 0x7d, 0xb0, 0x2f, 0x7b, 0xbc, 0xaf, 0xcc,
- 0x69, 0xff, 0x9a, 0x93, 0xa1, 0xa6, 0x1b, 0xd1, 0xf0, 0x7a, 0xc9, 0x79,
- 0x3c, 0xd9, 0x9d, 0x48, 0x56, 0x3a, 0x90, 0x7a, 0x80, 0x4b, 0xfc, 0xc0,
- 0xfa, 0xb5, 0xc0, 0x85, 0x54, 0xae, 0x31, 0x51, 0x56, 0x90, 0xa0, 0x65,
- 0x9e, 0x49, 0xe3, 0x33, 0xd2, 0x43, 0x6b, 0x0e, 0xe5, 0x72, 0x6e, 0x16,
- 0x02, 0x6f, 0xce, 0x9a, 0x3b, 0xca, 0x51, 0xd1, 0x2d, 0x16, 0x8a, 0x3b,
- 0xd9, 0xbb, 0x60, 0x38, 0xd0, 0x52, 0xc3, 0xe2, 0xda, 0xc3, 0x6f, 0xdc,
- 0xee, 0x80, 0x78, 0xe2, 0x00, 0x49, 0xca, 0x64, 0x7a, 0xe0, 0x88, 0x71,
- 0x72, 0x91, 0x04, 0x38, 0x4a, 0x0c, 0x40, 0x6b, 0x86, 0xb4, 0xae, 0x68,
- 0x1f, 0x6f, 0xf0, 0xce, 0x4b, 0x42, 0x09, 0xff, 0x59, 0x34, 0x69, 0x6b,
- 0x7b, 0xc5, 0x86, 0xc8, 0xeb, 0x3f, 0x4a, 0xc0, 0xef, 0xa6, 0xf6, 0xfa,
- 0xf3, 0xbf, 0xbe, 0x4d, 0x89, 0x5e, 0x1f, 0xfc, 0x18, 0x37, 0xdd, 0xe6,
- 0xcb, 0xb2, 0xe0, 0x4d, 0x74, 0xed, 0x00, 0x0f, 0x24, 0x6a, 0x48, 0x23,
- 0x0d, 0x0b, 0xda, 0xee, 0x09, 0xd0, 0x51, 0x24, 0xb4, 0xd6, 0xc1, 0xa7,
- 0xde, 0xc5, 0x8d, 0x6b, 0xc4, 0xa8, 0xde, 0x5f, 0xde, 0xa4, 0xc5, 0xa4,
- 0x6a, 0xf4, 0x75, 0xcd, 0xe7, 0xc9, 0x62, 0xfa, 0xe0, 0x54, 0x13, 0x6d,
- 0x7e, 0xd5, 0x75, 0x1e, 0x6a, 0xb8, 0x1a, 0x0b, 0x2d, 0x1b, 0xa3, 0x63,
- 0x2c, 0xaa, 0xad, 0xa0, 0xa3, 0x98, 0x2f, 0xdb, 0xcb, 0x86, 0xaf, 0x24,
- 0xd6, 0x9e, 0x6b, 0x80, 0x9c, 0xcd, 0x1d, 0x0a, 0x6e, 0x35, 0x97, 0x11,
- 0xad, 0xa8, 0xa2, 0x9a, 0x59, 0xb0, 0x2a, 0x16, 0x4e, 0xf4, 0xcb, 0x29,
- 0x2f, 0x3d, 0xee, 0xe2, 0x84, 0x24, 0x7c, 0x44, 0xb6, 0x5b, 0x9e, 0x78,
- 0x3a, 0x97, 0xb4, 0x64, 0x4e, 0x24, 0x83, 0xa1, 0x30, 0x8e, 0x5a, 0x62,
- 0xeb, 0xf9, 0xe2, 0x34, 0xb4, 0xa7, 0x55, 0xc9, 0xe3, 0x8a, 0x87, 0x17,
- 0xc4, 0xf1, 0x22, 0x01, 0xbe, 0x4d, 0x58, 0xf0, 0xc1, 0x92, 0xfb, 0x9a,
- 0x2a, 0x7e, 0xc1, 0xce, 0x66, 0x71, 0x7a, 0x92, 0x22, 0xbe, 0x89, 0xa4,
- 0x70, 0x70, 0x5f, 0xb6, 0x83, 0xe5, 0x13, 0x85, 0x8d, 0x66, 0xf5, 0xf8,
- 0xb3, 0x4f, 0x3e, 0x6d, 0x8d, 0xd4, 0x4b, 0x34, 0xc9, 0xc1, 0xc3, 0xb6,
- 0xd2, 0x69, 0xd6, 0xa4, 0x51, 0xf1, 0x84, 0x70, 0x8d, 0x02, 0x4e, 0xb1,
- 0x13, 0x41, 0x59, 0x2e, 0xce, 0xee, 0xb8, 0x69, 0x50, 0xe4, 0x01, 0x75,
- 0xc5, 0x20, 0x20, 0xa9, 0x17, 0x06, 0x9a, 0xaf, 0x50, 0xeb, 0x55, 0x38,
- 0x1c, 0x49, 0xbf, 0x9b, 0x47, 0x5f, 0x20, 0x55, 0x84, 0x3b, 0xa8, 0x35,
- 0xf7, 0x37, 0x96, 0xd5, 0xaf, 0x92, 0xb2, 0x99, 0xbd, 0x84, 0x7d, 0x7f,
- 0xb2, 0xf1, 0x36, 0xe7, 0xb1, 0x66, 0x5f, 0x45, 0xaf, 0xcc, 0x83, 0xec,
- 0xf5, 0x0b, 0x57, 0x66, 0x82, 0x46, 0xc4, 0xc4, 0xf7, 0x4a, 0xf5, 0x2f,
- 0xcd, 0xdc, 0xf8, 0xa2, 0x45, 0x41, 0x31, 0x0c, 0x55, 0x01, 0xa0, 0x29,
- 0xcb, 0xd8, 0x0a, 0xc9, 0xc0, 0x44, 0xc7, 0xd9, 0xd6, 0xf0, 0x91, 0xaa,
- 0x46, 0x6b, 0xd8, 0xe8, 0x4c, 0x2f, 0xd3, 0x36, 0x14, 0x8c, 0x57, 0xae,
- 0x51, 0xc0, 0x1f, 0x4a, 0xc2, 0x3b, 0x0f, 0xa5, 0x6d, 0x25, 0x4c, 0xba,
- 0xe3, 0xf0, 0x9a, 0xe4, 0xbe, 0x71, 0x7e, 0xf1, 0x6e, 0xb0, 0x4e, 0x0d,
- 0x35, 0xff, 0xf0, 0x3e, 0x9e, 0xa1, 0xcc, 0x89, 0xa1, 0x8a, 0xc3, 0xd9,
- 0xe8, 0x53, 0x52, 0xd4, 0x0f, 0x1f, 0xda, 0xed, 0xc4, 0x92, 0x1c, 0x75,
- 0xf9, 0xa1, 0xfa, 0xde, 0xf3, 0x4b, 0x5d, 0xd3, 0x58, 0x43, 0xdf, 0x21,
- 0x28, 0x52, 0x86, 0xe3, 0x40, 0xaa, 0xc4, 0x91, 0xc7, 0x5d, 0x4d, 0xea,
- 0xd5, 0x78, 0x82, 0xe5, 0x00, 0x14, 0xca, 0x6e, 0xab, 0xbb, 0xbb, 0xff,
- 0xc6, 0x8d, 0xf4, 0xf5, 0x17, 0x95, 0xd6, 0xee, 0xee, 0x06, 0xb3, 0x07,
- 0xfb, 0xae, 0xa8, 0x14, 0x7a, 0xf2, 0xb9, 0xa2, 0x2e, 0xab, 0x9c, 0x67,
- 0xd9, 0x2d, 0x1c, 0x71, 0xf9, 0x04, 0xf1, 0xb0, 0x0c, 0x82, 0x11, 0x9a,
- 0x20, 0x38, 0xf6, 0x9b, 0x19, 0x1e, 0x79, 0x12, 0x5a, 0x2e, 0x30, 0x79,
- 0xb1, 0x3f, 0x75, 0xd5, 0xf7, 0xa5, 0x07, 0xfd, 0x2a, 0x53, 0x99, 0x7c,
- 0x44, 0xd7, 0x8a, 0x51, 0x59, 0x53, 0x70, 0x28, 0xca, 0x7c, 0x39, 0x2e,
- 0x9b, 0x0e, 0xa3, 0x1f, 0xc2, 0xba, 0x42, 0xa2, 0x5f, 0x99, 0x9e, 0x00,
- 0x13, 0x47, 0x85, 0x25, 0xb8, 0xd8, 0x7b, 0x54, 0x0f, 0x6b, 0xd3, 0xd8,
- 0xba, 0x80, 0xea, 0xec, 0xf6, 0x24, 0x38, 0x5b, 0x13, 0xa4, 0x7d, 0x3a,
- 0xef, 0xca, 0x85, 0xef, 0xdc, 0x25, 0xa3, 0xd7, 0x5f, 0x70, 0x40, 0xd4,
- 0x3d, 0xa0, 0xfe, 0x04, 0xf2, 0x93, 0x69, 0x70, 0x93, 0xff, 0xec, 0x70,
- 0x8a, 0x7c, 0xdb, 0xba, 0x13, 0x17, 0x5f, 0xd5, 0x62, 0x00, 0x35, 0x10,
- 0xb4, 0x76, 0x99, 0x65, 0x2b, 0x1b, 0x73, 0x35, 0xa0, 0xb0, 0x18, 0x41,
- 0x54, 0x3f, 0x8b, 0x1e, 0x57, 0x89, 0xa7, 0x42, 0xa1, 0x3c, 0xde, 0xc5,
- 0xb9, 0xc2, 0xb9, 0xe2, 0x14, 0xb6, 0x65, 0xe8, 0x8e, 0x1e, 0x1c, 0x88,
- 0xb8, 0x65, 0xeb, 0xbd, 0xee, 0x79, 0x37, 0xd7, 0xea, 0x05, 0xe1, 0xa7,
- 0x5f, 0x7f, 0x01, 0xdc, 0x1a, 0xfe, 0xf5, 0x2f, 0xee, 0x6d, 0xfe, 0x87,
- 0xa8, 0x98, 0x18, 0xc1, 0xca, 0x89, 0xb0, 0x28, 0x72, 0xb9, 0xcc, 0x21,
- 0x66, 0x24, 0x72, 0x24, 0x0b, 0x10, 0x86, 0xa1, 0x52, 0x2a, 0x37, 0x79,
- 0xbb, 0x77, 0xf2, 0x6e, 0xef, 0x78, 0xf0, 0x98, 0x92, 0x16, 0x1a, 0x7a,
- 0x5c, 0x18, 0x0c, 0xcc, 0x2e, 0x15, 0xa5, 0x8b, 0xcf, 0xa3, 0x86, 0x23,
- 0xcb, 0x4d, 0xf8, 0x78, 0x45, 0x02, 0x9f, 0xdf, 0xad, 0xd7, 0xa7, 0x26,
- 0xc7, 0xbb, 0xb4, 0x3b, 0xc1, 0xe9, 0x70, 0xa0, 0xfe, 0xa2, 0x49, 0xb4,
- 0xc6, 0xaf, 0x22, 0xc9, 0x30, 0x8f, 0xa5, 0x4a, 0x8b, 0xd3, 0x17, 0xa7,
- 0x29, 0xd7, 0x03, 0x9c, 0x32, 0x6e, 0xd8, 0xb1, 0x56, 0x36, 0xeb, 0x7e,
- 0xd1, 0xc5, 0x1a, 0x74, 0x5f, 0x75, 0x79, 0x43, 0xf3, 0xb8, 0x89, 0x24,
- 0x29, 0x69, 0xc3, 0x1a, 0x08, 0xd8, 0x15, 0xaa, 0xe9, 0xda, 0x20, 0x74,
- 0xcd, 0x64, 0x64, 0xf0, 0x40, 0xcf, 0x35, 0xba, 0x8f, 0xeb, 0x7a, 0x25,
- 0xf1, 0xbc, 0xc5, 0x6a, 0x0e, 0x78, 0x1b, 0x97, 0x47, 0x27, 0xd5, 0x51,
- 0x70, 0x2d, 0xf8, 0x99, 0x8b, 0x24, 0x9f, 0x33, 0xc7, 0x60, 0x07, 0xaf,
- 0xc0, 0x8c, 0xb5, 0x39, 0xad, 0xdd, 0xda, 0xe8, 0x78, 0x64, 0x20, 0x1c,
- 0x50, 0x40, 0xb7, 0x72, 0xca, 0x41, 0x84, 0xb0, 0x57, 0xd1, 0x97, 0x57,
- 0x57, 0x9a, 0xe9, 0x87, 0x39, 0x23, 0x2f, 0x9a, 0x26, 0xdd, 0xc0, 0x3a,
- 0xd3, 0x22, 0x82, 0x44, 0xc6, 0x75, 0x54, 0x97, 0xfe, 0x15, 0x89, 0x35,
- 0x57, 0xd3, 0x6c, 0x94, 0x5d, 0x5e, 0x3e, 0x42, 0x1b, 0x05, 0x5d, 0x88,
- 0x74, 0x39, 0x15, 0x70, 0x60, 0x21, 0xc2, 0x9f, 0xe3, 0xda, 0xf9, 0xbd,
- 0x91, 0x96, 0xd6, 0x63, 0xec, 0xec, 0x81, 0x98, 0x93, 0x14, 0xbe, 0xae,
- 0x31, 0xa9, 0xc0, 0xef, 0x62, 0xb1, 0xf7, 0x16, 0x32, 0x89, 0x92, 0x6b,
- 0x98, 0xb6, 0x05, 0x62, 0x79, 0x28, 0x07, 0x12, 0x6d, 0xfe, 0xf1, 0xcf,
- 0x1f, 0x7f, 0x6e, 0x41, 0x3f, 0x61, 0x73, 0xaa, 0x05, 0x1d, 0x73, 0xd0,
- 0xa5, 0x26, 0x4b, 0xc0, 0xe0, 0x49, 0x3b, 0x50, 0x7a, 0xa8, 0x2e, 0x2d,
- 0x7f, 0x10, 0x04, 0x95, 0x36, 0x2f, 0x8c, 0xc2, 0x77, 0x18, 0xc3, 0xe3,
- 0x59, 0x9a, 0x1b, 0x79, 0x9a, 0x5c, 0xc5, 0x92, 0x0f, 0xed, 0x2e, 0x4f,
- 0xb5, 0xf3, 0x3f, 0x18, 0x42, 0x79, 0xc3, 0xa8, 0xea, 0x73, 0x46, 0x43,
- 0x41, 0x0a, 0x46, 0xbb, 0xf3, 0x23, 0x67, 0x48, 0x0e, 0x36, 0xe2, 0x2b,
- 0xde, 0x88, 0xc6, 0xaa, 0xf9, 0x6c, 0x92, 0x5e, 0x0d, 0x1f, 0xba, 0x92,
- 0xee, 0x8b, 0xe0, 0x74, 0x49, 0xc6, 0xad, 0x22, 0x6e, 0xac, 0x44, 0xef,
- 0xc9, 0xf2, 0x1a, 0xc0, 0x87, 0x88, 0x5c, 0x66, 0x82, 0x09, 0xfc, 0xe5,
- 0x5f, 0x1d, 0x5e, 0x44, 0x06, 0xa7, 0xd4, 0xa0, 0xfb, 0xa0, 0x82, 0x82,
- 0x4b, 0xed, 0xf5, 0xd8, 0x4b, 0xc8, 0x03, 0x77, 0x95, 0x9c, 0xee, 0xcc,
- 0xa7, 0x82, 0xf8, 0x83, 0x16, 0x25, 0x44, 0x81, 0x3c, 0x44, 0xab, 0xb3,
- 0x34, 0x5f, 0xbf, 0x6c, 0xc7, 0x06, 0xb9, 0xd0, 0xfd, 0x6b, 0x37, 0xf2,
- 0xb0, 0x0a, 0x6d, 0x91, 0x11, 0x1e, 0x5e, 0xac, 0x96, 0xcf, 0xda, 0x3f,
- 0xea, 0xb9, 0x4c, 0x6b, 0x5d, 0x30, 0x59, 0x47, 0x37, 0x95, 0x51, 0x0b,
- 0x74, 0xd2, 0xaa, 0x81, 0x7c, 0x7d, 0xb8, 0x77, 0x60, 0xb3, 0xfd, 0x2f,
- 0x48, 0x49, 0x75, 0x7e, 0x8a, 0x51, 0x22, 0x70, 0x51, 0x4b, 0xb3, 0x70,
- 0xcb, 0xa6, 0x39, 0x63, 0x41, 0x4b, 0x24, 0x0b, 0xc9, 0x6c, 0xc0, 0x3e,
- 0x85, 0x2a, 0x27, 0x88, 0x2a, 0x0a, 0xb5, 0x2f, 0xf1, 0xc5, 0x6e, 0x3d,
- 0x42, 0x03, 0x77, 0x60, 0xbe, 0x6e, 0x2d, 0x86, 0x11, 0x54, 0x86, 0x0a,
- 0x28, 0xfb, 0x1a, 0x19, 0x3b, 0xd3, 0x45, 0x23, 0x75, 0x23, 0xbe, 0xe2,
- 0x7c, 0xb2, 0xe9, 0x22, 0x78, 0x36, 0xc8, 0xee, 0x79, 0x25, 0x3f, 0x57,
- 0x5c, 0x2c, 0x87, 0x40, 0x91, 0xd1, 0x47, 0xc3, 0xb4, 0xb5, 0xab, 0xa0,
- 0x90, 0x07, 0x89, 0x1a, 0x7c, 0x67, 0x5c, 0x71, 0x6e, 0x10, 0xae, 0x7c,
- 0xe2, 0xa1, 0xf5, 0x75, 0x50, 0x0e, 0x84, 0x44, 0x77, 0x57, 0x77, 0x35,
- 0x09, 0x5a, 0x2f, 0xc2, 0x50, 0x74, 0xcd, 0xad, 0xb1, 0x1a, 0x16, 0x93,
- 0x46, 0x81, 0x01, 0x62, 0x37, 0x45, 0x49, 0x62, 0xa0, 0x8d, 0x8c, 0x5f,
- 0xba, 0x8e, 0x0b, 0x6f, 0x7d, 0x95, 0xdc, 0x68, 0x71, 0x7f, 0xf9, 0x73,
- 0x63, 0x4e, 0x9a, 0x26, 0x8c, 0xbb, 0xd3, 0xec, 0x14, 0x92, 0x69, 0x89,
- 0x6d, 0x83, 0xb4, 0xcd, 0x59, 0xb4, 0xfc, 0x92, 0xe6, 0x1d, 0x69, 0x97,
- 0x61, 0x94, 0xcf, 0x8a, 0xf3, 0xaa, 0xb2, 0xb5, 0xf3, 0x0c, 0x65, 0xf3,
- 0xa4, 0x6a, 0x39, 0xe1, 0x39, 0x5a, 0x96, 0x13, 0x72, 0x8a, 0x50, 0x40,
- 0xb7, 0x71, 0xed, 0x01, 0x44, 0xb8, 0x5c, 0x5e, 0x4a, 0xcc, 0xe7, 0xdc,
- 0x10, 0x82, 0x31, 0x50, 0x97, 0xeb, 0x39, 0xc9, 0x50, 0xfc, 0xd5, 0xd6,
- 0xcc, 0x14, 0xff, 0xb8, 0x81, 0xb9, 0x6b, 0xc3, 0xd1, 0xe9, 0xf8, 0x14,
- 0x41, 0xc7, 0xeb, 0x19, 0x9d, 0x15, 0x7b, 0xcb, 0x38, 0x2f, 0x09, 0x30,
- 0x86, 0x14, 0x06, 0xf6, 0xae, 0xc9, 0xd2, 0xb5, 0xe0, 0x82, 0x64, 0xa7,
- 0x32, 0xb8, 0xf7, 0x2c, 0x63, 0xa7, 0xe8, 0xdc, 0x4f, 0x5b, 0x17, 0x8c,
- 0xee, 0x88, 0xab, 0xf4, 0xd6, 0x6a, 0xd4, 0x60, 0x64, 0x2d, 0x09, 0x39,
- 0x36, 0x08, 0x13, 0xf6, 0x35, 0x28, 0x41, 0xf2, 0x9c, 0xa3, 0x02, 0xf8,
- 0xeb, 0x6e, 0x3b, 0xc7, 0xd9, 0x14, 0x89, 0xd1, 0x31, 0x8a, 0x1b, 0xed,
- 0x32, 0x61, 0xd7, 0x1d, 0x1e, 0x5f, 0x93, 0x58, 0xb7, 0xdb, 0x69, 0x0f,
- 0xc7, 0xad, 0xf0, 0xf6, 0xc2, 0x41, 0x36, 0xc2, 0x6b, 0xae, 0x83, 0x06,
- 0x3a, 0xf2, 0x64, 0xb2, 0xa9, 0x03, 0xd6, 0xda, 0xb3, 0xad, 0xa3, 0xb6,
- 0x60, 0xf2, 0x05, 0x22, 0xac, 0xb0, 0xfb, 0x28, 0xd9, 0xc5, 0xb5, 0x92,
- 0x58, 0x2f, 0x0b, 0x08, 0x1a, 0x99, 0x85, 0xbc, 0x43, 0xd4, 0x74, 0xdb,
- 0x35, 0xa9, 0x31, 0xbb, 0xb9, 0x33, 0xd9, 0xe9, 0x68, 0x74, 0x51, 0x76,
- 0xd9, 0xcc, 0x63, 0xaf, 0x3b, 0xdc, 0x23, 0xce, 0xe3, 0x8a, 0xf3, 0x3c,
- 0xa5, 0x73, 0xd8, 0x40, 0xb8, 0x94, 0xa8, 0xaa, 0xd2, 0xd5, 0x55, 0x05,
- 0x64, 0xeb, 0x4c, 0x9c, 0x29, 0xb4, 0x23, 0x6c, 0x56, 0x80, 0x48, 0xc8,
- 0x69, 0xa4, 0x6b, 0xab, 0x6c, 0xe9, 0x48, 0xc5, 0xa9, 0x95, 0xcb, 0x82,
- 0x35, 0x3d, 0xcc, 0x5c, 0x5c, 0x85, 0x1c, 0xb0, 0x4a, 0x04, 0x0e, 0x4a,
- 0x5b, 0x82, 0x53, 0x8b, 0x4a, 0x14, 0x2c, 0xf9, 0x66, 0x0e, 0x8a, 0x6a,
- 0x8b, 0x8f, 0xe0, 0xb7, 0x8c, 0x79, 0x04, 0xb2, 0x33, 0x57, 0x03, 0x5d,
- 0x2c, 0x47, 0xb3, 0xc9, 0x8b, 0xe8, 0x15, 0xfd, 0x53, 0xe7, 0x6c, 0xa8,
- 0x46, 0x83, 0xb0, 0x09, 0x95, 0x85, 0x55, 0x16, 0xc2, 0xef, 0xcf, 0x76,
- 0xf8, 0x40, 0xdc, 0x53, 0x9b, 0xe3, 0x94, 0x65, 0x12, 0xba, 0x07, 0xae,
- 0xd2, 0x52, 0xe2, 0xd2, 0xf5, 0x85, 0xf6, 0xd2, 0x29, 0x52, 0x1e, 0x22,
- 0xda, 0xde, 0xf9, 0x2c, 0x1a, 0xa5, 0x65, 0xf4, 0xf6, 0xe0, 0x85, 0x14,
- 0x5f, 0x2a, 0x96, 0x33, 0x5f, 0xa4, 0x0f, 0xe8, 0x90, 0xa8, 0x56, 0xca,
- 0x0e, 0x3f, 0x1a, 0xe3, 0xb4, 0x51, 0x07, 0xe1, 0x26, 0x79, 0xe8, 0xd5,
- 0x1d, 0x4b, 0x97, 0xe6, 0x04, 0x0b, 0xec, 0xd5, 0x8e, 0xe2, 0x50, 0xfb,
- 0x54, 0x0b, 0x18, 0x34, 0x05, 0x7a, 0x9a, 0x3f, 0x8d, 0xa0, 0xb0, 0xc2,
- 0x2d, 0x17, 0x35, 0x68, 0x6d, 0x26, 0x03, 0x64, 0x63, 0xed, 0x9f, 0x49,
- 0xa4, 0x1c, 0x22, 0x8a, 0x82, 0xbc, 0xf2, 0xfa, 0xad, 0x10, 0x1a, 0xee,
- 0x3e, 0xad, 0x9a, 0x56, 0xa5, 0x04, 0x9b, 0x61, 0x81, 0xf4, 0x49, 0xb9,
- 0xba, 0x5a, 0x55, 0x57, 0x2b, 0x3a, 0xc2, 0xb3, 0x7a, 0x8a, 0x4d, 0x23,
- 0x3e, 0xc6, 0x1b, 0x41, 0x62, 0xa6, 0xdc, 0xba, 0x7c, 0x0e, 0xd2, 0x31,
- 0x97, 0x37, 0x6c, 0xc0, 0x1a, 0x2e, 0x3d, 0xd4, 0xa5, 0x15, 0x7b, 0xcb,
- 0x97, 0x82, 0x6f, 0xbb, 0xb7, 0x60, 0x33, 0x4f, 0xb4, 0x3d, 0xb8, 0xef,
- 0x85, 0xb5, 0x66, 0x14, 0x0c, 0x19, 0x25, 0x65, 0x1a, 0xd9, 0x48, 0xf0,
- 0x2a, 0xd7, 0x46, 0xc3, 0x6d, 0x8b, 0x7d, 0x6d, 0xca, 0x21, 0x13, 0xb9,
- 0x70, 0xe0, 0x1d, 0x62, 0x65, 0x57, 0x31, 0xb0, 0x78, 0x03, 0xca, 0x4b,
- 0xe9, 0x1c, 0x28, 0x54, 0xd0, 0xaa, 0x79, 0xcb, 0xb7, 0x41, 0x61, 0x13,
- 0xbb, 0x86, 0x55, 0x16, 0x97, 0x80, 0x43, 0x21, 0xb7, 0xe0, 0xeb, 0x66,
- 0x41, 0x1c, 0x6e, 0xc6, 0x9d, 0x5e, 0x68, 0xbf, 0xb2, 0x02, 0x7d, 0xbe,
- 0xf8, 0x7a, 0x2c, 0x73, 0x25, 0x9e, 0x4f, 0xfa, 0x18, 0x4b, 0x69, 0xb4,
- 0x19, 0x5b, 0x5c, 0x58, 0x4d, 0x47, 0x54, 0x4d, 0x1f, 0x84, 0xc7, 0x09,
- 0x7c, 0xfc, 0x92, 0x99, 0x5f, 0x6b, 0xa6, 0xe9, 0x99, 0x60, 0x81, 0x45,
- 0xd5, 0xaa, 0xa5, 0xe6, 0x98, 0xf6, 0x62, 0xb2, 0x6b, 0x66, 0xe0, 0x4c,
- 0x24, 0xc9, 0xbc, 0x6c, 0x99, 0x9a, 0xf5, 0x26, 0x13, 0x09, 0xbc, 0xa8,
- 0x61, 0xa1, 0xdf, 0x41, 0xb4, 0x37, 0x37, 0x4d, 0x5c, 0x93, 0xdb, 0x25,
- 0xb3, 0xa0, 0x81, 0xf4, 0x7f, 0x93, 0x34, 0x4c, 0x02, 0x6a, 0x13, 0x08,
- 0x66, 0x46, 0x62, 0xd5, 0xd6, 0xee, 0x76, 0xa5, 0x42, 0xb3, 0x42, 0x89,
- 0xa3, 0x70, 0xc2, 0xef, 0x17, 0x14, 0x7c, 0xa4, 0x82, 0x58, 0x1b, 0xbd,
- 0x6c, 0x72, 0xdc, 0xdf, 0x9b, 0xa3, 0xe3, 0xc3, 0x8d, 0xe8, 0x0d, 0x57,
- 0xbf, 0x76, 0x19, 0xdd, 0xae, 0x8c, 0x1e, 0x1d, 0xdf, 0x3f, 0xc8, 0x27,
- 0x46, 0xfe, 0xaa, 0x84, 0xb6, 0x19, 0x55, 0xcd, 0xeb, 0x2d, 0xe2, 0xb4,
- 0x9c, 0x09, 0xcc, 0x42, 0xb2, 0x46, 0x32, 0xdc, 0x6d, 0x06, 0xb4, 0x6b,
- 0x01, 0x56, 0xad, 0xe4, 0x07, 0x6b, 0x9b, 0xaf, 0x8a, 0xe0, 0x91, 0x86,
- 0x51, 0x31, 0x58, 0x63, 0x13, 0x79, 0xe0, 0x91, 0xd9, 0xe4, 0xaa, 0x15,
- 0x72, 0x5b, 0x46, 0x27, 0xf5, 0x8a, 0xd2, 0x5f, 0x24, 0x40, 0x16, 0xab,
- 0x36, 0xcb, 0x26, 0x0e, 0xb7, 0x4d, 0xaa, 0x17, 0xf0, 0x7c, 0x83, 0xb5,
- 0xfb, 0x1b, 0xad, 0xdd, 0xdf, 0x96, 0xf3, 0x9b, 0xbe, 0x56, 0xa9, 0x52,
- 0xbc, 0x81, 0xa2, 0xfd, 0xec, 0x7d, 0xe7, 0x9c, 0xfd, 0x08, 0x56, 0x14,
- 0x43, 0x67, 0xb3, 0x58, 0x53, 0x1c, 0xc0, 0x36, 0xf5, 0x1e, 0x29, 0xf6,
- 0xe0, 0x51, 0xbc, 0xa4, 0xca, 0xee, 0x98, 0xa3, 0x24, 0xa1, 0x1f, 0x76,
- 0xac, 0x68, 0x96, 0x35, 0xdc, 0x19, 0x84, 0xd0, 0x51, 0x0d, 0x2c, 0xc8,
- 0xc2, 0x12, 0x63, 0xae, 0x5d, 0xc9, 0x23, 0x48, 0xb0, 0xea, 0xc6, 0xe7,
- 0xe2, 0xf5, 0xbc, 0xde, 0x74, 0xcf, 0xfb, 0x72, 0x5c, 0x5a, 0xe7, 0x9a,
- 0x49, 0xa9, 0x76, 0xcd, 0x4a, 0xba, 0x92, 0xc1, 0xea, 0x16, 0x86, 0x00,
- 0x62, 0x23, 0x8c, 0xea, 0x83, 0x33, 0xc8, 0x5d, 0x96, 0x0d, 0xba, 0x0d,
- 0xc2, 0x19, 0x4f, 0x33, 0xa9, 0x80, 0x71, 0x17, 0xc6, 0xd8, 0xdc, 0x80,
- 0xcf, 0x15, 0x6d, 0xf1, 0x2a, 0x96, 0x78, 0x17, 0xaa, 0xd0, 0x81, 0xdd,
- 0x4f, 0xe5, 0x5e, 0x87, 0xb7, 0xab, 0xbc, 0xa3, 0x63, 0xad, 0x75, 0x9a,
- 0x89, 0x00, 0x95, 0x3a, 0xdb, 0x30, 0x25, 0x79, 0xd0, 0x93, 0x3d, 0x5a,
- 0xef, 0xc6, 0x23, 0x1c, 0x5a, 0x2d, 0xd1, 0xa5, 0x49, 0x4b, 0x0d, 0x53,
- 0x81, 0x7c, 0x25, 0xa2, 0x36, 0x3f, 0x79, 0x05, 0xdc, 0xa2, 0x96, 0xdc,
- 0x21, 0xe9, 0x46, 0x90, 0xe7, 0x63, 0x76, 0x27, 0xd5, 0xf7, 0xce, 0xd5,
- 0x74, 0xd6, 0xdb, 0x4a, 0x1d, 0x03, 0xd3, 0x69, 0x65, 0x44, 0x1e, 0x74,
- 0x22, 0x98, 0x68, 0x4b, 0x8a, 0x07, 0x50, 0xfb, 0xf5, 0x26, 0xaf, 0xac,
- 0xb1, 0x31, 0x98, 0x56, 0xd1, 0xcc, 0x19, 0x7d, 0xa0, 0xc7, 0x40, 0xe2,
- 0xc4, 0x55, 0xa6, 0xc8, 0xee, 0xea, 0x25, 0x44, 0x32, 0xb9, 0xd8, 0x2f,
- 0x23, 0x57, 0x4b, 0x67, 0x45, 0x89, 0x1c, 0x64, 0x49, 0x5d, 0xc7, 0xf7,
- 0xf7, 0x83, 0x22, 0x91, 0x9a, 0x31, 0x45, 0x31, 0x45, 0x5a, 0x56, 0xb5,
- 0x36, 0x0e, 0x67, 0xe4, 0x26, 0x8b, 0x78, 0x8a, 0x28, 0x2b, 0x3e, 0x9f,
- 0xab, 0x6a, 0x90, 0x54, 0x4c, 0x5c, 0xe6, 0x26, 0xc5, 0x1b, 0x71, 0xb5,
- 0x52, 0xc8, 0x5c, 0xea, 0x71, 0x0b, 0x46, 0xec, 0x8c, 0xed, 0x53, 0x51,
- 0x3a, 0x69, 0x46, 0x89, 0x09, 0x44, 0x0d, 0xfc, 0x21, 0xbc, 0x71, 0x6e,
- 0x14, 0x2c, 0x7d, 0x8f, 0xd4, 0x30, 0xeb, 0xba, 0x30, 0x77, 0x11, 0xd7,
- 0x08, 0xbf, 0x4d, 0x27, 0xcb, 0x86, 0xf2, 0x57, 0x7f, 0xdd, 0x2a, 0x10,
- 0x06, 0xe1, 0xd1, 0x38, 0x89, 0xfc, 0x44, 0xe6, 0xee, 0x38, 0x40, 0x3f,
- 0xa2, 0xb2, 0x55, 0x83, 0x39, 0x5e, 0x6a, 0xd2, 0x3c, 0xb8, 0xee, 0xc5,
- 0xfe, 0xd9, 0xfb, 0x6f, 0x0e, 0x0f, 0xcf, 0x8e, 0x0e, 0x98, 0x1d, 0x82,
- 0xff, 0xba, 0x8f, 0x4e, 0x2e, 0xbe, 0x3d, 0xf6, 0x89, 0xf3, 0x2a, 0x39,
- 0xd7, 0x0f, 0x14, 0x1b, 0x42, 0xb9, 0xb9, 0xe3, 0x74, 0xbe, 0xbc, 0xef,
- 0xa1, 0xf2, 0x06, 0xc9, 0xdd, 0x7b, 0x47, 0xdf, 0xf7, 0xa2, 0xaf, 0xcf,
- 0xfa, 0xef, 0xbe, 0x77, 0xb7, 0xf6, 0xc6, 0xa0, 0x11, 0x0c, 0x44, 0xec,
- 0xbc, 0x1e, 0xc9, 0xe2, 0x62, 0x83, 0x80, 0x99, 0xe3, 0xe7, 0x6e, 0x24,
- 0xd6, 0x02, 0xe2, 0xf9, 0x81, 0x06, 0x97, 0xaa, 0x31, 0x3b, 0xbc, 0xfe,
- 0x9c, 0xb1, 0x05, 0xbb, 0xdf, 0xc2, 0xfd, 0xa5, 0x5a, 0xfb, 0x20, 0x24,
- 0xac, 0x87, 0xe8, 0x15, 0xfd, 0xd3, 0x96, 0x54, 0xb5, 0xc9, 0x05, 0x7c,
- 0xa3, 0xb3, 0x20, 0xd3, 0xdc, 0x39, 0x74, 0x06, 0x16, 0x04, 0xa3, 0x8a,
- 0xb5, 0xe6, 0x08, 0xa8, 0xd3, 0x2c, 0x6f, 0x44, 0x51, 0xba, 0x16, 0x7c,
- 0xbd, 0x43, 0xad, 0x59, 0xdf, 0xea, 0x8c, 0xfb, 0x0d, 0xb3, 0xc9, 0xa8,
- 0xd3, 0x27, 0xd3, 0x97, 0x1b, 0x53, 0xe4, 0x47, 0x07, 0x0e, 0xbf, 0x41,
- 0x6f, 0x70, 0x6e, 0x04, 0xf3, 0x93, 0x55, 0x6b, 0x03, 0xfc, 0x95, 0xf4,
- 0x66, 0x9f, 0x88, 0x8f, 0xe7, 0x52, 0x0e, 0x95, 0x38, 0x38, 0x3c, 0xef,
- 0x21, 0x5b, 0x2c, 0xcc, 0x68, 0x76, 0xa8, 0x1d, 0x5a, 0xb9, 0xa5, 0x6c,
- 0xb5, 0xe5, 0x00, 0x79, 0xe0, 0x7f, 0x5e, 0x26, 0xf3, 0x4d, 0x3e, 0x8a,
- 0x5e, 0x4d, 0xe9, 0xc5, 0xe9, 0x8a, 0x00, 0x4e, 0x2d, 0xaa, 0xf7, 0x4d,
- 0x92, 0x8f, 0x92, 0x3c, 0x2b, 0xea, 0x89, 0x2e, 0x9a, 0x1e, 0xab, 0xc5,
- 0xcb, 0xb8, 0x1d, 0x4b, 0x98, 0x6b, 0x60, 0x93, 0x94, 0x60, 0xd5, 0xfc,
- 0x42, 0x23, 0xa4, 0xbf, 0x8b, 0x40, 0xac, 0x6e, 0x2f, 0xea, 0x72, 0x32,
- 0x0f, 0xff, 0x24, 0xf6, 0x75, 0x09, 0x5f, 0x41, 0x1a, 0x4f, 0xbb, 0x2d,
- 0x09, 0xa3, 0x5d, 0x5d, 0xf5, 0x2e, 0xad, 0xf6, 0x50, 0x4d, 0x7f, 0xb0,
- 0x03, 0xc2, 0xeb, 0xc7, 0xc8, 0x29, 0x18, 0x8b, 0x81, 0x28, 0xb0, 0x56,
- 0xef, 0xd3, 0x07, 0x8a, 0x06, 0xf2, 0x8c, 0x6b, 0xae, 0x9a, 0x4e, 0xd1,
- 0x58, 0xb0, 0x16, 0xce, 0xab, 0x21, 0x6b, 0x85, 0xf7, 0x7b, 0x58, 0xda,
- 0xe9, 0x5d, 0xec, 0xd2, 0xa5, 0x25, 0x7d, 0xef, 0x46, 0x17, 0xf1, 0x79,
- 0xc3, 0x39, 0x18, 0x45, 0x5f, 0x0d, 0x87, 0x7b, 0x67, 0x47, 0xd1, 0x3a,
- 0xfd, 0xec, 0x9f, 0x58, 0x29, 0xdd, 0x0d, 0x23, 0x1a, 0xaf, 0xb6, 0xf1,
- 0x4c, 0x90, 0x29, 0xc0, 0x72, 0x27, 0x47, 0x51, 0xbc, 0x2b, 0x1a, 0x79,
- 0x79, 0xdf, 0xd2, 0x25, 0x67, 0xca, 0x87, 0xc0, 0x85, 0xa8, 0xe5, 0x2f,
- 0x8f, 0x2a, 0xf5, 0xb9, 0xb8, 0x9c, 0xf8, 0xef, 0x47, 0x5b, 0xdf, 0x48,
- 0xcd, 0x97, 0xcb, 0xf4, 0x8a, 0x83, 0x84, 0xf1, 0xb3, 0x0d, 0x3d, 0xc5,
- 0xce, 0x9d, 0x95, 0xc9, 0xf3, 0x4f, 0x7a, 0x49, 0x12, 0x48, 0x45, 0x9a,
- 0x10, 0x22, 0x02, 0xe5, 0xc0, 0x20, 0xcc, 0x1b, 0xd8, 0x2e, 0xf6, 0x72,
- 0x1a, 0x84, 0x12, 0x40, 0xd8, 0x70, 0x1d, 0x04, 0x75, 0xdf, 0x7d, 0xa3,
- 0xd0, 0x9c, 0x9a, 0x64, 0x6b, 0xb5, 0x82, 0xf4, 0x65, 0x31, 0x2f, 0x87,
- 0x13, 0x56, 0x41, 0x52, 0x6c, 0x40, 0xec, 0x0c, 0xb7, 0x37, 0xc4, 0xc2,
- 0x56, 0xb7, 0x40, 0x8d, 0x4b, 0x86, 0x07, 0x0d, 0xc7, 0x30, 0x88, 0x4e,
- 0x17, 0x81, 0x14, 0x76, 0x9d, 0xa4, 0xb9, 0x77, 0x14, 0xfa, 0xf4, 0x53,
- 0x70, 0x87, 0xe6, 0x64, 0x15, 0xa7, 0x2b, 0xac, 0x64, 0x10, 0xae, 0xa0,
- 0xe0, 0xf5, 0x1b, 0xfb, 0x85, 0x43, 0x89, 0x26, 0xc2, 0x08, 0x67, 0xa4,
- 0xc7, 0x37, 0x4e, 0x81, 0xda, 0xfd, 0x90, 0xa7, 0xcc, 0x30, 0xa6, 0x05,
- 0x82, 0x53, 0x22, 0x60, 0x3f, 0x3f, 0x54, 0xbc, 0x11, 0xf0, 0x04, 0xd2,
- 0x61, 0x5a, 0x57, 0xd8, 0xb1, 0xd6, 0x8a, 0x34, 0x62, 0x4a, 0xe7, 0x43,
- 0x1f, 0xa0, 0x48, 0x5b, 0x09, 0x1e, 0xdf, 0xfe, 0x86, 0x2b, 0xb0, 0xec,
- 0xfd, 0xa3, 0xd0, 0x25, 0x5a, 0x90, 0x9f, 0x63, 0xd9, 0x46, 0x9b, 0x80,
- 0x95, 0x27, 0x0a, 0x1c, 0xab, 0x58, 0x2f, 0x48, 0xa3, 0x74, 0x33, 0x8a,
- 0x98, 0xad, 0xb9, 0xda, 0x0d, 0x04, 0x97, 0x0c, 0xc8, 0x08, 0xdf, 0x49,
- 0x22, 0xf7, 0x24, 0x5b, 0x32, 0x9f, 0x93, 0x4f, 0xeb, 0x7e, 0x8d, 0x44,
- 0xca, 0x5f, 0x15, 0xec, 0x2b, 0x61, 0xe7, 0x46, 0x0b, 0xda, 0xb9, 0xcb,
- 0xa4, 0xde, 0x8d, 0x7e, 0xfa, 0xa9, 0x17, 0xfd, 0xd4, 0xa1, 0xff, 0x95,
- 0xf4, 0x3f, 0x5a, 0xcf, 0x9f, 0x04, 0x3b, 0xfb, 0xa7, 0x5b, 0xba, 0x47,
- 0x23, 0x2e, 0xdb, 0x34, 0x45, 0xca, 0xaf, 0xc7, 0x45, 0x8e, 0x9a, 0x39,
- 0x3f, 0x12, 0x7a, 0xe7, 0x22, 0x76, 0x90, 0xee, 0x03, 0xe3, 0x8e, 0x2f,
- 0x47, 0x2d, 0xa8, 0xe7, 0xb4, 0x67, 0xcb, 0xd9, 0x5c, 0x74, 0x47, 0xdd,
- 0x79, 0xde, 0xf4, 0x66, 0xfa, 0x6a, 0x1c, 0x75, 0x3f, 0x32, 0x87, 0x72,
- 0x69, 0x89, 0x68, 0x61, 0xfc, 0x22, 0x0e, 0x84, 0x91, 0xb6, 0x2b, 0x95,
- 0x0c, 0x23, 0x70, 0x4b, 0xa5, 0x34, 0xad, 0xdc, 0x77, 0x8a, 0x62, 0xb7,
- 0x52, 0x61, 0x0d, 0x0c, 0x56, 0xd8, 0x06, 0x1b, 0x6b, 0x17, 0xd7, 0x0f,
- 0xd0, 0xc1, 0xa4, 0x61, 0x5f, 0xef, 0x92, 0x86, 0xd8, 0x82, 0x63, 0xdf,
- 0x14, 0xc2, 0x03, 0x3c, 0x25, 0x8b, 0x29, 0x80, 0x3b, 0x3a, 0xe0, 0x2b,
- 0x34, 0xb6, 0x6e, 0xbf, 0x5b, 0x45, 0x34, 0xb3, 0xf0, 0x96, 0xb6, 0xc2,
- 0x0a, 0x41, 0x0d, 0x84, 0xc7, 0x8a, 0x94, 0xab, 0x3e, 0x63, 0x65, 0xc0,
- 0x9d, 0x93, 0x05, 0xce, 0xb3, 0xca, 0x44, 0x54, 0x9f, 0x25, 0xd6, 0xda,
- 0x00, 0xbf, 0x57, 0xa8, 0x26, 0x7d, 0x37, 0x2d, 0x43, 0xac, 0xbf, 0xbe,
- 0x54, 0x17, 0x53, 0xfc, 0x51, 0x48, 0xaf, 0x40, 0xe9, 0xe2, 0x68, 0x95,
- 0x22, 0x9d, 0x2d, 0x1a, 0x16, 0x39, 0x5e, 0x60, 0x2f, 0xfc, 0xf2, 0x30,
- 0x80, 0xbb, 0xcc, 0xc5, 0x1b, 0xee, 0xe6, 0xca, 0x46, 0x86, 0x19, 0x72,
- 0x7d, 0xc5, 0x68, 0x03, 0x34, 0x08, 0x1f, 0xcf, 0xd2, 0xe2, 0xcd, 0x6e,
- 0x98, 0x6f, 0x78, 0x4c, 0xaf, 0xa3, 0xce, 0x4a, 0x6d, 0xa5, 0x53, 0x7f,
- 0xe1, 0x98, 0x51, 0x1a, 0x74, 0xc3, 0x05, 0xa1, 0x6b, 0x1c, 0xcf, 0x1d,
- 0xb0, 0xd2, 0x14, 0x00, 0x02, 0x5a, 0xdf, 0xc9, 0x41, 0x49, 0xe8, 0xb2,
- 0xb5, 0xc1, 0x37, 0x87, 0x29, 0x46, 0x06, 0xf8, 0xa6, 0xa7, 0x92, 0xab,
- 0xc5, 0xad, 0x02, 0x2b, 0x34, 0xdb, 0x83, 0x80, 0x2a, 0x4e, 0xb0, 0x06,
- 0xaa, 0x9d, 0xaf, 0x9b, 0xd6, 0xf7, 0x77, 0xbb, 0xc7, 0x36, 0xd4, 0x7a,
- 0x2c, 0x39, 0x64, 0x2b, 0x90, 0x16, 0x42, 0x06, 0xea, 0xe0, 0x3f, 0x52,
- 0x48, 0xf7, 0xf4, 0xde, 0x12, 0xa9, 0x27, 0x12, 0x3e, 0x67, 0x60, 0x40,
- 0x2b, 0xa9, 0x1a, 0x0a, 0x0f, 0xf7, 0x98, 0x48, 0x38, 0xbc, 0x2b, 0x7c,
- 0x6e, 0x9c, 0x05, 0xb6, 0xf8, 0xc2, 0x09, 0xca, 0x59, 0x4e, 0x0a, 0x6d,
- 0x63, 0x67, 0xb6, 0x37, 0x5c, 0x7c, 0x24, 0x8a, 0x1f, 0x49, 0x31, 0x2c,
- 0xd5, 0xc6, 0x3a, 0xd7, 0xd9, 0x0c, 0x78, 0x09, 0x9d, 0x5d, 0xd6, 0xb0,
- 0x94, 0x2b, 0xf8, 0x59, 0x36, 0x8f, 0x02, 0x20, 0x50, 0xbe, 0x3e, 0x7d,
- 0x7b, 0xe8, 0xb2, 0xd3, 0xc4, 0x04, 0xc6, 0x9f, 0xb4, 0x22, 0xb3, 0x0d,
- 0x10, 0xa4, 0x6e, 0xd9, 0xda, 0xbd, 0xb5, 0x26, 0x40, 0x36, 0x96, 0xe8,
- 0x2a, 0x29, 0x17, 0x77, 0xcb, 0x74, 0xb2, 0x8e, 0xac, 0xfa, 0xe5, 0x3c,
- 0xbd, 0xef, 0x8b, 0x05, 0x55, 0x14, 0x3a, 0xcb, 0x29, 0x0f, 0xdc, 0x26,
- 0x11, 0x8f, 0xbd, 0x09, 0xa1, 0xa0, 0x54, 0x83, 0x63, 0xa6, 0x30, 0x22,
- 0xc8, 0x35, 0x4a, 0xe7, 0x22, 0xc4, 0x48, 0x83, 0x74, 0x6f, 0x9c, 0xce,
- 0x89, 0x7d, 0x03, 0x22, 0x05, 0xdb, 0xde, 0x96, 0x69, 0x57, 0x5d, 0x89,
- 0x68, 0xef, 0xec, 0xec, 0x60, 0xef, 0x62, 0xcf, 0xcd, 0x0d, 0x90, 0x25,
- 0xf0, 0x0b, 0x41, 0x9c, 0x61, 0xfd, 0x3e, 0x17, 0x12, 0xec, 0x7e, 0xcc,
- 0xf9, 0x49, 0xf5, 0x1b, 0xf7, 0xec, 0xfc, 0x94, 0x2d, 0x70, 0x1f, 0x6f,
- 0x59, 0x3d, 0x22, 0x54, 0xde, 0x68, 0x96, 0x85, 0xd9, 0xd9, 0xe0, 0xc1,
- 0xdd, 0xb9, 0xc1, 0x69, 0xf0, 0x8c, 0x48, 0x70, 0xd1, 0x7b, 0xde, 0xcd,
- 0x7c, 0xec, 0x24, 0x13, 0x5b, 0x0a, 0xcc, 0xbe, 0xd7, 0x52, 0x28, 0x39,
- 0x98, 0x45, 0xe6, 0x99, 0x29, 0xee, 0x7b, 0x5e, 0x2f, 0x29, 0x28, 0x91,
- 0x8c, 0x97, 0x25, 0x78, 0x96, 0x1d, 0x09, 0x10, 0xd7, 0x84, 0x97, 0xa9,
- 0x7e, 0xd4, 0xeb, 0x7b, 0xe3, 0xd0, 0x67, 0x95, 0xfd, 0x00, 0x72, 0x96,
- 0xa8, 0x0c, 0x10, 0xec, 0x03, 0x1d, 0xad, 0x07, 0x40, 0x6d, 0x1c, 0x1c,
- 0xc1, 0x3d, 0x23, 0x22, 0x37, 0x62, 0x6c, 0x2c, 0xc8, 0x47, 0xc4, 0xf5,
- 0xfa, 0x16, 0x77, 0x29, 0x13, 0xa7, 0x0f, 0x1a, 0x0f, 0x95, 0x0e, 0x50,
- 0x5c, 0xef, 0x98, 0x76, 0x26, 0x15, 0x72, 0xa7, 0x4e, 0x23, 0x87, 0x0f,
- 0x00, 0x0f, 0xfa, 0x14, 0xd0, 0x45, 0x11, 0x9a, 0xd7, 0x74, 0x72, 0x98,
- 0xb7, 0x8d, 0x1e, 0x25, 0x91, 0x98, 0xe4, 0x5b, 0xfe, 0x6b, 0x73, 0x7b,
- 0xb0, 0xd5, 0x69, 0x8e, 0x9e, 0x8f, 0xca, 0x25, 0xcc, 0xc5, 0xf1, 0x5c,
- 0x2e, 0x67, 0xc1, 0xd2, 0xcc, 0x9e, 0x1e, 0xa0, 0x16, 0x08, 0x8e, 0xe7,
- 0xf0, 0xe5, 0xb7, 0x8d, 0xa5, 0x7f, 0xda, 0x70, 0x99, 0x88, 0xdb, 0xcf,
- 0xf3, 0xe3, 0x79, 0x86, 0x58, 0xcb, 0x98, 0x2d, 0x66, 0x30, 0x9e, 0x77,
- 0xda, 0x17, 0x58, 0x3c, 0xa4, 0x49, 0x7d, 0x9d, 0x1f, 0x05, 0xd0, 0x5d,
- 0x1d, 0x3b, 0xe7, 0x68, 0xc0, 0x7d, 0xbc, 0x92, 0xd5, 0x55, 0x7c, 0x85,
- 0x56, 0x09, 0xb8, 0x15, 0x2f, 0x71, 0x4f, 0x20, 0x4b, 0x43, 0x35, 0x83,
- 0x53, 0x97, 0xb8, 0x54, 0x15, 0x87, 0x1a, 0xb1, 0xea, 0xa4, 0xd9, 0x63,
- 0x6a, 0x59, 0x17, 0x29, 0x56, 0xee, 0xc9, 0xe6, 0x55, 0x5b, 0xa9, 0xab,
- 0x69, 0x35, 0x88, 0xfb, 0x72, 0xdb, 0xaa, 0xb5, 0x0e, 0x90, 0xff, 0x41,
- 0x0d, 0x51, 0x67, 0x1a, 0x5f, 0x91, 0xc7, 0x6f, 0x22, 0x2a, 0xe9, 0x84,
- 0x53, 0x78, 0xcb, 0x9d, 0x03, 0x86, 0xd6, 0xf6, 0x4e, 0xcb, 0xfb, 0xe6,
- 0xd5, 0x01, 0x6a, 0x36, 0x6f, 0x2b, 0xfa, 0x3d, 0xb7, 0xf9, 0x87, 0xb6,
- 0x8a, 0xa5, 0xbb, 0x6a, 0xf3, 0xd1, 0x1c, 0xea, 0x52, 0x1d, 0xdd, 0x1c,
- 0x43, 0xa0, 0x19, 0x32, 0xfd, 0x37, 0x41, 0xe1, 0xe3, 0xb9, 0x45, 0xa8,
- 0xd3, 0x76, 0x34, 0x3b, 0x92, 0xe8, 0xf0, 0x2c, 0x9f, 0xa1, 0x44, 0x0d,
- 0x50, 0xb7, 0xc0, 0x28, 0x32, 0xce, 0x92, 0x8e, 0x0d, 0xc3, 0x4a, 0x8f,
- 0x07, 0x75, 0x74, 0x45, 0x42, 0xf3, 0x4a, 0x80, 0x43, 0x43, 0x0a, 0xf0,
- 0xb5, 0x09, 0xd9, 0x9c, 0x5e, 0x58, 0xce, 0xdf, 0x7b, 0xe0, 0xe0, 0x4c,
- 0x26, 0xeb, 0xcf, 0x36, 0x24, 0x12, 0xd1, 0x95, 0x1d, 0x85, 0xa7, 0x6b,
- 0xa5, 0x71, 0xeb, 0x43, 0xf5, 0x4a, 0xef, 0x2d, 0x68, 0x83, 0xae, 0xa8,
- 0x68, 0x9c, 0x8f, 0x26, 0xa6, 0xa0, 0x7a, 0x72, 0x1f, 0xb6, 0xa7, 0x57,
- 0x24, 0x8b, 0x25, 0x93, 0xcf, 0x1f, 0x11, 0x33, 0x67, 0x5a, 0xd4, 0xd9,
- 0x25, 0x62, 0xe1, 0x3d, 0x87, 0x24, 0x1d, 0xe4, 0x28, 0xc0, 0xe4, 0xd1,
- 0x86, 0x13, 0xa3, 0x8e, 0x22, 0x9d, 0x1f, 0x80, 0x46, 0x25, 0xe6, 0x06,
- 0x5e, 0x88, 0x58, 0xaa, 0x39, 0xd3, 0x60, 0x17, 0xe9, 0x42, 0x84, 0x0b,
- 0x8e, 0xf3, 0x98, 0x88, 0xa7, 0x91, 0x69, 0xaa, 0xbe, 0xa9, 0x36, 0x12,
- 0xcb, 0xd9, 0x94, 0xc8, 0x99, 0x79, 0xc9, 0x69, 0x5a, 0x23, 0x7a, 0xff,
- 0x2e, 0x9d, 0x94, 0xd7, 0xad, 0xd8, 0x61, 0xb2, 0x82, 0x98, 0x73, 0x24,
- 0x18, 0x03, 0x1c, 0x8a, 0x81, 0x65, 0x82, 0x83, 0x75, 0x53, 0xac, 0xca,
- 0x3d, 0x33, 0x8d, 0xc7, 0x44, 0x72, 0x97, 0x9c, 0x4b, 0x10, 0x35, 0x26,
- 0x65, 0x31, 0x64, 0x03, 0x77, 0x78, 0xa5, 0x28, 0xdb, 0x4d, 0x97, 0x6f,
- 0xcf, 0xee, 0x37, 0x6a, 0x35, 0x11, 0xe8, 0x11, 0x04, 0x1f, 0x4b, 0x28,
- 0x12, 0xdd, 0xab, 0x37, 0xe9, 0xb4, 0x59, 0xa7, 0xeb, 0x01, 0x2a, 0x56,
- 0x77, 0x86, 0xd7, 0xdf, 0x76, 0xd5, 0xbe, 0x8f, 0xfa, 0x91, 0xea, 0xfd,
- 0x95, 0x2c, 0x81, 0xa8, 0x7b, 0xd5, 0x95, 0xa8, 0xd0, 0xaf, 0xba, 0x96,
- 0x73, 0xd0, 0xbc, 0x1b, 0xbd, 0xcb, 0xd8, 0xae, 0x97, 0x62, 0x37, 0xda,
- 0xd9, 0xda, 0xfa, 0xa6, 0x17, 0x3d, 0x93, 0x02, 0x86, 0xdb, 0x5f, 0xb5,
- 0xae, 0x90, 0x09, 0xa7, 0xd8, 0x65, 0xd5, 0x4b, 0xe3, 0x5b, 0x5c, 0x03,
- 0xb2, 0x6e, 0x3d, 0x57, 0xe9, 0x75, 0xb2, 0xcc, 0x4d, 0x78, 0x97, 0xc5,
- 0x5f, 0xb1, 0x4f, 0x30, 0x72, 0x0b, 0x9c, 0x83, 0xc4, 0x83, 0x32, 0xc5,
- 0xcc, 0x10, 0x64, 0xc3, 0xbb, 0x77, 0x4d, 0xbf, 0xb1, 0xaf, 0xdb, 0x76,
- 0x15, 0xbd, 0xb4, 0x64, 0xd9, 0x16, 0xd7, 0x7c, 0xf4, 0x47, 0xcb, 0x1c,
- 0xe7, 0x98, 0x9d, 0x86, 0x52, 0x14, 0x83, 0x0d, 0xef, 0xd0, 0x24, 0x04,
- 0x71, 0xc1, 0x17, 0xf0, 0xf3, 0x50, 0x13, 0x3c, 0x99, 0x41, 0xf3, 0xf4,
- 0x21, 0xe0, 0x26, 0xd7, 0x88, 0x93, 0x40, 0x13, 0xf9, 0x81, 0x94, 0x29,
- 0x8c, 0x42, 0x4e, 0x8a, 0x57, 0x4a, 0x44, 0x13, 0x6a, 0xc5, 0x4b, 0x13,
- 0x8e, 0x81, 0x4a, 0xe5, 0xa6, 0xc5, 0x4a, 0x0a, 0x89, 0x80, 0x02, 0x49,
- 0x48, 0x11, 0x83, 0x20, 0x2d, 0x0c, 0x8d, 0x1f, 0xa3, 0x92, 0x1e, 0x5a,
- 0x22, 0x3d, 0xa6, 0xfc, 0xc6, 0xf4, 0x01, 0xc9, 0x18, 0x1c, 0x50, 0x07,
- 0xd7, 0x81, 0x8d, 0x30, 0x1c, 0x1c, 0xa7, 0x6d, 0x8e, 0x51, 0x3c, 0x81,
- 0x63, 0xa2, 0x7e, 0x3f, 0xcb, 0xd5, 0x94, 0x81, 0xb6, 0xd3, 0xa2, 0xec,
- 0xb3, 0x67, 0xb4, 0xdd, 0x2c, 0x0a, 0xd5, 0x83, 0x9f, 0xd1, 0x94, 0x7c,
- 0xf6, 0xce, 0x4e, 0x3c, 0xc2, 0x9d, 0x58, 0xbd, 0x11, 0x76, 0x2c, 0x89,
- 0x43, 0x85, 0xd6, 0xda, 0x6a, 0x00, 0x0e, 0x48, 0x91, 0xe7, 0xe4, 0x8e,
- 0xce, 0xd6, 0xa1, 0x87, 0x18, 0xaa, 0xf2, 0x0e, 0xc3, 0xb1, 0xa7, 0x23,
- 0x30, 0xbe, 0xa6, 0xab, 0xa6, 0x8f, 0x88, 0xe5, 0xf6, 0xba, 0xd9, 0x1a,
- 0xe1, 0x8b, 0x20, 0x05, 0xb6, 0x68, 0x21, 0xf0, 0xc4, 0xe3, 0x51, 0x14,
- 0xa8, 0x15, 0x10, 0xd4, 0x45, 0xf1, 0x5f, 0xf1, 0x28, 0x56, 0x60, 0xda,
- 0x08, 0xb8, 0xa3, 0x43, 0xad, 0x81, 0x72, 0x99, 0xe5, 0x06, 0x12, 0xf9,
- 0x78, 0x4c, 0x12, 0x88, 0x55, 0x57, 0xe8, 0xe4, 0x78, 0xe8, 0x30, 0x82,
- 0x9c, 0xd7, 0xb0, 0x10, 0x4b, 0x02, 0xe9, 0xaf, 0x2c, 0x00, 0xbf, 0x59,
- 0x51, 0xe9, 0xb4, 0x70, 0x60, 0xd8, 0x08, 0xae, 0x41, 0xe8, 0x88, 0x88,
- 0xc1, 0x69, 0x5e, 0xc9, 0x48, 0xe7, 0x3e, 0xfe, 0x22, 0xf6, 0x38, 0x09,
- 0xe7, 0x6a, 0x0f, 0xf2, 0xe0, 0x64, 0xb4, 0xb0, 0xa0, 0x2c, 0xec, 0xd2,
- 0x0f, 0xb3, 0x51, 0x46, 0x82, 0x3d, 0xdf, 0xe7, 0x37, 0x55, 0x79, 0x86,
- 0xd3, 0x1b, 0x04, 0x13, 0xe2, 0x15, 0x31, 0xb7, 0xcf, 0x7f, 0xec, 0xd3,
- 0xbf, 0x3f, 0x37, 0xdc, 0x86, 0xa5, 0xe0, 0x4a, 0xa8, 0xd5, 0xcb, 0x02,
- 0x32, 0x73, 0x0f, 0x7c, 0x2d, 0xe5, 0x7d, 0xd1, 0x8e, 0x7c, 0x5b, 0x04,
- 0x78, 0xe1, 0x6d, 0x28, 0x00, 0xce, 0x8b, 0x87, 0x8a, 0xef, 0x41, 0x28,
- 0x67, 0xa5, 0x8d, 0xd1, 0x03, 0x11, 0x97, 0xdd, 0x3b, 0xb4, 0x51, 0xe3,
- 0x38, 0x1f, 0x37, 0xa3, 0xd5, 0x54, 0x18, 0xf2, 0xb5, 0xc6, 0x46, 0xec,
- 0x8a, 0x2d, 0x1e, 0x50, 0x4a, 0x1b, 0xd2, 0x1e, 0xa7, 0xd6, 0x58, 0x16,
- 0x88, 0xde, 0xd7, 0x32, 0xf4, 0x96, 0x32, 0x02, 0x19, 0x07, 0xcd, 0x2a,
- 0xe6, 0x42, 0xc6, 0x29, 0x0e, 0x79, 0xce, 0x58, 0x34, 0x72, 0xfc, 0x2d,
- 0xa0, 0x37, 0x90, 0x1e, 0xbc, 0x3f, 0x92, 0x7a, 0x58, 0x2e, 0x5a, 0x9c,
- 0xb4, 0x1c, 0xe5, 0xdf, 0xc0, 0x3a, 0x08, 0x93, 0x18, 0x43, 0x00, 0xfc,
- 0xd6, 0xc8, 0x0e, 0x00, 0x44, 0x6f, 0x98, 0x81, 0xcc, 0xd5, 0x2b, 0x10,
- 0x63, 0xb7, 0xb3, 0xcf, 0x6b, 0xc8, 0xb3, 0x64, 0x64, 0xf0, 0xe4, 0x9a,
- 0xe5, 0x70, 0x39, 0x34, 0x6e, 0x22, 0xc8, 0x9e, 0x41, 0x06, 0xbb, 0x61,
- 0xef, 0xaf, 0xb3, 0xd3, 0x73, 0x0c, 0xf3, 0x98, 0x86, 0x52, 0xd7, 0xf1,
- 0xef, 0x5b, 0xa0, 0xb6, 0xe2, 0xe8, 0xd9, 0xf7, 0xdf, 0x57, 0xb1, 0xc6,
- 0x36, 0x2a, 0x0c, 0xab, 0x59, 0x00, 0x8b, 0x88, 0x28, 0x6b, 0x3b, 0xe5,
- 0x16, 0xa1, 0x6e, 0x51, 0x9c, 0x1c, 0xc3, 0x00, 0x5d, 0x6f, 0xe0, 0xa2,
- 0xc7, 0xad, 0xea, 0xaa, 0xc6, 0x8d, 0x07, 0x21, 0x54, 0x4d, 0x5f, 0x8a,
- 0x8b, 0x96, 0xe9, 0xb9, 0xa0, 0x55, 0x89, 0xd9, 0x40, 0x60, 0x97, 0xad,
- 0x15, 0x2f, 0x55, 0xe1, 0xe8, 0x86, 0x6e, 0xa8, 0x3b, 0xce, 0x03, 0xff,
- 0xee, 0x49, 0x28, 0x34, 0x87, 0x5c, 0xae, 0x78, 0x55, 0x38, 0xbf, 0x52,
- 0x60, 0x83, 0xed, 0x57, 0xe3, 0x3c, 0x51, 0x37, 0x8f, 0x15, 0xff, 0x68,
- 0x9c, 0x57, 0x31, 0x05, 0x71, 0x8c, 0x12, 0xe6, 0xc7, 0x61, 0xae, 0x72,
- 0x72, 0x71, 0x05, 0xf9, 0xb0, 0x87, 0x70, 0xaf, 0xf0, 0x78, 0x9b, 0x26,
- 0x7d, 0x87, 0xba, 0x02, 0x60, 0x3c, 0x66, 0xdf, 0x43, 0xbc, 0x92, 0xa6,
- 0xf5, 0xe0, 0x2e, 0xc8, 0xff, 0xdc, 0x5a, 0xf9, 0x89, 0xf7, 0xbf, 0x4d,
- 0xbc, 0xef, 0x97, 0xf9, 0x12, 0x4b, 0xc4, 0xee, 0x61, 0x94, 0x42, 0xf7,
- 0x89, 0x58, 0xec, 0x0e, 0xb4, 0xb8, 0x2c, 0xb9, 0xc4, 0xbc, 0x63, 0x36,
- 0x6a, 0xa2, 0x7e, 0xd9, 0xcc, 0x2c, 0xe3, 0x9b, 0x33, 0xbc, 0xab, 0x65,
- 0x42, 0xfa, 0x24, 0xa4, 0xf6, 0xf1, 0x58, 0xd1, 0x80, 0x6c, 0xaf, 0x64,
- 0x5d, 0x08, 0xda, 0x5e, 0x26, 0x8e, 0xdb, 0x60, 0xcd, 0x4c, 0x9b, 0x30,
- 0x22, 0x52, 0x9f, 0x52, 0xcc, 0x14, 0x44, 0x87, 0xee, 0xab, 0xc3, 0x7a,
- 0x3d, 0x98, 0x75, 0x40, 0x16, 0xa8, 0x42, 0x89, 0xcc, 0x03, 0xfa, 0xfb,
- 0xec, 0xdd, 0xc5, 0x86, 0x37, 0x1a, 0x4c, 0xb2, 0x9a, 0x59, 0xcb, 0x1a,
- 0x6f, 0x49, 0xe2, 0x90, 0xe8, 0x7e, 0xc5, 0x05, 0x40, 0x8e, 0x86, 0x3b,
- 0x13, 0xec, 0x30, 0x7b, 0xb6, 0xb5, 0x4d, 0x72, 0xdb, 0xd6, 0x0e, 0x0c,
- 0x33, 0xcf, 0xb6, 0x9e, 0x39, 0x73, 0xb7, 0x3d, 0xd5, 0xb8, 0xf1, 0x26,
- 0xf2, 0x22, 0xf4, 0x47, 0x90, 0xfc, 0xb3, 0xfb, 0x7b, 0x7c, 0xdc, 0xab,
- 0x03, 0x89, 0x20, 0xd3, 0x33, 0xc4, 0x0f, 0x6b, 0x0a, 0x23, 0x36, 0x70,
- 0xbf, 0xe2, 0x30, 0xb2, 0x2c, 0xe7, 0x12, 0x36, 0xc5, 0x0a, 0x32, 0x72,
- 0x05, 0xea, 0x97, 0x43, 0x48, 0x07, 0x8f, 0xb1, 0xa6, 0x63, 0x16, 0xf4,
- 0x2b, 0x8c, 0xcc, 0xca, 0x01, 0x31, 0xa2, 0x2f, 0xf6, 0xdb, 0xd4, 0x3c,
- 0xcb, 0xe2, 0xab, 0x35, 0xf7, 0x67, 0x9f, 0xa6, 0xca, 0x34, 0x3f, 0x95,
- 0x93, 0x11, 0xb0, 0x37, 0x54, 0xb0, 0xe1, 0x74, 0x2b, 0x7f, 0x4c, 0xb2,
- 0x81, 0xc1, 0x27, 0x36, 0x32, 0x08, 0x68, 0x95, 0xad, 0x2a, 0x55, 0xca,
- 0xf8, 0x05, 0x93, 0xe5, 0x38, 0x91, 0x72, 0x35, 0x24, 0xf2, 0x96, 0x0f,
- 0xd1, 0x48, 0x20, 0xdc, 0x0c, 0xc7, 0x21, 0x45, 0x39, 0x76, 0x23, 0xd2,
- 0xa6, 0x32, 0x3e, 0xc9, 0x50, 0x78, 0x56, 0x70, 0x72, 0xc5, 0xde, 0xc7,
- 0x1a, 0x0e, 0x1b, 0x96, 0x5c, 0x9a, 0x6d, 0x83, 0x41, 0xcc, 0x2f, 0x89,
- 0xcd, 0x89, 0x75, 0xb0, 0xe9, 0xb7, 0x00, 0x59, 0xc2, 0x8f, 0x67, 0x96,
- 0xf7, 0x58, 0x6a, 0x3b, 0x81, 0x76, 0xbe, 0xe4, 0x38, 0xaf, 0x5a, 0x8b,
- 0x15, 0x54, 0x45, 0x3e, 0x2e, 0x90, 0x16, 0x38, 0x08, 0xee, 0x15, 0xf4,
- 0x84, 0x95, 0x1e, 0x48, 0x50, 0x86, 0x29, 0x81, 0x12, 0x36, 0xb7, 0x6e,
- 0xea, 0xd2, 0x86, 0x4f, 0x86, 0x15, 0x40, 0x80, 0xbb, 0xb9, 0xd4, 0x85,
- 0x3f, 0xba, 0x5c, 0x15, 0x77, 0xe7, 0x79, 0x67, 0x5a, 0x0d, 0x73, 0x05,
- 0xd7, 0x47, 0x5a, 0x5c, 0xaf, 0x0a, 0xfc, 0xb1, 0xaa, 0x00, 0x94, 0x94,
- 0x0b, 0x8e, 0xad, 0x7e, 0x90, 0x86, 0xdc, 0x02, 0x2f, 0x13, 0xfc, 0x3d,
- 0xb9, 0x87, 0xe1, 0x9f, 0x4e, 0xc2, 0x27, 0xcf, 0x06, 0x2b, 0xec, 0x0c,
- 0x1e, 0x32, 0x1c, 0x13, 0xb3, 0x63, 0x2f, 0x96, 0x72, 0x4e, 0x4d, 0xe0,
- 0xbc, 0x3f, 0x86, 0x22, 0x0c, 0x66, 0x07, 0xd5, 0xbe, 0x05, 0x1c, 0xa1,
- 0x60, 0xe0, 0x58, 0x91, 0xc1, 0xca, 0x95, 0x40, 0x39, 0x56, 0xcd, 0xc5,
- 0x1b, 0x5b, 0x78, 0x9a, 0x0d, 0x17, 0x26, 0x90, 0x57, 0xf9, 0x36, 0xe0,
- 0x60, 0x79, 0xcd, 0x81, 0x6b, 0x2c, 0x96, 0xe8, 0x36, 0x60, 0xa0, 0x86,
- 0x1b, 0xc0, 0x35, 0xcb, 0xf3, 0x46, 0x5c, 0x0f, 0x92, 0x8b, 0x59, 0xd4,
- 0xe4, 0xc5, 0x02, 0x85, 0x04, 0x41, 0xd7, 0x8e, 0x2a, 0x66, 0x9b, 0x42,
- 0x18, 0x8f, 0x86, 0x57, 0xbd, 0x35, 0x6b, 0x00, 0xb4, 0xae, 0xb9, 0xc2,
- 0x51, 0xea, 0x41, 0x83, 0x3e, 0x35, 0x35, 0x00, 0x0e, 0xa2, 0xf4, 0x6c,
- 0x6a, 0x16, 0x20, 0x21, 0xea, 0xa6, 0xcf, 0x85, 0xee, 0xaa, 0x41, 0x80,
- 0xbb, 0x17, 0x04, 0x59, 0x2b, 0x40, 0x6a, 0x6a, 0xa0, 0xd7, 0x23, 0x54,
- 0x76, 0xfd, 0x5b, 0x36, 0xd2, 0x8b, 0x98, 0x2f, 0x93, 0x36, 0xa8, 0xc3,
- 0x4b, 0x84, 0xee, 0x92, 0x96, 0x48, 0xfa, 0xa9, 0x78, 0xaa, 0x78, 0x40,
- 0xf3, 0xa4, 0x64, 0x15, 0x09, 0x81, 0xbd, 0x22, 0xc9, 0x92, 0xa6, 0x9b,
- 0x49, 0x0d, 0x6e, 0xb9, 0xb4, 0xf9, 0x52, 0x6b, 0x20, 0x27, 0xb9, 0xa2,
- 0x20, 0x2a, 0xa9, 0x61, 0x71, 0xd8, 0x1f, 0xb3, 0xe2, 0x96, 0xf9, 0xed,
- 0xd4, 0xad, 0xb7, 0xd8, 0x8d, 0x79, 0x33, 0x84, 0xec, 0x2d, 0x3e, 0x1c,
- 0x44, 0x07, 0x12, 0xe0, 0x2a, 0x66, 0xf2, 0xa5, 0xa6, 0x5d, 0x49, 0x05,
- 0x48, 0xdf, 0xca, 0x7c, 0x93, 0x6b, 0x32, 0x96, 0xf9, 0xb8, 0xd1, 0x88,
- 0x93, 0x11, 0x8a, 0xb1, 0xaa, 0xca, 0x03, 0x3c, 0x48, 0x3c, 0xe7, 0xbd,
- 0xfe, 0xc2, 0x3b, 0xa6, 0x9e, 0x84, 0x0d, 0x43, 0x2c, 0x68, 0x47, 0xf7,
- 0x66, 0xf1, 0xa0, 0x5b, 0x38, 0x3b, 0xb7, 0xea, 0x4e, 0xbc, 0x13, 0x00,
- 0x15, 0x6a, 0x2b, 0x1e, 0xe9, 0x00, 0x08, 0x1f, 0x16, 0x0d, 0x0f, 0x7e,
- 0x80, 0x81, 0x8f, 0x90, 0xf8, 0x72, 0x61, 0xbe, 0x13, 0x2f, 0xcb, 0xe1,
- 0x88, 0xb3, 0x19, 0x38, 0x44, 0xfc, 0x54, 0xe4, 0x8a, 0x96, 0xd1, 0x45,
- 0x8d, 0x2a, 0x9d, 0x10, 0x62, 0x30, 0xd3, 0xf5, 0xe7, 0x1b, 0x91, 0x74,
- 0xb3, 0xbe, 0xbd, 0x21, 0x00, 0x4d, 0x9a, 0x69, 0xdd, 0x1a, 0xae, 0x60,
- 0x30, 0xfe, 0x28, 0x05, 0x10, 0x16, 0x6b, 0x2c, 0x05, 0x41, 0x50, 0x42,
- 0x09, 0x1d, 0x66, 0xbe, 0xac, 0x1b, 0x71, 0x01, 0x88, 0x58, 0x2d, 0x72,
- 0xab, 0x98, 0x06, 0x16, 0xec, 0x2c, 0x28, 0x04, 0x9f, 0x97, 0x18, 0x6c,
- 0x19, 0xe6, 0x56, 0x8d, 0x38, 0xd1, 0x32, 0x97, 0x04, 0xac, 0xe8, 0x2a,
- 0xcf, 0x88, 0x27, 0xb0, 0x43, 0x97, 0xa7, 0xba, 0x31, 0x68, 0xb1, 0xe1,
- 0xb4, 0xe2, 0xa9, 0x77, 0xd8, 0x95, 0xd5, 0xf1, 0x90, 0xb2, 0x81, 0xb7,
- 0xcc, 0x79, 0x59, 0x92, 0x66, 0x56, 0x35, 0x6d, 0x64, 0x83, 0xca, 0xf7,
- 0x38, 0x50, 0x20, 0x1d, 0xdf, 0xa8, 0x71, 0x43, 0x30, 0x3a, 0xe1, 0x23,
- 0xe1, 0x08, 0x03, 0x15, 0x8a, 0xe8, 0x66, 0x50, 0xb9, 0x0f, 0xaa, 0x0d,
- 0x5d, 0x13, 0x4a, 0x60, 0x2d, 0x65, 0x0d, 0x42, 0x88, 0x6e, 0xde, 0x6d,
- 0xb5, 0x46, 0xab, 0x66, 0x2f, 0x52, 0xee, 0x24, 0xe3, 0x20, 0x4d, 0xb6,
- 0xf2, 0xcb, 0xde, 0xcb, 0xae, 0xb6, 0xc8, 0x02, 0xdd, 0xd9, 0x03, 0x27,
- 0x06, 0x77, 0xab, 0x58, 0xbe, 0x5d, 0xe2, 0x54, 0x74, 0x3b, 0x74, 0x6d,
- 0x5d, 0x6b, 0xbe, 0xe0, 0x26, 0x28, 0xea, 0x8a, 0xbe, 0x85, 0xa0, 0xa5,
- 0x0b, 0xdf, 0xba, 0x34, 0x1e, 0xdc, 0xb0, 0x98, 0x6a, 0xdf, 0xdc, 0xbe,
- 0xb5, 0xb6, 0xbf, 0xb5, 0x05, 0xf3, 0x79, 0xf4, 0x78, 0xbe, 0xa7, 0xa1,
- 0xf0, 0x9e, 0x81, 0x88, 0x79, 0x2f, 0x38, 0x9d, 0xcb, 0xa2, 0x99, 0x72,
- 0xe5, 0xaa, 0xf6, 0xf0, 0x84, 0x99, 0x5e, 0xd8, 0x92, 0x10, 0x5b, 0x1d,
- 0x02, 0xe1, 0x5f, 0xf2, 0x36, 0x9b, 0x2e, 0x06, 0x95, 0x51, 0x6a, 0x4c,
- 0xd5, 0xe3, 0xc5, 0x6e, 0x2b, 0xe1, 0x57, 0xcd, 0x83, 0x84, 0x4b, 0xb4,
- 0xf2, 0x4c, 0x7b, 0x26, 0x29, 0x0b, 0xa4, 0x93, 0x84, 0xa3, 0x5b, 0x24,
- 0xe8, 0xe6, 0x6d, 0x3a, 0xce, 0xb3, 0x22, 0xbb, 0x94, 0x4b, 0xdc, 0x08,
- 0xd3, 0xd9, 0x2f, 0x38, 0xd3, 0x33, 0x66, 0xa8, 0xf7, 0x26, 0x7b, 0xd0,
- 0xc2, 0x4d, 0x12, 0x3b, 0xcb, 0x37, 0xf4, 0x8c, 0xa8, 0x9c, 0x63, 0x2e,
- 0xd8, 0xca, 0x58, 0x6a, 0x78, 0x46, 0x00, 0xa8, 0x85, 0xa8, 0x64, 0x8b,
- 0xd6, 0x7b, 0xf1, 0xb8, 0x6a, 0xc6, 0x5b, 0xa0, 0x40, 0xff, 0x6a, 0x17,
- 0xd4, 0xca, 0x6c, 0x57, 0x86, 0x4f, 0x23, 0x02, 0xb5, 0xbd, 0xd6, 0x3e,
- 0x3a, 0x9d, 0x73, 0x21, 0x08, 0xb7, 0x8a, 0x35, 0x1a, 0x96, 0xd7, 0x42,
- 0x00, 0x5a, 0x74, 0x74, 0x78, 0xf1, 0x86, 0x4e, 0x5e, 0x1e, 0x5f, 0x96,
- 0xfa, 0xa3, 0x61, 0x17, 0xce, 0x93, 0x5f, 0xe2, 0x9b, 0x7e, 0xb1, 0xe0,
- 0xbd, 0xea, 0x33, 0xc3, 0xeb, 0x6f, 0x3d, 0x1f, 0x94, 0xf7, 0xed, 0xc9,
- 0xc9, 0x88, 0xf6, 0x33, 0xcb, 0x98, 0x42, 0xaf, 0xfb, 0x9d, 0xd3, 0xac,
- 0x3b, 0xbe, 0x5b, 0xb3, 0xfb, 0x87, 0x3a, 0x68, 0x5b, 0x5b, 0xc1, 0xc6,
- 0x25, 0x6a, 0xb1, 0xe1, 0x71, 0x4f, 0x2c, 0xff, 0x76, 0xe4, 0x1f, 0xd6,
- 0x51, 0x63, 0xfb, 0x56, 0xc0, 0xb7, 0x85, 0x78, 0xbe, 0x6d, 0xd1, 0x7d,
- 0x8f, 0xc5, 0xf3, 0xad, 0xc8, 0x38, 0x72, 0x01, 0x7e, 0x15, 0x52, 0x6d,
- 0x57, 0x14, 0x97, 0x4d, 0x5c, 0x69, 0x87, 0x15, 0x0a, 0xaa, 0xb0, 0x68,
- 0x5f, 0x86, 0xf2, 0x81, 0x71, 0xe2, 0x89, 0x52, 0xca, 0x92, 0x69, 0xc8,
- 0x81, 0xdd, 0x86, 0xbd, 0x55, 0x23, 0x3b, 0x08, 0xaa, 0xe6, 0xe8, 0x1a,
- 0xa0, 0xf0, 0x22, 0xac, 0xa8, 0x75, 0xe6, 0xd6, 0x5f, 0x46, 0xbb, 0x40,
- 0xd5, 0x49, 0xe6, 0x0c, 0xc2, 0x6e, 0x27, 0xdc, 0x73, 0xc3, 0xa0, 0x76,
- 0x37, 0x58, 0x53, 0x58, 0xa1, 0xb3, 0xbf, 0x6c, 0x1f, 0x5d, 0x9c, 0x27,
- 0x7c, 0x3b, 0x49, 0x20, 0x9e, 0x5e, 0xbd, 0xff, 0xa5, 0xf5, 0x98, 0x4f,
- 0x36, 0x11, 0x32, 0x3e, 0x5a, 0xf2, 0x77, 0xb5, 0x17, 0x0f, 0xa4, 0xc8,
- 0xaa, 0xcc, 0x5b, 0x9e, 0x50, 0x07, 0x60, 0xe0, 0xc9, 0x2b, 0x38, 0x54,
- 0x6b, 0x16, 0x16, 0x0e, 0x40, 0x79, 0x61, 0x52, 0xc2, 0xea, 0xd4, 0xb6,
- 0x14, 0x6e, 0x52, 0x4b, 0x84, 0xac, 0x19, 0x77, 0xa5, 0x1b, 0xb6, 0x66,
- 0x84, 0xcd, 0xb7, 0x79, 0x4a, 0xf1, 0x3a, 0xfc, 0x5a, 0xf0, 0x8b, 0x88,
- 0xd4, 0x2f, 0x11, 0xb7, 0xaa, 0xd0, 0x6a, 0x13, 0x80, 0x98, 0x06, 0x90,
- 0x3c, 0x6d, 0xfe, 0xf5, 0x92, 0x24, 0xd2, 0x5e, 0x8b, 0x61, 0xd6, 0x6c,
- 0x85, 0xe0, 0x6e, 0x74, 0xb5, 0x6a, 0x82, 0xb4, 0xa5, 0xd1, 0x48, 0x0b,
- 0x9c, 0x89, 0x7b, 0x0b, 0x38, 0xba, 0x06, 0x1e, 0x7a, 0xdb, 0xe8, 0x7c,
- 0xf5, 0xea, 0xb8, 0xf4, 0x0b, 0xd8, 0x1e, 0xfc, 0xe5, 0x8b, 0xb5, 0x19,
- 0x90, 0x53, 0x72, 0x15, 0x54, 0xed, 0x56, 0x8a, 0xb3, 0xfc, 0x2c, 0x78,
- 0xc3, 0x0c, 0x88, 0xa7, 0xc1, 0x4f, 0x04, 0x8b, 0x9e, 0xf8, 0x89, 0xf4,
- 0x29, 0x2c, 0xca, 0x23, 0x11, 0xb4, 0x8c, 0xa4, 0x9a, 0x37, 0xf0, 0x18,
- 0x1d, 0x68, 0x69, 0x63, 0x9f, 0x63, 0xc0, 0x09, 0xc7, 0x30, 0xce, 0xa9,
- 0x39, 0xf0, 0x62, 0x3f, 0x04, 0x6b, 0x24, 0x1d, 0xae, 0x58, 0x99, 0x60,
- 0xa3, 0xf0, 0x6e, 0x73, 0xd7, 0xfa, 0xec, 0x7f, 0xe2, 0xda, 0xf8, 0x19,
- 0x04, 0xcb, 0xe3, 0x3e, 0xac, 0x2d, 0x8d, 0x26, 0x58, 0xa5, 0x93, 0xf6,
- 0xcc, 0x28, 0x5d, 0x21, 0xc3, 0xa3, 0xd5, 0x35, 0xe2, 0x24, 0x26, 0xcb,
- 0x62, 0x3b, 0x3a, 0xa0, 0xd1, 0xb0, 0xa0, 0x73, 0x45, 0x83, 0xfb, 0xf2,
- 0x61, 0x05, 0x9e, 0x34, 0x70, 0xc5, 0x4d, 0x63, 0x84, 0xc7, 0x0c, 0xe5,
- 0x3e, 0xbc, 0x39, 0x88, 0xdb, 0x48, 0x42, 0x4c, 0x05, 0xf1, 0x54, 0x5a,
- 0x86, 0x5f, 0xb3, 0xa2, 0x69, 0xee, 0xb1, 0x29, 0x10, 0xa3, 0x70, 0xbd,
- 0xcc, 0x25, 0xd2, 0x4f, 0xb3, 0xa9, 0x14, 0x5b, 0x25, 0x4f, 0x14, 0xeb,
- 0x35, 0x18, 0x70, 0xd1, 0x72, 0x51, 0x71, 0x22, 0x41, 0x92, 0xcc, 0x14,
- 0xf0, 0x64, 0x94, 0x67, 0x37, 0x74, 0x3e, 0xf8, 0x35, 0xc8, 0xa4, 0xbc,
- 0xfa, 0x72, 0xc8, 0xcd, 0x5a, 0x42, 0xc7, 0x40, 0x72, 0xe1, 0x5b, 0x6c,
- 0x3f, 0xb9, 0xe1, 0x7d, 0x6a, 0x5e, 0x87, 0x3f, 0x2d, 0x82, 0x03, 0x84,
- 0x68, 0x34, 0xbb, 0x4a, 0x71, 0xf3, 0x70, 0xd1, 0x0c, 0xef, 0x72, 0x6f,
- 0x16, 0x71, 0xaa, 0xa3, 0x8e, 0xfe, 0xee, 0x34, 0xe4, 0xc8, 0x22, 0xa4,
- 0xa1, 0x96, 0x2d, 0x0f, 0x89, 0xa9, 0x9c, 0xce, 0x5c, 0xe6, 0xb0, 0xc9,
- 0x7d, 0xd1, 0xc9, 0xc5, 0xf1, 0xdb, 0x68, 0x85, 0xc0, 0x87, 0xef, 0xaa,
- 0x5f, 0xfd, 0x3b, 0x62, 0x1f, 0x7d, 0x71, 0x74, 0x34, 0x84, 0xd0, 0xa7,
- 0xbe, 0xad, 0x86, 0xc3, 0x56, 0x2a, 0xa5, 0xe3, 0x92, 0xcc, 0x53, 0xd2,
- 0xd0, 0x48, 0x22, 0xf0, 0x55, 0xe4, 0xd9, 0x5a, 0x90, 0x73, 0x43, 0x52,
- 0xf7, 0x13, 0xcc, 0x9a, 0x91, 0x82, 0xa6, 0xa0, 0xb6, 0x45, 0xd2, 0x70,
- 0xb8, 0x2f, 0x34, 0x90, 0xd1, 0x91, 0x88, 0xc2, 0xcb, 0xf0, 0xd9, 0xe7,
- 0x22, 0x55, 0x13, 0xe5, 0x1c, 0x29, 0xa0, 0x69, 0x59, 0x70, 0x50, 0xa5,
- 0xf5, 0x26, 0x45, 0x38, 0xd1, 0x0a, 0xcc, 0x75, 0x4f, 0xd8, 0xaa, 0xb9,
- 0xd1, 0x45, 0x9e, 0xe5, 0xb0, 0xf4, 0x07, 0xa0, 0x0c, 0x8c, 0x24, 0xb4,
- 0x84, 0x4f, 0x9d, 0x87, 0xf7, 0x90, 0x35, 0x62, 0x93, 0xef, 0xae, 0x33,
- 0xf1, 0x68, 0x63, 0x99, 0x99, 0xca, 0xc4, 0x6f, 0x0a, 0x8b, 0xbe, 0x24,
- 0xf3, 0xcb, 0x3d, 0xef, 0x49, 0x23, 0xdc, 0xa8, 0xd6, 0x80, 0x1b, 0x2b,
- 0x13, 0x23, 0x79, 0x1c, 0x24, 0x63, 0xb0, 0xc1, 0x8a, 0x36, 0xe7, 0x20,
- 0xbd, 0x5a, 0x05, 0x76, 0xd3, 0x2a, 0x4f, 0xf2, 0x88, 0x1e, 0x17, 0x25,
- 0xdb, 0x62, 0x0e, 0x2b, 0xa2, 0x24, 0x51, 0xdb, 0x6f, 0x95, 0x3f, 0xc2,
- 0xc7, 0x7c, 0xb5, 0x14, 0xf9, 0x84, 0xa8, 0x58, 0x4b, 0xfd, 0xe0, 0xa9,
- 0xfd, 0x97, 0xca, 0x3d, 0x19, 0x8d, 0x54, 0xe5, 0x83, 0x47, 0x8a, 0xc4,
- 0x9b, 0x04, 0x91, 0xe9, 0x43, 0x21, 0x08, 0x4c, 0x51, 0x4e, 0xb2, 0xa5,
- 0xf8, 0x84, 0x2c, 0xbc, 0x41, 0xf8, 0xf4, 0x3f, 0xfe, 0xd9, 0x74, 0x72,
- 0xfd, 0xf8, 0xb3, 0x08, 0xa6, 0x12, 0xc3, 0xe7, 0xe3, 0xd9, 0x8c, 0xa8,
- 0x0a, 0x0f, 0xeb, 0xc5, 0xdb, 0xc7, 0xb1, 0xf2, 0x32, 0x45, 0x39, 0x5c,
- 0x0d, 0x60, 0x6d, 0xf1, 0xed, 0x2a, 0x93, 0xd5, 0xb1, 0x59, 0x06, 0x17,
- 0x50, 0x16, 0x82, 0xda, 0x7e, 0x2e, 0xc6, 0x2a, 0x32, 0x84, 0x96, 0xc9,
- 0x2a, 0xa0, 0x13, 0x8b, 0x77, 0x55, 0x10, 0x0d, 0x0b, 0x5b, 0xe5, 0x58,
- 0x43, 0x31, 0x8d, 0x62, 0xfc, 0xcc, 0x1c, 0x8f, 0xa5, 0x2c, 0x44, 0x33,
- 0x0b, 0x5f, 0x36, 0x5a, 0xc3, 0x06, 0xff, 0xc1, 0x65, 0xb6, 0xcb, 0xbb,
- 0xec, 0x9f, 0x03, 0x36, 0xca, 0x43, 0xad, 0xef, 0x67, 0x02, 0xda, 0xf7,
- 0xfe, 0xa3, 0x6d, 0x56, 0xae, 0x3a, 0x4d, 0xa8, 0x42, 0xac, 0x80, 0xed,
- 0xb9, 0x8b, 0x02, 0x5e, 0x91, 0xf4, 0x5f, 0xed, 0x8e, 0x7b, 0xe9, 0xb1,
- 0x21, 0xe1, 0x9f, 0x03, 0xfe, 0xf7, 0xc7, 0xed, 0xfe, 0x8b, 0x9f, 0x5d,
- 0xaf, 0x1f, 0x6d, 0xbf, 0xff, 0x68, 0xa7, 0xd3, 0x8a, 0x66, 0xc8, 0x6a,
- 0x68, 0xa4, 0x40, 0xef, 0x61, 0x68, 0x62, 0xac, 0xf5, 0xc4, 0xc4, 0x3f,
- 0x1d, 0x17, 0x3e, 0x96, 0xca, 0xc1, 0x1d, 0x35, 0x4b, 0x9c, 0x17, 0x4f,
- 0x80, 0xad, 0x84, 0x45, 0x81, 0x82, 0x08, 0x44, 0xad, 0x91, 0x23, 0x50,
- 0xa9, 0x70, 0xd4, 0x9b, 0x85, 0xaf, 0x81, 0x68, 0xc1, 0x11, 0x03, 0x93,
- 0x07, 0xba, 0xb1, 0x24, 0xc9, 0x3c, 0x20, 0xeb, 0x53, 0x80, 0xb6, 0x30,
- 0x22, 0x49, 0xbf, 0xc5, 0x60, 0x23, 0x44, 0x1d, 0x50, 0x75, 0xac, 0x3d,
- 0xb9, 0x48, 0xb7, 0x89, 0x61, 0x2e, 0x3a, 0x60, 0x13, 0xa9, 0x7f, 0x0c,
- 0x8c, 0x9c, 0x06, 0x6e, 0x08, 0xd2, 0x2f, 0x9c, 0x81, 0x3d, 0x84, 0xb6,
- 0x09, 0x5f, 0xd6, 0x63, 0xdc, 0xf3, 0xb5, 0xa9, 0x51, 0x47, 0x61, 0x59,
- 0x36, 0x73, 0x6c, 0x07, 0x1b, 0xad, 0x91, 0x52, 0x86, 0xb1, 0xe2, 0xcb,
- 0x47, 0x46, 0x61, 0xa1, 0xf3, 0x42, 0x50, 0xec, 0x58, 0x55, 0x93, 0xda,
- 0xdb, 0xc9, 0xc4, 0xc1, 0x13, 0x37, 0xa2, 0xb5, 0xb4, 0x20, 0x4e, 0xcf,
- 0x81, 0x22, 0x24, 0xd3, 0x22, 0x69, 0xc5, 0xfb, 0x64, 0xa2, 0x58, 0x1a,
- 0x2e, 0xa1, 0xab, 0xa0, 0x1c, 0x12, 0x04, 0xcc, 0x1f, 0xe0, 0xdc, 0x92,
- 0xe5, 0xaf, 0x44, 0xf1, 0x14, 0x55, 0x54, 0xb6, 0xa8, 0x1f, 0x37, 0x7c,
- 0x2e, 0x95, 0xf0, 0x58, 0xf1, 0xe5, 0x56, 0x0b, 0xe5, 0x68, 0x79, 0x71,
- 0xab, 0x44, 0xe3, 0x26, 0xa5, 0xe5, 0xe0, 0x5a, 0xaa, 0xbd, 0xa9, 0x29,
- 0x40, 0xb2, 0xc5, 0xea, 0x54, 0x22, 0x99, 0x63, 0xce, 0x0a, 0x0c, 0x8f,
- 0x5b, 0x26, 0x39, 0x1d, 0x6c, 0x5f, 0x6d, 0x42, 0x43, 0xb9, 0x8b, 0xaa,
- 0xa2, 0xe0, 0x60, 0x38, 0xc6, 0x85, 0xc6, 0x60, 0x1a, 0x02, 0x5d, 0x5e,
- 0x9d, 0x6f, 0x8b, 0xc8, 0xeb, 0xca, 0x7f, 0x2d, 0xdd, 0xf5, 0x2d, 0x89,
- 0x54, 0x38, 0x92, 0x1d, 0x3a, 0xbc, 0x51, 0xbf, 0x23, 0x89, 0x8a, 0x90,
- 0xc6, 0x83, 0xe6, 0x1e, 0xc5, 0xb2, 0x79, 0x59, 0x85, 0xa0, 0x67, 0x4d,
- 0x3d, 0x7a, 0xb5, 0xb8, 0xce, 0x49, 0xe8, 0x78, 0x24, 0x07, 0x99, 0x9f,
- 0x92, 0x87, 0x1c, 0x03, 0x0c, 0x2a, 0x60, 0xff, 0x8e, 0xd9, 0xb0, 0x1c,
- 0x38, 0xfb, 0x6c, 0x6b, 0xbb, 0x4e, 0x0d, 0x95, 0x62, 0x93, 0x39, 0x2a,
- 0xc1, 0x95, 0xa8, 0xba, 0x14, 0x45, 0x3b, 0x9f, 0x6c, 0x7f, 0xb2, 0xb9,
- 0xbd, 0x35, 0x78, 0x36, 0xd8, 0x09, 0x13, 0x79, 0x48, 0xfd, 0xba, 0x45,
- 0x8d, 0x6d, 0xf6, 0x97, 0xb7, 0xbb, 0x98, 0x59, 0xc2, 0xa6, 0xe6, 0xd8,
- 0x19, 0xee, 0x3e, 0x81, 0xb2, 0xeb, 0x6f, 0xd6, 0x98, 0xbd, 0xe1, 0xce,
- 0xdd, 0x6a, 0xc8, 0xee, 0x2d, 0x25, 0x1e, 0x78, 0x28, 0x2a, 0x95, 0x2d,
- 0x91, 0x3c, 0xb7, 0x1c, 0xa5, 0x24, 0x55, 0x94, 0x5c, 0xce, 0x86, 0x33,
- 0xe6, 0x48, 0xd2, 0x34, 0xe4, 0x8a, 0x1e, 0xca, 0xfb, 0x05, 0xa5, 0xae,
- 0xda, 0x31, 0x4d, 0xe6, 0x26, 0x44, 0x20, 0x27, 0xc9, 0xc8, 0x1e, 0x89,
- 0x56, 0xa9, 0xa4, 0xe1, 0x01, 0x7e, 0x81, 0xee, 0x62, 0x54, 0x31, 0xf8,
- 0xda, 0xd2, 0x00, 0xe3, 0xd6, 0xe0, 0x2d, 0x75, 0x47, 0xab, 0xa0, 0x13,
- 0x4b, 0x14, 0x01, 0xd6, 0x12, 0x68, 0x04, 0xfa, 0x81, 0xd0, 0x2a, 0x7c,
- 0x8b, 0x6c, 0x6c, 0xe2, 0x79, 0xb7, 0x41, 0x09, 0xa5, 0x0e, 0x3b, 0xdc,
- 0xef, 0xb8, 0x66, 0xf3, 0xb3, 0x43, 0x0d, 0xf1, 0x25, 0x77, 0xde, 0xb2,
- 0xf5, 0x68, 0xd4, 0xd0, 0x23, 0xb8, 0x4b, 0x22, 0xbe, 0x11, 0xab, 0x61,
- 0x81, 0xef, 0x51, 0x8a, 0x58, 0xb0, 0x7f, 0x80, 0xc3, 0x67, 0x53, 0x49,
- 0xbf, 0xa8, 0x99, 0xbb, 0x4c, 0x37, 0xd0, 0x5a, 0x35, 0xb3, 0xd9, 0xb2,
- 0x51, 0x93, 0xd5, 0x4a, 0xe3, 0xa8, 0x9c, 0x57, 0x06, 0xc1, 0xa9, 0x18,
- 0x86, 0x33, 0x11, 0x5a, 0x70, 0x65, 0x2c, 0x69, 0xce, 0x73, 0xe1, 0xb7,
- 0xed, 0x04, 0xb6, 0xe9, 0xe2, 0x2a, 0x72, 0x4e, 0x5a, 0xea, 0x93, 0x44,
- 0xb1, 0x68, 0x14, 0xe6, 0xdb, 0x69, 0x4e, 0x19, 0xd0, 0x29, 0x8f, 0x4e,
- 0x98, 0x3b, 0x5f, 0xe9, 0x7d, 0x8f, 0xc2, 0x99, 0xda, 0xcc, 0x56, 0x89,
- 0x3b, 0x5a, 0x50, 0x59, 0xe6, 0xf8, 0x4e, 0x2c, 0x26, 0x68, 0x13, 0x6c,
- 0x90, 0x85, 0x70, 0x5e, 0x96, 0xa0, 0x2f, 0x61, 0xa2, 0x8d, 0x09, 0xe3,
- 0x76, 0x92, 0x08, 0x21, 0x79, 0x2e, 0xb5, 0x9a, 0x33, 0x96, 0xa2, 0x55,
- 0x1f, 0xa4, 0xee, 0x0a, 0xe6, 0xd4, 0x14, 0xdf, 0x0b, 0xe9, 0x88, 0x07,
- 0x56, 0x2b, 0x91, 0x27, 0x6b, 0x34, 0x81, 0x1e, 0xd1, 0xba, 0x48, 0xcd,
- 0x55, 0x12, 0xa5, 0xa3, 0x3e, 0x02, 0xa9, 0x92, 0xf3, 0x2f, 0x2e, 0x92,
- 0xf4, 0xdf, 0xb2, 0x4a, 0xda, 0x57, 0x6b, 0xdc, 0x4d, 0xb8, 0x4c, 0x8d,
- 0x19, 0xad, 0xf2, 0x8f, 0xac, 0xd8, 0xf9, 0x55, 0x3e, 0x92, 0xfa, 0xb4,
- 0xda, 0xdc, 0xd6, 0xed, 0x13, 0x93, 0x62, 0x10, 0x81, 0xa3, 0x46, 0x7d,
- 0x19, 0x6e, 0x7e, 0xe8, 0xb8, 0x6e, 0x58, 0x70, 0x0f, 0x6b, 0x20, 0x5e,
- 0x85, 0x14, 0x9e, 0x3e, 0xde, 0xac, 0x9d, 0x3d, 0xb2, 0x8b, 0x0e, 0x47,
- 0x5c, 0xe6, 0xdc, 0x34, 0x03, 0xfc, 0x7b, 0xbb, 0x08, 0x4b, 0x44, 0x65,
- 0x0f, 0xd1, 0x45, 0x65, 0x2a, 0x75, 0x2c, 0x99, 0xea, 0xe6, 0x2d, 0x36,
- 0x75, 0x26, 0x25, 0xc7, 0x5a, 0x4e, 0x5b, 0x03, 0xc1, 0x50, 0xf4, 0x95,
- 0x86, 0x2f, 0xea, 0xab, 0x5d, 0x8f, 0xeb, 0xfd, 0x7b, 0x7b, 0x77, 0xa3,
- 0xd7, 0x8c, 0x43, 0x04, 0x87, 0x69, 0xb9, 0x69, 0xac, 0x25, 0x98, 0x22,
- 0x0c, 0x55, 0x50, 0x8b, 0x4e, 0xe2, 0x0f, 0x19, 0x88, 0xab, 0x9c, 0x6a,
- 0x65, 0xeb, 0xb9, 0x9f, 0x47, 0xe0, 0x77, 0x67, 0x24, 0xff, 0x4c, 0x2d,
- 0xce, 0x2d, 0x2d, 0xb5, 0xe4, 0x06, 0x20, 0xb8, 0x20, 0x0e, 0xbb, 0xc0,
- 0x0a, 0x85, 0x0c, 0xa4, 0x5e, 0x1a, 0x4c, 0x94, 0x7a, 0x8d, 0x17, 0xd4,
- 0x11, 0xc2, 0x95, 0x0a, 0x01, 0x23, 0x72, 0xab, 0x2f, 0x60, 0xc0, 0xb2,
- 0x04, 0xd1, 0xfe, 0xe9, 0xc9, 0xc9, 0xe1, 0xfe, 0x45, 0x10, 0x48, 0xd9,
- 0x0c, 0x73, 0x69, 0xaa, 0xe5, 0xaa, 0xfe, 0x4b, 0x40, 0x9d, 0x46, 0x56,
- 0xa9, 0x99, 0xd5, 0xbc, 0xb8, 0x4a, 0x7d, 0xac, 0x61, 0xb7, 0xeb, 0x8b,
- 0xe2, 0xbf, 0x8f, 0xe7, 0x12, 0xe0, 0xa7, 0x6b, 0x65, 0x4b, 0x55, 0x66,
- 0x95, 0x63, 0xb9, 0x1c, 0x3d, 0x02, 0xd7, 0xc2, 0x62, 0x92, 0x98, 0x46,
- 0x1e, 0x45, 0x6a, 0x71, 0xce, 0x1b, 0x31, 0x01, 0xac, 0xc4, 0x46, 0xfc,
- 0x9f, 0x8e, 0xd4, 0x72, 0xb6, 0x19, 0x94, 0xd9, 0x7b, 0xa5, 0x50, 0x74,
- 0x9f, 0xaf, 0xa8, 0xe4, 0x04, 0x73, 0x57, 0x11, 0x24, 0x06, 0x97, 0x59,
- 0xbe, 0x39, 0x85, 0xf0, 0xc1, 0xf1, 0xbd, 0xd9, 0xd4, 0xca, 0x24, 0x07,
- 0x95, 0xe0, 0x5a, 0x38, 0x20, 0xf5, 0xe7, 0x2e, 0x52, 0xb5, 0x31, 0x59,
- 0x52, 0x09, 0x62, 0x1b, 0x5c, 0x51, 0x34, 0xae, 0xef, 0xe5, 0xc2, 0xd4,
- 0xbd, 0xc1, 0xa1, 0x9e, 0x0a, 0xca, 0x05, 0xbd, 0xd8, 0xeb, 0xb2, 0x60,
- 0x8d, 0x27, 0x65, 0x60, 0x5b, 0xbc, 0x28, 0xe5, 0xe4, 0xab, 0x15, 0xb6,
- 0x78, 0x2b, 0x8c, 0x56, 0xe4, 0x98, 0x34, 0x43, 0xf7, 0x51, 0x6b, 0x8e,
- 0x01, 0x2c, 0x3d, 0xb8, 0x9f, 0x41, 0xf4, 0x49, 0x82, 0x55, 0x5e, 0xf6,
- 0xd4, 0xda, 0x8c, 0x72, 0x6b, 0xa8, 0xfa, 0xeb, 0xe3, 0x9c, 0x5b, 0xc2,
- 0xb4, 0x18, 0x2d, 0x76, 0xd1, 0x68, 0x04, 0xaa, 0xae, 0xa3, 0x5b, 0x5a,
- 0x11, 0xb7, 0xfc, 0xde, 0xa0, 0xd7, 0x50, 0x61, 0x04, 0x3c, 0xa5, 0xa1,
- 0xfd, 0x3b, 0xa8, 0xbf, 0xf6, 0x0a, 0x92, 0xe9, 0x80, 0xb5, 0x07, 0x46,
- 0x01, 0xec, 0xc8, 0xb4, 0x8b, 0x0a, 0xc8, 0x8e, 0x7b, 0x9b, 0x66, 0x1d,
- 0x00, 0x12, 0x36, 0xa3, 0x0a, 0x8d, 0x97, 0xaa, 0xd2, 0x03, 0xe1, 0x67,
- 0xfd, 0xdd, 0x3c, 0xbd, 0x87, 0xb4, 0xd7, 0x84, 0x52, 0x72, 0x6d, 0xad,
- 0x1e, 0x56, 0x67, 0xfb, 0xe5, 0xce, 0x60, 0xfb, 0x93, 0xcf, 0x06, 0x24,
- 0xbc, 0x6f, 0x77, 0xc2, 0x54, 0x7d, 0xb8, 0x9e, 0xb8, 0x0d, 0x39, 0xb3,
- 0x6b, 0x2d, 0x1c, 0xb8, 0x2d, 0x16, 0x23, 0x6c, 0x7b, 0xf6, 0x30, 0x08,
- 0x82, 0x29, 0x2a, 0xad, 0x6b, 0xb0, 0x45, 0xbd, 0xd5, 0x7e, 0x60, 0x31,
- 0x03, 0x93, 0x80, 0x50, 0xd9, 0x56, 0xf4, 0xce, 0x20, 0x6d, 0x5c, 0xb1,
- 0xbb, 0x36, 0xa8, 0xe4, 0x80, 0x08, 0xda, 0x4b, 0xe0, 0xb9, 0xfe, 0x7f,
- 0x75, 0x66, 0x5e, 0xe3, 0x50, 0xb3, 0xef, 0xc5, 0x31, 0x63, 0x55, 0x46,
- 0x9d, 0x97, 0x0a, 0x27, 0x42, 0x62, 0xd0, 0x5d, 0x45, 0xd0, 0x81, 0xf3,
- 0xd6, 0xc0, 0x39, 0x1c, 0xde, 0x1e, 0xcb, 0x5a, 0x5a, 0x0b, 0x6a, 0xec,
- 0xf9, 0x3c, 0xcb, 0xf0, 0xca, 0x40, 0xcb, 0x2e, 0x36, 0x9a, 0x45, 0x22,
- 0xb4, 0xd9, 0x4f, 0x16, 0x6c, 0x0c, 0xc5, 0x8b, 0x69, 0xa1, 0xc5, 0x31,
- 0xad, 0x39, 0x7e, 0xe7, 0xcf, 0x7f, 0x0e, 0xd8, 0xd0, 0xdf, 0x6d, 0x0d,
- 0x0c, 0xca, 0xc5, 0x03, 0x6b, 0x78, 0x4c, 0x91, 0xcc, 0x10, 0x1f, 0x3c,
- 0x68, 0x4b, 0xcf, 0x14, 0x25, 0x64, 0x46, 0x37, 0x93, 0x70, 0x1c, 0xc6,
- 0x41, 0xe4, 0x23, 0xa6, 0x46, 0x89, 0x60, 0x53, 0x28, 0xa4, 0x80, 0xc6,
- 0x96, 0xc3, 0x20, 0x15, 0x40, 0x5a, 0x34, 0xf3, 0x40, 0xaa, 0x11, 0x5a,
- 0xad, 0x28, 0x05, 0x45, 0xc2, 0xf5, 0x84, 0x61, 0xda, 0x09, 0x26, 0xf7,
- 0xdf, 0xa9, 0x55, 0xe0, 0x99, 0x3c, 0x5a, 0xa4, 0x53, 0x4b, 0x60, 0xb3,
- 0x17, 0x9e, 0x19, 0x46, 0x9c, 0x8f, 0xd2, 0x32, 0x8f, 0x35, 0x04, 0x41,
- 0xf3, 0x74, 0x82, 0xbb, 0x0d, 0xf9, 0x44, 0x2c, 0x97, 0x0d, 0x57, 0x65,
- 0xea, 0x10, 0x47, 0xf9, 0xef, 0xe8, 0xd5, 0x97, 0xf4, 0x14, 0xfc, 0x2b,
- 0xb6, 0x6b, 0x7e, 0x79, 0xf8, 0xe6, 0xf4, 0xfc, 0xb0, 0x56, 0xee, 0xae,
- 0xe0, 0xe0, 0xc8, 0xa6, 0xe8, 0x24, 0xd0, 0xd0, 0xeb, 0xa8, 0xff, 0x23,
- 0xba, 0x61, 0x08, 0x0d, 0x71, 0xf6, 0xdd, 0x41, 0xc0, 0xa3, 0x2d, 0xc3,
- 0xc8, 0x1a, 0xed, 0x35, 0x63, 0xaf, 0xd8, 0x41, 0xc1, 0x47, 0x7b, 0x03,
- 0xe5, 0x9c, 0xe4, 0xa4, 0xd9, 0x00, 0x91, 0xcb, 0x26, 0xfd, 0x69, 0xb1,
- 0xb7, 0xb0, 0x40, 0xfc, 0xaa, 0xc0, 0xd5, 0xb0, 0xfc, 0xd2, 0xcc, 0xc4,
- 0x36, 0xc6, 0xaa, 0x60, 0x54, 0x92, 0x01, 0x8a, 0xed, 0x58, 0x3e, 0x87,
- 0x5b, 0x09, 0xf8, 0x00, 0x5b, 0xa0, 0xae, 0xa5, 0x5b, 0x4b, 0x5f, 0x96,
- 0xda, 0x59, 0x6a, 0x7a, 0x9a, 0x44, 0x96, 0xf3, 0x16, 0xa6, 0x98, 0xfd,
- 0x4d, 0x80, 0x81, 0x2e, 0x25, 0x07, 0x70, 0x55, 0x42, 0xa2, 0xf5, 0xbc,
- 0x5e, 0x6c, 0x54, 0x8a, 0x45, 0xb9, 0x5a, 0x9d, 0x3c, 0xe8, 0xee, 0x9f,
- 0xbb, 0xd1, 0x7a, 0xe9, 0x6a, 0x4a, 0xb7, 0x64, 0xbd, 0x39, 0xec, 0x32,
- 0x15, 0xca, 0x99, 0x64, 0x06, 0xce, 0x46, 0xd7, 0x8e, 0x42, 0xef, 0xeb,
- 0x55, 0xb7, 0x86, 0x48, 0xbb, 0xec, 0x1c, 0x41, 0x83, 0xd0, 0x04, 0x20,
- 0x07, 0x71, 0xe0, 0x8a, 0xea, 0x49, 0x23, 0x76, 0xe0, 0x5a, 0xb3, 0x2f,
- 0x83, 0xb0, 0x5b, 0x67, 0x69, 0x8f, 0x47, 0x8a, 0xb5, 0xf6, 0x83, 0xd9,
- 0xb2, 0x10, 0x80, 0x5e, 0x3c, 0xcc, 0x4b, 0xbe, 0xad, 0x25, 0xee, 0x52,
- 0x4b, 0xde, 0x36, 0x8b, 0x92, 0xfb, 0x0d, 0xa3, 0x6d, 0x38, 0x7f, 0xb3,
- 0xff, 0xf2, 0xc5, 0x4b, 0x3e, 0x78, 0x00, 0x04, 0xa7, 0xf3, 0xc0, 0x4f,
- 0xa8, 0xeb, 0xae, 0x27, 0xa7, 0x21, 0xc4, 0xc3, 0x6f, 0x01, 0xcb, 0x91,
- 0xbd, 0x87, 0xc8, 0xc2, 0xa8, 0x62, 0x53, 0x89, 0x16, 0x1c, 0x06, 0xed,
- 0x0c, 0x56, 0x62, 0x79, 0xaf, 0x82, 0xe8, 0xae, 0x15, 0xb7, 0x31, 0x4b,
- 0x37, 0xb7, 0x09, 0xe7, 0xa1, 0x56, 0xc6, 0x30, 0x61, 0x9d, 0x2b, 0x08,
- 0x43, 0x96, 0xb6, 0x0d, 0xec, 0x05, 0xd4, 0xe6, 0x8a, 0x8e, 0x14, 0x6d,
- 0xcd, 0x09, 0x2a, 0x92, 0x9f, 0x88, 0x52, 0x5d, 0x90, 0xa8, 0x30, 0xab,
- 0x56, 0xcb, 0xe2, 0xb2, 0x96, 0x2b, 0x0b, 0xb4, 0xab, 0x6a, 0x8e, 0x6c,
- 0x3e, 0x8e, 0xa9, 0x9f, 0x4e, 0x03, 0xf2, 0x42, 0x7f, 0xd5, 0xee, 0x9a,
- 0xa5, 0x87, 0xae, 0xaf, 0xf2, 0x85, 0x06, 0x87, 0xb6, 0xe0, 0xc8, 0x04,
- 0x76, 0x6b, 0x79, 0xd2, 0x68, 0xdd, 0x61, 0x64, 0xca, 0xab, 0x47, 0x07,
- 0xae, 0x4a, 0x97, 0x37, 0xbe, 0xd3, 0x8d, 0xb2, 0xba, 0x98, 0xbb, 0x72,
- 0x74, 0x90, 0x9b, 0x67, 0x8c, 0xae, 0x35, 0x2f, 0xb7, 0x8d, 0x1e, 0xfc,
- 0x37, 0x8f, 0x54, 0xfe, 0x9e, 0x4b, 0x1d, 0x11, 0x6d, 0xc1, 0x9a, 0xc5,
- 0xe6, 0x19, 0x50, 0x3a, 0x6f, 0x0c, 0x87, 0xc2, 0x5b, 0x27, 0x4d, 0xc4,
- 0xfd, 0xeb, 0x59, 0x36, 0x91, 0x5a, 0x82, 0x8f, 0xaf, 0x85, 0x3e, 0xe9,
- 0x2f, 0x53, 0xcd, 0x68, 0x29, 0xc2, 0xb9, 0xa1, 0x9d, 0x11, 0x70, 0x85,
- 0x2e, 0x5b, 0x48, 0xb9, 0x8e, 0x54, 0x28, 0x5a, 0x02, 0x9a, 0xc7, 0x9b,
- 0xe1, 0x14, 0xe6, 0x51, 0x36, 0x2e, 0x83, 0x19, 0xf0, 0x03, 0xed, 0xcd,
- 0x09, 0xcb, 0x68, 0x99, 0x19, 0xe7, 0x24, 0x20, 0xda, 0xeb, 0xa9, 0x5d,
- 0xe6, 0x07, 0x1b, 0xbb, 0x4c, 0x1f, 0x0a, 0x23, 0xaa, 0x6d, 0xb1, 0x6c,
- 0xce, 0x0a, 0x81, 0x89, 0x1f, 0xb3, 0x59, 0x98, 0xa0, 0x6e, 0x61, 0xd5,
- 0xb4, 0xc5, 0xc1, 0xd4, 0x61, 0x18, 0x75, 0xdf, 0x7e, 0xc0, 0x2e, 0xa3,
- 0x91, 0x47, 0x37, 0x19, 0x4f, 0xb4, 0xec, 0xf1, 0x74, 0xae, 0x40, 0x16,
- 0xef, 0x25, 0x8f, 0x02, 0x45, 0xe6, 0xdf, 0x3f, 0xbe, 0x28, 0xd3, 0xb9,
- 0xa5, 0xb4, 0x72, 0x0a, 0x80, 0x3f, 0xbb, 0xea, 0xe4, 0x8a, 0xab, 0xc9,
- 0xae, 0x91, 0xe8, 0xb8, 0x2b, 0x48, 0xdf, 0xf7, 0xe7, 0x73, 0x20, 0x17,
- 0x59, 0x3a, 0xb7, 0xd8, 0x15, 0xd5, 0x75, 0x82, 0x21, 0x46, 0x6d, 0xb9,
- 0x72, 0x81, 0x83, 0xbe, 0x31, 0xc5, 0xd9, 0x0d, 0xe3, 0xd8, 0xb8, 0xeb,
- 0xed, 0xfd, 0x6a, 0x01, 0x1b, 0xb4, 0x2c, 0x8f, 0x7b, 0x5a, 0x96, 0x59,
- 0x19, 0x29, 0xfb, 0xb8, 0xfc, 0xa7, 0x77, 0xbc, 0xda, 0xa5, 0xdb, 0xb1,
- 0xfa, 0xf8, 0x16, 0x77, 0x13, 0xeb, 0x9c, 0x7f, 0xb5, 0x8e, 0x43, 0x2c,
- 0xa3, 0x78, 0x54, 0x64, 0xd3, 0x65, 0x29, 0x1e, 0xb6, 0xb0, 0x08, 0x20,
- 0xb1, 0xd8, 0x15, 0x4b, 0x01, 0x57, 0x6f, 0xe3, 0x6e, 0x6f, 0x74, 0x9e,
- 0x0b, 0xf8, 0x99, 0xe5, 0xef, 0x62, 0x3b, 0x56, 0x2f, 0x8e, 0x3e, 0xed,
- 0x87, 0x28, 0xd8, 0x5c, 0xee, 0x14, 0x64, 0x79, 0xcb, 0x02, 0xad, 0x66,
- 0x7a, 0xda, 0x6b, 0x8d, 0xe9, 0x4d, 0x12, 0x4e, 0x7d, 0x57, 0x52, 0x60,
- 0x8f, 0xa2, 0x63, 0x9f, 0xd1, 0x53, 0x84, 0xb4, 0x72, 0x8d, 0xf3, 0xd9,
- 0x53, 0x2c, 0x8c, 0xf1, 0xf0, 0xdd, 0x9e, 0x4b, 0x01, 0x8b, 0x22, 0x04,
- 0x3a, 0xaf, 0x33, 0xe0, 0xd5, 0xcd, 0xad, 0x1e, 0x43, 0x85, 0x0e, 0x1f,
- 0x59, 0x65, 0x3c, 0xe8, 0x17, 0x59, 0xc6, 0x82, 0xa5, 0x71, 0x8b, 0xcb,
- 0xd2, 0x0a, 0xc2, 0xdf, 0x6d, 0x5c, 0xed, 0xcd, 0xe9, 0x60, 0xfd, 0x7b,
- 0x3a, 0xb8, 0x9e, 0x59, 0x6f, 0x26, 0x40, 0x1f, 0x2b, 0x22, 0xd6, 0x93,
- 0x9a, 0xd4, 0x61, 0x47, 0xfc, 0x57, 0xb1, 0x08, 0x56, 0x3d, 0xa6, 0xf3,
- 0x8a, 0x47, 0x94, 0x7a, 0xcc, 0x66, 0xc8, 0x95, 0x6b, 0x0f, 0xc8, 0x90,
- 0x48, 0xbb, 0x10, 0x2f, 0xc5, 0x6d, 0xbc, 0xa4, 0x58, 0x08, 0x3a, 0x90,
- 0xd5, 0xfc, 0xb8, 0x0b, 0xd3, 0xcc, 0x5b, 0x80, 0x3a, 0x0d, 0xbb, 0x9b,
- 0x04, 0x2c, 0xe9, 0x1a, 0x01, 0x9e, 0x5a, 0xbb, 0x18, 0xc1, 0xa2, 0x9a,
- 0x37, 0xac, 0x96, 0x83, 0x24, 0x99, 0x38, 0x30, 0x09, 0x7e, 0xbc, 0x81,
- 0x2f, 0xcb, 0xb1, 0x50, 0x52, 0x75, 0xa3, 0x0a, 0x5d, 0x3e, 0x68, 0xb8,
- 0xff, 0x93, 0xab, 0x49, 0x5f, 0x39, 0x7d, 0x95, 0x19, 0xf5, 0xf3, 0x4d,
- 0x2c, 0xc4, 0x15, 0x2d, 0x01, 0x7e, 0x7c, 0xfe, 0x44, 0x01, 0x81, 0xe8,
- 0x3c, 0x61, 0x48, 0xb6, 0x5b, 0x60, 0xce, 0x72, 0x9e, 0xa0, 0xe6, 0xcb,
- 0xaf, 0xb3, 0x19, 0x40, 0x6a, 0xcd, 0x08, 0x8c, 0x9d, 0x04, 0x99, 0x6c,
- 0xd4, 0x75, 0x08, 0x81, 0xc6, 0x47, 0xa3, 0xdb, 0x83, 0xed, 0x5e, 0x20,
- 0x58, 0x02, 0x97, 0x4c, 0x83, 0x03, 0xb8, 0xaf, 0x41, 0x74, 0x2e, 0x6e,
- 0x68, 0x95, 0x0c, 0x99, 0xa6, 0x1a, 0xd2, 0x95, 0x56, 0x84, 0x60, 0xac,
- 0x09, 0x27, 0x86, 0x73, 0x7e, 0x5f, 0x83, 0x66, 0xb6, 0xfa, 0xcf, 0x5f,
- 0xbe, 0xac, 0xdc, 0xe5, 0xa1, 0xea, 0xfb, 0x62, 0x6b, 0x4b, 0x92, 0x1e,
- 0xeb, 0xaf, 0xd1, 0x17, 0xfd, 0x97, 0x78, 0xb1, 0xfa, 0x9a, 0xa4, 0xc6,
- 0xad, 0x7e, 0xaf, 0xcf, 0xdf, 0xb4, 0x74, 0x07, 0x83, 0xc2, 0xca, 0xb7,
- 0x5e, 0x72, 0x77, 0x2d, 0x6f, 0x09, 0x42, 0x0c, 0xd6, 0x2e, 0xbb, 0xbc,
- 0xe4, 0x62, 0x4b, 0xfc, 0xa4, 0x20, 0x74, 0x65, 0xf9, 0x5d, 0x9c, 0x4f,
- 0x9a, 0xd3, 0xdd, 0xea, 0xf5, 0xb7, 0x57, 0x4d, 0xd7, 0x95, 0x46, 0xc0,
- 0x06, 0xb2, 0xf6, 0xb3, 0xfe, 0xa7, 0x8d, 0xf5, 0xaf, 0x37, 0xda, 0x66,
- 0xff, 0xe9, 0xd6, 0x56, 0xef, 0x13, 0xfe, 0xf9, 0xf2, 0x65, 0xfb, 0xc1,
- 0xaa, 0xf4, 0xf1, 0xcc, 0xa6, 0x56, 0x19, 0x2d, 0xb5, 0xd3, 0xd2, 0xfa,
- 0x36, 0xb5, 0xba, 0xfd, 0xf2, 0x65, 0x8f, 0x7b, 0x79, 0xf1, 0x41, 0xad,
- 0x97, 0x77, 0x99, 0xb7, 0xd7, 0x6e, 0xbb, 0xae, 0x40, 0x81, 0x45, 0x6d,
- 0x0a, 0xf4, 0x67, 0x14, 0xbd, 0x96, 0x64, 0xd0, 0x28, 0x08, 0xc5, 0xf4,
- 0xc6, 0xfe, 0x5a, 0xc5, 0x6b, 0xa9, 0x31, 0xad, 0x3a, 0xad, 0x2b, 0xb1,
- 0xbc, 0xe6, 0xc1, 0x24, 0xe0, 0x5a, 0xf4, 0xa0, 0x56, 0x88, 0x44, 0x41,
- 0x55, 0x1f, 0x8f, 0x31, 0x5a, 0x44, 0xeb, 0x44, 0x2f, 0x1b, 0xd0, 0xfe,
- 0x6f, 0xe3, 0x69, 0x0a, 0xda, 0xec, 0x22, 0x99, 0x55, 0x52, 0x96, 0xf8,
- 0x8f, 0x6c, 0xd1, 0x15, 0xcd, 0x09, 0xe3, 0x5e, 0x73, 0x4c, 0x8d, 0x18,
- 0xc9, 0x7d, 0xa4, 0x4f, 0xf7, 0xf1, 0xd8, 0x40, 0xac, 0x55, 0x31, 0x1c,
- 0x11, 0xb5, 0xae, 0x22, 0x97, 0x24, 0xaa, 0x21, 0x59, 0x68, 0xcd, 0xc5,
- 0xcf, 0xfa, 0xb9, 0x75, 0x8b, 0x20, 0xdf, 0x5c, 0xb9, 0x13, 0x97, 0x73,
- 0x15, 0x04, 0x3b, 0x81, 0x04, 0xa4, 0xdb, 0xcd, 0x81, 0x1c, 0xb1, 0x52,
- 0xe9, 0x60, 0x05, 0xd6, 0x2a, 0x86, 0x0e, 0xa9, 0x9d, 0x7b, 0x99, 0x5e,
- 0x2d, 0x45, 0xfb, 0xf4, 0xa7, 0xec, 0x87, 0xb0, 0x22, 0x9d, 0x54, 0xac,
- 0x65, 0x95, 0xf4, 0x2e, 0xb6, 0x5a, 0x58, 0x08, 0x61, 0xb1, 0x63, 0xef,
- 0x10, 0x4e, 0xb4, 0xfc, 0x94, 0x86, 0xd4, 0x7b, 0x18, 0x26, 0x03, 0x95,
- 0x92, 0xa8, 0xc4, 0x09, 0x90, 0xbd, 0x34, 0xf6, 0x98, 0x1d, 0x3c, 0x88,
- 0x7f, 0xa9, 0x98, 0xd1, 0x0c, 0x0c, 0x4d, 0x16, 0x21, 0xd2, 0x14, 0xec,
- 0xb5, 0x9a, 0xe3, 0xc5, 0x6a, 0x2a, 0x4b, 0xf2, 0xaa, 0x2b, 0x3c, 0xe2,
- 0x66, 0x01, 0xd5, 0x4f, 0xf1, 0x3f, 0x2c, 0x23, 0x58, 0xcd, 0x03, 0x41,
- 0xc2, 0x91, 0xc8, 0x7e, 0x9a, 0x11, 0xd7, 0xb6, 0x6d, 0x8e, 0x04, 0x03,
- 0x64, 0x50, 0xd0, 0x55, 0xa0, 0xe6, 0x1b, 0x90, 0x49, 0x36, 0x63, 0x8c,
- 0xb6, 0xc9, 0x06, 0x12, 0x9e, 0x64, 0x17, 0x9c, 0xe1, 0x4b, 0x03, 0x1d,
- 0xd6, 0xaa, 0x6a, 0x75, 0x34, 0x3c, 0xfa, 0x1f, 0x87, 0x83, 0xd0, 0x9c,
- 0xf9, 0x5b, 0x05, 0x83, 0xe4, 0xf1, 0x5d, 0xb5, 0x82, 0xa5, 0x54, 0x24,
- 0x91, 0x58, 0xb8, 0x78, 0x3a, 0xf5, 0x95, 0xd8, 0xe0, 0x5c, 0x22, 0x61,
- 0x3e, 0x33, 0x78, 0x36, 0x57, 0x65, 0x6d, 0x25, 0x9e, 0x17, 0xea, 0x6b,
- 0xa2, 0xc8, 0x50, 0xe8, 0x63, 0x70, 0x39, 0x70, 0x33, 0x24, 0xb5, 0x18,
- 0xb8, 0xf3, 0x72, 0x8e, 0xd2, 0x85, 0x34, 0x86, 0xba, 0xb4, 0x12, 0xdf,
- 0x0d, 0x1e, 0xab, 0xfa, 0x7e, 0xee, 0xc3, 0x8c, 0x78, 0xe6, 0x4f, 0x57,
- 0xe7, 0x0c, 0x31, 0x48, 0xcc, 0x38, 0x60, 0x94, 0x85, 0x3b, 0xfe, 0x8a,
- 0xe9, 0x50, 0x51, 0x5a, 0x1b, 0x81, 0xb7, 0xb4, 0xb6, 0x65, 0x3c, 0x5b,
- 0xb4, 0x84, 0xa0, 0x09, 0x46, 0x1c, 0x92, 0xc1, 0xc5, 0x7a, 0xed, 0xe0,
- 0x92, 0xb5, 0xb3, 0x66, 0x73, 0x41, 0x5c, 0x9c, 0x10, 0x2a, 0xbd, 0x08,
- 0x5b, 0xb8, 0xeb, 0xa7, 0x1a, 0xcf, 0xc5, 0x92, 0x16, 0xb0, 0x79, 0x5a,
- 0x62, 0x5a, 0x63, 0x5d, 0xf9, 0x14, 0xd0, 0x20, 0x49, 0x9e, 0x0b, 0x10,
- 0xb5, 0x48, 0xef, 0x89, 0xc6, 0x66, 0x88, 0x8f, 0x1b, 0xa1, 0x7d, 0x41,
- 0x0d, 0x95, 0x78, 0xc5, 0x0e, 0x7a, 0xf0, 0x0b, 0xe9, 0x1a, 0xeb, 0xe7,
- 0x6f, 0x5d, 0x09, 0x4f, 0xb3, 0x92, 0x1a, 0x5a, 0xa0, 0x2f, 0x5a, 0x2e,
- 0x06, 0x4d, 0xcc, 0xa0, 0x00, 0xd8, 0x57, 0xdf, 0xa7, 0xee, 0xb7, 0x94,
- 0x16, 0x30, 0x28, 0xf0, 0x05, 0xf4, 0xc3, 0x83, 0x53, 0x18, 0xd5, 0xb4,
- 0x68, 0x45, 0xe2, 0x84, 0x71, 0x98, 0x4d, 0x9c, 0x6e, 0xbe, 0x32, 0x5d,
- 0x01, 0x25, 0x4b, 0x52, 0x4e, 0x21, 0xd8, 0x65, 0x64, 0x74, 0xc9, 0xee,
- 0xee, 0x05, 0x28, 0x51, 0x2f, 0xee, 0xef, 0x9b, 0x98, 0x41, 0x1e, 0xad,
- 0x46, 0x70, 0xc0, 0x85, 0xd8, 0xe9, 0xd1, 0xea, 0x97, 0x8f, 0x81, 0x90,
- 0x60, 0xbf, 0x47, 0x99, 0x04, 0x3c, 0xca, 0x6a, 0xc5, 0x2d, 0xeb, 0x28,
- 0x97, 0xf1, 0x5d, 0x9c, 0xe2, 0x58, 0x36, 0x4c, 0xcb, 0x90, 0x30, 0x1c,
- 0x60, 0xad, 0x45, 0xde, 0x71, 0xb4, 0xfa, 0x35, 0xb1, 0x02, 0x01, 0x1d,
- 0x91, 0x05, 0xb2, 0x06, 0x0d, 0x3d, 0xb8, 0x65, 0x9d, 0xb8, 0x17, 0x59,
- 0xf6, 0x14, 0xe8, 0x1e, 0x65, 0xca, 0x45, 0x76, 0x23, 0x60, 0x5d, 0x50,
- 0x0b, 0xdb, 0xb4, 0xfc, 0xe9, 0x7c, 0xa9, 0x40, 0x74, 0x52, 0x22, 0xca,
- 0xc3, 0xbe, 0xb7, 0x2d, 0xfb, 0x14, 0x69, 0x94, 0x52, 0x12, 0xa5, 0x0e,
- 0xac, 0xad, 0xe3, 0x92, 0xb4, 0x13, 0xf5, 0x57, 0x18, 0xc9, 0xf6, 0xf1,
- 0x6a, 0x4b, 0x80, 0x5f, 0xe4, 0x42, 0xfb, 0xf4, 0x68, 0x26, 0xf7, 0xb4,
- 0xda, 0x82, 0x94, 0x13, 0x01, 0x45, 0x9c, 0x8b, 0x19, 0xd3, 0x1a, 0x5c,
- 0x65, 0x39, 0x6d, 0xea, 0x4c, 0xa5, 0x5c, 0xdc, 0x36, 0x75, 0xe9, 0x4b,
- 0xbb, 0x72, 0x88, 0x07, 0x0c, 0xea, 0xe9, 0xb0, 0x68, 0xca, 0xac, 0x54,
- 0xc6, 0xa8, 0xe9, 0xc9, 0xce, 0xc8, 0x6b, 0xe3, 0x7e, 0x2c, 0x68, 0x6a,
- 0x67, 0xf0, 0x6c, 0xe3, 0x49, 0xb0, 0xc7, 0x40, 0x94, 0xaf, 0x95, 0x25,
- 0x6c, 0x2d, 0x67, 0xd2, 0x58, 0x5c, 0xae, 0x1a, 0x5d, 0x29, 0x68, 0x52,
- 0x3b, 0xf7, 0xb2, 0x88, 0x8f, 0x00, 0x39, 0x98, 0x53, 0xad, 0x98, 0x26,
- 0xc9, 0x42, 0xc6, 0xa6, 0x10, 0x3c, 0x7a, 0x54, 0xdd, 0xde, 0x21, 0xf4,
- 0x52, 0x89, 0x54, 0xaf, 0xd7, 0x55, 0x1c, 0x40, 0x6d, 0xf4, 0x6c, 0xb8,
- 0x36, 0x90, 0xf9, 0x76, 0x4e, 0xb3, 0x2e, 0x82, 0x8a, 0x05, 0x91, 0xae,
- 0x40, 0x9d, 0xb6, 0x2d, 0x95, 0x02, 0x3e, 0xb6, 0xad, 0x6e, 0x60, 0xba,
- 0x19, 0xb5, 0x6a, 0x34, 0x4d, 0xac, 0x46, 0xb9, 0x9d, 0x71, 0x35, 0x25,
- 0x82, 0x4e, 0x87, 0xa2, 0x34, 0x32, 0x23, 0x94, 0x48, 0xd5, 0x44, 0xdf,
- 0x81, 0xe3, 0x3d, 0x82, 0x40, 0x8a, 0x25, 0x6c, 0x38, 0x4d, 0x7e, 0x49,
- 0xf2, 0x2c, 0x28, 0xca, 0x85, 0x55, 0x34, 0x61, 0xd1, 0xc5, 0x56, 0x39,
- 0x6a, 0xe4, 0xb1, 0x0f, 0x3c, 0x89, 0x34, 0x81, 0x0d, 0xff, 0x97, 0xa1,
- 0x98, 0x27, 0xd1, 0x3f, 0x2e, 0xf4, 0xe0, 0x4a, 0xa4, 0xb1, 0x5e, 0x17,
- 0x28, 0xec, 0x6a, 0x4c, 0x5d, 0xad, 0xa6, 0xcc, 0xb4, 0x02, 0x9a, 0xd0,
- 0xdb, 0xb2, 0x7e, 0x68, 0xce, 0x95, 0x37, 0x19, 0x0f, 0x41, 0x56, 0x59,
- 0xcc, 0xd2, 0x09, 0xd7, 0x83, 0x58, 0xe7, 0x3c, 0x0d, 0x1d, 0xda, 0x06,
- 0x7f, 0x8c, 0x1c, 0xec, 0xd8, 0x57, 0x74, 0xaa, 0xcb, 0x11, 0x8a, 0xb1,
- 0x20, 0xfc, 0x6a, 0xd2, 0x82, 0x91, 0x72, 0x92, 0x95, 0xe9, 0xd8, 0x57,
- 0xfd, 0x75, 0xed, 0xe8, 0x9b, 0x0d, 0x3e, 0x2f, 0xed, 0x68, 0xec, 0x3b,
- 0x37, 0xd1, 0xab, 0x80, 0x44, 0xd9, 0xb0, 0x11, 0x54, 0x03, 0xbf, 0x11,
- 0xe2, 0x10, 0xf4, 0x92, 0x6c, 0xb1, 0xf2, 0x83, 0xad, 0xb3, 0x6f, 0x08,
- 0x9e, 0x35, 0x9e, 0x4e, 0x0b, 0x9e, 0x0b, 0x36, 0x80, 0xda, 0x48, 0xb3,
- 0x09, 0x7c, 0x72, 0xc2, 0x94, 0x9a, 0x31, 0xa4, 0xd4, 0xde, 0x34, 0x71,
- 0xd1, 0x3a, 0xdd, 0x22, 0x00, 0xe9, 0xe1, 0x26, 0x7a, 0xea, 0x37, 0xae,
- 0xc0, 0xba, 0x0c, 0x04, 0x8f, 0x6f, 0x75, 0xa5, 0x39, 0x62, 0x82, 0x20,
- 0xee, 0x52, 0x84, 0x6e, 0x43, 0x3b, 0x71, 0xcc, 0xfa, 0x43, 0xd8, 0x5c,
- 0x4d, 0xd4, 0x5c, 0x45, 0xb1, 0xba, 0xac, 0x31, 0x20, 0xdb, 0xfe, 0x15,
- 0xa2, 0x2d, 0x18, 0xa5, 0x93, 0x6b, 0x20, 0xd4, 0x37, 0x6e, 0x88, 0x0f,
- 0x61, 0x5b, 0x1f, 0x44, 0x07, 0x80, 0x36, 0x63, 0x64, 0x36, 0x41, 0xf7,
- 0xe5, 0x68, 0x01, 0xf5, 0x60, 0xe7, 0x4e, 0x0a, 0x90, 0x54, 0xd1, 0x81,
- 0xe2, 0xa2, 0xd4, 0x91, 0xe1, 0x01, 0x57, 0xba, 0x0c, 0x53, 0xc5, 0xfb,
- 0x43, 0xee, 0x9b, 0xda, 0xec, 0xa3, 0x85, 0xf6, 0x0c, 0x72, 0x03, 0x29,
- 0xe9, 0x0b, 0x8a, 0x6b, 0x80, 0xb8, 0xc2, 0x83, 0xa9, 0x74, 0xcd, 0xd4,
- 0xc8, 0x9b, 0xcc, 0x6c, 0xb3, 0x12, 0x58, 0xc9, 0xf5, 0xba, 0x8a, 0xe7,
- 0xd1, 0x2b, 0xa4, 0x8d, 0xec, 0xb2, 0x6e, 0xf1, 0xf3, 0xe7, 0x8d, 0x9a,
- 0xdb, 0x89, 0x61, 0x82, 0xaa, 0x9d, 0x6f, 0x78, 0xba, 0xff, 0xcd, 0xf0,
- 0xb9, 0x45, 0xd5, 0x59, 0x19, 0x11, 0x0f, 0x8d, 0x68, 0x39, 0xf5, 0x2b,
- 0xab, 0xa7, 0xf4, 0xd4, 0xb4, 0xa6, 0xa5, 0x96, 0x22, 0x43, 0x56, 0xdc,
- 0xde, 0xfa, 0x6c, 0xeb, 0x31, 0x2c, 0xc2, 0x96, 0x44, 0x2e, 0x86, 0x68,
- 0xcd, 0xd3, 0x49, 0x22, 0x50, 0x64, 0x8c, 0xe9, 0x93, 0x66, 0x4b, 0x97,
- 0x8a, 0x1a, 0xf9, 0x78, 0x3b, 0xad, 0xac, 0xcc, 0x10, 0x95, 0x75, 0x27,
- 0x30, 0xf1, 0x15, 0x5a, 0x7e, 0xc9, 0x4c, 0x4f, 0xee, 0xc7, 0x53, 0x12,
- 0x16, 0x6e, 0x7f, 0xd7, 0x82, 0x59, 0xb2, 0xea, 0xf1, 0xbf, 0xb4, 0xec,
- 0xf1, 0x87, 0xad, 0x7b, 0xab, 0x95, 0xea, 0x57, 0xac, 0x7b, 0x5b, 0xb1,
- 0xb4, 0x2a, 0x7e, 0xb9, 0x5f, 0xf9, 0xd6, 0xa5, 0x0f, 0x57, 0x5e, 0x78,
- 0xea, 0xff, 0x22, 0xeb, 0xfe, 0x02, 0x35, 0x95, 0x61, 0x40, 0x7d, 0x6a,
- 0xfd, 0x55, 0xcd, 0xf6, 0xde, 0x27, 0x6c, 0xc1, 0x0b, 0x0d, 0x4a, 0x5c,
- 0x87, 0x09, 0x2b, 0x09, 0xe3, 0x14, 0x19, 0xee, 0x73, 0x7a, 0xdb, 0x26,
- 0xac, 0xba, 0x00, 0xa6, 0x8d, 0x27, 0x4f, 0x8c, 0xdb, 0x29, 0x09, 0x38,
- 0x92, 0xbd, 0xaa, 0xaf, 0xdd, 0xff, 0x15, 0x3b, 0x57, 0x13, 0x81, 0xab,
- 0xb3, 0xe0, 0x44, 0x4d, 0x37, 0x76, 0xa9, 0x87, 0x43, 0x17, 0x1e, 0xff,
- 0x52, 0x49, 0x59, 0xd5, 0xb8, 0x9f, 0x66, 0x3e, 0xbe, 0x92, 0x43, 0xa5,
- 0x02, 0x8a, 0x41, 0x68, 0x1b, 0xf4, 0xf6, 0x46, 0x83, 0x78, 0xfe, 0x95,
- 0x33, 0x6b, 0x04, 0xc3, 0xf1, 0x66, 0x8c, 0xfe, 0xe2, 0xc8, 0x44, 0xe8,
- 0x0b, 0xa4, 0xd1, 0x16, 0xdc, 0x06, 0x65, 0x9c, 0xc1, 0x3a, 0x54, 0x54,
- 0xfb, 0x00, 0x92, 0xa9, 0x1c, 0xee, 0x96, 0x84, 0x55, 0x21, 0x98, 0xff,
- 0x43, 0x18, 0x6a, 0x1b, 0x79, 0x58, 0x38, 0xf5, 0x07, 0x13, 0x87, 0x8a,
- 0x0f, 0xff, 0x3e, 0x79, 0x94, 0x13, 0x5a, 0xb8, 0x76, 0x27, 0xce, 0xb9,
- 0x61, 0x42, 0x42, 0x7b, 0x46, 0xdd, 0x26, 0x98, 0x3b, 0xf4, 0x1d, 0x8b,
- 0xe2, 0xa8, 0x38, 0xf8, 0x7d, 0x1a, 0xf5, 0x6a, 0xac, 0x43, 0x30, 0x31,
- 0xc9, 0x59, 0x07, 0x2a, 0x58, 0xb7, 0xdf, 0x35, 0x2a, 0x30, 0xe3, 0x96,
- 0x2b, 0xa5, 0x06, 0x77, 0x8e, 0xe4, 0xee, 0x3e, 0xca, 0x1c, 0x14, 0x4e,
- 0x10, 0x9e, 0x66, 0xd1, 0xc5, 0xd8, 0x8e, 0xe9, 0xb2, 0x7c, 0x63, 0x92,
- 0x2e, 0x12, 0x9e, 0x04, 0x4b, 0x1e, 0x13, 0xd4, 0xef, 0x5c, 0x81, 0xa6,
- 0xca, 0x4f, 0x8f, 0xe3, 0x45, 0x3c, 0x4a, 0xa7, 0xa4, 0xf6, 0xb7, 0x04,
- 0xcd, 0xfc, 0x86, 0x8c, 0xbd, 0x1c, 0x2f, 0xfa, 0xf3, 0xac, 0x4d, 0xab,
- 0xbf, 0x60, 0xb8, 0xc6, 0x00, 0xa3, 0xe3, 0xfd, 0xc9, 0xe9, 0xc1, 0xe1,
- 0xf1, 0xde, 0x0f, 0xe6, 0x85, 0x72, 0xe1, 0x80, 0xa8, 0xaf, 0x90, 0xc4,
- 0xc5, 0xc3, 0x7b, 0xd2, 0x37, 0xe8, 0xcb, 0xf5, 0x67, 0x1b, 0x6c, 0x30,
- 0xae, 0x9f, 0x21, 0x16, 0xa6, 0x42, 0x04, 0x37, 0x35, 0xb1, 0xf8, 0x79,
- 0xd4, 0xb8, 0xf1, 0x76, 0xc5, 0x34, 0x58, 0xd2, 0xe1, 0x29, 0x93, 0xe9,
- 0x3c, 0x29, 0x15, 0xba, 0x2b, 0x7a, 0x75, 0x7a, 0x76, 0xf1, 0xfa, 0x36,
- 0x6e, 0x14, 0x82, 0x44, 0x3a, 0x9e, 0x56, 0x51, 0x35, 0x02, 0x91, 0x37,
- 0x83, 0xd8, 0xa2, 0xa1, 0x8b, 0xe0, 0xb1, 0x27, 0xe9, 0xe8, 0x35, 0x22,
- 0x77, 0x2e, 0x2e, 0x7e, 0x38, 0x3b, 0x7c, 0xfd, 0x8a, 0x6d, 0xed, 0x9f,
- 0xb3, 0x78, 0xae, 0x0a, 0x8e, 0x98, 0xde, 0xa7, 0x52, 0x88, 0xb3, 0xfe,
- 0xce, 0xf7, 0x07, 0x47, 0xc3, 0xb3, 0xe3, 0xd3, 0xfd, 0xd7, 0xaf, 0xbe,
- 0xb7, 0x4a, 0xd7, 0xc1, 0xbb, 0xee, 0x33, 0x17, 0x99, 0xd0, 0x04, 0x30,
- 0x39, 0xfc, 0xee, 0xfd, 0xe1, 0xc9, 0xb7, 0xaf, 0x5f, 0xdd, 0xc6, 0x79,
- 0x8f, 0xe7, 0x27, 0x6f, 0xa3, 0x50, 0x7a, 0x13, 0x3c, 0x2e, 0xd8, 0xcb,
- 0x0b, 0x86, 0x39, 0x5a, 0xb0, 0xd5, 0xfb, 0x11, 0xaf, 0x28, 0x48, 0xd6,
- 0x23, 0x86, 0x54, 0x4f, 0x4f, 0x60, 0xc3, 0xd4, 0x85, 0x73, 0x99, 0xb4,
- 0xef, 0xce, 0x8f, 0xc1, 0x4d, 0x5b, 0x11, 0x3e, 0xa4, 0x4a, 0x90, 0xcf,
- 0xe9, 0xb5, 0x7a, 0x3f, 0xae, 0x61, 0xe4, 0xcf, 0x7a, 0x40, 0xbe, 0xd8,
- 0x2a, 0xaa, 0x3c, 0x62, 0x44, 0x95, 0xf4, 0x00, 0xf8, 0x7f, 0x1c, 0x82,
- 0x25, 0xe2, 0xe2, 0x04, 0xff, 0x87, 0xa6, 0x20, 0x25, 0x9e, 0x36, 0x8d,
- 0x44, 0x99, 0xd4, 0xd7, 0x56, 0x04, 0x4b, 0x44, 0x5a, 0x9b, 0x91, 0xd9,
- 0x2a, 0x3b, 0xa9, 0x31, 0x3f, 0x8c, 0xc7, 0xd2, 0x25, 0xaa, 0xb3, 0x90,
- 0x70, 0x88, 0xba, 0xf6, 0xe0, 0xd1, 0x0c, 0x39, 0x11, 0xf8, 0xc6, 0x8d,
- 0x2b, 0x97, 0x63, 0x56, 0x8d, 0x52, 0xb0, 0xb8, 0xb1, 0xc0, 0xaa, 0x5c,
- 0xcf, 0xb1, 0x50, 0x4f, 0xb4, 0xd6, 0x23, 0x35, 0xf7, 0xf3, 0x8c, 0x2f,
- 0x35, 0x8e, 0x7c, 0xe3, 0x80, 0x3f, 0xe7, 0xe9, 0x92, 0x8d, 0x0d, 0x42,
- 0x07, 0x5b, 0xeb, 0x46, 0x0f, 0x1c, 0x6b, 0x30, 0x9e, 0x80, 0x5a, 0xec,
- 0x9c, 0xed, 0xbe, 0x5e, 0x6c, 0xa8, 0xe3, 0x46, 0x38, 0xc3, 0xd9, 0x3b,
- 0x9f, 0x33, 0xd0, 0x5a, 0x91, 0x7c, 0x45, 0x2d, 0x51, 0x27, 0xdd, 0xf9,
- 0x85, 0xea, 0xf4, 0x3b, 0x24, 0xd2, 0x99, 0xde, 0xcb, 0x01, 0xa5, 0x1b,
- 0x16, 0xf6, 0x8e, 0xe2, 0x75, 0x21, 0x08, 0x42, 0xdc, 0x9a, 0x5f, 0xdd,
- 0x9a, 0xbd, 0x61, 0x38, 0xd4, 0x16, 0xae, 0xc9, 0x6c, 0xac, 0x7f, 0xe1,
- 0x33, 0x8e, 0x39, 0x5f, 0xb8, 0x25, 0xd6, 0x79, 0x10, 0x1d, 0xf2, 0xb7,
- 0xfd, 0x8b, 0x06, 0x10, 0x31, 0xbf, 0xb0, 0x88, 0xd3, 0x3c, 0xf0, 0x49,
- 0xc2, 0xeb, 0xcf, 0x63, 0x95, 0xe5, 0xd5, 0x88, 0x11, 0x94, 0x2e, 0x1a,
- 0x68, 0x1d, 0x4f, 0x36, 0x40, 0xad, 0x00, 0xb1, 0x28, 0xa2, 0xce, 0xd5,
- 0x34, 0x1b, 0x8d, 0x68, 0xe2, 0x1d, 0xb3, 0x9e, 0xd2, 0x08, 0xad, 0x4a,
- 0x67, 0xcf, 0xf2, 0x3c, 0x3d, 0x05, 0x03, 0xaf, 0x01, 0x7d, 0xad, 0x0a,
- 0x93, 0x54, 0x9c, 0x5a, 0xc9, 0x54, 0xb2, 0x35, 0x05, 0x9e, 0xc2, 0x43,
- 0x1d, 0xe5, 0x99, 0x3f, 0xb5, 0xfe, 0xeb, 0x36, 0x88, 0xf2, 0x61, 0x1a,
- 0x94, 0xf0, 0xb5, 0x13, 0x89, 0x73, 0xa8, 0x09, 0xfb, 0x2d, 0x25, 0xf5,
- 0x30, 0x61, 0x9a, 0x40, 0xe7, 0x1f, 0x3c, 0x88, 0xed, 0x1e, 0xff, 0xbb,
- 0xf3, 0xcf, 0x8e, 0xa1, 0x25, 0xdc, 0xdd, 0xdd, 0x0d, 0x64, 0xf0, 0x25,
- 0xa7, 0xc2, 0x17, 0x06, 0xd1, 0xd0, 0x82, 0xc8, 0xc0, 0x00, 0xb1, 0x2b,
- 0x5b, 0x4f, 0x67, 0x57, 0x3f, 0x6e, 0xf7, 0xb7, 0xb7, 0xb6, 0xb6, 0x7e,
- 0x1e, 0x2c, 0x78, 0xe9, 0x2e, 0xd1, 0x3c, 0xe7, 0xbb, 0x2c, 0xd2, 0x31,
- 0xbb, 0x0e, 0x69, 0x33, 0xd3, 0x18, 0x65, 0xa3, 0xa4, 0xbf, 0xcd, 0xf0,
- 0xc6, 0xca, 0x39, 0xec, 0xb9, 0x95, 0xb9, 0x19, 0x3a, 0x4e, 0x1c, 0x5d,
- 0x2e, 0x05, 0x18, 0x89, 0x9e, 0x9c, 0x2c, 0xc5, 0xc5, 0xc3, 0x02, 0x04,
- 0x57, 0x53, 0x10, 0xe3, 0xbb, 0x48, 0x30, 0x74, 0x03, 0x19, 0xd4, 0x6c,
- 0x5c, 0xc6, 0xbd, 0xd6, 0xd2, 0x0b, 0x88, 0x75, 0x4a, 0x0a, 0x2e, 0x10,
- 0x82, 0xe2, 0xdf, 0x01, 0x54, 0x60, 0xcf, 0xc5, 0x54, 0x82, 0x8a, 0x15,
- 0x26, 0x41, 0x82, 0x0c, 0x9b, 0x75, 0x6e, 0xf9, 0x98, 0x90, 0x88, 0x10,
- 0x16, 0x87, 0x74, 0x68, 0x64, 0x06, 0x5e, 0x96, 0x48, 0xc6, 0x88, 0x89,
- 0x1b, 0x1f, 0x24, 0x6d, 0x86, 0x92, 0x26, 0x02, 0x21, 0xfb, 0xb7, 0x82,
- 0xaa, 0x32, 0xe2, 0x4a, 0x4a, 0x92, 0x03, 0x8f, 0xa5, 0x68, 0x64, 0xd2,
- 0x17, 0xe3, 0x34, 0xfd, 0x5d, 0x85, 0x0b, 0xf4, 0x8a, 0x6e, 0xfe, 0x2f,
- 0xde, 0x30, 0x06, 0xcf, 0x4e, 0x50, 0xcb, 0x24, 0x40, 0x15, 0xc5, 0x54,
- 0x05, 0x55, 0x74, 0x9a, 0xc4, 0x1c, 0x8b, 0x65, 0xa2, 0xf2, 0x75, 0x72,
- 0x2f, 0xb7, 0x68, 0x33, 0xc9, 0x4f, 0x5d, 0xd9, 0xd7, 0x9c, 0x31, 0x27,
- 0xe5, 0x01, 0x87, 0xfb, 0x47, 0x47, 0x15, 0x1c, 0x0d, 0x5e, 0x3c, 0xa9,
- 0xea, 0x03, 0xab, 0x56, 0x31, 0xa3, 0x55, 0x64, 0x8b, 0x1a, 0x86, 0xdb,
- 0xb8, 0xbc, 0xd9, 0xb5, 0x8f, 0x14, 0x6d, 0x4e, 0x36, 0x88, 0x8b, 0xd4,
- 0x62, 0x29, 0x62, 0x01, 0x76, 0x58, 0xce, 0xf9, 0x9a, 0x45, 0x9d, 0xbc,
- 0x25, 0x1d, 0xc9, 0xe2, 0xb7, 0x26, 0xc8, 0xc1, 0xef, 0x4d, 0x7a, 0x2d,
- 0x5e, 0xe4, 0xb3, 0x5c, 0xdd, 0xf4, 0xe2, 0x53, 0x8c, 0xc4, 0x05, 0xcc,
- 0x18, 0x4a, 0x7c, 0x6b, 0x08, 0x05, 0xd2, 0x10, 0x6d, 0xb4, 0x5a, 0x2b,
- 0x4d, 0x00, 0x83, 0x5b, 0x92, 0xaf, 0x55, 0x9c, 0x63, 0x0b, 0x65, 0x45,
- 0x7a, 0x7d, 0x5e, 0x41, 0x92, 0x30, 0x04, 0xca, 0xe8, 0x15, 0xff, 0xbb,
- 0x6b, 0x08, 0x90, 0x2b, 0x91, 0xdd, 0x15, 0x17, 0xb9, 0x8a, 0x16, 0x69,
- 0x09, 0x47, 0x40, 0x30, 0x91, 0xc0, 0x97, 0x1a, 0xfe, 0x57, 0xad, 0xb9,
- 0x53, 0xb7, 0x23, 0x1e, 0x6d, 0x1a, 0x8d, 0xd6, 0x41, 0x70, 0xdb, 0x78,
- 0x00, 0xdf, 0x56, 0xc8, 0xd9, 0xb8, 0x4a, 0x6f, 0x13, 0x0f, 0x64, 0x89,
- 0x83, 0xb0, 0x6e, 0xaa, 0x1d, 0xaa, 0xa4, 0x8b, 0x72, 0x23, 0xd5, 0x98,
- 0x37, 0x5a, 0x17, 0x09, 0x9b, 0x44, 0x72, 0x17, 0xbb, 0xe5, 0x05, 0xf4,
- 0xc3, 0xa1, 0x4d, 0xaf, 0x84, 0xb6, 0x82, 0x98, 0xc7, 0x50, 0x71, 0x67,
- 0x47, 0x7d, 0x0d, 0x24, 0x51, 0x04, 0x30, 0xc9, 0x13, 0xe0, 0x79, 0x4c,
- 0xb2, 0x7a, 0x92, 0x73, 0x1b, 0xba, 0x96, 0x47, 0x4a, 0x12, 0xb8, 0xb5,
- 0x0a, 0x0e, 0xc2, 0x72, 0x51, 0x9b, 0x5b, 0x75, 0xd5, 0xdb, 0x02, 0xe0,
- 0x34, 0x37, 0x35, 0x94, 0xc6, 0x47, 0x0f, 0x56, 0x88, 0x52, 0x85, 0x15,
- 0x55, 0xf8, 0xe4, 0xf6, 0xc6, 0xca, 0xb4, 0x65, 0x78, 0x06, 0xc4, 0xbe,
- 0x4b, 0xdc, 0x66, 0x19, 0xed, 0x76, 0x7e, 0x47, 0x76, 0xfc, 0xce, 0xec,
- 0x0f, 0xbf, 0x86, 0x14, 0xf1, 0x68, 0x05, 0xae, 0x39, 0xc0, 0xd1, 0x69,
- 0x43, 0x18, 0xfb, 0xff, 0x77, 0x34, 0xd8, 0xd1, 0x77, 0xbf, 0xef, 0x8e,
- 0xa2, 0x2e, 0xf3, 0x2b, 0x12, 0xea, 0x56, 0x32, 0x92, 0x58, 0xab, 0x2f,
- 0x3b, 0x28, 0xb1, 0x26, 0x14, 0x09, 0xa9, 0x1b, 0x34, 0xcb, 0x6b, 0x5a,
- 0xa4, 0x07, 0x67, 0xb5, 0x58, 0x6b, 0x4f, 0x64, 0x35, 0x49, 0x9c, 0x9a,
- 0x64, 0x75, 0x02, 0x91, 0x9b, 0x41, 0x5e, 0xdf, 0xa3, 0xd7, 0x83, 0x02,
- 0x37, 0x8b, 0x45, 0xb1, 0x92, 0x78, 0x25, 0x89, 0x41, 0x92, 0x7e, 0x66,
- 0x99, 0x9f, 0x22, 0x82, 0xb7, 0x2d, 0x2e, 0x6a, 0x5a, 0x17, 0x66, 0x9d,
- 0xe9, 0x39, 0xef, 0x6e, 0x08, 0xd0, 0xa6, 0x69, 0xa4, 0x4f, 0x80, 0x5b,
- 0xa9, 0xe6, 0x1f, 0xac, 0x67, 0x70, 0x4d, 0xb5, 0xa2, 0xf2, 0x43, 0xed,
- 0xe1, 0x55, 0x64, 0x62, 0x10, 0xe0, 0x68, 0x7d, 0x7c, 0xb3, 0x8c, 0xa7,
- 0x37, 0x31, 0x8b, 0x1b, 0xec, 0xaa, 0x92, 0x25, 0x65, 0x44, 0x70, 0x04,
- 0x44, 0xb4, 0xe5, 0x48, 0x8e, 0x96, 0x57, 0x57, 0x82, 0xed, 0x79, 0x8c,
- 0x2c, 0x2d, 0xa9, 0x99, 0xe1, 0xe0, 0x26, 0xba, 0x9f, 0x77, 0x35, 0x04,
- 0xa6, 0x23, 0x35, 0x8e, 0x20, 0xef, 0x74, 0x44, 0xde, 0x68, 0x84, 0xbf,
- 0x33, 0xfd, 0xf7, 0xa2, 0xee, 0xab, 0xf6, 0x77, 0xb8, 0xe2, 0x5d, 0x7a,
- 0xab, 0xa0, 0x8b, 0x4e, 0xe7, 0xa5, 0x35, 0xbc, 0x4e, 0xe9, 0xc2, 0x9a,
- 0x37, 0xbd, 0xde, 0x0a, 0xcb, 0xab, 0x45, 0x38, 0x23, 0x53, 0xac, 0x8a,
- 0xfa, 0x18, 0xff, 0x64, 0xfd, 0xc5, 0x93, 0x49, 0xaa, 0x40, 0xe7, 0x2c,
- 0x6c, 0xd5, 0x35, 0x25, 0x8b, 0x0a, 0xd7, 0xfe, 0x1f, 0xad, 0x65, 0x9e,
- 0x1a, 0xb7, 0x10, 0x59, 0x47, 0x0a, 0x59, 0x0a, 0x1a, 0x82, 0x15, 0x7b,
- 0xf2, 0xd5, 0xb9, 0x65, 0xbb, 0xeb, 0x52, 0x60, 0xa5, 0x7a, 0x94, 0x13,
- 0x6f, 0x94, 0x0c, 0xd5, 0x24, 0xc7, 0x18, 0xf3, 0x0a, 0x58, 0xb7, 0x92,
- 0x61, 0x99, 0x92, 0xef, 0x69, 0xb8, 0x28, 0xa5, 0x7a, 0x90, 0x54, 0x99,
- 0xc3, 0xc5, 0xc8, 0x0f, 0x2a, 0xde, 0xb3, 0x1a, 0xb6, 0x7a, 0xcd, 0xf4,
- 0x5a, 0xc4, 0x8e, 0xbb, 0xcc, 0x5f, 0x27, 0x63, 0x54, 0x05, 0x64, 0xb3,
- 0x5a, 0xfe, 0xab, 0x32, 0x56, 0xa5, 0x31, 0xdf, 0x7a, 0x40, 0xde, 0x01,
- 0xd8, 0x62, 0x13, 0xb0, 0x17, 0x52, 0x4c, 0x05, 0x07, 0x5d, 0x0c, 0x74,
- 0xa2, 0x04, 0x6b, 0x39, 0x02, 0x8b, 0xb1, 0x33, 0xb4, 0x25, 0x2d, 0xee,
- 0xd8, 0x56, 0xe9, 0x40, 0x22, 0x0d, 0x20, 0x3d, 0xe9, 0x5e, 0xe8, 0xf9,
- 0x61, 0x41, 0xdf, 0xde, 0x67, 0xbb, 0xb8, 0x10, 0xaf, 0xcf, 0xed, 0x6b,
- 0x11, 0x7b, 0xa5, 0x4c, 0x52, 0x3e, 0x81, 0xa4, 0xfb, 0xa0, 0x80, 0x93,
- 0x29, 0x20, 0xfe, 0xe6, 0x37, 0xe6, 0xcc, 0xad, 0x16, 0x95, 0x6e, 0xaf,
- 0xa0, 0xa9, 0x61, 0x59, 0x32, 0xac, 0x75, 0x90, 0xb3, 0x42, 0xe7, 0x74,
- 0xce, 0x0c, 0x24, 0x64, 0xb7, 0xb3, 0xa1, 0x22, 0x76, 0x2c, 0x52, 0x8b,
- 0x7c, 0xdc, 0x26, 0x3b, 0xdb, 0x98, 0x5d, 0xc9, 0xb6, 0xcc, 0x54, 0xee,
- 0xd6, 0xee, 0x89, 0x94, 0xf2, 0x49, 0x5b, 0xdf, 0x6f, 0x24, 0x60, 0x36,
- 0xe8, 0xda, 0x81, 0xa2, 0x69, 0x2c, 0x6d, 0xbd, 0xfb, 0x96, 0x9e, 0xb3,
- 0x4b, 0x14, 0xf4, 0xdc, 0x73, 0x91, 0x8a, 0xf6, 0xaa, 0xad, 0xff, 0x6e,
- 0x13, 0x77, 0xe0, 0xf6, 0x93, 0xc0, 0xce, 0xc2, 0x9c, 0x14, 0x1f, 0xe9,
- 0x72, 0xa6, 0x4d, 0x79, 0xff, 0x26, 0x1f, 0x3d, 0xa7, 0x1f, 0xdf, 0xf0,
- 0x0f, 0xab, 0xff, 0xc1, 0x28, 0x1c, 0x66, 0x67, 0x68, 0xa6, 0x77, 0x32,
- 0x04, 0xa8, 0x1c, 0xe0, 0x21, 0xa8, 0xe8, 0x0d, 0x7e, 0xc9, 0x93, 0x47,
- 0xde, 0xa1, 0xb9, 0xfd, 0x42, 0x3f, 0xf6, 0x96, 0x65, 0xc6, 0x94, 0x38,
- 0x46, 0xac, 0x01, 0xc9, 0x8e, 0xb9, 0xc0, 0xe4, 0x6a, 0xae, 0x2e, 0xfe,
- 0x54, 0x8b, 0x7f, 0x21, 0xf5, 0x46, 0xc1, 0x26, 0xd2, 0x15, 0x20, 0x0a,
- 0xab, 0xfb, 0x13, 0x28, 0xdd, 0x56, 0xb8, 0x9c, 0x47, 0xe7, 0xf6, 0x58,
- 0x5d, 0x85, 0x06, 0xde, 0x4f, 0xad, 0x61, 0x5e, 0x0a, 0x5a, 0xcc, 0x17,
- 0x1f, 0xb6, 0x8a, 0x07, 0x7c, 0x5d, 0x28, 0x27, 0xb0, 0x90, 0x26, 0xd4,
- 0x80, 0x57, 0x2a, 0x08, 0xb0, 0xfb, 0xf1, 0xa8, 0x83, 0x0d, 0x51, 0xa4,
- 0xec, 0xf6, 0xc1, 0xc9, 0x05, 0x86, 0x68, 0x07, 0xb0, 0x8a, 0x1b, 0xa7,
- 0x66, 0xcf, 0xe8, 0xce, 0xcc, 0x1f, 0xfc, 0x2d, 0x15, 0xd1, 0x9d, 0x27,
- 0xe5, 0x12, 0x50, 0xab, 0x7a, 0x45, 0x66, 0x1a, 0xc9, 0x2f, 0x53, 0xb6,
- 0x4f, 0x16, 0xe0, 0xdd, 0x8d, 0xfa, 0xd1, 0x7b, 0xc5, 0xc3, 0x7c, 0x7c,
- 0x7d, 0x70, 0x32, 0x5c, 0x95, 0xa4, 0x54, 0x9d, 0x1c, 0x9e, 0x26, 0x69,
- 0x8c, 0x79, 0x1c, 0xc4, 0x38, 0x75, 0xfd, 0xb5, 0xa4, 0x10, 0x9f, 0x9d,
- 0x1c, 0x7e, 0x75, 0x6a, 0x3f, 0x56, 0x2e, 0xf9, 0xa3, 0x2b, 0x7c, 0xcc,
- 0x09, 0x48, 0x8f, 0x65, 0x73, 0xd9, 0xe0, 0x1c, 0x20, 0xad, 0xb7, 0xa1,
- 0x73, 0x9d, 0x4c, 0x7e, 0x5d, 0x48, 0xb1, 0xa7, 0x14, 0x29, 0x35, 0xa1,
- 0x56, 0xe5, 0xa9, 0xd1, 0x71, 0xdb, 0xf9, 0xea, 0xcb, 0xe6, 0xd5, 0x73,
- 0x70, 0xb2, 0xa2, 0x3b, 0xfe, 0xa6, 0x6f, 0x21, 0xdc, 0x7a, 0xd7, 0x0a,
- 0x5c, 0x07, 0x56, 0xa7, 0x65, 0x55, 0x48, 0xcc, 0x76, 0x3f, 0x00, 0x21,
- 0xe3, 0x26, 0x6f, 0xea, 0x1d, 0x1f, 0x78, 0xa1, 0x7a, 0xc9, 0x43, 0xe5,
- 0x9c, 0xa0, 0x69, 0x4c, 0x77, 0xde, 0xea, 0x0c, 0x51, 0xee, 0x2b, 0x2c,
- 0xeb, 0x13, 0xac, 0xb1, 0xa2, 0x17, 0x19, 0x76, 0xaf, 0x94, 0x35, 0x74,
- 0x8a, 0x6c, 0x7b, 0x73, 0x4d, 0x35, 0xb0, 0x7f, 0x47, 0x97, 0x14, 0xfc,
- 0x7c, 0x2c, 0xcc, 0x45, 0xaf, 0xe4, 0x3a, 0xfa, 0xbc, 0x71, 0x20, 0x24,
- 0xb7, 0xdd, 0xcc, 0xb7, 0xe6, 0x54, 0xc1, 0x1d, 0xcd, 0x96, 0x18, 0x07,
- 0x8b, 0x80, 0xba, 0x3f, 0x49, 0x99, 0x88, 0x6d, 0x57, 0x41, 0x12, 0x1a,
- 0x91, 0x35, 0x8c, 0xc3, 0x67, 0x96, 0x75, 0x49, 0xe9, 0x92, 0x7e, 0xb5,
- 0x3e, 0xa9, 0x80, 0xdb, 0xaa, 0x84, 0x02, 0xe8, 0x57, 0x4d, 0x1c, 0x8b,
- 0xc4, 0x7d, 0x58, 0xbf, 0x1b, 0xb8, 0xfa, 0xdb, 0x2c, 0xbd, 0x77, 0xf5,
- 0x36, 0x2b, 0xe2, 0xae, 0x03, 0xa8, 0x95, 0x8e, 0xb4, 0xf1, 0x27, 0xd3,
- 0xa4, 0x62, 0x12, 0xeb, 0xe4, 0xd9, 0x0e, 0xac, 0x58, 0x1c, 0x64, 0x2e,
- 0x86, 0x1a, 0x49, 0xca, 0x42, 0xee, 0xd6, 0x78, 0xc9, 0x06, 0x26, 0x58,
- 0xe6, 0x21, 0x44, 0xb5, 0x37, 0xc7, 0x01, 0x97, 0x34, 0x91, 0xce, 0x17,
- 0x66, 0xd9, 0xea, 0xa8, 0x8e, 0x84, 0xdc, 0x58, 0xf6, 0x51, 0x7a, 0xf0,
- 0xc8, 0x78, 0xa2, 0xf0, 0xc9, 0x58, 0x0e, 0xee, 0xab, 0x61, 0x69, 0x66,
- 0x0b, 0x3f, 0x30, 0x3e, 0x01, 0x16, 0xdb, 0xf9, 0xa2, 0xdf, 0x69, 0xbd,
- 0xfd, 0x3c, 0x30, 0x2f, 0xb3, 0x6e, 0xa6, 0x0e, 0x35, 0x4a, 0x9b, 0x15,
- 0x4e, 0xba, 0xf0, 0xd8, 0xc3, 0xc5, 0x72, 0x44, 0x02, 0x57, 0xb9, 0x6c,
- 0x96, 0x28, 0x74, 0xa9, 0xcc, 0x28, 0x4a, 0x07, 0x71, 0x9f, 0x97, 0xdc,
- 0x97, 0xb0, 0x86, 0xe8, 0xc6, 0x96, 0xbb, 0x12, 0x81, 0x18, 0x62, 0x0d,
- 0x1c, 0x19, 0x96, 0x41, 0x5d, 0x5c, 0xd9, 0x9b, 0x86, 0xb0, 0xc1, 0xb8,
- 0x9c, 0xbc, 0x4b, 0x8c, 0x8d, 0xe5, 0x1f, 0xff, 0xc3, 0xbe, 0x46, 0xd6,
- 0xed, 0x3f, 0xcd, 0x4f, 0xd0, 0x6e, 0x56, 0x8b, 0x4d, 0x80, 0xfe, 0xd8,
- 0x1b, 0x51, 0x64, 0x6d, 0x90, 0x29, 0x21, 0x2d, 0x7e, 0xec, 0xeb, 0x6c,
- 0xea, 0xfc, 0x63, 0xae, 0x8b, 0xca, 0xc2, 0x41, 0x73, 0xb2, 0x22, 0x39,
- 0xfe, 0xc4, 0xb5, 0x11, 0xe8, 0x0d, 0x92, 0x00, 0xd9, 0x97, 0x1a, 0x16,
- 0xd4, 0xfb, 0x29, 0xd7, 0x9a, 0xad, 0x24, 0xfb, 0xd0, 0xe0, 0x59, 0xbe,
- 0x94, 0xf8, 0xde, 0x9f, 0x1a, 0x3e, 0x6b, 0x29, 0xaf, 0xc7, 0x1b, 0xf2,
- 0x71, 0x9f, 0x0e, 0x86, 0xe6, 0x22, 0x29, 0x0c, 0x2b, 0x0d, 0xda, 0x3e,
- 0x33, 0x38, 0xfe, 0xf9, 0xb3, 0x9d, 0x7e, 0xa0, 0x18, 0xf7, 0x1a, 0x68,
- 0xe8, 0x09, 0xca, 0x74, 0x4f, 0x43, 0x5c, 0x6d, 0x26, 0xf3, 0x8f, 0x23,
- 0x85, 0x64, 0x1d, 0x25, 0x16, 0xd9, 0x3e, 0xb1, 0x10, 0x65, 0x8d, 0x29,
- 0x5f, 0x19, 0xec, 0xd8, 0x2c, 0x6b, 0xe5, 0x84, 0x9a, 0xea, 0x3e, 0x59,
- 0x5a, 0x18, 0x7c, 0xee, 0x0d, 0xf9, 0x06, 0x7e, 0x69, 0x94, 0xf9, 0x60,
- 0x49, 0x5d, 0x24, 0x40, 0xd1, 0x86, 0x71, 0x90, 0x11, 0xe9, 0xa0, 0xf8,
- 0xd4, 0x50, 0xb5, 0x7d, 0xe9, 0x33, 0x51, 0x8a, 0x57, 0xe6, 0xb4, 0xc9,
- 0xf5, 0xe9, 0x31, 0x3c, 0x05, 0xb2, 0xbc, 0x0b, 0xb7, 0xe2, 0x74, 0x12,
- 0x60, 0xf1, 0x69, 0x49, 0xd4, 0xc7, 0xd2, 0xcb, 0x43, 0xbb, 0x86, 0x95,
- 0xe3, 0x6d, 0x72, 0x73, 0xf6, 0xc0, 0xbc, 0x47, 0x56, 0x83, 0x3b, 0x4f,
- 0xc4, 0x51, 0x92, 0x9c, 0x81, 0x41, 0x6a, 0x69, 0x0f, 0x92, 0x69, 0xc5,
- 0x76, 0x6b, 0x86, 0xd1, 0xd4, 0x8d, 0x7c, 0xbc, 0x6f, 0xd8, 0x19, 0x72,
- 0x4d, 0x0d, 0x95, 0x3a, 0x84, 0xeb, 0xc3, 0x0d, 0x41, 0x0a, 0x21, 0x81,
- 0x8d, 0x75, 0xfd, 0xa0, 0x64, 0x7c, 0x74, 0x34, 0x7f, 0xbc, 0x39, 0x84,
- 0x52, 0xed, 0xc8, 0x11, 0x8d, 0xa7, 0x69, 0xec, 0x53, 0xd8, 0xde, 0xfb,
- 0xf2, 0xa7, 0xb0, 0x95, 0xb2, 0xc0, 0x4c, 0xf2, 0xee, 0x13, 0x2b, 0x63,
- 0xfe, 0x2e, 0x56, 0x4e, 0x56, 0xad, 0x8c, 0x62, 0x95, 0xd5, 0x56, 0xa6,
- 0xba, 0x20, 0xba, 0x22, 0x5e, 0x7f, 0x6c, 0x71, 0x19, 0x47, 0x2b, 0x32,
- 0x4a, 0xb8, 0xae, 0x2c, 0x4c, 0x45, 0xb1, 0xc2, 0xf2, 0x6d, 0x98, 0x8b,
- 0x4e, 0xb7, 0x5b, 0x41, 0xfa, 0x9e, 0x6a, 0x0e, 0x21, 0xc1, 0x8d, 0x68,
- 0xdd, 0xe7, 0x8d, 0xb8, 0x33, 0x36, 0x8a, 0xbc, 0x97, 0x5c, 0x07, 0xa7,
- 0x3e, 0xb8, 0xcc, 0x87, 0x5e, 0x50, 0xdf, 0xb1, 0xe7, 0x11, 0xff, 0xa0,
- 0x5a, 0xc9, 0x45, 0xf6, 0x01, 0xc4, 0x86, 0xd9, 0x27, 0x0a, 0xf6, 0x00,
- 0x53, 0xb8, 0x0b, 0xf6, 0x96, 0xdb, 0xd4, 0xae, 0xaf, 0x59, 0x3a, 0x7d,
- 0xa2, 0xb9, 0x69, 0xaa, 0x8a, 0x15, 0x64, 0xb4, 0x65, 0xeb, 0x11, 0xc6,
- 0x84, 0x98, 0x7b, 0xb2, 0xea, 0xbd, 0x0a, 0x66, 0xa4, 0xa2, 0x2d, 0x35,
- 0x26, 0x8a, 0x5b, 0xab, 0xe4, 0xea, 0x70, 0x61, 0xe5, 0x24, 0x68, 0x52,
- 0x8f, 0x37, 0x27, 0x09, 0x33, 0x56, 0xa0, 0x56, 0x25, 0x49, 0xd8, 0x31,
- 0xe2, 0xc2, 0x4b, 0x08, 0xed, 0x43, 0xae, 0x92, 0x96, 0x05, 0x70, 0xa7,
- 0xf3, 0xa8, 0x6d, 0x5c, 0x06, 0x22, 0xfe, 0xeb, 0x06, 0x15, 0x14, 0xc0,
- 0x09, 0x40, 0x3c, 0x2c, 0xf2, 0x42, 0x82, 0xdc, 0xd6, 0xb3, 0xfc, 0xf1,
- 0xe6, 0x94, 0x28, 0x3f, 0x60, 0x46, 0xf1, 0x62, 0xa1, 0xbd, 0x3d, 0xbd,
- 0x09, 0xbf, 0xcb, 0x7c, 0x15, 0x39, 0x7b, 0x93, 0x58, 0xaf, 0x83, 0x19,
- 0xdc, 0x64, 0x03, 0x64, 0x71, 0x2d, 0xc9, 0x75, 0x59, 0xf4, 0x34, 0xcf,
- 0x0a, 0x90, 0x53, 0x6b, 0x93, 0x7e, 0x04, 0xd2, 0x3b, 0x5c, 0x06, 0x86,
- 0x0f, 0x52, 0x9e, 0xf6, 0x5f, 0xb4, 0x0e, 0xbe, 0xca, 0xac, 0xc2, 0x8a,
- 0x09, 0x74, 0x18, 0xcc, 0x2e, 0x58, 0x84, 0x51, 0x42, 0xda, 0xd7, 0xe0,
- 0xa9, 0xd1, 0xa5, 0x85, 0xb7, 0xb0, 0x88, 0xc9, 0x22, 0xe9, 0xd7, 0xf1,
- 0xb4, 0x24, 0x6f, 0x13, 0x85, 0xea, 0x9e, 0xe2, 0x0c, 0x5a, 0x8f, 0x07,
- 0x5c, 0x25, 0x90, 0x85, 0xc6, 0xe6, 0x3a, 0x0d, 0x04, 0x4d, 0xa2, 0xb9,
- 0xa7, 0x9a, 0x63, 0xdb, 0x89, 0xd8, 0x8a, 0x6f, 0x59, 0x7b, 0x5b, 0x41,
- 0x92, 0xae, 0xf4, 0xf3, 0x8a, 0x93, 0x0f, 0x88, 0x55, 0x5e, 0x67, 0x4d,
- 0xa3, 0x0b, 0x30, 0xc6, 0x1f, 0xef, 0x9f, 0x38, 0xdc, 0xc2, 0x2d, 0x8f,
- 0x9c, 0x7e, 0xe1, 0x3f, 0x3d, 0x47, 0x79, 0x3d, 0x84, 0x3b, 0x7e, 0x18,
- 0x29, 0x40, 0x4a, 0x0e, 0xb2, 0x67, 0x5c, 0x72, 0x0d, 0x57, 0xec, 0x64,
- 0x56, 0x8d, 0xaf, 0x14, 0x6d, 0x9f, 0xc9, 0xf2, 0xa9, 0xd1, 0xc5, 0xa2,
- 0x90, 0x55, 0x17, 0x41, 0x4c, 0x40, 0x1a, 0xd7, 0x02, 0xa2, 0x8e, 0xc4,
- 0xb2, 0xf5, 0x21, 0x5c, 0x5d, 0x53, 0xe3, 0x90, 0x11, 0xe7, 0x82, 0x4a,
- 0x82, 0xf5, 0x0a, 0x53, 0x45, 0x9e, 0xbc, 0xc6, 0xdb, 0xf2, 0x48, 0x30,
- 0x56, 0x8c, 0xfc, 0xc3, 0x8f, 0xcf, 0x6f, 0xce, 0xcb, 0xc3, 0x6c, 0x26,
- 0xc0, 0x20, 0x54, 0x4f, 0x8f, 0x54, 0x9b, 0x6a, 0xc5, 0xc1, 0xab, 0x23,
- 0x28, 0x25, 0x24, 0xb3, 0xba, 0xa2, 0xb7, 0xce, 0x50, 0x59, 0x63, 0x10,
- 0xba, 0xf3, 0x2d, 0xc9, 0x8a, 0x2d, 0xb2, 0x8a, 0xee, 0x40, 0x05, 0x50,
- 0x75, 0x9e, 0x24, 0x13, 0x0d, 0xea, 0x21, 0xb9, 0x84, 0x4f, 0x4f, 0x99,
- 0x7c, 0x10, 0x93, 0x2b, 0x68, 0x0b, 0x9b, 0x10, 0x2a, 0xe9, 0x2f, 0xc9,
- 0x7b, 0x4b, 0x71, 0x0f, 0x85, 0x03, 0x9f, 0x25, 0x28, 0xd8, 0x0a, 0x22,
- 0xfa, 0x24, 0x28, 0x0b, 0x26, 0x4f, 0xb7, 0x9c, 0x40, 0xb4, 0xa6, 0x01,
- 0x50, 0xd1, 0x87, 0xb5, 0x26, 0x4f, 0xaf, 0x6a, 0x4b, 0xbd, 0x0f, 0x8f,
- 0xb6, 0x65, 0xe1, 0x0a, 0x6e, 0x58, 0x10, 0x7d, 0x9f, 0xd8, 0xac, 0x36,
- 0xc9, 0x18, 0x3d, 0x3a, 0x60, 0x64, 0x65, 0xd6, 0x22, 0x37, 0xad, 0x1e,
- 0x7f, 0xa0, 0x7e, 0x3e, 0xde, 0x23, 0x4c, 0x8a, 0x26, 0xb5, 0x35, 0xba,
- 0x5e, 0xd0, 0xae, 0xfa, 0x7d, 0xe0, 0xae, 0x63, 0xf6, 0xe1, 0x5d, 0xf9,
- 0x79, 0xc9, 0x33, 0x81, 0x66, 0x4a, 0x5a, 0x43, 0xb1, 0xcc, 0xa5, 0x70,
- 0xc6, 0xd3, 0xa4, 0xe4, 0xce, 0xbf, 0xab, 0xdf, 0xde, 0x3e, 0x06, 0xb7,
- 0x7b, 0x98, 0xbe, 0x0d, 0xc2, 0xa2, 0xda, 0x7e, 0xa3, 0x31, 0x48, 0x6b,
- 0x4d, 0xdc, 0x33, 0x01, 0x0f, 0x78, 0xcf, 0xd1, 0xb0, 0x3a, 0x82, 0x7d,
- 0xf9, 0xa8, 0x7f, 0xc1, 0x1f, 0xe9, 0x4e, 0x07, 0xe5, 0xe5, 0x5d, 0x24,
- 0x79, 0xaf, 0xa5, 0x5a, 0x48, 0xd4, 0x16, 0x60, 0x0a, 0x8d, 0x61, 0xde,
- 0xc4, 0x12, 0x22, 0x49, 0xdf, 0x04, 0xb4, 0x82, 0x75, 0x5b, 0x57, 0x4e,
- 0x85, 0x75, 0xe9, 0xc8, 0x7d, 0x83, 0x34, 0x40, 0x03, 0xda, 0x40, 0xe4,
- 0xf5, 0x87, 0xf2, 0x86, 0x0f, 0xc8, 0xab, 0xe3, 0x31, 0x18, 0x7f, 0x2d,
- 0xdc, 0x18, 0x68, 0x08, 0xfe, 0x43, 0xd5, 0x37, 0x79, 0x26, 0xbe, 0x4a,
- 0xd3, 0x8a, 0x82, 0xdd, 0x1f, 0xa8, 0x31, 0x34, 0xc7, 0x61, 0xdd, 0xbd,
- 0x87, 0x3a, 0x22, 0xa9, 0x6e, 0x71, 0x85, 0x80, 0xb1, 0x8c, 0x0e, 0x67,
- 0x9c, 0xf9, 0x64, 0xff, 0x18, 0x30, 0x09, 0x18, 0xd2, 0x53, 0xe3, 0xd0,
- 0xc9, 0x28, 0xf8, 0x7a, 0xb5, 0x56, 0x14, 0xf2, 0xe6, 0xa0, 0xee, 0xa1,
- 0x4e, 0x29, 0x6b, 0xd9, 0x4f, 0x5c, 0xa4, 0xae, 0xc1, 0xe8, 0x0e, 0xb0,
- 0x23, 0xc8, 0xbb, 0x14, 0x14, 0xf0, 0x46, 0x56, 0x4e, 0x33, 0x8f, 0xed,
- 0x92, 0x74, 0x3e, 0x80, 0x55, 0xbd, 0x07, 0xa6, 0xd3, 0x45, 0x80, 0xb3,
- 0x8a, 0x0f, 0xcc, 0x30, 0x8e, 0x64, 0x03, 0x8e, 0x08, 0x48, 0x15, 0xfa,
- 0x7e, 0x9a, 0xc1, 0xa0, 0xfd, 0xf8, 0xe0, 0x24, 0xdb, 0xb2, 0x06, 0x22,
- 0x6b, 0x48, 0x91, 0xb5, 0x1c, 0xbb, 0xa6, 0xe6, 0x56, 0x14, 0xd3, 0xf7,
- 0xf4, 0x64, 0x7a, 0xf9, 0xf0, 0x5e, 0xd8, 0xf7, 0xd3, 0xd7, 0xa3, 0x3c,
- 0x67, 0x27, 0x85, 0x7d, 0x26, 0x74, 0x62, 0x49, 0x76, 0x4b, 0x48, 0xd2,
- 0xba, 0x14, 0xdb, 0x6a, 0x84, 0x26, 0xd3, 0x0f, 0x32, 0x23, 0x78, 0x8d,
- 0xd7, 0x9d, 0xb9, 0x01, 0x23, 0x34, 0xc0, 0x57, 0xcb, 0x3d, 0x58, 0x5b,
- 0x4f, 0xcb, 0x4f, 0xdc, 0x88, 0x47, 0x96, 0x7d, 0x4c, 0xb4, 0xfe, 0xed,
- 0xa2, 0x1a, 0x5c, 0x9e, 0x4c, 0xf4, 0x0a, 0x3f, 0x9e, 0x48, 0x1b, 0xf2,
- 0xb6, 0x3a, 0x5f, 0x36, 0x60, 0x55, 0xa6, 0x98, 0x54, 0xbb, 0xf1, 0x89,
- 0x3f, 0x75, 0xd3, 0xe8, 0xea, 0x1c, 0xbf, 0x0f, 0xcd, 0x0b, 0x4b, 0xee,
- 0x53, 0x49, 0x63, 0x6f, 0x0b, 0xd6, 0x57, 0x4e, 0x50, 0x34, 0x71, 0x4b,
- 0x65, 0xbe, 0x16, 0x0c, 0xae, 0x49, 0x4b, 0x39, 0x03, 0x8d, 0x03, 0xef,
- 0x22, 0x6c, 0xcc, 0x1f, 0x3d, 0x6e, 0x48, 0x60, 0x21, 0xe2, 0xb6, 0xe6,
- 0x7c, 0x94, 0x4c, 0x21, 0xb9, 0x0f, 0xd2, 0x43, 0x07, 0xf8, 0xde, 0x36,
- 0x62, 0x9a, 0xf3, 0xa3, 0xfe, 0xf8, 0xd8, 0x99, 0x14, 0x6a, 0x6a, 0x81,
- 0xe6, 0x52, 0x73, 0x88, 0x39, 0x22, 0xd1, 0x82, 0xd5, 0x6f, 0x8b, 0xfe,
- 0x02, 0xbf, 0x5d, 0x70, 0x35, 0x63, 0x0e, 0x8d, 0x10, 0x88, 0x35, 0x2e,
- 0x39, 0x24, 0x46, 0x20, 0x7e, 0x57, 0xa2, 0x16, 0x41, 0xa3, 0x16, 0x6e,
- 0x47, 0xdf, 0x37, 0xad, 0xeb, 0xe6, 0x91, 0xf5, 0x8a, 0x49, 0x30, 0x3c,
- 0x71, 0xf7, 0x2b, 0x7c, 0xb5, 0x03, 0x6d, 0xf1, 0x86, 0xbd, 0x66, 0x19,
- 0x5f, 0x29, 0x92, 0x5a, 0x58, 0xdd, 0x41, 0xac, 0x57, 0xbd, 0xd0, 0x81,
- 0x65, 0x29, 0x8a, 0x31, 0x19, 0xd8, 0xb9, 0xae, 0xf2, 0x4d, 0x3d, 0xf8,
- 0xa0, 0x56, 0xe2, 0x62, 0x95, 0x45, 0x73, 0x68, 0xa1, 0x14, 0xd2, 0x12,
- 0x22, 0x06, 0xb7, 0x7b, 0x41, 0x42, 0x24, 0x14, 0xdb, 0xc0, 0x2b, 0x20,
- 0x24, 0x2e, 0x4e, 0xee, 0xb8, 0xa1, 0xba, 0xc3, 0x3e, 0x76, 0x17, 0xbb,
- 0xb2, 0xf2, 0xd2, 0x46, 0x2b, 0xd9, 0x40, 0xf8, 0x56, 0x85, 0xc8, 0x2d,
- 0x66, 0x63, 0x8d, 0x81, 0xbc, 0xbc, 0xae, 0x81, 0xdf, 0x1b, 0x10, 0x7f,
- 0x13, 0x3a, 0x45, 0x38, 0xfd, 0x70, 0xea, 0xfc, 0xf9, 0xd1, 0x18, 0xbe,
- 0xdf, 0x88, 0x15, 0x7c, 0x8f, 0x00, 0x1e, 0xb9, 0xbc, 0x56, 0x82, 0x82,
- 0x4b, 0x69, 0xd4, 0xa1, 0x8b, 0xe9, 0x8f, 0x49, 0xca, 0x29, 0x4a, 0xd2,
- 0x29, 0xec, 0x4d, 0xad, 0x9d, 0xa3, 0x81, 0x6b, 0x1f, 0x50, 0xf1, 0x25,
- 0xac, 0x6b, 0x04, 0xb2, 0x76, 0x30, 0xc1, 0x17, 0x95, 0xb4, 0x96, 0x3a,
- 0xdc, 0x40, 0x0b, 0xfc, 0x71, 0x90, 0xfa, 0xc0, 0xcd, 0xe9, 0x50, 0x10,
- 0xd1, 0x70, 0x97, 0x16, 0x1a, 0x0f, 0xa5, 0x10, 0x39, 0x86, 0x50, 0xa1,
- 0x8a, 0xc2, 0x57, 0x87, 0x17, 0x1b, 0x4d, 0x5c, 0x06, 0x75, 0xc8, 0x60,
- 0x58, 0x00, 0xe3, 0xd2, 0x53, 0x10, 0xbb, 0x0a, 0x6f, 0x2e, 0xc1, 0x8a,
- 0xf7, 0xec, 0x7e, 0x31, 0x8d, 0xe7, 0x71, 0x2d, 0xd0, 0xc9, 0x56, 0xee,
- 0xcd, 0x8a, 0x85, 0x0b, 0x10, 0xa5, 0x6d, 0xd5, 0x82, 0x79, 0x1c, 0x1f,
- 0x0d, 0x2f, 0xb0, 0x8a, 0xf5, 0xa0, 0x26, 0x04, 0x66, 0x0b, 0xec, 0x6a,
- 0x5a, 0x58, 0x70, 0x03, 0x47, 0xf5, 0xff, 0x7e, 0x04, 0xf2, 0xc0, 0xd9,
- 0xfe, 0x2c, 0xde, 0x2a, 0x3a, 0x06, 0xff, 0xdb, 0x82, 0xa8, 0x14, 0x7b,
- 0x81, 0x9c, 0xdd, 0xc0, 0x2c, 0x80, 0x29, 0xbc, 0x83, 0xbc, 0x2c, 0x48,
- 0x0e, 0xa2, 0x25, 0x2c, 0xb8, 0xa8, 0x97, 0x98, 0x33, 0x27, 0xcb, 0xbc,
- 0x29, 0x2c, 0xc4, 0x51, 0xd0, 0xa1, 0xa0, 0x41, 0xf4, 0x2a, 0xba, 0x0c,
- 0xbb, 0xe6, 0x0a, 0x0f, 0xe8, 0x4d, 0xdd, 0x07, 0x2f, 0x34, 0x3c, 0x1e,
- 0xbe, 0xd2, 0xa1, 0xe1, 0x93, 0x84, 0x43, 0xb2, 0x69, 0x6f, 0x93, 0xde,
- 0x3b, 0x65, 0x80, 0x04, 0x66, 0xe5, 0x82, 0x5d, 0xf0, 0xf0, 0xc4, 0x9d,
- 0xa4, 0xa1, 0x74, 0x45, 0x14, 0xb8, 0xaa, 0x35, 0x90, 0x67, 0x59, 0x78,
- 0x98, 0xff, 0x58, 0xea, 0xa0, 0x17, 0x4d, 0x09, 0xd0, 0x89, 0xcf, 0xf0,
- 0xfe, 0x07, 0x89, 0x45, 0x08, 0xfa, 0x23, 0xe6, 0x3c, 0xb7, 0x5a, 0xb3,
- 0x34, 0xfe, 0xdc, 0x5c, 0x72, 0xa8, 0x0c, 0xc0, 0xef, 0xf5, 0x5b, 0xec,
- 0x06, 0x2c, 0x73, 0xae, 0x60, 0x88, 0xbf, 0x1d, 0x4d, 0xfc, 0xe0, 0x68,
- 0x42, 0xd6, 0xf0, 0x15, 0xfe, 0xf8, 0x55, 0x54, 0x11, 0x80, 0x7e, 0xe0,
- 0x65, 0xd8, 0x2e, 0x2a, 0xe4, 0xd1, 0x6f, 0x84, 0xe6, 0x33, 0x2a, 0x19,
- 0xac, 0x2e, 0xc1, 0x6e, 0xab, 0xb9, 0x83, 0x05, 0x8b, 0x2a, 0x51, 0x54,
- 0x28, 0x82, 0x37, 0xb5, 0xad, 0x0c, 0x53, 0xff, 0x07, 0xab, 0xc3, 0xfc,
- 0x6c, 0x8b, 0xaf, 0x27, 0x24, 0x2d, 0x27, 0xe5, 0xef, 0xb8, 0x74, 0xbf,
- 0x70, 0x96, 0x25, 0x3d, 0xde, 0x07, 0xf9, 0xbf, 0x9a, 0xb0, 0xe4, 0x49,
- 0x2c, 0x44, 0x23, 0x6f, 0x56, 0xa2, 0x8b, 0x02, 0x58, 0x54, 0x58, 0x61,
- 0xac, 0x56, 0x4d, 0xbe, 0xc0, 0x5d, 0x95, 0x46, 0x85, 0xee, 0x66, 0x2f,
- 0x5b, 0xe9, 0x97, 0xb8, 0xbd, 0xd4, 0xa6, 0xe0, 0x09, 0xf1, 0xe1, 0xa3,
- 0x67, 0x7b, 0x91, 0xc2, 0xeb, 0xaf, 0x68, 0x2f, 0x00, 0xb7, 0x69, 0x24,
- 0x6d, 0x0b, 0xaa, 0x8a, 0xc2, 0xb3, 0x86, 0xd3, 0xb0, 0x5b, 0x15, 0x48,
- 0xee, 0x08, 0xae, 0x20, 0xa6, 0x86, 0x67, 0xc4, 0xbf, 0x5e, 0x70, 0xa7,
- 0x0d, 0xbd, 0x94, 0xd1, 0xf4, 0x34, 0xf0, 0x6f, 0x16, 0x73, 0x2d, 0x1e,
- 0xf6, 0xea, 0x3b, 0x48, 0x3d, 0x1a, 0xa3, 0x9a, 0x29, 0xf3, 0xd4, 0xb2,
- 0xb7, 0x80, 0x6a, 0xe8, 0x0c, 0x42, 0xad, 0x71, 0xc7, 0xb1, 0xab, 0x9b,
- 0x17, 0x56, 0x2a, 0x55, 0x5e, 0xfb, 0x87, 0x6a, 0x86, 0x2d, 0x35, 0xc7,
- 0x83, 0x5c, 0x9d, 0x5d, 0x5b, 0x08, 0xf7, 0xaf, 0x4d, 0x56, 0x6f, 0x83,
- 0x76, 0x01, 0x44, 0xf8, 0x4e, 0xed, 0x8d, 0xb0, 0x30, 0xc4, 0x7a, 0x7f,
- 0x43, 0xaa, 0x28, 0x72, 0xf1, 0xde, 0xd2, 0x5d, 0x78, 0x4d, 0xc3, 0x41,
- 0xec, 0xb5, 0x7a, 0x17, 0x5f, 0x9a, 0x4d, 0x27, 0xc1, 0x6e, 0xeb, 0x4c,
- 0xb9, 0xb7, 0x4d, 0xb1, 0x07, 0x1a, 0xc3, 0x63, 0x96, 0xd2, 0xb8, 0x4b,
- 0x6a, 0x6d, 0x91, 0x3e, 0x1f, 0xb6, 0xe5, 0xef, 0x60, 0xd7, 0xde, 0xef,
- 0x19, 0x67, 0xcd, 0x28, 0x3d, 0x50, 0x58, 0x8b, 0x56, 0xcc, 0x3e, 0x46,
- 0xee, 0x09, 0x40, 0x7e, 0x82, 0xb2, 0xae, 0x51, 0x68, 0x7a, 0xed, 0xbb,
- 0x52, 0x99, 0x85, 0xc3, 0x2e, 0x6b, 0x4b, 0xaa, 0xad, 0x94, 0x80, 0x0c,
- 0xab, 0xe1, 0xb6, 0xd6, 0x5b, 0xd0, 0xba, 0x59, 0x9c, 0x71, 0xd7, 0x9e,
- 0xa2, 0x02, 0x52, 0xf3, 0x55, 0x3a, 0x43, 0x5b, 0x70, 0xd4, 0xe1, 0x18,
- 0xee, 0x51, 0xb1, 0xcc, 0x27, 0xcb, 0x59, 0x67, 0xc0, 0x80, 0x6f, 0xba,
- 0x29, 0xba, 0x30, 0xcc, 0x40, 0xeb, 0x07, 0x41, 0x2e, 0x21, 0xea, 0xf5,
- 0xc5, 0x56, 0xcd, 0xb0, 0x6c, 0x08, 0x46, 0x01, 0x66, 0x51, 0x7f, 0x3b,
- 0xa4, 0x1f, 0x6a, 0xaf, 0x21, 0x6f, 0x95, 0x7c, 0xaf, 0xfd, 0x8e, 0x9b,
- 0xb7, 0x45, 0x8b, 0xc9, 0x72, 0xec, 0xf6, 0x60, 0xab, 0x5d, 0x72, 0x7c,
- 0xc3, 0x39, 0x04, 0xbe, 0x66, 0x60, 0x4a, 0xea, 0x1f, 0x0f, 0xb6, 0xf0,
- 0x75, 0x4e, 0x25, 0x5e, 0x41, 0x45, 0xae, 0x2d, 0x77, 0x40, 0x1b, 0xe5,
- 0x88, 0x5d, 0x41, 0xb8, 0xc2, 0x71, 0x06, 0x24, 0x1c, 0x27, 0x62, 0x65,
- 0xde, 0x75, 0x52, 0x5b, 0x30, 0xbc, 0x6d, 0x66, 0xb9, 0xd3, 0xe2, 0x76,
- 0xbb, 0x15, 0xbe, 0xda, 0x06, 0x57, 0xa9, 0x68, 0x78, 0x31, 0x3c, 0x76,
- 0x11, 0xb4, 0xdb, 0x22, 0xcf, 0x5a, 0x15, 0x42, 0x17, 0x9c, 0xbd, 0xa2,
- 0xe6, 0xe4, 0xc5, 0xf1, 0xd0, 0x84, 0x59, 0x3f, 0x84, 0x1d, 0xbe, 0x30,
- 0x8b, 0xe9, 0xed, 0x4e, 0xeb, 0x10, 0x6a, 0xcb, 0xc3, 0x03, 0x18, 0x06,
- 0x03, 0xd8, 0x69, 0x0e, 0xc0, 0xb0, 0xe5, 0xda, 0x87, 0xc0, 0x2f, 0x37,
- 0x86, 0xf0, 0x4c, 0x87, 0xf0, 0xec, 0xc3, 0x57, 0x21, 0x1c, 0xc4, 0xb3,
- 0x5f, 0xb7, 0x0a, 0xad, 0x43, 0x78, 0xce, 0x51, 0xe3, 0x8b, 0xdb, 0xe7,
- 0x4d, 0x42, 0x34, 0x6b, 0x12, 0x07, 0xe5, 0x31, 0x2c, 0xc3, 0x34, 0x11,
- 0xf3, 0x9e, 0x79, 0x91, 0x59, 0x43, 0xb7, 0x72, 0x57, 0x38, 0x8d, 0x3e,
- 0x99, 0xf7, 0xa8, 0x5e, 0x73, 0x48, 0x47, 0x4c, 0x0f, 0x1a, 0x2e, 0xa6,
- 0x80, 0x4e, 0x5c, 0xda, 0x2f, 0x8b, 0xdb, 0x4f, 0xfa, 0xda, 0x4b, 0xad,
- 0xd0, 0x21, 0x0a, 0xb5, 0xad, 0x88, 0x03, 0x96, 0x42, 0xbf, 0x80, 0x46,
- 0x51, 0xf8, 0xfc, 0x8c, 0x63, 0x79, 0x9f, 0xdb, 0xb8, 0x12, 0x09, 0xca,
- 0x0c, 0xa6, 0xfb, 0x89, 0x4c, 0xf7, 0x93, 0xff, 0x93, 0xa6, 0xfb, 0xc9,
- 0xea, 0xe9, 0x7e, 0x24, 0x6a, 0x39, 0x50, 0xc6, 0xfa, 0xa3, 0x38, 0x5f,
- 0x89, 0xb9, 0x68, 0xa1, 0x84, 0x0e, 0x92, 0xac, 0x12, 0x12, 0x0f, 0xc4,
- 0x10, 0xfb, 0x86, 0x9a, 0x59, 0xcd, 0x0a, 0x2a, 0x12, 0x7d, 0x49, 0xaf,
- 0x17, 0x65, 0x3a, 0x66, 0x3e, 0xc7, 0xe8, 0xe8, 0x2e, 0x06, 0xf6, 0x3f,
- 0x37, 0x07, 0xad, 0x35, 0xb9, 0x0e, 0x9a, 0x55, 0xb3, 0x7a, 0x11, 0x50,
- 0xf7, 0xaa, 0xb5, 0xb7, 0x82, 0xeb, 0xfd, 0xf0, 0xe4, 0xdb, 0xa3, 0xf3,
- 0xd3, 0x93, 0xb7, 0x87, 0x27, 0x2e, 0x08, 0x05, 0xb1, 0x31, 0x62, 0x0a,
- 0xf8, 0xd1, 0x34, 0x7d, 0x52, 0xe7, 0x7f, 0x06, 0x12, 0xcf, 0xe7, 0x6a,
- 0x53, 0x6b, 0xde, 0x65, 0x85, 0x9a, 0x0f, 0x3c, 0xba, 0xb6, 0x25, 0x7c,
- 0xc1, 0x4e, 0xe3, 0x16, 0x15, 0x51, 0xdd, 0xef, 0xcf, 0xce, 0x4f, 0xbf,
- 0xff, 0xe1, 0x37, 0x6c, 0x7f, 0x58, 0x41, 0x74, 0xfe, 0x4d, 0x9b, 0x7f,
- 0x13, 0x8e, 0x7e, 0xef, 0xf8, 0xf8, 0x37, 0x6b, 0x1c, 0xc2, 0xb9, 0x33,
- 0xa6, 0xf4, 0x9d, 0x65, 0xca, 0xd5, 0x30, 0xad, 0x88, 0xed, 0x27, 0xa7,
- 0xda, 0xb1, 0x98, 0x34, 0xfa, 0x06, 0x8a, 0x3e, 0x71, 0x45, 0x86, 0x78,
- 0x0c, 0x0d, 0x88, 0x47, 0x7c, 0x09, 0x99, 0xc2, 0x41, 0x62, 0x99, 0x41,
- 0x11, 0xd0, 0xdd, 0xc8, 0x49, 0xc9, 0x9c, 0xd5, 0x4a, 0x40, 0x88, 0xcc,
- 0x18, 0xda, 0x54, 0x31, 0x68, 0xe8, 0x71, 0xc4, 0x21, 0x40, 0x79, 0x5a,
- 0xdc, 0x20, 0x99, 0x87, 0x8f, 0x8c, 0x02, 0x21, 0x96, 0xc0, 0x95, 0x45,
- 0xa9, 0x75, 0x1e, 0x0a, 0x93, 0xd7, 0xf7, 0x47, 0x17, 0xd1, 0xfe, 0xe9,
- 0x81, 0xa7, 0xdd, 0x0b, 0xb8, 0x66, 0x60, 0xf0, 0x44, 0xfd, 0xa6, 0xe5,
- 0x9c, 0xcb, 0xc0, 0x5f, 0x7a, 0xf8, 0x71, 0x45, 0xd2, 0xe3, 0x20, 0xac,
- 0x42, 0x03, 0x4c, 0xaf, 0x13, 0xa9, 0x83, 0x92, 0x4b, 0x60, 0xd5, 0x24,
- 0x50, 0xaf, 0xe5, 0x61, 0x07, 0xf9, 0x17, 0x86, 0xdb, 0x32, 0x5e, 0x08,
- 0x9d, 0x35, 0x51, 0xc7, 0xe9, 0xd8, 0x71, 0x41, 0x93, 0xb9, 0xa4, 0x1c,
- 0x91, 0xd4, 0xb1, 0x57, 0x3a, 0xbc, 0xc8, 0xa0, 0xea, 0xa5, 0xc0, 0xc5,
- 0xe7, 0xc0, 0xcd, 0xed, 0xa9, 0xdd, 0x8c, 0x81, 0x4d, 0x65, 0x30, 0x21,
- 0xd8, 0xcb, 0xb6, 0xda, 0x92, 0xe7, 0x1e, 0x2e, 0xc1, 0x03, 0xc5, 0x40,
- 0xa7, 0xe6, 0xf8, 0x7a, 0x98, 0x3e, 0xc0, 0x21, 0x14, 0xe7, 0xc7, 0x10,
- 0xc5, 0xa5, 0x68, 0x61, 0x5a, 0xac, 0x30, 0x53, 0xfa, 0x6d, 0xdf, 0x51,
- 0xa2, 0x16, 0x00, 0x56, 0x96, 0x34, 0xc4, 0x65, 0x91, 0xfe, 0x12, 0xc8,
- 0xae, 0xcf, 0x74, 0x30, 0xe7, 0xc7, 0x34, 0xf3, 0xa9, 0x70, 0x1e, 0x0d,
- 0x14, 0x16, 0xac, 0xf2, 0xbb, 0x58, 0xd0, 0xab, 0xb4, 0x16, 0x98, 0x7f,
- 0xf3, 0x85, 0xfc, 0xd8, 0x37, 0x52, 0xf0, 0x58, 0x59, 0xbe, 0x26, 0x77,
- 0xad, 0x4e, 0xb7, 0x05, 0x17, 0x8d, 0xe1, 0x82, 0x11, 0xab, 0x69, 0x13,
- 0x52, 0xb9, 0x16, 0xb7, 0xf1, 0x49, 0xad, 0x1f, 0xeb, 0x46, 0x6a, 0x18,
- 0x5f, 0x38, 0x41, 0xbf, 0x1e, 0xa0, 0xc3, 0xcd, 0x37, 0x5b, 0xfb, 0xb4,
- 0xbe, 0x28, 0x41, 0x89, 0xda, 0x6a, 0xf1, 0xe0, 0xcf, 0x1c, 0x4f, 0x88,
- 0xee, 0x12, 0x4e, 0xa4, 0x71, 0x15, 0xd9, 0x16, 0x53, 0x37, 0x3b, 0xf3,
- 0xb7, 0xc3, 0xc1, 0x2b, 0x75, 0x39, 0x34, 0x3e, 0x6f, 0xac, 0xe3, 0x6d,
- 0x28, 0x4e, 0x79, 0x11, 0x2c, 0xff, 0x4b, 0xdf, 0x49, 0x14, 0xc3, 0xed,
- 0xc1, 0x56, 0xb9, 0x79, 0x6a, 0x71, 0x72, 0xda, 0xbe, 0x7c, 0xc4, 0xde,
- 0x24, 0x92, 0x9f, 0x33, 0xf7, 0xb7, 0xbe, 0xd1, 0x80, 0x66, 0xa9, 0x85,
- 0xcd, 0xf0, 0x2a, 0x48, 0x91, 0x9a, 0xb0, 0xb4, 0x0d, 0x42, 0xa8, 0xe3,
- 0xb9, 0x5a, 0xc4, 0x05, 0xe3, 0x54, 0x93, 0x09, 0x1b, 0xb7, 0x4b, 0xe9,
- 0x70, 0xf4, 0x59, 0xdf, 0x94, 0x75, 0x03, 0x62, 0xaf, 0x9c, 0x6a, 0xdf,
- 0x28, 0xce, 0x90, 0xe9, 0xad, 0x38, 0xaa, 0x51, 0xc3, 0xe5, 0x13, 0xd4,
- 0x41, 0xf3, 0x67, 0x62, 0xbb, 0xb6, 0xd8, 0x67, 0x7b, 0xc3, 0xa1, 0x2d,
- 0x35, 0x80, 0x73, 0x6c, 0x3d, 0x65, 0x05, 0xd5, 0x5b, 0x86, 0x7c, 0x59,
- 0x85, 0x44, 0x68, 0xd1, 0xf0, 0xb5, 0x91, 0x9a, 0x37, 0x7d, 0xfb, 0x99,
- 0x5f, 0x73, 0xd7, 0xd9, 0xb7, 0xd2, 0x5a, 0xef, 0x03, 0x3b, 0x6b, 0xed,
- 0xeb, 0xdb, 0x96, 0xbe, 0x9e, 0xd7, 0xe6, 0xb5, 0xb3, 0xf3, 0x69, 0x64,
- 0xa7, 0x4c, 0xcb, 0xea, 0xba, 0xce, 0xb4, 0x37, 0xd1, 0xe1, 0xe9, 0xc1,
- 0xbe, 0x61, 0x01, 0x24, 0xad, 0x85, 0x24, 0x31, 0x98, 0xa0, 0xab, 0x17,
- 0x7e, 0x5a, 0xa4, 0xae, 0x71, 0x7b, 0x6c, 0x11, 0x90, 0x63, 0xd2, 0x38,
- 0x3d, 0x40, 0x7e, 0xe0, 0xa3, 0x72, 0xc4, 0x23, 0x23, 0x3e, 0xbe, 0x22,
- 0x3e, 0xc1, 0x86, 0x11, 0xf4, 0xf3, 0xa9, 0xeb, 0xc7, 0x8d, 0x9c, 0x15,
- 0x34, 0xc9, 0xaa, 0x1e, 0x84, 0x1c, 0x41, 0x69, 0x24, 0x08, 0x60, 0xb2,
- 0xb2, 0xf2, 0xcd, 0xea, 0x93, 0xf2, 0xb6, 0xef, 0x45, 0x8e, 0xdf, 0x99,
- 0x56, 0x88, 0x11, 0xc8, 0x0c, 0x14, 0xd1, 0x88, 0x2b, 0xf8, 0x13, 0xb0,
- 0x63, 0xf0, 0x71, 0xb7, 0x3e, 0xf2, 0xf0, 0xb4, 0x6f, 0xbf, 0x0c, 0xd6,
- 0xc4, 0x86, 0x65, 0x46, 0xb8, 0x4d, 0x3b, 0x3e, 0x8e, 0x85, 0x88, 0xd8,
- 0xc3, 0x7f, 0x9f, 0x1f, 0x5e, 0x9c, 0x73, 0x0c, 0x24, 0x40, 0x34, 0xea,
- 0x2a, 0x24, 0x9d, 0xa9, 0x0d, 0x67, 0xaf, 0x16, 0x7c, 0xeb, 0x80, 0xeb,
- 0x7a, 0x4a, 0x96, 0x3a, 0x7d, 0xb8, 0x67, 0xe8, 0xd6, 0xa8, 0x96, 0xed,
- 0xf3, 0xe0, 0xfa, 0x72, 0x0f, 0xf9, 0x88, 0x3e, 0x3d, 0x19, 0x6e, 0xfd,
- 0x7d, 0x5c, 0x88, 0x60, 0x9a, 0x89, 0x4f, 0xd1, 0x45, 0x4f, 0x1b, 0x27,
- 0xf2, 0xe1, 0x0e, 0x52, 0x43, 0x5b, 0x18, 0xa0, 0x44, 0x20, 0x37, 0xac,
- 0x27, 0xae, 0xf3, 0x78, 0x2e, 0xc9, 0x8e, 0x32, 0x88, 0x6a, 0x39, 0x70,
- 0xbd, 0x20, 0x25, 0x0a, 0x7c, 0x94, 0x40, 0xd3, 0x7a, 0xce, 0x85, 0x6a,
- 0x9a, 0xc6, 0x98, 0x51, 0x76, 0x6b, 0x4e, 0x2f, 0x4d, 0x13, 0x10, 0x44,
- 0x7c, 0xec, 0x17, 0x2e, 0x53, 0xc8, 0xe0, 0xfd, 0x4b, 0x2e, 0x6b, 0x1d,
- 0xa7, 0x53, 0xd3, 0xaf, 0x83, 0x65, 0x93, 0x43, 0xf9, 0x1d, 0xf2, 0x16,
- 0x6c, 0xcd, 0x6a, 0x87, 0x51, 0x92, 0x1a, 0xc0, 0x64, 0xc1, 0x76, 0x3c,
- 0x7a, 0x57, 0xf1, 0x40, 0x33, 0x9f, 0x35, 0x07, 0xa6, 0x10, 0x28, 0x41,
- 0x37, 0x2f, 0x9a, 0xc4, 0x3b, 0xbc, 0x38, 0x3d, 0x0f, 0x2a, 0xf5, 0x55,
- 0x59, 0xae, 0x1c, 0x46, 0x3c, 0xe2, 0xfd, 0x7e, 0xbd, 0x16, 0x9b, 0xba,
- 0x09, 0x7c, 0x1a, 0xb6, 0xc2, 0xb9, 0xd6, 0xbe, 0xd7, 0x4f, 0xbc, 0x33,
- 0x45, 0xa7, 0xf6, 0x6d, 0x9c, 0x23, 0x9d, 0x96, 0x33, 0x5e, 0x78, 0x65,
- 0xe9, 0x7e, 0x24, 0x95, 0x64, 0x16, 0x18, 0x26, 0x76, 0xe4, 0x9c, 0x9d,
- 0x2e, 0x4b, 0xa9, 0x00, 0xcf, 0x29, 0x72, 0x4c, 0x46, 0x9a, 0x2c, 0xc7,
- 0xf6, 0x1c, 0xb5, 0xd8, 0x38, 0x2b, 0x59, 0x9d, 0x14, 0xe5, 0x0c, 0x9d,
- 0xfa, 0xf2, 0x9f, 0x6a, 0x13, 0x77, 0xb7, 0x97, 0xc7, 0x4b, 0x85, 0x15,
- 0x96, 0xcd, 0xe5, 0xe2, 0x61, 0x50, 0x6f, 0x3e, 0x60, 0xaf, 0xeb, 0x9b,
- 0x3d, 0x26, 0x51, 0x60, 0xa2, 0xa5, 0xed, 0xb4, 0x7a, 0xb2, 0xc9, 0x46,
- 0x5e, 0xac, 0xd8, 0x72, 0xeb, 0x8c, 0x42, 0xc4, 0x3a, 0x34, 0x74, 0x5b,
- 0x29, 0x1f, 0x6e, 0x5f, 0x9c, 0x64, 0xe6, 0xfc, 0xc5, 0x61, 0xd5, 0x92,
- 0x2f, 0xed, 0x65, 0x56, 0x75, 0x53, 0xd0, 0x8e, 0x35, 0xc4, 0x28, 0xd2,
- 0xf9, 0x83, 0x39, 0x85, 0x1c, 0xce, 0xfc, 0xa5, 0xcb, 0x83, 0x66, 0xfe,
- 0xdc, 0xee, 0x2b, 0xf3, 0x99, 0x83, 0xcf, 0xb6, 0x9b, 0xd4, 0xc1, 0xe2,
- 0xf6, 0xf9, 0xe1, 0xf0, 0x42, 0xc6, 0xce, 0xbf, 0x35, 0xc6, 0x2e, 0xe9,
- 0x73, 0xae, 0x08, 0x73, 0xb1, 0x8a, 0x3a, 0x38, 0xec, 0x82, 0x1d, 0xd8,
- 0x61, 0x21, 0xde, 0x70, 0xcd, 0x9e, 0x05, 0x21, 0x60, 0x60, 0x9c, 0x4a,
- 0x2b, 0x17, 0x56, 0xaf, 0x27, 0xea, 0x68, 0x2f, 0x1d, 0xba, 0x72, 0xe5,
- 0x48, 0x64, 0xf9, 0x4d, 0xd0, 0xc2, 0x73, 0xdf, 0xc2, 0x82, 0x99, 0xbb,
- 0x36, 0x70, 0x64, 0x66, 0x63, 0xfe, 0xd0, 0x39, 0x38, 0xaf, 0xb8, 0x3c,
- 0xbc, 0x10, 0x86, 0x3c, 0xe7, 0xdb, 0x79, 0xe1, 0x92, 0x69, 0x4d, 0x3c,
- 0x0a, 0x86, 0xc2, 0x1f, 0x5b, 0xf4, 0x34, 0x3c, 0x70, 0x35, 0xb2, 0x7b,
- 0xf6, 0x89, 0x67, 0xba, 0x2c, 0x3b, 0x7b, 0xaf, 0x87, 0xae, 0x40, 0x70,
- 0x1d, 0xb1, 0xd3, 0x28, 0x9d, 0x2f, 0x01, 0xd4, 0x41, 0x5c, 0x62, 0xca,
- 0x88, 0x40, 0xea, 0xb4, 0x68, 0x58, 0x68, 0xeb, 0x11, 0x69, 0xcf, 0xf4,
- 0x22, 0x22, 0xfd, 0xd6, 0x6f, 0x97, 0xa4, 0xa8, 0xe1, 0x30, 0x7b, 0x19,
- 0x8f, 0x0e, 0xee, 0xdc, 0xdd, 0x16, 0x83, 0xe8, 0x8c, 0x01, 0x15, 0x61,
- 0x7b, 0x2e, 0xfe, 0xea, 0x5b, 0x93, 0xc3, 0x72, 0x7c, 0xb0, 0x77, 0xc6,
- 0xd7, 0x27, 0x84, 0xd3, 0x94, 0x6b, 0x53, 0xe2, 0x13, 0xfe, 0x35, 0x00,
- 0xc3, 0x6b, 0x4c, 0xf9, 0xa5, 0x7f, 0x59, 0x8b, 0x4d, 0xd7, 0x1f, 0x79,
- 0xae, 0xb4, 0x45, 0x5a, 0x0b, 0x9a, 0x70, 0xdc, 0x99, 0xcf, 0x34, 0x6f,
- 0x49, 0xca, 0x11, 0x72, 0x68, 0xe1, 0xd2, 0x9e, 0xa9, 0x70, 0xf1, 0xa0,
- 0x29, 0xb9, 0x13, 0xf6, 0x64, 0x9d, 0x00, 0x73, 0x40, 0x27, 0x87, 0xab,
- 0x0c, 0x50, 0x5b, 0x73, 0x66, 0xb8, 0x53, 0xf3, 0xcf, 0xfa, 0xfc, 0x20,
- 0xe6, 0x98, 0xa3, 0x4c, 0x4d, 0xf0, 0x3c, 0x93, 0x06, 0x3a, 0x57, 0xd5,
- 0x4d, 0xf6, 0x5c, 0xa8, 0xd1, 0x91, 0x8e, 0xbb, 0xc6, 0x2a, 0xa3, 0xe3,
- 0x8e, 0x5d, 0xda, 0x21, 0x76, 0xdb, 0xd5, 0x05, 0x0f, 0x9a, 0x7a, 0xe1,
- 0x9b, 0xe2, 0x72, 0xf6, 0x9e, 0xbf, 0xef, 0x55, 0x78, 0x90, 0x03, 0xdb,
- 0x72, 0x85, 0xef, 0x1f, 0xd3, 0x14, 0xaa, 0xf7, 0xc7, 0x73, 0x21, 0x86,
- 0x8b, 0x2c, 0x93, 0xe2, 0x51, 0x2e, 0x7e, 0x6c, 0x20, 0x91, 0x69, 0x4d,
- 0x7b, 0x74, 0xa1, 0x79, 0xa5, 0xd7, 0x5a, 0xe8, 0x83, 0xcd, 0xe9, 0xfd,
- 0x06, 0x4a, 0xde, 0xac, 0x81, 0x36, 0xff, 0xfc, 0x33, 0x55, 0xdf, 0x6e,
- 0xe6, 0x5c, 0x57, 0xf5, 0xe2, 0xf0, 0xf8, 0xe4, 0xf0, 0xc2, 0x21, 0x36,
- 0xd8, 0x6c, 0x82, 0xe7, 0x5f, 0xaa, 0xc5, 0x67, 0xaa, 0xf1, 0x2b, 0x0a,
- 0x0e, 0x5a, 0xf7, 0x4b, 0xbe, 0xd8, 0x76, 0xf1, 0x59, 0x1c, 0x8d, 0xd5,
- 0x2d, 0xe4, 0xfc, 0x05, 0x31, 0x59, 0xa8, 0xdd, 0xf7, 0x75, 0xf4, 0xf6,
- 0xe0, 0x05, 0x87, 0x7f, 0x5f, 0x71, 0x45, 0x62, 0x40, 0xbf, 0x2a, 0x95,
- 0x64, 0x37, 0xbe, 0xad, 0x9d, 0x10, 0x83, 0x40, 0x54, 0x14, 0xe5, 0x18,
- 0x2a, 0xc8, 0xd2, 0x1a, 0x71, 0xd2, 0x22, 0xa9, 0xaa, 0x62, 0x27, 0x33,
- 0x44, 0x4a, 0x43, 0x8f, 0x80, 0x6c, 0x50, 0xaf, 0x21, 0x58, 0xe5, 0x12,
- 0x2f, 0x9e, 0x79, 0x2e, 0x91, 0x3f, 0x2c, 0x18, 0xd2, 0x4a, 0x8a, 0x0c,
- 0x3a, 0x92, 0xf5, 0x8f, 0x0a, 0x63, 0xda, 0x97, 0x73, 0xc5, 0xd2, 0x62,
- 0xf3, 0x2d, 0xe4, 0x4d, 0xc2, 0x0a, 0xe5, 0x5f, 0x7b, 0x11, 0x2a, 0x6b,
- 0x56, 0x4f, 0x99, 0x16, 0x8f, 0xd9, 0x1e, 0x04, 0x01, 0xff, 0xe8, 0x27,
- 0xee, 0x51, 0x2e, 0xc1, 0x94, 0xce, 0x15, 0x86, 0x64, 0xf5, 0x0b, 0x2a,
- 0x60, 0xca, 0xbd, 0xeb, 0x45, 0x1f, 0x11, 0x2a, 0x82, 0x65, 0xf7, 0x6f,
- 0xbc, 0xac, 0x2a, 0xa2, 0xcb, 0x4a, 0x30, 0x18, 0x26, 0x94, 0x2e, 0x68,
- 0x1d, 0xbd, 0xe6, 0x2a, 0x97, 0xe0, 0x59, 0x3d, 0xb6, 0xce, 0xd8, 0x4b,
- 0x25, 0x65, 0xdc, 0x4e, 0x91, 0x50, 0xd5, 0xfe, 0x5e, 0x64, 0xaf, 0xd4,
- 0x69, 0x92, 0x9f, 0xf5, 0xb5, 0x00, 0x3f, 0xd9, 0x56, 0x6a, 0xa4, 0xe9,
- 0x66, 0x57, 0x73, 0xd2, 0xed, 0x27, 0xcd, 0x2a, 0x5a, 0xfe, 0xe9, 0x1d,
- 0x3d, 0x89, 0x52, 0x6e, 0x0e, 0xdc, 0x86, 0x63, 0x27, 0xdd, 0xf7, 0xcf,
- 0x94, 0x56, 0xc5, 0xb3, 0x24, 0x55, 0x43, 0xa9, 0x4d, 0xc6, 0x86, 0x4e,
- 0x92, 0x49, 0xe2, 0x77, 0xf4, 0x93, 0xe7, 0x2a, 0xd2, 0x98, 0xd4, 0xc9,
- 0xec, 0x9e, 0xd7, 0x60, 0xca, 0x69, 0xf9, 0xca, 0xfd, 0xfc, 0xd3, 0x7a,
- 0xa1, 0xf8, 0x8a, 0xd8, 0x22, 0xc6, 0x29, 0xdf, 0x2b, 0x10, 0x9f, 0x79,
- 0x97, 0xce, 0x35, 0x6a, 0xb8, 0xfe, 0xf6, 0x27, 0x2b, 0x0c, 0x19, 0x6a,
- 0x95, 0x3f, 0x04, 0x01, 0xf9, 0xc7, 0x3f, 0xb5, 0x58, 0xbd, 0xbc, 0x17,
- 0xe2, 0x99, 0xc1, 0x57, 0xae, 0x98, 0x78, 0x76, 0x66, 0x58, 0x05, 0x58,
- 0x58, 0xb6, 0x36, 0xd8, 0xc1, 0xa5, 0xf5, 0xd2, 0x80, 0x8a, 0xa5, 0x4e,
- 0x7c, 0x1f, 0x42, 0x3d, 0x6f, 0x80, 0x49, 0xea, 0xe5, 0x6c, 0x62, 0x07,
- 0x3e, 0x76, 0xd3, 0x3f, 0xfc, 0x52, 0xe9, 0xc0, 0xae, 0x1d, 0x93, 0xf6,
- 0x56, 0xbd, 0xf0, 0xe9, 0x56, 0x28, 0xfa, 0x4d, 0xd8, 0x5e, 0x26, 0x49,
- 0xb6, 0xab, 0x9e, 0x17, 0x22, 0x38, 0x22, 0x5e, 0x7c, 0x45, 0xc4, 0x8b,
- 0x47, 0xdc, 0x65, 0xe5, 0x9f, 0xda, 0xa9, 0x32, 0xae, 0x50, 0x0c, 0x89,
- 0x8e, 0x0e, 0xfc, 0x73, 0xcf, 0xfc, 0xdc, 0xe2, 0x29, 0x5f, 0xa8, 0x0f,
- 0x66, 0x75, 0x5b, 0xe7, 0x97, 0x7c, 0x0c, 0xe6, 0xa7, 0xcf, 0x35, 0x7e,
- 0x8f, 0x63, 0x36, 0xaf, 0x25, 0x4e, 0xab, 0xfe, 0x88, 0xec, 0xfc, 0xbe,
- 0x2b, 0x44, 0x28, 0x71, 0x78, 0x85, 0xbf, 0x45, 0xfd, 0xa3, 0x9f, 0x3c,
- 0xf2, 0xa8, 0x5e, 0x3a, 0x85, 0xbb, 0x2a, 0xfd, 0x6b, 0x9f, 0x36, 0x0f,
- 0xb2, 0x49, 0xd5, 0x16, 0xde, 0x4a, 0xc7, 0x89, 0x4f, 0x53, 0xb4, 0xce,
- 0xd1, 0xba, 0x7f, 0x35, 0xbb, 0x49, 0xce, 0xc1, 0x7b, 0xc5, 0x5f, 0x83,
- 0xc1, 0x7e, 0x16, 0x86, 0xc8, 0x8a, 0xcd, 0x04, 0xce, 0x34, 0xce, 0x32,
- 0x0e, 0x41, 0x4d, 0x61, 0xe2, 0xc0, 0xc6, 0x63, 0x61, 0x7c, 0x03, 0xb2,
- 0xd3, 0x74, 0x09, 0x2f, 0xe7, 0x9e, 0x35, 0x88, 0x22, 0xa5, 0xf9, 0xca,
- 0x16, 0xe5, 0xa3, 0x63, 0xfb, 0x9a, 0xf6, 0x12, 0x34, 0xe1, 0xed, 0x4e,
- 0x5b, 0x35, 0x6a, 0x2f, 0xae, 0x97, 0xa2, 0xb4, 0xba, 0xe9, 0xf8, 0xea,
- 0xad, 0xfe, 0xad, 0x1d, 0xcf, 0x9c, 0x30, 0x30, 0x08, 0x5c, 0xfb, 0x34,
- 0x54, 0x51, 0x6a, 0x23, 0x90, 0x1e, 0x2a, 0x36, 0xe6, 0x8a, 0xb1, 0x1e,
- 0x59, 0x0a, 0x7c, 0xb4, 0x1e, 0xaf, 0xae, 0x47, 0x54, 0x09, 0xba, 0xfd,
- 0x4c, 0x85, 0x02, 0x76, 0x59, 0xd2, 0xfe, 0x5c, 0x27, 0xe3, 0x1b, 0x3b,
- 0x30, 0xda, 0x46, 0x4b, 0xa4, 0xee, 0xf7, 0xdf, 0x07, 0xe6, 0x5b, 0x0f,
- 0xc8, 0x1c, 0xe7, 0x82, 0x08, 0x12, 0x1a, 0x6d, 0xe5, 0x16, 0xe2, 0xed,
- 0x46, 0x41, 0xc7, 0x3c, 0x99, 0x26, 0x8c, 0x09, 0x05, 0xb9, 0xb3, 0x7e,
- 0x19, 0x59, 0xe0, 0x2b, 0x87, 0x42, 0x08, 0x90, 0x7d, 0xa2, 0xb0, 0x61,
- 0x73, 0x76, 0xda, 0xaa, 0xf1, 0x81, 0xae, 0xab, 0xbd, 0x77, 0x17, 0x5f,
- 0x9f, 0x9e, 0x0f, 0xa3, 0x4d, 0xce, 0x99, 0xbd, 0x38, 0x3f, 0xfa, 0xf2,
- 0x1d, 0x69, 0x73, 0xce, 0xaa, 0x7c, 0x10, 0x93, 0x9e, 0x37, 0x8d, 0x86,
- 0x65, 0x32, 0x1f, 0x25, 0xf9, 0x95, 0xc1, 0x28, 0x03, 0xe9, 0x82, 0xd9,
- 0x73, 0x96, 0x0b, 0x6a, 0xa6, 0xaf, 0x04, 0x69, 0x46, 0x73, 0x89, 0x78,
- 0x4a, 0xe9, 0xcb, 0xcc, 0x6b, 0x2a, 0x69, 0x35, 0x0f, 0xda, 0x17, 0x20,
- 0xbd, 0xf8, 0x7a, 0xef, 0xe4, 0x9b, 0xa1, 0xe1, 0x96, 0x7d, 0xf7, 0xdd,
- 0x77, 0xa1, 0xd3, 0x64, 0x77, 0x73, 0x13, 0x48, 0x55, 0xd7, 0xf1, 0xfd,
- 0xfd, 0xa0, 0x20, 0x56, 0x46, 0x67, 0x68, 0xcd, 0xc7, 0x9e, 0x2b, 0x58,
- 0x6d, 0xb1, 0xa4, 0x9b, 0x8c, 0xbe, 0xde, 0x5c, 0x2c, 0x47, 0x0c, 0x8e,
- 0xbb, 0xb9, 0x2c, 0x15, 0xb1, 0x1d, 0x6f, 0x6f, 0xae, 0xad, 0x0d, 0x0f,
- 0x0f, 0xa3, 0xbd, 0xe3, 0xe1, 0x69, 0xf0, 0xee, 0xfa, 0xf6, 0x06, 0xdd,
- 0xf1, 0x57, 0x49, 0x49, 0xbf, 0xac, 0xad, 0x1d, 0xef, 0x5d, 0xb0, 0x06,
- 0xf3, 0xed, 0xe1, 0xf9, 0xf0, 0xe8, 0xf4, 0x84, 0xb7, 0x88, 0x51, 0x01,
- 0xe2, 0x29, 0x57, 0xc1, 0x65, 0xa1, 0x82, 0x73, 0xf6, 0xee, 0x0c, 0x2b,
- 0x9d, 0xd1, 0x2e, 0x48, 0x0c, 0x11, 0x99, 0x4c, 0xbc, 0x51, 0x77, 0x8c,
- 0xd6, 0x10, 0x5b, 0x75, 0xda, 0x92, 0xd5, 0x08, 0x73, 0xb9, 0xad, 0x45,
- 0xde, 0x88, 0x21, 0x80, 0x1d, 0xc9, 0x48, 0xe2, 0x44, 0x7a, 0x02, 0x3e,
- 0x8e, 0x10, 0xe7, 0x20, 0x69, 0xbe, 0x75, 0xe2, 0xc3, 0xa3, 0xb7, 0x67,
- 0x24, 0xcf, 0xbf, 0x1b, 0xee, 0x7d, 0x75, 0xc8, 0x8f, 0x7e, 0x95, 0x94,
- 0x7e, 0x3f, 0x04, 0xd3, 0x9d, 0x3b, 0x39, 0x49, 0xca, 0x62, 0x1c, 0x2f,
- 0x38, 0x60, 0x99, 0xba, 0xe9, 0x0b, 0x3f, 0x0c, 0xda, 0x16, 0xc9, 0xce,
- 0xc3, 0x08, 0xcf, 0xf5, 0x79, 0x60, 0xfc, 0x86, 0xed, 0x9e, 0x1f, 0xee,
- 0x1d, 0xbc, 0x3d, 0xb4, 0x20, 0x22, 0x81, 0xf1, 0xa3, 0x46, 0xaf, 0xb3,
- 0x59, 0x58, 0x71, 0x9a, 0xef, 0x24, 0x5e, 0x7c, 0xfa, 0x86, 0x96, 0x74,
- 0x45, 0x77, 0x7e, 0xa3, 0xf0, 0xec, 0xe0, 0x32, 0xdd, 0x94, 0xd6, 0xad,
- 0xbf, 0xd8, 0x2d, 0x89, 0x81, 0x68, 0xa8, 0x6c, 0x26, 0x1a, 0x2a, 0x54,
- 0xdb, 0xcf, 0xb6, 0xb6, 0xb6, 0x1e, 0x99, 0x07, 0x8c, 0x88, 0x6a, 0x22,
- 0xa2, 0xa9, 0xec, 0xf2, 0xe3, 0x9b, 0xbe, 0x7d, 0x23, 0xcd, 0xd0, 0x24,
- 0xcb, 0x7f, 0xce, 0x25, 0xa5, 0x20, 0x2d, 0x93, 0xf6, 0x41, 0x8f, 0xb3,
- 0xcc, 0xed, 0x41, 0x65, 0x79, 0x26, 0x0c, 0x7c, 0x92, 0x96, 0x06, 0x83,
- 0x84, 0x37, 0x64, 0xe8, 0x93, 0x14, 0x0c, 0x28, 0xce, 0x1f, 0xea, 0x4d,
- 0xf2, 0x37, 0xd4, 0x26, 0xff, 0x18, 0x64, 0xf9, 0xd5, 0xe6, 0x6c, 0x17,
- 0x41, 0x22, 0xf4, 0xd0, 0x1b, 0x06, 0x3f, 0x40, 0x5d, 0x5e, 0x8b, 0xb7,
- 0x29, 0x78, 0x69, 0x39, 0xb8, 0xef, 0x03, 0xc6, 0xf5, 0x2b, 0xd6, 0x41,
- 0xaa, 0x57, 0x5f, 0xda, 0xcc, 0x2d, 0x06, 0xa1, 0xa5, 0x93, 0x82, 0xb7,
- 0x8c, 0x2d, 0x48, 0x03, 0x62, 0x21, 0xd4, 0x0b, 0x7d, 0x2e, 0x44, 0x42,
- 0xbf, 0xe6, 0x44, 0x34, 0x83, 0xf2, 0x1e, 0xec, 0x9d, 0xd1, 0x69, 0xd5,
- 0x12, 0x0c, 0xae, 0x45, 0x1c, 0x2c, 0xcf, 0x48, 0xfe, 0x8e, 0x25, 0x5d,
- 0x63, 0x88, 0x60, 0x68, 0x85, 0x49, 0x71, 0x00, 0x02, 0xdc, 0x70, 0xbd,
- 0xcf, 0x7e, 0x1f, 0x14, 0x54, 0x38, 0x7a, 0xf9, 0x80, 0xce, 0x83, 0x49,
- 0xc9, 0xea, 0xcf, 0xf5, 0xe6, 0x08, 0xa8, 0x67, 0x48, 0xa3, 0x68, 0xf4,
- 0x05, 0xcc, 0x9d, 0x1c, 0x51, 0x5e, 0x85, 0x74, 0x87, 0x9a, 0x10, 0x83,
- 0xe4, 0x3e, 0xe6, 0x24, 0x2b, 0xf4, 0x45, 0x7b, 0xb2, 0x89, 0x18, 0x94,
- 0x0f, 0xee, 0x69, 0xff, 0xcc, 0x95, 0x98, 0xa0, 0x15, 0xb8, 0xe5, 0x25,
- 0xb8, 0x49, 0x30, 0xfb, 0x50, 0x9e, 0x7d, 0x64, 0x30, 0xbb, 0xb4, 0x0a,
- 0xfc, 0xc6, 0x7f, 0x6e, 0x0e, 0x8a, 0xe2, 0x7a, 0x33, 0x9d, 0xbc, 0x9f,
- 0x14, 0x31, 0x7d, 0x46, 0x7c, 0xad, 0xf1, 0xf1, 0x80, 0x3e, 0x8c, 0x7e,
- 0x72, 0x4d, 0xfd, 0x3f, 0xc5, 0xb8, 0x7d, 0x1a, 0xff, 0xb9, 0xc9, 0x50,
- 0x50, 0x40, 0x97, 0x0d, 0x56, 0xad, 0x85, 0x75, 0xd0, 0x94, 0x04, 0x75,
- 0x8c, 0xce, 0x62, 0x3b, 0x59, 0xf4, 0xaf, 0xa2, 0x8e, 0xd2, 0xda, 0x8f,
- 0x3b, 0x5b, 0x5b, 0xdb, 0xbb, 0xdb, 0x9f, 0xbd, 0xdc, 0xda, 0xdd, 0xde,
- 0xde, 0xde, 0xd9, 0xdd, 0xde, 0xdd, 0xdd, 0xd9, 0xfa, 0x79, 0xb3, 0xb3,
- 0xb6, 0x76, 0x70, 0xfa, 0xdd, 0xc9, 0xf1, 0xe9, 0xde, 0x41, 0x74, 0x71,
- 0x4a, 0x6a, 0x2c, 0x1b, 0x21, 0x5a, 0x8e, 0x39, 0x30, 0x80, 0xca, 0x4c,
- 0x2e, 0xb5, 0xd0, 0x60, 0xd9, 0xe8, 0x52, 0x2a, 0x16, 0xf3, 0x4b, 0x83,
- 0xeb, 0x72, 0xf6, 0x34, 0xef, 0xfa, 0x90, 0x4e, 0x7a, 0x12, 0x07, 0xe5,
- 0xb5, 0x9a, 0xa0, 0x5a, 0x6c, 0x62, 0x65, 0x6c, 0xaa, 0xc5, 0x68, 0x5d,
- 0x1c, 0xdc, 0xba, 0xb8, 0x98, 0x3d, 0xe8, 0xbe, 0x14, 0x5a, 0x28, 0x02,
- 0x8d, 0x27, 0xc4, 0x78, 0x57, 0x87, 0xa4, 0x14, 0x2a, 0x25, 0x81, 0x60,
- 0xa3, 0x31, 0xc1, 0xd3, 0x95, 0x53, 0xe2, 0xf2, 0xd2, 0xf7, 0x98, 0x75,
- 0x95, 0x47, 0x08, 0xae, 0x95, 0x9f, 0x1d, 0xd0, 0x6c, 0x4c, 0x4f, 0x4b,
- 0x73, 0x1b, 0x32, 0xfc, 0xd2, 0x2d, 0xdd, 0x71, 0x3f, 0xc6, 0x3a, 0x7c,
- 0x17, 0xfc, 0x4d, 0x78, 0xe3, 0x6c, 0x3a, 0xbb, 0x92, 0x0c, 0xe0, 0xdd,
- 0xf0, 0xe8, 0xe4, 0x2b, 0x38, 0x8e, 0xbe, 0x3b, 0x3d, 0x3f, 0x18, 0x52,
- 0xb3, 0x7c, 0x15, 0xaf, 0xc1, 0xb4, 0x00, 0xe0, 0x34, 0x19, 0x95, 0xd0,
- 0x3f, 0x77, 0xfd, 0x67, 0x28, 0x18, 0x88, 0xd8, 0x95, 0x1c, 0x07, 0x0c,
- 0x33, 0x10, 0x15, 0x19, 0x7f, 0xa7, 0x9d, 0xbb, 0xe1, 0x28, 0xc8, 0xeb,
- 0x5f, 0xcc, 0x62, 0x46, 0xf9, 0x4c, 0x06, 0x82, 0xb1, 0x85, 0x68, 0x80,
- 0x4d, 0xc6, 0xd7, 0xd8, 0x64, 0x89, 0x75, 0xb3, 0xcc, 0xc0, 0x27, 0xd0,
- 0x4a, 0x96, 0x3b, 0x5c, 0xd4, 0xca, 0x8a, 0xf0, 0x01, 0xbb, 0x9c, 0xc6,
- 0x57, 0xe8, 0xb0, 0x79, 0xf6, 0x82, 0xce, 0xb4, 0xfb, 0x0f, 0xed, 0x92,
- 0xd9, 0x1b, 0xda, 0x3b, 0x2a, 0x5d, 0xda, 0x33, 0x40, 0x85, 0xd4, 0xe2,
- 0x2d, 0xf2, 0x11, 0xea, 0x65, 0xb0, 0xef, 0x9c, 0xeb, 0x17, 0xd4, 0x01,
- 0x5c, 0xb5, 0xb6, 0xd3, 0x9a, 0x98, 0x0b, 0xfa, 0x41, 0x26, 0x8d, 0x08,
- 0xf5, 0xdc, 0x52, 0xa0, 0x21, 0x4b, 0x08, 0x38, 0xfa, 0x44, 0x6e, 0x10,
- 0x94, 0x42, 0x59, 0x72, 0x1e, 0x0c, 0x8d, 0x9d, 0x65, 0x10, 0x4d, 0x1a,
- 0x51, 0x81, 0xad, 0xc3, 0xe8, 0xb9, 0xe9, 0x38, 0x2d, 0x3b, 0x96, 0x97,
- 0xe2, 0x51, 0x98, 0xbc, 0x67, 0xab, 0x28, 0x69, 0x28, 0x31, 0x5d, 0x1d,
- 0x5a, 0xa1, 0x51, 0x33, 0x34, 0xb3, 0xd9, 0x4c, 0x52, 0xf7, 0x3a, 0x9c,
- 0xc0, 0xe0, 0x5b, 0x49, 0x35, 0xfd, 0xc6, 0x61, 0x22, 0x31, 0x93, 0xe5,
- 0xde, 0x05, 0x60, 0x0c, 0xab, 0xee, 0xf8, 0xb9, 0x37, 0xe8, 0x30, 0x2f,
- 0x26, 0x71, 0x93, 0x18, 0xa5, 0x50, 0x8e, 0xc6, 0xb1, 0x07, 0x80, 0xec,
- 0x95, 0x65, 0x0b, 0x8b, 0x4e, 0x34, 0x58, 0x6a, 0x35, 0x19, 0x62, 0x0d,
- 0xa1, 0xaf, 0x2e, 0x13, 0x26, 0x58, 0x1e, 0xc9, 0xc2, 0xf1, 0xaf, 0xf2,
- 0x5e, 0xa4, 0x65, 0x91, 0x4c, 0x2f, 0xd9, 0xd0, 0xc0, 0xd1, 0x01, 0x24,
- 0x0f, 0x88, 0xb5, 0x30, 0xae, 0x80, 0x13, 0x5b, 0xc4, 0xeb, 0x72, 0x4e,
- 0xe2, 0x76, 0xac, 0xee, 0x60, 0xe1, 0x19, 0x57, 0x60, 0x9c, 0xaa, 0x3f,
- 0x57, 0x19, 0x85, 0x78, 0x5c, 0x06, 0x06, 0xdd, 0xbd, 0x16, 0x39, 0xdc,
- 0xd5, 0xda, 0x14, 0x1c, 0x38, 0x18, 0xd0, 0x99, 0x40, 0x1d, 0xc1, 0x83,
- 0xcb, 0x11, 0xad, 0xb6, 0x7b, 0x8e, 0xd7, 0x8e, 0x8d, 0xd7, 0x58, 0xb5,
- 0xfd, 0xb0, 0x1a, 0x86, 0x80, 0xd2, 0x35, 0xc1, 0xa1, 0x53, 0x2d, 0xb8,
- 0x4c, 0x07, 0x0d, 0xe1, 0x99, 0xcb, 0xc2, 0xad, 0x28, 0xc0, 0x99, 0x63,
- 0x57, 0x08, 0xa5, 0xed, 0x18, 0x2a, 0x47, 0x5a, 0x7d, 0x0e, 0x9f, 0x3e,
- 0x82, 0xcd, 0x21, 0x99, 0xc4, 0x3f, 0x7d, 0x90, 0x53, 0x12, 0x58, 0x0d,
- 0x5a, 0x0f, 0xa3, 0x0e, 0xe2, 0x83, 0x3a, 0xc6, 0x5c, 0x01, 0xbc, 0x59,
- 0x88, 0x99, 0xd3, 0xc7, 0xbe, 0x88, 0x67, 0x15, 0xb1, 0xe5, 0x2d, 0xd8,
- 0x8f, 0x15, 0x70, 0x3f, 0x1c, 0x04, 0x09, 0x6c, 0xdd, 0x8d, 0xbe, 0x8c,
- 0x8b, 0x74, 0xdc, 0x8b, 0x0e, 0x52, 0x12, 0xd4, 0xcb, 0x9e, 0xc7, 0xe7,
- 0x73, 0xb8, 0x86, 0x83, 0xe8, 0x3b, 0x2b, 0xac, 0x45, 0x77, 0x2e, 0x42,
- 0x1d, 0x61, 0x31, 0x74, 0x59, 0x4e, 0x6b, 0x62, 0x8c, 0x55, 0x73, 0xaa,
- 0xcb, 0x29, 0x22, 0x2a, 0x42, 0xdb, 0x1e, 0x78, 0x0c, 0x9b, 0x19, 0x17,
- 0x37, 0x55, 0xfc, 0x6c, 0x11, 0xa9, 0x0a, 0x36, 0x0b, 0xb2, 0xfc, 0x83,
- 0xf5, 0x9d, 0x6b, 0x7d, 0x02, 0xa5, 0x39, 0xfc, 0xed, 0xa8, 0xdc, 0xb0,
- 0xe8, 0x61, 0xba, 0x29, 0x34, 0x1e, 0xc6, 0x5c, 0xb8, 0xb8, 0x8d, 0xec,
- 0xb8, 0xae, 0x21, 0x98, 0x9a, 0xd6, 0x89, 0x57, 0x44, 0xf9, 0xc9, 0xe9,
- 0xc5, 0xe1, 0x1f, 0xa2, 0x21, 0x31, 0xeb, 0xc4, 0x53, 0x0e, 0x1f, 0x72,
- 0xf6, 0x62, 0xab, 0x7b, 0xa9, 0xb1, 0xa7, 0x2e, 0xb3, 0x51, 0xad, 0x7e,
- 0x16, 0xfd, 0x2f, 0x55, 0x4f, 0xee, 0xa4, 0xc8, 0x27, 0xaf, 0x0c, 0x68,
- 0xf6, 0x36, 0x8d, 0x23, 0x57, 0xfb, 0x91, 0xe7, 0xfe, 0x9e, 0x49, 0xff,
- 0xbd, 0x47, 0x8e, 0x5e, 0xea, 0x8b, 0xc0, 0x02, 0xe3, 0x76, 0xd4, 0x22,
- 0x00, 0x23, 0xca, 0x38, 0xcd, 0xe9, 0x0a, 0x66, 0x3e, 0x35, 0x16, 0x94,
- 0x45, 0xc4, 0xa8, 0x61, 0xec, 0x6c, 0xe2, 0x88, 0x47, 0x44, 0x57, 0x58,
- 0x2e, 0x66, 0x5a, 0x70, 0xb0, 0xfa, 0xfa, 0xa2, 0x76, 0xee, 0x42, 0x56,
- 0x8a, 0x1c, 0x42, 0xa4, 0x65, 0xa1, 0xb0, 0x82, 0x02, 0xd2, 0xad, 0x21,
- 0x20, 0x8c, 0x5a, 0x85, 0x2c, 0x31, 0x77, 0x37, 0x5b, 0x20, 0xd8, 0x71,
- 0xbc, 0x0e, 0xd3, 0xe9, 0x24, 0x9a, 0x3d, 0x68, 0x7e, 0xac, 0xf2, 0x61,
- 0xce, 0x4a, 0x81, 0xae, 0xf2, 0xd9, 0x67, 0x8d, 0x7b, 0xf7, 0xde, 0x3d,
- 0xbd, 0x4b, 0x5f, 0x07, 0x3a, 0xd1, 0x94, 0x9d, 0x89, 0x56, 0xc1, 0xc5,
- 0x2b, 0x46, 0x0d, 0x81, 0x33, 0x4c, 0x80, 0x93, 0x0e, 0x9d, 0x91, 0xb0,
- 0x65, 0x5f, 0x5c, 0x85, 0x9a, 0x35, 0x91, 0xb8, 0x15, 0x21, 0xbe, 0x10,
- 0x97, 0xf4, 0x0a, 0x11, 0xd4, 0x4e, 0x5e, 0x7d, 0xb0, 0x81, 0x80, 0x42,
- 0x42, 0xd2, 0x80, 0x65, 0x1a, 0x96, 0xb7, 0x86, 0x99, 0x36, 0xcc, 0x99,
- 0x16, 0x3a, 0x18, 0x07, 0x5f, 0x57, 0x03, 0xa3, 0x77, 0x48, 0xe8, 0xee,
- 0xc6, 0xe8, 0xbf, 0x5b, 0x3d, 0x9c, 0x77, 0xff, 0xca, 0x70, 0xc6, 0x4d,
- 0xbe, 0xa8, 0x65, 0x5e, 0x79, 0x69, 0x82, 0x32, 0x86, 0x52, 0x4f, 0x99,
- 0xf3, 0x7a, 0xac, 0x78, 0xac, 0xd4, 0x62, 0x90, 0xf2, 0x88, 0xb8, 0xa7,
- 0x92, 0x44, 0x5a, 0x42, 0xb8, 0x5a, 0x6b, 0x02, 0xf1, 0x7e, 0xc0, 0x38,
- 0x64, 0x3b, 0xc0, 0x7e, 0x48, 0x1d, 0xce, 0x11, 0x38, 0xa0, 0x09, 0xb8,
- 0x9a, 0xfc, 0x45, 0x8d, 0x9e, 0xef, 0x9d, 0x7c, 0x75, 0x08, 0x7a, 0x65,
- 0xb6, 0xe1, 0xf3, 0x06, 0x39, 0x9b, 0xa9, 0x9f, 0x4b, 0x95, 0xef, 0x3b,
- 0x31, 0xf3, 0xd0, 0x1b, 0x93, 0xe5, 0x98, 0x3d, 0xa8, 0xef, 0x0a, 0x2b,
- 0xb4, 0x0d, 0xc8, 0xc1, 0x29, 0xca, 0x83, 0x33, 0xcb, 0x50, 0x5f, 0xe5,
- 0x5a, 0x64, 0xba, 0x15, 0x28, 0x9e, 0xaf, 0xe4, 0x4c, 0xcd, 0x47, 0xc5,
- 0x72, 0xb4, 0x88, 0x35, 0xa9, 0x26, 0x0e, 0xf3, 0x34, 0x54, 0x92, 0x1d,
- 0x54, 0xa6, 0xc0, 0xbc, 0x4f, 0x22, 0xf5, 0x9c, 0xd4, 0x94, 0x43, 0x6a,
- 0x1a, 0x84, 0x1a, 0x83, 0xe0, 0xbc, 0x6c, 0x6f, 0x6d, 0x79, 0xf0, 0x90,
- 0xd8, 0x35, 0xd8, 0xd8, 0xc5, 0x3c, 0xda, 0xea, 0xbf, 0x7c, 0xb9, 0x6a,
- 0xbb, 0x5c, 0xa3, 0xc8, 0x1b, 0x78, 0xf1, 0xc1, 0x6d, 0xf6, 0xf9, 0xd1,
- 0x55, 0x6d, 0xb6, 0xdc, 0x8d, 0xa8, 0x1e, 0xa0, 0x7e, 0xe2, 0xc2, 0x05,
- 0x23, 0xa8, 0x0c, 0x2d, 0x86, 0x1b, 0x98, 0xd1, 0xe6, 0xee, 0x82, 0xe4,
- 0xa5, 0x5c, 0x8b, 0xdc, 0x4d, 0x06, 0x2c, 0x1c, 0x13, 0xb7, 0x17, 0xec,
- 0x2a, 0x4e, 0x9d, 0x83, 0xea, 0x83, 0x16, 0x26, 0x10, 0x91, 0x56, 0x2c,
- 0xd1, 0x65, 0x73, 0x36, 0x6a, 0x7f, 0x89, 0x48, 0xf2, 0x3e, 0x63, 0x75,
- 0x8a, 0xa4, 0x6f, 0x11, 0x39, 0x49, 0x7e, 0x82, 0x5e, 0xbd, 0x59, 0x93,
- 0xa6, 0xde, 0x69, 0xe5, 0x2c, 0x06, 0x46, 0x67, 0x17, 0x82, 0x40, 0xb0,
- 0xa6, 0x73, 0x09, 0x09, 0xf1, 0xfb, 0xbf, 0x42, 0xb5, 0xbb, 0x88, 0xfa,
- 0x01, 0x53, 0x52, 0x88, 0x11, 0xe6, 0x48, 0xb3, 0x07, 0xbb, 0x65, 0xb5,
- 0x07, 0xb4, 0x6e, 0x76, 0x9a, 0x4a, 0xc1, 0xc7, 0x9e, 0x8a, 0x46, 0xa0,
- 0xa1, 0x06, 0x53, 0x6a, 0xe9, 0x52, 0xba, 0x01, 0x93, 0xab, 0xb1, 0xa0,
- 0x0f, 0x1b, 0x4a, 0xdc, 0x52, 0x29, 0xcf, 0xe4, 0xb0, 0x94, 0xb3, 0xd6,
- 0x54, 0xbe, 0xae, 0xab, 0x7a, 0x8a, 0x3e, 0xc7, 0x0f, 0xe2, 0x04, 0x65,
- 0xbb, 0x6b, 0xd1, 0xbf, 0x3b, 0xb8, 0x47, 0x86, 0xc5, 0xe7, 0xd3, 0x2a,
- 0x6e, 0xd6, 0x86, 0xd9, 0xaa, 0xf3, 0x5e, 0xc8, 0xfb, 0xd2, 0x75, 0xdc,
- 0xde, 0x9d, 0xbc, 0x6f, 0xeb, 0xd1, 0x42, 0xf7, 0x7c, 0x73, 0x29, 0xee,
- 0x8c, 0x8b, 0x44, 0xb6, 0xec, 0x79, 0x16, 0xb0, 0xc1, 0x30, 0xb4, 0xc4,
- 0xbb, 0x85, 0x47, 0xaf, 0x45, 0x1a, 0xe8, 0x0e, 0x54, 0x1a, 0x26, 0x1c,
- 0xc0, 0x66, 0x82, 0xbd, 0xdd, 0xc0, 0xd3, 0x7f, 0xa9, 0x39, 0xf9, 0x28,
- 0x99, 0x70, 0x74, 0x69, 0xd9, 0x78, 0x1e, 0xe2, 0x20, 0x5f, 0xce, 0x65,
- 0x16, 0xb0, 0x99, 0xd3, 0xe0, 0xe3, 0xe2, 0x1a, 0x0e, 0x60, 0x27, 0xe3,
- 0x37, 0x0d, 0x3f, 0x61, 0x9a, 0x3e, 0x31, 0x7b, 0xe1, 0xf4, 0x60, 0xac,
- 0x95, 0xa5, 0xa8, 0xae, 0x40, 0x20, 0x12, 0x7f, 0x28, 0xe9, 0x33, 0xd7,
- 0x68, 0x35, 0xf6, 0x81, 0xfa, 0x1b, 0xc5, 0xd5, 0x6a, 0x34, 0x57, 0x55,
- 0x29, 0xa4, 0x2d, 0xb9, 0x8d, 0x21, 0xc1, 0xa3, 0x22, 0x15, 0xb2, 0x22,
- 0x6b, 0x4b, 0x08, 0x71, 0x0c, 0x65, 0xfe, 0x24, 0x49, 0xd2, 0x38, 0xad,
- 0xa6, 0x8e, 0x41, 0x8f, 0xf2, 0xd0, 0x1e, 0x9a, 0x2c, 0xc1, 0x18, 0xdf,
- 0x12, 0x81, 0x06, 0x0b, 0x34, 0x43, 0x2b, 0x67, 0xd2, 0x27, 0x66, 0x28,
- 0x03, 0x94, 0x4c, 0x04, 0x14, 0x11, 0x3c, 0x1d, 0x5e, 0xb0, 0x9c, 0x08,
- 0xb9, 0xd6, 0x44, 0x99, 0x6f, 0x0f, 0xcf, 0xbf, 0x3c, 0x1d, 0x1e, 0x12,
- 0x8b, 0x38, 0x38, 0xfc, 0xf2, 0x1d, 0xb3, 0x0f, 0xde, 0x31, 0xe7, 0xcc,
- 0x2b, 0x14, 0x33, 0x16, 0x09, 0x20, 0x4e, 0xcc, 0x93, 0x44, 0xb6, 0x9e,
- 0x51, 0x86, 0xc6, 0x1b, 0xa9, 0x20, 0xc8, 0xa5, 0xa2, 0x79, 0xa3, 0x53,
- 0x44, 0x7a, 0x79, 0xa0, 0x06, 0x16, 0xff, 0xe6, 0x8c, 0x97, 0x5a, 0x5a,
- 0x81, 0x02, 0xc3, 0xeb, 0x2c, 0x76, 0xbd, 0x78, 0x77, 0x2b, 0x6a, 0xb8,
- 0x1e, 0x08, 0x5f, 0xdf, 0xc3, 0x2a, 0x79, 0x0c, 0x82, 0xca, 0x94, 0x8a,
- 0xc5, 0x3b, 0xcd, 0xe4, 0x02, 0xe3, 0xdc, 0x0f, 0x1c, 0x66, 0x00, 0x4d,
- 0xa7, 0xa8, 0xf7, 0xa5, 0x58, 0x7a, 0x5a, 0x55, 0xa3, 0x10, 0x82, 0x23,
- 0x3e, 0x23, 0xd9, 0x00, 0x56, 0xd5, 0x1a, 0x6c, 0xa8, 0x48, 0x24, 0xcb,
- 0x54, 0x2e, 0x50, 0x35, 0x53, 0x4b, 0x34, 0x85, 0x62, 0xc4, 0xad, 0xf3,
- 0x91, 0xe0, 0x3c, 0x6f, 0x11, 0x78, 0x05, 0x0b, 0x55, 0x8a, 0x4f, 0x38,
- 0x30, 0x1d, 0x5e, 0xf9, 0x8d, 0x41, 0x9d, 0x74, 0x6e, 0x57, 0xb3, 0x83,
- 0x0b, 0x99, 0x29, 0x67, 0x04, 0xca, 0x9d, 0x1c, 0x22, 0x02, 0x84, 0xe9,
- 0x2c, 0x1c, 0x34, 0xe2, 0x50, 0xa1, 0xe4, 0x3c, 0x71, 0xd0, 0x56, 0x20,
- 0xc4, 0xad, 0x2e, 0x57, 0x61, 0xa6, 0x02, 0x0d, 0x35, 0xf1, 0x01, 0x9b,
- 0xae, 0xae, 0x25, 0x31, 0x65, 0x6c, 0x29, 0xec, 0x1f, 0x51, 0xbd, 0xe2,
- 0xa0, 0x9e, 0x41, 0x69, 0x5d, 0x2a, 0x55, 0x94, 0xf7, 0x65, 0x68, 0x25,
- 0x22, 0xde, 0xb8, 0x76, 0x70, 0x78, 0xb1, 0x77, 0x74, 0x7c, 0x78, 0x10,
- 0x1d, 0x9d, 0xbc, 0x39, 0x3d, 0x7f, 0xbb, 0x77, 0xa1, 0x5e, 0x92, 0x03,
- 0xa7, 0x67, 0xb9, 0x02, 0x0d, 0x4e, 0x8d, 0xf5, 0x3a, 0x18, 0x68, 0x98,
- 0xb6, 0xf1, 0x4a, 0x71, 0x52, 0x64, 0x1d, 0x92, 0xca, 0x22, 0xac, 0x45,
- 0xea, 0x5d, 0xf1, 0x25, 0x17, 0xf8, 0x8e, 0xde, 0x74, 0x16, 0xf1, 0x81,
- 0xad, 0xa7, 0x69, 0x49, 0x00, 0x3b, 0x7a, 0xb4, 0x29, 0x57, 0x27, 0x48,
- 0x6e, 0x27, 0xde, 0x4f, 0x49, 0xd1, 0x00, 0x51, 0xf6, 0x8f, 0x38, 0x23,
- 0x11, 0xf6, 0x03, 0xad, 0x7b, 0x7b, 0x54, 0xba, 0x3a, 0x62, 0x4c, 0x2f,
- 0xdc, 0x8e, 0x03, 0x3c, 0x06, 0x09, 0xa2, 0x8a, 0x67, 0xd0, 0xa6, 0x4b,
- 0x96, 0xb1, 0x9a, 0x0a, 0x12, 0x09, 0x26, 0x05, 0x10, 0x82, 0x0d, 0xd6,
- 0xcc, 0x5a, 0x22, 0x67, 0xf5, 0xed, 0xdd, 0x97, 0xc9, 0xdc, 0x95, 0x94,
- 0x7e, 0xa3, 0x8d, 0x78, 0x2e, 0x6a, 0xb6, 0x48, 0x45, 0x70, 0x0b, 0x9b,
- 0x5a, 0x77, 0x56, 0x74, 0x92, 0x5e, 0xfa, 0x47, 0x0a, 0xdb, 0xc4, 0x6b,
- 0xb1, 0xb1, 0x26, 0x35, 0xe9, 0xe6, 0x96, 0x8d, 0xed, 0xc2, 0x09, 0xbc,
- 0xd0, 0x1d, 0x94, 0x64, 0xd1, 0xe3, 0xe6, 0x0f, 0x6e, 0x61, 0xa4, 0x76,
- 0x40, 0x0f, 0x71, 0xfd, 0xba, 0xbe, 0x76, 0x6f, 0x15, 0xa9, 0x59, 0x48,
- 0xb2, 0x2d, 0x14, 0x01, 0x0a, 0x62, 0xc0, 0x88, 0x18, 0x15, 0x24, 0x13,
- 0x5e, 0x03, 0x99, 0x07, 0x08, 0xbc, 0x34, 0xc3, 0x27, 0x6b, 0x02, 0xde,
- 0x56, 0xe9, 0xea, 0xc7, 0x34, 0xaa, 0xd3, 0xba, 0xda, 0x45, 0x43, 0xf7,
- 0x2c, 0x56, 0x32, 0x78, 0x21, 0xf6, 0x8e, 0x43, 0xac, 0xff, 0xba, 0x01,
- 0x35, 0x33, 0xcd, 0x6a, 0x83, 0x6a, 0xfd, 0x6e, 0x9a, 0x5a, 0x2b, 0x93,
- 0x0a, 0x5f, 0xac, 0xba, 0xda, 0x42, 0x56, 0x6f, 0x5d, 0x63, 0xf4, 0x93,
- 0xb6, 0x11, 0x28, 0x1b, 0x47, 0x65, 0x41, 0xa2, 0x2a, 0x86, 0xa1, 0x8e,
- 0xe1, 0x72, 0xe2, 0x14, 0xfb, 0x35, 0x05, 0x21, 0x54, 0x56, 0x09, 0xf3,
- 0x5f, 0x98, 0x3b, 0x39, 0xe6, 0xf2, 0x37, 0x5c, 0xd0, 0x47, 0x4b, 0x5d,
- 0x05, 0x81, 0xce, 0xd1, 0x5b, 0xb8, 0x53, 0xb4, 0x38, 0x33, 0x73, 0xbd,
- 0xf9, 0x9a, 0x01, 0xc1, 0xd9, 0x4b, 0x63, 0x15, 0x44, 0xc1, 0xfe, 0x25,
- 0x8b, 0x16, 0x5c, 0x9e, 0xfd, 0x71, 0x5c, 0x08, 0x1a, 0xb6, 0x04, 0xd6,
- 0x89, 0xe5, 0xd2, 0x00, 0x09, 0x60, 0xae, 0xce, 0xf4, 0x86, 0xdb, 0xc7,
- 0x97, 0x33, 0xed, 0x0b, 0xd8, 0x40, 0xcc, 0x29, 0x4f, 0x76, 0x28, 0x24,
- 0xf2, 0xca, 0xb5, 0x82, 0xcb, 0x8e, 0xb3, 0x7b, 0xf3, 0x29, 0xc2, 0x68,
- 0x34, 0xa4, 0xeb, 0x2c, 0x2b, 0xe4, 0xbc, 0x41, 0xda, 0xee, 0x08, 0x9a,
- 0x3d, 0x93, 0x41, 0x67, 0x71, 0x4d, 0x7d, 0x74, 0xa2, 0x2b, 0xd6, 0x57,
- 0x46, 0x34, 0xf4, 0x06, 0x07, 0x9d, 0xc8, 0xe3, 0xaf, 0xcf, 0xe3, 0xcb,
- 0x38, 0x99, 0x7e, 0xbc, 0xb3, 0x35, 0x8c, 0xaf, 0x96, 0xd3, 0xf8, 0x8f,
- 0x78, 0xf1, 0xf5, 0xb3, 0x67, 0x3b, 0x5b, 0x9f, 0x7e, 0xb6, 0xd5, 0x09,
- 0x7c, 0x1d, 0x35, 0x47, 0x29, 0xfc, 0x5e, 0xa8, 0x14, 0xcb, 0x8c, 0x17,
- 0xfd, 0x0c, 0xc6, 0x57, 0x29, 0x77, 0xf3, 0x35, 0x4b, 0x2f, 0xba, 0x06,
- 0x31, 0xdc, 0xfa, 0xc2, 0x27, 0xa5, 0xd6, 0x0d, 0x27, 0x3c, 0x13, 0x5d,
- 0x7f, 0xb4, 0xbd, 0x2b, 0xac, 0xec, 0x0a, 0xb6, 0x95, 0x58, 0x28, 0x36,
- 0x7a, 0x95, 0xce, 0xe9, 0x0a, 0xfa, 0x3c, 0x2a, 0xe3, 0x2b, 0x47, 0xab,
- 0x68, 0xc1, 0x15, 0x91, 0x35, 0x6b, 0xee, 0x25, 0x13, 0x79, 0xca, 0x75,
- 0xb3, 0x2f, 0x04, 0x2c, 0x0a, 0x92, 0xcf, 0x22, 0xc9, 0xa7, 0x92, 0xa3,
- 0x18, 0xcf, 0x2c, 0x1e, 0x90, 0xdf, 0x67, 0x6f, 0xf2, 0x60, 0x31, 0x75,
- 0x25, 0x73, 0xa1, 0x85, 0xa5, 0x9e, 0xe0, 0xa6, 0x8b, 0xc2, 0x57, 0x7e,
- 0x91, 0xfb, 0x46, 0x40, 0xb4, 0x00, 0x43, 0x15, 0xd3, 0x62, 0x01, 0xd5,
- 0xbe, 0x83, 0x59, 0xf5, 0x5c, 0x01, 0x89, 0xfe, 0xc4, 0x66, 0x3a, 0xc0,
- 0xef, 0x28, 0x94, 0xa5, 0xf5, 0x3c, 0x3b, 0x0b, 0x49, 0x5e, 0x71, 0x75,
- 0x0b, 0x34, 0x07, 0xb4, 0x32, 0xaf, 0xd8, 0x87, 0x6b, 0x44, 0xaf, 0x4c,
- 0xd1, 0xdd, 0xfe, 0xfc, 0x35, 0x08, 0x62, 0xfb, 0xf3, 0x3f, 0xba, 0xcf,
- 0x76, 0xf4, 0xb3, 0x9d, 0xcf, 0xff, 0x38, 0x18, 0x60, 0x7c, 0x4c, 0x21,
- 0x5d, 0xfb, 0xba, 0xab, 0x19, 0x71, 0xb1, 0x1e, 0x61, 0xf9, 0xcb, 0xe1,
- 0xa5, 0xc8, 0x5e, 0x77, 0xac, 0xe7, 0x70, 0x95, 0x7b, 0x6a, 0x3f, 0x76,
- 0x7c, 0x2b, 0x35, 0xf4, 0x55, 0xc0, 0x18, 0x16, 0x6d, 0x8b, 0xee, 0xcc,
- 0x5c, 0x68, 0xa7, 0x70, 0x40, 0x13, 0x71, 0xf4, 0x27, 0xa6, 0xd4, 0x3f,
- 0xad, 0x45, 0x6a, 0xe6, 0xe5, 0xed, 0x40, 0xc5, 0xb4, 0xc8, 0xc8, 0x56,
- 0x6a, 0x3d, 0x0b, 0xd2, 0x15, 0xb7, 0xcc, 0x01, 0x80, 0x7c, 0x09, 0x06,
- 0xb8, 0xfd, 0x7f, 0x56, 0xa0, 0x16, 0xd9, 0x70, 0xe6, 0x67, 0x08, 0xb5,
- 0x97, 0x94, 0x15, 0x41, 0xe8, 0xd7, 0xcd, 0xfa, 0xf8, 0xfb, 0xef, 0x55,
- 0x9e, 0xa2, 0x5f, 0x74, 0xdc, 0xd7, 0xc4, 0x89, 0x26, 0xc4, 0xdc, 0x66,
- 0xc0, 0x86, 0xd7, 0x6a, 0x0b, 0x7a, 0xe3, 0x5f, 0xea, 0x3c, 0xa5, 0x11,
- 0xda, 0x58, 0x29, 0x21, 0xca, 0x23, 0xc3, 0x92, 0x1e, 0x0a, 0x13, 0x03,
- 0x65, 0xae, 0xc3, 0x9d, 0xe5, 0x63, 0x05, 0x42, 0xc2, 0xe7, 0x9d, 0xc3,
- 0xa6, 0x83, 0xf6, 0xa9, 0x31, 0x53, 0x85, 0x75, 0x23, 0x41, 0xb1, 0x22,
- 0xe4, 0xbc, 0xee, 0xc8, 0x83, 0x57, 0x69, 0x47, 0x8d, 0x94, 0xf2, 0x49,
- 0xc7, 0x27, 0x38, 0xca, 0x6e, 0x60, 0xcb, 0x5e, 0x8b, 0xe4, 0x94, 0xfe,
- 0x92, 0xbc, 0xde, 0xde, 0x6a, 0x7f, 0x82, 0xd5, 0x21, 0x14, 0x5f, 0x7f,
- 0xed, 0x8d, 0xbc, 0x8f, 0x3d, 0x9f, 0x4e, 0xe4, 0x69, 0xad, 0x77, 0x86,
- 0xa2, 0x11, 0xaf, 0x3b, 0x23, 0xbe, 0x5f, 0xf9, 0xff, 0x57, 0x8c, 0x03,
- 0x01, 0x4b, 0xfa, 0x6c, 0xb1, 0x1c, 0xcd, 0xd2, 0xca, 0x80, 0x37, 0x79,
- 0x82, 0x9f, 0xc3, 0xac, 0x92, 0x38, 0xda, 0x40, 0x39, 0x4c, 0x11, 0xfd,
- 0xba, 0x97, 0x59, 0x36, 0x8a, 0xf3, 0xae, 0x1a, 0x02, 0x6d, 0x9c, 0xdd,
- 0xed, 0x9d, 0x67, 0xcf, 0x5f, 0x74, 0x07, 0x2a, 0xa6, 0x81, 0x41, 0x40,
- 0x33, 0x4b, 0x55, 0x97, 0x91, 0x26, 0x62, 0x39, 0x9e, 0x61, 0x59, 0xeb,
- 0x56, 0x83, 0x39, 0xf3, 0x30, 0xee, 0xee, 0xb5, 0xf4, 0xf6, 0x47, 0xee,
- 0xe7, 0x35, 0xba, 0xf8, 0x63, 0x3a, 0x79, 0xed, 0x66, 0xf8, 0x47, 0x9e,
- 0xcb, 0x6b, 0x9d, 0x04, 0xed, 0xab, 0x45, 0x79, 0x17, 0x1b, 0x6b, 0xad,
- 0x5c, 0xad, 0x75, 0x73, 0x6d, 0x13, 0xd7, 0x30, 0x69, 0x78, 0x6b, 0xfa,
- 0x13, 0xb1, 0x3e, 0x42, 0x58, 0xf5, 0x51, 0xce, 0x9b, 0xf7, 0x7d, 0x6a,
- 0xa5, 0xcf, 0xad, 0xf4, 0x3d, 0xbb, 0x8e, 0x66, 0x9c, 0xd2, 0xc0, 0x1b,
- 0xd1, 0xd3, 0x50, 0xf7, 0x29, 0xec, 0x1d, 0x2a, 0x08, 0x64, 0x19, 0x7c,
- 0x21, 0xfb, 0x5f, 0x1d, 0x75, 0xd5, 0xc9, 0x28, 0x9a, 0x5b, 0xaf, 0xcd,
- 0xc0, 0xe6, 0xdc, 0xfe, 0x9a, 0x3a, 0xbe, 0x66, 0x49, 0xe8, 0x31, 0xfb,
- 0xcc, 0xb8, 0x5f, 0xc9, 0x4a, 0xa1, 0xce, 0xf4, 0xce, 0xa1, 0x6b, 0x11,
- 0xd0, 0x33, 0x8c, 0x48, 0x1a, 0x34, 0x03, 0x2c, 0x0e, 0x71, 0x9e, 0xc1,
- 0xda, 0xea, 0x21, 0x4e, 0xfb, 0x6f, 0x9c, 0x45, 0xdb, 0x85, 0x50, 0xeb,
- 0xa3, 0xf4, 0x95, 0x70, 0x13, 0x63, 0x10, 0x1d, 0x57, 0x52, 0x47, 0x28,
- 0x21, 0xe4, 0x1d, 0xb0, 0xc7, 0x8f, 0x92, 0x4a, 0xad, 0x16, 0x11, 0x0b,
- 0x99, 0x7b, 0xbe, 0x72, 0x35, 0x58, 0x3e, 0x8f, 0x00, 0x62, 0x2e, 0x6f,
- 0x69, 0x90, 0x74, 0xa5, 0xf4, 0x24, 0x5e, 0x52, 0xed, 0xc0, 0x59, 0xef,
- 0x03, 0xcf, 0xa3, 0x8a, 0x05, 0xd2, 0x82, 0x4c, 0x74, 0xf4, 0xa0, 0xfa,
- 0x3f, 0xb7, 0xd0, 0xfd, 0x0b, 0x0e, 0xc1, 0x2b, 0xde, 0x06, 0x7c, 0xfd,
- 0x79, 0x57, 0xcc, 0x78, 0x95, 0x62, 0xee, 0x35, 0xef, 0x80, 0x10, 0x68,
- 0x38, 0x9f, 0xec, 0xd2, 0x81, 0x70, 0x88, 0x2c, 0xc6, 0x19, 0x90, 0x28,
- 0x5a, 0x42, 0xb2, 0xd4, 0x94, 0xd3, 0x9f, 0x58, 0xac, 0x54, 0x59, 0xa8,
- 0xa7, 0x8d, 0x27, 0x1c, 0x04, 0xc7, 0xb2, 0x63, 0x97, 0x23, 0x48, 0xf0,
- 0x5e, 0xd7, 0x61, 0x7a, 0xb0, 0x48, 0x9d, 0x80, 0xdd, 0xe5, 0x89, 0x15,
- 0x51, 0x5a, 0x53, 0x10, 0x09, 0x2f, 0xcb, 0x87, 0x13, 0x2b, 0x02, 0xd1,
- 0xc1, 0x07, 0x92, 0x4b, 0x82, 0x6c, 0xe3, 0x88, 0xbc, 0xe1, 0x2c, 0x0d,
- 0xed, 0xf4, 0x35, 0x2f, 0xf7, 0xf6, 0xe0, 0x2a, 0xbd, 0x94, 0xc5, 0x20,
- 0x16, 0x79, 0x95, 0x6c, 0xd2, 0x9f, 0x5c, 0xea, 0x7c, 0x87, 0x65, 0x32,
- 0xfe, 0xe5, 0x19, 0x7c, 0xcf, 0xe1, 0xcd, 0x1f, 0x9c, 0x0d, 0x77, 0x2e,
- 0xf8, 0x97, 0xd4, 0xdd, 0xf8, 0x8a, 0x37, 0xa9, 0xa3, 0x04, 0x99, 0x2b,
- 0xde, 0x60, 0x00, 0x37, 0x19, 0x14, 0x4e, 0x62, 0x3d, 0x8b, 0x35, 0xd2,
- 0x25, 0x07, 0x3e, 0xba, 0x38, 0x2d, 0x75, 0x8e, 0xa9, 0x98, 0xce, 0x52,
- 0x77, 0xaa, 0x16, 0x13, 0x8e, 0x11, 0xc5, 0xbd, 0x9a, 0xdc, 0x6d, 0xf4,
- 0xc2, 0xe8, 0x17, 0x2b, 0x04, 0xe8, 0x2a, 0x95, 0x22, 0x1f, 0x94, 0xbb,
- 0x5f, 0xd7, 0x6a, 0x3d, 0x41, 0x2a, 0x07, 0xb6, 0x39, 0xad, 0xef, 0x60,
- 0xb5, 0xe2, 0x8d, 0x04, 0x2d, 0xa4, 0x45, 0xb9, 0x81, 0x42, 0xee, 0xd3,
- 0x02, 0xaa, 0x3a, 0x0f, 0x7a, 0x2d, 0x0a, 0xd6, 0xdd, 0xb0, 0x0d, 0xd0,
- 0x55, 0x97, 0xeb, 0xef, 0x6c, 0xc2, 0xa7, 0x21, 0xbc, 0xed, 0x70, 0x26,
- 0x10, 0xd7, 0x20, 0xdb, 0x69, 0x5f, 0xee, 0x4b, 0x15, 0x82, 0xfa, 0x6f,
- 0x06, 0xd1, 0x31, 0x62, 0xb7, 0x8a, 0x58, 0xd2, 0x5e, 0xed, 0x4e, 0x35,
- 0x0a, 0x20, 0x72, 0x11, 0xa9, 0x7b, 0x4d, 0x62, 0x22, 0x39, 0xd3, 0xd0,
- 0xc8, 0x08, 0xf8, 0x63, 0x5e, 0xcf, 0x14, 0x89, 0x42, 0x25, 0x90, 0x1e,
- 0x2c, 0xd1, 0xee, 0x39, 0x94, 0xa2, 0xc2, 0x53, 0x31, 0x82, 0x81, 0x1d,
- 0x91, 0x06, 0x8d, 0xb8, 0x42, 0xe1, 0x2c, 0x72, 0x06, 0xac, 0xdc, 0x11,
- 0xbe, 0x24, 0x34, 0x26, 0x62, 0x67, 0xd1, 0xaa, 0xa3, 0xe2, 0x87, 0xa1,
- 0xd6, 0x40, 0x59, 0x3c, 0x77, 0x26, 0x9d, 0x0e, 0x34, 0xc5, 0x69, 0xe2,
- 0xf4, 0x69, 0x45, 0x20, 0xd5, 0xb0, 0x48, 0x05, 0xb4, 0x11, 0x01, 0xc3,
- 0xa3, 0xe9, 0xf1, 0x20, 0x79, 0x5c, 0xf1, 0x2d, 0xfd, 0xc2, 0x97, 0xfc,
- 0x28, 0xa7, 0x9d, 0xe6, 0x50, 0x69, 0x5e, 0x19, 0xa9, 0x37, 0x1e, 0x14,
- 0x62, 0xfa, 0xfa, 0xe2, 0xed, 0x71, 0x64, 0xe9, 0xc3, 0x97, 0x5e, 0x38,
- 0xb4, 0xc8, 0x13, 0x4c, 0x51, 0x8d, 0x21, 0x22, 0x01, 0xe9, 0x53, 0x72,
- 0xb3, 0xc9, 0xda, 0x72, 0x06, 0x52, 0xc4, 0x8b, 0x53, 0x39, 0xa6, 0xc1,
- 0x13, 0xf2, 0x2a, 0xd3, 0x0e, 0x91, 0x46, 0x97, 0x97, 0xa0, 0xdb, 0x8b,
- 0xba, 0x3c, 0x54, 0xfe, 0xa2, 0x8b, 0xf5, 0xc4, 0xc7, 0xc1, 0xf2, 0x75,
- 0x07, 0x2d, 0x27, 0x8f, 0x9f, 0x79, 0xfd, 0x45, 0x65, 0x95, 0xf0, 0xb9,
- 0x35, 0xf5, 0x5a, 0xc2, 0x3d, 0x1b, 0x52, 0xb6, 0xbd, 0x1b, 0xb4, 0xff,
- 0x7a, 0x9f, 0x5a, 0x91, 0x42, 0x4f, 0xb2, 0x27, 0x10, 0xa8, 0xdd, 0x67,
- 0x29, 0xf2, 0x24, 0x1a, 0x0d, 0x3d, 0x7d, 0x72, 0x2f, 0x8c, 0xfd, 0xb8,
- 0x10, 0x17, 0xe1, 0x68, 0x42, 0x02, 0xc6, 0x6d, 0x69, 0x37, 0x53, 0xd1,
- 0xf4, 0xee, 0x32, 0xd8, 0x15, 0xc0, 0x67, 0xb6, 0x07, 0x88, 0xa1, 0xf7,
- 0x08, 0x28, 0xae, 0x01, 0xa7, 0xae, 0x77, 0xb0, 0xa0, 0x1d, 0xb3, 0x93,
- 0x38, 0x25, 0xde, 0x56, 0xb9, 0x69, 0x02, 0xa6, 0xa9, 0x2f, 0xd2, 0x31,
- 0x4a, 0x37, 0xbe, 0xfe, 0x62, 0x92, 0x5d, 0x31, 0xbb, 0xea, 0xd1, 0xcd,
- 0xca, 0x3f, 0x3b, 0x11, 0x1e, 0xdf, 0xd1, 0x7e, 0x65, 0xcc, 0x38, 0x2e,
- 0x22, 0xba, 0xdb, 0xdf, 0x1a, 0x85, 0x13, 0xb5, 0x6c, 0xc9, 0x24, 0x1b,
- 0x6b, 0xf3, 0xae, 0x75, 0xd9, 0x13, 0xea, 0xc2, 0x7d, 0xe1, 0xbb, 0x0b,
- 0x56, 0x28, 0xd6, 0xb6, 0xa5, 0xea, 0xd6, 0x34, 0x2d, 0xe5, 0x0e, 0x77,
- 0x68, 0xd2, 0x30, 0x6c, 0x31, 0x6a, 0xbe, 0x5c, 0x58, 0x53, 0x0d, 0xfa,
- 0xee, 0x7e, 0xd1, 0x95, 0x80, 0xbd, 0xee, 0xab, 0x2e, 0x58, 0x17, 0x33,
- 0x24, 0xc3, 0x12, 0xd5, 0x5b, 0xa9, 0x2b, 0xd7, 0x61, 0x5f, 0x84, 0x06,
- 0xad, 0x89, 0x56, 0x09, 0xb3, 0x60, 0xae, 0x61, 0xda, 0x63, 0x18, 0x21,
- 0x02, 0xeb, 0x00, 0x40, 0x8d, 0x31, 0x2a, 0xc6, 0x8f, 0x19, 0x95, 0xe2,
- 0x5b, 0xd5, 0xdb, 0x16, 0xf2, 0x18, 0x52, 0x51, 0x0b, 0xf6, 0x1c, 0x8a,
- 0x79, 0x73, 0x39, 0x5f, 0x70, 0xe2, 0xd1, 0x18, 0xc5, 0x42, 0xf5, 0x40,
- 0x0d, 0xa2, 0x77, 0x73, 0x41, 0x2c, 0x4b, 0x58, 0x47, 0x0e, 0x1d, 0xbf,
- 0x3d, 0xe7, 0xc0, 0xa6, 0x95, 0x0a, 0x4e, 0x6f, 0x75, 0xc0, 0x62, 0x13,
- 0x11, 0xe3, 0xb5, 0xf6, 0xcb, 0xf7, 0x6b, 0xce, 0x6e, 0x75, 0x35, 0x4e,
- 0x43, 0x1c, 0x70, 0x29, 0xa9, 0xca, 0x85, 0xd8, 0x4d, 0x77, 0xf8, 0xe6,
- 0xf0, 0xfc, 0xfc, 0xf0, 0x9c, 0xd7, 0x7b, 0xaf, 0x8a, 0xda, 0x7d, 0xad,
- 0xf1, 0xbd, 0x1e, 0x54, 0xcb, 0x42, 0x9b, 0x9a, 0xd5, 0x5a, 0x85, 0x1d,
- 0x2a, 0x0a, 0xce, 0x5a, 0x64, 0x0e, 0x5b, 0xc9, 0xc3, 0x16, 0xb3, 0x30,
- 0x6c, 0x8a, 0x08, 0x6c, 0x73, 0xf6, 0xfb, 0x29, 0xdf, 0x2d, 0x02, 0xbe,
- 0x1d, 0x4a, 0x14, 0x6b, 0x91, 0xbd, 0x9a, 0x6b, 0x45, 0x05, 0xdc, 0xd7,
- 0xa6, 0x40, 0x06, 0xc2, 0xe9, 0x40, 0x63, 0x91, 0x12, 0x75, 0xc3, 0x4e,
- 0x9d, 0x4d, 0x02, 0xf3, 0xbd, 0xe4, 0x53, 0xca, 0xfa, 0x12, 0x56, 0xa2,
- 0x28, 0x97, 0x8b, 0x74, 0xe2, 0x4c, 0xbc, 0xf4, 0x39, 0x09, 0x7d, 0x91,
- 0x9c, 0xf3, 0xc2, 0x46, 0x0c, 0xaf, 0xa2, 0x19, 0x20, 0x42, 0x0b, 0x9b,
- 0x24, 0x3e, 0x7b, 0xfb, 0x18, 0x62, 0xd5, 0xa5, 0x18, 0x9f, 0xe2, 0x05,
- 0x83, 0xc5, 0x36, 0x98, 0x51, 0x02, 0xd3, 0x22, 0xf3, 0x0b, 0x73, 0x7a,
- 0x87, 0xbc, 0x81, 0xed, 0x57, 0x33, 0x1f, 0xd1, 0xe7, 0x8b, 0xa4, 0x9d,
- 0x23, 0xdd, 0x20, 0xdf, 0x8d, 0x7e, 0x2c, 0xd2, 0xf1, 0xcf, 0xfe, 0xfa,
- 0x40, 0x20, 0xae, 0x0f, 0xba, 0x13, 0x27, 0x39, 0x4d, 0x5e, 0x17, 0x4a,
- 0x15, 0x60, 0x52, 0xfb, 0x06, 0x1c, 0xc3, 0x76, 0x78, 0x1e, 0xed, 0x7d,
- 0xc5, 0xc0, 0x3c, 0xff, 0xde, 0xee, 0xf2, 0x73, 0x7a, 0x3d, 0xd8, 0xde,
- 0x6a, 0xd2, 0x68, 0x62, 0xe6, 0x6f, 0x45, 0x8b, 0x0f, 0x37, 0x36, 0xb5,
- 0x7a, 0x18, 0xfe, 0x8e, 0xaf, 0x6e, 0xe1, 0x5a, 0xf4, 0xe4, 0x26, 0x7e,
- 0xc8, 0x16, 0xf2, 0x01, 0x0b, 0x37, 0x51, 0xb2, 0xcd, 0xc5, 0x0d, 0x61,
- 0x5b, 0xa3, 0xa3, 0x2f, 0x1a, 0xba, 0xa6, 0x6c, 0xd2, 0x5e, 0xd4, 0x7d,
- 0x9b, 0xfd, 0x42, 0xd2, 0x40, 0xbc, 0xf9, 0x6c, 0xb0, 0x15, 0xad, 0x7f,
- 0x97, 0xce, 0x5f, 0xbe, 0xf8, 0x4b, 0x74, 0xb4, 0xd1, 0xad, 0x44, 0x2b,
- 0x0a, 0x9e, 0xed, 0x28, 0x9e, 0xdf, 0xb8, 0x1d, 0x3b, 0xc5, 0xa9, 0x96,
- 0x18, 0x0c, 0xc3, 0x71, 0xdc, 0x05, 0x09, 0xac, 0x6c, 0x11, 0xa9, 0x32,
- 0x1a, 0xf8, 0x18, 0x7d, 0xeb, 0x90, 0xc4, 0x58, 0xb1, 0xa7, 0xa7, 0x26,
- 0xbc, 0x74, 0x2f, 0x5f, 0x34, 0x9a, 0x78, 0xee, 0xda, 0x78, 0x27, 0x6d,
- 0xfc, 0xca, 0x26, 0x76, 0x06, 0x5b, 0x3b, 0xd1, 0xfa, 0xe9, 0x70, 0x73,
- 0xc7, 0xb5, 0xd0, 0x6c, 0x62, 0x07, 0x4d, 0xf0, 0x43, 0xd5, 0x97, 0x9f,
- 0x73, 0xff, 0x3f, 0x26, 0xf3, 0x9f, 0xa3, 0xf5, 0xef, 0xb7, 0xb7, 0xa9,
- 0x81, 0xbf, 0x44, 0x7b, 0x47, 0xdf, 0x47, 0xcf, 0x07, 0xd4, 0xd8, 0x49,
- 0x7c, 0xab, 0xcd, 0x29, 0xca, 0xd0, 0x10, 0x8d, 0xd0, 0xf7, 0x8d, 0x36,
- 0x5e, 0xd4, 0xda, 0x38, 0x26, 0x65, 0xf0, 0x9e, 0x2e, 0x95, 0xad, 0xc1,
- 0xb3, 0x9d, 0x28, 0x7d, 0xf1, 0xd9, 0x27, 0xd6, 0x90, 0xb6, 0x81, 0xef,
- 0xab, 0x06, 0x4a, 0xc9, 0x43, 0x25, 0x59, 0xe7, 0xf0, 0x9e, 0x98, 0x19,
- 0x38, 0x04, 0x90, 0x2f, 0xaf, 0xe3, 0x7c, 0xa2, 0xe4, 0xc6, 0x85, 0x23,
- 0x68, 0xa7, 0xc4, 0x88, 0xcd, 0xde, 0x08, 0x12, 0x79, 0xe9, 0xe6, 0xdc,
- 0x6d, 0x0c, 0x87, 0x15, 0x52, 0x7b, 0xf4, 0x2f, 0xd1, 0xdb, 0xe1, 0xd1,
- 0x21, 0xcd, 0x68, 0x8b, 0x86, 0xe6, 0xd7, 0x50, 0x06, 0x84, 0xaf, 0xb0,
- 0xb8, 0xb4, 0xaa, 0x6b, 0x8c, 0x8d, 0x82, 0x36, 0x4c, 0xd0, 0x96, 0xd0,
- 0x24, 0x46, 0xdc, 0xcb, 0x8a, 0x02, 0xfd, 0x72, 0xce, 0x59, 0x7f, 0xef,
- 0x8a, 0xf5, 0x06, 0xbd, 0x6b, 0xb9, 0xeb, 0x6f, 0xb2, 0x39, 0x1d, 0x93,
- 0x3c, 0xcb, 0x37, 0xb7, 0x07, 0x5b, 0xdd, 0x8a, 0xb8, 0xf0, 0xcd, 0xc1,
- 0xa1, 0x24, 0x5a, 0xbd, 0x8d, 0xe7, 0xc4, 0x22, 0x19, 0x76, 0xa0, 0xb8,
- 0x61, 0xf7, 0xbb, 0xb8, 0x70, 0xe4, 0xfd, 0xe3, 0x87, 0xf9, 0x3d, 0xed,
- 0xe3, 0xa7, 0x83, 0x6d, 0x06, 0x24, 0x63, 0x55, 0xf7, 0xcd, 0x5b, 0xfa,
- 0x7b, 0xfb, 0x79, 0x37, 0xe2, 0xaf, 0xaa, 0x6a, 0xbb, 0x9d, 0xd7, 0xb5,
- 0xfd, 0xd3, 0xd3, 0x6f, 0x8e, 0x24, 0x12, 0x63, 0x5f, 0x2d, 0xa9, 0x2c,
- 0x5d, 0x39, 0x55, 0x58, 0x98, 0x2b, 0xa9, 0x6c, 0x3e, 0x10, 0x1a, 0x0e,
- 0xb8, 0x9b, 0x24, 0x59, 0x00, 0x41, 0xac, 0xc6, 0x11, 0x4a, 0x65, 0xd1,
- 0x32, 0x32, 0x96, 0xa6, 0xd3, 0x49, 0x15, 0x32, 0x81, 0x71, 0xe6, 0x9d,
- 0xd5, 0x76, 0xf4, 0xe0, 0x12, 0x36, 0x63, 0x5f, 0xd6, 0x4e, 0xeb, 0x73,
- 0x6b, 0x53, 0x66, 0x75, 0x96, 0xe2, 0xd6, 0xf4, 0xa2, 0x2a, 0xbc, 0xdd,
- 0x61, 0x52, 0xf6, 0x65, 0xd0, 0xbb, 0x6a, 0xa8, 0xed, 0xaa, 0xd5, 0xc9,
- 0xd9, 0xcc, 0x16, 0x0a, 0x27, 0x0a, 0x6b, 0xf1, 0xc3, 0x82, 0xcb, 0xef,
- 0xd1, 0x9c, 0x94, 0x35, 0xa3, 0xc0, 0x64, 0x82, 0xf8, 0xb1, 0x93, 0xbd,
- 0xb7, 0x87, 0xaf, 0xbf, 0xdd, 0x3b, 0x7e, 0x77, 0x48, 0xaf, 0x30, 0xa0,
- 0xe6, 0xba, 0x87, 0xbf, 0xc2, 0x18, 0x67, 0xe9, 0x38, 0x9b, 0xb2, 0x67,
- 0xa9, 0xfb, 0x97, 0xee, 0x9a, 0xc4, 0x09, 0x46, 0x1d, 0x7e, 0x6b, 0x5b,
- 0x5e, 0x23, 0xba, 0xe0, 0xbf, 0x76, 0xe4, 0xaf, 0x9d, 0xbf, 0x74, 0x36,
- 0x2a, 0x93, 0x6e, 0xa8, 0xc6, 0x4c, 0x2f, 0x77, 0x12, 0x20, 0x86, 0xda,
- 0x10, 0x08, 0x4e, 0x95, 0x55, 0xe9, 0x98, 0x5b, 0xc6, 0xae, 0x36, 0x7e,
- 0x76, 0x7d, 0xf4, 0x10, 0x2a, 0xde, 0x1d, 0x7e, 0xe9, 0x35, 0x84, 0x8b,
- 0x0e, 0x67, 0xee, 0xa8, 0xb8, 0x01, 0x97, 0x35, 0xb7, 0x61, 0x4d, 0x24,
- 0xf7, 0x0b, 0x8e, 0x43, 0x5a, 0xef, 0xc8, 0x2f, 0xaf, 0x0f, 0xf6, 0x2e,
- 0x0e, 0xf9, 0x05, 0xeb, 0xde, 0xaa, 0xf5, 0x5a, 0x08, 0x29, 0x8f, 0x67,
- 0xbd, 0x23, 0x1f, 0xbe, 0xe6, 0x09, 0x75, 0x04, 0x65, 0x5d, 0xa0, 0xf1,
- 0x6a, 0xe3, 0xca, 0xe6, 0x1a, 0x8d, 0x17, 0xa4, 0x9a, 0x15, 0x16, 0x30,
- 0xb2, 0xde, 0x91, 0xef, 0x3a, 0xce, 0x68, 0xab, 0xc5, 0x28, 0xd5, 0x45,
- 0x39, 0x41, 0x80, 0x69, 0x23, 0xc9, 0x45, 0xea, 0xc1, 0xf8, 0xfd, 0x51,
- 0xff, 0x84, 0x98, 0x99, 0x02, 0xc4, 0x33, 0xb7, 0xf1, 0x9a, 0x18, 0xc7,
- 0x86, 0xa5, 0x2c, 0xdb, 0xde, 0x79, 0xf6, 0x17, 0xac, 0xe7, 0xeb, 0xce,
- 0x26, 0xdd, 0x0d, 0x9d, 0xbf, 0x70, 0xd7, 0x69, 0x19, 0x14, 0x99, 0xd0,
- 0x6e, 0x58, 0xa1, 0x52, 0x8a, 0x92, 0x68, 0x15, 0xde, 0x75, 0x18, 0xc4,
- 0x64, 0x5e, 0x58, 0xd0, 0x3b, 0x09, 0x83, 0xb7, 0x24, 0x68, 0x73, 0xe2,
- 0x63, 0xbf, 0x50, 0x04, 0x6d, 0xee, 0x20, 0x1d, 0xa5, 0xbb, 0xf0, 0xfe,
- 0xe8, 0xc9, 0xbb, 0x32, 0x47, 0x2d, 0x7d, 0xc1, 0x7d, 0xce, 0x1e, 0x2c,
- 0x52, 0x1e, 0x7d, 0x41, 0x28, 0x97, 0x3d, 0x6b, 0xd8, 0x08, 0x46, 0x6a,
- 0xd0, 0x31, 0x6d, 0x04, 0x22, 0x01, 0xb1, 0x96, 0x07, 0xc8, 0x49, 0xe2,
- 0xf5, 0x0f, 0x82, 0x1d, 0xec, 0xce, 0x8e, 0x47, 0x9c, 0xef, 0xe5, 0xc2,
- 0x82, 0x03, 0x55, 0xdc, 0x2d, 0xbd, 0x1d, 0xbf, 0x34, 0x48, 0x79, 0xe7,
- 0x8b, 0x52, 0xd6, 0xb2, 0x70, 0x86, 0x23, 0x38, 0x18, 0xf5, 0xd9, 0xea,
- 0x3e, 0xd5, 0x02, 0xee, 0x31, 0x0d, 0xd1, 0xe3, 0x45, 0x41, 0x26, 0x56,
- 0x33, 0x4f, 0xf2, 0x47, 0x03, 0x1d, 0x5a, 0xfc, 0x4f, 0x98, 0x62, 0x90,
- 0xaf, 0xc1, 0xef, 0x0c, 0x06, 0x03, 0x5f, 0x02, 0x81, 0xb7, 0x45, 0xdd,
- 0x4e, 0x00, 0x83, 0x0e, 0x70, 0xb9, 0xb0, 0xc6, 0xeb, 0x10, 0xe4, 0x21,
- 0x4c, 0x6f, 0x68, 0xd4, 0x8b, 0x9a, 0x24, 0xdc, 0xd1, 0x08, 0x0c, 0x1b,
- 0x5d, 0xed, 0xb6, 0x6b, 0xf8, 0xf0, 0x37, 0x6d, 0x9b, 0xf0, 0xc8, 0xd8,
- 0xc4, 0xe0, 0x58, 0xc4, 0x48, 0x20, 0x77, 0x7c, 0x2a, 0x73, 0x6b, 0xc1,
- 0x14, 0xcc, 0x49, 0xe5, 0x52, 0xd5, 0x11, 0x5b, 0x22, 0x8b, 0xa6, 0x43,
- 0xe9, 0x49, 0xbc, 0x01, 0x33, 0xb9, 0xec, 0x0e, 0xf9, 0x88, 0x52, 0xf8,
- 0x7c, 0x91, 0xb3, 0xaa, 0x87, 0xe2, 0x78, 0x99, 0x05, 0x6d, 0x9b, 0xb8,
- 0xac, 0xed, 0x4c, 0xc4, 0x3e, 0xcb, 0x4a, 0x33, 0xe4, 0x7e, 0x4d, 0xe3,
- 0x50, 0xa4, 0xdd, 0x22, 0x56, 0xf4, 0x26, 0x12, 0xdb, 0xb2, 0x19, 0x3c,
- 0x5d, 0x3a, 0x79, 0x6f, 0x2b, 0xe1, 0x60, 0xaf, 0xbe, 0x64, 0xf9, 0x5a,
- 0xa6, 0x85, 0x71, 0x0f, 0x4d, 0xf9, 0x7c, 0xcc, 0x47, 0x3e, 0xb6, 0x16,
- 0x9d, 0x83, 0xbc, 0xb6, 0x36, 0xfe, 0x56, 0xae, 0xb2, 0x2e, 0x5a, 0x51,
- 0x31, 0x29, 0x43, 0x50, 0x0e, 0xf8, 0x5e, 0x14, 0xdf, 0x71, 0x25, 0x0e,
- 0xa2, 0x41, 0xf1, 0x95, 0x89, 0x59, 0xe6, 0x38, 0x30, 0x2e, 0xba, 0x19,
- 0x5a, 0x09, 0x5b, 0x89, 0x2d, 0x92, 0x22, 0xb5, 0x0a, 0xe5, 0x29, 0x30,
- 0x64, 0x66, 0xc5, 0x4b, 0x51, 0x54, 0x81, 0x61, 0xa3, 0x54, 0x50, 0x37,
- 0xfd, 0x9c, 0x47, 0x4e, 0x2c, 0x7a, 0xa8, 0x74, 0x93, 0x22, 0x2c, 0x90,
- 0x0d, 0x1d, 0x12, 0x4b, 0x61, 0xab, 0x25, 0xf5, 0x8b, 0xad, 0x13, 0xe7,
- 0x92, 0x86, 0xcd, 0x29, 0x41, 0x4d, 0xe5, 0x79, 0xdf, 0xe5, 0x98, 0xba,
- 0xc0, 0xab, 0x3c, 0xbd, 0xba, 0x12, 0x8d, 0x2d, 0xaa, 0x4f, 0xad, 0x9d,
- 0xc8, 0x8e, 0x79, 0x55, 0x92, 0xd9, 0xa2, 0x7c, 0x58, 0xb5, 0x9a, 0x17,
- 0xae, 0x32, 0xa3, 0x9a, 0x5d, 0x2a, 0xc4, 0x6c, 0x6e, 0x48, 0xd9, 0x37,
- 0xc0, 0x3b, 0x49, 0xb2, 0x20, 0xdb, 0xbe, 0xaa, 0x6e, 0xe3, 0xd3, 0x73,
- 0x66, 0x62, 0x85, 0xdb, 0xf2, 0x6e, 0xe1, 0x36, 0x1d, 0xb0, 0x27, 0x3e,
- 0xea, 0x64, 0xc2, 0xc6, 0xe5, 0x19, 0x5f, 0xc5, 0x77, 0x2e, 0xe4, 0x49,
- 0xf0, 0x51, 0x47, 0xb1, 0xd7, 0xb8, 0xd6, 0xa2, 0x8a, 0x89, 0xb7, 0x40,
- 0x25, 0x5e, 0xe5, 0x43, 0xd9, 0x6d, 0xe2, 0x91, 0x77, 0xbc, 0x95, 0xd1,
- 0xc3, 0xa5, 0xe9, 0xe9, 0x77, 0xcc, 0xa4, 0xe6, 0xd3, 0x75, 0xfc, 0x0a,
- 0x93, 0xac, 0xad, 0xca, 0x20, 0x0a, 0x9a, 0x14, 0x5b, 0x49, 0x16, 0xb2,
- 0x78, 0x19, 0x9b, 0xba, 0xaa, 0xad, 0x45, 0x0d, 0x4a, 0x07, 0x54, 0x7a,
- 0xa0, 0x9a, 0xf0, 0x82, 0xa4, 0xa5, 0x52, 0x55, 0xe1, 0x02, 0xe4, 0xbc,
- 0xcb, 0xd7, 0x66, 0xd9, 0x71, 0x9b, 0xd4, 0x41, 0xee, 0xc4, 0x48, 0x89,
- 0x00, 0x34, 0xc0, 0x02, 0x9d, 0xf3, 0xda, 0xef, 0x4d, 0xe3, 0x02, 0x25,
- 0xd1, 0x11, 0x10, 0x80, 0x2d, 0x03, 0x51, 0xc3, 0x9a, 0x56, 0xe3, 0xa9,
- 0x8d, 0xe3, 0xe7, 0x02, 0x34, 0x84, 0xd6, 0x00, 0x9c, 0xc6, 0xcd, 0x10,
- 0x95, 0x20, 0x3a, 0x77, 0x6c, 0xcc, 0xfd, 0xf1, 0x24, 0xc2, 0x51, 0xe5,
- 0x8c, 0x3e, 0x75, 0x64, 0xcf, 0xce, 0x4f, 0xbf, 0x3a, 0x3f, 0x1c, 0x0e,
- 0xa3, 0xb7, 0x87, 0x17, 0xa2, 0xf2, 0x5f, 0x48, 0x34, 0x9c, 0xe0, 0xca,
- 0xc2, 0xd7, 0x60, 0x29, 0xfe, 0x16, 0x70, 0x62, 0xf6, 0x04, 0xe0, 0x7d,
- 0x66, 0xec, 0x47, 0x83, 0x28, 0x07, 0x75, 0x7e, 0xaa, 0x41, 0x74, 0xd7,
- 0xb0, 0xf6, 0x23, 0xa4, 0x09, 0xee, 0x48, 0x67, 0x3c, 0xf7, 0x26, 0xd5,
- 0xa0, 0xe0, 0xfa, 0xb5, 0x71, 0x2e, 0x6f, 0x42, 0xd7, 0x9a, 0xd6, 0x98,
- 0xde, 0xc7, 0xd1, 0x85, 0x95, 0x1f, 0xfe, 0x98, 0xd4, 0x60, 0xa5, 0x8f,
- 0x8f, 0xa3, 0xef, 0xa9, 0xcd, 0x09, 0x97, 0xe4, 0x96, 0x22, 0x73, 0x43,
- 0x14, 0x97, 0xf3, 0x35, 0x28, 0x50, 0xfb, 0x30, 0xf8, 0x8f, 0xa8, 0x3c,
- 0x7f, 0xa2, 0x84, 0x29, 0xd2, 0xbe, 0x05, 0x90, 0x48, 0x43, 0xea, 0x5c,
- 0xcf, 0xfb, 0x28, 0x29, 0x5e, 0x46, 0xd1, 0x71, 0x72, 0x59, 0x42, 0x20,
- 0xe1, 0xee, 0xa8, 0xb9, 0x2d, 0x06, 0xd8, 0xdb, 0x7e, 0xcb, 0x1f, 0x6d,
- 0x45, 0xcf, 0x3e, 0xfb, 0x64, 0xeb, 0x33, 0xf9, 0xd5, 0xfe, 0x7d, 0xf9,
- 0x7c, 0x4b, 0x81, 0x2a, 0xe9, 0xaf, 0xe7, 0xbb, 0xcf, 0xb7, 0x77, 0x19,
- 0x40, 0x67, 0x6b, 0x77, 0x8b, 0xfe, 0xff, 0xb9, 0x7e, 0xc2, 0x28, 0x41,
- 0x2f, 0x77, 0x3e, 0xfb, 0x14, 0xb1, 0x30, 0x4c, 0x1f, 0x53, 0xea, 0xa4,
- 0x5f, 0x66, 0x7d, 0x00, 0x11, 0x40, 0x08, 0xfa, 0xb8, 0x6a, 0x95, 0x64,
- 0xe7, 0x3a, 0x97, 0x8f, 0xe3, 0x89, 0xbb, 0x82, 0xb3, 0x66, 0x61, 0x95,
- 0x6c, 0xf4, 0xb0, 0x28, 0xa6, 0x9b, 0x86, 0xbe, 0x2d, 0x75, 0x09, 0x01,
- 0xe0, 0x51, 0x79, 0x87, 0x44, 0x46, 0x49, 0x06, 0x0a, 0x5f, 0xfe, 0x35,
- 0x5d, 0x5b, 0xd2, 0xdc, 0x1a, 0x20, 0x40, 0x74, 0xab, 0xf4, 0x3d, 0xa9,
- 0xca, 0xce, 0x55, 0x97, 0x82, 0x62, 0x8b, 0xb5, 0xd2, 0x88, 0xbf, 0xb6,
- 0x3f, 0x31, 0x60, 0xf1, 0x5b, 0x4a, 0x0d, 0x51, 0xb3, 0x37, 0xab, 0x11,
- 0xd9, 0xd6, 0x57, 0x85, 0x78, 0xd6, 0xfc, 0xf6, 0xfb, 0x95, 0x0a, 0x6a,
- 0x29, 0x3a, 0x4c, 0x0c, 0xa9, 0x63, 0xd8, 0x32, 0xe5, 0x46, 0x73, 0xef,
- 0x16, 0x61, 0x7b, 0x1f, 0xd2, 0x9c, 0x9f, 0x11, 0x28, 0xd8, 0xed, 0x5c,
- 0x3f, 0xd8, 0x9c, 0x54, 0xe2, 0xda, 0x5c, 0x41, 0x44, 0x43, 0x6e, 0x72,
- 0x75, 0xd4, 0xf0, 0xaa, 0x23, 0xd9, 0xbe, 0xbc, 0xa1, 0xe2, 0x67, 0x81,
- 0x14, 0x17, 0x11, 0x14, 0x6e, 0x33, 0xdc, 0xf6, 0xf2, 0xbc, 0x51, 0x76,
- 0xa3, 0x2b, 0xa6, 0xc6, 0xa0, 0x3f, 0xed, 0x03, 0xe7, 0xc9, 0x1d, 0xba,
- 0x47, 0xa7, 0xe6, 0xa3, 0xdc, 0x5d, 0x21, 0x92, 0x75, 0x17, 0x35, 0xde,
- 0x76, 0x24, 0xfd, 0x73, 0x08, 0x24, 0x0f, 0x4b, 0x13, 0xbb, 0x8b, 0x08,
- 0x55, 0x68, 0x14, 0x6b, 0x97, 0xe1, 0xa0, 0x18, 0x3e, 0x75, 0xc3, 0x58,
- 0x58, 0xff, 0x23, 0x17, 0xb4, 0x85, 0x7b, 0x4d, 0xb1, 0xb4, 0x63, 0xa1,
- 0xfc, 0x69, 0x98, 0x1f, 0x55, 0x41, 0xd1, 0x0e, 0x61, 0x4a, 0xd7, 0xa4,
- 0x5a, 0x2a, 0xdd, 0xb4, 0x74, 0x73, 0x04, 0xf5, 0x8b, 0xfe, 0xb0, 0xb6,
- 0x36, 0x3c, 0x3b, 0x3c, 0x3c, 0x88, 0x8e, 0x8f, 0xde, 0x1e, 0x5d, 0x04,
- 0x02, 0xb9, 0xbb, 0x48, 0xcc, 0xe0, 0x5a, 0x68, 0x14, 0x5b, 0x6d, 0x39,
- 0x3c, 0x2e, 0x9e, 0xf4, 0x67, 0x57, 0xf9, 0x2c, 0xd1, 0x7c, 0x86, 0x69,
- 0xfd, 0x3d, 0xa8, 0xde, 0x80, 0x5b, 0x40, 0x69, 0x04, 0x2f, 0xd0, 0x15,
- 0x24, 0xdc, 0x8c, 0xb9, 0x06, 0x8f, 0x5c, 0x12, 0x3f, 0x68, 0x94, 0x46,
- 0x55, 0x72, 0x52, 0x78, 0x2f, 0x57, 0x7c, 0x47, 0x43, 0x5b, 0x6b, 0xa3,
- 0xe2, 0xb5, 0x4d, 0xa6, 0x5a, 0x3e, 0xd1, 0x59, 0xe8, 0x10, 0xb4, 0x77,
- 0x97, 0x20, 0xb3, 0x73, 0x96, 0x0a, 0xc8, 0x70, 0x18, 0x52, 0xec, 0x0a,
- 0x5e, 0x5c, 0x64, 0xc2, 0xc7, 0xc3, 0x1e, 0xc3, 0x5a, 0x44, 0x16, 0x4f,
- 0x6b, 0x7d, 0x85, 0x55, 0x6e, 0x9e, 0x6d, 0xb9, 0xc4, 0x81, 0x05, 0x78,
- 0x8e, 0x8a, 0xfa, 0xdc, 0xd9, 0x76, 0x44, 0xf2, 0xc8, 0x92, 0xa5, 0xfa,
- 0x7c, 0x39, 0x6f, 0x5c, 0x77, 0x3f, 0xc8, 0xbb, 0x34, 0xff, 0x4f, 0xb6,
- 0x70, 0xbd, 0x5d, 0xc6, 0x79, 0x9f, 0x24, 0xaf, 0x87, 0xbe, 0x19, 0x57,
- 0x85, 0x22, 0x34, 0xdc, 0x58, 0x4c, 0x3f, 0x89, 0x2f, 0xcf, 0x50, 0x93,
- 0x16, 0x7d, 0xf6, 0x47, 0x06, 0xbf, 0xe4, 0x54, 0x0f, 0x00, 0x4f, 0xbd,
- 0x17, 0xa1, 0xe6, 0xae, 0x0b, 0x80, 0x16, 0x59, 0xc7, 0x43, 0xbf, 0xd9,
- 0x2e, 0x7a, 0x1e, 0x85, 0x5a, 0x8f, 0x99, 0x7a, 0x88, 0x52, 0x9e, 0xa6,
- 0xce, 0xa5, 0x29, 0x5a, 0xcf, 0xa2, 0xed, 0xcf, 0x78, 0x1e, 0x1f, 0x36,
- 0x1f, 0xae, 0x42, 0x60, 0xa1, 0x6c, 0xa2, 0x2e, 0x64, 0x7e, 0x37, 0x25,
- 0x3d, 0x01, 0x78, 0xda, 0xb2, 0xba, 0x16, 0x13, 0x8b, 0x90, 0x3d, 0xd6,
- 0x4f, 0xd4, 0x9f, 0x0e, 0xcb, 0x14, 0x1c, 0xdc, 0x22, 0x21, 0xa1, 0x62,
- 0x9d, 0xac, 0x0b, 0xdb, 0x5a, 0x25, 0x64, 0xaf, 0x9b, 0xfb, 0xd4, 0x2f,
- 0x2c, 0x03, 0x5b, 0x47, 0x88, 0xd6, 0xee, 0xd2, 0x09, 0xa4, 0x6a, 0x33,
- 0x02, 0x80, 0xfe, 0x84, 0xf8, 0x24, 0x54, 0x1a, 0xfe, 0x4b, 0x38, 0x3e,
- 0xdd, 0xc8, 0x54, 0x80, 0xe1, 0x65, 0xcd, 0x60, 0x5c, 0x58, 0x87, 0xfc,
- 0xc0, 0x15, 0x34, 0xaa, 0xae, 0x01, 0x66, 0xcd, 0x1d, 0xdf, 0x0b, 0x87,
- 0xef, 0x97, 0xe5, 0xd4, 0xec, 0x0a, 0x1e, 0x22, 0xbf, 0x3a, 0x67, 0xce,
- 0x4a, 0x0f, 0xa6, 0xbd, 0xbd, 0x45, 0xf2, 0xeb, 0x34, 0xab, 0xd7, 0xd2,
- 0x6a, 0x2a, 0xa5, 0x98, 0x56, 0x1f, 0xab, 0xb3, 0xbd, 0xf5, 0xcd, 0xea,
- 0x55, 0x07, 0xbe, 0xe9, 0xa3, 0x2f, 0xef, 0x3c, 0x7f, 0x64, 0xd3, 0x4e,
- 0x73, 0x57, 0x1c, 0xc5, 0xc3, 0x65, 0x78, 0x07, 0x4c, 0x63, 0xdb, 0x88,
- 0xf0, 0x93, 0xab, 0x18, 0x35, 0xa5, 0x1f, 0x19, 0xbd, 0xa5, 0x69, 0xd4,
- 0x86, 0xf2, 0x56, 0x83, 0xb2, 0xe5, 0xcb, 0x82, 0x2d, 0x64, 0x0b, 0x40,
- 0xe6, 0x78, 0x35, 0xd6, 0xe5, 0x26, 0x4a, 0xb2, 0x72, 0xf0, 0xb6, 0x70,
- 0xce, 0x5e, 0x95, 0x49, 0x18, 0xf5, 0xe4, 0xc9, 0xd5, 0x52, 0xb2, 0x81,
- 0x33, 0x51, 0xfb, 0x19, 0x31, 0x50, 0xcf, 0x2b, 0xf1, 0x66, 0x0e, 0x1f,
- 0x12, 0x7a, 0x02, 0xe3, 0x1d, 0xc7, 0x26, 0xb2, 0x8a, 0xc8, 0x51, 0xbf,
- 0x18, 0xd8, 0x3e, 0x3b, 0xce, 0x50, 0x0c, 0xfd, 0xce, 0x7c, 0x09, 0x61,
- 0x91, 0x1e, 0x29, 0x60, 0x33, 0x40, 0xaa, 0x9d, 0x10, 0x8a, 0x63, 0xf6,
- 0x9c, 0xe0, 0xc5, 0x4e, 0xb1, 0x52, 0x3c, 0x04, 0x68, 0xa0, 0xa7, 0x54,
- 0x8b, 0x96, 0x5c, 0x57, 0xcc, 0xf1, 0x0b, 0xcb, 0xa5, 0x14, 0x18, 0x53,
- 0xb6, 0xfb, 0xef, 0x9f, 0x9e, 0xbc, 0x39, 0xfa, 0xca, 0x21, 0x34, 0x08,
- 0x13, 0x5f, 0x96, 0x19, 0xdb, 0x35, 0xc5, 0x68, 0x28, 0x96, 0xe4, 0xd0,
- 0xeb, 0xad, 0x45, 0x12, 0x34, 0xf6, 0x96, 0xd8, 0xd3, 0xfb, 0xf0, 0x03,
- 0x30, 0x90, 0xf9, 0x33, 0xb6, 0x95, 0x4b, 0x1a, 0x74, 0xb1, 0xe1, 0x2d,
- 0x0f, 0x35, 0x00, 0x19, 0x49, 0xd2, 0x88, 0xf3, 0x72, 0xb9, 0x70, 0x21,
- 0x84, 0x41, 0x91, 0x05, 0x05, 0x38, 0xe4, 0x5b, 0x81, 0xeb, 0xe4, 0x2e,
- 0x17, 0xc2, 0x9a, 0x24, 0xf4, 0xb1, 0x6a, 0xd8, 0x95, 0x3b, 0x80, 0x2d,
- 0x0b, 0x9a, 0x37, 0xae, 0x17, 0x40, 0x23, 0x2e, 0x67, 0xca, 0xd8, 0x4e,
- 0x61, 0xb8, 0xbc, 0xb9, 0x72, 0xb8, 0xc2, 0x92, 0x4c, 0xd4, 0xea, 0xe3,
- 0xcc, 0x44, 0x33, 0xe3, 0x79, 0x4b, 0xdd, 0xca, 0x1f, 0x5c, 0x05, 0x4f,
- 0x8d, 0xfd, 0xf5, 0xae, 0xa2, 0x22, 0xb2, 0xa4, 0x07, 0x17, 0x9f, 0x24,
- 0x83, 0x45, 0x1c, 0x61, 0xd1, 0x13, 0x97, 0x27, 0x3e, 0x79, 0xcd, 0x1e,
- 0x9a, 0x5d, 0x86, 0xf9, 0x9c, 0x09, 0xc8, 0x4b, 0x58, 0x3e, 0x48, 0xb9,
- 0xa4, 0x87, 0xe3, 0x3c, 0xba, 0x0c, 0x72, 0xcb, 0x24, 0x4e, 0xd0, 0x88,
- 0x4e, 0xcc, 0xc5, 0x6c, 0x6b, 0xe9, 0x7e, 0xd4, 0xed, 0xeb, 0x77, 0x9a,
- 0x77, 0xe1, 0xb2, 0x83, 0xed, 0xa1, 0x92, 0xa6, 0x81, 0xc0, 0x41, 0xa9,
- 0x18, 0x87, 0xae, 0x03, 0x0b, 0xa5, 0x8f, 0x95, 0xf2, 0xe3, 0x17, 0xfc,
- 0x77, 0x78, 0x8a, 0x6c, 0x16, 0x2e, 0x55, 0x3d, 0x99, 0x8f, 0xa7, 0x99,
- 0x52, 0x35, 0x67, 0x78, 0x62, 0xa5, 0xaa, 0x53, 0x67, 0xdf, 0x5f, 0xb6,
- 0x64, 0x63, 0x07, 0xb0, 0x9d, 0x49, 0xdc, 0x61, 0xe3, 0xf0, 0x77, 0x36,
- 0x41, 0x7e, 0x5b, 0xbe, 0xd0, 0x98, 0x7c, 0xcb, 0xf1, 0xa7, 0x86, 0x04,
- 0x0c, 0x9a, 0x86, 0xfa, 0x93, 0xd8, 0x16, 0xc5, 0x03, 0xf8, 0x83, 0x75,
- 0x6e, 0x8f, 0xd6, 0x96, 0x9e, 0xe8, 0x29, 0xce, 0xaf, 0x14, 0x39, 0x47,
- 0x9d, 0x6a, 0x50, 0x12, 0x1d, 0x44, 0xb7, 0xb3, 0x51, 0xb2, 0x50, 0xe2,
- 0x62, 0x66, 0x20, 0x3e, 0x2d, 0x25, 0xbb, 0x4f, 0x93, 0xa0, 0xc4, 0x3a,
- 0xe9, 0x08, 0x31, 0xe0, 0x38, 0x1f, 0xb9, 0xb8, 0x94, 0xd8, 0xdf, 0x65,
- 0x06, 0x1d, 0xec, 0x4d, 0xb5, 0x7a, 0x99, 0x05, 0xaf, 0xb1, 0x3d, 0x0f,
- 0x9a, 0x70, 0xa2, 0x36, 0x14, 0xe9, 0x0a, 0xb2, 0x04, 0xc3, 0x46, 0x21,
- 0xf7, 0x27, 0x29, 0x7c, 0x13, 0xf2, 0xfd, 0x6b, 0xcd, 0x95, 0xa6, 0xf3,
- 0xac, 0xd9, 0xef, 0x0a, 0xe9, 0xf3, 0xd9, 0x96, 0x5a, 0xe2, 0x4a, 0x0d,
- 0x56, 0x2d, 0xa2, 0xbd, 0xf3, 0x43, 0x92, 0x6c, 0xaf, 0xe6, 0xc8, 0x6e,
- 0xe6, 0x11, 0x96, 0xba, 0x3f, 0x10, 0xac, 0x79, 0x15, 0xf4, 0x7c, 0x70,
- 0x87, 0x77, 0xc1, 0x9b, 0x4c, 0x4c, 0x1a, 0x1f, 0x40, 0x87, 0xcc, 0x45,
- 0xa1, 0x31, 0xc9, 0x8d, 0x0d, 0x70, 0x0e, 0x5c, 0x87, 0xd3, 0x94, 0x85,
- 0xa4, 0xd8, 0x5b, 0x42, 0x5d, 0x65, 0x86, 0x28, 0x7e, 0xd6, 0x60, 0xeb,
- 0x21, 0xcc, 0x9c, 0xad, 0x35, 0x4e, 0xb5, 0x4f, 0x44, 0xf8, 0xbb, 0xa1,
- 0x65, 0x69, 0x5f, 0x15, 0x0f, 0xa8, 0x27, 0xa7, 0x5e, 0xbb, 0xf5, 0xe8,
- 0xef, 0xb8, 0x67, 0x58, 0x16, 0xa9, 0xcb, 0x05, 0x89, 0x8b, 0xaf, 0x17,
- 0x43, 0xf6, 0x24, 0x10, 0x7e, 0x25, 0x2b, 0x8f, 0x23, 0xac, 0xc5, 0x46,
- 0xcd, 0xc2, 0x4f, 0x5c, 0x24, 0x56, 0x02, 0x07, 0xea, 0xc0, 0x44, 0xcf,
- 0x2a, 0x53, 0x05, 0x07, 0x0b, 0x8f, 0x18, 0x31, 0xe2, 0x46, 0x04, 0x80,
- 0x90, 0x3f, 0xb5, 0x9a, 0x79, 0x3f, 0x72, 0xb3, 0xf5, 0x63, 0x70, 0x5f,
- 0xf2, 0x47, 0xaf, 0x1d, 0x80, 0x0e, 0x8f, 0x62, 0xc0, 0x1d, 0x81, 0xa5,
- 0xc2, 0x7d, 0xca, 0xbf, 0xe0, 0x63, 0x44, 0xbd, 0x19, 0x06, 0x59, 0x05,
- 0x04, 0x43, 0x51, 0xc9, 0xc3, 0x81, 0x88, 0x8f, 0x0f, 0x1c, 0x7a, 0x14,
- 0x8a, 0xc6, 0x41, 0x81, 0x1a, 0x36, 0xe5, 0x70, 0x2a, 0xaf, 0x1d, 0xf8,
- 0x22, 0xa9, 0x14, 0xb4, 0x71, 0x89, 0x42, 0x9d, 0x7e, 0x87, 0xd6, 0xa2,
- 0x3b, 0x9d, 0x7a, 0x86, 0x6f, 0x8f, 0xf1, 0xae, 0x22, 0xa7, 0xce, 0x0b,
- 0x4c, 0xca, 0xbb, 0x18, 0xf1, 0xf8, 0xa1, 0x92, 0xe0, 0xc0, 0x15, 0x23,
- 0x38, 0xff, 0xc7, 0x81, 0x98, 0x20, 0x49, 0x04, 0xe1, 0x02, 0xb7, 0x69,
- 0x61, 0x7e, 0x48, 0xa2, 0xed, 0xb1, 0xc6, 0x46, 0x48, 0x46, 0x75, 0x52,
- 0x8e, 0x83, 0xa5, 0x4c, 0xc6, 0xd7, 0x99, 0xc4, 0xd4, 0xd2, 0xa2, 0x05,
- 0xc9, 0x97, 0x9d, 0xe8, 0x3f, 0x94, 0x06, 0xbe, 0xf1, 0x39, 0x7b, 0x4c,
- 0x08, 0x03, 0xc1, 0x86, 0x1a, 0x78, 0x82, 0x38, 0xfc, 0xfe, 0xe2, 0x7c,
- 0x2f, 0xfa, 0xfa, 0x70, 0xef, 0xe0, 0xf0, 0x7c, 0x58, 0xbb, 0xf4, 0x35,
- 0x0a, 0x44, 0x24, 0x34, 0xb6, 0x07, 0x43, 0x34, 0xb6, 0xe4, 0x75, 0x8d,
- 0xda, 0x37, 0xae, 0x17, 0x3f, 0xe0, 0x20, 0xd1, 0xf9, 0x60, 0x85, 0x48,
- 0x1c, 0x07, 0x1c, 0x9a, 0xc6, 0xe1, 0xcf, 0x59, 0xd0, 0x86, 0x56, 0x6d,
- 0x75, 0xd6, 0xf3, 0x30, 0x5f, 0xc6, 0xe3, 0x12, 0xf9, 0xcb, 0x64, 0x92,
- 0x59, 0x2e, 0x60, 0x75, 0xe7, 0xbe, 0xf6, 0x99, 0xd7, 0x01, 0xdb, 0xd2,
- 0x4b, 0x46, 0x0d, 0x88, 0x9d, 0xef, 0xfb, 0xd4, 0x6f, 0x9f, 0x16, 0xbf,
- 0xcf, 0xb8, 0x51, 0x0f, 0x49, 0xd1, 0xa9, 0x59, 0x03, 0xab, 0xdd, 0xaf,
- 0x09, 0x4a, 0x7e, 0xe3, 0x24, 0x7d, 0xdd, 0xda, 0x12, 0x9f, 0xae, 0x29,
- 0x63, 0xd7, 0xd7, 0x35, 0x08, 0x5c, 0xaa, 0x81, 0x90, 0xac, 0x27, 0xa8,
- 0x91, 0xdc, 0xa2, 0x71, 0x4a, 0x5e, 0xcd, 0xd4, 0xd8, 0x30, 0x0c, 0x44,
- 0xa7, 0x00, 0x59, 0x27, 0x2d, 0xf5, 0x52, 0x87, 0x5d, 0x44, 0x21, 0x0d,
- 0x79, 0x58, 0xfa, 0x50, 0x78, 0x3f, 0xc0, 0x17, 0xa2, 0x51, 0xfa, 0x45,
- 0xc5, 0x55, 0xaa, 0x76, 0x51, 0x05, 0x79, 0xd4, 0xe6, 0x78, 0x0c, 0x8e,
- 0xe6, 0x2d, 0xb8, 0x9f, 0xbb, 0x34, 0xe8, 0x66, 0x7d, 0x57, 0x22, 0xc2,
- 0x58, 0xa9, 0x87, 0xa9, 0x93, 0x63, 0xce, 0x64, 0xe3, 0x4d, 0x5e, 0x0d,
- 0x32, 0x81, 0x42, 0x62, 0x46, 0x99, 0x09, 0x44, 0x8f, 0xbb, 0xe7, 0x92,
- 0xe8, 0xeb, 0xac, 0xc0, 0x5d, 0xd0, 0x7c, 0x9c, 0x2f, 0xf9, 0xb6, 0xe5,
- 0xc7, 0x1b, 0xea, 0xea, 0x72, 0xc0, 0x6d, 0x40, 0x3a, 0x04, 0xfb, 0x3a,
- 0xdb, 0xbb, 0xf8, 0x1a, 0x8e, 0x56, 0x90, 0xf0, 0x41, 0xc6, 0x0a, 0x8f,
- 0xb9, 0xd7, 0x9a, 0x09, 0x59, 0x4e, 0x81, 0x13, 0xf9, 0xd7, 0x40, 0xa8,
- 0x4c, 0x9e, 0x84, 0x23, 0x0f, 0x26, 0x4a, 0x60, 0xda, 0xa4, 0x6a, 0x78,
- 0xac, 0x16, 0x3f, 0x41, 0xe8, 0xbb, 0xcb, 0xb6, 0x73, 0xb1, 0x97, 0x5d,
- 0x49, 0x49, 0xef, 0xca, 0x9c, 0x40, 0xf4, 0x2c, 0xcc, 0xb1, 0xc6, 0x13,
- 0xe2, 0x01, 0xe2, 0x8b, 0x4b, 0x4d, 0xb4, 0xed, 0xd1, 0x9e, 0xb6, 0x63,
- 0x3c, 0x05, 0x47, 0xfa, 0x8b, 0xd9, 0xc3, 0xa0, 0x09, 0x80, 0x11, 0x7d,
- 0xb9, 0x2c, 0xab, 0x6c, 0xa5, 0x86, 0x4a, 0xe8, 0x24, 0xcb, 0x3c, 0xcb,
- 0xca, 0x2a, 0xae, 0x1f, 0x56, 0x47, 0x4e, 0xb4, 0x80, 0x79, 0xc9, 0x58,
- 0xb8, 0xa9, 0xb9, 0xca, 0xdd, 0xa1, 0x60, 0x18, 0x8f, 0x8a, 0x6c, 0xba,
- 0x2c, 0x83, 0xe8, 0xeb, 0x5f, 0x37, 0xe6, 0x60, 0xd0, 0xeb, 0x47, 0x83,
- 0xc4, 0x08, 0x8a, 0xc3, 0x87, 0xf3, 0x98, 0x34, 0x7d, 0x2e, 0xe0, 0xc9,
- 0x7e, 0xc7, 0x3c, 0x9b, 0x57, 0xeb, 0x73, 0x20, 0xd0, 0x7b, 0x63, 0x6d,
- 0x6d, 0x68, 0x9b, 0xcd, 0x10, 0x72, 0xcd, 0x4d, 0x07, 0x60, 0x04, 0x70,
- 0xea, 0xc4, 0x6f, 0x30, 0xa6, 0x5f, 0x0c, 0xd8, 0x27, 0x91, 0x3d, 0x05,
- 0x0b, 0x97, 0x3d, 0x4e, 0x8b, 0xea, 0xa4, 0xf0, 0x95, 0xf3, 0x5c, 0x58,
- 0x76, 0xd9, 0x45, 0x66, 0x68, 0xaf, 0xea, 0xb9, 0xf3, 0x04, 0x51, 0x49,
- 0x50, 0x6f, 0xc5, 0x7d, 0xe4, 0x4b, 0x40, 0x51, 0xa6, 0x7c, 0x68, 0x2e,
- 0x0f, 0x72, 0xf3, 0x3f, 0x37, 0xa3, 0x9e, 0xe0, 0xb5, 0xc4, 0x45, 0x0b,
- 0xca, 0xc8, 0xff, 0x8b, 0x10, 0x2c, 0x85, 0xdc, 0xe3, 0x36, 0x6b, 0x50,
- 0x75, 0x03, 0x52, 0xa1, 0xae, 0xf3, 0xb1, 0xa7, 0x7e, 0x92, 0x0e, 0x92,
- 0x3b, 0xd6, 0x5f, 0x4c, 0x47, 0x78, 0x23, 0xc5, 0xed, 0xa5, 0xf2, 0xbc,
- 0x43, 0x40, 0x01, 0xf0, 0xc5, 0xa5, 0xb3, 0xea, 0x71, 0x69, 0x23, 0x29,
- 0xf4, 0x23, 0x62, 0x3d, 0x70, 0xee, 0xcd, 0x83, 0xba, 0x16, 0x55, 0xf4,
- 0xf6, 0x22, 0x2a, 0x32, 0xf9, 0x69, 0x29, 0x47, 0x1a, 0xe3, 0xa5, 0xe4,
- 0xaf, 0x6a, 0x94, 0x16, 0x69, 0xc8, 0x45, 0xfc, 0xb1, 0xe0, 0x53, 0x09,
- 0xab, 0x33, 0xc7, 0xa4, 0x8d, 0xd1, 0x84, 0x00, 0xf6, 0x5b, 0x02, 0xc1,
- 0x4b, 0xab, 0xf8, 0xb9, 0xa2, 0x96, 0x48, 0xd9, 0xe6, 0xba, 0x38, 0xa6,
- 0xc8, 0xd8, 0x8d, 0x6a, 0x59, 0x1c, 0x6e, 0xa3, 0xfc, 0xe8, 0xf5, 0xea,
- 0x47, 0x5a, 0x3c, 0x7c, 0x74, 0x77, 0x71, 0x5a, 0x86, 0x12, 0x81, 0xcd,
- 0x88, 0x34, 0x3c, 0x05, 0x54, 0x1f, 0x3d, 0x54, 0x42, 0x53, 0x7c, 0xdc,
- 0xe6, 0x15, 0x27, 0x79, 0xa8, 0x45, 0x4a, 0x41, 0x45, 0x60, 0xfe, 0xba,
- 0x4e, 0x35, 0xba, 0x54, 0x16, 0xdd, 0xcc, 0x81, 0x6c, 0xcf, 0x80, 0x79,
- 0x6f, 0x2d, 0x0a, 0xbd, 0xab, 0x2e, 0x00, 0x62, 0xd0, 0x3c, 0x2d, 0x03,
- 0x07, 0x1f, 0xa7, 0x37, 0xc8, 0x51, 0x98, 0x4f, 0x8e, 0x55, 0x71, 0x31,
- 0xcf, 0x1f, 0xd4, 0x75, 0xd8, 0x1f, 0x47, 0xb1, 0xce, 0x23, 0xbf, 0x1e,
- 0x85, 0x5c, 0x25, 0x3b, 0xdb, 0x50, 0x49, 0x25, 0x70, 0x03, 0x68, 0x6c,
- 0x56, 0x70, 0xc9, 0xe3, 0xb4, 0x54, 0xd7, 0x1d, 0x95, 0x0e, 0x01, 0xf6,
- 0x67, 0xa9, 0xf6, 0xea, 0x67, 0x16, 0x89, 0x30, 0xf0, 0x38, 0x55, 0x6a,
- 0x73, 0x48, 0xfa, 0x76, 0x51, 0xe6, 0xcb, 0x71, 0x05, 0x79, 0x09, 0xc4,
- 0x50, 0xf1, 0xcf, 0xbb, 0xe5, 0xcd, 0x42, 0xad, 0x7e, 0x3d, 0xae, 0xe4,
- 0xb2, 0xe8, 0x93, 0x61, 0x17, 0x1b, 0x52, 0xc1, 0x51, 0xeb, 0xd7, 0x42,
- 0x3b, 0xa1, 0xf1, 0x3b, 0x02, 0xeb, 0x9f, 0xb9, 0x54, 0xfa, 0x0a, 0x80,
- 0x95, 0xe4, 0x25, 0x04, 0xb7, 0xae, 0x8a, 0x60, 0x10, 0x39, 0xf2, 0x48,
- 0xa1, 0xb4, 0x20, 0xd0, 0xb0, 0xb1, 0x72, 0xcd, 0xc1, 0x5d, 0x51, 0x77,
- 0x7d, 0x5f, 0xb2, 0x91, 0xfa, 0xdb, 0xa4, 0x85, 0x34, 0x78, 0x78, 0x57,
- 0x75, 0xa0, 0xf0, 0x90, 0x59, 0xb5, 0x58, 0xd5, 0x64, 0x4a, 0x53, 0x76,
- 0x92, 0xa1, 0x9c, 0xc4, 0x99, 0xae, 0xdf, 0xc0, 0x15, 0x51, 0xb4, 0x62,
- 0x95, 0x35, 0x41, 0xa2, 0x79, 0x2b, 0x9e, 0x09, 0x18, 0x49, 0x83, 0x88,
- 0x0e, 0xcc, 0x9a, 0x0a, 0x66, 0x83, 0x05, 0x63, 0x9d, 0xc6, 0x36, 0xe9,
- 0xe8, 0xcc, 0x75, 0x41, 0x43, 0xe0, 0x19, 0x77, 0xa7, 0xc9, 0x56, 0x37,
- 0x28, 0x9b, 0xb0, 0x2e, 0xa1, 0xff, 0x19, 0xf4, 0x1e, 0xb6, 0x1c, 0x62,
- 0x82, 0x62, 0xb7, 0xe0, 0x08, 0xb7, 0x8d, 0x96, 0xa1, 0x50, 0x13, 0xbf,
- 0x76, 0x30, 0xdb, 0x2f, 0x77, 0x06, 0xdb, 0x9f, 0x7c, 0x36, 0xd8, 0x1a,
- 0x6c, 0x6f, 0x31, 0x67, 0xe1, 0xa1, 0x04, 0x83, 0x93, 0x75, 0x69, 0xe9,
- 0xaa, 0xf2, 0x5e, 0xb3, 0xcf, 0x93, 0xc3, 0x8b, 0xef, 0x4e, 0xcf, 0xbf,
- 0x89, 0x8e, 0x4e, 0x2e, 0x0e, 0xcf, 0xdf, 0xec, 0xed, 0x7f, 0x28, 0x80,
- 0x6e, 0x68, 0xb0, 0x0e, 0x4a, 0xe5, 0x25, 0x7e, 0x61, 0x9a, 0x56, 0x41,
- 0xbf, 0x66, 0x49, 0x79, 0xbd, 0xb5, 0xbb, 0xfd, 0x28, 0xf0, 0x66, 0x8b,
- 0x61, 0xd0, 0xbf, 0x6f, 0x93, 0xda, 0xe6, 0x49, 0xad, 0x6e, 0xc5, 0xc1,
- 0x79, 0x0d, 0x25, 0xc0, 0xca, 0x05, 0xe7, 0x82, 0xc1, 0x03, 0x41, 0x3f,
- 0x1d, 0xe5, 0xb1, 0x99, 0xa4, 0x46, 0x82, 0xfe, 0x27, 0x69, 0xb5, 0x0a,
- 0xf3, 0xa2, 0x41, 0xe8, 0xca, 0x6e, 0x39, 0x46, 0x79, 0x99, 0x4e, 0x4b,
- 0x35, 0xa4, 0x08, 0x98, 0xdf, 0x04, 0xc2, 0x5d, 0x6b, 0x59, 0x55, 0xd4,
- 0x8d, 0x92, 0xba, 0xaa, 0x13, 0x97, 0x2d, 0xe2, 0xd0, 0x07, 0x2a, 0x39,
- 0x37, 0x18, 0x6b, 0xb5, 0xb2, 0x60, 0x18, 0x43, 0x5b, 0x43, 0xd2, 0x2b,
- 0x2c, 0xb6, 0x19, 0x13, 0xab, 0x18, 0x45, 0xf7, 0x75, 0x20, 0x38, 0x0d,
- 0xc1, 0x68, 0xa4, 0x2b, 0x88, 0x52, 0x86, 0xde, 0x5a, 0xc5, 0x81, 0x94,
- 0xdb, 0x09, 0x19, 0x14, 0x22, 0xf9, 0x19, 0xca, 0x34, 0xb7, 0x5e, 0x54,
- 0xf0, 0xc1, 0x22, 0xa9, 0x69, 0x10, 0xbe, 0x2e, 0x42, 0x36, 0x42, 0x34,
- 0x27, 0x79, 0x7c, 0xc7, 0x15, 0x52, 0x44, 0x6c, 0xf0, 0xc1, 0x8c, 0x41,
- 0x59, 0x06, 0x16, 0x99, 0xfc, 0x9a, 0x47, 0x67, 0x87, 0x6f, 0xfb, 0x56,
- 0xa9, 0x8d, 0x7e, 0x17, 0x33, 0x94, 0xe1, 0x47, 0x4a, 0x86, 0xcf, 0x22,
- 0x99, 0x5b, 0x40, 0x0d, 0x78, 0xa2, 0x46, 0x00, 0x85, 0x13, 0xe0, 0x43,
- 0x23, 0x16, 0x09, 0xe1, 0xb5, 0x7c, 0x18, 0x2d, 0xf0, 0xd2, 0x21, 0xdf,
- 0x55, 0xa0, 0xdc, 0x78, 0x3f, 0x35, 0x6a, 0x39, 0x5a, 0x77, 0x91, 0xba,
- 0xdc, 0x1f, 0xc2, 0x51, 0x11, 0x2d, 0xe0, 0x02, 0x04, 0x32, 0xcb, 0xb8,
- 0x3e, 0xfb, 0x66, 0x7f, 0xf8, 0xd1, 0xf6, 0x8e, 0x0e, 0x67, 0x63, 0xe0,
- 0x71, 0x19, 0x1b, 0xc9, 0xf8, 0x60, 0xd7, 0xe1, 0x18, 0x2d, 0xb5, 0x1a,
- 0x07, 0x1c, 0x9b, 0xb1, 0xee, 0xd2, 0x83, 0x36, 0x2a, 0xf9, 0x41, 0x6b,
- 0x52, 0x1f, 0xd3, 0x84, 0x4b, 0x57, 0x49, 0x8d, 0x9d, 0x21, 0x28, 0x17,
- 0xa0, 0x98, 0xfd, 0xa5, 0x8b, 0xf7, 0x8b, 0xe7, 0xf6, 0x91, 0xb4, 0xac,
- 0xad, 0x21, 0x77, 0xdc, 0xc7, 0xb4, 0xd4, 0xf7, 0x9c, 0xd7, 0xdb, 0x7f,
- 0xcb, 0xf0, 0x7f, 0x7a, 0xa9, 0x1b, 0x3a, 0x8f, 0xef, 0x06, 0x07, 0x40,
- 0x43, 0xd8, 0x27, 0x56, 0xf7, 0x63, 0xee, 0x61, 0xc9, 0xf9, 0xe9, 0x53,
- 0xda, 0x28, 0x3a, 0x59, 0x82, 0xd7, 0xc0, 0x4c, 0x41, 0x2a, 0xc5, 0xbb,
- 0x47, 0x0e, 0x72, 0xc6, 0x7f, 0x5f, 0x48, 0x30, 0xe9, 0xc9, 0x20, 0xfa,
- 0x3a, 0x99, 0x73, 0xc2, 0x3c, 0x87, 0xdd, 0x59, 0x06, 0x16, 0x82, 0x03,
- 0xb9, 0xac, 0x0f, 0x8a, 0xb0, 0x1c, 0x27, 0xb1, 0xa2, 0xe1, 0x11, 0xaf,
- 0x2b, 0x44, 0xb7, 0xb5, 0x12, 0x05, 0x31, 0x87, 0xe8, 0xe1, 0x26, 0x52,
- 0x03, 0x2d, 0xaa, 0xf0, 0xa5, 0x85, 0x36, 0xb0, 0x5e, 0xc5, 0xb4, 0x03,
- 0xc0, 0x32, 0x9a, 0xd3, 0x63, 0x0e, 0x2f, 0x93, 0xda, 0x93, 0xaf, 0x01,
- 0x1a, 0xca, 0x76, 0x42, 0xd1, 0xb5, 0x3c, 0x53, 0x99, 0xe4, 0xd7, 0x6c,
- 0xf4, 0x28, 0xe8, 0xba, 0x89, 0xe7, 0xe3, 0x87, 0xc1, 0x84, 0xa4, 0x58,
- 0x36, 0x9b, 0x0d, 0x96, 0x37, 0x9b, 0xc1, 0x31, 0x65, 0x96, 0x7f, 0x2d,
- 0xd8, 0x00, 0x55, 0x93, 0xb7, 0x95, 0x8f, 0x6b, 0xc2, 0x77, 0xc5, 0x95,
- 0x33, 0xc1, 0x24, 0x61, 0x59, 0xfe, 0x72, 0x3c, 0x57, 0xc2, 0x5c, 0x1d,
- 0x46, 0x0e, 0xaf, 0x92, 0x5b, 0x18, 0x2c, 0x92, 0xd9, 0xae, 0xcb, 0x43,
- 0x36, 0xfe, 0xa0, 0x18, 0xd7, 0x4e, 0xa5, 0x08, 0xcc, 0xb3, 0xf3, 0xe4,
- 0x6a, 0xaa, 0x02, 0x45, 0xa8, 0xb4, 0x78, 0xfc, 0xd1, 0x66, 0x1a, 0x88,
- 0xa8, 0x3a, 0x5a, 0x87, 0x1d, 0xb2, 0x3a, 0xd1, 0x61, 0xa9, 0x71, 0xb5,
- 0xf2, 0x30, 0x8a, 0x96, 0xfa, 0x46, 0x14, 0x31, 0x04, 0xd0, 0x99, 0x2c,
- 0x06, 0xab, 0x71, 0xc7, 0xc2, 0x91, 0xd4, 0xf1, 0x44, 0xdf, 0x0a, 0x85,
- 0x00, 0xac, 0x56, 0x43, 0xa3, 0xe1, 0xf6, 0xb4, 0x32, 0x6d, 0x72, 0x56,
- 0xe8, 0xeb, 0xdb, 0x67, 0x6c, 0xeb, 0xbe, 0x38, 0x1e, 0xf6, 0x84, 0x1e,
- 0xe6, 0xc9, 0x5d, 0x40, 0x59, 0x82, 0xaf, 0xac, 0xe4, 0xc7, 0x96, 0x1f,
- 0x09, 0x5f, 0xb3, 0x12, 0xb1, 0xb9, 0x8c, 0x46, 0x38, 0x83, 0x77, 0x92,
- 0xf9, 0x2c, 0x08, 0x5b, 0x08, 0x8d, 0x27, 0xe6, 0xe1, 0x58, 0x45, 0x0c,
- 0x11, 0x88, 0x1c, 0xca, 0x0b, 0x63, 0xe8, 0x91, 0xc0, 0xf4, 0xac, 0x17,
- 0xf5, 0x77, 0x00, 0x9e, 0xb3, 0x5d, 0x5d, 0xc8, 0x98, 0x4b, 0x55, 0xc4,
- 0x63, 0x14, 0xde, 0x59, 0x73, 0x75, 0xb2, 0x8d, 0x25, 0xac, 0x2b, 0x59,
- 0xdf, 0xd2, 0xfb, 0xfc, 0x63, 0x47, 0x27, 0x75, 0xbb, 0x8d, 0xd0, 0x6d,
- 0x96, 0x47, 0x6f, 0x93, 0xe9, 0x43, 0x53, 0x6c, 0xd8, 0x79, 0x74, 0x67,
- 0x91, 0x24, 0x71, 0x97, 0x3a, 0x6c, 0x50, 0x81, 0x87, 0x86, 0x21, 0x94,
- 0x4f, 0x36, 0xed, 0x95, 0x0d, 0x80, 0x96, 0x51, 0x4d, 0xdc, 0xf3, 0xe8,
- 0x76, 0xc7, 0x3c, 0xcd, 0xfc, 0x8d, 0x2d, 0x9e, 0x98, 0xea, 0x3d, 0x23,
- 0x69, 0x24, 0x30, 0x72, 0xb8, 0x5b, 0x40, 0xb9, 0x9c, 0xfa, 0x44, 0x74,
- 0x4b, 0x9c, 0xa4, 0xc2, 0x69, 0x58, 0x83, 0x2a, 0x1d, 0x06, 0x11, 0x6f,
- 0x3f, 0xa0, 0x4b, 0x49, 0x16, 0xf6, 0x41, 0x4e, 0x08, 0x01, 0xc7, 0x99,
- 0x26, 0x09, 0xb6, 0x58, 0xce, 0xb4, 0x86, 0x10, 0x18, 0x71, 0x0f, 0xd7,
- 0x6d, 0x19, 0x11, 0x27, 0x4e, 0x25, 0xe4, 0x6f, 0x0a, 0x61, 0x1a, 0x02,
- 0x96, 0x1a, 0x4b, 0xfd, 0x42, 0xb1, 0x05, 0x4c, 0x70, 0xf5, 0x40, 0x2f,
- 0xd7, 0xa9, 0xd8, 0x30, 0x10, 0xa1, 0x8a, 0x05, 0x23, 0x56, 0xd1, 0x8d,
- 0xe8, 0xf4, 0x2d, 0xb9, 0xd1, 0x32, 0x43, 0x08, 0xac, 0x13, 0x18, 0x34,
- 0x9b, 0x6e, 0x08, 0xa9, 0x33, 0xea, 0x86, 0x4c, 0xb2, 0xff, 0x39, 0x2f,
- 0x42, 0xd1, 0xf5, 0xab, 0xa6, 0x70, 0xb7, 0xd5, 0x25, 0x50, 0xff, 0x08,
- 0xad, 0xb7, 0x34, 0x75, 0x96, 0x5b, 0xc1, 0xcb, 0x6e, 0x72, 0xcf, 0x22,
- 0x52, 0xd7, 0xfa, 0x95, 0xef, 0x05, 0x0d, 0x00, 0xeb, 0x7b, 0x76, 0x74,
- 0x22, 0x45, 0x1c, 0xdd, 0x59, 0x4a, 0x58, 0xf2, 0x96, 0xe7, 0x44, 0x10,
- 0x16, 0x0b, 0x3f, 0x7b, 0x2d, 0xc5, 0xe6, 0xc4, 0x04, 0xc7, 0x87, 0x24,
- 0xb5, 0xee, 0xce, 0x97, 0x32, 0x82, 0x2e, 0xdf, 0x94, 0x45, 0x31, 0xed,
- 0xd6, 0x6a, 0x93, 0xb9, 0x1d, 0xad, 0x5d, 0x49, 0xce, 0x9a, 0x35, 0x9e,
- 0x84, 0xc5, 0x56, 0xb5, 0x95, 0x0a, 0xa7, 0xec, 0xd5, 0x32, 0x26, 0x43,
- 0x33, 0xfa, 0x47, 0xd1, 0x60, 0x93, 0x3a, 0x2c, 0x36, 0xed, 0xc5, 0xc5,
- 0xcd, 0xb8, 0xa0, 0x3b, 0x92, 0xd3, 0x83, 0x7f, 0x74, 0xb8, 0xc4, 0x3c,
- 0xe4, 0xc9, 0xcf, 0x51, 0x7f, 0x3c, 0x95, 0x19, 0xa2, 0x0a, 0xe2, 0x8f,
- 0x44, 0x37, 0xfc, 0xc4, 0xcf, 0x6b, 0x9c, 0x2a, 0x37, 0x7c, 0xf7, 0x96,
- 0x51, 0xc1, 0x51, 0x69, 0xee, 0xe2, 0x7c, 0xef, 0x64, 0xf8, 0x46, 0x2c,
- 0xad, 0x17, 0x59, 0x50, 0xc0, 0x4e, 0xcd, 0xd4, 0xe6, 0x8e, 0x74, 0xa0,
- 0x63, 0x77, 0x02, 0x55, 0x6d, 0x91, 0xda, 0x5a, 0xdd, 0xae, 0x57, 0x87,
- 0xe4, 0x95, 0xd2, 0x78, 0x60, 0xd8, 0x74, 0xa2, 0xd6, 0x8b, 0x0d, 0x77,
- 0xbb, 0x16, 0x61, 0xe1, 0x0d, 0x0f, 0x77, 0x27, 0x5a, 0x8a, 0x7b, 0x88,
- 0xcf, 0xcc, 0xbe, 0x0d, 0xc6, 0x3e, 0x15, 0x86, 0xbe, 0x12, 0x65, 0x72,
- 0x9f, 0xf4, 0x8f, 0xbe, 0x82, 0xbc, 0x07, 0x65, 0x46, 0x9c, 0x75, 0x4e,
- 0x18, 0xba, 0x02, 0xc3, 0xb9, 0xc6, 0xc3, 0x6c, 0x42, 0x6b, 0x7a, 0xfd,
- 0x4f, 0xdb, 0x1b, 0xed, 0xcd, 0x5f, 0xfc, 0xda, 0xe6, 0xdb, 0xc7, 0x6e,
- 0x02, 0xbf, 0x4f, 0x56, 0x59, 0xff, 0xd3, 0xce, 0xc6, 0xa3, 0x33, 0x0a,
- 0xd3, 0xed, 0x7c, 0x9f, 0xf4, 0x06, 0x0f, 0x36, 0x7a, 0x6d, 0xe5, 0x4a,
- 0xf5, 0x22, 0x76, 0x01, 0x1f, 0x97, 0x1e, 0xf0, 0xae, 0x82, 0xff, 0xc0,
- 0x01, 0xc1, 0x4e, 0xfc, 0xf3, 0x7e, 0x1c, 0xcd, 0x5b, 0x38, 0xfa, 0x1f,
- 0x87, 0x21, 0x50, 0x20, 0x69, 0xe3, 0x21, 0xcf, 0xe3, 0xc4, 0xf3, 0x22,
- 0x1b, 0xa0, 0xef, 0x9d, 0x47, 0xfa, 0xf6, 0xb3, 0x0b, 0x74, 0x5d, 0x76,
- 0x8a, 0x72, 0x54, 0x15, 0x4b, 0xe3, 0x9b, 0xa4, 0x5d, 0x68, 0x3f, 0x6b,
- 0xbe, 0x32, 0xe2, 0xea, 0xfe, 0x2e, 0x8e, 0xde, 0x1e, 0x72, 0xd9, 0x9b,
- 0x83, 0x23, 0x46, 0x32, 0x1b, 0x2a, 0x98, 0xa0, 0xa9, 0xb5, 0x0e, 0x6a,
- 0x35, 0x84, 0x6a, 0x17, 0x6f, 0xa1, 0x0b, 0x5e, 0x72, 0xe7, 0xdf, 0xed,
- 0x04, 0x77, 0xad, 0xd1, 0xb5, 0x85, 0xe5, 0xf0, 0x1d, 0x5d, 0xf6, 0xdf,
- 0x66, 0x13, 0xa8, 0x5e, 0x7d, 0x01, 0x57, 0xa6, 0xb7, 0xe8, 0xc3, 0x77,
- 0xf3, 0x59, 0xe5, 0xe3, 0x30, 0x53, 0x50, 0xb5, 0xea, 0xb5, 0x55, 0x70,
- 0xf6, 0xbf, 0x6c, 0xf6, 0xfb, 0x28, 0x4b, 0x2a, 0x41, 0x42, 0xea, 0x2a,
- 0xa8, 0xa0, 0x3d, 0xd8, 0xd9, 0xa7, 0xf5, 0x49, 0xa7, 0x0f, 0xe2, 0xd6,
- 0x8e, 0x7d, 0x30, 0x92, 0x4f, 0x0b, 0xbc, 0xe2, 0xd4, 0x24, 0x6f, 0x31,
- 0x12, 0x9b, 0xd0, 0x5a, 0x88, 0x4e, 0x09, 0xe1, 0x3c, 0xb9, 0xf3, 0xd1,
- 0x34, 0x5a, 0x08, 0x2e, 0x5b, 0x3c, 0x60, 0x92, 0x77, 0x15, 0x47, 0x7d,
- 0xab, 0xb7, 0xee, 0x17, 0x79, 0xa7, 0x52, 0xc0, 0x41, 0x7a, 0x08, 0x09,
- 0x50, 0x3f, 0xd1, 0x7a, 0x07, 0xa7, 0x79, 0xc0, 0xc0, 0x74, 0xd8, 0x56,
- 0xbf, 0x24, 0x40, 0xae, 0x0c, 0x80, 0x36, 0xab, 0xe3, 0xf4, 0x26, 0xcc,
- 0x35, 0xbe, 0xdb, 0x06, 0x6c, 0x39, 0x37, 0x57, 0x0b, 0x71, 0x9d, 0x45,
- 0xb5, 0xe2, 0x5a, 0x12, 0x59, 0xe6, 0xb0, 0x64, 0x87, 0x77, 0xfb, 0x5d,
- 0xe0, 0x43, 0xa7, 0xf3, 0x96, 0xc9, 0xf4, 0x7f, 0xfd, 0x6c, 0x1a, 0x8e,
- 0xbc, 0xa8, 0x73, 0xc9, 0x10, 0x0b, 0xec, 0x15, 0xe9, 0xc8, 0x00, 0x04,
- 0x75, 0x44, 0x68, 0x8b, 0x84, 0x7a, 0x66, 0x6b, 0xa6, 0x9c, 0x88, 0xa2,
- 0xe6, 0xe2, 0x2c, 0x9d, 0xc9, 0x55, 0x2c, 0x5d, 0xcc, 0x47, 0x97, 0x8b,
- 0x09, 0x5c, 0xfc, 0x12, 0xdc, 0xf8, 0xdf, 0xe2, 0xf9, 0x32, 0xce, 0x1f,
- 0xa2, 0xed, 0x9d, 0x5e, 0xb4, 0xb3, 0xb5, 0xbd, 0xd3, 0x32, 0x87, 0xce,
- 0x7f, 0xe3, 0x10, 0x9b, 0x1d, 0x7c, 0xdd, 0xf9, 0xd0, 0x59, 0xf8, 0x40,
- 0x79, 0xdc, 0xac, 0x9a, 0x52, 0x4a, 0xbc, 0x87, 0xbd, 0x7d, 0x52, 0x88,
- 0x95, 0xcb, 0xb2, 0x01, 0x1a, 0x0d, 0x82, 0x85, 0x18, 0x9e, 0xac, 0x8c,
- 0x92, 0x2b, 0xba, 0xc1, 0x4f, 0xac, 0x69, 0x95, 0x2c, 0xc4, 0x51, 0x38,
- 0xeb, 0x5b, 0x9c, 0xa3, 0x46, 0x54, 0x75, 0x8f, 0xd2, 0xd2, 0xb6, 0x85,
- 0x03, 0x35, 0x78, 0x6f, 0x88, 0xde, 0x0f, 0x8e, 0xf6, 0x2f, 0x0c, 0x3b,
- 0xef, 0x92, 0xaf, 0xd3, 0xfc, 0xe1, 0xc3, 0xca, 0xed, 0x3c, 0xfa, 0xcc,
- 0x64, 0xf7, 0x3a, 0x21, 0xb1, 0x6c, 0x3e, 0x5a, 0x5e, 0xed, 0xfe, 0x2d,
- 0xce, 0xaf, 0x82, 0x1a, 0xed, 0x2b, 0x9e, 0x9f, 0x20, 0x53, 0x69, 0x97,
- 0x18, 0xd4, 0xf6, 0xcb, 0xed, 0x67, 0x12, 0x06, 0x9f, 0x72, 0x6d, 0x2e,
- 0xf0, 0x87, 0xee, 0xac, 0x2b, 0xd0, 0x0d, 0x88, 0xbf, 0x77, 0x78, 0x0d,
- 0xf3, 0x49, 0x57, 0x74, 0xae, 0x38, 0x7c, 0x76, 0xa2, 0xcf, 0x4a, 0x4a,
- 0x73, 0x17, 0x88, 0x21, 0xf4, 0x38, 0xe7, 0xff, 0x2d, 0x17, 0xdd, 0x41,
- 0xe5, 0x84, 0x3f, 0x31, 0x57, 0xee, 0xc2, 0x55, 0x17, 0xda, 0x17, 0x9e,
- 0xac, 0xec, 0x74, 0x94, 0x27, 0xf1, 0x8d, 0xaf, 0xd7, 0xe6, 0x71, 0x1d,
- 0xcc, 0x80, 0x7e, 0xfe, 0x66, 0x5f, 0xe0, 0x30, 0x2d, 0x11, 0x07, 0x4b,
- 0x1d, 0x39, 0x73, 0xc7, 0x06, 0x8f, 0xf2, 0x89, 0xfe, 0x39, 0x52, 0x7e,
- 0x77, 0x32, 0xfa, 0x80, 0x87, 0xe8, 0xdc, 0x09, 0xf0, 0xd8, 0x5e, 0x15,
- 0x9c, 0x9f, 0x05, 0xff, 0x92, 0x49, 0xcd, 0xea, 0xb3, 0xad, 0x4b, 0xb1,
- 0x31, 0x31, 0x60, 0xf3, 0xd0, 0x5c, 0x6d, 0x58, 0xb5, 0x18, 0xd0, 0xb8,
- 0xb9, 0x90, 0xd7, 0xc1, 0xde, 0x59, 0xa0, 0x3c, 0x41, 0x39, 0xf1, 0x86,
- 0x22, 0x7e, 0x8e, 0x05, 0x67, 0x14, 0x78, 0x14, 0x7b, 0xd2, 0x43, 0xcf,
- 0x8b, 0xbc, 0x25, 0xf8, 0xe4, 0xe4, 0x36, 0x96, 0x70, 0xeb, 0x4c, 0xaf,
- 0x13, 0xd8, 0x34, 0x80, 0xee, 0x3d, 0x9d, 0xc4, 0x70, 0xab, 0xe9, 0x25,
- 0x04, 0x79, 0x1c, 0x6d, 0xa5, 0x1a, 0x5b, 0x43, 0x7b, 0x73, 0x1f, 0x69,
- 0x4a, 0x80, 0xe6, 0x3e, 0xc8, 0xef, 0xf2, 0x18, 0xa7, 0xbb, 0x3e, 0xd8,
- 0x04, 0x84, 0x3f, 0xd3, 0xe0, 0xe3, 0xe2, 0x86, 0x58, 0xa9, 0xb8, 0x83,
- 0xa9, 0xf7, 0x74, 0x9c, 0x98, 0x61, 0x75, 0x92, 0x4a, 0x58, 0x06, 0x9b,
- 0x34, 0x80, 0xaa, 0x53, 0xd9, 0x30, 0xb9, 0x81, 0x58, 0x83, 0x99, 0x16,
- 0x89, 0x20, 0xe0, 0x45, 0x17, 0x77, 0x99, 0x48, 0x9d, 0x0e, 0x75, 0x40,
- 0x02, 0x1b, 0x8b, 0x65, 0x2a, 0x20, 0x1a, 0xb4, 0x79, 0xe0, 0x07, 0x41,
- 0xa5, 0xb0, 0x8e, 0xb3, 0xa6, 0x1c, 0x38, 0x2f, 0xda, 0xf0, 0xe0, 0x9b,
- 0x88, 0x13, 0xb5, 0xb9, 0x8f, 0x7d, 0x46, 0xd8, 0x67, 0x87, 0xf8, 0x0c,
- 0xda, 0xc4, 0x57, 0x4b, 0x3e, 0xef, 0xfb, 0xd7, 0xf1, 0x82, 0x85, 0xe2,
- 0xed, 0x2d, 0x56, 0xc1, 0xbf, 0xb3, 0x94, 0x2f, 0x3e, 0xa8, 0x56, 0x3e,
- 0xb3, 0xe8, 0x04, 0xda, 0xf9, 0x84, 0xeb, 0x5f, 0xb2, 0x50, 0x5c, 0x35,
- 0xfc, 0xd1, 0xed, 0x59, 0x6c, 0xce, 0x98, 0x61, 0x4d, 0x0b, 0x22, 0x8d,
- 0xbc, 0x98, 0xdc, 0x6c, 0x8e, 0xe9, 0x9f, 0x67, 0x5b, 0x9b, 0x00, 0x65,
- 0x2c, 0x61, 0x27, 0x63, 0x9a, 0xdc, 0xd9, 0x79, 0xf1, 0xa2, 0x17, 0x75,
- 0xd8, 0x72, 0x65, 0x1d, 0xf0, 0x91, 0xa0, 0x93, 0xd5, 0x69, 0x2b, 0x99,
- 0xb6, 0x99, 0x5f, 0x8e, 0xf9, 0x7f, 0xfc, 0x9a, 0x55, 0x3e, 0xba, 0xd0,
- 0x1c, 0x0e, 0xac, 0xc3, 0x3c, 0x44, 0x5d, 0x31, 0xb2, 0xba, 0xa3, 0x7d,
- 0x30, 0xdb, 0x04, 0xbb, 0x21, 0x16, 0x49, 0xb6, 0x30, 0x5f, 0xe3, 0xec,
- 0x41, 0xaf, 0x1b, 0xd0, 0x58, 0x54, 0xc9, 0xdf, 0xbc, 0x96, 0xe0, 0x2a,
- 0xcd, 0xae, 0x2f, 0x96, 0xa3, 0xbe, 0xa6, 0x99, 0x8a, 0xae, 0x91, 0xd2,
- 0xc9, 0x9d, 0x71, 0x7d, 0x77, 0x35, 0x01, 0x37, 0x38, 0xf2, 0x97, 0x51,
- 0x47, 0x69, 0x8b, 0x7f, 0x0c, 0xe0, 0x2a, 0x4c, 0xc6, 0x3c, 0x8d, 0xec,
- 0xb5, 0xfe, 0xf1, 0xd7, 0xbf, 0x52, 0xb3, 0x7f, 0xe5, 0x56, 0x5e, 0xff,
- 0xa9, 0x28, 0xaf, 0x83, 0x67, 0x3a, 0x4a, 0xf0, 0x47, 0xde, 0x51, 0x8a,
- 0xe0, 0x27, 0x40, 0x96, 0x22, 0x1b, 0xea, 0xed, 0xb1, 0x72, 0xe4, 0x5e,
- 0x30, 0xbf, 0x14, 0x79, 0x6a, 0x62, 0x78, 0x73, 0xb1, 0x07, 0x5f, 0xb2,
- 0x13, 0x33, 0xe1, 0xfc, 0x66, 0xa2, 0x42, 0x60, 0xd2, 0x6d, 0x98, 0x88,
- 0x71, 0x78, 0xf2, 0xed, 0xd1, 0xf9, 0xe9, 0xc9, 0xdb, 0xc3, 0x93, 0x8b,
- 0xe8, 0xdb, 0xbd, 0xf3, 0xa3, 0xbd, 0x2f, 0x8f, 0x35, 0x8d, 0x9a, 0xa7,
- 0xc0, 0x21, 0x23, 0x22, 0x7a, 0xd7, 0x10, 0x45, 0x83, 0xb4, 0x96, 0x56,
- 0x28, 0xfd, 0x5a, 0xe5, 0xbb, 0xf7, 0x8a, 0x51, 0x0d, 0x1b, 0xeb, 0x7b,
- 0x94, 0x63, 0xe8, 0xb1, 0xd7, 0xef, 0xbd, 0x55, 0x66, 0x60, 0xdb, 0xe5,
- 0x43, 0x90, 0x98, 0xcb, 0xd1, 0x2c, 0x4c, 0xa5, 0xc6, 0x9f, 0x7c, 0x15,
- 0x1d, 0x05, 0xfb, 0x1f, 0x44, 0x5f, 0x49, 0x6e, 0xb7, 0xc6, 0x55, 0xb9,
- 0x57, 0x35, 0xcf, 0x48, 0x6d, 0x39, 0xf2, 0x9f, 0xfb, 0x65, 0xef, 0xf8,
- 0xd8, 0x77, 0xb9, 0x27, 0x82, 0x6d, 0xdf, 0xa7, 0x48, 0x5b, 0x45, 0xb9,
- 0x6b, 0xb6, 0x53, 0x0a, 0xc0, 0x8f, 0xa4, 0x04, 0x5d, 0x5b, 0x19, 0xdc,
- 0xab, 0xcc, 0x03, 0x6f, 0xcf, 0x1f, 0x42, 0x8c, 0x6d, 0xee, 0x94, 0xb6,
- 0x65, 0x5d, 0x80, 0x19, 0xd8, 0xf7, 0x48, 0x07, 0x29, 0x2d, 0x6e, 0x7a,
- 0x51, 0xf7, 0x4f, 0x5d, 0x49, 0xd5, 0x4a, 0x00, 0x40, 0x8b, 0xd6, 0x0b,
- 0x5f, 0x31, 0x32, 0x3a, 0x39, 0xf5, 0x63, 0x3a, 0x42, 0x6a, 0x00, 0x13,
- 0x15, 0x22, 0x41, 0x73, 0x07, 0x6e, 0x94, 0x68, 0x8a, 0x73, 0x1f, 0x9e,
- 0x61, 0x89, 0x58, 0xc7, 0x30, 0xad, 0x65, 0xef, 0x2d, 0x2d, 0x12, 0x87,
- 0x0a, 0x09, 0xcc, 0x61, 0xd2, 0xd1, 0xe2, 0x71, 0x80, 0x27, 0x2c, 0xa6,
- 0x1b, 0xd6, 0x76, 0x71, 0xed, 0x6b, 0x75, 0x5e, 0x59, 0x57, 0x36, 0x0a,
- 0xa9, 0x3f, 0x6a, 0x59, 0x28, 0xbb, 0x04, 0x09, 0xdd, 0x6f, 0x2a, 0xa4,
- 0xb7, 0x38, 0xa9, 0x38, 0x94, 0x3c, 0x4f, 0x27, 0x0a, 0x4f, 0xd7, 0x4a,
- 0x02, 0x03, 0xf8, 0x36, 0xce, 0xf7, 0x01, 0xe6, 0x3d, 0xe7, 0xda, 0x45,
- 0xae, 0x06, 0x82, 0x84, 0x9d, 0x12, 0xcb, 0xc8, 0x39, 0x97, 0x6b, 0xae,
- 0x12, 0x07, 0x42, 0x39, 0x21, 0x8f, 0xc7, 0x57, 0x99, 0xc9, 0xda, 0xb1,
- 0x73, 0xb8, 0x4a, 0x8e, 0x96, 0x44, 0xe9, 0x98, 0xc8, 0xe5, 0xf0, 0xa7,
- 0x9c, 0xcd, 0x0b, 0xae, 0x59, 0xb3, 0x30, 0x73, 0x64, 0x12, 0x2c, 0x64,
- 0x1a, 0xb9, 0x50, 0x04, 0x09, 0xbe, 0x3e, 0xf0, 0x9d, 0x19, 0x87, 0x38,
- 0x25, 0x0d, 0x10, 0x0a, 0xb0, 0x5b, 0x96, 0x10, 0x8c, 0x18, 0x39, 0x0c,
- 0x8b, 0x1f, 0x44, 0x93, 0x1a, 0xee, 0x88, 0x26, 0xcd, 0xf8, 0x49, 0x47,
- 0x65, 0xca, 0xb9, 0x47, 0xc6, 0x76, 0xe2, 0x68, 0x94, 0x5e, 0x45, 0x66,
- 0xf7, 0x88, 0x98, 0x14, 0x00, 0x0e, 0x96, 0xcd, 0x12, 0xde, 0x2a, 0x40,
- 0x7f, 0x41, 0x50, 0xbf, 0xe6, 0xaa, 0xe5, 0x1e, 0xab, 0xca, 0x66, 0x52,
- 0x70, 0x6c, 0x7e, 0x60, 0x37, 0x83, 0xed, 0x7c, 0xc9, 0xeb, 0x68, 0x81,
- 0x4c, 0x8a, 0x6b, 0xad, 0x61, 0x5d, 0x6c, 0x94, 0x05, 0xca, 0xde, 0x1c,
- 0x49, 0x24, 0x96, 0x90, 0x8b, 0x75, 0xb0, 0x90, 0x57, 0x66, 0x0d, 0x30,
- 0xa5, 0x70, 0xa1, 0xa4, 0x75, 0x07, 0x4c, 0x8d, 0xda, 0xf4, 0x82, 0xec,
- 0xc9, 0x94, 0x2d, 0x11, 0xe9, 0x95, 0x42, 0x12, 0xb6, 0x59, 0x8a, 0xc0,
- 0x74, 0x29, 0xa5, 0xd6, 0x69, 0x7c, 0xeb, 0x01, 0x97, 0x99, 0x13, 0x89,
- 0xc8, 0x63, 0xa2, 0x2c, 0xea, 0x5f, 0x7d, 0xf1, 0x57, 0xc6, 0x56, 0x33,
- 0xaa, 0xd8, 0xf0, 0x3e, 0x6b, 0xb9, 0xf2, 0x99, 0x56, 0xc7, 0x5a, 0x8b,
- 0x09, 0xe3, 0xa5, 0xfd, 0x32, 0xd3, 0x53, 0x68, 0xb9, 0x8a, 0x2c, 0x57,
- 0x63, 0x3a, 0x0d, 0x90, 0xa9, 0xc5, 0xf6, 0x10, 0x37, 0x24, 0x0d, 0x57,
- 0x32, 0x7d, 0x4f, 0xa3, 0x46, 0x04, 0xc5, 0x36, 0x98, 0x89, 0xc6, 0x23,
- 0xb3, 0x2c, 0x56, 0x33, 0x88, 0x05, 0xec, 0xcb, 0xfc, 0xab, 0xe1, 0x35,
- 0xa4, 0x25, 0x11, 0xd2, 0x78, 0x26, 0x92, 0xa2, 0x27, 0xbf, 0xd9, 0x83,
- 0x44, 0xac, 0xad, 0xad, 0xed, 0xbf, 0x1b, 0x5e, 0x9c, 0xbe, 0x8d, 0x4e,
- 0xdf, 0x5d, 0x9c, 0xbd, 0xbb, 0xd0, 0x7b, 0x6a, 0x24, 0x31, 0xbd, 0xa2,
- 0x10, 0xca, 0x95, 0x6f, 0xbb, 0x39, 0x53, 0xa7, 0x31, 0xc2, 0x13, 0x32,
- 0x20, 0xd2, 0x05, 0xb8, 0x34, 0x2e, 0x9f, 0x07, 0x68, 0x4d, 0x02, 0x74,
- 0x8b, 0x35, 0xbf, 0xa3, 0x35, 0x47, 0x2e, 0x26, 0x0c, 0x39, 0x96, 0x1e,
- 0x04, 0x25, 0xa7, 0xbd, 0xe0, 0x48, 0xad, 0x04, 0x17, 0xdc, 0xbb, 0x55,
- 0x18, 0x20, 0x1f, 0x83, 0x63, 0x86, 0x1c, 0x6f, 0xe7, 0x09, 0xc3, 0x01,
- 0x11, 0x08, 0x33, 0x2e, 0xcd, 0x7c, 0x69, 0x11, 0x99, 0x08, 0x53, 0xa9,
- 0x26, 0xa5, 0x85, 0xb9, 0x71, 0x65, 0x46, 0x33, 0xbc, 0x76, 0xd1, 0xd4,
- 0x1c, 0x81, 0x82, 0x28, 0x32, 0x71, 0xc1, 0x73, 0xb8, 0x96, 0xd5, 0x3d,
- 0xbf, 0x63, 0xa3, 0x77, 0xe3, 0x4e, 0xbd, 0x8b, 0xba, 0xdf, 0x25, 0x61,
- 0x83, 0x1f, 0xff, 0x83, 0x53, 0xfe, 0xde, 0xdb, 0x27, 0xff, 0x94, 0x2e,
- 0x7f, 0x9a, 0x77, 0x11, 0x7c, 0x55, 0xf5, 0xb5, 0x7e, 0x73, 0x78, 0xfe,
- 0xe5, 0xe1, 0xf9, 0xe9, 0x10, 0x01, 0x27, 0x66, 0xdb, 0x6a, 0x12, 0xfb,
- 0x4d, 0x92, 0x8f, 0x92, 0x3c, 0xd3, 0x1a, 0x32, 0xf6, 0xd7, 0x8b, 0xcd,
- 0xaf, 0x86, 0xc3, 0xbd, 0xb3, 0x23, 0x57, 0x6e, 0xc4, 0x25, 0x1f, 0x89,
- 0x42, 0x34, 0x97, 0xf4, 0x38, 0x9e, 0xbf, 0xbd, 0x42, 0x74, 0x31, 0xbe,
- 0x91, 0xa0, 0xd4, 0x86, 0x57, 0xd3, 0xac, 0xb2, 0xec, 0xce, 0xd4, 0x9c,
- 0x34, 0x6e, 0xd8, 0xf0, 0x84, 0x24, 0x35, 0x5b, 0x08, 0xf8, 0x0d, 0x1b,
- 0x91, 0x7b, 0x2e, 0x70, 0xeb, 0x26, 0x1f, 0xf5, 0x89, 0xd0, 0x6f, 0xac,
- 0xb4, 0xa1, 0x84, 0xcf, 0x13, 0x9b, 0x94, 0xb8, 0x5a, 0x6f, 0x54, 0xb8,
- 0xe1, 0x6a, 0xa6, 0x9b, 0x37, 0x7c, 0x34, 0xb8, 0x1e, 0xc6, 0x74, 0x20,
- 0x9c, 0x5d, 0xce, 0x92, 0x05, 0x4b, 0x32, 0x7b, 0x7d, 0x0c, 0xde, 0x80,
- 0x7a, 0x73, 0xa5, 0x96, 0xc4, 0xae, 0x45, 0x9f, 0x3c, 0x77, 0x30, 0x4f,
- 0x61, 0xa1, 0xcb, 0x4b, 0x92, 0xb4, 0x17, 0x77, 0x13, 0xbd, 0x40, 0x80,
- 0x6c, 0x3c, 0x17, 0xbb, 0xb6, 0xf0, 0xef, 0xba, 0x77, 0x83, 0x6b, 0x43,
- 0x21, 0xce, 0x5f, 0xa3, 0x98, 0xa3, 0xd1, 0x34, 0x9e, 0xdf, 0xe0, 0x26,
- 0xc3, 0xcd, 0xc4, 0xba, 0xa5, 0xa1, 0x17, 0x71, 0x25, 0x2d, 0x38, 0xb3,
- 0x14, 0x50, 0x00, 0xd2, 0x9e, 0xd5, 0xeb, 0x66, 0x43, 0xae, 0x03, 0x69,
- 0x0a, 0xdc, 0x36, 0x38, 0x49, 0x7e, 0x11, 0xd8, 0x44, 0x74, 0x78, 0x4c,
- 0x97, 0x92, 0xcb, 0x4d, 0x80, 0x2e, 0x9e, 0x4c, 0x19, 0x6a, 0xc7, 0xc2,
- 0x49, 0x24, 0x1d, 0x2f, 0x05, 0x13, 0x13, 0xc6, 0x61, 0xa0, 0xdb, 0x70,
- 0x3c, 0x80, 0x52, 0x90, 0x75, 0x58, 0xb8, 0xda, 0x14, 0xca, 0xb5, 0xb5,
- 0x5c, 0x7b, 0x59, 0x29, 0x55, 0x11, 0x56, 0x2f, 0xd1, 0x28, 0xad, 0x7d,
- 0x1f, 0x4c, 0x12, 0xdb, 0x77, 0x32, 0x08, 0x2f, 0x7f, 0x3a, 0xf7, 0x54,
- 0x25, 0x29, 0x62, 0xe5, 0x36, 0xc9, 0xeb, 0x6d, 0xda, 0x3e, 0x18, 0x20,
- 0x35, 0x20, 0xc6, 0x6e, 0x07, 0x28, 0x63, 0x91, 0xae, 0xd5, 0xe8, 0x52,
- 0x1b, 0xf8, 0xc0, 0xaa, 0x82, 0x23, 0xe0, 0x49, 0x3c, 0x4e, 0x88, 0x8c,
- 0xd4, 0xdb, 0xb7, 0x9c, 0x80, 0xdb, 0xe4, 0x15, 0x80, 0xd3, 0x30, 0xa8,
- 0x53, 0x30, 0x0f, 0x60, 0x03, 0x94, 0x30, 0x7f, 0xa8, 0x2b, 0x4e, 0x90,
- 0xed, 0x9f, 0xf0, 0x55, 0x91, 0xf5, 0x47, 0x4b, 0x28, 0x60, 0x1e, 0x9d,
- 0x4b, 0x53, 0xff, 0xb8, 0x98, 0x2d, 0xe0, 0xb8, 0xf0, 0x3d, 0x3b, 0x32,
- 0x90, 0x54, 0x2d, 0xbe, 0x0d, 0x64, 0xd9, 0x55, 0xa1, 0x5a, 0x1c, 0x40,
- 0x87, 0x84, 0xae, 0x23, 0x84, 0x57, 0xe3, 0x94, 0x75, 0x84, 0xba, 0xc9,
- 0x2e, 0xc8, 0x6c, 0xae, 0x05, 0xdf, 0x60, 0x54, 0xaf, 0x06, 0xea, 0x96,
- 0x0e, 0x24, 0xfd, 0x02, 0x22, 0x42, 0xa2, 0xd0, 0xe1, 0x16, 0x81, 0x6b,
- 0xf1, 0xfe, 0xb7, 0x25, 0x97, 0x06, 0x12, 0x6c, 0x81, 0x78, 0x2a, 0xc5,
- 0x1d, 0x56, 0xde, 0x22, 0x72, 0x98, 0xca, 0x8b, 0x8b, 0x1f, 0xce, 0x0e,
- 0x5f, 0xdb, 0x9b, 0x8f, 0xed, 0x99, 0x40, 0x6e, 0x21, 0xe0, 0x22, 0x51,
- 0x8c, 0xcb, 0xa0, 0x7c, 0x24, 0x11, 0x59, 0xbf, 0x34, 0x47, 0xb0, 0x74,
- 0xd3, 0x8f, 0xbe, 0x3f, 0x38, 0x1a, 0x9e, 0x1d, 0x9f, 0xee, 0xbf, 0x7e,
- 0xf5, 0xbd, 0x71, 0xe3, 0xcf, 0x19, 0x63, 0x46, 0x64, 0x34, 0xf7, 0x99,
- 0x87, 0x04, 0xd0, 0xf7, 0x4e, 0x0e, 0xbf, 0x7b, 0x4f, 0x6a, 0xc0, 0x6b,
- 0xc6, 0x02, 0xef, 0xdd, 0xc6, 0x53, 0x7d, 0x89, 0x75, 0xa9, 0x16, 0xb9,
- 0x2e, 0x48, 0xe0, 0x68, 0x5b, 0x58, 0x57, 0x2b, 0xde, 0x87, 0xb7, 0x3f,
- 0x58, 0x0c, 0x56, 0x50, 0x48, 0x28, 0xae, 0x64, 0x63, 0xb6, 0xd4, 0x15,
- 0xcc, 0xdc, 0xcd, 0xdf, 0x2d, 0x25, 0x16, 0x8f, 0xfd, 0xcf, 0xa1, 0x5b,
- 0x17, 0xe1, 0x8e, 0xfa, 0x8d, 0x0f, 0x03, 0x55, 0xd4, 0xdd, 0x9c, 0xa3,
- 0x1f, 0x1c, 0x7a, 0xa1, 0x16, 0x77, 0x84, 0xc3, 0x54, 0x21, 0x0e, 0x15,
- 0xbb, 0x87, 0x23, 0x2f, 0x2d, 0x08, 0xdb, 0x55, 0x0f, 0x16, 0xf1, 0xc5,
- 0x8d, 0x25, 0x1e, 0x8f, 0xe9, 0x07, 0x43, 0x4b, 0x72, 0x19, 0x97, 0x33,
- 0xae, 0x26, 0x3e, 0xbc, 0x60, 0x7d, 0x69, 0xff, 0xf4, 0xe4, 0xe4, 0x70,
- 0xdf, 0x6c, 0xcd, 0x56, 0x0d, 0x0d, 0xa9, 0xfe, 0x55, 0xc8, 0xca, 0xb0,
- 0xc2, 0x44, 0xe5, 0x44, 0x3b, 0x36, 0x57, 0xcd, 0xfd, 0x63, 0x93, 0x81,
- 0x24, 0x14, 0xb2, 0x10, 0x2a, 0xc0, 0xab, 0xf1, 0xa5, 0x1d, 0xe0, 0x4c,
- 0x49, 0xa3, 0x56, 0x68, 0x01, 0x55, 0x52, 0xb0, 0x3b, 0xd3, 0x74, 0xe4,
- 0xad, 0xe3, 0x35, 0xdf, 0x23, 0xbb, 0xb6, 0x15, 0xe3, 0x21, 0x3c, 0x42,
- 0x66, 0xf7, 0xf6, 0x09, 0xb5, 0x45, 0x66, 0x95, 0xff, 0x84, 0xf8, 0x61,
- 0x97, 0x0e, 0xd3, 0x1e, 0x9d, 0x46, 0x0a, 0x35, 0xc4, 0x44, 0x34, 0xf7,
- 0x69, 0x10, 0xbc, 0xa8, 0xb0, 0x41, 0x80, 0x3c, 0x55, 0x96, 0x8d, 0x3a,
- 0xdb, 0x92, 0xc0, 0xc4, 0x16, 0x15, 0x12, 0x58, 0x90, 0x90, 0x8d, 0x20,
- 0x13, 0x9d, 0x59, 0x43, 0xfa, 0x50, 0xb1, 0xf1, 0x8a, 0x33, 0x9f, 0x80,
- 0xcd, 0x34, 0x61, 0x51, 0x0b, 0xa6, 0xb6, 0xb0, 0x33, 0xbb, 0x49, 0x79,
- 0x05, 0xad, 0x96, 0xbd, 0xb8, 0x61, 0xdd, 0xe8, 0xa5, 0x92, 0x05, 0x16,
- 0x1e, 0xe1, 0x75, 0x71, 0x0e, 0xec, 0xc3, 0x52, 0x01, 0xc6, 0x4d, 0xe9,
- 0xd1, 0x58, 0xb9, 0x41, 0x15, 0x06, 0xc6, 0xe8, 0x52, 0x83, 0x5b, 0x1e,
- 0x5d, 0x51, 0xb7, 0x9a, 0x42, 0xbe, 0x79, 0x62, 0x41, 0x2f, 0x62, 0x4f,
- 0x28, 0xd8, 0xb1, 0x30, 0x1f, 0xbb, 0xcb, 0x98, 0x73, 0x55, 0x38, 0xf8,
- 0x23, 0x57, 0x88, 0x9d, 0x25, 0x17, 0xf5, 0xd6, 0xe2, 0x97, 0x28, 0xdd,
- 0xc8, 0xde, 0x35, 0x83, 0x5f, 0xf3, 0xd1, 0xbf, 0xb2, 0xdc, 0x01, 0x59,
- 0x89, 0x1d, 0xfd, 0x41, 0x3b, 0x74, 0x79, 0xd5, 0xb6, 0x59, 0x3d, 0x49,
- 0xd3, 0x89, 0x91, 0x15, 0x62, 0x06, 0xdc, 0x20, 0xbb, 0xb0, 0xd0, 0x9c,
- 0x4d, 0xe7, 0x99, 0x14, 0x86, 0x87, 0x4a, 0x45, 0x3e, 0xcb, 0xa9, 0xe2,
- 0x01, 0x24, 0xc9, 0x72, 0x81, 0xb2, 0x3b, 0x63, 0x05, 0x1e, 0x47, 0xb8,
- 0xa7, 0x6b, 0xcf, 0xee, 0x10, 0xbf, 0x56, 0xb4, 0xa8, 0x6f, 0xdf, 0x1d,
- 0x5f, 0x1c, 0x9d, 0x85, 0x5e, 0xc6, 0xe8, 0xbb, 0xa3, 0x8b, 0xaf, 0x49,
- 0x5e, 0xe7, 0xb2, 0xc4, 0xc7, 0xec, 0xca, 0x79, 0xfb, 0x76, 0xef, 0x84,
- 0x73, 0xd2, 0x4f, 0x10, 0x15, 0xb7, 0x07, 0x9d, 0x81, 0xb9, 0x11, 0xad,
- 0x30, 0x93, 0x0e, 0x67, 0x2b, 0xf7, 0x9a, 0x2e, 0x85, 0xda, 0xe9, 0x03,
- 0xc3, 0xe1, 0x23, 0x14, 0xae, 0x11, 0x6f, 0xb8, 0xea, 0x04, 0x0f, 0x6c,
- 0xc0, 0xc1, 0xa9, 0x65, 0x3d, 0x8b, 0xd7, 0xb9, 0x8e, 0x38, 0x8e, 0xcc,
- 0x38, 0x91, 0xcd, 0xe1, 0x40, 0x95, 0xab, 0xdb, 0xbb, 0x29, 0xb0, 0xa1,
- 0x0e, 0xb6, 0x14, 0x51, 0xaa, 0x24, 0x32, 0xcd, 0x55, 0xa5, 0x91, 0xeb,
- 0xb2, 0x1a, 0xa9, 0x4e, 0x3d, 0x62, 0x48, 0x70, 0x21, 0x67, 0xde, 0xf2,
- 0xc7, 0xca, 0x26, 0xeb, 0xcb, 0xe7, 0xc7, 0xe1, 0x7d, 0x5a, 0x2d, 0x7d,
- 0x6b, 0xa1, 0x65, 0x57, 0x59, 0xe2, 0x0f, 0x6e, 0xff, 0xd4, 0x9a, 0x31,
- 0x33, 0x2f, 0x34, 0x30, 0xb9, 0x5b, 0xfa, 0xcc, 0xd6, 0xfa, 0xb4, 0x25,
- 0x1b, 0xae, 0x34, 0x8d, 0x9a, 0xc9, 0x76, 0x45, 0xaa, 0xac, 0x14, 0xa0,
- 0x06, 0x56, 0xec, 0xa9, 0x6b, 0x59, 0x43, 0x18, 0x10, 0xc9, 0xab, 0xc9,
- 0x30, 0x3a, 0x67, 0x30, 0x4b, 0x7b, 0xac, 0x92, 0xcb, 0x5b, 0xab, 0x82,
- 0x6d, 0xc9, 0x50, 0x48, 0x81, 0x64, 0xd0, 0x16, 0xef, 0x20, 0x45, 0x39,
- 0xae, 0x2c, 0x1b, 0x24, 0xf7, 0x09, 0xfb, 0x32, 0xf9, 0xd7, 0xbf, 0x2d,
- 0xae, 0xc2, 0x3c, 0x29, 0xcc, 0x55, 0x13, 0x82, 0xdb, 0xa1, 0x80, 0x45,
- 0x2a, 0xd2, 0xa2, 0x64, 0x95, 0x11, 0x68, 0xa5, 0xb1, 0xed, 0x55, 0x1d,
- 0xea, 0xf7, 0x3b, 0xcd, 0xef, 0x77, 0xc4, 0xbc, 0xc8, 0xc5, 0xd3, 0x1d,
- 0x82, 0xa6, 0x64, 0xff, 0x86, 0xd2, 0x9b, 0xc9, 0x04, 0x4c, 0x61, 0x52,
- 0x67, 0x1d, 0x3e, 0x14, 0x61, 0x89, 0x62, 0xe3, 0xe7, 0xe8, 0xa3, 0x65,
- 0x8e, 0xac, 0x46, 0x3c, 0x02, 0x73, 0xb0, 0x84, 0x8c, 0x22, 0x40, 0x0b,
- 0x6c, 0x8a, 0x6f, 0x2b, 0x6a, 0x90, 0xbe, 0x7f, 0xee, 0x42, 0xb8, 0x3d,
- 0x4b, 0x43, 0x61, 0x2f, 0xcd, 0xa1, 0xe9, 0xa7, 0x8b, 0x5b, 0xab, 0x6d,
- 0x49, 0xbf, 0x7e, 0xe2, 0x6a, 0xba, 0x14, 0x15, 0x5f, 0x54, 0x05, 0xaa,
- 0xd6, 0x78, 0x3f, 0x06, 0x87, 0x90, 0x3a, 0x66, 0x0c, 0x0e, 0xe5, 0x75,
- 0x50, 0x1b, 0x57, 0x52, 0x0d, 0xe6, 0x0d, 0xaa, 0x4c, 0xc2, 0x90, 0x3c,
- 0x45, 0x3e, 0x25, 0xd8, 0x51, 0xc0, 0x5b, 0x42, 0x78, 0xf8, 0xc7, 0xcb,
- 0xc9, 0xb3, 0xe9, 0xe8, 0x36, 0x4d, 0xee, 0x5c, 0x11, 0xf4, 0xef, 0xe4,
- 0x9a, 0x86, 0x73, 0xe0, 0x41, 0x7c, 0x7e, 0xcc, 0x25, 0x55, 0xc3, 0x35,
- 0xc1, 0xc7, 0x61, 0x11, 0x48, 0xb8, 0xb5, 0x40, 0x90, 0x2d, 0x7c, 0x7e,
- 0x22, 0xce, 0x60, 0x00, 0x91, 0x8c, 0x51, 0xfd, 0x7d, 0xc9, 0x33, 0x1d,
- 0xb1, 0x34, 0x00, 0x91, 0xa6, 0x70, 0xd9, 0x60, 0x57, 0xd3, 0x6c, 0x34,
- 0x42, 0xc8, 0xbb, 0x4b, 0x88, 0x1c, 0x44, 0x8c, 0xc5, 0x79, 0x23, 0x24,
- 0xa1, 0x1e, 0x02, 0x04, 0xa4, 0xc9, 0x41, 0xf7, 0xab, 0x23, 0x72, 0x97,
- 0x06, 0xe1, 0x8e, 0x33, 0x06, 0xa3, 0x9f, 0x30, 0x53, 0xa2, 0x45, 0xca,
- 0x5d, 0xa2, 0x44, 0x74, 0x99, 0x7c, 0xb6, 0xb5, 0xbb, 0xcb, 0xf5, 0x22,
- 0x3e, 0xde, 0xee, 0x69, 0x2c, 0x61, 0x18, 0x20, 0xdd, 0x73, 0xb7, 0x93,
- 0xb4, 0xc1, 0xda, 0x47, 0x38, 0xcf, 0xf9, 0x72, 0x96, 0xe4, 0xaa, 0x87,
- 0xe0, 0x3e, 0x14, 0xc8, 0x18, 0x26, 0x46, 0x1b, 0xb2, 0x7b, 0x16, 0x15,
- 0x50, 0x60, 0x7f, 0x97, 0x8c, 0x06, 0x7f, 0x79, 0xea, 0x39, 0xc7, 0x51,
- 0x99, 0x4b, 0x75, 0x49, 0x7e, 0x18, 0x02, 0x39, 0x70, 0x30, 0xb2, 0x9b,
- 0x50, 0x56, 0xd5, 0x2c, 0x8e, 0x1f, 0x83, 0xc1, 0xef, 0xbc, 0xd8, 0xfe,
- 0x59, 0x42, 0xd7, 0x98, 0xc0, 0xfd, 0x2a, 0x68, 0x45, 0xb0, 0x89, 0xca,
- 0x23, 0x92, 0xf8, 0xa5, 0x84, 0xb1, 0x9e, 0x0c, 0xae, 0x06, 0x26, 0x24,
- 0xa8, 0xe1, 0xb0, 0x17, 0x06, 0x10, 0x0b, 0x66, 0xb5, 0x94, 0x13, 0x87,
- 0xda, 0x65, 0xb6, 0x21, 0x33, 0xe4, 0xaa, 0x55, 0x32, 0x2c, 0xed, 0xb2,
- 0x46, 0x57, 0xc6, 0xde, 0xd1, 0x31, 0x07, 0xa7, 0x1c, 0x93, 0x04, 0x36,
- 0x34, 0x56, 0x86, 0x08, 0x1e, 0x04, 0xd7, 0xcc, 0x53, 0xbe, 0x4d, 0x7b,
- 0x0e, 0x51, 0xde, 0x02, 0xe1, 0x21, 0x56, 0xb0, 0x91, 0x5d, 0x24, 0x73,
- 0x45, 0x7e, 0x22, 0x79, 0x98, 0xf8, 0x59, 0x21, 0xe6, 0x14, 0x00, 0x2c,
- 0x32, 0xf2, 0x30, 0x1c, 0x1a, 0x90, 0x78, 0x65, 0xe1, 0x51, 0xc4, 0x22,
- 0x4f, 0xa6, 0xc9, 0xad, 0xda, 0x3d, 0x04, 0xae, 0xee, 0x2b, 0xf5, 0x25,
- 0x48, 0x11, 0xbb, 0xd2, 0xbb, 0x44, 0x2a, 0xee, 0x0a, 0xee, 0x73, 0x53,
- 0x32, 0xfd, 0x7d, 0x02, 0x37, 0x77, 0xef, 0x21, 0x96, 0xcd, 0x75, 0xc3,
- 0xef, 0xf5, 0x59, 0x04, 0x2d, 0x64, 0x27, 0xde, 0x15, 0x9a, 0xa3, 0x5b,
- 0x8f, 0x03, 0x14, 0x55, 0xde, 0xaa, 0x20, 0x89, 0x59, 0xac, 0x67, 0x28,
- 0x98, 0x62, 0xcc, 0x63, 0xa9, 0xa5, 0xc7, 0x26, 0x14, 0xb4, 0x74, 0x49,
- 0xf2, 0x12, 0xe3, 0x9d, 0xf7, 0x22, 0x5f, 0xf3, 0x3c, 0x9b, 0xd2, 0x9f,
- 0x88, 0x6a, 0xe0, 0x55, 0xc7, 0xb3, 0x8c, 0xe2, 0x17, 0xc4, 0x1a, 0xd1,
- 0x9f, 0x12, 0xe8, 0xaa, 0x7f, 0xa1, 0xa9, 0x7c, 0x09, 0xb0, 0xc8, 0x9e,
- 0x10, 0x2b, 0x1b, 0xff, 0xb5, 0x74, 0x3d, 0x46, 0xaf, 0xbe, 0x37, 0x19,
- 0xff, 0x81, 0xb9, 0x86, 0x8c, 0x4d, 0x64, 0xb9, 0xad, 0xae, 0xec, 0xc2,
- 0x48, 0x8a, 0x56, 0x7d, 0xb9, 0x64, 0x2b, 0xb5, 0x2b, 0xca, 0xc0, 0xa3,
- 0x98, 0x31, 0x69, 0x25, 0x52, 0x1f, 0xce, 0x35, 0xce, 0x02, 0xd7, 0x92,
- 0x76, 0x57, 0x5a, 0x3f, 0xce, 0xee, 0xb8, 0xba, 0xdd, 0xe5, 0x25, 0x97,
- 0xdc, 0x3e, 0x9d, 0x7b, 0x50, 0x48, 0xe6, 0xaa, 0xf2, 0xe0, 0xcc, 0x2a,
- 0x6a, 0xd0, 0xdc, 0xac, 0xf6, 0xba, 0x85, 0x2a, 0x0e, 0xa2, 0x3d, 0xac,
- 0x12, 0xc9, 0x42, 0x68, 0x4e, 0x7c, 0x6a, 0x10, 0x07, 0x6b, 0x91, 0x71,
- 0x5a, 0x7d, 0x97, 0x6f, 0xc8, 0x19, 0xca, 0xfc, 0x71, 0x04, 0xd8, 0x2c,
- 0x9b, 0x5b, 0xa0, 0xf3, 0xb2, 0x10, 0x88, 0x30, 0x2b, 0xd5, 0xbb, 0x26,
- 0x36, 0xc3, 0x74, 0xaa, 0x98, 0xbc, 0x2a, 0x38, 0xe3, 0x8d, 0x70, 0x32,
- 0x93, 0xfe, 0xe2, 0x7a, 0x61, 0x3b, 0x6d, 0xfc, 0x4a, 0x98, 0x99, 0x86,
- 0xd6, 0xe2, 0x7a, 0x3b, 0xfb, 0xfa, 0x6c, 0x10, 0x1d, 0x72, 0x4b, 0x32,
- 0x26, 0xbd, 0x87, 0xa0, 0x41, 0xd1, 0x77, 0x34, 0xd9, 0x2b, 0x66, 0xe0,
- 0xa7, 0x39, 0xff, 0x85, 0xd6, 0xf4, 0x4b, 0x31, 0x9a, 0xe0, 0xdb, 0x6a,
- 0xaf, 0xd4, 0x50, 0xa6, 0x45, 0xda, 0xcf, 0xf0, 0x3b, 0x1d, 0x15, 0xe2,
- 0x8e, 0x6e, 0x9b, 0x7c, 0x0f, 0x59, 0x5e, 0x01, 0x54, 0x90, 0x37, 0x23,
- 0x62, 0x9a, 0x60, 0x7d, 0x8b, 0x07, 0xec, 0x1f, 0x14, 0x6e, 0xa0, 0x70,
- 0xe8, 0xf5, 0x20, 0x0d, 0x04, 0xa4, 0xa5, 0xe4, 0xe7, 0xa2, 0x68, 0xe4,
- 0x5c, 0xe5, 0x02, 0x25, 0x90, 0x27, 0x1a, 0x73, 0x94, 0xa9, 0x03, 0x43,
- 0xf4, 0x8d, 0x22, 0xa9, 0x1d, 0xd7, 0x40, 0xbc, 0xb2, 0x2f, 0x58, 0x28,
- 0xe6, 0xb1, 0x10, 0x13, 0xa2, 0x2d, 0x18, 0xac, 0xfd, 0x7f, 0x57, 0x09,
- 0x56, 0x4f, 0xa4, 0xe3, 0x01, 0x00,
-};
-#define BUF_SIZE 0x10000
-/* Decompress and send to stdout a gzip-compressed buffer */
-void hugehelp(void)
-{
- unsigned char* buf;
- int status,headerlen;
- z_stream z;
-
- /* Make sure no gzip options are set */
- if (hugehelpgz[3] & 0xfe)
- return;
-
- headerlen = 10;
- z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen);
- z.next_in = (unsigned char *)hugehelpgz + headerlen;
- z.zalloc = (alloc_func)Z_NULL;
- z.zfree = (free_func)Z_NULL;
- z.opaque = 0;
-
- if (inflateInit2(&z, -MAX_WBITS) != Z_OK)
- return;
-
- buf = malloc(BUF_SIZE);
- if (buf) {
- while(1) {
- z.avail_out = BUF_SIZE;
- z.next_out = buf;
- status = inflate(&z, Z_SYNC_FLUSH);
- if (status == Z_OK || status == Z_STREAM_END) {
- fwrite(buf, BUF_SIZE - z.avail_out, 1, stdout);
- if (status == Z_STREAM_END)
- break;
- }
- else
- break; /* Error */
- }
- free(buf);
- }
- inflateEnd(&z);
-}
-#endif /* USE_MANUAL */
-#endif /* HAVE_LIBZ */
diff --git a/Utilities/cmcurl-7.19.0/src/hugehelp.h b/Utilities/cmcurl-7.19.0/src/hugehelp.h
deleted file mode 100644
index d51bee0..0000000
--- a/Utilities/cmcurl-7.19.0/src/hugehelp.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __HUGEHELP_H
-#define __HUGEHELP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-void hugehelp(void);
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT b/Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT
deleted file mode 100644
index 011dbcf..0000000
--- a/Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT
+++ /dev/null
@@ -1 +0,0 @@
-MACOS (not MACOS X) =================== This is the first attempt at porting cURL to MacOS. http, ftp, dict and telnet seems to work fine, other protocols and advanced features have not been all tested. This port is heavily based on the GUSI library from Matthias Neeracher. GUSI (Grand Unified Socket Interface) is a POSIX/Pthreads/Sockets library bringing some of the comforts of UNIX 98 to traditional MacOS. The latest GUSI release can be downloaded from sourceforge at <http://sourceforge.net/projects/gusi/> I have also write a few functions to help port UNIX applications to MacOS. These functions are part of the GUSI Extra library that can be downloaded at <http://perso.wanadoo.fr/ela/resources.html#gusiextra> OpenSSL support is still experimental but I hope to deliver a version including SSL soon. cURL for MacOS requires using the CodeWarrior compiler from Metrowerks. First download GUSI, GUSI Extra and cURL. Access paths have been setup so that GUSI, GUSI Extra and cURL directories should have the same parent directory. Follow the instructions in GUSI Extra "readme.txt" mainly the ones related to SIOUX and GUSI patches. If you do not apply these patches curl will not behave correctly. In the 'curl/src/macos' directory, decode "curl.mcp.xml.sit.hqx" (This is a stuffit binhexed file) From the CodeWarrior IDE, import 'curl/src/macos/curl.xml', adjust the access paths if required. Then you should be able to build: - the libcurl libraries for PPC and 68K. - the curl application (also available for PPC and 68K) which is the command line version of cURL. If the file "hugehelp.c" is missing rename "curl/src/hugehelp.c.cvs" to "hugehelp.c" and make sure its file type is 'TEXT' \ No newline at end of file
diff --git a/Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx b/Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx
deleted file mode 100644
index 01650b9..0000000
--- a/Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx
+++ /dev/null
@@ -1 +0,0 @@
-(This file must be converted with BinHex 4.0) :%'0eFQ`ZE@0`,RKYE#jcDA3!8dP8090*9#%!N!3F@`#3")EF8h4eCQC*G#!SBbN a16Nh,6)`-$%J3@aKC'4TEL"6HA0dC@ec,#"*EQ-Z,#"SG(4`1Lm[Gj!$,Q&XB@4 ND@jcHA-ZBfpY,e0dG@CQ5A3[$3SD!!83!!!F@`#3!h)!!3#3!h)0,`fPT9*PFf9 bGQ9NTD8!TC!%!3!!2!!3Z$+T+EJbU5N!N!d-['F!"*UP!!!E'J#3"!m!Bh9bE#j YBh!ZH'eX!!%`!P4&@&4$9dP&!3$rN!3!N!U!!*!*!CS!N!0K!*!%$`"#`G6)[bB "`A,RBHAV3f@ZJUhAq'5,9!EjE+@0l9R9ECKR4kTRRh2Tr@@VMJ"@0,FaU4R&FMa LBT)4LbVeb+BC%jqHQQI4[fPBGXP3'T4BeHdDm#H-`9$4'EUJEJ186cE)3X(8K-U 1KiJ4+5-HVi0DI[@5XBTQHb300K2--ZQmjPHEfdA)NhXMSJc'A+@kemq4P`'SeCB TD8QEYXMK8Kk4YZRkc1,G%m39"[dp8Zmc'[eKd,jpTVh555HQXd2`S9"KrGB`laE (r+!)8r8DP'9kbYVQeY-aSjVQRA2k-`'2pqTr9EP6Z&H-%4eK4@qp1Z(fDAd1&`A H1IYG&T86QUHmp*%cdr$@G4fJrQ[9'8p)f"FPKmMQH6!kGBGeTA5Im1Pp*(P69-* b8ld+I'KQIH`@CNfcIEGE&Zbb`3f,4IkZ#4Ve"2%R-a#MLYefeG"*FSMj,RD`aaE DHh6$h8hF"r`SK84RjI*$KFfI&J3ZTk"r!J2$Nr#%K(IA803e(bAG645j1231E'$ C5$(Nr9Z2LZbqJPSH&9[h1(,+e"8!I$4XKrIeH6Y"")PlSQG2V4#-hZAbb2jBT25 (IUG-bFQ+0[bbfAlrpIDlpCradaS5G(*4d%[i*ISQ&5*3e$NVT#A+!Y3P%V*@HX9 6AGI"h1N`D@lj56PX8fB95NekUL&lk'15a*Z(38rC`Ii%$Y$E-A"!QfHG(Ed)Uhd $e&Ckrm4jfVikK&j$D[%H)*lGX!FUK'&[Ck*%#lJUT9qiT13X#T4mK2)e"`%-JFe )*)Sa9b+92'@Gb8N6d9E+kJ#VEA(c6+d`%E82FXcNKJYM'a,FD@Jf-Bhe0i+B2b' 4,T!!lq1IYLpFITlMfGiYPc0f$6,+MDV5TI9#X-SpJhU%)Fb8cp2EjaJ6Y-)DC*f e'FGC5B'BdQV'H!@cS`XJID*-@m3!EFmNq*Ve20Pc0%pLrF4I`MH*iE!bAI`TJ6f fIkZ$4)P"bTla%@'ZL"8pmd(L(R3XEa8KPe@FkheL$l%E1UF89BS&afbE`RN#pXJ IUFD+"e#6RG6PSV[,G0B8l,Ipa2UU$4a@eA6jr+8Y,jkA1f9)d0!)UcD8pc1PCaS $4e#PcC8bCKD'Ar-2Yr"-%XLQh@AF!9p6rj`FhAk@,R*F(2h!LB#ca(F'im+pi,L Bf4LJV+icK26r2XR2)q9fr#K3PQ3PU)3V#9KqDVJL&pEb*`f)lAAq9FdpFU[$8N6 H43&)*h$BNrd0,c(!ICCA2Nh-i-b#,A9)Dq6b0QXcb4Cb)HG0c,H"E8"bQ0V82+K (6bpND%LUfp6S(mNAhkhHBJTdab-6GA&I%2cqe4`NjKlSpKDmI6m!h0,h!`LC-2j pCCGeT6#1Y62eS"hVZBAlj!YPi8DS1XV14b!3d)r5Z1C(*KTB'Df3!+cZN!#aJMU am2DQK54epTl55RJcT[d$'Q5Me1@)lDI#N6S,Rb-#2%BpdZePl2&DZb9GH)-0FR` 3N!!5&mlD,Sp)"5ZC2f@E-bpUflPTaUfFJ4mZUlcp#`iNNNl#eBaVI1&m0!dP'F[ lT`UUYVZpKX&HPmBMVf"+'fS0*6pRfA+HccXLd0PXk",eKDrh`@MYIGqm(MRcMcP UCb#C$m'[dhBrb438Hbh4+bDe&0"BSF1P+PPP4@i`%iP22P9ibJHTcBXRN5!leUL LkN%bVNT!r-qGI('DMAp8jc1e[eH9VBp1+DSk0V(-aMaJD(6FHQ+T'%'h8"e3LeY *2ldFPa@Tem)!l+PBLXN#idPfFC0i-V-9Ed2X@hEhCC!!e2J+JDccb1@@XE`Ch+V @!I1YF"Jf&8Kc*-A[5BT"cFJ3I8rP#Vb#NHYS+"%q25(pP2,aD$5KBV4"&PiN--c f!&h'b,[%ZDE0!j&ZY32dZD3h)p'VEr2p@kU8c8kU,K'lh$A8,)`efrhRPmImIpI YXG)SXje6-1Z$'lrlYNl#ECVlA2V[1h9Ej6X"Q-(LA%P65$-Ka92rah%dQmeF#KH (%CE56(aEpX$BKjEHj(6mN!"l3iEi(2#eJXU2$BHK`913!#8U6q3!&-VfilRY05# +CbP+)RJR0D'943,GI+$+0I0+'SNaNUMBZ[q4'kLpb*c)iGMP,'c'hFQc1B6@@J6 fXPPfGrc`"VaZDc5@lD1*@AIr'1UT5C'NI$HV@!e*U##m)62YSNd$`'p*J1[@ZVM 5D'GRTkrhF6"1D9-DV'2YVR*$RV,I`+QmTjICq92DT-f+SL1lD&kp)C8`64h*aY* AaJiFNQBGVU!$p6A1-m-e*1L9Iic!B!lQ,rZIkda"cB%TJ`U*0QP,'JVEhkFUFU& (X5K4`r3eG5!0T0`KfYQ6-I-E-mUbb&1TIGYrd"X"EXL$@U!J)EB+%q8mMd,dFeJ fLGJA5!N*4MXRSYfk8"8Vp9RY*4rXaR0dQ"3d!1R%CAQZRaPE1*MZ&DHdelBBaaA (CTA1k$H!##ZMT'i$kB0JJPc9Y"5Em&M)DRM*#SIahMpP`2T[3F,Sr2JX9E@,U5L 10Sdd1Y(qAG#,G'hX$PibcN@!,X`qX*,'eM#B)#S*k1PLLI*REMpB"UmhHT-j!0& TG)jc$@3BLI"em*jDf-B%qLmRR$,BQ1q)YN!*Q1ZNVH,YL#f$!C3-1#@Lch3a2+D 1S3dIq-1a[1C*E$*P+KPQG`THP&p'TQ$JJ-*$cK9F03c3F-aJGGic8i,3hd[fAQ( X2Zr!KU)Rlj!!cer8P'[-pmXiEG4ETUADfi2e!+XIM"@%f)[i)Ikd3c!4jR!-4ar q1T6*aH(Xp6eP)1"JRKV00!kq!BaZa-p*GA93QrN2e@l5U!bDcH)QqRTh9BT04b$ 5Yml1!p$+q9ILbSc)r+'IfN,jLH0'9S)Z+ji4P'1GBK9MHCmrhF8AVC(Xmm"IHl# QFBJ"3PC,19FjeHrVT3AV%qCIqAh1VJm(G,#b$Gh-aRS@jXNFTGXV8@2Eq&L#U%L bf**dKC),j0c9*P0&V!XPRpA0'`jEQG1PDJ+Zdb`[PpRLe34(EcHI-CPm54(VIbE 2J3S%q'`"i`+,HjI3D&@MmVRC5ffqFSVlc[1eQP`@)$eHGrSTSGA@,fc&Yd%c#-[ c`N5)bZ%5b!`+QA-C%YBp[NpG`fMrU'VklXR-he$9jRbE5pBEJR2GeER[mN'1,[` *5HDBYJFl#DN&kKi#mVHiL2@'H4Lb-%(#jb5!e"`RQeJJPfD*L#l$'($NZ1*53#4 P"Z19[8kVVN86PN0#LLPpq&`6QI1)ZR-h3b"[H'qCf&q%J1$CRiFD6AhC'iAdA!5 &9qaeYeVcr,1k'F2P%TlIY-mjXqRIMK+"1cJjQ1[ad0mTG53!aa[IQhlKS@)N-(a pUJ$DahNB2HZ[!!fJ,p(-ACep@IGH86&XYZf#UZd`6HTD`e66bA,VjkUkQpeq)%J hajLPmXp(SipKb*'k%k1f[e'0!D&Sh80Q"$BH&jiJb+SEbpTbQBkE2Qp,5[hLS@1 1pUZ(*&)`(+D+RH8$Z0,+br4iTZJ2rZVP,UC!FP8[XHa#3+"aHC!!DMcpKpFDeIe D%2`@$YX20DB&iIcJUS-R%eCPc4&MSE2f3qfA9IJK5I@,R4403FVlTR'JKYF'NBr eC`jcaFi8Bl$9bp,K,TCp"cJ33fq@Z6`!DldUA,C8J[(2MaI2,p!`$5YT12Mei`2 kEK")F$6(J8GAiLMFaTiMqpE8KiZGrrk"D3Fi#8(4*fVmGK4GIb9Pb9N,%Qh2V&b G`4BR#1B@ZrmSF@DdRU#!!i64LJXc9abPYpjfa+I*FSZ(&IkqF2,@5XqlSfe(pJ5 @FBNcIm6`B$SBQ19pA0k8'bmMac8kRP[Q#l4qV9P3ibU$dmlE'[@*Dj1JGRJe4[Z 5M#`*0UYGpeTAFQV4)hc"Frq0Qe88T#fG+YrEd%GD5VaN8ee69)@GJLMaCTYZJ$h Y`PmD[A8fB#4GP0TV(G5&@%i-DBILl&5HUC*fk#qhfiL-VdMPEK`@*G5aB'3@1DI `Gmq!%mJhD-m-E@ei1#pf)H!Y)#hdYf5,Kre61KKr6-k+iC&[6#!,*8aC4V,dBda *G-Ea,kcp`EQYmI)q(TSXdpT[&6NmmVela*&ZrNk#!a*Ek1U9e(A-C#MTiFrU*8# GRIPS(IG0NC0@D@C,ef!3$-V,f1MmeU$hMNGflfPjdA1l$m'dhT6mE$5k,&09Rk* 35$B&A8hc`Q,f[MCL'()&ZSp9"F43Y6Gp$d@GQ1*-IFE)fQ`!Gl+4bY!)4&ME!i1 S(e$jM(!B0$aPZUklAZC&R6Q$q(JE0b`QVJ8l2ELL'2i"i$m4hNQq3$S*@r,KlPV @0aB$#$cij*NFIiA[#P'Hmk'D%mJh*T,r&0T!Sj!!I%QRN!"4J!C25i'JdhRAG4# +iPZ,'C)pS[%JqMbf%5Z@HYTRpTjm`P9K-jj6!9j,5+E8[jbd,$Qb,rLerVlm'a" EJ,NAIG%b0S`!KTfSi1,Hlm6&Tl86i@XA-SjmDCVVm2JR[U[ZUaabTc`"ZLc''*T MA06`8"HaVhrb,12m0TYp8$49BH,J(bC-qMij8S3`iIJLm!&DUAX,NDT4j(cCZq` Sjr#YLPbe+8AqUc@cBNPJ0I"'D`jmfZPUpmQhXQ'2G"i,XrX6PZh5*UdATE`QBJT 2*-NNJ'H03hDLq3NLl8V#BcH(SN53!&)l)I#5DJXfUc)pbK*kKMMdhlkIbRYcdU* -kaTcDabVQGjqY*`D1++%&&hPjA0$mc46dA5Pa&+%QbaXIY(9*40iKhGhE(!d(Zj TU%6JfY"(KHR"&-pfT-D8AB"c'iDKcqH'9"0#TcflZJ5YE#(YDU4QTYFS*`lY2+' HUH+"N6hThTfY$V%@bmP3RrZVqj*lIM!qQ&'(*R8#YUX0ViVa-8c1cLi5mSh423Y c"ZTZ&UCCXZeRVUh#+(cU-p`4R%4,2aCl@ZeXXYH'f1j5r6'Fdp6k&d9CITqHK#@ jRIp9LG#d$jCXIJ9ZTRb1X1r#JCA&JjmSEMUfVbL!D[6I$5#JScE6Na9lmKfF0EH V"15k'@bDdk%miP"ThZ@A0I0@V`65l5S9deFHd#$hUXR5GDT"DMik$YJL+GmY#CB f%KC+a"&%)ihiBfR+0I#@&ENYGGfGh1ZaX"RlLlZ$l-9X9H*LaaQqEZ6LZ'rpIM* GCa`prJ+&V"j-rb!(B[h8XVQbRfQhYc,GJ(J65aIbPCVha(mX8UAS2e@%VYZYMF( $UMM#pf[eK66(Dj1)d*GNK+[I"ZK52ijfp01Pj098q,AA1GUbRR,5Z)jBdJMD1LZ Y8$2iKCVB!R2!PiF*N!$Ycb2#1Nh6&f-fSDEc2YH1jp9GM@!XI'*ilG-Qc4qT0fe dIZdlC9qP)X!!&@4T9A$EaNq-AZKQ6%R$$a54DScX[R*,M*!!k)K4LrB9Ma0[+II jcUfa44M*R18DLAMSp36ELf),#2#qPidNRI[QVFj%D95q)Xa`RS6EjCd+5BN6MeV %!,Q1a$r!B1`Bp3FM8IpLD)S+$G#+BR1)d#!hB9'5GRjMXFLAC-06*FkSLrBpG6X ,q$JVU-a-"TBp@F)+T`$8S[Dj!EIek6Ei!CIBUAGZpERj!eKb9(,X'RqjiBH5bbP -M*hrM9L`Xhl"GqM#U-f9*jXA"IQeZ[b#&`DqGehATT!!(S$6dqLGCl@A-NeefUB CPHNb!6cQp-!L[%Qal$RBVE9ZN!#qrF#!'d&V@ceTH8bbU3`DV0!06TamU$%('FZ l0N`a41a+-&6)Jcjl2XS1jHBp[HE"-PTaj6*#rZXdIX8%X8XRqJXc(FN5iG%bELS +b,60YmQf"J65!j!!D%+B#Ik0&-B3B@*GM[jJlJBU$RkG93B`&-#!h+HerJ8PT,@ b4!M[IeX(5fA%bFZLUp@K6(mkd@BTHhBcDkGaJh0`$CA2N!#3!%G1-Ne!SYh%drH F,BQM`')#DqM&#U(*Y-1lG45[6@GDN!#,bMKZRMG8"D$T2Kc192P!mSK@0AC8#3E D5,p-B+X2ZcmCQAIc,2AEdK5!+1N5*`cl9qJ@N!")h+G,fYaRJrRN`dd1NQ"E$VL ki6&AIilJU6[Z6pR5B*U9Rm1S[dr`a6mp3Fd`ArhVJQ!TR9T#ZhI+MpjYcFC*Tpf JP)[hkrKT5D`IVBCl"QA0TS2!TdYN8%E#epb&4PA9Q-hQ50A5SA@GjUa`kE-X-HM +d28*r*JYMjd!ICRc,(ZrmcU5e(4KNd[IAR$U[Tm*rdK"&(P&HE,U5c&(#0[`'-D 5f6@Qdr3dIB[VAlQbBHEiXrVYae)ZjkP@,'U[dE)NKfe95B9"Jk0'I$A8b$VC&CI hj0TB-$9m0"N8$CIaHe"M2@3-GQ$(12rHGfTrFM[EP9BMH3B`fcFE2PM'VNZ+fSm R[kIC&VabE@DX[9ZChF-R3*X*[Gmakl`@[!XBM"Iq3#d4e2`)6dE"fe2&5r'*3)D fB!kY""qf-#Xh!5DUNqDYG(&`URfpc*RAAS-#r+D@!A[j8r[eAi!S-rimJJ'!JGb %*BZ5$!f,GjJjLa5D")q,RL4XR[Ppi(r8RNiP$2e@ALL+bU&lUIljbU5MXf56RSK #8KbRX8C@f&kmYX-V,K+TmASNfml4&HPfSV$Y(&Y&J8ER)M[,N!"VmB&c'$a2h'h c`MAp!+rpRY(4Qe8@Z#el[0+YYH#ZYd3EMkbHRechUKDqX5k8m)cfAKj'mJ*[h6' 6)pLEDAqcBBi5[CE[rpIkcC%LIUe3f4@8TFUBfZ9B6FYY-F)N[fBV'h3@(m&iB,a )d1HkSQUS"C91!eHTUrHa9J[FLDk'K8-H9XmKc$L*'V5H'-5[*p)TC'El!$b2J"k T0Ul!A)(4ZlVY!Te#X5V)+@[J"r1e-BdkRFe`N!#r0DcM"VUBekGkJe,*5cpX0PS T(d3588LNcfA!1-TB8GQ`K0eIIl0N96)Nd!Rb%&4LIRETS'P3+jA+Bi9SY#qCmGI 5Ai,[V-NK#La5439PX&LDc8hTl$aLj359-bqmDJZ)GiaX1k1[k)bMZ2r(U*c[Gej %D)m*@@+eGqbF249V)fRpkp)6e0JrHiB*[K8*9fGR-AU+jTcpi#f0+U0+L@Yc'U2 dc04kb961J1JdC5PLEV30PJSYZXJ#jfdlb$,0UrY"jX[RkUY8JLY)-L`Gj6ieH'6 %C*LCT`)3ZS@[X2!%!-SJKp1jEL2Cml64,qZhPa)'AidDL1Ybp@6`iI80l+RfHpd Y1XF"[0[r!$B*PqDdHB95)l8[1I%*Nr,#e&Y3CCiNFC[8dj9TDKdh)Q6,,fCk(S# pQbBT0TY@PD(I@lDhBV%Pk9GrD%IY,YpIM-V9cE(UBbG2&Xck6c5I1BcMA-YcJFA 0,Q"*[F1C16*jHTMMPV0@6HYDU5V0`dPbD&X+MPSlR&+hbi36I8(5pBhrN!$Nj*a Z#!akZ&EGD+M,95XdGQGpfB`RY9BjCa9"Jp0EhH,EFY$Xp0#fq5DI#KVJBj,10hZ `Bq#LBCm2%H@E,+X9!b92Xb3iDFh4MVPIpfIVl"rkr%Eie%$X)MHS6PM!XTB'1$H kR%(U%"b&pq)aqe3a9TkCmFDMGk2qq%"HEh*XqVLk9-A,*pAd(dpZSG2Q#&qCJP2 X5cRMX'hX$'L5*+0!i`51"Yaj''JmqAJA#qUqe!P,MR-!NDje18N(qV3@5C1&B`D IqHRl9X2i2T6ZJH'e!jK,MY#3!+TSYiGI*AaPcjIbGE,pQ5[0Bk@%Ahrf#aQ$NkU d!GNU@XiVQ!T6'EHGZC4@(Qf-icF'*X1,1elXp1L)jmi`Y"F,'Fll%A@'$Mp1IT% 4pZjYGj%b,8rhMFlIh1-NN!#MD$'mrpeRD+18mX9YJ+9kiQE-B&U''*jE1*6raUl $40TV"8Aj2`cF3YHakZ6%05+TZ8&#e4HlCpJjL2$)l&2RNVNKBEAbL2UqijV4C,4 !9bq*`lQDp-&$iV8-!)S2)(el3Gp5lfekXY%TkcB%-PkqfD`DRD,R`APCTf%SkYi YkMk9pc01i''-FlHj6bF6QU%PJ+-@4DbAp91&Q,4`0mc1'1(,P6j)j1fMGbAf%BG ,M8&e!2R'Uk,%Rcm9JkL53'"eTe@IXaCCY!0!33RNL)DY5CYmjN%VhK,U8GXFG+[ 8jmX*Z2'(9BE)F'c"[r"4(UF4E*Qa[Nk-j&"MM!B6UZ*0YpL'!+9)G*&k,&2l@&& AbpQL&q)IrbB+ED(J8lRM"*Ii6%VUADiNE'dVU'q%[LHeia*6Y%89acHSZLZH(mq I[jRmr6$mVc-RTPb8+)ZMjI@hNG(F0VT&bU@(Hq1!F"2j881[Z$Nm5SC@1$41qHC Z*B%dX0kZFfcHDPjCH`GJrbU5DkEdIaTUI+NaK"PdSmI[LPTLJ9IJ8KA#kV"2Uia KdERdQFN93d"lqUqXj@Mr+*qi6&"UECZ-#,*iEC&C`bZqlMfYpM(epQ)*%&C![LJ hPR8L[G0#*-Pj,5P*C$cF+BTi2&i!bX+hlrFri`8+M'SNkXcMM(Q3!%%A2MlD*28 VCqT[JjMIq0PTUq0qPSAf4a0$XLC)-48j(c*)V1K5Pc(m%SGL+($j+p8S%dQ3!&Z lQ%+#S[eP8p$5$[$Vq)R)6HaCkZT5CT&*Rb,2I'PA"EVrJTPJKBE@Xi$J%rQAiUE $fqc2ald8l1R&r%FZ(Gq*VR(@l'M!MiUBId*-Kd&S!pP"YBNkYP[B[Z%YlT5SmY! 2rJF43CSX-e@Gp1FDa-d'!JQ@al9raL0r$[fkG0#D5VmHClHGEqhD`fmVA[jC+rM (&qL@f"N"(1DT-#2bD)j)N3!`Tr&$Rep"LN@aR!Rl(5lcE1UYTUmcVKrX(f1)40K Y4RQl"CKXF9C08YC(*$aR5a@QalMZGITR05QRZ"+h`52GmMN4pj6iXh*6MZFb8ke arcTIYkJ%@!F4TNFBfCKU#I3SZViZSKC0e*!!"cFIrhEC%XbSMX6jaS5&9#h@!`d [Y&`V)j*NiURXkhF0DP5e2dAG*Z,9N!$*D[l1$KF5SNi[b"J@Z2Di),1E93CDGmd Gb1)8,k@iE`R'kNHkLYb%dGd34Y,C013(''CiPAT2BRL[dYPHEY6ZE'`i0f-mp)a X&[HT"f3K+8rfE`T!,%MI)YZKJqZ#ZDTfGRYe'+5[Ke+2E%ecBS3pPC!!rU*,drD &884$ZmbC%Y-Iea(IUfjblN-*cX2hB`Mr+aG#AhMaaJfKPbd5P[+H$9A'(jGqcQ- 2pAc0'J[b`hF4+N1dYV[8#-aHm&FiqHbK`R8PpZ*be,`-[a"P"q1lcb$Z8I%0RA2 X8bcClk*cpGU1Q5c6VI%#`63X"PYE,*Hi3bF21r2JTij#%Q3J'cij@e+-99)rZqB $DdVZbrG[S8$eBj!!@$Z3!%C,DD1H[Dr+iFXKGGD&**8$2mqBZG+M+&`P%``#e8Y 13020cm&rj9ND(4q*S+D%eYGi'X(IT1lA+fV1,T!!6(fcKe2S6"!X-C-F-TqlSTB BJTb$,U'!bY8!!!: \ No newline at end of file
diff --git a/Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp b/Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp
deleted file mode 100644
index 1305eea..0000000
--- a/Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp
+++ /dev/null
@@ -1 +0,0 @@
-/**************** BEGIN GUSI CONFIGURATION **************************** * * GUSI Configuration section generated by GUSI Configurator * last modified: Mon Oct 29 15:41:51 2001 * * This section will be overwritten by the next run of Configurator. */ #define GUSI_SOURCE #include <GUSIConfig.h> #include <sys/cdefs.h> /* Declarations of Socket Factories */ __BEGIN_DECLS void GUSIwithInetSockets(); void GUSIwithLocalSockets(); void GUSIwithMTInetSockets(); void GUSIwithMTTcpSockets(); void GUSIwithMTUdpSockets(); void GUSIwithOTInetSockets(); void GUSIwithOTTcpSockets(); void GUSIwithOTUdpSockets(); void GUSIwithPPCSockets(); void GUSISetupFactories(); __END_DECLS /* Configure Socket Factories */ void GUSISetupFactories() { #ifdef GUSISetupFactories_BeginHook GUSISetupFactories_BeginHook #endif GUSIwithInetSockets(); #ifdef GUSISetupFactories_EndHook GUSISetupFactories_EndHook #endif } /* Declarations of File Devices */ __BEGIN_DECLS void GUSIwithNullSockets(); void GUSISetupDevices(); __END_DECLS /* Configure File Devices */ void GUSISetupDevices() { #ifdef GUSISetupDevices_BeginHook GUSISetupDevices_BeginHook #endif GUSIwithNullSockets(); #ifdef GUSISetupDevices_EndHook GUSISetupDevices_EndHook #endif } #ifndef __cplusplus #error GUSISetupConfig() needs to be written in C++ #endif GUSIConfiguration::FileSuffix sSuffices[] = { "", '????', '????' }; extern "C" void GUSISetupConfig() { GUSIConfiguration * config = GUSIConfiguration::CreateInstance(GUSIConfiguration::kNoResource); config->ConfigureDefaultTypeCreator('TEXT', 'CWIE'); config->ConfigureSuffices( sizeof(sSuffices)/sizeof(GUSIConfiguration::FileSuffix)-1, sSuffices); } /**************** END GUSI CONFIGURATION *************************/ \ No newline at end of file
diff --git a/Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp b/Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp
deleted file mode 100644
index 3f1b0ef..0000000
--- a/Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp
+++ /dev/null
@@ -1 +0,0 @@
-/* ========================================================================= Copyright (C) 2001 Eric Lavigne Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions: - The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it. - The origin of this software must not be misrepresented, either by explicit claim or by omission. - You are allowed to distributed modified copies of the software, in source and binary form, provided they are marked plainly as altered versions, and are not misrepresented as being the original software. ========================================================================= */ #include <stdlib.h> #include <string.h> #include <stdio.h> #include <Memory.h> #include <GUSICommandLine.h> #include <stdlib.h> /* ========================================================================= */ DECLARE_MAIN(curl) REGISTER_MAIN_START REGISTER_MAIN(curl) REGISTER_MAIN_END /* ========================================================================= */ int main() { ::MaxApplZone(); for (int i = 1; i <= 10; i++) ::MoreMasters(); (void) exec_commands(); return 0; } \ No newline at end of file
diff --git a/Utilities/cmcurl-7.19.0/src/main.c b/Utilities/cmcurl-7.19.0/src/main.c
deleted file mode 100644
index de6dbf6..0000000
--- a/Utilities/cmcurl-7.19.0/src/main.c
+++ /dev/null
@@ -1,5381 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include <curl/curl.h>
-
-#include "urlglob.h"
-#include "writeout.h"
-#include "getpass.h"
-#include "homedir.h"
-#include "curlutil.h"
-#ifdef USE_MANUAL
-#include "hugehelp.h"
-#endif
-#ifdef USE_ENVIRONMENT
-#include "writeenv.h"
-#endif
-
-#define CURLseparator "--_curl_--"
-
-#ifdef NETWARE
-#ifdef __NOVELL_LIBC__
-#include <screen.h>
-#else
-#include <nwconio.h>
-#define mkdir mkdir_510
-#endif
-#endif
-
-#include "version.h"
-
-#ifdef HAVE_IO_H /* typical win32 habit */
-#include <io.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_UTIME_H
-#include <utime.h>
-#else
-#ifdef HAVE_SYS_UTIME_H
-#include <sys/utime.h>
-#endif
-
-#endif /* HAVE_UTIME_H */
-
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-
-#ifdef HAVE_SYS_POLL_H
-#include <sys/poll.h>
-#elif defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-
-#ifdef HAVE_LOCALE_H
-#include <locale.h> /* for setlocale() */
-#endif
-
-#define ENABLE_CURLX_PRINTF
-/* make the curlx header define all printf() functions to use the curlx_*
- versions instead */
-#include <curlx.h> /* header from the libcurl directory */
-
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
-#include <iconv.h>
-/* set default codesets for iconv */
-#ifndef CURL_ICONV_CODESET_OF_NETWORK
-#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-#endif
-#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h> /* for IPPROTO_TCP */
-#endif
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h> /* for TCP_KEEPIDLE, TCP_KEEPINTVL */
-#endif
-
-/* The last #include file should be: */
-#ifdef CURLDEBUG
-#ifndef CURLTOOLDEBUG
-#define MEMDEBUG_NODEFINES
-#endif
-/* This is low-level hard-hacking memory leak tracking and similar. Using
- the library level code from this client-side is ugly, but we do this
- anyway for convenience. */
-#include "memdebug.h"
-#endif
-
-#if defined(NETWARE)
-#define PRINT_LINES_PAUSE 23
-#endif
-
-#if defined(__SYMBIAN32__)
-#define PRINT_LINES_PAUSE 16
-#define pressanykey() getchar()
-#endif
-
-#define DEFAULT_MAXREDIRS 50L
-
-#if defined(O_BINARY) && defined(HAVE_SETMODE)
- #ifdef __HIGHC__
- #define SET_BINMODE(file) _setmode(file,O_BINARY)
- #else
- #define SET_BINMODE(file) setmode(fileno(file),O_BINARY)
- #endif
-#else
- #define SET_BINMODE(file) ((void)0)
-#endif
-
-#ifndef O_BINARY
-/* since O_BINARY as used in bitmasks, setting it to zero makes it usable in
- source code but yet it doesn't ruin anything */
-#define O_BINARY 0
-#endif
-
-#ifdef MSDOS
-#include <dos.h>
-
-static const char *msdosify(const char *);
-static char *rename_if_dos_device_name(char *);
-
-#ifdef DJGPP
-/* we want to glob our own argv[] */
-char **__crt0_glob_function (char *arg)
-{
- (void)arg;
- return (char**)0;
-}
-#endif /* __DJGPP__ */
-#endif /* MSDOS */
-
-#ifndef STDIN_FILENO
-#define STDIN_FILENO fileno(stdin)
-#endif
-
-#ifndef STDOUT_FILENO
-#define STDOUT_FILENO fileno(stdout)
-#endif
-
-#ifndef STDERR_FILENO
-#define STDERR_FILENO fileno(stderr)
-#endif
-
-#define CURL_PROGRESS_STATS 0 /* default progress display */
-#define CURL_PROGRESS_BAR 1
-
-/**
- * @def MIN
- * standard MIN macro
- */
-#ifndef MIN
-#define MIN(X,Y) (((X) < (Y)) ? (X) : (Y))
-#endif
-
-typedef enum {
- HTTPREQ_UNSPEC,
- HTTPREQ_GET,
- HTTPREQ_HEAD,
- HTTPREQ_POST,
- HTTPREQ_SIMPLEPOST,
- HTTPREQ_CUSTOM,
- HTTPREQ_LAST
-} HttpReq;
-
-#ifdef WIN32
-#include <direct.h>
-#define F_OK 0
-#define mkdir(x,y) (mkdir)(x)
-#endif
-
-#ifdef VMS
-#include "curlmsg_vms.h"
-#endif
-
-/*
- * Large file support (>2Gb) using WIN32 functions.
- */
-
-#ifdef USE_WIN32_LARGE_FILES
-# include <io.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-# define lseek(fdes,offset,whence) _lseeki64(fdes, offset, whence)
-# define fstat(fdes,stp) _fstati64(fdes, stp)
-# define stat(fname,stp) _stati64(fname, stp)
-# define struct_stat struct _stati64
-#endif
-
-/*
- * Small file support (<2Gb) using WIN32 functions.
- */
-
-#ifdef USE_WIN32_SMALL_FILES
-# include <io.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-# define lseek(fdes,offset,whence) _lseek(fdes, (long)offset, whence)
-# define fstat(fdes,stp) _fstat(fdes, stp)
-# define stat(fname,stp) _stat(fname, stp)
-# define struct_stat struct _stat
-#endif
-
-#ifndef struct_stat
-# define struct_stat struct stat
-#endif
-
-/*
- * Default sizeof(off_t) in case it hasn't been defined in config file.
- */
-
-#ifndef SIZEOF_OFF_T
-# if defined(__VMS) && (defined(__alpha) || defined(__ia64))
-# if defined(_LARGEFILE)
-# define SIZEOF_OFF_T 8
-# endif
-# elif defined(__OS400__) && defined(__ILEC400__)
-# if defined(_LARGE_FILES)
-# define SIZEOF_OFF_T 8
-# endif
-# elif defined(__MVS__) && defined(__IBMC__)
-# if defined(_LP64) || defined(_LARGE_FILES)
-# define SIZEOF_OFF_T 8
-# endif
-# elif defined(__370__) && defined(__IBMC__)
-# if defined(_LP64) || defined(_LARGE_FILES)
-# define SIZEOF_OFF_T 8
-# endif
-# endif
-# ifndef SIZEOF_OFF_T
-# define SIZEOF_OFF_T 4
-# endif
-#endif
-
-#ifdef CURL_DOES_CONVERSIONS
-#ifdef HAVE_ICONV
-iconv_t inbound_cd = (iconv_t)-1;
-iconv_t outbound_cd = (iconv_t)-1;
-
-/*
- * convert_to_network() is an internal function to convert
- * from the host encoding to ASCII on non-ASCII platforms.
- */
-static CURLcode
-convert_to_network(char *buffer, size_t length)
-{
- CURLcode rc;
-
- /* translate from the host encoding to the network encoding */
- char *input_ptr, *output_ptr;
- size_t in_bytes, out_bytes;
-
- /* open an iconv conversion descriptor if necessary */
- if(outbound_cd == (iconv_t)-1) {
- outbound_cd = iconv_open(CURL_ICONV_CODESET_OF_NETWORK,
- CURL_ICONV_CODESET_OF_HOST);
- if(outbound_cd == (iconv_t)-1) {
- return CURLE_CONV_FAILED;
- }
- }
- /* call iconv */
- input_ptr = output_ptr = buffer;
- in_bytes = out_bytes = length;
- rc = iconv(outbound_cd, &input_ptr, &in_bytes,
- &output_ptr, &out_bytes);
- if ((rc == -1) || (in_bytes != 0)) {
- return CURLE_CONV_FAILED;
- }
-
- return CURLE_OK;
-}
-
-/*
- * convert_from_network() is an internal function
- * for performing ASCII conversions on non-ASCII platforms.
- */
-static CURLcode
-convert_from_network(char *buffer, size_t length)
-{
- CURLcode rc;
-
- /* translate from the network encoding to the host encoding */
- char *input_ptr, *output_ptr;
- size_t in_bytes, out_bytes;
-
- /* open an iconv conversion descriptor if necessary */
- if(inbound_cd == (iconv_t)-1) {
- inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
- CURL_ICONV_CODESET_OF_NETWORK);
- if(inbound_cd == (iconv_t)-1) {
- return CURLE_CONV_FAILED;
- }
- }
- /* call iconv */
- input_ptr = output_ptr = buffer;
- in_bytes = out_bytes = length;
- rc = iconv(inbound_cd, &input_ptr, &in_bytes,
- &output_ptr, &out_bytes);
- if ((rc == -1) || (in_bytes != 0)) {
- return CURLE_CONV_FAILED;
- }
-
- return CURLE_OK;
-}
-#endif /* HAVE_ICONV */
-
-static
-char convert_char(curl_infotype infotype, char this_char)
-{
-/* determine how this specific character should be displayed */
- switch(infotype) {
- case CURLINFO_DATA_IN:
- case CURLINFO_DATA_OUT:
- case CURLINFO_SSL_DATA_IN:
- case CURLINFO_SSL_DATA_OUT:
- /* data, treat as ASCII */
- if ((this_char >= 0x20) && (this_char < 0x7f)) {
- /* printable ASCII hex value: convert to host encoding */
- convert_from_network(&this_char, 1);
- }
- else {
- /* non-printable ASCII, use a replacement character */
- return UNPRINTABLE_CHAR;
- }
- /* fall through to default */
- default:
- /* treat as host encoding */
- if (ISPRINT(this_char)
- && (this_char != '\t')
- && (this_char != '\r')
- && (this_char != '\n')) {
- /* printable characters excluding tabs and line end characters */
- return this_char;
- }
- break;
- }
- /* non-printable, use a replacement character */
- return UNPRINTABLE_CHAR;
-}
-#endif /* CURL_DOES_CONVERSIONS */
-
-#ifdef WIN32
-/*
- * Truncate a file handle at a 64-bit position 'where'.
- * Borland doesn't even support 64-bit types.
- */
-#ifdef __BORLANDC__
-#define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
-#endif
-
-#ifndef HAVE_FTRUNCATE
-#define HAVE_FTRUNCATE 1
-#endif
-
-static int ftruncate64 (int fd, curl_off_t where)
-{
- if(_lseeki64(fd, where, SEEK_SET) < 0)
- return -1;
-
- if(!SetEndOfFile((HANDLE)_get_osfhandle(fd)))
- return -1;
-
- return 0;
-}
-#define ftruncate(fd,where) ftruncate64(fd,where)
-#endif
-
-typedef enum {
- TRACE_NONE, /* no trace/verbose output at all! */
- TRACE_BIN, /* tcpdump inspired look */
- TRACE_ASCII, /* like *BIN but without the hex output */
- TRACE_PLAIN /* -v/--verbose type */
-} trace;
-
-struct OutStruct {
- char *filename;
- FILE *stream;
- struct Configurable *config;
- curl_off_t bytes; /* amount written so far */
- curl_off_t init; /* original size (non-zero when appending) */
-};
-
-struct Configurable {
- CURL *easy; /* once we have one, we keep it here */
- bool remote_time;
- char *random_file;
- char *egd_file;
- char *useragent;
- char *cookie; /* single line with specified cookies */
- char *cookiejar; /* write to this file */
- char *cookiefile; /* read from this file */
- bool cookiesession; /* new session? */
- bool encoding; /* Accept-Encoding please */
- long authtype; /* auth bitmask */
- bool use_resume;
- bool resume_from_current;
- bool disable_epsv;
- bool disable_eprt;
- curl_off_t resume_from;
- char *postfields;
- curl_off_t postfieldsize;
- char *referer;
- long timeout;
- long connecttimeout;
- long maxredirs;
- curl_off_t max_filesize;
- char *headerfile;
- char *ftpport;
- char *iface;
- int localport;
- int localportrange;
- unsigned short porttouse;
- char *range;
- long low_speed_limit;
- long low_speed_time;
- bool showerror;
- char *userpwd;
- char *proxyuserpwd;
- char *proxy;
- bool proxytunnel;
- bool ftp_append; /* APPE on ftp */
- bool mute; /* shutup */
- bool use_ascii; /* select ascii or text transfer */
- bool autoreferer; /* automatically set referer */
- bool failonerror; /* fail on (HTTP) errors */
- bool include_headers; /* send headers to data output */
- bool no_body; /* don't get the body */
- bool dirlistonly; /* only get the FTP dir list */
- bool followlocation; /* follow http redirects */
- bool unrestricted_auth; /* Continue to send authentication (user+password)
- when following ocations, even when hostname
- changed */
- bool netrc_opt;
- bool netrc;
- bool noprogress;
- bool isatty; /* updated internally only if the output is a tty */
- struct getout *url_list; /* point to the first node */
- struct getout *url_last; /* point to the last/current node */
- struct getout *url_get; /* point to the node to fill in URL */
- struct getout *url_out; /* point to the node to fill in outfile */
- char *cipher_list;
- char *cert;
- char *cert_type;
- char *cacert;
- char *capath;
- char *key;
- char *key_type;
- char *key_passwd;
- char *pubkey;
- char *hostpubmd5;
- char *engine;
- bool list_engines;
- bool crlf;
- char *customrequest;
- char *krblevel;
- char *trace_dump; /* file to dump the network trace to, or NULL */
- FILE *trace_stream;
- bool trace_fopened;
- trace tracetype;
- bool tracetime; /* include timestamp? */
- long httpversion;
- bool progressmode;
- bool nobuffer;
- bool globoff;
- bool use_httpget;
- bool insecure_ok; /* set TRUE to allow insecure SSL connects */
- bool create_dirs;
- bool ftp_create_dirs;
- bool ftp_skip_ip;
- bool proxynegotiate;
- bool proxyntlm;
- bool proxydigest;
- bool proxybasic;
- bool proxyanyauth;
- char *writeout; /* %-styled format string to output */
- bool writeenv; /* write results to environment, if available */
- FILE *errors; /* if stderr redirect is requested */
- bool errors_fopened;
- struct curl_slist *quote;
- struct curl_slist *postquote;
- struct curl_slist *prequote;
- long ssl_version;
- long ip_version;
- curl_TimeCond timecond;
- time_t condtime;
- struct curl_slist *headers;
- struct curl_httppost *httppost;
- struct curl_httppost *last_post;
- struct curl_slist *telnet_options;
- HttpReq httpreq;
-
- /* for bandwidth limiting features: */
- curl_off_t sendpersecond; /* send to peer */
- curl_off_t recvpersecond; /* receive from peer */
- struct timeval lastsendtime;
- size_t lastsendsize;
- struct timeval lastrecvtime;
- size_t lastrecvsize;
- bool ftp_ssl;
- bool ftp_ssl_reqd;
- bool ftp_ssl_control;
- bool ftp_ssl_ccc;
- int ftp_ssl_ccc_mode;
-
- char *socksproxy; /* set to server string */
- int socksver; /* set to CURLPROXY_SOCKS* define */
-
- bool tcp_nodelay;
- long req_retry; /* number of retries */
- long retry_delay; /* delay between retries (in seconds) */
- long retry_maxtime; /* maximum time to keep retrying */
-
- char *ftp_account; /* for ACCT */
- char *ftp_alternative_to_user; /* send command if USER/PASS fails */
- int ftp_filemethod;
-
- bool ignorecl; /* --ignore-content-length */
- bool disable_sessionid;
-
- char *libcurl; /* output libcurl code to this file name */
- bool raw;
- bool post301;
- bool nokeepalive; /* for keepalive needs */
- long alivetime;
-
- int default_node_flags; /* default flags to seach for each 'node', which is
- basically each given URL to transfer */
- struct OutStruct *outs;
-};
-
-#define WARN_PREFIX "Warning: "
-#define WARN_TEXTWIDTH (79 - (int)strlen(WARN_PREFIX))
-/* produce this text message to the user unless mute was selected */
-static void warnf(struct Configurable *config, const char *fmt, ...)
-{
- if(!config->mute) {
- va_list ap;
- int len;
- char *ptr;
- char print_buffer[256];
-
- va_start(ap, fmt);
- va_start(ap, fmt);
- len = vsnprintf(print_buffer, sizeof(print_buffer), fmt, ap);
- va_end(ap);
-
- ptr = print_buffer;
- while(len > 0) {
- fputs(WARN_PREFIX, config->errors);
-
- if(len > (int)WARN_TEXTWIDTH) {
- int cut = WARN_TEXTWIDTH-1;
-
- while(!ISSPACE(ptr[cut]) && cut) {
- cut--;
- }
- if(0 == cut)
- /* not a single cutting position was found, just cut it at the
- max text width then! */
- cut = WARN_TEXTWIDTH-1;
-
- fwrite(ptr, cut + 1, 1, config->errors);
- fputs("\n", config->errors);
- ptr += cut+1; /* skip the space too */
- len -= cut;
- }
- else {
- fputs(ptr, config->errors);
- len = 0;
- }
- }
- }
-}
-
-/*
- * This is the main global constructor for the app. Call this before
- * _any_ libcurl usage. If this fails, *NO* libcurl functions may be
- * used, or havoc may be the result.
- */
-static CURLcode main_init(void)
-{
-#ifdef DJGPP
- /* stop stat() wasting time */
- _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
-#endif
- return curl_global_init(CURL_GLOBAL_DEFAULT);
-}
-
-/*
- * This is the main global destructor for the app. Call this after
- * _all_ libcurl usage is done.
- */
-static void main_free(void)
-{
- curl_global_cleanup();
-#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
- /* close iconv conversion descriptor */
- if(inbound_cd != (iconv_t)-1)
- iconv_close(inbound_cd);
- if(outbound_cd != (iconv_t)-1)
- iconv_close(outbound_cd);
-#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
-}
-
-static int SetHTTPrequest(struct Configurable *config,
- HttpReq req, HttpReq *store)
-{
- if((*store == HTTPREQ_UNSPEC) ||
- (*store == req)) {
- *store = req;
- return 0;
- }
- warnf(config, "You can only select one HTTP request!\n");
- return 1;
-}
-
-static void helpf(FILE *errors, const char *fmt, ...)
-{
- va_list ap;
- if(fmt) {
- va_start(ap, fmt);
- fputs("curl: ", errors); /* prefix it */
- vfprintf(errors, fmt, ap);
- va_end(ap);
- }
- fprintf(errors, "curl: try 'curl --help' "
-#ifdef USE_MANUAL
- "or 'curl --manual' "
-#endif
- "for more information\n");
-}
-
-/*
- * A chain of these nodes contain URL to get and where to put the URL's
- * contents.
- */
-struct getout {
- struct getout *next; /* next one */
- char *url; /* the URL we deal with */
- char *outfile; /* where to store the output */
- char *infile; /* file to upload, if GETOUT_UPLOAD is set */
- int flags; /* options */
-};
-#define GETOUT_OUTFILE (1<<0) /* set when outfile is deemed done */
-#define GETOUT_URL (1<<1) /* set when URL is deemed done */
-#define GETOUT_USEREMOTE (1<<2) /* use remote file name locally */
-#define GETOUT_UPLOAD (1<<3) /* if set, -T has been used */
-#define GETOUT_NOUPLOAD (1<<4) /* if set, -T "" has been used */
-
-static void help(void)
-{
- int i;
- /* A few of these source lines are >80 columns wide, but that's only because
- breaking the strings narrower makes this chunk look even worse!
-
- Starting with 7.18.0, this list of command line options is sorted based
- on the long option name. It is not done automatically, although a command
- line like the following can help out:
-
- curl --help | cut -c5- | grep "^-" | sort
- */
- static const char * const helptext[]={
- "Usage: curl [options...] <url>",
- "Options: (H) means HTTP/HTTPS only, (F) means FTP only",
- " --anyauth Pick \"any\" authentication method (H)",
- " -a/--append Append to target file when uploading (F/SFTP)",
- " --basic Use HTTP Basic Authentication (H)",
- " --cacert <file> CA certificate to verify peer against (SSL)",
- " --capath <directory> CA directory to verify peer against (SSL)",
- " -E/--cert <cert[:passwd]> Client certificate file and password (SSL)",
- " --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)",
- " --ciphers <list> SSL ciphers to use (SSL)",
- " --compressed Request compressed response (using deflate or gzip)",
- " -K/--config <file> Specify which config file to read",
- " --connect-timeout <seconds> Maximum time allowed for connection",
- " -C/--continue-at <offset> Resumed transfer offset",
- " -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)",
- " -c/--cookie-jar <file> Write cookies to this file after operation (H)",
- " --create-dirs Create necessary local directory hierarchy",
- " --crlf Convert LF to CRLF in upload",
- " -d/--data <data> HTTP POST data (H)",
- " --data-ascii <data> HTTP POST ASCII data (H)",
- " --data-binary <data> HTTP POST binary data (H)",
- " --data-urlencode <name=data/name@filename> HTTP POST data url encoded (H)",
- " --digest Use HTTP Digest Authentication (H)",
- " --disable-eprt Inhibit using EPRT or LPRT (F)",
- " --disable-epsv Inhibit using EPSV (F)",
- " -D/--dump-header <file> Write the headers to this file",
- " --egd-file <file> EGD socket path for random data (SSL)",
- " --engine <eng> Crypto engine to use (SSL). \"--engine list\" for list",
-#ifdef USE_ENVIRONMENT
- " --environment Write results to environment variables (RISC OS)",
-#endif
- " -f/--fail Fail silently (no output at all) on HTTP errors (H)",
- " -F/--form <name=content> Specify HTTP multipart POST data (H)",
- " --form-string <name=string> Specify HTTP multipart POST data (H)",
- " --ftp-account <data> Account data to send when requested by server (F)",
- " --ftp-alternative-to-user <cmd> String to replace \"USER [name]\" (F)",
- " --ftp-create-dirs Create the remote dirs if not present (F)",
- " --ftp-method [multicwd/nocwd/singlecwd] Control CWD usage (F)",
- " --ftp-pasv Use PASV/EPSV instead of PORT (F)",
- " -P/--ftp-port <address> Use PORT with address instead of PASV (F)",
- " --ftp-skip-pasv-ip Skip the IP address for PASV (F)\n"
- " --ftp-ssl Try SSL/TLS for ftp transfer (F)",
- " --ftp-ssl-ccc Send CCC after authenticating (F)",
- " --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)",
- " --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)",
- " --ftp-ssl-reqd Require SSL/TLS for ftp transfer (F)",
- " -G/--get Send the -d data with a HTTP GET (H)",
- " -g/--globoff Disable URL sequences and ranges using {} and []",
- " -H/--header <line> Custom header to pass to server (H)",
- " -I/--head Show document info only",
- " -h/--help This help text",
- " --hostpubmd5 <md5> Hex encoded MD5 string of the host public key. (SSH)",
- " -0/--http1.0 Use HTTP 1.0 (H)",
- " --ignore-content-length Ignore the HTTP Content-Length header",
- " -i/--include Include protocol headers in the output (H/F)",
- " -k/--insecure Allow connections to SSL sites without certs (H)",
- " --interface <interface> Specify network interface/address to use",
- " -4/--ipv4 Resolve name to IPv4 address",
- " -6/--ipv6 Resolve name to IPv6 address",
- " -j/--junk-session-cookies Ignore session cookies read from file (H)",
- " --keepalive-time <seconds> Interval between keepalive probes",
- " --key <key> Private key file name (SSL/SSH)",
- " --key-type <type> Private key file type (DER/PEM/ENG) (SSL)",
- " --krb <level> Enable Kerberos with specified security level (F)",
- " --libcurl <file> Dump libcurl equivalent code of this command line",
- " --limit-rate <rate> Limit transfer speed to this rate",
- " -l/--list-only List only names of an FTP directory (F)",
- " --local-port <num>[-num] Force use of these local port numbers",
- " -L/--location Follow Location: hints (H)",
- " --location-trusted Follow Location: and send auth to other hosts (H)",
- " -M/--manual Display the full manual",
- " --max-filesize <bytes> Maximum file size to download (H/F)",
- " --max-redirs <num> Maximum number of redirects allowed (H)",
- " -m/--max-time <seconds> Maximum time allowed for the transfer",
- " --negotiate Use HTTP Negotiate Authentication (H)",
- " -n/--netrc Must read .netrc for user name and password",
- " --netrc-optional Use either .netrc or URL; overrides -n",
- " -N/--no-buffer Disable buffering of the output stream",
- " --no-keepalive Disable keepalive use on the connection",
- " --no-sessionid Disable SSL session-ID reusing (SSL)",
- " --ntlm Use HTTP NTLM authentication (H)",
- " -o/--output <file> Write output to <file> instead of stdout",
- " --pass <pass> Pass phrase for the private key (SSL/SSH)",
- " --post301 Do not switch to GET after following a 301 redirect (H)",
- " -#/--progress-bar Display transfer progress as a progress bar",
- " -x/--proxy <host[:port]> Use HTTP proxy on given port",
- " --proxy-anyauth Pick \"any\" proxy authentication method (H)",
- " --proxy-basic Use Basic authentication on the proxy (H)",
- " --proxy-digest Use Digest authentication on the proxy (H)",
- " --proxy-negotiate Use Negotiate authentication on the proxy (H)",
- " --proxy-ntlm Use NTLM authentication on the proxy (H)",
- " -U/--proxy-user <user[:password]> Set proxy user and password",
- " -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)",
- " --pubkey <key> Public key file name (SSH)",
- " -Q/--quote <cmd> Send command(s) to server before file transfer (F/SFTP)",
- " --random-file <file> File for reading random data from (SSL)",
- " -r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server",
- " --raw Pass HTTP \"raw\", without any transfer decoding (H)",
- " -e/--referer Referer URL (H)",
- " -O/--remote-name Write output to a file named as the remote file",
- " --remote-name-all Use the remote file name for all URLs",
- " -R/--remote-time Set the remote file's time on the local output",
- " -X/--request <command> Specify request command to use",
- " --retry <num> Retry request <num> times if transient problems occur",
- " --retry-delay <seconds> When retrying, wait this many seconds between each",
- " --retry-max-time <seconds> Retry only within this period",
- " -S/--show-error Show error. With -s, make curl show errors when they occur",
- " -s/--silent Silent mode. Don't output anything",
- " --socks4 <host[:port]> SOCKS4 proxy on given host + port",
- " --socks4a <host[:port]> SOCKS4a proxy on given host + port",
- " --socks5 <host[:port]> SOCKS5 proxy on given host + port",
- " --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy",
- " -Y/--speed-limit Stop transfer if below speed-limit for 'speed-time' secs",
- " -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30",
- " -2/--sslv2 Use SSLv2 (SSL)",
- " -3/--sslv3 Use SSLv3 (SSL)",
- " --stderr <file> Where to redirect stderr. - means stdout",
- " --tcp-nodelay Use the TCP_NODELAY option",
- " -t/--telnet-option <OPT=val> Set telnet option",
- " -z/--time-cond <time> Transfer based on a time condition",
- " -1/--tlsv1 Use TLSv1 (SSL)",
- " --trace <file> Write a debug trace to the given file",
- " --trace-ascii <file> Like --trace but without the hex output",
- " --trace-time Add time stamps to trace/verbose output",
- " -T/--upload-file <file> Transfer <file> to remote site",
- " --url <URL> Set URL to work with",
- " -B/--use-ascii Use ASCII/text transfer",
- " -u/--user <user[:password]> Set server user and password",
- " -A/--user-agent <string> User-Agent to send to server (H)",
- " -v/--verbose Make the operation more talkative",
- " -V/--version Show version number and quit",
-
-#ifdef MSDOS
- " --wdebug Turn on Watt-32 debugging under DJGPP",
-#endif
- " -w/--write-out <format> What to output after completion",
- " -q If used as the first parameter disables .curlrc",
- NULL
- };
- for(i=0; helptext[i]; i++) {
- puts(helptext[i]);
-#ifdef PRINT_LINES_PAUSE
- if (i && ((i % PRINT_LINES_PAUSE) == 0))
- pressanykey();
-#endif
- }
-}
-
-struct LongShort {
- const char *letter;
- const char *lname;
- bool extraparam;
-};
-
-/* global variable to hold info about libcurl */
-static curl_version_info_data *curlinfo;
-
-static int parseconfig(const char *filename,
- struct Configurable *config);
-static char *my_get_line(FILE *fp);
-static int create_dir_hierarchy(const char *outfile, FILE *errors);
-
-static void GetStr(char **string,
- const char *value)
-{
- if(*string)
- free(*string);
- if(value)
- *string = strdup(value);
- else
- *string = NULL;
-}
-
-static void clean_getout(struct Configurable *config)
-{
- struct getout *node=config->url_list;
- struct getout *next;
-
- while(node) {
- next = node->next;
- if(node->url)
- free(node->url);
- if(node->outfile)
- free(node->outfile);
- if(node->infile)
- free(node->infile);
- free(node);
-
- node = next; /* GOTO next */
- }
-}
-
-static struct getout *new_getout(struct Configurable *config)
-{
- struct getout *node =malloc(sizeof(struct getout));
- struct getout *last= config->url_last;
- if(node) {
- /* clear the struct */
- memset(node, 0, sizeof(struct getout));
-
- /* append this new node last in the list */
- if(last)
- last->next = node;
- else
- config->url_list = node; /* first node */
-
- /* move the last pointer */
- config->url_last = node;
-
- node->flags = config->default_node_flags;
- }
- return node;
-}
-
-/* Structure for storing the information needed to build a multiple files
- * section
-*/
-struct multi_files {
- struct curl_forms form;
- struct multi_files *next;
-};
-
-/* Add a new list entry possibly with a type_name
- */
-static struct multi_files *
-AddMultiFiles (const char *file_name,
- const char *type_name,
- const char *show_filename,
- struct multi_files **multi_start,
- struct multi_files **multi_current)
-{
- struct multi_files *multi;
- struct multi_files *multi_type = NULL;
- struct multi_files *multi_name = NULL;
- multi = (struct multi_files *)malloc(sizeof(struct multi_files));
- if (multi) {
- memset(multi, 0, sizeof(struct multi_files));
- multi->form.option = CURLFORM_FILE;
- multi->form.value = file_name;
- }
- else
- return NULL;
-
- if (!*multi_start)
- *multi_start = multi;
-
- if (type_name) {
- multi_type = (struct multi_files *)malloc(sizeof(struct multi_files));
- if (multi_type) {
- memset(multi_type, 0, sizeof(struct multi_files));
- multi_type->form.option = CURLFORM_CONTENTTYPE;
- multi_type->form.value = type_name;
- multi->next = multi_type;
-
- multi = multi_type;
- }
- else {
- free (multi);
- return NULL;
- }
- }
- if (show_filename) {
- multi_name = (struct multi_files *)malloc(sizeof(struct multi_files));
- if (multi_name) {
- memset(multi_name, 0, sizeof(struct multi_files));
- multi_name->form.option = CURLFORM_FILENAME;
- multi_name->form.value = show_filename;
- multi->next = multi_name;
-
- multi = multi_name;
- }
- else {
- free (multi);
- return NULL;
- }
- }
-
- if (*multi_current)
- (*multi_current)->next = multi;
-
- *multi_current = multi;
-
- return *multi_current;
-}
-
-/* Free the items of the list.
- */
-static void FreeMultiInfo (struct multi_files *multi_start)
-{
- struct multi_files *multi;
- while (multi_start) {
- multi = multi_start;
- multi_start = multi_start->next;
- free (multi);
- }
-}
-
-/* Print list of OpenSSL engines supported.
- */
-static void list_engines (const struct curl_slist *engines)
-{
- puts ("Build-time engines:");
- if (!engines) {
- puts (" <none>");
- return;
- }
- for ( ; engines; engines = engines->next)
- printf (" %s\n", engines->data);
-}
-
-/***************************************************************************
- *
- * formparse()
- *
- * Reads a 'name=value' parameter and builds the appropriate linked list.
- *
- * Specify files to upload with 'name=@filename'. Supports specified
- * given Content-Type of the files. Such as ';type=<content-type>'.
- *
- * If literal_value is set, any initial '@' or '<' in the value string
- * loses its special meaning, as does any embedded ';type='.
- *
- * You may specify more than one file for a single name (field). Specify
- * multiple files by writing it like:
- *
- * 'name=@filename,filename2,filename3'
- *
- * If you want content-types specified for each too, write them like:
- *
- * 'name=@filename;type=image/gif,filename2,filename3'
- *
- * If you want custom headers added for a single part, write them in a separate
- * file and do like this:
- *
- * 'name=foo;headers=@headerfile' or why not
- * 'name=@filemame;headers=@headerfile'
- *
- * To upload a file, but to fake the file name that will be included in the
- * formpost, do like this:
- *
- * 'name=@filename;filename=/dev/null'
- *
- * This function uses curl_formadd to fulfill it's job. Is heavily based on
- * the old curl_formparse code.
- *
- ***************************************************************************/
-
-#define FORM_FILE_SEPARATOR ','
-#define FORM_TYPE_SEPARATOR ';'
-
-static int formparse(struct Configurable *config,
- const char *input,
- struct curl_httppost **httppost,
- struct curl_httppost **last_post,
- bool literal_value)
-{
- /* nextarg MUST be a string in the format 'name=contents' and we'll
- build a linked list with the info */
- char name[256];
- char *contents;
- char major[128];
- char minor[128];
- char *contp;
- const char *type = NULL;
- char *sep;
- char *sep2;
-
- if((1 == sscanf(input, "%255[^=]=", name)) &&
- (contp = strchr(input, '='))) {
- /* the input was using the correct format */
-
- /* Allocate the contents */
- contents = strdup(contp+1);
- if(!contents) {
- fprintf(config->errors, "out of memory\n");
- return 1;
- }
- contp = contents;
-
- if('@' == contp[0] && !literal_value) {
- struct multi_files *multi_start = NULL, *multi_current = NULL;
- /* we use the @-letter to indicate file name(s) */
- contp++;
-
- multi_start = multi_current=NULL;
-
- do {
- /* since this was a file, it may have a content-type specifier
- at the end too, or a filename. Or both. */
- char *ptr;
- char *filename=NULL;
-
- sep=strchr(contp, FORM_TYPE_SEPARATOR);
- sep2=strchr(contp, FORM_FILE_SEPARATOR);
-
- /* pick the closest */
- if(sep2 && (sep2 < sep)) {
- sep = sep2;
-
- /* no type was specified! */
- }
-
- type = NULL;
-
- if(sep) {
-
- /* if we got here on a comma, don't do much */
- if(FORM_FILE_SEPARATOR == *sep)
- ptr = NULL;
- else
- ptr = sep+1;
-
- *sep=0; /* terminate file name at separator */
-
- while(ptr && (FORM_FILE_SEPARATOR!= *ptr)) {
-
- /* pass all white spaces */
- while(ISSPACE(*ptr))
- ptr++;
-
- if(curlx_strnequal("type=", ptr, 5)) {
- /* set type pointer */
- type = &ptr[5];
-
- /* verify that this is a fine type specifier */
- if(2 != sscanf(type, "%127[^/]/%127[^;,\n]",
- major, minor)) {
- warnf(config, "Illegally formatted content-type field!\n");
- free(contents);
- FreeMultiInfo (multi_start);
- return 2; /* illegal content-type syntax! */
- }
- /* now point beyond the content-type specifier */
- sep = (char *)type + strlen(major)+strlen(minor)+1;
-
- if(*sep) {
- *sep=0; /* zero terminate type string */
-
- ptr=sep+1;
- }
- else
- ptr = NULL; /* end */
- }
- else if(curlx_strnequal("filename=", ptr, 9)) {
- filename = &ptr[9];
- ptr=strchr(filename, FORM_TYPE_SEPARATOR);
- if(!ptr) {
- ptr=strchr(filename, FORM_FILE_SEPARATOR);
- }
- if(ptr) {
- *ptr=0; /* zero terminate */
- ptr++;
- }
- }
- else
- /* confusion, bail out of loop */
- break;
- }
- /* find the following comma */
- if(ptr)
- sep=strchr(ptr, FORM_FILE_SEPARATOR);
- else
- sep=NULL;
- }
- else {
- sep=strchr(contp, FORM_FILE_SEPARATOR);
- }
- if(sep) {
- /* the next file name starts here */
- *sep =0;
- sep++;
- }
- /* if type == NULL curl_formadd takes care of the problem */
-
- if (!AddMultiFiles (contp, type, filename, &multi_start,
- &multi_current)) {
- warnf(config, "Error building form post!\n");
- free(contents);
- FreeMultiInfo (multi_start);
- return 3;
- }
- contp = sep; /* move the contents pointer to after the separator */
-
- } while(sep && *sep); /* loop if there's another file name */
-
- /* now we add the multiple files section */
- if (multi_start) {
- struct curl_forms *forms = NULL;
- struct multi_files *ptr = multi_start;
- unsigned int i, count = 0;
- while (ptr) {
- ptr = ptr->next;
- ++count;
- }
- forms =
- (struct curl_forms *)malloc((count+1)*sizeof(struct curl_forms));
- if (!forms)
- {
- fprintf(config->errors, "Error building form post!\n");
- free(contents);
- FreeMultiInfo (multi_start);
- return 4;
- }
- for (i = 0, ptr = multi_start; i < count; ++i, ptr = ptr->next)
- {
- forms[i].option = ptr->form.option;
- forms[i].value = ptr->form.value;
- }
- forms[count].option = CURLFORM_END;
- FreeMultiInfo (multi_start);
- if (curl_formadd(httppost, last_post,
- CURLFORM_COPYNAME, name,
- CURLFORM_ARRAY, forms, CURLFORM_END) != 0) {
- warnf(config, "curl_formadd failed!\n");
- free(forms);
- free(contents);
- return 5;
- }
- free(forms);
- }
- }
- else {
- struct curl_forms info[4];
- int i = 0;
- char *ct = literal_value? NULL: strstr(contp, ";type=");
-
- info[i].option = CURLFORM_COPYNAME;
- info[i].value = name;
- i++;
-
- if(ct) {
- info[i].option = CURLFORM_CONTENTTYPE;
- info[i].value = &ct[6];
- i++;
- ct[0]=0; /* zero terminate here */
- }
-
- if( contp[0]=='<' && !literal_value) {
- info[i].option = CURLFORM_FILECONTENT;
- info[i].value = contp+1;
- i++;
- info[i].option = CURLFORM_END;
-
- if (curl_formadd(httppost, last_post,
- CURLFORM_ARRAY, info, CURLFORM_END ) != 0) {
- warnf(config, "curl_formadd failed, possibly the file %s is bad!\n",
- contp+1);
- free(contents);
- return 6;
- }
- }
- else {
-#ifdef CURL_DOES_CONVERSIONS
- convert_to_network(contp, strlen(contp));
-#endif
- info[i].option = CURLFORM_COPYCONTENTS;
- info[i].value = contp;
- i++;
- info[i].option = CURLFORM_END;
- if (curl_formadd(httppost, last_post,
- CURLFORM_ARRAY, info, CURLFORM_END) != 0) {
- warnf(config, "curl_formadd failed!\n");
- free(contents);
- return 7;
- }
- }
- }
-
- }
- else {
- warnf(config, "Illegally formatted input field!\n");
- return 1;
- }
- free(contents);
- return 0;
-}
-
-
-typedef enum {
- PARAM_OK,
- PARAM_OPTION_AMBIGUOUS,
- PARAM_OPTION_UNKNOWN,
- PARAM_REQUIRES_PARAMETER,
- PARAM_BAD_USE,
- PARAM_HELP_REQUESTED,
- PARAM_GOT_EXTRA_PARAMETER,
- PARAM_BAD_NUMERIC,
- PARAM_LIBCURL_DOESNT_SUPPORT,
- PARAM_NO_MEM,
- PARAM_LAST
-} ParameterError;
-
-static const char *param2text(int res)
-{
- ParameterError error = (ParameterError)res;
- switch(error) {
- case PARAM_GOT_EXTRA_PARAMETER:
- return "had unsupported trailing garbage";
- case PARAM_OPTION_UNKNOWN:
- return "is unknown";
- case PARAM_OPTION_AMBIGUOUS:
- return "is ambiguous";
- case PARAM_REQUIRES_PARAMETER:
- return "requires parameter";
- case PARAM_BAD_USE:
- return "is badly used here";
- case PARAM_BAD_NUMERIC:
- return "expected a proper numerical parameter";
- case PARAM_LIBCURL_DOESNT_SUPPORT:
- return "the installed libcurl version doesn't support this";
- case PARAM_NO_MEM:
- return "out of memory";
- default:
- return "unknown error";
- }
-}
-
-static ParameterError file2string(char **bufp, FILE *file)
-{
- char buffer[256];
- char *ptr;
- char *string = NULL;
- size_t stringlen = 0;
- size_t buflen;
-
- if(file) {
- while(fgets(buffer, sizeof(buffer), file)) {
- if((ptr = strchr(buffer, '\r')) != NULL)
- *ptr = '\0';
- if((ptr = strchr(buffer, '\n')) != NULL)
- *ptr = '\0';
- buflen = strlen(buffer);
- if((ptr = realloc(string, stringlen+buflen+1)) == NULL) {
- if(string)
- free(string);
- return PARAM_NO_MEM;
- }
- string = ptr;
- strcpy(string+stringlen, buffer);
- stringlen += buflen;
- }
- }
- *bufp = string;
- return PARAM_OK;
-}
-
-static ParameterError file2memory(char **bufp, size_t *size, FILE *file)
-{
- char *newbuf;
- char *buffer = NULL;
- size_t alloc = 512;
- size_t nused = 0;
- size_t nread;
-
- if(file) {
- do {
- if(!buffer || (alloc == nused)) {
- /* size_t overflow detection for huge files */
- if(alloc+1 > ((size_t)-1)/2) {
- if(buffer)
- free(buffer);
- return PARAM_NO_MEM;
- }
- alloc *= 2;
- /* allocate an extra char, reserved space, for null termination */
- if((newbuf = realloc(buffer, alloc+1)) == NULL) {
- if(buffer)
- free(buffer);
- return PARAM_NO_MEM;
- }
- buffer = newbuf;
- }
- nread = fread(buffer+nused, 1, alloc-nused, file);
- nused += nread;
- } while(nread);
- /* null terminate the buffer in case it's used as a string later */
- buffer[nused] = '\0';
- /* free trailing slack space, if possible */
- if(alloc != nused) {
- if((newbuf = realloc(buffer, nused+1)) != NULL)
- buffer = newbuf;
- }
- /* discard buffer if nothing was read */
- if(!nused) {
- free(buffer);
- buffer = NULL; /* no string */
- }
- }
- *size = nused;
- *bufp = buffer;
- return PARAM_OK;
-}
-
-static void cleanarg(char *str)
-{
-#ifdef HAVE_WRITABLE_ARGV
- /* now that GetStr has copied the contents of nextarg, wipe the next
- * argument out so that the username:password isn't displayed in the
- * system process list */
- if (str) {
- size_t len = strlen(str);
- memset(str, ' ', len);
- }
-#else
- (void)str;
-#endif
-}
-
-/*
- * Parse the string and write the integer in the given address. Return
- * non-zero on failure, zero on success.
- *
- * The string must start with a digit to be valid.
- *
- * Since this function gets called with the 'nextarg' pointer from within the
- * getparameter a lot, we must check it for NULL before accessing the str
- * data.
- */
-
-static int str2num(long *val, const char *str)
-{
- int retcode = 0;
- if(str && ISDIGIT(*str))
- *val = atoi(str);
- else
- retcode = 1; /* badness */
- return retcode;
-}
-
-/**
- * Parses the given string looking for an offset (which may be
- * a larger-than-integer value).
- *
- * @param val the offset to populate
- * @param str the buffer containing the offset
- * @return zero if successful, non-zero if failure.
- */
-static int str2offset(curl_off_t *val, const char *str)
-{
-#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG)
- *val = curlx_strtoofft(str, NULL, 0);
- if((*val == CURL_LLONG_MAX || *val == CURL_LLONG_MIN) && (ERRNO == ERANGE))
- return 1;
-#else
- *val = strtol(str, NULL, 0);
- if ((*val == LONG_MIN || *val == LONG_MAX) && ERRNO == ERANGE)
- return 1;
-#endif
- return 0;
-}
-
-static void checkpasswd(const char *kind, /* for what purpose */
- char **userpwd) /* pointer to allocated string */
-{
- char *ptr;
- if(!*userpwd)
- return;
-
- ptr = strchr(*userpwd, ':');
- if(!ptr) {
- /* no password present, prompt for one */
- char passwd[256]="";
- char prompt[256];
- size_t passwdlen;
- size_t userlen = strlen(*userpwd);
- char *passptr;
-
- /* build a nice-looking prompt */
- curlx_msnprintf(prompt, sizeof(prompt),
- "Enter %s password for user '%s':",
- kind, *userpwd);
-
- /* get password */
- getpass_r(prompt, passwd, sizeof(passwd));
- passwdlen = strlen(passwd);
-
- /* extend the allocated memory area to fit the password too */
- passptr = realloc(*userpwd,
- passwdlen + 1 + /* an extra for the colon */
- userlen + 1); /* an extra for the zero */
-
- if(passptr) {
- /* append the password separated with a colon */
- passptr[userlen]=':';
- memcpy(&passptr[userlen+1], passwd, passwdlen+1);
- *userpwd = passptr;
- }
- }
-}
-
-static ParameterError add2list(struct curl_slist **list,
- const char *ptr)
-{
- struct curl_slist *newlist = curl_slist_append(*list, ptr);
- if(newlist)
- *list = newlist;
- else
- return PARAM_NO_MEM;
-
- return PARAM_OK;
-}
-
-static int ftpfilemethod(struct Configurable *config, const char *str)
-{
- if(curlx_strequal("singlecwd", str))
- return CURLFTPMETHOD_SINGLECWD;
- if(curlx_strequal("nocwd", str))
- return CURLFTPMETHOD_NOCWD;
- if(curlx_strequal("multicwd", str))
- return CURLFTPMETHOD_MULTICWD;
- warnf(config, "unrecognized ftp file method '%s', using default\n", str);
- return CURLFTPMETHOD_MULTICWD;
-}
-
-static int ftpcccmethod(struct Configurable *config, const char *str)
-{
- if(curlx_strequal("passive", str))
- return CURLFTPSSL_CCC_PASSIVE;
- if(curlx_strequal("active", str))
- return CURLFTPSSL_CCC_ACTIVE;
- warnf(config, "unrecognized ftp CCC method '%s', using default\n", str);
- return CURLFTPSSL_CCC_PASSIVE;
-}
-
-
-static int sockoptcallback(void *clientp, curl_socket_t curlfd,
- curlsocktype purpose)
-{
- struct Configurable *config = (struct Configurable *)clientp;
- int onoff = 1; /* this callback is only used if we ask for keepalives on the
- connection */
-#if defined(TCP_KEEPIDLE) || defined(TCP_KEEPINTVL)
- int keepidle = (int)config->alivetime;
-#endif
-
- switch (purpose) {
- case CURLSOCKTYPE_IPCXN:
- if(setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&onoff,
- sizeof(onoff)) < 0) {
- /* don't abort operation, just issue a warning */
- SET_SOCKERRNO(0);
- warnf(clientp, "Could not set SO_KEEPALIVE!\n");
- return 0;
- }
- else {
- if (config->alivetime) {
-#ifdef TCP_KEEPIDLE
- if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPIDLE, (void *)&keepidle,
- sizeof(keepidle)) < 0) {
- /* don't abort operation, just issue a warning */
- SET_SOCKERRNO(0);
- warnf(clientp, "Could not set TCP_KEEPIDLE!\n");
- return 0;
- }
-#endif
-#ifdef TCP_KEEPINTVL
- if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPINTVL, (void *)&keepidle,
- sizeof(keepidle)) < 0) {
- /* don't abort operation, just issue a warning */
- SET_SOCKERRNO(0);
- warnf(clientp, "Could not set TCP_KEEPINTVL!\n");
- return 0;
- }
-#endif
- }
- }
- break;
- default:
- break;
- }
-
- return 0;
-}
-
-
-static ParameterError getparameter(char *flag, /* f or -long-flag */
- char *nextarg, /* NULL if unset */
- bool *usedarg, /* set to TRUE if the arg
- has been used */
- struct Configurable *config)
-{
- char letter;
- char subletter=0; /* subletters can only occur on long options */
- int rc; /* generic return code variable */
- const char *parse=NULL;
- unsigned int j;
- time_t now;
- int hit=-1;
- bool longopt=FALSE;
- bool singleopt=FALSE; /* when true means '-o foo' used '-ofoo' */
- ParameterError err;
- bool toggle=TRUE; /* how to switch boolean options, on or off. Controlled
- by using --OPTION or --no-OPTION */
-
- /* single-letter,
- long-name,
- boolean whether it takes an additional argument
- */
- static const struct LongShort aliases[]= {
- /* all these ones, starting with "*" or "$" as a short-option have *no*
- short option to mention. */
- {"*", "url", TRUE},
- {"*a", "random-file", TRUE},
- {"*b", "egd-file", TRUE},
- {"*c", "connect-timeout", TRUE},
- {"*d", "ciphers", TRUE},
- {"*e", "disable-epsv", FALSE},
- {"*E", "epsv", FALSE}, /* made like this to make --no-epsv and --epsv to
- work although --disable-epsv is the documented
- option */
-#ifdef USE_ENVIRONMENT
- {"*f", "environment", FALSE},
-#endif
- {"*g", "trace", TRUE},
- {"*h", "trace-ascii", TRUE},
- {"*i", "limit-rate", TRUE},
- {"*j", "compressed", FALSE}, /* might take an arg someday */
- {"*k", "digest", FALSE},
- {"*l", "negotiate", FALSE},
- {"*m", "ntlm", FALSE},
- {"*n", "basic", FALSE},
- {"*o", "anyauth", FALSE},
-#ifdef MSDOS
- {"*p", "wdebug", FALSE},
-#endif
- {"*q", "ftp-create-dirs", FALSE},
- {"*r", "create-dirs", FALSE},
- {"*s", "max-redirs", TRUE},
- {"*t", "proxy-ntlm", FALSE},
- {"*u", "crlf", FALSE},
- {"*v", "stderr", TRUE},
- {"*w", "interface", TRUE},
- {"*x", "krb" , TRUE},
- {"*x", "krb4" , TRUE}, /* this is the previous name */
- {"*y", "max-filesize", TRUE},
- {"*z", "disable-eprt", FALSE},
- {"*Z", "eprt", FALSE}, /* made like this to make --no-eprt and --eprt to
- work although --disable-eprt is the documented
- option */
- {"$a", "ftp-ssl", FALSE},
- {"$b", "ftp-pasv", FALSE},
- {"$c", "socks5", TRUE},
- {"$c", "socks", TRUE}, /* this is how the option once was documented
- but we prefer the --socks5 version for
- explicit version */
- {"$d", "tcp-nodelay",FALSE},
- {"$e", "proxy-digest", FALSE},
- {"$f", "proxy-basic", FALSE},
- {"$g", "retry", TRUE},
- {"$h", "retry-delay", TRUE},
- {"$i", "retry-max-time", TRUE},
- {"$k", "proxy-negotiate", FALSE},
- {"$m", "ftp-account", TRUE},
- {"$n", "proxy-anyauth", FALSE},
- {"$o", "trace-time", FALSE},
- {"$p", "ignore-content-length", FALSE},
- {"$q", "ftp-skip-pasv-ip", FALSE},
- {"$r", "ftp-method", TRUE},
- {"$s", "local-port", TRUE},
- {"$t", "socks4", TRUE},
- {"$T", "socks4a", TRUE},
- {"$u", "ftp-alternative-to-user", TRUE},
- {"$v", "ftp-ssl-reqd", FALSE},
- {"$w", "sessionid", FALSE}, /* listed as --no-sessionid in the help */
- {"$x", "ftp-ssl-control", FALSE},
- {"$y", "ftp-ssl-ccc", FALSE},
- {"$j", "ftp-ssl-ccc-mode", TRUE},
- {"$z", "libcurl", TRUE},
- {"$#", "raw", FALSE},
- {"$0", "post301", FALSE},
- {"$1", "keepalive", FALSE}, /* listed as --no-keepalive in the help */
- {"$2", "socks5-hostname", TRUE},
- {"$3", "keepalive-time", TRUE},
-
- {"0", "http1.0", FALSE},
- {"1", "tlsv1", FALSE},
- {"2", "sslv2", FALSE},
- {"3", "sslv3", FALSE},
- {"4", "ipv4", FALSE},
- {"6", "ipv6", FALSE},
- {"a", "append", FALSE},
- {"A", "user-agent", TRUE},
- {"b", "cookie", TRUE},
- {"B", "use-ascii", FALSE},
- {"c", "cookie-jar", TRUE},
- {"C", "continue-at", TRUE},
- {"d", "data", TRUE},
- {"da", "data-ascii", TRUE},
- {"db", "data-binary", TRUE},
- {"de", "data-urlencode", TRUE},
- {"D", "dump-header", TRUE},
- {"e", "referer", TRUE},
- {"E", "cert", TRUE},
- {"Ea", "cacert", TRUE},
- {"Eb","cert-type", TRUE},
- {"Ec","key", TRUE},
- {"Ed","key-type", TRUE},
- {"Ee","pass", TRUE},
- {"Ef","engine", TRUE},
- {"Eg","capath ", TRUE},
- {"Eh","pubkey", TRUE},
- {"Ei", "hostpubmd5", TRUE},
- {"f", "fail", FALSE},
- {"F", "form", TRUE},
- {"Fs","form-string", TRUE},
- {"g", "globoff", FALSE},
- {"G", "get", FALSE},
- {"h", "help", FALSE},
- {"H", "header", TRUE},
- {"i", "include", FALSE},
- {"I", "head", FALSE},
- {"j", "junk-session-cookies", FALSE},
- {"k", "insecure", FALSE},
- {"K", "config", TRUE},
- {"l", "list-only", FALSE},
- {"L", "location", FALSE},
- {"Lt", "location-trusted", FALSE},
- {"m", "max-time", TRUE},
- {"M", "manual", FALSE},
- {"n", "netrc", FALSE},
- {"no", "netrc-optional", FALSE},
- {"N", "buffer", FALSE}, /* listed as --no-buffer in the help */
- {"o", "output", TRUE},
- {"O", "remote-name", FALSE},
- {"Oa", "remote-name-all", FALSE},
- {"p", "proxytunnel", FALSE},
- {"P", "ftpport", TRUE}, /* older version */
- {"P", "ftp-port", TRUE},
- {"q", "disable", FALSE},
- {"Q", "quote", TRUE},
- {"r", "range", TRUE},
- {"R", "remote-time", FALSE},
- {"s", "silent", FALSE},
- {"S", "show-error", FALSE},
- {"t", "telnet-options", TRUE}, /* this is documented as telnet-option */
- {"T", "upload-file", TRUE},
- {"u", "user", TRUE},
- {"U", "proxy-user", TRUE},
- {"v", "verbose", FALSE},
- {"V", "version", FALSE},
- {"w", "write-out", TRUE},
- {"x", "proxy", TRUE},
- {"X", "request", TRUE},
- {"X", "http-request", TRUE}, /* OBSOLETE VERSION */
- {"Y", "speed-limit", TRUE},
- {"y", "speed-time", TRUE},
- {"z", "time-cond", TRUE},
- {"#", "progress-bar",FALSE},
- };
-
- if(('-' != flag[0]) ||
- (('-' == flag[0]) && ('-' == flag[1]))) {
- /* this should be a long name */
- char *word=('-' == flag[0])?flag+2:flag;
- size_t fnam=strlen(word);
- int numhits=0;
-
- if(!strncmp(word, "no-", 3)) {
- /* disable this option but ignore the "no-" part when looking for it */
- word += 3;
- toggle = FALSE;
- }
-
- for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) {
- if(curlx_strnequal(aliases[j].lname, word, fnam)) {
- longopt = TRUE;
- numhits++;
- if(curlx_strequal(aliases[j].lname, word)) {
- parse = aliases[j].letter;
- hit = j;
- numhits = 1; /* a single unique hit */
- break;
- }
- parse = aliases[j].letter;
- hit = j;
- }
- }
- if(numhits>1) {
- /* this is at least the second match! */
- return PARAM_OPTION_AMBIGUOUS;
- }
- if(hit < 0) {
- return PARAM_OPTION_UNKNOWN;
- }
- }
- else {
- flag++; /* prefixed with one dash, pass it */
- hit=-1;
- parse = flag;
- }
-
- do {
- /* we can loop here if we have multiple single-letters */
-
- if(!longopt) {
- if(NULL != parse) {
- letter = (char)*parse;
- }
- else {
- letter = '\0';
- }
- subletter='\0';
- }
- else {
- letter = parse[0];
- subletter = parse[1];
- }
- *usedarg = FALSE; /* default is that we don't use the arg */
-
- if(hit < 0) {
- for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) {
- if(letter == aliases[j].letter[0]) {
- hit = j;
- break;
- }
- }
- if(hit < 0) {
- return PARAM_OPTION_UNKNOWN;
- }
- }
- if(hit < 0) {
- return PARAM_OPTION_UNKNOWN;
- }
- if(aliases[hit].extraparam) {
- /* this option requires an extra parameter */
- if(!longopt && parse[1]) {
- nextarg=(char *)&parse[1]; /* this is the actual extra parameter */
- singleopt=TRUE; /* don't loop anymore after this */
- }
- else if(!nextarg)
- return PARAM_REQUIRES_PARAMETER;
- else
- *usedarg = TRUE; /* mark it as used */
- }
-
- switch(letter) {
- case '*': /* options without a short option */
- switch(subletter) {
- case 'a': /* random-file */
- GetStr(&config->random_file, nextarg);
- break;
- case 'b': /* egd-file */
- GetStr(&config->egd_file, nextarg);
- break;
- case 'c': /* connect-timeout */
- if(str2num(&config->connecttimeout, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
- case 'd': /* ciphers */
- GetStr(&config->cipher_list, nextarg);
- break;
- case 'e': /* --disable-epsv */
- config->disable_epsv = toggle;
- break;
- case 'E': /* --epsv */
- config->disable_epsv = !toggle;
- break;
-#ifdef USE_ENVIRONMENT
- case 'f':
- config->writeenv = toggle;
- break;
-#endif
- case 'g': /* --trace */
- GetStr(&config->trace_dump, nextarg);
- if(config->tracetype && (config->tracetype != TRACE_BIN))
- warnf(config, "--trace overrides an earlier trace/verbose option\n");
- config->tracetype = TRACE_BIN;
- break;
- case 'h': /* --trace-ascii */
- GetStr(&config->trace_dump, nextarg);
- if(config->tracetype && (config->tracetype != TRACE_ASCII))
- warnf(config,
- "--trace-ascii overrides an earlier trace/verbose option\n");
- config->tracetype = TRACE_ASCII;
- break;
- case 'i': /* --limit-rate */
- {
- /* We support G, M, K too */
- char *unit;
- curl_off_t value = curlx_strtoofft(nextarg, &unit, 0);
-
- if(!*unit)
- unit=(char *)"b";
- else if(strlen(unit) > 1)
- unit=(char *)"w"; /* unsupported */
-
- switch(*unit) {
- case 'G':
- case 'g':
- value *= 1024*1024*1024;
- break;
- case 'M':
- case 'm':
- value *= 1024*1024;
- break;
- case 'K':
- case 'k':
- value *= 1024;
- break;
- case 'b':
- case 'B':
- /* for plain bytes, leave as-is */
- break;
- default:
- warnf(config, "unsupported rate unit. Use G, M, K or B!\n");
- return PARAM_BAD_USE;
- }
- config->recvpersecond = value;
- config->sendpersecond = value;
- }
- break;
-
- case 'j': /* --compressed */
- config->encoding = toggle;
- break;
-
- case 'k': /* --digest */
- if(toggle)
- config->authtype |= CURLAUTH_DIGEST;
- else
- config->authtype &= ~CURLAUTH_DIGEST;
- break;
-
- case 'l': /* --negotiate */
- if(toggle) {
- if(curlinfo->features & CURL_VERSION_GSSNEGOTIATE)
- config->authtype |= CURLAUTH_GSSNEGOTIATE;
- else
- return PARAM_LIBCURL_DOESNT_SUPPORT;
- }
- else
- config->authtype &= ~CURLAUTH_GSSNEGOTIATE;
- break;
-
- case 'm': /* --ntlm */
- if(toggle) {
- if(curlinfo->features & CURL_VERSION_NTLM)
- config->authtype |= CURLAUTH_NTLM;
- else
- return PARAM_LIBCURL_DOESNT_SUPPORT;
- }
- else
- config->authtype &= ~CURLAUTH_NTLM;
- break;
-
- case 'n': /* --basic for completeness */
- if(toggle)
- config->authtype |= CURLAUTH_BASIC;
- else
- config->authtype &= ~CURLAUTH_BASIC;
- break;
-
- case 'o': /* --anyauth, let libcurl pick it */
- if(toggle)
- config->authtype = CURLAUTH_ANY;
- /* --no-anyauth simply doesn't touch it */
- break;
-
-#ifdef MSDOS
- case 'p': /* --wdebug */
- dbug_init();
- break;
-#endif
- case 'q': /* --ftp-create-dirs */
- config->ftp_create_dirs = toggle;
- break;
-
- case 'r': /* --create-dirs */
- config->create_dirs = TRUE;
- break;
-
- case 's': /* --max-redirs */
- /* specified max no of redirects (http(s)) */
- if(str2num(&config->maxredirs, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
-
- case 't': /* --proxy-ntlm */
- if(curlinfo->features & CURL_VERSION_NTLM)
- config->proxyntlm = toggle;
- else
- return PARAM_LIBCURL_DOESNT_SUPPORT;
- break;
-
- case 'u': /* --crlf */
- /* LF -> CRLF conversion? */
- config->crlf = TRUE;
- break;
-
- case 'v': /* --stderr */
- if(strcmp(nextarg, "-")) {
- FILE *newfile = fopen(nextarg, "wt");
- if(!newfile)
- warnf(config, "Failed to open %s!\n", nextarg);
- else {
- if(config->errors_fopened)
- fclose(config->errors);
- config->errors = newfile;
- config->errors_fopened = TRUE;
- }
- }
- else
- config->errors = stdout;
- break;
- case 'w': /* --interface */
- /* interface */
- GetStr(&config->iface, nextarg);
- break;
- case 'x': /* --krb */
- /* kerberos level string */
- if(curlinfo->features & (CURL_VERSION_KERBEROS4 |
- CURL_VERSION_GSSNEGOTIATE))
- GetStr(&config->krblevel, nextarg);
- else
- return PARAM_LIBCURL_DOESNT_SUPPORT;
- break;
- case 'y': /* --max-filesize */
- if(str2offset(&config->max_filesize, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
- case 'z': /* --disable-eprt */
- config->disable_eprt = toggle;
- break;
- case 'Z': /* --eprt */
- config->disable_eprt = !toggle;
- break;
-
- default: /* the URL! */
- {
- struct getout *url;
- if(config->url_get || (config->url_get=config->url_list)) {
- /* there's a node here, if it already is filled-in continue to find
- an "empty" node */
- while(config->url_get && (config->url_get->flags&GETOUT_URL))
- config->url_get = config->url_get->next;
- }
-
- /* now there might or might not be an available node to fill in! */
-
- if(config->url_get)
- /* existing node */
- url = config->url_get;
- else
- /* there was no free node, create one! */
- url=new_getout(config);
-
- if(url) {
- /* fill in the URL */
- GetStr(&url->url, nextarg);
- url->flags |= GETOUT_URL;
- }
- }
- }
- break;
- case '$': /* more options without a short option */
- switch(subletter) {
- case 'a': /* --ftp-ssl */
- config->ftp_ssl = toggle;
- break;
- case 'b': /* --ftp-pasv */
- if(config->ftpport)
- free(config->ftpport);
- config->ftpport = NULL;
- break;
- case 'c': /* --socks5 specifies a socks5 proxy to use, and resolves
- the name locally and passes on the resolved address */
- GetStr(&config->socksproxy, nextarg);
- config->socksver = CURLPROXY_SOCKS5;
- break;
- case 't': /* --socks4 specifies a socks4 proxy to use */
- GetStr(&config->socksproxy, nextarg);
- config->socksver = CURLPROXY_SOCKS4;
- break;
- case 'T': /* --socks4a specifies a socks4a proxy to use */
- GetStr(&config->socksproxy, nextarg);
- config->socksver = CURLPROXY_SOCKS4A;
- break;
- case '2': /* --socks5-hostname specifies a socks5 proxy and enables name
- resolving with the proxy */
- GetStr(&config->socksproxy, nextarg);
- config->socksver = CURLPROXY_SOCKS5_HOSTNAME;
- break;
- case 'd': /* --tcp-nodelay option */
- config->tcp_nodelay = toggle;
- break;
- case 'e': /* --proxy-digest */
- config->proxydigest = toggle;
- break;
- case 'f': /* --proxy-basic */
- config->proxybasic = toggle;
- break;
- case 'g': /* --retry */
- if(str2num(&config->req_retry, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
- case 'h': /* --retry-delay */
- if(str2num(&config->retry_delay, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
- case 'i': /* --retry-max-time */
- if(str2num(&config->retry_maxtime, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
-
- case 'k': /* --proxy-negotiate */
- if(curlinfo->features & CURL_VERSION_GSSNEGOTIATE)
- config->proxynegotiate = toggle;
- else
- return PARAM_LIBCURL_DOESNT_SUPPORT;
- break;
- case 'm': /* --ftp-account */
- GetStr(&config->ftp_account, nextarg);
- break;
- case 'n': /* --proxy-anyauth */
- config->proxyanyauth = toggle;
- break;
- case 'o': /* --trace-time */
- config->tracetime = toggle;
- break;
- case 'p': /* --ignore-content-length */
- config->ignorecl = toggle;
- break;
- case 'q': /* --ftp-skip-pasv-ip */
- config->ftp_skip_ip = toggle;
- break;
- case 'r': /* --ftp-method (undocumented at this point) */
- config->ftp_filemethod = ftpfilemethod(config, nextarg);
- break;
- case 's': /* --local-port */
- rc = sscanf(nextarg, "%d - %d",
- &config->localport,
- &config->localportrange);
- if(!rc)
- return PARAM_BAD_USE;
- else if(rc == 1)
- config->localportrange = 1; /* default number of ports to try */
- else {
- config->localportrange -= config->localport;
- if(config->localportrange < 1) {
- warnf(config, "bad range input\n");
- return PARAM_BAD_USE;
- }
- }
- break;
- case 'u': /* --ftp-alternative-to-user */
- GetStr(&config->ftp_alternative_to_user, nextarg);
- break;
- case 'v': /* --ftp-ssl-reqd */
- config->ftp_ssl_reqd = toggle;
- break;
- case 'w': /* --no-sessionid */
- config->disable_sessionid = !toggle;
- break;
- case 'x': /* --ftp-ssl-control */
- config->ftp_ssl_control = toggle;
- break;
- case 'y': /* --ftp-ssl-ccc */
- config->ftp_ssl_ccc = toggle;
- if(!config->ftp_ssl_ccc_mode)
- config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE;
- break;
- case 'j': /* --ftp-ssl-ccc-mode */
- config->ftp_ssl_ccc = TRUE;
- config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg);
- break;
- case 'z': /* --libcurl */
- GetStr(&config->libcurl, nextarg);
- break;
- case '#': /* --raw */
- config->raw = toggle;
- break;
- case '0': /* --post301 */
- config->post301 = toggle;
- break;
- case '1': /* --no-keepalive */
- config->nokeepalive = !toggle;
- break;
- case '3': /* --keepalive-time */
- if(str2num(&config->alivetime, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
- }
- break;
- case '#': /* --progress-bar */
- config->progressmode = toggle?CURL_PROGRESS_BAR:0;
- break;
- case '0':
- /* HTTP version 1.0 */
- config->httpversion = CURL_HTTP_VERSION_1_0;
- break;
- case '1':
- /* TLS version 1 */
- config->ssl_version = CURL_SSLVERSION_TLSv1;
- break;
- case '2':
- /* SSL version 2 */
- config->ssl_version = CURL_SSLVERSION_SSLv2;
- break;
- case '3':
- /* SSL version 3 */
- config->ssl_version = CURL_SSLVERSION_SSLv3;
- break;
- case '4':
- /* IPv4 */
- config->ip_version = 4;
- break;
- case '6':
- /* IPv6 */
- config->ip_version = 6;
- break;
- case 'a':
- /* This makes the FTP sessions use APPE instead of STOR */
- config->ftp_append = toggle;
- break;
- case 'A':
- /* This specifies the User-Agent name */
- GetStr(&config->useragent, nextarg);
- break;
- case 'b': /* cookie string coming up: */
- if(nextarg[0] == '@') {
- nextarg++;
- }
- else if(strchr(nextarg, '=')) {
- /* A cookie string must have a =-letter */
- GetStr(&config->cookie, nextarg);
- break;
- }
- /* We have a cookie file to read from! */
- GetStr(&config->cookiefile, nextarg);
- break;
- case 'B':
- /* use ASCII/text when transfering */
- config->use_ascii = toggle;
- break;
- case 'c':
- /* get the file name to dump all cookies in */
- GetStr(&config->cookiejar, nextarg);
- break;
- case 'C':
- /* This makes us continue an ftp transfer at given position */
- if(!curlx_strequal(nextarg, "-")) {
- if(str2offset(&config->resume_from, nextarg))
- return PARAM_BAD_NUMERIC;
- config->resume_from_current = FALSE;
- }
- else {
- config->resume_from_current = TRUE;
- config->resume_from = 0;
- }
- config->use_resume=TRUE;
- break;
- case 'd':
- /* postfield data */
- {
- char *postdata=NULL;
- FILE *file;
-
- if(subletter == 'e') { /* --data-urlencode*/
- /* [name]=[content], we encode the content part only
- * [name]@[file name]
- *
- * Case 2: we first load the file using that name and then encode
- * the content.
- */
- const char *p = strchr(nextarg, '=');
- size_t size = 0;
- size_t nlen;
- char is_file;
- if(!p)
- /* there was no '=' letter, check for a '@' instead */
- p = strchr(nextarg, '@');
- if (p) {
- nlen = p - nextarg; /* length of the name part */
- is_file = *p++; /* pass the separator */
- }
- else {
- /* neither @ nor =, so no name and it isn't a file */
- nlen = is_file = 0;
- p = nextarg;
- }
- if('@' == is_file) {
- /* a '@' letter, it means that a file name or - (stdin) follows */
-
- if(curlx_strequal("-", p)) {
- file = stdin;
- SET_BINMODE(stdin);
- }
- else {
- file = fopen(p, "rb");
- if(!file)
- warnf(config,
- "Couldn't read data from file \"%s\", this makes "
- "an empty POST.\n", nextarg);
- }
-
- err = file2memory(&postdata, &size, file);
-
- if(file && (file != stdin))
- fclose(file);
- if(err)
- return err;
- }
- else {
- GetStr(&postdata, p);
- size = strlen(postdata);
- }
-
- if(!postdata) {
- /* no data from the file, point to a zero byte string to make this
- get sent as a POST anyway */
- postdata=strdup("");
- }
- else {
- char *enc = curl_easy_escape(config->easy, postdata, size);
- if(enc) {
- /* now make a string with the name from above and append the
- encoded string */
- size_t outlen = nlen + strlen(enc) + 2;
- char *n = malloc(outlen);
- if(!n)
- return PARAM_NO_MEM;
- if (nlen > 0) /* only append '=' if we have a name */
- snprintf(n, outlen, "%.*s=%s", nlen, nextarg, enc);
- else
- strcpy(n, enc);
- curl_free(enc);
- free(postdata);
- if(n) {
- postdata = n;
- }
- else
- return PARAM_NO_MEM;
- }
- else
- return PARAM_NO_MEM;
- }
- }
- else if('@' == *nextarg) {
- size_t size = 0;
- /* the data begins with a '@' letter, it means that a file name
- or - (stdin) follows */
- nextarg++; /* pass the @ */
-
- if(curlx_strequal("-", nextarg)) {
- file = stdin;
- if(subletter == 'b') /* forced data-binary */
- SET_BINMODE(stdin);
- }
- else {
- file = fopen(nextarg, "rb");
- if(!file)
- warnf(config, "Couldn't read data from file \"%s\", this makes "
- "an empty POST.\n", nextarg);
- }
-
- if(subletter == 'b') {
- /* forced binary */
- err = file2memory(&postdata, &size, file);
- config->postfieldsize = (curl_off_t)size;
- }
- else
- err = file2string(&postdata, file);
-
- if(file && (file != stdin))
- fclose(file);
- if(err)
- return err;
-
- if(!postdata) {
- /* no data from the file, point to a zero byte string to make this
- get sent as a POST anyway */
- postdata=strdup("");
- }
- }
- else {
- GetStr(&postdata, nextarg);
- }
-
-#ifdef CURL_DOES_CONVERSIONS
- if(subletter != 'b') { /* NOT forced binary, convert to ASCII */
- convert_to_network(postdata, strlen(postdata));
- }
-#endif
-
- if(config->postfields) {
- /* we already have a string, we append this one
- with a separating &-letter */
- char *oldpost=config->postfields;
- size_t newlen = strlen(oldpost) + strlen(postdata) + 2;
- config->postfields=malloc(newlen);
- if(!config->postfields) {
- free(postdata);
- return PARAM_NO_MEM;
- }
- /* use ASCII value 0x26 for '&' to accommodate non-ASCII platforms */
- snprintf(config->postfields, newlen, "%s\x26%s", oldpost, postdata);
- free(oldpost);
- free(postdata);
- }
- else
- config->postfields=postdata;
- }
- /*
- We can't set the request type here, as this data might be used in
- a simple GET if -G is used. Already or soon.
-
- if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq))
- return PARAM_BAD_USE;
- */
- break;
- case 'D':
- /* dump-header to given file name */
- GetStr(&config->headerfile, nextarg);
- break;
- case 'e':
- {
- char *ptr = strstr(nextarg, ";auto");
- if(ptr) {
- /* Automatic referer requested, this may be combined with a
- set initial one */
- config->autoreferer = TRUE;
- *ptr = 0; /* zero terminate here */
- }
- else
- config->autoreferer = FALSE;
- GetStr(&config->referer, nextarg);
- }
- break;
- case 'E':
- switch(subletter) {
- case 'a': /* CA info PEM file */
- /* CA info PEM file */
- GetStr(&config->cacert, nextarg);
- break;
- case 'b': /* cert file type */
- GetStr(&config->cert_type, nextarg);
- break;
- case 'c': /* private key file */
- GetStr(&config->key, nextarg);
- break;
- case 'd': /* private key file type */
- GetStr(&config->key_type, nextarg);
- break;
- case 'e': /* private key passphrase */
- GetStr(&config->key_passwd, nextarg);
- cleanarg(nextarg);
- break;
- case 'f': /* crypto engine */
- GetStr(&config->engine, nextarg);
- if (config->engine && curlx_strequal(config->engine,"list"))
- config->list_engines = TRUE;
- break;
- case 'g': /* CA info PEM file */
- /* CA cert directory */
- GetStr(&config->capath, nextarg);
- break;
- case 'h': /* --pubkey public key file */
- GetStr(&config->pubkey, nextarg);
- break;
- case 'i': /* --hostpubmd5 md5 of the host public key */
- GetStr(&config->hostpubmd5, nextarg);
- if (!config->hostpubmd5 || strlen(config->hostpubmd5) != 32)
- return PARAM_BAD_USE;
- break;
- default: /* certificate file */
- {
- char *ptr = strchr(nextarg, ':');
- /* Since we live in a world of weirdness and confusion, the win32
- dudes can use : when using drive letters and thus
- c:\file:password needs to work. In order not to break
- compatibility, we still use : as separator, but we try to detect
- when it is used for a file name! On windows. */
-#ifdef WIN32
- if(ptr &&
- (ptr == &nextarg[1]) &&
- (nextarg[2] == '\\' || nextarg[2] == '/') &&
- (ISALPHA(nextarg[0])) )
- /* colon in the second column, followed by a backslash, and the
- first character is an alphabetic letter:
-
- this is a drive letter colon */
- ptr = strchr(&nextarg[3], ':'); /* find the next one instead */
-#endif
- if(ptr) {
- /* we have a password too */
- *ptr=0;
- ptr++;
- GetStr(&config->key_passwd, ptr);
- }
- GetStr(&config->cert, nextarg);
- cleanarg(nextarg);
- }
- }
- break;
- case 'f':
- /* fail hard on errors */
- config->failonerror = toggle;
- break;
- case 'F':
- /* "form data" simulation, this is a little advanced so lets do our best
- to sort this out slowly and carefully */
- if(formparse(config,
- nextarg,
- &config->httppost,
- &config->last_post,
- (bool) (subletter=='s'))) /* 's' means literal string */
- return PARAM_BAD_USE;
- if(SetHTTPrequest(config, HTTPREQ_POST, &config->httpreq))
- return PARAM_BAD_USE;
- break;
-
- case 'g': /* g disables URLglobbing */
- config->globoff = toggle;
- break;
-
- case 'G': /* HTTP GET */
- config->use_httpget = TRUE;
- break;
-
- case 'h': /* h for help */
- if(toggle) {
- help();
- return PARAM_HELP_REQUESTED;
- }
- /* we now actually support --no-help too! */
- break;
- case 'H':
- /* A custom header to append to a list */
- err = add2list(&config->headers, nextarg);
- if(err)
- return err;
- break;
- case 'i':
- config->include_headers = toggle; /* include the headers as well in the
- general output stream */
- break;
- case 'j':
- config->cookiesession = toggle;
- break;
- case 'I':
- /*
- * no_body will imply include_headers later on
- */
- config->no_body = toggle;
- if(SetHTTPrequest(config,
- (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET,
- &config->httpreq))
- return PARAM_BAD_USE;
- break;
- case 'k': /* allow insecure SSL connects */
- config->insecure_ok = toggle;
- break;
- case 'K': /* parse config file */
- if(parseconfig(nextarg, config))
- warnf(config, "error trying read config from the '%s' file\n",
- nextarg);
- break;
- case 'l':
- config->dirlistonly = toggle; /* only list the names of the FTP dir */
- break;
- case 'L':
- config->followlocation = toggle; /* Follow Location: HTTP headers */
- switch (subletter) {
- case 't':
- /* Continue to send authentication (user+password) when following
- * locations, even when hostname changed */
- config->unrestricted_auth = toggle;
- break;
- }
- break;
- case 'm':
- /* specified max time */
- if(str2num(&config->timeout, nextarg))
- return PARAM_BAD_NUMERIC;
- break;
- case 'M': /* M for manual, huge help */
- if(toggle) { /* --no-manual shows no manual... */
-#ifdef USE_MANUAL
- hugehelp();
- return PARAM_HELP_REQUESTED;
-#else
- warnf(config,
- "built-in manual was disabled at build-time!\n");
- return PARAM_OPTION_UNKNOWN;
-#endif
- }
- break;
- case 'n':
- switch(subletter) {
- case 'o': /* CA info PEM file */
- /* use .netrc or URL */
- config->netrc_opt = toggle;
- break;
- default:
- /* pick info from .netrc, if this is used for http, curl will
- automatically enfore user+password with the request */
- config->netrc = toggle;
- break;
- }
- break;
- case 'N':
- /* disable the output I/O buffering */
- config->nobuffer = !toggle;
- break;
- case 'O': /* --remote-name */
- if(subletter == 'a') { /* --remote-name-all */
- config->default_node_flags = toggle?GETOUT_USEREMOTE:0;
- break;
- }
- /* fall-through! */
- case 'o': /* --output */
- /* output file */
- {
- struct getout *url;
- if(config->url_out || (config->url_out=config->url_list)) {
- /* there's a node here, if it already is filled-in continue to find
- an "empty" node */
- while(config->url_out && (config->url_out->flags&GETOUT_OUTFILE))
- config->url_out = config->url_out->next;
- }
-
- /* now there might or might not be an available node to fill in! */
-
- if(config->url_out)
- /* existing node */
- url = config->url_out;
- else
- /* there was no free node, create one! */
- url=new_getout(config);
-
- if(url) {
- /* fill in the outfile */
- if('o' == letter) {
- GetStr(&url->outfile, nextarg);
- url->flags &= ~GETOUT_USEREMOTE; /* switch off */
- }
- else {
- url->outfile=NULL; /* leave it */
- if(toggle)
- url->flags |= GETOUT_USEREMOTE; /* switch on */
- else
- url->flags &= ~GETOUT_USEREMOTE; /* switch off */
- }
- url->flags |= GETOUT_OUTFILE;
- }
- }
- break;
- case 'P':
- /* This makes the FTP sessions use PORT instead of PASV */
- /* use <eth0> or <192.168.10.10> style addresses. Anything except
- this will make us try to get the "default" address.
- NOTE: this is a changed behaviour since the released 4.1!
- */
- GetStr(&config->ftpport, nextarg);
- break;
- case 'p':
- /* proxy tunnel for non-http protocols */
- config->proxytunnel = toggle;
- break;
-
- case 'q': /* if used first, already taken care of, we do it like
- this so we don't cause an error! */
- break;
- case 'Q':
- /* QUOTE command to send to FTP server */
- err = PARAM_OK;
- switch(nextarg[0]) {
- case '-':
- /* prefixed with a dash makes it a POST TRANSFER one */
- nextarg++;
- err = add2list(&config->postquote, nextarg);
- break;
- case '+':
- /* prefixed with a plus makes it a just-before-transfer one */
- nextarg++;
- err = add2list(&config->prequote, nextarg);
- break;
- default:
- err = add2list(&config->quote, nextarg);
- break;
- }
- if(err)
- return err;
- break;
- case 'r':
- /* Specifying a range WITHOUT A DASH will create an illegal HTTP range
- (and won't actually be range by definition). The man page previously
- claimed that to be a good way, why this code is added to work-around
- it. */
- if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) {
- char buffer[32];
- curl_off_t off;
- warnf(config,
- "A specified range MUST include at least one dash (-). "
- "Appending one for you!\n");
- off = curlx_strtoofft(nextarg, NULL, 10);
- snprintf(buffer, sizeof(buffer), "%Od-", off);
- GetStr(&config->range, buffer);
- }
- {
- /* byte range requested */
- char* tmp_range;
- tmp_range=nextarg;
- while(*tmp_range != '\0') {
- if(!ISDIGIT(*tmp_range)&&*tmp_range!='-'&&*tmp_range!=',') {
- warnf(config,"Invalid character is found in given range. "
- "A specified range MUST have only digits in "
- "\'start\'-\'stop\'. The server's response to this "
- "request is uncertain.\n");
- break;
- }
- tmp_range++;
- }
- /* byte range requested */
- GetStr(&config->range, nextarg);
- }
- break;
- case 'R':
- /* use remote file's time */
- config->remote_time = toggle;
- break;
- case 's':
- /* don't show progress meter, don't show errors : */
- if(toggle)
- config->mute = config->noprogress = TRUE;
- else
- config->mute = config->noprogress = FALSE;
- config->showerror = !toggle; /* toggle off */
- break;
- case 'S':
- /* show errors */
- config->showerror = toggle; /* toggle on if used with -s */
- break;
- case 't':
- /* Telnet options */
- err = add2list(&config->telnet_options, nextarg);
- if(err)
- return err;
- break;
- case 'T':
- /* we are uploading */
- {
- struct getout *url;
- if(config->url_out || (config->url_out=config->url_list)) {
- /* there's a node here, if it already is filled-in continue to find
- an "empty" node */
- while(config->url_out && (config->url_out->flags&GETOUT_UPLOAD))
- config->url_out = config->url_out->next;
- }
-
- /* now there might or might not be an available node to fill in! */
-
- if(config->url_out)
- /* existing node */
- url = config->url_out;
- else
- /* there was no free node, create one! */
- url=new_getout(config);
-
- if(url) {
- url->flags |= GETOUT_UPLOAD; /* mark -T used */
- if(!*nextarg)
- url->flags |= GETOUT_NOUPLOAD;
- else {
- /* "-" equals stdin, but keep the string around for now */
- GetStr(&url->infile, nextarg);
- }
- }
- }
- break;
- case 'u':
- /* user:password */
- GetStr(&config->userpwd, nextarg);
- cleanarg(nextarg);
- checkpasswd("host", &config->userpwd);
- break;
- case 'U':
- /* Proxy user:password */
- GetStr(&config->proxyuserpwd, nextarg);
- cleanarg(nextarg);
- checkpasswd("proxy", &config->proxyuserpwd);
- break;
- case 'v':
- if(toggle) {
- /* the '%' thing here will cause the trace get sent to stderr */
- GetStr(&config->trace_dump, (char *)"%");
- if(config->tracetype && (config->tracetype != TRACE_PLAIN))
- warnf(config,
- "-v/--verbose overrides an earlier trace/verbose option\n");
- config->tracetype = TRACE_PLAIN;
- }
- else
- /* verbose is disabled here */
- config->tracetype = TRACE_NONE;
- break;
- case 'V':
- {
- const char * const *proto;
-
- if(!toggle)
- /* --no-version yields no output! */
- break;
-
- printf(CURL_ID "%s\n", curl_version());
- if (curlinfo->protocols) {
- printf("Protocols: ");
- for (proto=curlinfo->protocols; *proto; ++proto) {
- printf("%s ", *proto);
- }
- puts(""); /* newline */
- }
- if(curlinfo->features) {
- unsigned int i;
- struct feat {
- const char *name;
- int bitmask;
- };
- static const struct feat feats[] = {
- {"AsynchDNS", CURL_VERSION_ASYNCHDNS},
- {"Debug", CURL_VERSION_DEBUG},
- {"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE},
- {"IDN", CURL_VERSION_IDN},
- {"IPv6", CURL_VERSION_IPV6},
- {"Largefile", CURL_VERSION_LARGEFILE},
- {"NTLM", CURL_VERSION_NTLM},
- {"SPNEGO", CURL_VERSION_SPNEGO},
- {"SSL", CURL_VERSION_SSL},
- {"SSPI", CURL_VERSION_SSPI},
- {"krb4", CURL_VERSION_KERBEROS4},
- {"libz", CURL_VERSION_LIBZ},
- {"CharConv", CURL_VERSION_CONV}
- };
- printf("Features: ");
- for(i=0; i<sizeof(feats)/sizeof(feats[0]); i++) {
- if(curlinfo->features & feats[i].bitmask)
- printf("%s ", feats[i].name);
- }
- puts(""); /* newline */
- }
- }
- return PARAM_HELP_REQUESTED;
- case 'w':
- /* get the output string */
- if('@' == *nextarg) {
- /* the data begins with a '@' letter, it means that a file name
- or - (stdin) follows */
- FILE *file;
- nextarg++; /* pass the @ */
- if(curlx_strequal("-", nextarg))
- file = stdin;
- else
- file = fopen(nextarg, "r");
- err = file2string(&config->writeout, file);
- if(file && (file != stdin))
- fclose(file);
- if(err)
- return err;
- if(!config->writeout)
- warnf(config, "Failed to read %s", file);
- }
- else
- GetStr(&config->writeout, nextarg);
- break;
- case 'x':
- /* proxy */
- GetStr(&config->proxy, nextarg);
- break;
- case 'X':
- /* set custom request */
- GetStr(&config->customrequest, nextarg);
- break;
- case 'y':
- /* low speed time */
- if(str2num(&config->low_speed_time, nextarg))
- return PARAM_BAD_NUMERIC;
- if(!config->low_speed_limit)
- config->low_speed_limit = 1;
- break;
- case 'Y':
- /* low speed limit */
- if(str2num(&config->low_speed_limit, nextarg))
- return PARAM_BAD_NUMERIC;
- if(!config->low_speed_time)
- config->low_speed_time=30;
- break;
- case 'z': /* time condition coming up */
- switch(*nextarg) {
- case '+':
- nextarg++;
- default:
- /* If-Modified-Since: (section 14.28 in RFC2068) */
- config->timecond = CURL_TIMECOND_IFMODSINCE;
- break;
- case '-':
- /* If-Unmodified-Since: (section 14.24 in RFC2068) */
- config->timecond = CURL_TIMECOND_IFUNMODSINCE;
- nextarg++;
- break;
- case '=':
- /* Last-Modified: (section 14.29 in RFC2068) */
- config->timecond = CURL_TIMECOND_LASTMOD;
- nextarg++;
- break;
- }
- now=time(NULL);
- config->condtime=curl_getdate(nextarg, &now);
- if(-1 == (int)config->condtime) {
- /* now let's see if it is a file name to get the time from instead! */
- struct_stat statbuf;
- if(-1 == stat(nextarg, &statbuf)) {
- /* failed, remove time condition */
- config->timecond = CURL_TIMECOND_NONE;
- warnf(config,
- "Illegal date format for -z/--timecond (and not "
- "a file name). Disabling time condition. "
- "See curl_getdate(3) for valid date syntax.\n");
- }
- else {
- /* pull the time out from the file */
- config->condtime = statbuf.st_mtime;
- }
- }
- break;
- default: /* unknown flag */
- return PARAM_OPTION_UNKNOWN;
- }
- hit = -1;
-
- } while(!longopt && !singleopt && *++parse && !*usedarg);
-
- return PARAM_OK;
-}
-
-/*
- * Copies the string from line to the buffer at param, unquoting
- * backslash-quoted characters and NUL-terminating the output string.
- * Stops at the first non-backslash-quoted double quote character or the
- * end of the input string. param must be at least as long as the input
- * string. Returns the pointer after the last handled input character.
- */
-static const char *unslashquote(const char *line, char *param)
-{
- while(*line && (*line != '\"')) {
- if(*line == '\\') {
- char out;
- line++;
-
- /* default is to output the letter after the backslash */
- switch(out = *line) {
- case '\0':
- continue; /* this'll break out of the loop */
- case 't':
- out='\t';
- break;
- case 'n':
- out='\n';
- break;
- case 'r':
- out='\r';
- break;
- case 'v':
- out='\v';
- break;
- }
- *param++=out;
- line++;
- }
- else
- *param++=*line++;
- }
- *param=0; /* always zero terminate */
- return line;
-}
-
-/* return 0 on everything-is-fine, and non-zero otherwise */
-static int parseconfig(const char *filename,
- struct Configurable *config)
-{
- int res;
- FILE *file;
- char filebuffer[512];
- bool usedarg;
- char *home;
- int rc = 0;
-
- if(!filename || !*filename) {
- /* NULL or no file name attempts to load .curlrc from the homedir! */
-
-#define CURLRC DOT_CHAR "curlrc"
-
-#ifndef __AMIGA__
- filename = CURLRC; /* sensible default */
- home = homedir(); /* portable homedir finder */
- if(home) {
- if(strlen(home)<(sizeof(filebuffer)-strlen(CURLRC))) {
- snprintf(filebuffer, sizeof(filebuffer),
- "%s%s%s", home, DIR_CHAR, CURLRC);
-
-#ifdef WIN32
- /* Check if the file exists - if not, try CURLRC in the same
- * directory as our executable
- */
- file = fopen(filebuffer, "r");
- if (file != NULL) {
- fclose(file);
- filename = filebuffer;
- }
- else {
- /* Get the filename of our executable. GetModuleFileName is
- * already declared via inclusions done in setup header file.
- * We assume that we are using the ASCII version here.
- */
- int n = GetModuleFileName(0, filebuffer, sizeof(filebuffer));
- if (n > 0 && n < (int)sizeof(filebuffer)) {
- /* We got a valid filename - get the directory part */
- char *lastdirchar = strrchr(filebuffer, '\\');
- if (lastdirchar) {
- int remaining;
- *lastdirchar = 0;
- /* If we have enough space, build the RC filename */
- remaining = sizeof(filebuffer) - strlen(filebuffer);
- if ((int)strlen(CURLRC) < remaining - 1) {
- snprintf(lastdirchar, remaining,
- "%s%s", DIR_CHAR, CURLRC);
- /* Don't bother checking if it exists - we do
- * that later
- */
- filename = filebuffer;
- }
- }
- }
- }
-#else /* WIN32 */
- filename = filebuffer;
-#endif /* WIN32 */
- }
- free(home); /* we've used it, now free it */
- }
-
-# else /* __AMIGA__ */
- /* On AmigaOS all the config files are into env:
- */
- filename = "ENV:" CURLRC;
-
-#endif
- }
-
- if(strcmp(filename,"-"))
- file = fopen(filename, "r");
- else
- file = stdin;
-
- if(file) {
- char *line;
- char *aline;
- char *option;
- char *param;
- int lineno=0;
- bool alloced_param;
-
-#define ISSEP(x) (((x)=='=') || ((x) == ':'))
-
- while (NULL != (aline = my_get_line(file))) {
- lineno++;
- line = aline;
- alloced_param=FALSE;
-
- /* line with # in the first non-blank column is a comment! */
- while(*line && ISSPACE(*line))
- line++;
-
- switch(*line) {
- case '#':
- case '/':
- case '\r':
- case '\n':
- case '*':
- case '\0':
- free(aline);
- continue;
- }
-
- /* the option keywords starts here */
- option = line;
- while(*line && !ISSPACE(*line) && !ISSEP(*line))
- line++;
- /* ... and has ended here */
-
- if(*line)
- *line++=0; /* zero terminate, we have a local copy of the data */
-
-#ifdef DEBUG_CONFIG
- fprintf(stderr, "GOT: %s\n", option);
-#endif
-
- /* pass spaces and separator(s) */
- while(*line && (ISSPACE(*line) || ISSEP(*line)))
- line++;
-
- /* the parameter starts here (unless quoted) */
- if(*line == '\"') {
- /* quoted parameter, do the quote dance */
- line++;
- param=malloc(strlen(line)+1); /* parameter */
- if (!param) {
- /* out of memory */
- free(aline);
- rc = 1;
- break;
- }
- alloced_param=TRUE;
- line = (char*) unslashquote(line, param);
- }
- else {
- param=line; /* parameter starts here */
- while(*line && !ISSPACE(*line))
- line++;
- *line=0; /* zero terminate */
- }
-
- if (param && !*param) {
- /* do this so getparameter can check for required parameters.
- Otherwise it always thinks there's a parameter. */
- if (alloced_param)
- free(param);
- param = NULL;
- }
-
-#ifdef DEBUG_CONFIG
- fprintf(stderr, "PARAM: \"%s\"\n",(param ? param : "(null)"));
-#endif
- res = getparameter(option, param, &usedarg, config);
-
- if (param && *param && !usedarg)
- /* we passed in a parameter that wasn't used! */
- res = PARAM_GOT_EXTRA_PARAMETER;
-
- if(res != PARAM_OK) {
- /* the help request isn't really an error */
- if(!strcmp(filename, "-")) {
- filename=(char *)"<stdin>";
- }
- if(PARAM_HELP_REQUESTED != res) {
- const char *reason = param2text(res);
- warnf(config, "%s:%d: warning: '%s' %s\n",
- filename, lineno, option, reason);
- }
- }
-
- if(alloced_param)
- {
- free(param);
- param = NULL;
- }
-
- free(aline);
- }
- if(file != stdin)
- fclose(file);
- }
- else
- rc = 1; /* couldn't open the file */
- return rc;
-}
-
-static void go_sleep(long ms)
-{
-#ifdef HAVE_POLL_FINE
- /* portable subsecond "sleep" */
- poll((void *)0, 0, (int)ms);
-#else
- /* systems without poll() need other solutions */
-
-#ifdef WIN32
- /* Windows offers a millisecond sleep */
- Sleep(ms);
-#elif defined(MSDOS)
- delay(ms);
-#else
- /* Other systems must use select() for this */
- struct timeval timeout;
-
- timeout.tv_sec = ms/1000;
- ms = ms%1000;
- timeout.tv_usec = ms * 1000;
-
- select(0, NULL, NULL, NULL, &timeout);
-#endif
-
-#endif
-}
-
-static size_t my_fwrite(void *buffer, size_t sz, size_t nmemb, void *stream)
-{
- size_t rc;
- struct OutStruct *out=(struct OutStruct *)stream;
- struct Configurable *config = out->config;
-
- if(!out->stream) {
- /* open file for writing */
- out->stream=fopen(out->filename, "wb");
- if(!out->stream) {
- warnf(config, "Failed to create the file %s\n", out->filename);
- /*
- * Once that libcurl has called back my_fwrite() the returned value
- * is checked against the amount that was intended to be written, if
- * it does not match then it fails with CURLE_WRITE_ERROR. So at this
- * point returning a value different from sz*nmemb indicates failure.
- */
- rc = (0 == (sz * nmemb)) ? 1 : 0;
- return rc; /* failure */
- }
- }
-
- rc = fwrite(buffer, sz, nmemb, out->stream);
-
- if((sz * nmemb) == rc) {
- /* we added this amount of data to the output */
- out->bytes += (sz * nmemb);
- }
-
- if(config->nobuffer)
- /* disable output buffering */
- fflush(out->stream);
-
- return rc;
-}
-
-struct InStruct {
- int fd;
- struct Configurable *config;
-};
-
-#define MAX_SEEK 2147483647
-
-/*
- * my_seek() is the CURLOPT_SEEKFUNCTION we use
- */
-static int my_seek(void *stream, curl_off_t offset, int whence)
-{
- struct InStruct *in=(struct InStruct *)stream;
-
-#if (CURL_SIZEOF_CURL_OFF_T > SIZEOF_OFF_T) && !defined(USE_WIN32_LARGE_FILES)
- /* The offset check following here is only interesting if curl_off_t is
- larger than off_t and we are not using the WIN32 large file support
- macros that provide the support to do 64bit seeks correctly */
-
- if(offset > MAX_SEEK) {
- /* Some precaution code to work around problems with different data sizes
- to allow seeking >32bit even if off_t is 32bit. Should be very rare and
- is really valid on weirdo-systems. */
- curl_off_t left = offset;
-
- if(whence != SEEK_SET)
- /* this code path doesn't support other types */
- return 1;
-
- if(-1 == lseek(in->fd, 0, SEEK_SET))
- /* couldn't rewind to beginning */
- return 1;
-
- while(left) {
- long step = (left>MAX_SEEK ? MAX_SEEK : (long)left);
- if(-1 == lseek(in->fd, step, SEEK_CUR))
- /* couldn't seek forwards the desired amount */
- return 1;
- left -= step;
- }
- return 0;
- }
-#endif
- if(-1 == lseek(in->fd, offset, whence))
- /* couldn't rewind, the reason is in errno but errno is just not
- portable enough and we don't actually care that much why we failed. */
- return 1;
-
- return 0;
-}
-
-static size_t my_fread(void *buffer, size_t sz, size_t nmemb, void *userp)
-{
- ssize_t rc;
- struct InStruct *in=(struct InStruct *)userp;
-
- rc = read(in->fd, buffer, sz*nmemb);
- if(rc < 0)
- /* since size_t is unsigned we can't return negative values fine */
- return 0;
- return (size_t)rc;
-}
-
-struct ProgressData {
- int calls;
- curl_off_t prev;
- int width;
- FILE *out; /* where to write everything to */
- curl_off_t initial_size;
-};
-
-static int myprogress (void *clientp,
- double dltotal,
- double dlnow,
- double ultotal,
- double ulnow)
-{
- /* The original progress-bar source code was written for curl by Lars Aas,
- and this new edition inherits some of his concepts. */
-
- char line[256];
- char outline[256];
- char format[40];
- double frac;
- double percent;
- int barwidth;
- int num;
- int i;
-
- struct ProgressData *bar = (struct ProgressData *)clientp;
- curl_off_t total = (curl_off_t)dltotal + (curl_off_t)ultotal +
- bar->initial_size; /* expected transfer size */
- curl_off_t point = (curl_off_t)dlnow + (curl_off_t)ulnow +
- bar->initial_size; /* we've come this far */
-
- if(point > total)
- /* we have got more than the expected total! */
- total = point;
-
- bar->calls++; /* simply count invokes */
-
- if(total < 1) {
- curl_off_t prevblock = bar->prev / 1024;
- curl_off_t thisblock = point / 1024;
- while ( thisblock > prevblock ) {
- fprintf( bar->out, "#" );
- prevblock++;
- }
- }
- else {
- frac = (double)point / (double)total;
- percent = frac * 100.0f;
- barwidth = bar->width - 7;
- num = (int) (((double)barwidth) * frac);
- i = 0;
- for ( i = 0; i < num; i++ ) {
- line[i] = '#';
- }
- line[i] = '\0';
- snprintf( format, sizeof(format), "%%-%ds %%5.1f%%%%", barwidth );
- snprintf( outline, sizeof(outline), format, line, percent );
- fprintf( bar->out, "\r%s", outline );
- }
- fflush(bar->out);
- bar->prev = point;
-
- return 0;
-}
-
-static
-void progressbarinit(struct ProgressData *bar,
- struct Configurable *config)
-{
-#ifdef __EMX__
- /* 20000318 mgs */
- int scr_size [2];
-#endif
- char *colp;
-
- memset(bar, 0, sizeof(struct ProgressData));
-
- /* pass this through to progress function so
- * it can display progress towards total file
- * not just the part that's left. (21-may-03, dbyron) */
- if (config->use_resume)
- bar->initial_size = config->resume_from;
-
-/* TODO: get terminal width through ansi escapes or something similar.
- try to update width when xterm is resized... - 19990617 larsa */
-#ifndef __EMX__
- /* 20000318 mgs
- * OS/2 users most likely won't have this env var set, and besides that
- * we're using our own way to determine screen width */
- colp = curlx_getenv("COLUMNS");
- if (colp != NULL) {
- bar->width = atoi(colp);
- curl_free(colp);
- }
- else
- bar->width = 79;
-#else
- /* 20000318 mgs
- * We use this emx library call to get the screen width, and subtract
- * one from what we got in order to avoid a problem with the cursor
- * advancing to the next line if we print a string that is as long as
- * the screen is wide. */
-
- _scrsize(scr_size);
- bar->width = scr_size[0] - 1;
-#endif
-
- bar->out = config->errors;
-}
-
-
-static
-void dump(const char *timebuf, const char *text,
- FILE *stream, const unsigned char *ptr, size_t size,
- trace tracetype, curl_infotype infotype)
-{
- size_t i;
- size_t c;
-
- unsigned int width=0x10;
-
- if(tracetype == TRACE_ASCII)
- /* without the hex output, we can fit more on screen */
- width = 0x40;
-
- fprintf(stream, "%s%s, %zd bytes (0x%zx)\n", timebuf, text, size, size);
-
- for(i=0; i<size; i+= width) {
-
- fprintf(stream, "%04zx: ", i);
-
- if(tracetype == TRACE_BIN) {
- /* 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 ((tracetype == TRACE_ASCII) &&
- (i+c+1 < size) && ptr[i+c]==0x0D && ptr[i+c+1]==0x0A) {
- i+=(c+2-width);
- break;
- }
-#ifdef CURL_DOES_CONVERSIONS
- /* repeat the 0D0A check above but use the host encoding for CRLF */
- if ((tracetype == TRACE_ASCII) &&
- (i+c+1 < size) && ptr[i+c]=='\r' && ptr[i+c+1]=='\n') {
- i+=(c+2-width);
- break;
- }
- /* convert to host encoding and print this character */
- fprintf(stream, "%c", convert_char(infotype, ptr[i+c]));
-#else
- (void)infotype;
- fprintf(stream, "%c",
- (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:UNPRINTABLE_CHAR);
-#endif /* CURL_DOES_CONVERSIONS */
- /* check again for 0D0A, to avoid an extra \n if it's at width */
- if ((tracetype == TRACE_ASCII) &&
- (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)
-{
- struct Configurable *config = (struct Configurable *)userp;
- FILE *output=config->errors;
- const char *text;
- struct timeval tv;
- struct tm *now;
- char timebuf[20];
- time_t secs;
-
- (void)handle; /* prevent compiler warning */
-
- tv = cutil_tvnow();
- secs = tv.tv_sec;
- now = localtime(&secs); /* not multithread safe but we don't care */
- if(config->tracetime)
- snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06d ",
- now->tm_hour, now->tm_min, now->tm_sec, tv.tv_usec);
- else
- timebuf[0]=0;
-
- if(!config->trace_stream) {
- /* open for append */
- if(curlx_strequal("-", config->trace_dump))
- config->trace_stream = stdout;
- else if(curlx_strequal("%", config->trace_dump))
- /* Ok, this is somewhat hackish but we do it undocumented for now */
- config->trace_stream = config->errors; /* aka stderr */
- else {
- config->trace_stream = fopen(config->trace_dump, "w");
- config->trace_fopened = TRUE;
- }
- }
-
- if(config->trace_stream)
- output = config->trace_stream;
-
- if(config->tracetype == TRACE_PLAIN) {
- /*
- * This is the trace look that is similar to what libcurl makes on its
- * own.
- */
- static const char * const s_infotype[] = {
- "*", "<", ">", "{", "}", "{", "}"
- };
- size_t i;
- size_t st=0;
- static bool newl = FALSE;
- static bool traced_data = FALSE;
-
- switch(type) {
- case CURLINFO_HEADER_OUT:
- for(i=0; i<size-1; i++) {
- if(data[i] == '\n') { /* LF */
- if(!newl) {
- fprintf(config->trace_stream, "%s%s ",
- timebuf, s_infotype[type]);
- }
- fwrite(data+st, i-st+1, 1, config->trace_stream);
- st = i+1;
- newl = FALSE;
- }
- }
- if(!newl)
- fprintf(config->trace_stream, "%s%s ", timebuf, s_infotype[type]);
- fwrite(data+st, i-st+1, 1, config->trace_stream);
- newl = (bool)(size && (data[size-1] != '\n'));
- traced_data = FALSE;
- break;
- case CURLINFO_TEXT:
- case CURLINFO_HEADER_IN:
- if(!newl)
- fprintf(config->trace_stream, "%s%s ", timebuf, s_infotype[type]);
- fwrite(data, size, 1, config->trace_stream);
- newl = (bool)(size && (data[size-1] != '\n'));
- traced_data = FALSE;
- break;
- case CURLINFO_DATA_OUT:
- case CURLINFO_DATA_IN:
- case CURLINFO_SSL_DATA_IN:
- case CURLINFO_SSL_DATA_OUT:
- if(!traced_data) {
- /* if the data is output to a tty and we're sending this debug trace
- to stderr or stdout, we don't display the alert about the data not
- being shown as the data _is_ shown then just not via this
- function */
- if(!config->isatty ||
- ((config->trace_stream != stderr) &&
- (config->trace_stream != stdout))) {
- if(!newl)
- fprintf(config->trace_stream, "%s%s ", timebuf, s_infotype[type]);
- fprintf(config->trace_stream, "[data not shown]\n");
- newl = FALSE;
- traced_data = TRUE;
- }
- }
- break;
- default: /* nada */
- newl = FALSE;
- traced_data = FALSE;
- break;
- }
-
- return 0;
- }
-
-#ifdef CURL_DOES_CONVERSIONS
- /* Special processing is needed for CURLINFO_HEADER_OUT blocks
- * if they contain both headers and data (separated by CRLFCRLF).
- * We dump the header text and then switch type to CURLINFO_DATA_OUT.
- */
- if((type == CURLINFO_HEADER_OUT) && (size > 4)) {
- size_t i;
- for(i = 0; i < size - 4; i++) {
- if(memcmp(&data[i], "\r\n\r\n", 4) == 0) {
- /* dump everthing through the CRLFCRLF as a sent header */
- text = "=> Send header";
- dump(timebuf, text, output, data, i+4, config->tracetype, type);
- data += i + 3;
- size -= i + 4;
- type = CURLINFO_DATA_OUT;
- data += 1;
- break;
- }
- }
- }
-#endif /* CURL_DOES_CONVERSIONS */
-
- switch (type) {
- case CURLINFO_TEXT:
- fprintf(output, "%s== Info: %s", timebuf, 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;
- case CURLINFO_SSL_DATA_IN:
- text = "<= Recv SSL data";
- break;
- case CURLINFO_SSL_DATA_OUT:
- text = "=> Send SSL data";
- break;
- }
-
- dump(timebuf, text, output, data, size, config->tracetype, type);
- return 0;
-}
-
-static void free_config_fields(struct Configurable *config)
-{
- if(config->random_file)
- free(config->random_file);
- if(config->egd_file)
- free(config->egd_file);
- if(config->trace_dump)
- free(config->trace_dump);
- if(config->cipher_list)
- free(config->cipher_list);
- if(config->userpwd)
- free(config->userpwd);
- if(config->postfields)
- free(config->postfields);
- if(config->proxy)
- free(config->proxy);
- if(config->proxyuserpwd)
- free(config->proxyuserpwd);
- if(config->cookie)
- free(config->cookie);
- if(config->cookiefile)
- free(config->cookiefile);
- if(config->krblevel)
- free(config->krblevel);
- if(config->headerfile)
- free(config->headerfile);
- if(config->ftpport)
- free(config->ftpport);
- if(config->range)
- free(config->range);
- if(config->customrequest)
- free(config->customrequest);
- if(config->writeout)
- free(config->writeout);
- if(config->httppost)
- curl_formfree(config->httppost);
- if (config->cert)
- free(config->cert);
- if(config->cacert)
- free(config->cacert);
- if (config->cert_type)
- free(config->cert_type);
- if(config->capath)
- free(config->capath);
- if(config->cookiejar)
- free(config->cookiejar);
- if(config->ftp_account)
- free(config->ftp_account);
- if(config->ftp_alternative_to_user)
- free(config->ftp_alternative_to_user);
- if(config->iface)
- free(config->iface);
- if(config->socksproxy)
- free(config->socksproxy);
- if(config->libcurl)
- free(config->libcurl);
- if (config->key_passwd)
- free(config->key_passwd);
- if (config->key)
- free(config->key);
- if (config->key_type)
- free(config->key_type);
- if (config->pubkey)
- free(config->pubkey);
- if (config->referer)
- free(config->referer);
- if (config->hostpubmd5)
- free(config->hostpubmd5);
-
- curl_slist_free_all(config->quote); /* checks for config->quote == NULL */
- curl_slist_free_all(config->prequote);
- curl_slist_free_all(config->postquote);
- curl_slist_free_all(config->headers);
- curl_slist_free_all(config->telnet_options);
-
- if(config->easy)
- curl_easy_cleanup(config->easy);
-}
-
-#ifdef WIN32
-
-/* Function to find CACert bundle on a Win32 platform using SearchPath.
- * (SearchPath is already declared via inclusions done in setup header file)
- * (Use the ASCII version instead of the unicode one!)
- * The order of the directories it searches is:
- * 1. application's directory
- * 2. current working directory
- * 3. Windows System directory (e.g. C:\windows\system32)
- * 4. Windows Directory (e.g. C:\windows)
- * 5. all directories along %PATH%
- */
-static void FindWin32CACert(struct Configurable *config,
- const char *bundle_file)
-{
- /* only check for cert file if "we" support SSL */
- if(curlinfo->features & CURL_VERSION_SSL) {
- DWORD buflen;
- char *ptr = NULL;
- char *retval = (char *) malloc(sizeof (TCHAR) * (MAX_PATH + 1));
- if (!retval)
- return;
- retval[0] = '\0';
- buflen = SearchPathA(NULL, bundle_file, NULL, MAX_PATH+2, retval, &ptr);
- if (buflen > 0) {
- GetStr(&config->cacert, retval);
- }
- free(retval);
- }
-}
-
-#endif
-
-#define RETRY_SLEEP_DEFAULT 1000 /* ms */
-#define RETRY_SLEEP_MAX 600000 /* ms == 10 minutes */
-
-static bool
-output_expected(const char* url, const char* uploadfile)
-{
- if(!uploadfile)
- return TRUE; /* download */
- if(checkprefix("http://", url) || checkprefix("https://", url))
- return TRUE; /* HTTP(S) upload */
-
- return FALSE; /* non-HTTP upload, probably no output should be expected */
-}
-
-#define my_setopt(x,y,z) _my_setopt(x, config, #y, y, z)
-
-static struct curl_slist *easycode;
-
-CURLcode _my_setopt(CURL *curl, struct Configurable *config, const char *name,
- CURLoption tag, ...);
-
-CURLcode _my_setopt(CURL *curl, struct Configurable *config, const char *name,
- CURLoption tag, ...)
-{
- va_list arg;
- CURLcode ret;
- char *bufp;
- char value[256];
- bool remark=FALSE;
-
- va_start(arg, tag);
-
- if(tag < CURLOPTTYPE_OBJECTPOINT) {
- long lval = va_arg(arg, long);
- snprintf(value, sizeof(value), "%ld", lval);
- ret = curl_easy_setopt(curl, tag, lval);
-
- }
- else if(tag < CURLOPTTYPE_OFF_T) {
- void *pval = va_arg(arg, void *);
- unsigned char *ptr = (unsigned char *)pval;
-
- /* function pointers are never printable */
- if (tag >= CURLOPTTYPE_FUNCTIONPOINT) {
- if (pval) {
- snprintf(value, sizeof(value), "%p", pval);
- remark = TRUE;
- }
- else
- strcpy(value, "NULL");
- }
- /* attempt to figure out if it is a string (since the tag numerical doesn't
- offer this info) and then output it as a string if so */
- else if(pval && ISGRAPH(ptr[0]) && ISGRAPH(ptr[1]) && ISGRAPH(ptr[2]))
- snprintf(value, sizeof(value), "\"%s\"", (char *)ptr);
- else if(pval) {
- snprintf(value, sizeof(value), "%p", pval);
- remark = TRUE;
- }
- else {
- strcpy(value, "NULL"); /* value fits more than 5 bytes */
- }
- ret = curl_easy_setopt(curl, tag, pval);
-
- }
- else {
- curl_off_t oval = va_arg(arg, curl_off_t);
- snprintf(value, sizeof(value), "(curl_off_t)%Od", oval);
- ret = curl_easy_setopt(curl, tag, oval);
- }
-
- if(config->libcurl) {
- /* we only use this for real if --libcurl was used */
-
- bufp = curlx_maprintf("%scurl_easy_setopt(hnd, %s, %s);%s",
- remark?"/* ":"", name, value,
- remark?" [REMARK] */":"");
-
- if (!bufp || !curl_slist_append(easycode, bufp))
- ret = CURLE_OUT_OF_MEMORY;
- if (bufp)
- curl_free(bufp);
- }
- va_end(arg);
-
- return ret;
-}
-
-static const char * const srchead[]={
- "/********* Sample code generated by the curl command line tool **********",
- " * Lines with [REMARK] below might need to be modified to make this code ",
- " * usable. Add error code checking where appropriate.",
- " * Compile this with a suitable header include path. Then link with ",
- " * libcurl.",
- " * If you use any *_LARGE options, make sure your compiler figure",
- " * out the correct size for the curl_off_t variable.",
- " * Read the details for all curl_easy_setopt() options online on:",
- " * http://curlm.haxx.se/libcurl/c/curl_easy_setopt.html",
- " ************************************************************************/",
- "[m]",
- "#include <curl/curl.h>",
- "",
- "int main(int argc, char *argv[])",
- "{",
- " CURLcode ret;",
- NULL
-};
-
-static void dumpeasycode(struct Configurable *config)
-{
- struct curl_slist *ptr = easycode;
- char *o = config->libcurl;
-
- if(o) {
- FILE *out;
- bool fopened = FALSE;
- if(strcmp(o, "-")) {
- out = fopen(o, "wt");
- fopened = TRUE;
- }
- else
- out= stdout;
- if(!out)
- warnf(config, "Failed to open %s to write libcurl code!\n", o);
- else {
- int i;
- const char *c;
-
- for(i=0; (c = srchead[i]); i++) {
- if(!memcmp((char *)c, "[m]", 3)) {
-#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS > 32)
- fprintf(out, "#define _FILE_OFFSET_BITS %d "
- "/* for curl_off_t magic */\n",
- _FILE_OFFSET_BITS);
-#endif
- }
- else
- fprintf(out, "%s\n", c);
- }
-
- while(ptr) {
- fprintf(out, " %s\n", ptr->data);
- ptr = ptr->next;
- }
- fprintf(out,
- " return (int)ret;\n"
- "}\n"
- "/**** End of sample code ****/\n");
- if(fopened)
- fclose(out);
- }
- }
- curl_slist_free_all(easycode);
-}
-
-
-static int
-operate(struct Configurable *config, int argc, argv_item_t argv[])
-{
- char errorbuffer[CURL_ERROR_SIZE];
- char useragent[256]; /* buah, we don't want a larger default user agent */
- struct ProgressData progressbar;
- struct getout *urlnode;
- struct getout *nextnode;
-
- struct OutStruct outs;
- struct OutStruct heads;
- struct InStruct input;
-
- URLGlob *urls=NULL;
- URLGlob *inglob=NULL;
- int urlnum;
- int infilenum;
- char *uploadfile=NULL; /* a single file, never a glob */
-
- curl_off_t uploadfilesize; /* -1 means unknown */
- bool stillflags=TRUE;
-
- bool allocuseragent=FALSE;
-
- char *httpgetfields=NULL;
-
- CURL *curl;
- int res = 0;
- int i;
- long retry_sleep_default;
- long retry_sleep;
-
- char *env;
-
- memset(&heads, 0, sizeof(struct OutStruct));
-
-#ifdef CURLDEBUG
- /* this sends all memory debug messages to a logfile named memdump */
- env = curlx_getenv("CURL_MEMDEBUG");
- if(env) {
- /* use the value as file name */
- char *s = strdup(env);
- curl_free(env);
- curl_memdebug(s);
- free(s);
- /* this weird strdup() and stuff here is to make the curl_free() get
- called before the memdebug() as otherwise the memdebug tracing will
- with tracing a free() without an alloc! */
- }
- env = curlx_getenv("CURL_MEMLIMIT");
- if(env) {
- curl_memlimit(atoi(env));
- curl_free(env);
- }
-#endif
-
- /*
- * Get a curl handle to use for all forthcoming curl transfers. Cleanup
- * when all transfers are done.
- */
- curl = curl_easy_init();
- if(!curl) {
- clean_getout(config);
- return CURLE_FAILED_INIT;
- }
- config->easy = curl;
-
- memset(&outs,0,sizeof(outs));
-
- config->outs = &outs;
-
- /* we get libcurl info right away */
- curlinfo = curl_version_info(CURLVERSION_NOW);
-
- errorbuffer[0]=0; /* prevent junk from being output */
-
- /* setup proper locale from environment */
-#ifdef HAVE_SETLOCALE
- setlocale(LC_ALL, "");
-#endif
-
- /* inits */
- if (main_init() != CURLE_OK) {
- helpf(config->errors, "error initializing curl library\n");
- return CURLE_FAILED_INIT;
- }
- config->postfieldsize = -1;
- config->showerror=TRUE;
- config->use_httpget=FALSE;
- config->create_dirs=FALSE;
- config->lastrecvtime = cutil_tvnow();
- config->lastsendtime = cutil_tvnow();
- config->maxredirs = DEFAULT_MAXREDIRS;
-
- if(argc>1 &&
- (!curlx_strnequal("--", argv[1], 2) && (argv[1][0] == '-')) &&
- strchr(argv[1], 'q')) {
- /*
- * The first flag, that is not a verbose name, but a shortname
- * and it includes the 'q' flag!
- */
- ;
- }
- else {
- parseconfig(NULL, config); /* ignore possible failure */
- }
-
- if ((argc < 2) && !config->url_list) {
- helpf(config->errors, NULL);
- return CURLE_FAILED_INIT;
- }
-
- /* Parse options */
- for (i = 1; i < argc; i++) {
- if(stillflags &&
- ('-' == argv[i][0])) {
- char *nextarg;
- bool passarg;
- char *origopt=argv[i];
-
- char *flag = argv[i];
-
- if(curlx_strequal("--", argv[i]))
- /* this indicates the end of the flags and thus enables the
- following (URL) argument to start with -. */
- stillflags=FALSE;
- else {
- nextarg= (i < argc - 1)? argv[i+1]: NULL;
-
- res = getparameter(flag, nextarg, &passarg, config);
- if(res) {
- int retval = CURLE_OK;
- if(res != PARAM_HELP_REQUESTED) {
- const char *reason = param2text(res);
- helpf(config->errors, "option %s: %s\n", origopt, reason);
- retval = CURLE_FAILED_INIT;
- }
- clean_getout(config);
- return retval;
- }
-
- if(passarg) /* we're supposed to skip this */
- i++;
- }
- }
- else {
- bool used;
- /* just add the URL please */
- res = getparameter((char *)"--url", argv[i], &used, config);
- if(res)
- return res;
- }
- }
-
- retry_sleep_default = config->retry_delay?
- config->retry_delay*1000:RETRY_SLEEP_DEFAULT; /* ms */
- retry_sleep = retry_sleep_default;
-
- if((!config->url_list || !config->url_list->url) && !config->list_engines) {
- clean_getout(config);
- helpf(config->errors, "no URL specified!\n");
- return CURLE_FAILED_INIT;
- }
- if(NULL == config->useragent) {
- /* set non-zero default values: */
- snprintf(useragent, sizeof(useragent),
- CURL_NAME "/" CURL_VERSION " (" OS ") " "%s", curl_version());
- config->useragent= useragent;
- }
- else
- allocuseragent = TRUE;
-
- /* On WIN32 we can't set the path to curl-ca-bundle.crt
- * at compile time. So we look here for the file in two ways:
- * 1: look at the environment variable CURL_CA_BUNDLE for a path
- * 2: if #1 isn't found, use the windows API function SearchPath()
- * to find it along the app's path (includes app's dir and CWD)
- *
- * We support the environment variable thing for non-Windows platforms
- * too. Just for the sake of it.
- */
- if (!config->cacert &&
- !config->capath &&
- !config->insecure_ok) {
- env = curlx_getenv("CURL_CA_BUNDLE");
- if(env)
- GetStr(&config->cacert, env);
- else {
- env = curlx_getenv("SSL_CERT_DIR");
- if(env)
- GetStr(&config->capath, env);
- else {
- env = curlx_getenv("SSL_CERT_FILE");
- if(env)
- GetStr(&config->cacert, env);
- }
- }
-
- if(env)
- curl_free(env);
-#ifdef WIN32
- else
- FindWin32CACert(config, "curl-ca-bundle.crt");
-#endif
- }
-
- if (config->postfields) {
- if (config->use_httpget) {
- /* Use the postfields data for a http get */
- httpgetfields = strdup(config->postfields);
- free(config->postfields);
- config->postfields = NULL;
- if(SetHTTPrequest(config,
- (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET),
- &config->httpreq)) {
- free(httpgetfields);
- return PARAM_BAD_USE;
- }
- }
- else {
- if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq))
- return PARAM_BAD_USE;
- }
- }
-
- /* This is the first entry added to easycode and it initializes the slist */
- easycode = curl_slist_append(easycode, "CURL *hnd = curl_easy_init();");
- if(!easycode) {
- clean_getout(config);
- res = CURLE_OUT_OF_MEMORY;
- goto quit_curl;
- }
-
- if (config->list_engines) {
- struct curl_slist *engines = NULL;
-
- curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines);
- list_engines(engines);
- curl_slist_free_all(engines);
- res = CURLE_OK;
- goto quit_curl;
- }
-
- /* After this point, we should call curl_easy_cleanup() if we decide to bail
- * out from this function! */
-
- urlnode = config->url_list;
-
- if(config->headerfile) {
- /* open file for output: */
- if(strcmp(config->headerfile,"-")) {
- heads.filename = config->headerfile;
- }
- else
- heads.stream=stdout;
- heads.config = config;
- }
-
- /* loop through the list of given URLs */
- while(urlnode) {
- int up; /* upload file counter within a single upload glob */
- char *dourl;
- char *url;
- char *infiles; /* might be a glob pattern */
- char *outfiles=NULL;
-
- /* get the full URL (it might be NULL) */
- dourl=urlnode->url;
-
- url = dourl;
-
- if(NULL == url) {
- /* This node had no URL, skip it and continue to the next */
- if(urlnode->outfile)
- free(urlnode->outfile);
-
- /* move on to the next URL */
- nextnode=urlnode->next;
- free(urlnode); /* free the node */
- urlnode = nextnode;
- continue; /* next please */
- }
-
- /* default output stream is stdout */
- outs.stream = stdout;
- outs.config = config;
- outs.bytes = 0; /* nothing written yet */
-
- /* save outfile pattern before expansion */
- if (urlnode->outfile) {
- outfiles = strdup(urlnode->outfile);
- if (!outfiles) {
- clean_getout(config);
- break;
- }
- }
-
- infiles = urlnode->infile;
-
- if(!config->globoff && infiles) {
- /* Unless explicitly shut off */
- res = glob_url(&inglob, infiles, &infilenum,
- config->showerror?config->errors:NULL);
- if(res != CURLE_OK) {
- clean_getout(config);
- if(outfiles)
- free(outfiles);
- break;
- }
- }
-
- /* Here's the loop for uploading multiple files within the same
- single globbed string. If no upload, we enter the loop once anyway. */
- for(up = 0;
- (!up && !infiles) ||
- (uploadfile = inglob?
- glob_next_url(inglob):
- (!up?strdup(infiles):NULL));
- up++) {
- int separator = 0;
- long retry_numretries;
- uploadfilesize=-1;
-
- if(!config->globoff) {
- /* Unless explicitly shut off, we expand '{...}' and '[...]'
- expressions and return total number of URLs in pattern set */
- res = glob_url(&urls, dourl, &urlnum,
- config->showerror?config->errors:NULL);
- if(res != CURLE_OK) {
- break;
- }
- }
- else
- urlnum = 1; /* without globbing, this is a single URL */
-
- /* if multiple files extracted to stdout, insert separators! */
- separator= ((!outfiles || curlx_strequal(outfiles, "-")) && urlnum > 1);
-
- /* Here's looping around each globbed URL */
- for(i = 0;
- (url = urls?glob_next_url(urls):(i?NULL:strdup(url)));
- i++) {
- int infd = STDIN_FILENO;
- bool infdopen;
- char *outfile;
- struct timeval retrystart;
- outfile = outfiles?strdup(outfiles):NULL;
-
- if((urlnode->flags&GETOUT_USEREMOTE) ||
- (outfile && !curlx_strequal("-", outfile)) ) {
-
- /*
- * We have specified a file name to store the result in, or we have
- * decided we want to use the remote file name.
- */
-
- if(!outfile) {
- /* Find and get the remote file name */
- char * pc =strstr(url, "://");
- if(pc)
- pc+=3;
- else
- pc=url;
- pc = strrchr(pc, '/');
-
- if(pc) {
- /* duplicate the string beyond the slash */
- pc++;
- outfile = *pc ? strdup(pc): NULL;
- }
- if(!outfile || !*outfile) {
- helpf(config->errors, "Remote file name has no length!\n");
- res = CURLE_WRITE_ERROR;
- free(url);
- break;
- }
-#if defined(MSDOS)
- {
- /* This is for DOS, and then we do some major replacing of
- bad characters in the file name before using it */
- char file1 [PATH_MAX];
-
- strcpy(file1, msdosify(outfile));
- free (outfile);
- outfile = strdup (rename_if_dos_device_name(file1));
- }
-#endif /* MSDOS */
- }
- else if(urls) {
- /* fill '#1' ... '#9' terms from URL pattern */
- char *storefile = outfile;
- outfile = glob_match_url(storefile, urls);
- free(storefile);
- if(!outfile) {
- /* bad globbing */
- warnf(config, "bad output glob!\n");
- free(url);
- res = CURLE_FAILED_INIT;
- break;
- }
- }
-
- /* Create the directory hierarchy, if not pre-existant to a multiple
- file output call */
-
- if(config->create_dirs &&
- (-1 == create_dir_hierarchy(outfile, config->errors)))
- return CURLE_WRITE_ERROR;
-
- if(config->resume_from_current) {
- /* We're told to continue from where we are now. Get the
- size of the file as it is now and open it for append instead */
-
- struct_stat fileinfo;
-
- /* VMS -- Danger, the filesize is only valid for stream files */
- if(0 == stat(outfile, &fileinfo))
- /* set offset to current file size: */
- config->resume_from = fileinfo.st_size;
- else
- /* let offset be 0 */
- config->resume_from = 0;
- }
-
- outs.filename = outfile;
-
- if(config->resume_from) {
- outs.init = config->resume_from;
- /* open file for output: */
- outs.stream=(FILE *) fopen(outfile, config->resume_from?"ab":"wb");
- if (!outs.stream) {
- helpf(config->errors, "Can't open '%s'!\n", outfile);
- return CURLE_WRITE_ERROR;
- }
- }
- else {
- outs.stream = NULL; /* open when needed */
- }
- }
- infdopen=FALSE;
- if(uploadfile && !curlx_strequal(uploadfile, "-")) {
- /*
- * We have specified a file to upload and it isn't "-".
- */
- struct_stat fileinfo;
-
- /* If no file name part is given in the URL, we add this file name */
- char *ptr=strstr(url, "://");
- if(ptr)
- ptr+=3;
- else
- ptr=url;
- ptr = strrchr(ptr, '/');
- if(!ptr || !strlen(++ptr)) {
- /* The URL has no file name part, add the local file name. In order
- to be able to do so, we have to create a new URL in another
- buffer.*/
-
- /* We only want the part of the local path that is on the right
- side of the rightmost slash and backslash. */
- char *filep = strrchr(uploadfile, '/');
- char *file2 = strrchr(filep?filep:uploadfile, '\\');
-
- if(file2)
- filep = file2+1;
- else if(filep)
- filep++;
- else
- filep = uploadfile;
-
- /* URL encode the file name */
- filep = curl_easy_escape(curl, filep, 0 /* use strlen */);
-
- if(filep) {
- char *urlbuffer=(char *)malloc(strlen(url) + strlen(filep) + 3);
- if(!urlbuffer) {
- helpf(config->errors, "out of memory\n");
- return CURLE_OUT_OF_MEMORY;
- }
- if(ptr)
- /* there is a trailing slash on the URL */
- sprintf(urlbuffer, "%s%s", url, filep);
- else
- /* thers is no trailing slash on the URL */
- sprintf(urlbuffer, "%s/%s", url, filep);
-
- curl_free(filep);
-
- free(url);
- url = urlbuffer; /* use our new URL instead! */
- }
- }
- /* VMS Note:
- *
- * Reading binary from files can be a problem... Only FIXED, VAR
- * etc WITHOUT implied CC will work Others need a \n appended to a
- * line
- *
- * - Stat gives a size but this is UNRELIABLE in VMS As a f.e. a
- * fixed file with implied CC needs to have a byte added for every
- * record processed, this can by derived from Filesize & recordsize
- * for VARiable record files the records need to be counted! for
- * every record add 1 for linefeed and subtract 2 for the record
- * header for VARIABLE header files only the bare record data needs
- * to be considered with one appended if implied CC
- */
-
- infd= open(uploadfile, O_RDONLY | O_BINARY);
- if ((infd == -1) || stat(uploadfile, &fileinfo)) {
- helpf(config->errors, "Can't open '%s'!\n", uploadfile);
- if(infd != -1)
- close(infd);
-
- /* Free the list of remaining URLs and globbed upload files
- * to force curl to exit immediately
- */
- if(urls) {
- glob_cleanup(urls);
- urls = NULL;
- }
- if(inglob) {
- glob_cleanup(inglob);
- inglob = NULL;
- }
-
- res = CURLE_READ_ERROR;
- goto quit_urls;
- }
- infdopen=TRUE;
- uploadfilesize=fileinfo.st_size;
-
- }
- else if(uploadfile && curlx_strequal(uploadfile, "-")) {
- SET_BINMODE(stdin);
- infd = STDIN_FILENO;
- }
-
- if(uploadfile && config->resume_from_current)
- config->resume_from = -1; /* -1 will then force get-it-yourself */
-
- if(output_expected(url, uploadfile)
- && outs.stream && isatty(fileno(outs.stream)))
- /* we send the output to a tty, therefore we switch off the progress
- meter */
- config->noprogress = config->isatty = TRUE;
-
- if (urlnum > 1 && !(config->mute)) {
- fprintf(config->errors, "\n[%d/%d]: %s --> %s\n",
- i+1, urlnum, url, outfile ? outfile : "<stdout>");
- if (separator)
- printf("%s%s\n", CURLseparator, url);
- }
- if (httpgetfields) {
- char *urlbuffer;
- /* Find out whether the url contains a file name */
- const char *pc =strstr(url, "://");
- char sep='?';
- if(pc)
- pc+=3;
- else
- pc=url;
-
- pc = strrchr(pc, '/'); /* check for a slash */
-
- if(pc) {
- /* there is a slash present in the URL */
-
- if(strchr(pc, '?'))
- /* Ouch, there's already a question mark in the URL string, we
- then append the data with an ampersand separator instead! */
- sep='&';
- }
- /*
- * Then append ? followed by the get fields to the url.
- */
- urlbuffer=(char *)malloc(strlen(url) + strlen(httpgetfields) + 3);
- if(!urlbuffer) {
- helpf(config->errors, "out of memory\n");
- return CURLE_OUT_OF_MEMORY;
- }
- if (pc)
- sprintf(urlbuffer, "%s%c%s", url, sep, httpgetfields);
- else
- /* Append / before the ? to create a well-formed url
- if the url contains a hostname only
- */
- sprintf(urlbuffer, "%s/?%s", url, httpgetfields);
-
- free(url); /* free previous URL */
- url = urlbuffer; /* use our new URL instead! */
- }
-
- if(!config->errors)
- config->errors = stderr;
-
- if(!outfile && !config->use_ascii) {
- /* We get the output to stdout and we have not got the ASCII/text
- flag, then set stdout to be binary */
- SET_BINMODE(stdout);
- }
-
- if(1 == config->tcp_nodelay)
- my_setopt(curl, CURLOPT_TCP_NODELAY, 1);
-
- /* where to store */
- my_setopt(curl, CURLOPT_WRITEDATA, (FILE *)&outs);
- /* what call to write */
- my_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);
-
- /* for uploads */
- input.fd = infd;
- input.config = config;
- my_setopt(curl, CURLOPT_READDATA, &input);
- /* what call to read */
- my_setopt(curl, CURLOPT_READFUNCTION, my_fread);
-
- /* in 7.18.0, the CURLOPT_SEEKFUNCTION/DATA pair is taking over what
- CURLOPT_IOCTLFUNCTION/DATA pair previously provided for seeking */
- my_setopt(curl, CURLOPT_SEEKDATA, &input);
- my_setopt(curl, CURLOPT_SEEKFUNCTION, my_seek);
-
- if(config->recvpersecond)
- /* tell libcurl to use a smaller sized buffer as it allows us to
- make better sleeps! 7.9.9 stuff! */
- my_setopt(curl, CURLOPT_BUFFERSIZE, config->recvpersecond);
-
- /* size of uploaded file: */
- my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
- my_setopt(curl, CURLOPT_URL, url); /* what to fetch */
- my_setopt(curl, CURLOPT_PROXY, config->proxy); /* proxy to use */
- my_setopt(curl, CURLOPT_NOPROGRESS, config->noprogress);
- if(config->no_body) {
- my_setopt(curl, CURLOPT_NOBODY, 1);
- my_setopt(curl, CURLOPT_HEADER, 1);
- }
- else
- my_setopt(curl, CURLOPT_HEADER, config->include_headers);
-
- my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror);
- my_setopt(curl, CURLOPT_UPLOAD, uploadfile?TRUE:FALSE);
- my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly);
- my_setopt(curl, CURLOPT_APPEND, config->ftp_append);
-
- if (config->netrc_opt)
- my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
- else if (config->netrc)
- my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_REQUIRED);
- else
- my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_IGNORED);
-
- my_setopt(curl, CURLOPT_FOLLOWLOCATION, config->followlocation);
- my_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, config->unrestricted_auth);
- my_setopt(curl, CURLOPT_TRANSFERTEXT, config->use_ascii);
- my_setopt(curl, CURLOPT_USERPWD, config->userpwd);
- my_setopt(curl, CURLOPT_PROXYUSERPWD, config->proxyuserpwd);
- my_setopt(curl, CURLOPT_RANGE, config->range);
- my_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer);
- my_setopt(curl, CURLOPT_TIMEOUT, config->timeout);
-
- switch(config->httpreq) {
- case HTTPREQ_SIMPLEPOST:
- my_setopt(curl, CURLOPT_POSTFIELDS, config->postfields);
- my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize);
- break;
- case HTTPREQ_POST:
- my_setopt(curl, CURLOPT_HTTPPOST, config->httppost);
- break;
- default:
- break;
- }
- my_setopt(curl, CURLOPT_REFERER, config->referer);
- my_setopt(curl, CURLOPT_AUTOREFERER, config->autoreferer);
- my_setopt(curl, CURLOPT_USERAGENT, config->useragent);
- my_setopt(curl, CURLOPT_FTPPORT, config->ftpport);
- my_setopt(curl, CURLOPT_LOW_SPEED_LIMIT,
- config->low_speed_limit);
- my_setopt(curl, CURLOPT_LOW_SPEED_TIME, config->low_speed_time);
- my_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE,
- config->sendpersecond);
- my_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE,
- config->recvpersecond);
- my_setopt(curl, CURLOPT_RESUME_FROM_LARGE,
- config->use_resume?config->resume_from:0);
- my_setopt(curl, CURLOPT_COOKIE, config->cookie);
- my_setopt(curl, CURLOPT_HTTPHEADER, config->headers);
- my_setopt(curl, CURLOPT_SSLCERT, config->cert);
- my_setopt(curl, CURLOPT_SSLCERTTYPE, config->cert_type);
- my_setopt(curl, CURLOPT_SSLKEY, config->key);
- my_setopt(curl, CURLOPT_SSLKEYTYPE, config->key_type);
- my_setopt(curl, CURLOPT_KEYPASSWD, config->key_passwd);
-
- /* SSH private key uses the same command-line option as SSL private
- key */
- my_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, config->key);
- my_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, config->pubkey);
-
- /* SSH host key md5 checking allows us to fail if we are
- * not talking to who we think we should
- */
- my_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, config->hostpubmd5);
-
-
- /* default to strict verifyhost */
- my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2);
- if(config->cacert || config->capath) {
- if (config->cacert)
- my_setopt(curl, CURLOPT_CAINFO, config->cacert);
-
- if (config->capath)
- my_setopt(curl, CURLOPT_CAPATH, config->capath);
- my_setopt(curl, CURLOPT_SSL_VERIFYPEER, TRUE);
- }
- if(config->insecure_ok) {
- /* new stuff needed for libcurl 7.10 */
- my_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
- my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 1);
- }
-
- if(config->no_body || config->remote_time) {
- /* no body or use remote time */
- my_setopt(curl, CURLOPT_FILETIME, TRUE);
- }
-
- my_setopt(curl, CURLOPT_MAXREDIRS, config->maxredirs);
- my_setopt(curl, CURLOPT_CRLF, config->crlf);
- my_setopt(curl, CURLOPT_QUOTE, config->quote);
- my_setopt(curl, CURLOPT_POSTQUOTE, config->postquote);
- my_setopt(curl, CURLOPT_PREQUOTE, config->prequote);
- my_setopt(curl, CURLOPT_WRITEHEADER,
- config->headerfile?&heads:NULL);
- my_setopt(curl, CURLOPT_COOKIEFILE, config->cookiefile);
- /* cookie jar was added in 7.9 */
- if(config->cookiejar)
- my_setopt(curl, CURLOPT_COOKIEJAR, config->cookiejar);
- /* cookie session added in 7.9.7 */
- my_setopt(curl, CURLOPT_COOKIESESSION, config->cookiesession);
-
- my_setopt(curl, CURLOPT_SSLVERSION, config->ssl_version);
- my_setopt(curl, CURLOPT_TIMECONDITION, config->timecond);
- my_setopt(curl, CURLOPT_TIMEVALUE, config->condtime);
- my_setopt(curl, CURLOPT_CUSTOMREQUEST, config->customrequest);
- my_setopt(curl, CURLOPT_STDERR, config->errors);
-
- /* three new ones in libcurl 7.3: */
- my_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, config->proxytunnel);
- my_setopt(curl, CURLOPT_INTERFACE, config->iface);
- my_setopt(curl, CURLOPT_KRBLEVEL, config->krblevel);
-
- progressbarinit(&progressbar, config);
- if((config->progressmode == CURL_PROGRESS_BAR) &&
- !config->noprogress && !config->mute) {
- /* we want the alternative style, then we have to implement it
- ourselves! */
- my_setopt(curl, CURLOPT_PROGRESSFUNCTION, myprogress);
- my_setopt(curl, CURLOPT_PROGRESSDATA, &progressbar);
- }
-
- /* new in libcurl 7.6.2: */
- my_setopt(curl, CURLOPT_TELNETOPTIONS, config->telnet_options);
-
- /* new in libcurl 7.7: */
- my_setopt(curl, CURLOPT_RANDOM_FILE, config->random_file);
- my_setopt(curl, CURLOPT_EGDSOCKET, config->egd_file);
- my_setopt(curl, CURLOPT_CONNECTTIMEOUT, config->connecttimeout);
-
- if(config->cipher_list)
- my_setopt(curl, CURLOPT_SSL_CIPHER_LIST, config->cipher_list);
-
- if(config->httpversion)
- my_setopt(curl, CURLOPT_HTTP_VERSION, config->httpversion);
-
- /* new in libcurl 7.9.2: */
- if(config->disable_epsv)
- /* disable it */
- my_setopt(curl, CURLOPT_FTP_USE_EPSV, FALSE);
-
- /* new in libcurl 7.10.5 */
- if(config->disable_eprt)
- /* disable it */
- my_setopt(curl, CURLOPT_FTP_USE_EPRT, FALSE);
-
- /* new in libcurl 7.10.6 (default is Basic) */
- if(config->authtype)
- my_setopt(curl, CURLOPT_HTTPAUTH, config->authtype);
-
- if(config->tracetype != TRACE_NONE) {
- my_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
- my_setopt(curl, CURLOPT_DEBUGDATA, config);
- my_setopt(curl, CURLOPT_VERBOSE, TRUE);
- }
-
- res = CURLE_OK;
-
- /* new in curl ?? */
- if (config->engine) {
- res = my_setopt(curl, CURLOPT_SSLENGINE, config->engine);
- my_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1);
- }
-
- if (res != CURLE_OK)
- goto show_error;
-
- /* new in curl 7.10 */
- my_setopt(curl, CURLOPT_ENCODING,
- (config->encoding) ? "" : NULL);
-
- /* new in curl 7.10.7 */
- my_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS,
- config->ftp_create_dirs);
- if(config->proxyanyauth)
- my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
- else if(config->proxynegotiate)
- my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_GSSNEGOTIATE);
- else if(config->proxyntlm)
- my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
- else if(config->proxydigest)
- my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_DIGEST);
- else if(config->proxybasic)
- my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
-
- /* new in curl 7.10.8 */
- if(config->max_filesize)
- my_setopt(curl, CURLOPT_MAXFILESIZE_LARGE,
- config->max_filesize);
-
- if(4 == config->ip_version)
- my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
- else if(6 == config->ip_version)
- my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
- else
- my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER);
-
- /* new in curl 7.15.5 */
- if(config->ftp_ssl_reqd)
- my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
-
- /* new in curl 7.11.0 */
- else if(config->ftp_ssl)
- my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_TRY);
-
- /* new in curl 7.16.0 */
- else if(config->ftp_ssl_control)
- my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_CONTROL);
-
- /* new in curl 7.16.1 */
- if(config->ftp_ssl_ccc)
- my_setopt(curl, CURLOPT_FTP_SSL_CCC, config->ftp_ssl_ccc_mode);
-
- /* new in curl 7.11.1, modified in 7.15.2 */
- if(config->socksproxy) {
- my_setopt(curl, CURLOPT_PROXY, config->socksproxy);
- my_setopt(curl, CURLOPT_PROXYTYPE, config->socksver);
- }
-
- /* curl 7.13.0 */
- my_setopt(curl, CURLOPT_FTP_ACCOUNT, config->ftp_account);
-
- my_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, config->ignorecl);
-
- /* curl 7.14.2 */
- my_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, config->ftp_skip_ip);
-
- /* curl 7.15.1 */
- my_setopt(curl, CURLOPT_FTP_FILEMETHOD, config->ftp_filemethod);
-
- /* curl 7.15.2 */
- if(config->localport) {
- my_setopt(curl, CURLOPT_LOCALPORT, config->localport);
- my_setopt(curl, CURLOPT_LOCALPORTRANGE,
- config->localportrange);
- }
-
- /* curl 7.15.5 */
- my_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER,
- config->ftp_alternative_to_user);
-
- /* curl 7.16.0 */
- my_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE,
- !config->disable_sessionid);
-
- /* curl 7.16.2 */
- if(config->raw) {
- my_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, FALSE);
- my_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, FALSE);
- }
-
- /* curl 7.17.1 */
- my_setopt(curl, CURLOPT_POST301, config->post301);
- if (!config->nokeepalive) {
- my_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockoptcallback);
- my_setopt(curl, CURLOPT_SOCKOPTDATA, config);
- }
-
- retry_numretries = config->req_retry;
-
- retrystart = cutil_tvnow();
-
- do {
- res = curl_easy_perform(curl);
- if (!curl_slist_append(easycode, "ret = curl_easy_perform(hnd);")) {
- res = CURLE_OUT_OF_MEMORY;
- break;
- }
-
- /* if retry-max-time is non-zero, make sure we haven't exceeded the
- time */
- if(retry_numretries &&
- (!config->retry_maxtime ||
- (cutil_tvdiff(cutil_tvnow(), retrystart)<
- config->retry_maxtime*1000)) ) {
- enum {
- RETRY_NO,
- RETRY_TIMEOUT,
- RETRY_HTTP,
- RETRY_FTP,
- RETRY_LAST /* not used */
- } retry = RETRY_NO;
- long response;
- if(CURLE_OPERATION_TIMEDOUT == res)
- /* retry timeout always */
- retry = RETRY_TIMEOUT;
- else if(CURLE_OK == res) {
- /* Check for HTTP transient errors */
- char *this_url=NULL;
- curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &this_url);
- if(this_url &&
- curlx_strnequal(this_url, "http", 4)) {
- /* This was HTTP(S) */
- curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
-
- switch(response) {
- case 500: /* Internal Server Error */
- case 502: /* Bad Gateway */
- case 503: /* Service Unavailable */
- case 504: /* Gateway Timeout */
- retry = RETRY_HTTP;
- /*
- * At this point, we have already written data to the output
- * file (or terminal). If we write to a file, we must rewind
- * or close/re-open the file so that the next attempt starts
- * over from the beginning.
- *
- * TODO: similar action for the upload case. We might need
- * to start over reading from a previous point if we have
- * uploaded something when this was returned.
- */
- break;
- }
- }
- } /* if CURLE_OK */
- else if(CURLE_LOGIN_DENIED == res) {
- curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
-
- if(response/100 == 5)
- /*
- * This is typically when the FTP server only allows a certain
- * amount of users and we are not one of them. It mostly
- * returns 530 in this case, but all 5xx codes are transient.
- */
- retry = RETRY_FTP;
- }
-
- if(retry) {
- static const char * const m[]={NULL,
- "timeout",
- "HTTP error",
- "FTP error"
- };
- warnf(config, "Transient problem: %s "
- "Will retry in %ld seconds. "
- "%ld retries left.\n",
- m[retry],
- retry_sleep/1000,
- retry_numretries);
-
- go_sleep(retry_sleep);
- retry_numretries--;
- if(!config->retry_delay) {
- retry_sleep *= 2;
- if(retry_sleep > RETRY_SLEEP_MAX)
- retry_sleep = RETRY_SLEEP_MAX;
- }
- if(outs.bytes && outs.filename) {
- /* We have written data to a output file, we truncate file
- */
- if(!config->mute)
- fprintf(config->errors, "Throwing away %Od bytes\n",
- outs.bytes);
- fflush(outs.stream);
- /* truncate file at the position where we started appending */
-#ifdef HAVE_FTRUNCATE
- ftruncate( fileno(outs.stream), outs.init);
- /* now seek to the end of the file, the position where we
- just truncated the file in a large file-safe way */
- fseek(outs.stream, 0, SEEK_END);
-#else
- /* ftruncate is not available, so just reposition the file
- to the location we would have truncated it. This won't
- work properly with large files on 32-bit systems, but
- most of those will have ftruncate. */
- fseek(outs.stream, (long)outs.init, SEEK_SET);
-#endif
- outs.bytes = 0; /* clear for next round */
- }
- continue;
- }
- } /* if retry_numretries */
-
- /* In all ordinary cases, just break out of loop here */
- retry_sleep = retry_sleep_default;
- break;
-
- } while(1);
-
- if((config->progressmode == CURL_PROGRESS_BAR) &&
- progressbar.calls) {
- /* if the custom progress bar has been displayed, we output a
- newline here */
- fputs("\n", progressbar.out);
- }
-
- if(config->writeout) {
- ourWriteOut(curl, config->writeout);
- }
-#ifdef USE_ENVIRONMENT
- if (config->writeenv)
- ourWriteEnv(curl);
-#endif
-
-show_error:
-
-#ifdef VMS
- if (!config->showerror) {
- vms_show = VMSSTS_HIDE;
- }
-#else
- if((res!=CURLE_OK) && config->showerror) {
- fprintf(config->errors, "curl: (%d) %s\n", (int)res,
- errorbuffer[0]? errorbuffer:
- curl_easy_strerror((CURLcode)res));
- if(CURLE_SSL_CACERT == res) {
-#define CURL_CA_CERT_ERRORMSG1 \
-"More details here: http://curl.haxx.se/docs/sslcerts.html\n\n" \
-"curl performs SSL certificate verification by default, using a \"bundle\"\n" \
-" of Certificate Authority (CA) public keys (CA certs). The default\n" \
-" bundle is named curl-ca-bundle.crt; you can specify an alternate file\n" \
-" using the --cacert option.\n"
-
-#define CURL_CA_CERT_ERRORMSG2 \
-"If this HTTPS server uses a certificate signed by a CA represented in\n" \
-" the bundle, the certificate verification probably failed due to a\n" \
-" problem with the certificate (it might be expired, or the name might\n" \
-" not match the domain name in the URL).\n" \
-"If you'd like to turn off curl's verification of the certificate, use\n" \
-" the -k (or --insecure) option.\n"
-
- fprintf(config->errors, "%s%s",
- CURL_CA_CERT_ERRORMSG1,
- CURL_CA_CERT_ERRORMSG2 );
- }
- }
-#endif
-
- if (outfile && !curlx_strequal(outfile, "-") && outs.stream)
- fclose(outs.stream);
-
-#ifdef HAVE_UTIME
- /* Important that we set the time _after_ the file has been
- closed, as is done above here */
- if(config->remote_time && outs.filename) {
- /* ask libcurl if we got a time. Pretty please */
- long filetime;
- curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime);
- if(filetime >= 0) {
- struct utimbuf times;
- times.actime = (time_t)filetime;
- times.modtime = (time_t)filetime;
- utime(outs.filename, &times); /* set the time we got */
- }
- }
-#endif
-#ifdef __AMIGA__
- /* Set the url as comment for the file. (up to 80 chars are allowed)
- */
- if( strlen(url) > 78 )
- url[79] = '\0';
-
- SetComment( outs.filename, url);
-#endif
-
-quit_urls:
- if(url)
- free(url);
-
- if(outfile)
- free(outfile);
-
- if(infdopen)
- close(infd);
-
- } /* loop to the next URL */
-
- if(urls) {
- /* cleanup memory used for URL globbing patterns */
- glob_cleanup(urls);
- urls = NULL;
- }
-
- if(uploadfile)
- free(uploadfile);
-
- } /* loop to the next globbed upload file */
-
- if(inglob) {
- glob_cleanup(inglob);
- inglob = NULL;
- }
-
- if(outfiles)
- free(outfiles);
-
- /* empty this urlnode struct */
- if(urlnode->url)
- free(urlnode->url);
- if(urlnode->outfile)
- free(urlnode->outfile);
- if(urlnode->infile)
- free(urlnode->infile);
-
- /* move on to the next URL */
- nextnode=urlnode->next;
- free(urlnode); /* free the node */
- urlnode = nextnode;
-
- } /* while-loop through all URLs */
-
-quit_curl:
- if (httpgetfields)
- free(httpgetfields);
-
- if (config->engine)
- free(config->engine);
-
- /* cleanup the curl handle! */
- curl_easy_cleanup(curl);
- config->easy = NULL; /* cleanup now */
- if (easycode)
- curl_slist_append(easycode, "curl_easy_cleanup(hnd);");
-
- if(heads.stream && (heads.stream != stdout))
- fclose(heads.stream);
-
- if(allocuseragent)
- free(config->useragent);
-
- if(config->trace_fopened && config->trace_stream)
- fclose(config->trace_stream);
-
- if(config->errors_fopened)
- fclose(config->errors);
-
- main_free(); /* cleanup */
-
- dumpeasycode(config);
-
- return res;
-}
-
-/* Ensure that file descriptors 0, 1 and 2 (stdin, stdout, stderr) are
- open before starting to run. Otherwise, the first three network
- sockets opened by curl could be used for input sources, downloaded data
- or error logs as they will effectively be stdin, stdout and/or stderr.
-*/
-static void checkfds(void)
-{
-#ifdef HAVE_PIPE
- int fd[2] = { STDIN_FILENO, STDIN_FILENO };
- while( fd[0] == STDIN_FILENO ||
- fd[0] == STDOUT_FILENO ||
- fd[0] == STDERR_FILENO ||
- fd[1] == STDIN_FILENO ||
- fd[1] == STDOUT_FILENO ||
- fd[1] == STDERR_FILENO )
- if (pipe(fd) < 0)
- return; /* Out of handles. This isn't really a big problem now, but
- will be when we try to create a socket later. */
- close(fd[0]);
- close(fd[1]);
-#endif
-}
-
-
-
-int main(int argc, char *argv[])
-{
- int res;
- struct Configurable config;
- memset(&config, 0, sizeof(struct Configurable));
-
- config.errors = stderr; /* default errors to stderr */
-
- checkfds();
-
- res = operate(&config, argc, argv);
-#ifdef __SYMBIAN32__
- if (config.showerror)
- pressanykey();
-#endif
- free_config_fields(&config);
-
-#ifdef __NOVELL_LIBC__
- pressanykey();
-#endif
-#ifdef VMS
- if (res > CURL_LAST) res = CURL_LAST; /* If CURL_LAST exceeded then */
- return (vms_cond[res]|vms_show); /* curlmsg.h is out of sync. */
-#else
- return res;
-#endif
-}
-
-/*
- * Reads a line from the given file, ensuring is NUL terminated.
- * The pointer must be freed by the caller.
- * NULL is returned on an out of memory condition.
- */
-static char *my_get_line(FILE *fp)
-{
- char buf[4096];
- char *nl = NULL;
- char *retval = NULL;
-
- do {
- if (NULL == fgets(buf, sizeof(buf), fp))
- break;
- if (NULL == retval)
- retval = strdup(buf);
- else {
- if (NULL == (retval = realloc(retval,
- strlen(retval) + strlen(buf) + 1)))
- break;
- strcat(retval, buf);
- }
- }
- while (NULL == (nl = strchr(retval, '\n')));
-
- if (NULL != nl)
- *nl = '\0';
-
- return retval;
-}
-
-static void show_dir_errno(FILE *errors, const char *name)
-{
- switch (ERRNO) {
-#ifdef EACCES
- case EACCES:
- fprintf(errors,"You don't have permission to create %s.\n", name);
- break;
-#endif
-#ifdef ENAMETOOLONG
- case ENAMETOOLONG:
- fprintf(errors,"The directory name %s is too long.\n", name);
- break;
-#endif
-#ifdef EROFS
- case EROFS:
- fprintf(errors,"%s resides on a read-only file system.\n", name);
- break;
-#endif
-#ifdef ENOSPC
- case ENOSPC:
- fprintf(errors,"No space left on the file system that will "
- "contain the directory %s.\n", name);
- break;
-#endif
-#ifdef EDQUOT
- case EDQUOT:
- fprintf(errors,"Cannot create directory %s because you "
- "exceeded your quota.\n", name);
- break;
-#endif
- default :
- fprintf(errors,"Error creating directory %s.\n", name);
- break;
- }
-}
-
-/* Create the needed directory hierarchy recursively in order to save
- multi-GETs in file output, ie:
- curl "http://my.site/dir[1-5]/file[1-5].txt" -o "dir#1/file#2.txt"
- should create all the dir* automagically
-*/
-static int create_dir_hierarchy(const char *outfile, FILE *errors)
-{
- char *tempdir;
- char *tempdir2;
- char *outdup;
- char *dirbuildup;
- int result=0;
-
- outdup = strdup(outfile);
- if(!outdup)
- return -1;
-
- dirbuildup = malloc(sizeof(char) * strlen(outfile));
- if(!dirbuildup) {
- free(outdup);
- return -1;
- }
- dirbuildup[0] = '\0';
-
- tempdir = strtok(outdup, DIR_CHAR);
-
- while (tempdir != NULL) {
- tempdir2 = strtok(NULL, DIR_CHAR);
- /* since strtok returns a token for the last word even
- if not ending with DIR_CHAR, we need to prune it */
- if (tempdir2 != NULL) {
- if (strlen(dirbuildup) > 0)
- sprintf(dirbuildup,"%s%s%s",dirbuildup, DIR_CHAR, tempdir);
- else {
- if (0 != strncmp(outdup, DIR_CHAR, 1))
- sprintf(dirbuildup,"%s",tempdir);
- else
- sprintf(dirbuildup,"%s%s", DIR_CHAR, tempdir);
- }
- if (access(dirbuildup, F_OK) == -1) {
- result = mkdir(dirbuildup,(mode_t)0000750);
- if (-1 == result) {
- show_dir_errno(errors, dirbuildup);
- break; /* get out of loop */
- }
- }
- }
- tempdir = tempdir2;
- }
- free(dirbuildup);
- free(outdup);
-
- return result; /* 0 is fine, -1 is badness */
-}
-
-#ifdef MSDOS
-
-#ifndef HAVE_BASENAME
-/* basename() returns a pointer to the last component of a pathname.
- * Ripped from lib/formdata.c.
- */
-static char *basename(char *path)
-{
- /* Ignore all the details above for now and make a quick and simple
- implementaion here */
- char *s1;
- char *s2;
-
- s1=strrchr(path, '/');
- s2=strrchr(path, '\\');
-
- if(s1 && s2) {
- path = (s1 > s2? s1 : s2)+1;
- }
- else if(s1)
- path = s1 + 1;
- else if(s2)
- path = s2 + 1;
-
- return path;
-}
-#endif /* HAVE_BASENAME */
-
-/* The following functions are taken with modification from the DJGPP
- * port of tar 1.12. They use algorithms originally from DJTAR. */
-
-static const char *
-msdosify (const char *file_name)
-{
- static char dos_name[PATH_MAX*2];
- static const char illegal_chars_dos[] = ".+, ;=[]|<>\\\":?*";
- static const char *illegal_chars_w95 = &illegal_chars_dos[8];
- int idx, dot_idx;
- const char *s = file_name;
- char *d = dos_name;
- const char *illegal_aliens = illegal_chars_dos;
- size_t len = sizeof (illegal_chars_dos) - 1;
- int lfn = 0;
-
-#ifdef DJGPP
- /* Support for Windows 9X VFAT systems, when available (djgpp only). */
- if (_use_lfn (file_name))
- lfn = 1;
-#endif
- if (lfn) {
- illegal_aliens = illegal_chars_w95;
- len -= (illegal_chars_w95 - illegal_chars_dos);
- }
-
- /* Get past the drive letter, if any. */
- if (s[0] >= 'A' && s[0] <= 'z' && s[1] == ':') {
- *d++ = *s++;
- *d++ = *s++;
- }
-
- for (idx = 0, dot_idx = -1; *s; s++, d++) {
- if (memchr (illegal_aliens, *s, len)) {
- /* Dots are special: DOS doesn't allow them as the leading character,
- and a file name cannot have more than a single dot. We leave the
- first non-leading dot alone, unless it comes too close to the
- beginning of the name: we want sh.lex.c to become sh_lex.c, not
- sh.lex-c. */
- if (*s == '.') {
- if (idx == 0 && (s[1] == '/' || (s[1] == '.' && s[2] == '/'))) {
- /* Copy "./" and "../" verbatim. */
- *d++ = *s++;
- if (*s == '.')
- *d++ = *s++;
- *d = *s;
- }
- else if (idx == 0)
- *d = '_';
- else if (dot_idx >= 0) {
- if (dot_idx < 5) { /* 5 is a heuristic ad-hoc'ery */
- d[dot_idx - idx] = '_'; /* replace previous dot */
- *d = '.';
- }
- else
- *d = '-';
- }
- else
- *d = '.';
-
- if (*s == '.')
- dot_idx = idx;
- }
- else if (*s == '+' && s[1] == '+') {
- if (idx - 2 == dot_idx) { /* .c++, .h++ etc. */
- *d++ = 'x';
- *d = 'x';
- }
- else {
- /* libg++ etc. */
- memcpy (d, "plus", 4);
- d += 3;
- }
- s++;
- idx++;
- }
- else
- *d = '_';
- }
- else
- *d = *s;
- if (*s == '/') {
- idx = 0;
- dot_idx = -1;
- }
- else
- idx++;
- }
-
- *d = '\0';
- return dos_name;
-}
-
-static char *
-rename_if_dos_device_name (char *file_name)
-{
- /* We could have a file whose name is a device on MS-DOS. Trying to
- * retrieve such a file would fail at best and wedge us at worst. We need
- * to rename such files. */
- char *base;
- struct stat st_buf;
- char fname[PATH_MAX];
-
- strncpy(fname, file_name, PATH_MAX-1);
- fname[PATH_MAX-2] = 0; /* Leave room for an extra _ */
- base = basename (fname);
- if (((stat(base, &st_buf)) == 0) && (S_ISCHR(st_buf.st_mode))) {
- size_t blen = strlen (base);
-
- /* Prepend a '_'. */
- memmove (base + 1, base, blen + 1);
- base[0] = '_';
- strcpy (file_name, fname);
- }
- return file_name;
-}
-#endif /* MSDOS */
diff --git a/Utilities/cmcurl-7.19.0/src/makefile.amiga b/Utilities/cmcurl-7.19.0/src/makefile.amiga
deleted file mode 100644
index f5762fc..0000000
--- a/Utilities/cmcurl-7.19.0/src/makefile.amiga
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# $VER: cURL Makefile for AmigaOS ...
-#
-
-# change the follow to where you have the AmiTCP SDK v4.3 includes:
-
-ATCPSDKI= /GG/netinclude
-
-
-CC = m68k-amigaos-gcc
-CFLAGS = -I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall
-LIBS = ../lib/libcurl.a -lssl -lcrypto -lz
-MANPAGE = ../docs/curl.1
-README = ../docs/MANUAL
-MKHELP = ../src/mkhelp.pl
-
-OBJS = getpass.c hugehelp.c main.c urlglob.c writeenv.c writeout.c curlutil.c
-
-
-all: hugehelp.c $(OBJS:.c=.o)
- $(CC) $(CFLAGS) -o cURL $(OBJS:.c=.o) $(LIBS) -Wl,-Map,cURL.map,--cref
-
-hugehelp.c: $(README) $(MANPAGE) mkhelp.pl
- rm -f hugehelp.c
- /bin/nroff -man $(MANPAGE) | /bin/perl $(MKHELP) -c $(README) > hugehelp.c
-
-install:
- $(INSTALL) -c cURL /c/cURL
-
diff --git a/Utilities/cmcurl-7.19.0/src/makefile.dj b/Utilities/cmcurl-7.19.0/src/makefile.dj
deleted file mode 100644
index 9e1a209..0000000
--- a/Utilities/cmcurl-7.19.0/src/makefile.dj
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# $Id$
-#
-# Adapted for djgpp2 / Watt-32 / DOS by
-# Gisle Vanem <giva@bgnett.no>
-#
-
-DEPEND_PREREQ = config.h hugehelp.c
-
-top_srcdir = ..
-TOPDIR = ..
-
-include ../packages/DOS/common.dj
-include Makefile.inc
-
-CSOURCES = $(CURL_SOURCES)
-
-ifeq ($(USE_SSL),1)
- EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a
-endif
-
-ifeq ($(USE_ARES),1)
- EX_LIBS += $(ARES_ROOT)/libcares.a
-endif
-
-ifeq ($(USE_ZLIB),1)
- EX_LIBS += $(ZLIB_ROOT)/libz.a
- CFLAGS += -DUSE_MANUAL
-endif
-
-ifeq ($(USE_IDNA),1)
- EX_LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv
-endif
-
-EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a
-
-CFLAGS += -DUSE_ENVIRONMENT
-
-PROGRAM = curl.exe
-OBJECTS += $(addprefix $(OBJ_DIR)/, $(CSOURCES:.c=.o))
-
-all: $(OBJ_DIR) config.h $(PROGRAM)
- @echo Welcome to cURL
-
-$(PROGRAM): $(OBJECTS) ../lib/libcurl.a
- $(CC) -o $@ $^ $(LDFLAGS) $(EX_LIBS)
-
-config.h:
- @echo '#include "../lib/config.dos"' > $@
-
-#
-# groff 1.18+ requires "-P -c"
-#
-hugehelp.c: ../docs/MANUAL ../docs/curl.1 mkhelp.pl
- groff -Tascii -man ../docs/curl.1 | \
- perl -w mkhelp.pl ../docs/MANUAL > $@
-
-clean:
- - rm -f $(OBJECTS) config.h
-
-realclean vclean: clean
- - rm -f $(PROGRAM) hugehelp.c depend.dj
-
--include depend.dj
-
diff --git a/Utilities/cmcurl-7.19.0/src/mkhelp.pl b/Utilities/cmcurl-7.19.0/src/mkhelp.pl
deleted file mode 100755
index 7fb37db..0000000
--- a/Utilities/cmcurl-7.19.0/src/mkhelp.pl
+++ /dev/null
@@ -1,232 +0,0 @@
-#!/usr/local/bin/perl
-
-# Yeah, I know, probably 1000 other persons already wrote a script like
-# this, but I'll tell ya:
-
-# THEY DON'T FIT ME :-)
-
-# Get readme file as parameter:
-
-if($ARGV[0] eq "-c") {
- $c=1;
- shift @ARGV;
-}
-
-my $README = $ARGV[0];
-
-if($README eq "") {
- print "usage: mkreadme.pl [-c] <README> < manpage\n";
- exit;
-}
-
-
-push @out, " _ _ ____ _ \n";
-push @out, " Project ___| | | | _ \\| | \n";
-push @out, " / __| | | | |_) | | \n";
-push @out, " | (__| |_| | _ <| |___ \n";
-push @out, " \\___|\\___/|_| \\_\\_____|\n";
-
-my $olen=0;
-while (<STDIN>) {
- my $line = $_;
-
- # this should be removed:
- $line =~ s/(.|_)//g;
-
- if($line =~ /^([ \t]*\n|curl)/i) {
- # cut off headers and empty lines
- $wline++; # count number of cut off lines
- next;
- }
-
- my $text = $line;
- $text =~ s/^\s+//g; # cut off preceeding...
- $text =~ s/\s+$//g; # and trailing whitespaces
-
- $tlen = length($text);
-
- if($wline && ($olen == $tlen)) {
- # if the previous line with contents was exactly as long as
- # this line, then we ignore the newlines!
-
- # We do this magic because a header may abort a paragraph at
- # any line, but we don't want that to be noticed in the output
- # here
- $wline=0;
- }
- $olen = $tlen;
-
- if($wline) {
- # we only make one empty line max
- $wline = 0;
- push @out, "\n";
- }
- push @out, $line;
-}
-push @out, "\n"; # just an extra newline
-
-open(READ, "<$README") ||
- die "couldn't read the README infile $README";
-
-while(<READ>) {
- push @out, $_;
-}
-close(READ);
-
-# if compressed
-if($c) {
- my @test = `gzip --version 2>&1`;
- if($test[0] =~ /gzip/) {
- open(GZIP, ">dumpit") ||
- die "can't create the dumpit file, try without -c";
- binmode GZIP;
- for(@out) {
- print GZIP $_;
- $gzip += length($_);
- }
- close(GZIP);
-
- system("gzip --best --no-name dumpit");
-
- open(GZIP, "<dumpit.gz") ||
- die "can't read the dumpit.gz file, try without -c";
- binmode GZIP;
- while(<GZIP>) {
- push @gzip, $_;
- $gzipped += length($_);
- }
- close(GZIP);
-
- unlink("dumpit.gz");
- }
- else {
- # no gzip, no compression!
- undef $c;
- print STDERR "MEEEP: Couldn't find gzip, disable compression\n";
- }
-}
-
-$now = localtime;
-print <<HEAD
-/*
- * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
- * Generation time: $now
- */
-#include "setup.h"
-#ifdef USE_MANUAL
-#include "hugehelp.h"
-#include <stdio.h>
-HEAD
- ;
-if($c) {
- print <<HEAD
-#include <stdlib.h>
-#include <zlib.h>
-static const unsigned char hugehelpgz[] = {
- /* This mumbo-jumbo is the huge help text compressed with gzip.
- Thanks to this operation, the size of this data shrunk from $gzip
- to $gzipped bytes. You can disable the use of compressed help
- texts by NOT passing -c to the mkhelp.pl tool. */
-HEAD
-;
- my $c=0;
- print " ";
- for(@gzip) {
- my @all=split(//, $_);
- for(@all) {
- my $num=ord($_);
- printf(" 0x%02x,", 0+$num);
- if(++$c>11) {
- print "\n ";
- $c=0;
- }
- }
- }
- print "\n};\n";
-
- print <<EOF
-#define BUF_SIZE 0x10000
-/* Decompress and send to stdout a gzip-compressed buffer */
-void hugehelp(void)
-{
- unsigned char* buf;
- int status,headerlen;
- z_stream z;
-
- /* Make sure no gzip options are set */
- if (hugehelpgz[3] & 0xfe)
- return;
-
- headerlen = 10;
- z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen);
- z.next_in = (unsigned char *)hugehelpgz + headerlen;
- z.zalloc = (alloc_func)Z_NULL;
- z.zfree = (free_func)Z_NULL;
- z.opaque = 0;
-
- if (inflateInit2(&z, -MAX_WBITS) != Z_OK)
- return;
-
- buf = malloc(BUF_SIZE);
- if (buf) {
- while(1) {
- z.avail_out = BUF_SIZE;
- z.next_out = buf;
- status = inflate(&z, Z_SYNC_FLUSH);
- if (status == Z_OK || status == Z_STREAM_END) {
- fwrite(buf, BUF_SIZE - z.avail_out, 1, stdout);
- if (status == Z_STREAM_END)
- break;
- }
- else
- break; /* Error */
- }
- free(buf);
- }
- inflateEnd(&z);
-}
-EOF
- ;
-foot();
-exit;
-}
-else {
- print <<HEAD
-void hugehelp(void)
-{
- fputs(
-HEAD
- ;
-}
-
-$outsize=0;
-for(@out) {
- chop;
-
- $new = $_;
-
- $outsize += length($new)+1; # one for the newline
-
- $new =~ s/\\/\\\\/g;
- $new =~ s/\"/\\\"/g;
-
- # gcc 2.96 claims ISO C89 only is required to support 509 letter strings
- if($outsize > 500) {
- # terminate and make another fputs() call here
- print ", stdout);\n fputs(\n";
- $outsize=length($new)+1;
- }
- printf("\"%s\\n\"\n", $new);
-
-}
-
-print ", stdout) ;\n}\n";
-
-foot();
-
-sub foot {
- print <<FOOT
-#endif /* USE_MANUAL */
-FOOT
- ;
-}
diff --git a/Utilities/cmcurl-7.19.0/src/setup.h b/Utilities/cmcurl-7.19.0/src/setup.h
deleted file mode 100644
index 4f0835e..0000000
--- a/Utilities/cmcurl-7.19.0/src/setup.h
+++ /dev/null
@@ -1,208 +0,0 @@
-#ifndef __SRC_CURL_SETUP_H
-#define __SRC_CURL_SETUP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#define CURL_NO_OLDIES
-
-/*
- * Define WIN32 when build target is Win32 API
- */
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && !defined(__SYMBIAN32__)
-#define WIN32
-#endif
-
-/*
- * Include configuration script results or hand-crafted
- * configuration file for platforms which lack config tool.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#else
-
-#ifdef WIN32
-#include "config-win32.h"
-#endif
-
-#ifdef macintosh
-#include "config-mac.h"
-#endif
-
-#ifdef __riscos__
-#include "config-riscos.h"
-#endif
-
-#ifdef __AMIGA__
-#include "config-amigaos.h"
-#endif
-
-#ifdef __SYMBIAN32__
-#include "config-symbian.h"
-#endif
-
-#ifdef TPF
-#include "config-tpf.h"
-/* change which select is used for the curl command line tool */
-#define select(a,b,c,d,e) tpf_select_bsd(a,b,c,d,e)
-/* and turn off the progress meter */
-#define CONF_DEFAULT (0|CONF_NOPROGRESS)
-#endif
-
-#endif /* HAVE_CONFIG_H */
-
-/*
- * Tru64 needs _REENTRANT set for a few function prototypes and
- * things to appear in the system header files. Unixware needs it
- * to build proper reentrant code. Others may also need it.
- */
-
-#ifdef NEED_REENTRANT
-# ifndef _REENTRANT
-# define _REENTRANT
-# endif
-#endif
-
-/*
- * Include header files for windows builds before redefining anything.
- * Use this preproessor block only to include or exclude windows.h,
- * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
- * to any other further and independant block. Under Cygwin things work
- * just as under linux (e.g. <sys/socket.h>) and the winsock headers should
- * never be included when __CYGWIN__ is defined. configure script takes
- * care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
- * neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
- */
-
-#ifdef HAVE_WINDOWS_H
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-# endif
-# include <windows.h>
-# ifdef HAVE_WINSOCK2_H
-# include <winsock2.h>
-# ifdef HAVE_WS2TCPIP_H
-# include <ws2tcpip.h>
-# endif
-# else
-# ifdef HAVE_WINSOCK_H
-# include <winsock.h>
-# endif
-# endif
-#endif
-
-/*
- * Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
- * define USE_WINSOCK to 1 if we have and use WINSOCK API, else
- * undefine USE_WINSOCK.
- */
-
-#undef USE_WINSOCK
-
-#ifdef HAVE_WINSOCK2_H
-# define USE_WINSOCK 2
-#else
-# ifdef HAVE_WINSOCK_H
-# define USE_WINSOCK 1
-# endif
-#endif
-
-
-#include <stdio.h>
-
-#ifdef __TANDEM
-#include <floss.h>
-#endif
-
-
-#ifndef OS
-#define OS "unknown"
-#endif
-
-#if !defined(fileno) && !defined(WIN32) /* sunos 4 have this as a macro! */
-int fileno( FILE *stream);
-#endif
-
-#ifdef WIN32
-#define DIR_CHAR "\\"
-#define DOT_CHAR "_"
-#else
-#ifdef __EMX__
-/* 20000318 mgs
- * OS/2 supports leading dots in filenames if the volume is formatted
- * with JFS or HPFS. */
-#define DIR_CHAR "\\"
-#define DOT_CHAR "."
-#else
-
-#ifdef DJGPP
-#include <tcp.h>
-#ifdef word
-#undef word
-#endif
-#ifndef HAVE_LIMITS_H
-#define HAVE_LIMITS_H /* we have limits.h */
-#endif
-#define DIR_CHAR "/"
-#define DOT_CHAR "_"
-#else
-
-#define DIR_CHAR "/"
-#define DOT_CHAR "."
-
-#endif /* !DJGPP */
-#endif /* !__EMX__ */
-#endif /* !WIN32 */
-
-#ifdef __riscos__
-#define USE_ENVIRONMENT
-#endif
-
-#ifdef __BEOS__
-#define typedef_bool
-#endif
-
-#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
-#include <sys/timeval.h>
-#endif
-
-#ifndef UNPRINTABLE_CHAR
-/* define what to use for unprintable characters */
-#define UNPRINTABLE_CHAR '.'
-#endif
-
-#ifndef HAVE_STRDUP
-#include "strdup.h"
-#define strdup(ptr) curlx_strdup(ptr)
-#endif
-
-/*
- * Include macros and defines that should only be processed once.
- */
-
-#ifndef __SETUP_ONCE_H
-#include "setup_once.h"
-#endif
-
-#endif /* __SRC_CURL_SETUP_H */
diff --git a/Utilities/cmcurl-7.19.0/src/urlglob.c b/Utilities/cmcurl-7.19.0/src/urlglob.c
deleted file mode 100644
index 73b02c6..0000000
--- a/Utilities/cmcurl-7.19.0/src/urlglob.c
+++ /dev/null
@@ -1,563 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* client-local setup.h */
-#include "setup.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <curl/curl.h>
-
-#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
-#include <curl/mprintf.h>
-
-#include "urlglob.h"
-
-#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
-#include "memdebug.h"
-#endif
-
-typedef enum {
- GLOB_OK,
- GLOB_ERROR
-} GlobCode;
-
-/*
- * glob_word()
- *
- * Input a full globbed string, set the forth argument to the amount of
- * strings we get out of this. Return GlobCode.
- */
-static GlobCode glob_word(URLGlob *, /* object anchor */
- char *, /* globbed string */
- size_t, /* position */
- int *); /* returned number of strings */
-
-static GlobCode glob_set(URLGlob *glob, char *pattern,
- size_t pos, int *amount)
-{
- /* processes a set expression with the point behind the opening '{'
- ','-separated elements are collected until the next closing '}'
- */
- bool done = FALSE;
- char* buf = glob->glob_buffer;
- URLPattern *pat;
-
- pat = (URLPattern*)&glob->pattern[glob->size / 2];
- /* patterns 0,1,2,... correspond to size=1,3,5,... */
- pat->type = UPTSet;
- pat->content.Set.size = 0;
- pat->content.Set.ptr_s = 0;
- pat->content.Set.elements = (char**)malloc(0);
- ++glob->size;
-
- while (!done) {
- bool skip;
-
- switch (*pattern) {
- case '\0': /* URL ended while set was still open */
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "unmatched brace at pos %d\n", (int)pos);
- return GLOB_ERROR;
-
- case '{':
- case '[': /* no nested expressions at this time */
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "nested braces not supported at pos %d\n", (int)pos);
- return GLOB_ERROR;
-
- case ',':
- case '}': /* set element completed */
- *buf = '\0';
- pat->content.Set.elements =
- realloc(pat->content.Set.elements,
- (pat->content.Set.size + 1) * sizeof(char*));
- if (!pat->content.Set.elements) {
- snprintf(glob->errormsg, sizeof(glob->errormsg), "out of memory");
- return GLOB_ERROR;
- }
- pat->content.Set.elements[pat->content.Set.size] =
- strdup(glob->glob_buffer);
- ++pat->content.Set.size;
-
- if (*pattern == '}') {
- /* entire set pattern completed */
- int wordamount;
-
- /* always check for a literal (may be "") between patterns */
- if(GLOB_ERROR == glob_word(glob, ++pattern, ++pos, &wordamount))
- wordamount=1;
- *amount = pat->content.Set.size * wordamount;
-
- done = TRUE;
- continue;
- }
-
- buf = glob->glob_buffer;
- ++pattern;
- ++pos;
- break;
-
- case ']': /* illegal closing bracket */
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "illegal pattern at pos %d\n", (int)pos);
- return GLOB_ERROR;
-
- case '\\': /* escaped character, skip '\' */
- switch(pattern[1]) {
- case '[':
- case ']':
- case '{':
- case '}':
- case ',':
- skip = TRUE;
- break;
- default:
- skip = FALSE;
- break;
- }
- if(skip) {
- if (*(buf+1) == '\0') { /* but no escaping of '\0'! */
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "illegal pattern at pos %d\n", (int)pos);
- return GLOB_ERROR;
- }
- ++pattern;
- ++pos;
- }
- /* intentional fallthrough */
- default:
- *buf++ = *pattern++; /* copy character to set element */
- ++pos;
- }
- }
- return GLOB_OK;
-}
-
-static GlobCode glob_range(URLGlob *glob, char *pattern,
- size_t pos, int *amount)
-{
- /* processes a range expression with the point behind the opening '['
- - char range: e.g. "a-z]", "B-Q]"
- - num range: e.g. "0-9]", "17-2000]"
- - num range with leading zeros: e.g. "001-999]"
- expression is checked for well-formedness and collected until the next ']'
- */
- URLPattern *pat;
- char *c;
- int wordamount=1;
- char sep;
- char sep2;
- int step;
- int rc;
-
- pat = (URLPattern*)&glob->pattern[glob->size / 2];
- /* patterns 0,1,2,... correspond to size=1,3,5,... */
- ++glob->size;
-
- if (ISALPHA(*pattern)) { /* character range detected */
- char min_c;
- char max_c;
-
- pat->type = UPTCharRange;
- rc = sscanf(pattern, "%c-%c%c%d%c", &min_c, &max_c, &sep, &step, &sep2);
- if ((rc < 3) || (min_c >= max_c) || ((max_c - min_c) > ('z' - 'a'))) {
- /* the pattern is not well-formed */
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "error: bad range specification after pos %d\n", pos);
- return GLOB_ERROR;
- }
-
- /* check the (first) separating character */
- if((sep != ']') && (sep != ':')) {
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "error: unsupported character (%c) after range at pos %d\n",
- sep, pos);
- return GLOB_ERROR;
- }
-
- /* if there was a ":[num]" thing, use that as step or else use 1 */
- pat->content.CharRange.step =
- ((sep == ':') && (rc == 5) && (sep2 == ']'))?step:1;
-
- pat->content.CharRange.ptr_c = pat->content.CharRange.min_c = min_c;
- pat->content.CharRange.max_c = max_c;
- }
- else if (ISDIGIT(*pattern)) { /* numeric range detected */
- int min_n;
- int max_n;
-
- pat->type = UPTNumRange;
- pat->content.NumRange.padlength = 0;
-
- rc = sscanf(pattern, "%d-%d%c%d%c", &min_n, &max_n, &sep, &step, &sep2);
-
- if ((rc < 2) || (min_n > max_n)) {
- /* the pattern is not well-formed */
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "error: bad range specification after pos %d\n", pos);
- return GLOB_ERROR;
- }
- pat->content.NumRange.ptr_n = pat->content.NumRange.min_n = min_n;
- pat->content.NumRange.max_n = max_n;
-
- /* if there was a ":[num]" thing, use that as step or else use 1 */
- pat->content.NumRange.step =
- ((sep == ':') && (rc == 5) && (sep2 == ']'))?step:1;
-
- if (*pattern == '0') { /* leading zero specified */
- c = pattern;
- while (ISDIGIT(*c)) {
- c++;
- ++pat->content.NumRange.padlength; /* padding length is set for all
- instances of this pattern */
- }
- }
-
- }
- else {
- snprintf(glob->errormsg, sizeof(glob->errormsg),
- "illegal character in range specification at pos %d\n", pos);
- return GLOB_ERROR;
- }
-
- c = (char*)strchr(pattern, ']'); /* continue after next ']' */
- if(c)
- c++;
- else {
- snprintf(glob->errormsg, sizeof(glob->errormsg), "missing ']'");
- return GLOB_ERROR; /* missing ']' */
- }
-
- /* always check for a literal (may be "") between patterns */
-
- if(GLOB_ERROR == glob_word(glob, c, pos + (c - pattern), &wordamount))
- wordamount = 1;
-
- if(pat->type == UPTCharRange)
- *amount = (pat->content.CharRange.max_c -
- pat->content.CharRange.min_c + 1) *
- wordamount;
- else
- *amount = (pat->content.NumRange.max_n -
- pat->content.NumRange.min_n + 1) * wordamount;
-
- return GLOB_OK;
-}
-
-static GlobCode glob_word(URLGlob *glob, char *pattern,
- size_t pos, int *amount)
-{
- /* processes a literal string component of a URL
- special characters '{' and '[' branch to set/range processing functions
- */
- char* buf = glob->glob_buffer;
- size_t litindex;
- GlobCode res = GLOB_OK;
-
- *amount = 1; /* default is one single string */
-
- while (*pattern != '\0' && *pattern != '{' && *pattern != '[') {
- if (*pattern == '}' || *pattern == ']')
- return GLOB_ERROR;
-
- /* only allow \ to escape known "special letters" */
- if (*pattern == '\\' &&
- (*(pattern+1) == '{' || *(pattern+1) == '[' ||
- *(pattern+1) == '}' || *(pattern+1) == ']') ) {
-
- /* escape character, skip '\' */
- ++pattern;
- ++pos;
- if (*pattern == '\0') /* but no escaping of '\0'! */
- return GLOB_ERROR;
- }
- *buf++ = *pattern++; /* copy character to literal */
- ++pos;
- }
- *buf = '\0';
- litindex = glob->size / 2;
- /* literals 0,1,2,... correspond to size=0,2,4,... */
- glob->literal[litindex] = strdup(glob->glob_buffer);
- if(!glob->literal[litindex])
- return GLOB_ERROR;
- ++glob->size;
-
- switch (*pattern) {
- case '\0':
- break; /* singular URL processed */
-
- case '{':
- /* process set pattern */
- res = glob_set(glob, ++pattern, ++pos, amount);
- break;
-
- case '[':
- /* process range pattern */
- res= glob_range(glob, ++pattern, ++pos, amount);
- break;
- }
-
- if(GLOB_OK != res)
- /* free that strdup'ed string again */
- free(glob->literal[litindex]);
-
- return res; /* something got wrong */
-}
-
-int glob_url(URLGlob** glob, char* url, int *urlnum, FILE *error)
-{
- /*
- * We can deal with any-size, just make a buffer with the same length
- * as the specified URL!
- */
- URLGlob *glob_expand;
- int amount;
- char *glob_buffer=(char *)malloc(strlen(url)+1);
-
- *glob = NULL;
- if(NULL == glob_buffer)
- return CURLE_OUT_OF_MEMORY;
-
- glob_expand = (URLGlob*)calloc(sizeof(URLGlob), 1);
- if(NULL == glob_expand) {
- free(glob_buffer);
- return CURLE_OUT_OF_MEMORY;
- }
- glob_expand->size = 0;
- glob_expand->urllen = strlen(url);
- glob_expand->glob_buffer = glob_buffer;
- glob_expand->beenhere=0;
- if(GLOB_OK == glob_word(glob_expand, url, 1, &amount))
- *urlnum = amount;
- else {
- if(error && glob_expand->errormsg[0]) {
- /* send error description to the error-stream */
- fprintf(error, "curl: (%d) [globbing] %s\n",
- CURLE_URL_MALFORMAT, glob_expand->errormsg);
- }
- /* it failed, we cleanup */
- free(glob_buffer);
- free(glob_expand);
- glob_expand = NULL;
- *urlnum = 1;
- return CURLE_URL_MALFORMAT;
- }
-
- *glob = glob_expand;
- return CURLE_OK;
-}
-
-void glob_cleanup(URLGlob* glob)
-{
- size_t i;
- int elem;
-
- for (i = glob->size - 1; i < glob->size; --i) {
- if (!(i & 1)) { /* even indexes contain literals */
- free(glob->literal[i/2]);
- }
- else { /* odd indexes contain sets or ranges */
- if (glob->pattern[i/2].type == UPTSet) {
- for (elem = glob->pattern[i/2].content.Set.size - 1;
- elem >= 0;
- --elem) {
- free(glob->pattern[i/2].content.Set.elements[elem]);
- }
- free(glob->pattern[i/2].content.Set.elements);
- }
- }
- }
- free(glob->glob_buffer);
- free(glob);
-}
-
-char *glob_next_url(URLGlob *glob)
-{
- char *buf = glob->glob_buffer;
- URLPattern *pat;
- char *lit;
- size_t i;
- size_t j;
- size_t buflen = glob->urllen+1;
- size_t len;
-
- if (!glob->beenhere)
- glob->beenhere = 1;
- else {
- bool carry = TRUE;
-
- /* implement a counter over the index ranges of all patterns,
- starting with the rightmost pattern */
- for (i = glob->size / 2 - 1; carry && i < glob->size; --i) {
- carry = FALSE;
- pat = &glob->pattern[i];
- switch (pat->type) {
- case UPTSet:
- if (++pat->content.Set.ptr_s == pat->content.Set.size) {
- pat->content.Set.ptr_s = 0;
- carry = TRUE;
- }
- break;
- case UPTCharRange:
- pat->content.CharRange.ptr_c = (char)(pat->content.CharRange.step +
- (int)((unsigned char)pat->content.CharRange.ptr_c));
- if (pat->content.CharRange.ptr_c > pat->content.CharRange.max_c) {
- pat->content.CharRange.ptr_c = pat->content.CharRange.min_c;
- carry = TRUE;
- }
- break;
- case UPTNumRange:
- pat->content.NumRange.ptr_n += pat->content.NumRange.step;
- if (pat->content.NumRange.ptr_n > pat->content.NumRange.max_n) {
- pat->content.NumRange.ptr_n = pat->content.NumRange.min_n;
- carry = TRUE;
- }
- break;
- default:
- printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
- exit (CURLE_FAILED_INIT);
- }
- }
- if (carry) /* first pattern ptr has run into overflow, done! */
- return NULL;
- }
-
- for (j = 0; j < glob->size; ++j) {
- if (!(j&1)) { /* every other term (j even) is a literal */
- lit = glob->literal[j/2];
- len = snprintf(buf, buflen, "%s", lit);
- buf += len;
- buflen -= len;
- }
- else { /* the rest (i odd) are patterns */
- pat = &glob->pattern[j/2];
- switch(pat->type) {
- case UPTSet:
- len = strlen(pat->content.Set.elements[pat->content.Set.ptr_s]);
- snprintf(buf, buflen, "%s",
- pat->content.Set.elements[pat->content.Set.ptr_s]);
- buf += len;
- buflen -= len;
- break;
- case UPTCharRange:
- *buf++ = pat->content.CharRange.ptr_c;
- break;
- case UPTNumRange:
- len = snprintf(buf, buflen, "%0*d",
- pat->content.NumRange.padlength,
- pat->content.NumRange.ptr_n);
- buf += len;
- buflen -= len;
- break;
- default:
- printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
- exit (CURLE_FAILED_INIT);
- }
- }
- }
- *buf = '\0';
- return strdup(glob->glob_buffer);
-}
-
-char *glob_match_url(char *filename, URLGlob *glob)
-{
- char *target;
- size_t allocsize;
- size_t stringlen=0;
- char numbuf[18];
- char *appendthis = NULL;
- size_t appendlen = 0;
-
- /* We cannot use the glob_buffer for storage here since the filename may
- * be longer than the URL we use. We allocate a good start size, then
- * we need to realloc in case of need.
- */
- allocsize=strlen(filename);
- target = malloc(allocsize);
- if(NULL == target)
- return NULL; /* major failure */
-
- while (*filename) {
- if (*filename == '#' && ISDIGIT(filename[1])) {
- unsigned long i;
- char *ptr = filename;
- unsigned long num = strtoul(&filename[1], &filename, 10);
- i = num-1;
-
- if (num && (i <= glob->size / 2)) {
- URLPattern pat = glob->pattern[i];
- switch (pat.type) {
- case UPTSet:
- appendthis = pat.content.Set.elements[pat.content.Set.ptr_s];
- appendlen = strlen(pat.content.Set.elements[pat.content.Set.ptr_s]);
- break;
- case UPTCharRange:
- numbuf[0]=pat.content.CharRange.ptr_c;
- numbuf[1]=0;
- appendthis=numbuf;
- appendlen=1;
- break;
- case UPTNumRange:
- snprintf(numbuf, sizeof(numbuf), "%0*d",
- pat.content.NumRange.padlength,
- pat.content.NumRange.ptr_n);
- appendthis = numbuf;
- appendlen = strlen(numbuf);
- break;
- default:
- printf("internal error: invalid pattern type (%d)\n",
- (int)pat.type);
- free(target);
- return NULL;
- }
- }
- else {
- /* #[num] out of range, use the #[num] in the output */
- filename = ptr;
- appendthis=filename++;
- appendlen=1;
- }
- }
- else {
- appendthis=filename++;
- appendlen=1;
- }
- if(appendlen + stringlen >= allocsize) {
- char *newstr;
- allocsize = (appendlen + stringlen)*2;
- newstr=realloc(target, allocsize);
- if(NULL ==newstr) {
- free(target);
- return NULL;
- }
- target=newstr;
- }
- memcpy(&target[stringlen], appendthis, appendlen);
- stringlen += appendlen;
- }
- target[stringlen]= '\0';
- return target;
-}
diff --git a/Utilities/cmcurl-7.19.0/src/urlglob.h b/Utilities/cmcurl-7.19.0/src/urlglob.h
deleted file mode 100644
index d081840..0000000
--- a/Utilities/cmcurl-7.19.0/src/urlglob.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef __URLGLOB_H
-#define __URLGLOB_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2005, 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.
- *
- * $Id$
- ***************************************************************************/
-typedef enum {
- UPTSet=1,
- UPTCharRange,
- UPTNumRange
-} URLPatternType;
-
-typedef struct {
- URLPatternType type;
- union {
- struct {
- char **elements;
- short size;
- short ptr_s;
- } Set;
- struct {
- char min_c, max_c;
- char ptr_c;
- int step;
- } CharRange;
- struct {
- int min_n, max_n;
- short padlength;
- int ptr_n;
- int step;
- } NumRange ;
- } content;
-} URLPattern;
-
-typedef struct {
- char* literal[10];
- URLPattern pattern[9];
- size_t size;
- size_t urllen;
- char *glob_buffer;
- char beenhere;
- char errormsg[80]; /* error message buffer */
-} URLGlob;
-
-int glob_url(URLGlob**, char*, int *, FILE *);
-char* glob_next_url(URLGlob*);
-char* glob_match_url(char*, URLGlob *);
-void glob_cleanup(URLGlob* glob);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/version.h b/Utilities/cmcurl-7.19.0/src/version.h
deleted file mode 100644
index 359a2fe..0000000
--- a/Utilities/cmcurl-7.19.0/src/version.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef __VERSION_H
-#define __VERSION_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include <curl/curlver.h>
-
-#define CURL_NAME "curl"
-#define CURL_COPYRIGHT LIBCURL_COPYRIGHT
-#define CURL_VERSION "7.19.0"
-#define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
-#define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
-#define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
-#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/writeenv.c b/Utilities/cmcurl-7.19.0/src/writeenv.c
deleted file mode 100644
index 90d3413..0000000
--- a/Utilities/cmcurl-7.19.0/src/writeenv.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#ifdef USE_ENVIRONMENT
-
-#include <curl/curl.h>
-#include "writeenv.h"
-
-#ifdef __riscos__
-#include <kernel.h>
-#endif
-
-static const struct
-{
- const char * name;
- CURLINFO id;
- enum {
- writeenv_NONE,
- writeenv_DOUBLE,
- writeenv_LONG,
- writeenv_STRING
- } type;
-} variables[14] =
-{
- {"curl_url_effective", CURLINFO_EFFECTIVE_URL, writeenv_STRING},
- {"curl_http_code", CURLINFO_RESPONSE_CODE, writeenv_LONG},
- {"curl_time_total", CURLINFO_TOTAL_TIME, writeenv_DOUBLE},
- {"curl_time_namelookup", CURLINFO_NAMELOOKUP_TIME, writeenv_DOUBLE},
- {"curl_time_connect", CURLINFO_CONNECT_TIME, writeenv_DOUBLE},
- {"curl_time_pretransfer", CURLINFO_PRETRANSFER_TIME, writeenv_DOUBLE},
- {"curl_time_starttransfer", CURLINFO_STARTTRANSFER_TIME, writeenv_DOUBLE},
- {"curl_size_header", CURLINFO_HEADER_SIZE, writeenv_LONG},
- {"curl_size_request", CURLINFO_REQUEST_SIZE, writeenv_LONG},
- {"curl_size_download", CURLINFO_SIZE_DOWNLOAD, writeenv_DOUBLE},
- {"curl_size_upload", CURLINFO_SIZE_UPLOAD, writeenv_DOUBLE},
- {"curl_speed_download", CURLINFO_SPEED_DOWNLOAD, writeenv_DOUBLE},
- {"curl_speed_upload", CURLINFO_SPEED_UPLOAD, writeenv_DOUBLE},
- {NULL, 0, writeenv_NONE}
- };
-
-static void internalSetEnv(const char * name, char * value)
-{
- /* Add your OS-specific code here. */
-#ifdef __riscos__
- _kernel_setenv(name, value);
-#elif defined (CURLDEBUG)
- extern FILE *curl_debuglogfile;
- if (curl_debuglogfile)
- fprintf (curl_debuglogfile, "ENV %s = %s\n", name, value);
-#endif
- return;
-}
-
-void ourWriteEnv(CURL *curl)
-{
- unsigned int i;
- char *string, numtext[10];
- long longinfo;
- double doubleinfo;
-
- for (i=0; variables[i].name; i++) {
- switch (variables[i].type) {
- case writeenv_STRING:
- if (curl_easy_getinfo(curl, variables[i].id, &string) == CURLE_OK)
- internalSetEnv(variables[i].name, string);
- else
- internalSetEnv(variables[i].name, NULL);
- break;
-
- case writeenv_LONG:
- if (curl_easy_getinfo(curl, variables[i].id, &longinfo) == CURLE_OK) {
- sprintf(numtext, "%5ld", longinfo);
- internalSetEnv(variables[i].name, numtext);
- }
- else
- internalSetEnv(variables[i].name, NULL);
- break;
- case writeenv_DOUBLE:
- if (curl_easy_getinfo(curl, variables[i].id, &doubleinfo) == CURLE_OK) {
- sprintf(numtext, "%6.2f", doubleinfo);
- internalSetEnv(variables[i].name, numtext);
- }
- else
- internalSetEnv(variables[i].name, NULL);
- break;
- default:
- break;
- }
- }
-
- return;
-}
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/writeenv.h b/Utilities/cmcurl-7.19.0/src/writeenv.h
deleted file mode 100644
index c6fe071..0000000
--- a/Utilities/cmcurl-7.19.0/src/writeenv.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __WRITEENV_H
-#define __WRITEENV_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-void ourWriteEnv(CURL *curl);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/src/writeout.c b/Utilities/cmcurl-7.19.0/src/writeout.c
deleted file mode 100644
index 4f94bab..0000000
--- a/Utilities/cmcurl-7.19.0/src/writeout.c
+++ /dev/null
@@ -1,296 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-
-#include <curl/curl.h>
-
-#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
-#include <curl/mprintf.h>
-
-#include "writeout.h"
-
-typedef enum {
- VAR_NONE, /* must be the first */
- VAR_TOTAL_TIME,
- VAR_NAMELOOKUP_TIME,
- VAR_CONNECT_TIME,
- VAR_APPCONNECT_TIME,
- VAR_PRETRANSFER_TIME,
- VAR_STARTTRANSFER_TIME,
- VAR_SIZE_DOWNLOAD,
- VAR_SIZE_UPLOAD,
- VAR_SPEED_DOWNLOAD,
- VAR_SPEED_UPLOAD,
- VAR_HTTP_CODE,
- VAR_HTTP_CODE_PROXY,
- VAR_HEADER_SIZE,
- VAR_REQUEST_SIZE,
- VAR_EFFECTIVE_URL,
- VAR_CONTENT_TYPE,
- VAR_NUM_CONNECTS,
- VAR_REDIRECT_TIME,
- VAR_REDIRECT_COUNT,
- VAR_FTP_ENTRY_PATH,
- VAR_REDIRECT_URL,
- VAR_SSL_VERIFY_RESULT,
- VAR_NUM_OF_VARS /* must be the last */
-} replaceid;
-
-struct variable {
- const char *name;
- replaceid id;
-};
-
-
-static const struct variable replacements[]={
- {"url_effective", VAR_EFFECTIVE_URL},
- {"http_code", VAR_HTTP_CODE},
- {"response_code", VAR_HTTP_CODE},
- {"http_connect", VAR_HTTP_CODE_PROXY},
- {"time_total", VAR_TOTAL_TIME},
- {"time_namelookup", VAR_NAMELOOKUP_TIME},
- {"time_connect", VAR_CONNECT_TIME},
- {"time_appconnect", VAR_APPCONNECT_TIME},
- {"time_pretransfer", VAR_PRETRANSFER_TIME},
- {"time_starttransfer", VAR_STARTTRANSFER_TIME},
- {"size_header", VAR_HEADER_SIZE},
- {"size_request", VAR_REQUEST_SIZE},
- {"size_download", VAR_SIZE_DOWNLOAD},
- {"size_upload", VAR_SIZE_UPLOAD},
- {"speed_download", VAR_SPEED_DOWNLOAD},
- {"speed_upload", VAR_SPEED_UPLOAD},
- {"content_type", VAR_CONTENT_TYPE},
- {"num_connects", VAR_NUM_CONNECTS},
- {"time_redirect", VAR_REDIRECT_TIME},
- {"num_redirects", VAR_REDIRECT_COUNT},
- {"ftp_entry_path", VAR_FTP_ENTRY_PATH},
- {"redirect_url", VAR_REDIRECT_URL},
- {"ssl_verify_result", VAR_SSL_VERIFY_RESULT},
- {NULL, VAR_NONE}
-};
-
-void ourWriteOut(CURL *curl, const char *writeinfo)
-{
- FILE *stream = stdout;
- const char *ptr=writeinfo;
- char *stringp;
- long longinfo;
- double doubleinfo;
-
- while(*ptr) {
- if('%' == *ptr) {
- if('%' == ptr[1]) {
- /* an escaped %-letter */
- fputc('%', stream);
- ptr+=2;
- }
- else {
- /* this is meant as a variable to output */
- char *end;
- char keepit;
- int i;
- if(('{' == ptr[1]) && (end=strchr(ptr, '}'))) {
- bool match = FALSE;
- ptr+=2; /* pass the % and the { */
- keepit=*end;
- *end=0; /* zero terminate */
- for(i=0; replacements[i].name; i++) {
- if(curl_strequal(ptr, replacements[i].name)) {
- match = TRUE;
- switch(replacements[i].id) {
- case VAR_EFFECTIVE_URL:
- if((CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &stringp))
- && stringp)
- fputs(stringp, stream);
- break;
- case VAR_HTTP_CODE:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &longinfo))
- fprintf(stream, "%03ld", longinfo);
- break;
- case VAR_HTTP_CODE_PROXY:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_HTTP_CONNECTCODE,
- &longinfo))
- fprintf(stream, "%03ld", longinfo);
- break;
- case VAR_HEADER_SIZE:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &longinfo))
- fprintf(stream, "%ld", longinfo);
- break;
- case VAR_REQUEST_SIZE:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_REQUEST_SIZE, &longinfo))
- fprintf(stream, "%ld", longinfo);
- break;
- case VAR_NUM_CONNECTS:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_NUM_CONNECTS, &longinfo))
- fprintf(stream, "%ld", longinfo);
- break;
- case VAR_REDIRECT_COUNT:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_REDIRECT_COUNT, &longinfo))
- fprintf(stream, "%ld", longinfo);
- break;
- case VAR_REDIRECT_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME, &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_TOTAL_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_NAMELOOKUP_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME,
- &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_CONNECT_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_APPCONNECT_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME,
- &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_PRETRANSFER_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME,
- &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_STARTTRANSFER_TIME:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME,
- &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_SIZE_UPLOAD:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD, &doubleinfo))
- fprintf(stream, "%.0f", doubleinfo);
- break;
- case VAR_SIZE_DOWNLOAD:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &doubleinfo))
- fprintf(stream, "%.0f", doubleinfo);
- break;
- case VAR_SPEED_DOWNLOAD:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_SPEED_UPLOAD:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &doubleinfo))
- fprintf(stream, "%.3f", doubleinfo);
- break;
- case VAR_CONTENT_TYPE:
- if((CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &stringp))
- && stringp)
- fputs(stringp, stream);
- break;
- case VAR_FTP_ENTRY_PATH:
- if((CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_FTP_ENTRY_PATH, &stringp))
- && stringp)
- fputs(stringp, stream);
- break;
- case VAR_REDIRECT_URL:
- if((CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &stringp))
- && stringp)
- fputs(stringp, stream);
- break;
- case VAR_SSL_VERIFY_RESULT:
- if(CURLE_OK ==
- curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &longinfo))
- fprintf(stream, "%ld", longinfo);
- break;
- default:
- break;
- }
- break;
- }
- }
- if(!match) {
- fprintf(stderr, "curl: unknown --write-out variable: '%s'\n", ptr);
- }
- ptr=end+1; /* pass the end */
- *end = keepit;
- }
- else {
- /* illegal syntax, then just output the characters that are used */
- fputc('%', stream);
- fputc(ptr[1], stream);
- ptr+=2;
- }
- }
- }
- else if('\\' == *ptr) {
- switch(ptr[1]) {
- case 'r':
- fputc('\r', stream);
- break;
- case 'n':
- fputc('\n', stream);
- break;
- case 't':
- fputc('\t', stream);
- break;
- default:
- /* unknown, just output this */
- fputc(*ptr, stream);
- fputc(ptr[1], stream);
- break;
- }
- ptr+=2;
- }
- else {
- fputc(*ptr, stream);
- ptr++;
- }
- }
-
-}
diff --git a/Utilities/cmcurl-7.19.0/src/writeout.h b/Utilities/cmcurl-7.19.0/src/writeout.h
deleted file mode 100644
index 222e270..0000000
--- a/Utilities/cmcurl-7.19.0/src/writeout.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __WRITEOUT_H
-#define __WRITEOUT_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-
-void ourWriteOut(CURL *curl, const char *out);
-
-#endif
diff --git a/Utilities/cmcurl-7.19.0/tests/FILEFORMAT b/Utilities/cmcurl-7.19.0/tests/FILEFORMAT
deleted file mode 100644
index e4be47a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/FILEFORMAT
+++ /dev/null
@@ -1,324 +0,0 @@
- The test suite's file format is very simple and extensible, closely
-resembling XML. All data for a single test case resides in a single
-ASCII file. Labels mark the beginning and the end of all sections, and each
-label must be written in its own line. Comments are either XML-style
-(enclosed with <!-- and -->) or C-style (beginning with #) and must appear
-on their own lines and not alongside actual test data. Most test data files
-are syntactically valid XML, although a few files are not (lack of
-support for character entities and the preservation of CR/LF characters at
-the end of lines are the biggest differences).
-
- The file begins with a 'testcase' tag, which encompasses the remainder of
-the file.
-
-<testcase>
-
- Each file is split up in three main sections: reply, client and verify. The
-reply section is used for the server to know what to send as a reply for the
-requests curl sends, the client section defines how the client should behave
-while the verify section defines how to verify that the data stored after a
-command has been run ended up correctly.
-
- Each main section has a number of available subsections that can be
-specified, that will be checked/used if specified. This document includes all
-the subsections currently supported.
-
-Main sections are 'info', 'reply', 'client' and 'verify'.
-
-<info>
-<keywords>
-A newline-separated list of keywords describing what this test case uses and
-tests. Try to use an already used keyword. These keywords will be used for
-statistical/informational purposes and for choosing or skipping classes
-of tests. "Keywords" must begin with an alphabetic character, "-", "["
-or "{" and may actually consist of multiple words separated by spaces
-which are treated together as a single identifier.
-</keywords>
-</info>
-
-<reply>
-<data [nocheck="1"] [sendzero="yes"] [base64="yes"]>
-data to be sent to the client on its request and later verified that it arrived
-safely. Set nocheck="1" to prevent the test script from verifying the arrival
-of this data.
-
-If the data contains 'swsclose' anywhere within the start and end tag, and
-this is a HTTP test, then the connection will be closed by the server after
-this response is sent. If not, the connection will be kept persistent.
-
-If the data contains 'swsbounce' anywhere within the start and end tag, the
-HTTP server will detect if this is a second request using the same test and
-part number and will then increase the part number with one. This is useful
-for auth tests and similar.
-
-'sendzero' set to yes means that the (FTP) server will "send" the data even if
-the size is zero bytes. Used to verify curl's behaviour on zero bytes
-transfers.
-
-'base64' set to yes means that the data provided in the test-file is a chunk
-of data encoded with base64. It is the only way a test case can contain binary
-data. (This attribute can in fact be used on any section, but it doesn't make
-much sense for other sections than "data").
-</data>
-<dataNUM>
-Send back this contents instead of the <data> one. The num is set by:
-A) The test number in the request line is >10000 and this is the remainder
-of [test case number]%10000.
-B) The request was HTTP and included digest details, which adds 1000 to NUM
-C) If a HTTP request is NTLM type-1, it adds 1001 to num
-D) If a HTTP request is NTLM type-3, it adds 1002 to num
-</dataNUM>
-<datacheck [nonewline="yes"]>
-if the data is sent but this is what should be checked afterwards. If
-'nonewline' is set, we will cut off the trailing newline of this given data
-before comparing with the one actually received by the client
-</datacheck>
-<size>
-number to return on a ftp SIZE command (set to -1 to make this command fail)
-</size>
-<mdtm>
-what to send back if the client sends a (FTP) MDTM command, set to -1 to
-have it return that the file doesn't exist
-</mdtm>
-<postcmd>
-special purpose server-command to control its behavior *after* the
-reply is sent
-For HTTP/HTTPS, these are supported:
-
-wait [secs]
- - Pause for the given time
-</postcmd>
-<servercmd>
-Special-commands for the server.
-For FTP, these are supported:
-
-REPLY [command] [return value] [response string]
- - Changes how the server responds to the [command]. [response string] is
- evaluated as a perl string, so it can contain embedded \r\n, for example.
-COUNT [command] [num]
- - Do the REPLY change for [command] only [num] times and then go back to the
- built-in approach
-DELAY [command] [secs]
- - Delay responding to this command for the given time
-RETRWEIRDO
- - Enable the "weirdo" RETR case when multiple response lines appear at once
- when a file is transfered
-RETRNOSIZE
- - Make sure the RETR response doesn't contain the size of the file
-NOSAVE
- - Don't actually save what is received
-SLOWDOWN
- - Send FTP responses with 0.1 sec delay between each byte
-PASVBADIP
- - makes PASV send back an illegal IP in its 227 response
-
-For HTTP/HTTPS:
-auth_required if this is set and a POST/PUT is made without auth, the
- server will NOT wait for the full request body to get sent
-idle do nothing after receiving the request, just "sit idle"
-stream continuously send data to the client, never-ending
-pipe: [num] tell the server to expect this many HTTP requests before
- sending back anything, to allow pipelining tests
-skip: [num] instructs the server to ignore reading this many bytes from a PUT
- or POST request
-</servercmd>
-</reply>
-
-<client>
-
-<server>
-What server(s) this test case requires/uses:
-
-file
-ftp
-ftp-ipv6
-ftps
-http
-http-ipv6
-https
-none
-scp
-sftp
-socks4
-socks5
-
-Give only one per line. This subsection is mandatory.
-</server>
-
-<features>
-A list of features that MUST be present in the client/library for this test to
-be able to run (if these features are not present, the test will be
-SKIPPED). Features testable here are:
-
-crypto
-getrlimit
-GnuTLS
-idn
-ipv6
-large_file
-libz
-netrc_debug
-NSS
-OpenSSL
-SSL
-
-as well as each protocol that curl supports. A protocol only needs to be
-specified if it is different from the server (useful when the server
-is 'none').
-</features>
-
-<killserver>
-Using the same syntax as in <server> but when mentioned here these servers
-are explicitly KILLED when this test case is completed. Only use this if there
-is no other alternatives. Using this of course requires subsequent tests to
-restart servers.
-</killserver>
-
-<precheck>
-A command line that if set gets run by the test script before the test. If an
-output is displayed by the command, the test will be skipped and the
-(single-line) output will be displayed as reason for not running the test.
-Variables are substituted as in the <command> section.
-</precheck>
-
-<postcheck>
-A command line that if set gets run by the test script after the test. If
-the command exists with a non-zero status code, the test will be considered
-to have failed. Variables are substituted as in the <command> section.
-</postcheck>
-
-<tool>
-Name of tool to use instead of "curl". This tool must be built and exist
-in the libtest/ directory.
-</tool>
-
-<name>
-test case description
-</name>
-
-<setenv>
-variable1=contents1
-variable2=contents2
-
-Set the given environment variables to the specified value before the actual
-command is run. They are cleared again after the command has been run.
-Variables are first substituted as in the <command> section.
-</setenv>
-
-<command [option="no-output"] [timeout="secs"] [delay="secs"]>
-command line to run, there's a bunch of %variables that get replaced
-accordingly.
-
-Note that the URL that gets passed to the server actually controls what data
-that is returned. The last slash in the URL must be followed by a number. That
-number (N) will be used by the test-server to load test case N and return the
-data that is defined within the <reply><data></data></reply> section.
-
-If a CONNECT is used to the server (to emulate HTTPS etc over proxy), the port
-number given in the CONNECT request will be used to identify which test that
-is being run, if the proxy host name is said to start with 'test'.
-
-Set option="no-output" to prevent the test script to slap on the --output
-argument that directs the output to a file. The --output is also not added if
-the verify/stdout section is used.
-
-Set timeout="secs" to override default server logs advisor read lock timeout.
-This timeout is used by the test harness, once that the command has completed
-execution, to wait for the test server to write out server side log files and
-remove the lock that advised not to read them. The "secs" parameter is the not
-negative integer number of seconds for the timeout. This 'timeout' attribute
-is documented for completeness sake, but is deep test harness stuff and only
-needed for very singular and specific test cases. Avoid using it.
-
-Set delay="secs" to introduce a time delay once that the command has completed
-execution and before the <postcheck> section runs. The "secs" parameter is the
-not negative integer number of seconds for the delay. This 'delay' attribute
-is intended for very specific test cases, and normally not needed.
-
-Available substitute variables include:
-%CLIENTIP - IPv4 address of the client running curl
-%CLIENT6IP - IPv6 address of the client running curl
-%HOSTIP - IPv4 address of the host running this test
-%HOSTPORT - Port number of the HTTP server
-%HOST6IP - IPv6 address of the host running this test
-%HOST6PORT - IPv6 port number of the HTTP server
-%HTTPSPORT - Port number of the HTTPS server
-%FTPPORT - Port number of the FTP server
-%FTP6PORT - IPv6 port number of the FTP server
-%FTPSPORT - Port number of the FTPS server
-%FTP2PORT - Port number of the FTP server 2
-%FTPTIME2 - Timeout in seconds that should be just sufficient to receive
- a response from the test FTP server
-%TFTPPORT - Port number of the TFTP server
-%TFTP6PORT - IPv6 port number of the TFTP server
-%SSHPORT - Port number of the SCP/SFTP server
-%SOCKSPORT - Port number of the SOCKS4/5 server
-%SRCDIR - Full path to the source dir
-%PWD - Current directory
-%CURL - Path to the curl executable
-%USER - Login ID of the user running the test
-</command>
-
-<file name="log/filename">
-This creates the named file with this content before the test case is run,
-which is useful if the test case needs a file to act on.
-Variables are substituted on the contents of the file as in the <command>
-section.
-</file>
-
-<stdin>
-Pass this given data on stdin to the tool.
-</stdin>
-
-</client>
-
-<verify>
-<errorcode>
-numerical error code curl is supposed to return. Specify a list of accepted
-error codes by separating multiple numbers with comma. See test 237 for an
-example.
-</errorcode>
-<strip>
-One regex per line that is removed from the protocol dumps before the
-comparison is made. This is very useful to remove dependencies on dynamically
-changing protocol data such as port numbers or user-agent strings.
-</strip>
-<strippart>
-One perl op per line that operates on the protocol dump. This is pretty
-advanced. Example: "s/^EPRT .*/EPRT stripped/"
-</strippart>
-<protocol [nonewline="yes"]>
-the protocol dump curl should transmit, if 'nonewline' is set, we will cut
-off the trailing newline of this given data before comparing with the one
-actually sent by the client
-Variables are substituted as in the <command> section.
-</protocol>
-<stdout [mode="text"] [nonewline="yes"]>
-This verifies that this data was passed to stdout. Variables are
-substituted as in the <command> section.
-
-Use the mode="text" attribute if the output is in text mode on platforms that
-have a text/binary difference.
-
-If 'nonewline' is set, we will cut off the trailing newline of this given data
-before comparing with the one actually received by the client
-</stdout>
-<file name="log/filename" [mode="text"]>
-The file's contents must be identical to this after the test is complete.
-Use the mode="text" attribute if the output is in text mode on platforms that
-have a text/binary difference.
-Variables are substituted as in the <command> section.
-</file>
-<stripfile>
-One perl op per line that operates on the file before being compared. This is
-pretty advanced. Example: "s/^EPRT .*/EPRT stripped/"
-</stripfile>
-<upload>
-the contents of the upload data curl should have sent
-</upload>
-<valgrind>
-disable - disables the valgrind log check for this test
-</valgrind>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/Makefile.am b/Utilities/cmcurl-7.19.0/tests/Makefile.am
deleted file mode 100644
index 858e3a7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/Makefile.am
+++ /dev/null
@@ -1,74 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-HTMLPAGES = testcurl.html runtests.html
-PDFPAGES = testcurl.pdf runtests.pdf
-
-EXTRA_DIST = ftpserver.pl httpserver.pl httpsserver.pl runtests.pl getpart.pm \
- FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl valgrind.pm ftp.pm \
- sshserver.pl sshhelp.pm testcurl.1 runtests.1 $(HTMLPAGES) $(PDFPAGES)
-
-SUBDIRS = data server libtest
-
-PERLFLAGS = -I$(srcdir)
-
-CLEANFILES = .http.pid .https.pid .ftp.pid .ftps.pid
-
-MAN2HTML= roffit < $< >$@
-
-curl:
- @cd $(top_builddir) && $(MAKE)
-
-if CROSSCOMPILING
-TEST = @echo "NOTICE: we can't run the tests when cross-compiling!"
-TEST_Q =
-TEST_F =
-TEST_T =
-else # if not cross-compiling:
-TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl
-TEST_Q = -a -s
-TEST_F = -a -p
-TEST_T = -a -t
-endif
-
-test: all
- $(TEST)
-
-quiet-test: all
- $(TEST) $(TEST_Q)
-
-full-test: all
- $(TEST) $(TEST_F)
-
-torture-test: all
- $(TEST) $(TEST_T)
-
-.1.html:
- $(MAN2HTML)
-
-.1.pdf:
- @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
- groff -Tps -man $< >$$foo.ps; \
- ps2pdf $$foo.ps $@; \
- rm $$foo.ps; \
- echo "converted $< to $@")
diff --git a/Utilities/cmcurl-7.19.0/tests/Makefile.in b/Utilities/cmcurl-7.19.0/tests/Makefile.in
deleted file mode 100644
index 9ed8dd6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/Makefile.in
+++ /dev/null
@@ -1,590 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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 - 2008, 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.
-#
-# $Id$
-###########################################################################
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = tests
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-HTMLPAGES = testcurl.html runtests.html
-PDFPAGES = testcurl.pdf runtests.pdf
-EXTRA_DIST = ftpserver.pl httpserver.pl httpsserver.pl runtests.pl getpart.pm \
- FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl valgrind.pm ftp.pm \
- sshserver.pl sshhelp.pm testcurl.1 runtests.1 $(HTMLPAGES) $(PDFPAGES)
-
-SUBDIRS = data server libtest
-PERLFLAGS = -I$(srcdir)
-CLEANFILES = .http.pid .https.pid .ftp.pid .ftps.pid
-MAN2HTML = roffit < $< >$@
-@CROSSCOMPILING_FALSE@TEST = srcdir=$(srcdir) $(PERL) $(PERLFLAGS) $(srcdir)/runtests.pl
-@CROSSCOMPILING_TRUE@TEST = @echo "NOTICE: we can't run the tests when cross-compiling!"
-@CROSSCOMPILING_FALSE@TEST_Q = -a -s
-@CROSSCOMPILING_TRUE@TEST_Q =
-@CROSSCOMPILING_FALSE@TEST_F = -a -p
-@CROSSCOMPILING_TRUE@TEST_F =
-@CROSSCOMPILING_FALSE@TEST_T = -a -t
-@CROSSCOMPILING_TRUE@TEST_T =
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .1 .html .pdf
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-
-curl:
- @cd $(top_builddir) && $(MAKE)
-
-test: all
- $(TEST)
-
-quiet-test: all
- $(TEST) $(TEST_Q)
-
-full-test: all
- $(TEST) $(TEST_F)
-
-torture-test: all
- $(TEST) $(TEST_T)
-
-.1.html:
- $(MAN2HTML)
-
-.1.pdf:
- @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
- groff -Tps -man $< >$$foo.ps; \
- ps2pdf $$foo.ps $@; \
- rm $$foo.ps; \
- echo "converted $< to $@")
-# 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/Utilities/cmcurl-7.19.0/tests/README b/Utilities/cmcurl-7.19.0/tests/README
deleted file mode 100644
index 50b5345..0000000
--- a/Utilities/cmcurl-7.19.0/tests/README
+++ /dev/null
@@ -1,154 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-The cURL Test Suite
-
-Requires:
- perl (and a unix-style shell)
- diff (when a test fails, a diff is shown)
- stunnel (for HTTPS and FTPS tests)
- OpenSSH or SunSSH (for SCP, SFTP and SOCKS4/5 tests)
-
-TCP ports used by default:
-
- - 8990 on localhost for HTTP tests
- - 8991 on localhost for HTTPS tests
- - 8994 on localhost for HTTP IPv6 tests
- - 8992 on localhost for FTP tests
- - 8995 on localhost for FTP (2) tests
- - 8993 on localhost for FTPS tests
- - 8996 on localhost for FTP IPv6 tests
- - 8997 on localhost for TFTP tests
- - 8999 on localhost for SCP/SFTP tests
- - 9000 on localhost for SOCKS tests
-
- The test suite runs simple FTP, HTTP and TFTP servers on these ports to
- which it makes requests. For SSL tests, it runs stunnel to handle
- encryption to the regular servers. For SSH, it runs a standard OpenSSH
- server. For SOCKS4/5 tests SSH is used to perform the SOCKS functionality
- and requires a SSH client and server.
-
- The base port number shown above can be changed using runtests' -b option
- to allow running more than one instance of the test suite simultaneously
- on one machine.
-
-Run:
- 'make test'. This builds the test suite support code and invokes the
- 'runtests.pl' perl script to run all the tests. Edit the top variables
- of that script in case you have some specific needs, or run the script
- manually (after the support code has been built).
-
- The script breaks on the first test that doesn't do OK. Use -a to prevent
- the script from abort on the first error. Run the script with -v for more
- verbose output. Use -d to run the test servers with debug output enabled as
- well. Specifying -k keeps all the log files generated by the test intact.
-
- Use -s for shorter output, or pass test numbers to run specific tests only
- (like "./runtests.pl 3 4" to test 3 and 4 only). It also supports test case
- ranges with 'to', as in "./runtests 3 to 9" which runs the seven tests from
- 3 to 9. Any test numbers starting with ! are disabled, as are any test
- numbers found in the file data/DISABLED (one per line).
-
-Shell startup scripts:
- Tests which use the ssh test server, SCP/SFTP/SOCKS tests, might be badly
- influenced by the output of system wide or user specific shell startup scripts,
- .bashrc, .profile, /etc/csh.cshrc, .login, /etc/bashrc, etc. which output text
- messages or escape sequences on user login. When these shell startup messages
- or escape sequences are output they might corrupt the expected stream of data
- which flows to the sftp-server or from the ssh client which can result in bad
- test behaviour or even prevent the test server from running.
-
- If the test suite ssh or sftp server fails to start up and logs the message
- 'Received message too long' then you are certainly suffering the unwanted
- output of a shell startup script. Locate, cleanup or adjust the shell script.
-
-Memory:
- The test script will check that all allocated memory is freed properly IF
- curl has been built with the CURLDEBUG define set. The script will
- automatically detect if that is the case, and it will use the ../memanalyze
- script to analyze the memory debugging output.
-
- The -t option will enable torture testing mode, which runs each test
- many times but causes a different memory allocation to fail on each
- successive run. This tests the out of memory error handling code to
- ensure that memory leaks do not occur even in those situations.
-
-Debug:
- If a test case fails, you can conveniently get the script to invoke the
- debugger (gdb) for you with the server running and the exact same command
- line parameters that failed. Just invoke 'runtests.pl <test number> -g' and
- then just type 'run' in the debugger to perform the command through the
- debugger.
-
- If a test case causes a core dump, analyze it by running gdb like:
-
- # gdb ../curl/src core
-
- ... and get a stack trace with the gdb command:
-
- (gdb) where
-
-Logs:
- All logs are generated in the logs/ subdirectory (it is emptied first
- in the runtests.pl script). Use runtests.pl -k to keep the temporary files
- after the test run.
-
-Data:
- All test cases are put in the data/ subdirectory. Each test is stored in the
- file named according to the test number.
-
- See FILEFORMAT for the description of the test case files.
-
-Code coverage:
- gcc provides a tool that can determine the code coverage figures for
- the test suite. To use it, configure curl with
- CFLAGS='-fprofile-arcs -ftest-coverage -g -O0'. Make sure you run the normal
- and torture tests to get more full coverage, i.e. do:
-
- make test
- cd tests
- make torture-test
-
- The graphical tool ggcov can be used to browse the source and create
- coverage reports on *NIX hosts:
-
- ggcov -r lib src
-
- The text mode tool gcov may also be used, but it doesn't handle object files
- in more than one directory very well.
-
-Remote testing:
- The runtests.pl script provides some hooks to allow curl to be tested on a
- machine where perl can not be run. The test framework in this case runs on
- a workstation where perl is available, while curl itself is run on a remote
- system using ssh or some other remote execution method. See the comments at
- the beginning of runtests.pl for details.
-
-TEST CASE NUMBERS
-
- So far, I've used this system:
-
- 1 - 99 HTTP
- 100 - 199 FTP*
- 200 - 299 FILE*
- 300 - 399 HTTPS
- 400 - 499 FTPS
- 500 - 599 libcurl source code tests, not using the curl command tool
- 600 - 699 SCP/SFTP
- 700 - 799 SOCKS4 (even numbers) and SOCK5 (odd numbers)
- 1000 - 1999 miscellaneous*
- 2000 - x multiple sequential protocols per test case*
-
- Since 30-apr-2003, there's nothing in the system that requires us to keep
- within these number series, and those sections marked with * actually
- contain tests for a variety of protocols. Each test case now specifies
- its own server requirements, independent of test number.
-
-TODO:
-
- * Add tests for TELNET, LDAP, DICT...
- * SOCKS4/5 test deficiencies - no proxy authentication tests as SSH (the
- test mechanism) doesn't support them
diff --git a/Utilities/cmcurl-7.19.0/tests/data/DISABLED b/Utilities/cmcurl-7.19.0/tests/data/DISABLED
deleted file mode 100644
index dc68bd9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/DISABLED
+++ /dev/null
@@ -1,10 +0,0 @@
-# $Id$
-# This file can be used to specify test cases that should not run when all
-# test cases are run by runtests.pl. Just add the plain test case numbers, one
-# per line.
-# Lines starting with '#' letters are treated as comments.
-1069
-1071
-1072
-1073
-1074
diff --git a/Utilities/cmcurl-7.19.0/tests/data/Makefile.am b/Utilities/cmcurl-7.19.0/tests/data/Makefile.am
deleted file mode 100644
index 185d385..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/Makefile.am
+++ /dev/null
@@ -1,79 +0,0 @@
-iall:
-install:
-test:
-
-EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
- test10 test109 test118 test13 test200 test28 test36 test47 test100 test11 \
- test119 test14 test201 test29 test37 test5 test101 test110 test12 test15 \
- test202 test3 test4 test6 test102 test111 test120 test16 test21 test30 \
- test7 test103 test112 test121 test17 test22 test300 test8 test104 test113 \
- test122 test18 test23 test301 test9 test105 test114 test123 test19 test24 \
- test302 test43 test31 test106 test115 test124 test190 test25 test303 \
- test44 test38 test107 test116 test125 test2 test26 test33 test45 test126 \
- test304 test39 test32 test128 test48 test306 test130 test131 test132 \
- test133 test134 test135 test305 test49 test50 test51 test52 test53 test54 \
- test55 test56 test500 test501 test502 test503 test504 test136 test57 \
- test137 test138 test58 test139 test140 test141 test59 test60 test61 \
- test142 test143 test62 test63 test64 test65 test66 test144 test145 test67 \
- test68 test41 test40 test42 test69 test70 test71 test72 test73 test146 \
- test505 test74 test75 test76 test77 test78 test147 test148 test506 test79 \
- test80 test81 test82 test83 test84 test85 test86 test87 test507 test149 \
- test88 test89 test90 test508 test91 test92 test203 test93 test94 test95 \
- test510 test97 test98 test99 test150 test151 test152 test153 \
- test154 test155 test156 test157 test158 test159 test511 test160 test161 \
- test162 test163 test164 test512 test165 test166 test167 test168 test169 \
- test170 test171 test172 test204 test205 test173 test174 test175 test176 \
- test177 test513 test514 test178 test179 test180 test181 test182 test183 \
- test184 test185 test186 test187 test188 test189 test191 test192 test193 \
- test194 test195 test196 test197 test198 test515 test516 test517 test518 \
- test210 test211 test212 test220 test221 test222 test223 test224 test206 \
- test207 test208 test209 test213 test240 test241 test242 test519 test214 \
- test215 test216 test217 test218 test199 test225 test226 test227 test228 \
- test229 test233 test234 test235 test236 test520 test237 test238 test239 \
- test243 test245 test246 test247 test248 test249 test250 test251 test252 \
- test253 test254 test255 test521 test522 test523 test256 test257 test258 \
- test259 test260 test261 test262 test263 test264 test265 test266 test267 \
- test268 test269 test270 test271 test272 test273 test274 test275 test524 \
- test525 test276 test277 test526 test527 test528 test530 DISABLED test278 \
- test279 test531 test280 test529 test532 test533 test534 test535 test281 \
- test537 test282 test283 test284 test538 test285 test286 test307 test308 \
- test287 test400 test288 test600 test601 test602 test603 test401 test402 \
- test290 test291 test292 test293 test403 test404 test405 test604 test605 \
- test606 test607 test608 test609 test294 test295 test296 test297 test298 \
- test610 test611 test612 test406 test407 test408 test409 test613 test614 \
- test700 test701 test702 test704 test705 test703 test706 test707 test350 \
- test351 test352 test353 test289 test540 test354 test231 test1000 test1001 \
- test1002 test1003 test1004 test1005 test1006 test615 test1007 test541 \
- test1010 test1011 test1012 test542 test543 test536 test1008 test1009 \
- test2000 test2001 test2002 test2003 test35 test544 test545 test2004 \
- test546 test1013 test1014 test1015 test547 test548 test549 test550 \
- test551 test552 test1016 test1017 test1018 test1019 test1020 test553 \
- test1021 test1022 test1023 test309 test616 test617 test618 test619 \
- test620 test621 test622 test623 test624 test625 test626 test627 test554 \
- test1024 test1025 test555 test1026 test1027 test1028 test1029 test1030 \
- test556 test557 test1031 test628 test629 test630 test631 test632 test1032 \
- test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \
- test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
- test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055 \
- test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063 \
- test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \
- test1072 test1073 test1074 test1075
-
-filecheck:
- @mkdir test-place; \
- cp "$(top_srcdir)"/tests/data/test[0-9]* test-place/; \
- rm test-place/*~; \
- for f in $(EXTRA_DIST); do \
- if test -f "$(top_srcdir)/tests/data/$$f"; then \
- rm -f "test-place/$$f"; \
- else \
- echo "$$f is listed but missing!"; \
- fi \
- done; \
- echo "Local files not present in EXTRA_DIST:" ; \
- ls test-place; \
- ! ls test-place | grep . >/dev/null ; \
- RC=$$? ; \
- rm -rf test-place ; \
- exit $$RC
-
diff --git a/Utilities/cmcurl-7.19.0/tests/data/Makefile.in b/Utilities/cmcurl-7.19.0/tests/data/Makefile.in
deleted file mode 100644
index b515e67..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/Makefile.in
+++ /dev/null
@@ -1,442 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-subdir = tests/data
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
- test10 test109 test118 test13 test200 test28 test36 test47 test100 test11 \
- test119 test14 test201 test29 test37 test5 test101 test110 test12 test15 \
- test202 test3 test4 test6 test102 test111 test120 test16 test21 test30 \
- test7 test103 test112 test121 test17 test22 test300 test8 test104 test113 \
- test122 test18 test23 test301 test9 test105 test114 test123 test19 test24 \
- test302 test43 test31 test106 test115 test124 test190 test25 test303 \
- test44 test38 test107 test116 test125 test2 test26 test33 test45 test126 \
- test304 test39 test32 test128 test48 test306 test130 test131 test132 \
- test133 test134 test135 test305 test49 test50 test51 test52 test53 test54 \
- test55 test56 test500 test501 test502 test503 test504 test136 test57 \
- test137 test138 test58 test139 test140 test141 test59 test60 test61 \
- test142 test143 test62 test63 test64 test65 test66 test144 test145 test67 \
- test68 test41 test40 test42 test69 test70 test71 test72 test73 test146 \
- test505 test74 test75 test76 test77 test78 test147 test148 test506 test79 \
- test80 test81 test82 test83 test84 test85 test86 test87 test507 test149 \
- test88 test89 test90 test508 test91 test92 test203 test93 test94 test95 \
- test510 test97 test98 test99 test150 test151 test152 test153 \
- test154 test155 test156 test157 test158 test159 test511 test160 test161 \
- test162 test163 test164 test512 test165 test166 test167 test168 test169 \
- test170 test171 test172 test204 test205 test173 test174 test175 test176 \
- test177 test513 test514 test178 test179 test180 test181 test182 test183 \
- test184 test185 test186 test187 test188 test189 test191 test192 test193 \
- test194 test195 test196 test197 test198 test515 test516 test517 test518 \
- test210 test211 test212 test220 test221 test222 test223 test224 test206 \
- test207 test208 test209 test213 test240 test241 test242 test519 test214 \
- test215 test216 test217 test218 test199 test225 test226 test227 test228 \
- test229 test233 test234 test235 test236 test520 test237 test238 test239 \
- test243 test245 test246 test247 test248 test249 test250 test251 test252 \
- test253 test254 test255 test521 test522 test523 test256 test257 test258 \
- test259 test260 test261 test262 test263 test264 test265 test266 test267 \
- test268 test269 test270 test271 test272 test273 test274 test275 test524 \
- test525 test276 test277 test526 test527 test528 test530 DISABLED test278 \
- test279 test531 test280 test529 test532 test533 test534 test535 test281 \
- test537 test282 test283 test284 test538 test285 test286 test307 test308 \
- test287 test400 test288 test600 test601 test602 test603 test401 test402 \
- test290 test291 test292 test293 test403 test404 test405 test604 test605 \
- test606 test607 test608 test609 test294 test295 test296 test297 test298 \
- test610 test611 test612 test406 test407 test408 test409 test613 test614 \
- test700 test701 test702 test704 test705 test703 test706 test707 test350 \
- test351 test352 test353 test289 test540 test354 test231 test1000 test1001 \
- test1002 test1003 test1004 test1005 test1006 test615 test1007 test541 \
- test1010 test1011 test1012 test542 test543 test536 test1008 test1009 \
- test2000 test2001 test2002 test2003 test35 test544 test545 test2004 \
- test546 test1013 test1014 test1015 test547 test548 test549 test550 \
- test551 test552 test1016 test1017 test1018 test1019 test1020 test553 \
- test1021 test1022 test1023 test309 test616 test617 test618 test619 \
- test620 test621 test622 test623 test624 test625 test626 test627 test554 \
- test1024 test1025 test555 test1026 test1027 test1028 test1029 test1030 \
- test556 test557 test1031 test628 test629 test630 test631 test632 test1032 \
- test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \
- test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
- test1048 test1049 test1050 test1051 test1052 test1053 test1054 test1055 \
- test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063 \
- test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071 \
- test1072 test1073 test1074 test1075
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/data/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests/data/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;
-
-$(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
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: check-am
-all-am: Makefile
-installdirs:
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-iall:
-install:
-test:
-
-filecheck:
- @mkdir test-place; \
- cp "$(top_srcdir)"/tests/data/test[0-9]* test-place/; \
- rm test-place/*~; \
- for f in $(EXTRA_DIST); do \
- if test -f "$(top_srcdir)/tests/data/$$f"; then \
- rm -f "test-place/$$f"; \
- else \
- echo "$$f is listed but missing!"; \
- fi \
- done; \
- echo "Local files not present in EXTRA_DIST:" ; \
- ls test-place; \
- ! ls test-place | grep . >/dev/null ; \
- RC=$$? ; \
- rm -rf test-place ; \
- exit $$RC
-# 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/Utilities/cmcurl-7.19.0/tests/data/test1 b/Utilities/cmcurl-7.19.0/tests/data/test1
deleted file mode 100644
index d3cc2d5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply name="1">
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test10 b/Utilities/cmcurl-7.19.0/tests/data/test10
deleted file mode 100644
index 455d51c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test10
+++ /dev/null
@@ -1,67 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-simple HTTP PUT from file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/10 -T log/test10.txt
-</command>
-<file name="log/test10.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /we/want/10 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-Expect: 100-continue
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test100 b/Utilities/cmcurl-7.19.0/tests/data/test100
deleted file mode 100644
index 24b47ca..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test100
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list PASV
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1000 b/Utilities/cmcurl-7.19.0/tests/data/test1000
deleted file mode 100644
index 1bf30a7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1000
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-NOBODY
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<datacheck>
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list PASV with -I
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/1000/ -I
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD 1000
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1001 b/Utilities/cmcurl-7.19.0/tests/data/test1001
deleted file mode 100644
index 2b1c5b4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1001
+++ /dev/null
@@ -1,105 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP Digest auth
-HTTP PUT
-Resume
-Content-Range
-CUSTOMREQUEST
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 100 Continue
-Server: Microsoft-IIS/5.0
-Date: Sun, 03 Apr 2005 14:57:45 GMT
-X-Powered-By: ASP.NET
-
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-</data>
-<data1000>
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data1000>
-
-<datacheck>
-HTTP/1.1 100 Continue
-Server: Microsoft-IIS/5.0
-Date: Sun, 03 Apr 2005 14:57:45 GMT
-X-Powered-By: ASP.NET
-
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
- <name>
-HTTP POST --digest with PUT and resumed upload and modified method
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1001 -u auser:apasswd --digest -T log/1001 -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
-</command>
-<file name="log/1001">
-test
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/1001 HTTP/1.1
-Content-Range: bytes 2-4/5
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Expect: 100-continue
-
-GET http://%HOSTIP:%HTTPPORT/1001 HTTP/1.1
-Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1001", response="6af4d89c952f4dd4cc215a6878dc499d"
-Content-Range: bytes 2-4/5
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 3
-Expect: 100-continue
-
-st
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1002 b/Utilities/cmcurl-7.19.0/tests/data/test1002
deleted file mode 100644
index 6a2afed..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1002
+++ /dev/null
@@ -1,116 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP Digest auth
-HTTP PUT
-Resume
-Content-Range
-CUSTOMREQUEST
-</keywords>
-</info>
-
-<reply>
-<data>
-HTTP/1.1 100 Continue
-Server: Microsoft-IIS/5.0
-Date: Sun, 03 Apr 2005 14:57:45 GMT
-X-Powered-By: ASP.NET
-
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-</data>
-<data1000>
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data1000>
-
-<datacheck>
-HTTP/1.1 100 Continue
-Server: Microsoft-IIS/5.0
-Date: Sun, 03 Apr 2005 14:57:45 GMT
-X-Powered-By: ASP.NET
-
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
- <name>
-HTTP POST --digest with PUT and resumed upload and modified method, twice
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1002.upload1 -T log/1002 http://%HOSTIP:%HTTPPORT/1002.upload2 -T log/1002 -u auser:apasswd --digest -x http://%HOSTIP:%HTTPPORT -C 2 -X GET
-</command>
-<file name="log/1002">
-test
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/1002.upload1 HTTP/1.1
-Content-Range: bytes 2-4/5
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Expect: 100-continue
-
-GET http://%HOSTIP:%HTTPPORT/1002.upload1 HTTP/1.1
-Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1002.upload1", response="198aa9b6acb4b0c71d02a197a5e41f54"
-Content-Range: bytes 2-4/5
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 3
-Expect: 100-continue
-
-st
-GET http://%HOSTIP:%HTTPPORT/1002.upload2 HTTP/1.1
-Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1002.upload2", response="d711f0d2042786d930de635ba0d1a1d0"
-Content-Range: bytes 2-4/5
-User-Agent: curl/7.16.1
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 3
-Expect: 100-continue
-
-st
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1003 b/Utilities/cmcurl-7.19.0/tests/data/test1003
deleted file mode 100644
index 762ce1c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1003
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-huge response
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-mooo
-</data>
-# a ~17000 bytes response string to CWD to make sure the ftp parser deals
-# with it nicely
-<servercmd>
-REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with excessively large server command response line
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/1003
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 1003
-RETR 1003
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1004 b/Utilities/cmcurl-7.19.0/tests/data/test1004
deleted file mode 100644
index 8478cc1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1004
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with empty proxy
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1004 --proxy ""
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1004 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1005 b/Utilities/cmcurl-7.19.0/tests/data/test1005
deleted file mode 100644
index 23d30fa..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1005
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-huge response
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-mooo
-</data>
-# a long set of response strings to CWD to make sure the ftp parser deals
-# with it nicely
-<servercmd>
-REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with excessively large number of server command response lines
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/1005
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 1005
-RETR 1005
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1006 b/Utilities/cmcurl-7.19.0/tests/data/test1006
deleted file mode 100644
index a4742c6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1006
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-huge response
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-mooo
-</data>
-# A long set of response strings to CWD to make sure the ftp parser deals
-# with it nicely. The length hits a boundary condition that may make curl
-# hang.
-<servercmd>
-REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with excessively large number of server command response lines (boundary condition)
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/1006
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 1006
-RETR 1006
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1007 b/Utilities/cmcurl-7.19.0/tests/data/test1007
deleted file mode 100644
index 5966ab3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1007
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP WRQ
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP send with invalid permission on server
- </name>
- <command>
--T log/test1007.txt tftp://%HOSTIP:%TFTPPORT//invalid-file --trace-ascii log/traceit
-</command>
-<file name="log/test1007.txt">
-This data will not be sent
-</file>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<errorcode>
-69
-</errorcode>
-<protocol>
-opcode: 2
-filename: /invalid-file
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1008 b/Utilities/cmcurl-7.19.0/tests/data/test1008
deleted file mode 100644
index e3b6b65..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1008
+++ /dev/null
@@ -1,122 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-HTTP proxy NTLM auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Transfer-Encoding: chunked
-
-20
-And you should ignore this data.
-FA0
-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-0
-
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-</data1002>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Transfer-Encoding: chunked
-
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response
- </name>
- <command>
-http://test.remote.server.com:1008/path/10080002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-CONNECT test.remote.server.com:1008 HTTP/1.0
-Host: test.remote.server.com:1008
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:1008 HTTP/1.0
-Host: test.remote.server.com:1008
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-Proxy-Connection: Keep-Alive
-
-GET /path/10080002 HTTP/1.1
-User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.server.com:1008
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1009 b/Utilities/cmcurl-7.19.0/tests/data/test1009
deleted file mode 100644
index b0a93e5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1009
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP RRQ
---local-port
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-a chunk of
-data
-returned
- to client
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP retrieve with --local-port
- </name>
- <command>
-tftp://%HOSTIP:%TFTPPORT//1009 --local-port 44444-45444
-</command>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<protocol>
-opcode: 1
-filename: /1009
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test101 b/Utilities/cmcurl-7.19.0/tests/data/test101
deleted file mode 100644
index 2ae00a5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test101
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-LIST
-</keywords>
-</info>
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list, PORT with specified IP
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/ -P %CLIENTIP
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-PORT 127,0,0,1,243,212
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1010 b/Utilities/cmcurl-7.19.0/tests/data/test1010
deleted file mode 100644
index 87c1246..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1010
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list nocwd
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT//list/this/path/1010/ --ftp-method nocwd
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST /list/this/path/1010/
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1011 b/Utilities/cmcurl-7.19.0/tests/data/test1011
deleted file mode 100644
index b474321..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1011
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsclose
-Location: moo.html&testcase=/10110002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 301 OK swsclose
-Location: moo.html&testcase=/10110002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST with 301 redirect
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/blah/1011 -L -d "moo"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-POST /blah/1011 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 3
-Content-Type: application/x-www-form-urlencoded
-
-mooGET /blah/moo.html&testcase=/10110002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1012 b/Utilities/cmcurl-7.19.0/tests/data/test1012
deleted file mode 100644
index bd9acee..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1012
+++ /dev/null
@@ -1,79 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsclose
-Location: moo.html&testcase=/10120002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 301 OK swsclose
-Location: moo.html&testcase=/10120002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST with 301 redirect and --post301
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/blah/1012 -L -d "moo" --post301
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /blah/1012 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 3
-Content-Type: application/x-www-form-urlencoded
-
-mooPOST /blah/moo.html&testcase=/10120002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 3
-Content-Type: application/x-www-form-urlencoded
-
-moo
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1013 b/Utilities/cmcurl-7.19.0/tests/data/test1013
deleted file mode 100644
index 9a1e6d4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1013
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-<info>
-<keywords>
-curl-config
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
- <name>
-Compare curl --version with curl-config --protocols
- </name>
- <command>
---version
-</command>
-<postcheck>
-%SRCDIR/libtest/test1013.pl ../curl-config log/stdout1013 protocols
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-0
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1014 b/Utilities/cmcurl-7.19.0/tests/data/test1014
deleted file mode 100644
index 5116aad..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1014
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-<info>
-<keywords>
-curl-config
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
- <name>
-Compare curl --version with curl-config --features
- </name>
- <command>
---version
-</command>
-<postcheck>
-%SRCDIR/libtest/test1013.pl ../curl-config log/stdout1014 features
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-0
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1015 b/Utilities/cmcurl-7.19.0/tests/data/test1015
deleted file mode 100644
index f6637b6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1015
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
---data-urlencode
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 I am cool swsclose
-Server: Cool server/10.0
-Content-Length: 0
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
---data-urlencode
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/1015.txt" --data-urlencode @log/1015.txt
-</command>
-<file name="log/1015.txt">
-content to _?!#$'|<>
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /1015 HTTP/1.1
-User-Agent: curl/7.17.2-CVS (i686-pc-linux-gnu) libcurl/7.17.2-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.5.2-CVS libidn/1.1 libssh2/0.19.0-C
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 141
-Content-Type: application/x-www-form-urlencoded
-
-my%20name%20is%20moo%5B%5D&y e s=s%5Fi%5Fr&v_alue=content%20to%20%5F%3F%21%23%24%27%7C%3C%3E%0A&content%20to%20%5F%3F%21%23%24%27%7C%3C%3E%0A
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1016 b/Utilities/cmcurl-7.19.0/tests/data/test1016
deleted file mode 100644
index b404cac..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1016
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-Range
-</keywords>
-</info>
-
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-</features>
- <name>
-X-Y range on a file:// URL to stdout
- </name>
- <command>
--r 1-4 file://localhost/%PWD/log/test1016.txt
-</command>
-<file name="log/test1016.txt">
-1234567890
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout nonewline="yes">
-2345
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1017 b/Utilities/cmcurl-7.19.0/tests/data/test1017
deleted file mode 100644
index 6fbc38a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1017
+++ /dev/null
@@ -1,40 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-</features>
- <name>
-0-Y range on a file:// URL to stdout
- </name>
- <command>
--r 0-3 file://localhost/%PWD/log/test1017.txt
-</command>
-<file name="log/test1017.txt">
-1234567890
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout nonewline="yes">
-1234
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1018 b/Utilities/cmcurl-7.19.0/tests/data/test1018
deleted file mode 100644
index 28a7027..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1018
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-Range
-</keywords>
-</info>
-
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-</features>
- <name>
-X-X range on a file:// URL to stdout
- </name>
- <command>
--r 4-4 file://localhost/%PWD/log/test1018.txt
-</command>
-<file name="log/test1018.txt">
-1234567890
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout nonewline="yes">
-5
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1019 b/Utilities/cmcurl-7.19.0/tests/data/test1019
deleted file mode 100644
index 4d9872a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1019
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-</features>
- <name>
-X- range on a file:// URL to stdout
- </name>
- <command>
--r 7- file://localhost/%PWD/log/test1019.txt
-</command>
-<file name="log/test1019.txt">
-1234567890
-1234567890
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout>
-890
-1234567890
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test102 b/Utilities/cmcurl-7.19.0/tests/data/test102
deleted file mode 100644
index e608150..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test102
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR PASV
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/102
-</command>
-
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 102
-RETR 102
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1020 b/Utilities/cmcurl-7.19.0/tests/data/test1020
deleted file mode 100644
index 735871d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1020
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-</features>
- <name>
--Y range on a file:// URL to stdout
- </name>
- <command>
--r -9 file://localhost/%PWD/log/test1020.txt
-</command>
-<file name="log/test1020.txt">
-1234567890
-1234567890
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout>
-34567890
-</stdout>
-</verify>
-</testcase>
-
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1021 b/Utilities/cmcurl-7.19.0/tests/data/test1021
deleted file mode 100644
index e5a825f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1021
+++ /dev/null
@@ -1,135 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-HTTP proxy NTLM auth
---proxy-anyauth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
-Proxy-Authenticate: NTLM
-Content-Length: 21
-Connection: close
-
-data to discard
-</data>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 28
-
-And you should ignore this data.
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-</data1002>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
-Proxy-Authenticate: NTLM
-Content-Length: 21
-Connection: close
-
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 28
-
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close
- </name>
- <command>
-http://test.remote.server.com:1021/path/10210002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-anyauth --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-CONNECT test.remote.server.com:1021 HTTP/1.0
-Host: test.remote.server.com:1021
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:1021 HTTP/1.0
-Host: test.remote.server.com:1021
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:1021 HTTP/1.0
-Host: test.remote.server.com:1021
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-Proxy-Connection: Keep-Alive
-
-GET /path/10210002 HTTP/1.1
-User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.server.com:1021
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1022 b/Utilities/cmcurl-7.19.0/tests/data/test1022
deleted file mode 100644
index 6a8b012..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1022
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-<info>
-<keywords>
-curl-config
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
- <name>
-Compare curl --version with curl-config --version
- </name>
- <command>
---version
-</command>
-<postcheck>
-%SRCDIR/libtest/test1022.pl ../curl-config log/stdout1022 version
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-0
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1023 b/Utilities/cmcurl-7.19.0/tests/data/test1023
deleted file mode 100644
index 9c916a0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1023
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-<info>
-<keywords>
-curl-config
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
- <name>
-Compare curl --version with curl-config --vernum
- </name>
- <command>
---version
-</command>
-<postcheck>
-%SRCDIR/libtest/test1022.pl ../curl-config log/stdout1023 vernum
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-0
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1024 b/Utilities/cmcurl-7.19.0/tests/data/test1024
deleted file mode 100644
index 6d98e3d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1024
+++ /dev/null
@@ -1,103 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../data/10240002.txt
-Set-Cookie: firstcookie=want; path=/want/
-Content-Length: 69
-
-This server reply is for testing a Location: following with cookies
-
-</data>
-<data2>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../want/10240003.txt
-Set-Cookie: nextcookie=data; path=/data/
-Content-Length: 69
-
-This server reply is for testing a Location: following with cookies
-
-</data2>
-<data3>
-HTTP/1.1 200 Followed here fine
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data3>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../data/10240002.txt
-Set-Cookie: firstcookie=want; path=/want/
-Content-Length: 69
-
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../want/10240003.txt
-Set-Cookie: nextcookie=data; path=/data/
-Content-Length: 69
-
-HTTP/1.1 200 Followed here fine
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with cookies
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1024 -L -c log/jar1024
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/1024 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /data/10240002.txt HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/10240003.txt HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: firstcookie=want
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1025 b/Utilities/cmcurl-7.19.0/tests/data/test1025
deleted file mode 100644
index 22a8f24..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1025
+++ /dev/null
@@ -1,105 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../data/10250002.txt
-Set-Cookie: firstcookie=want; path=/want/
-Content-Length: 69
-
-This server reply is for testing a Location: following with cookies
-
-</data>
-<data2>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../want/10250003.txt
-Set-Cookie: nextcookie=data; path=/data/
-Content-Length: 69
-
-This server reply is for testing a Location: following with cookies
-
-</data2>
-<data3>
-HTTP/1.1 200 Followed here fine
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data3>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../data/10250002.txt
-Set-Cookie: firstcookie=want; path=/want/
-Content-Length: 69
-
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ../want/10250003.txt
-Set-Cookie: nextcookie=data; path=/data/
-Content-Length: 69
-
-HTTP/1.1 200 Followed here fine
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with command-line and server cookies
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1025 -L -c log/jar1025 -b forcedcookie=yes
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/1025 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: forcedcookie=yes
-
-GET /data/10250002.txt HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: forcedcookie=yes
-
-GET /want/10250003.txt HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: firstcookie=want; forcedcookie=yes
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1026 b/Utilities/cmcurl-7.19.0/tests/data/test1026
deleted file mode 100644
index e47b12a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1026
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
---manual
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
- <name>
-curl --manual
- </name>
- <command>
---manual
-</command>
-# Search for these two sentinel lines in the manual output; if they are found,
-# then chances are good the entire manual is there.
-<postcheck>
-perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(a\s*tool\s*to\s*transfer\s*data)|(mailing\s*lists\s*to\s*discuss\s*curl)/, <IN>); exit ($lines != 2); # Let this file pass an XML syntax check: </IN>' log/stdout1026
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-0
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1027 b/Utilities/cmcurl-7.19.0/tests/data/test1027
deleted file mode 100644
index 9c3d6e3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1027
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
---help
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
- <name>
-curl --help
- </name>
- <command>
---help
-</command>
-# Search for these two sentinel lines in the help output; if they are found,
-# then chances are good the entire help is there.
-<postcheck>
-perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, <IN>); exit ($lines != 2); # Let this file pass an XML syntax check: </IN>' log/stdout1027
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-0
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1028 b/Utilities/cmcurl-7.19.0/tests/data/test1028
deleted file mode 100644
index 593bbd4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1028
+++ /dev/null
@@ -1,94 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-FTP
-PASV
-FILE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data1>
-HTTP/1.1 302 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Location: ftp://127.0.0.1:8992/10280002
-Content-Length: 0
-Connection: close
-
-</data1>
-<data2>
-data
- to
- see
-that FTP
-works
- so does it?
-</data2>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-ftp
-</server>
- <name>
-HTTP Location: redirect to FTP URL
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/10280001 -L
-</command>
-# The data section doesn't do variable substitution, so we must assert this
-<precheck>
-perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );"
-</precheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /10280001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 10280002
-RETR 10280002
-QUIT
-</protocol>
-<stdout>
-HTTP/1.1 302 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Location: ftp://%HOSTIP:%FTPPORT/10280002
-Content-Length: 0
-Connection: close
-
-data
- to
- see
-that FTP
-works
- so does it?
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1029 b/Utilities/cmcurl-7.19.0/tests/data/test1029
deleted file mode 100644
index 839df0a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1029
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-redirect_url
-followlocation
---write-out
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 301 This is a weirdo text message swsclose
-Location: data/10290002.txt?coolsite=yes
-Content-Length: 62
-Connection: close
-
-This server reply is for testing a simple Location: following
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: and 'redirect_url' check
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/our/1029 -w '%{redirect_url}\n'
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/our/1029 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<stdout mode="text">
-HTTP/1.1 301 This is a weirdo text message swsclose
-Location: data/10290002.txt?coolsite=yes
-Content-Length: 62
-Connection: close
-
-This server reply is for testing a simple Location: following
-http://%HOSTIP:%HTTPPORT/we/want/our/data/10290002.txt?coolsite=yes
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test103 b/Utilities/cmcurl-7.19.0/tests/data/test103
deleted file mode 100644
index 0c5de32..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test103
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR PORT with CWD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/a/path/103 -P -
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-PORT 127,0,0,1,0,0
-TYPE I
-SIZE 103
-RETR 103
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1030 b/Utilities/cmcurl-7.19.0/tests/data/test1030
deleted file mode 100644
index f478981..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1030
+++ /dev/null
@@ -1,109 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP Digest auth
---anyauth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Length: 26
-Content-Type: text/html; charset=iso-8859-1
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-Connection: close
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Length: 26
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-Connection: close
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP PUT with --anyauth authorization (picking Digest)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1030 -T log/put1030 -u testuser:testpass --anyauth
-</command>
-<file name="log/put1030">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1030 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-PUT /1030 HTTP/1.1
-Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1030", response="01cb59db1ddaac246b072d5f5f0716d9"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1031 b/Utilities/cmcurl-7.19.0/tests/data/test1031
deleted file mode 100644
index cddad4b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1031
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ?coolsite=yes/10310002.txt
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: ?coolsite=yes/10310002.txt
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following to a query string
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/this/1031 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/this/1031 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/this/1031?coolsite=yes/10310002.txt HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1032 b/Utilities/cmcurl-7.19.0/tests/data/test1032
deleted file mode 100644
index 418b6c4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1032
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP HEAD
-range
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP HEAD with --range
- </name>
- <command>
---range 1-3 --head http://%HOSTIP:%HTTPPORT/1032
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-HEAD /1032 HTTP/1.1
-Range: bytes=1-3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1033 b/Utilities/cmcurl-7.19.0/tests/data/test1033
deleted file mode 100644
index ff2c000..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1033
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-#
-# This case with an unexpected 1xx response used to cause a "hang" before the fix
-# got 7.19.0
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 102 unexpected huh?!
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with 102 response!
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1033
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1033 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1034 b/Utilities/cmcurl-7.19.0/tests/data/test1034
deleted file mode 100644
index 8631502..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1034
+++ /dev/null
@@ -1,62 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IDN
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 503 Service Unavailable
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-idn
-</features>
-<setenv>
-CHARSET=UTF-8
-</setenv>
- <name>
-HTTP over proxy with malformatted IDN host name
- </name>
-
-# This host name contains an invalid UTF-8 byte sequence that can't be
-# converted into an IDN name
- <command>
-http://invalid-utf8-â.local/page/1034 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://invalid-utf8-â.local/page/1034 HTTP/1.1
-Host: invalid-utf8-â.local
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1035 b/Utilities/cmcurl-7.19.0/tests/data/test1035
deleted file mode 100644
index bc902d0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1035
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IDN
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 503 Service Unavailable
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-idn
-</features>
-<setenv>
-CHARSET=ISO8859-1
-</setenv>
- <name>
-HTTP over proxy with too long IDN host name
- </name>
- <command>
-http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local/page/1035 HTTP/1.1
-Host: too-long-IDN-name-cürl-rüles-la-la-la-dee-da-flooby-nooby.local
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1036 b/Utilities/cmcurl-7.19.0/tests/data/test1036
deleted file mode 100644
index e34dbcb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1036
+++ /dev/null
@@ -1,61 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-Resume
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data nocheck="1">
-expected to be a file without the first part
-but we emulate that
-</data>
-<size>
-85
-</size>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download resume from end of file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/1036 -C -
-</command>
-<file name="log/curl1036.out">
-This is the start!!
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 1036
-REST 20
-RETR 1036
-QUIT
-</protocol>
-<file name="log/curl1036.out">
-This is the start!!
-expected to be a file without the first part
-but we emulate that
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1037 b/Utilities/cmcurl-7.19.0/tests/data/test1037
deleted file mode 100644
index cfe127f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1037
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-Resume
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data nocheck="1">
-expected to be a file without the first part
-but we emulate that
-</data>
-<size>
-65
-</size>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download resume from end of empty file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/1037 -C -
-</command>
-<file name="log/curl1037.out">
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 1037
-RETR 1037
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1038 b/Utilities/cmcurl-7.19.0/tests/data/test1038
deleted file mode 100644
index 4a81fe4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1038
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-APPE
-Resume
-</keywords>
-</info>
-# Server-side
-<reply>
-<size>
-17
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP PASV upload resume from end of file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/1038 -T log/upload1038 -C -
-</command>
-<file name="log/upload1038">
-this is the *****cr@p******** that we're gonna upload
-
-worx?
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 1038
-APPE 1038
-QUIT
-</protocol>
-<upload>
-cr@p******** that we're gonna upload
-
-worx?
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1039 b/Utilities/cmcurl-7.19.0/tests/data/test1039
deleted file mode 100644
index d476590..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1039
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-APPE
-Resume
-</keywords>
-</info>
-# Server-side
-<reply>
-<size>
-0
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP PASV upload resume from end of empty file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/1039 -T log/upload1039 -C -
-</command>
-<file name="log/upload1039">
-this is the *****cr@p******** that we're gonna upload
-
-worx?
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 1039
-STOR 1039
-QUIT
-</protocol>
-<upload>
-this is the *****cr@p******** that we're gonna upload
-
-worx?
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test104 b/Utilities/cmcurl-7.19.0/tests/data/test104
deleted file mode 100644
index caae075..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test104
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-NOBODY
-</keywords>
-</info>
-# Server-side
-<reply>
-<size>
-51
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP --head to get file size only
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/a/path/103 --head
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-MDTM 103
-TYPE I
-SIZE 103
-REST 0
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1040 b/Utilities/cmcurl-7.19.0/tests/data/test1040
deleted file mode 100644
index a367093..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1040
+++ /dev/null
@@ -1,79 +0,0 @@
-<testcase>
-# Similar to test92
-<info>
-<keywords>
-HTTP
-HTTP GET
-Resume
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 416 Invalid range
-Connection: close
-Content-Length: 0
-
-</data>
-
-# The file data that exists at the start of the test must be included in
-# the verification.
-<datacheck>
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-HTTP/1.1 416 Invalid range
-Connection: close
-Content-Length: 0
-
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with resume from end of entirely-downloaded file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1040 -C -
-</command>
-<file name="log/curl1040.out">
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1040 HTTP/1.1
-Range: bytes=100-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1041 b/Utilities/cmcurl-7.19.0/tests/data/test1041
deleted file mode 100644
index b05127a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1041
+++ /dev/null
@@ -1,78 +0,0 @@
-<testcase>
-# Similar to test33
-<info>
-<keywords>
-HTTP
-HTTP PUT
-Resume
-Content-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Accept-Ranges: bytes
-Content-Length: 0
-Connection: close
-Content-Type: text/html
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT with resume from end of already-uploaded file
- </name>
-<file name="log/test1041.txt">
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</file>
- <command>
-http://%HOSTIP:%HTTPPORT/1041 -Tlog/test1041.txt -C -
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# curl doesn't do a HEAD request on the remote file so it has no idea whether
-# it can skip part of the file or not. Instead, it sends the entire file.
-<protocol>
-PUT /1041 HTTP/1.1
-Content-Range: bytes 0-99/100
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 100
-Expect: 100-continue
-
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1042 b/Utilities/cmcurl-7.19.0/tests/data/test1042
deleted file mode 100644
index 5b32b76..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1042
+++ /dev/null
@@ -1,94 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Resume
-FAILURE
-</keywords>
-</info>
-
-# Server-side
-<reply>
-# Some servers (e.g. Apache 1.2) respond this way to an invalid byte range
-<data>
-HTTP/1.1 200 OK
-Connection: close
-Content-Length: 100
-Content-Type: text/plain
-
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</data>
-
-# The file data that exists at the start of the test must be included in
-# the verification.
-<datacheck>
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-HTTP/1.1 200 OK
-Connection: close
-Content-Length: 100
-Content-Type: text/plain
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET from end of entirely-downloaded file, no server resume
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1042 -C -
-</command>
-<file name="log/curl1042.out">
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-33
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1042 HTTP/1.1
-Range: bytes=100-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1043 b/Utilities/cmcurl-7.19.0/tests/data/test1043
deleted file mode 100644
index 6ac299f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1043
+++ /dev/null
@@ -1,84 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Resume
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 206 Partial Content
-Date: Mon, 13 Nov 2007 13:41:09 GMT
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-Accept-Ranges: bytes
-Content-Length: 60
-Content-Range: bytes 40-99/100
-
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</data>
-
-# The file data that exists at the start of the test must be included in
-# the verification.
-<datacheck>
-012345678
-012345678
-012345678
-012345678
-HTTP/1.1 206 Partial Content
-Date: Mon, 13 Nov 2007 13:41:09 GMT
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-Accept-Ranges: bytes
-Content-Length: 60
-Content-Range: bytes 40-99/100
-
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with resume from end of file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1043 -C -
-</command>
-<file name="log/curl1043.out">
-012345678
-012345678
-012345678
-012345678
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1043 HTTP/1.1
-Range: bytes=40-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1044 b/Utilities/cmcurl-7.19.0/tests/data/test1044
deleted file mode 100644
index e55099e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1044
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-# Similar to test141
-<info>
-<keywords>
-FTP
-NOBODY
-Largefile
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-<size>
-9999999999
-</size>
-<mdtm>
-213 20080726102659
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<features>
-large_file
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP download large file info with -I
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/1044 -I
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-MDTM 1044
-TYPE I
-SIZE 1044
-REST 0
-QUIT
-</protocol>
-<stdout>
-Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT
-Content-Length: 9999999999
-Accept-ranges: bytes
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1045 b/Utilities/cmcurl-7.19.0/tests/data/test1045
deleted file mode 100644
index 834454c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1045
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---interface
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Mon, 28 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 6
-Connection: close
-Content-Type: text/plain
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with localhost --interface
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1045 --interface %CLIENTIP
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1045 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1046 b/Utilities/cmcurl-7.19.0/tests/data/test1046
deleted file mode 100644
index cac53b3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1046
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---interface
-IPv6
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Mon, 28 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 6
-Connection: close
-Content-Type: text/plain
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-http-ipv6
-</server>
- <name>
-HTTP-IPv6 GET with localhost --interface
- </name>
- <command>
--g "http://%HOST6IP:%HTTP6PORT/1046" --interface ::1
-</command>
-# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
-<precheck>
-perl -e "print 'Test requires default test server host address' if ( '%CLIENT6IP' ne '[::1]' );"
-</precheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1046 HTTP/1.1
-Host: %HOST6IP:%HTTP6PORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1047 b/Utilities/cmcurl-7.19.0/tests/data/test1047
deleted file mode 100644
index 0b840a6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1047
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
---interface
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list PASV with localhost --interface
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/ --interface %CLIENTIP
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1048 b/Utilities/cmcurl-7.19.0/tests/data/test1048
deleted file mode 100644
index 7b42df5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1048
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
---interface
-IPv6
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-ftp-ipv6
-</server>
- <name>
-FTP-IPv6 dir list PASV with localhost --interface
- </name>
- <command>
--g "ftp://%HOST6IP:%FTP6PORT/" --interface ::1
-</command>
-# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
-<precheck>
-perl -e "print 'Test requires default test server host address' if ( '%CLIENT6IP' ne '[::1]' );"
-</precheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1049 b/Utilities/cmcurl-7.19.0/tests/data/test1049
deleted file mode 100644
index e6054a4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1049
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP RRQ
---interface
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-a chunk of
-data
-returned
- to client
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP retrieve with localhost --interface
- </name>
- <command>
-tftp://%HOSTIP:%TFTPPORT//1049 --trace-ascii log/traceit --interface %CLIENTIP
-</command>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<protocol>
-opcode: 1
-filename: /1049
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test105 b/Utilities/cmcurl-7.19.0/tests/data/test105
deleted file mode 100644
index 7f56ccc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test105
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-TYPE A
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-REPLY EPSV 500 no such command
-REPLY SIZE 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP user+password in URL and ASCII transfer
- </name>
- <command>
-ftp://userdude:passfellow@%HOSTIP:%FTPPORT/103 --use-ascii
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER userdude
-PASS passfellow
-PWD
-EPSV
-PASV
-TYPE A
-SIZE 103
-RETR 103
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1050 b/Utilities/cmcurl-7.19.0/tests/data/test1050
deleted file mode 100644
index 27e1b05..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1050
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-# Similar to test 253
-<info>
-<keywords>
-FTP-ipv6
-IPv6
-EPRT
-</keywords>
-</info>
-
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-ftp-ipv6
-</server>
- <name>
-FTP-IPv6 dir list, EPRT with specified IP
- </name>
- <command>
--g "ftp://%HOST6IP:%FTP6PORT/" -P ::1
-</command>
-# --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out
-<precheck>
-perl -e "print 'Test requires default test server host address' if ( '%CLIENT6IP' ne '[::1]' );"
-</precheck>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of EPRT that curl can send
-<strippart>
-s/^(EPRT \|2\|::1\|)(.*)/$1/
-</strippart>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPRT |2|::1|
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1051 b/Utilities/cmcurl-7.19.0/tests/data/test1051
deleted file mode 100644
index 3558d6b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1051
+++ /dev/null
@@ -1,118 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-followlocation
-</keywords>
-
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 Redirect swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Location: data/10510002.txt?coolsite=yes
-Content-Length: 0
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 100 Continue
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 51
-
-If this is received, the location following worked
-</data2>
-<datacheck>
-HTTP/1.1 301 Redirect swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Location: data/10510002.txt?coolsite=yes
-Content-Length: 0
-Connection: close
-
-HTTP/1.1 100 Continue
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 51
-
-If this is received, the location following worked
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT with Location: following
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1051 -L -T log/test1051.txt
-</command>
-<file name="log/test1051.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-
-# The primary reason libcurl sends the data part twice in this test is that
-# the test HTTP server is blocking until it has read the entire request,
-# including the full request-body before it responds. So in this test the
-# server says 301 and 100 _after_ the entire PUT body has been sent.
-
-<protocol>
-PUT /want/1051 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-Expect: 100-continue
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-Expect: 100-continue
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1052 b/Utilities/cmcurl-7.19.0/tests/data/test1052
deleted file mode 100644
index fb7886c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1052
+++ /dev/null
@@ -1,111 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-followlocation
-</keywords>
-
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 301 Redirect swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Location: data/10520002.txt?coolsite=yes
-Content-Length: 0
-Connection: close
-
-</data>
-<data2>
-HTTP/1.0 200 Followed here fine swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 51
-
-If this is received, the location following worked
-</data2>
-<datacheck>
-HTTP/1.0 301 Redirect swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Location: data/10520002.txt?coolsite=yes
-Content-Length: 0
-Connection: close
-
-HTTP/1.0 200 Followed here fine swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 51
-
-If this is received, the location following worked
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP 1.0 PUT with Location: following
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt
-</command>
-<file name="log/test1052.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-
-# The primary reason libcurl sends the data part twice in this test is that
-# the test HTTP server is blocking until it has read the entire request,
-# including the full request-body before it responds. So in this test the
-# server says 301 and 200 _after_ the entire PUT body has been sent.
-<protocol>
-PUT /want/1052 HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-PUT /want/data/10520002.txt?coolsite=yes HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1053 b/Utilities/cmcurl-7.19.0/tests/data/test1053
deleted file mode 100644
index 1502dae..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1053
+++ /dev/null
@@ -1,125 +0,0 @@
-<testcase>
-# Based on test 9
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-HTTP file upload
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 307 Redirect swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Location: data/10530002.txt?coolsite=yes
-Content-Length: 0
-Connection: close
-
-</data>
-<data2>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data2>
-<datacheck>
-HTTP/1.0 307 Redirect swsclose
-Date: Thu, 29 Jul 2008 14:49:00 GMT
-Server: test-server/fake
-Location: data/10530002.txt?coolsite=yes
-Content-Length: 0
-Connection: close
-
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-type formposting from file with Location: following
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/test1053.txt
-</command>
-# We create this file before the command is invoked!
-<file name="log/test1053.txt">
-foo-
-This is a moo-
-bar
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/1053 HTTP/1.1
-User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 410
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
-
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="file"; filename="test1053.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------9ef8d6205763--
-POST /we/want/data/10530002.txt?coolsite=yes HTTP/1.1
-User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.7a ipv6 zlib/1.1.4
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 410
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
-
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="file"; filename="test1053.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------9ef8d6205763--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1054 b/Utilities/cmcurl-7.19.0/tests/data/test1054
deleted file mode 100644
index f670bca..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1054
+++ /dev/null
@@ -1,80 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-followlocation
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsclose
-Location: moo/testcase/10540002
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 301 OK swsclose
-Location: moo/testcase/10540002
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST from file with 301 redirect and --post301
- </name>
-<file name="log/test1054.txt">
-field=data
-</file>
- <command>
-http://%HOSTIP:%HTTPPORT/blah/1054 -L -d @log/test1054.txt --post301
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /blah/1054 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 10
-Content-Type: application/x-www-form-urlencoded
-
-field=dataPOST /blah/moo/testcase/10540002 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 10
-Content-Type: application/x-www-form-urlencoded
-
-field=data
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1055 b/Utilities/cmcurl-7.19.0/tests/data/test1055
deleted file mode 100644
index 3475f1a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1055
+++ /dev/null
@@ -1,100 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-followlocation
-FTP
-EPSV
-STOR
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 307 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Location: ftp://127.0.0.1:8992/1055
-Content-Length: 0
-Connection: close
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-ftp
-</server>
- <name>
-HTTP PUT Location: redirect to FTP URL
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1055 -L -T log/test1055.txt
-</command>
-# The data section doesn't do variable substitution, so we must assert this
-<precheck>
-perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );"
-</precheck>
-<file name="log/test1055.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1055 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-Expect: 100-continue
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-STOR 1055
-QUIT
-</protocol>
-<upload>
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1056 b/Utilities/cmcurl-7.19.0/tests/data/test1056
deleted file mode 100644
index a977943..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1056
+++ /dev/null
@@ -1,81 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-IPv6
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: http://[::1%259999]:8994/moo/10560002
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: http://[::1%259999]:8994/moo/10560002
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Date: Thu, 31 Jul 2008 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-http
-http-ipv6
-</server>
- <name>
-HTTP follow redirect from IPv4 to IPv6 with scope
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/1056 -L
-</command>
-# The data section doesn't do variable substitution, so we must assert this
-<precheck>
-perl -e "print 'Test requires default test server host and port' if ( '%HOST6IP' ne '[::1]' || '%HTTP6PORT' ne '8994' );"
-</precheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/1056 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /moo/10560002 HTTP/1.1
-Host: %HOST6IP:%HTTP6PORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1057 b/Utilities/cmcurl-7.19.0/tests/data/test1057
deleted file mode 100644
index 3d3d328..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1057
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-RETR
-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-456789abcdef
-</data>
-<datacheck nonewline="yes">
-456789abcdef
-</datacheck>
-<size>
-64
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP retrieve a byte-range relative to end of file
- </name>
- <command>
--r -12 ftp://%HOSTIP:%FTPPORT/1057
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 1057
-REST 52
-RETR 1057
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1058 b/Utilities/cmcurl-7.19.0/tests/data/test1058
deleted file mode 100644
index 81ff5be..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1058
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Content-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 206 Partial Content
-Date: Thu, 31 Jul 2008 13:41:09 GMT
-Accept-Ranges: bytes
-Content-Length: 101
-Content-Range: bytes 100-200/201
-Connection: close
-Content-Type: text/html
-
-..partial data returned from the
-server as a result of setting an explicit byte range
-in the request
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP range relative to end of file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1058 -r -101
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/1058 HTTP/1.1
-Range: bytes=-101
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1059 b/Utilities/cmcurl-7.19.0/tests/data/test1059
deleted file mode 100644
index 81063b3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1059
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP CONNECT
-proxytunnel
-FTP
-FAILURE
-</keywords>
-
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 501 Method not implemented swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-Content-Length: 0
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ftp
-</features>
-<server>
-http
-</server>
- <name>
-HTTP CONNECT with proxytunnel to unsupported FTP URL
- </name>
- <command>
-ftp://test-number:1059/wanted/page -p -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-# The server doesn't implement CONNECT for ftp, so this must be a failure test
-<errorcode>
-56
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-CONNECT test-number:1059 HTTP/1.0
-Host: test-number:1059
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test106 b/Utilities/cmcurl-7.19.0/tests/data/test106
deleted file mode 100644
index d7000fe..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test106
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-TYPE A
-RETR
-type=
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP GET with type=A style ASCII URL using %20 codes
- </name>
- <command>
-"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces//and%20things2/106;type=A"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD /path with spaces
-CWD and things2
-EPSV
-TYPE A
-SIZE 106
-RETR 106
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1060 b/Utilities/cmcurl-7.19.0/tests/data/test1060
deleted file mode 100644
index 3f2b908..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1060
+++ /dev/null
@@ -1,902 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-proxytunnel
-HTTP proxy Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-Content-Length: 40000
-X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-</data>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-Content-Length: 40000
-X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP proxy CONNECT auth Digest, large headers and data
- </name>
- <command>
-http://test.remote.server.com:1060/path/10600002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-CONNECT test.remote.server.com:1060 HTTP/1.0
-Host: test.remote.server.com:1060
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:1060 HTTP/1.0
-Host: test.remote.server.com:1060
-Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:1060", response="b527d164630481e2cc48c04d18ed2212"
-Proxy-Connection: Keep-Alive
-
-GET /path/10600002 HTTP/1.1
-Host: test.remote.server.com:1060
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1061 b/Utilities/cmcurl-7.19.0/tests/data/test1061
deleted file mode 100644
index 60cc545..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1061
+++ /dev/null
@@ -1,907 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-chunked Transfer-Encoding
-proxytunnel
-HTTP proxy Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-Transfer-Encoding: chunked
-X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-9c40
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-And you should ignore this data. aaaaaaaaaaaaaaaa
-end of 1 KB aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-0
-
-</data>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-Transfer-Encoding: chunked
-X-tra-long-header: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP proxy CONNECT auth Digest, large headers and chunked data
- </name>
- <command>
-http://test.remote.server.com:1061/path/10610002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-CONNECT test.remote.server.com:1061 HTTP/1.0
-Host: test.remote.server.com:1061
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:1061 HTTP/1.0
-Host: test.remote.server.com:1061
-Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:1061", response="244a8caab5f343a1a20d2425e4d6e951"
-Proxy-Connection: Keep-Alive
-
-GET /path/10610002 HTTP/1.1
-Host: test.remote.server.com:1061
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1062 b/Utilities/cmcurl-7.19.0/tests/data/test1062
deleted file mode 100644
index 3895852..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1062
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-huge response
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-mooo
-</data>
-# a long set of response strings to CWD to make sure the ftp parser deals
-# with it nicely
-<servercmd>
-REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-A Exactly fill curl's buffer\r\n250 Finally, here is the response, boundary condition
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with excessively long server command response lines, boundary condition
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/1062
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 1062
-RETR 1062
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1063 b/Utilities/cmcurl-7.19.0/tests/data/test1063
deleted file mode 100644
index cc07e6b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1063
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-Range
-FAILURE
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-large_file
-</features>
- <name>
-Invalid large X- range on a file://
- </name>
-# This range value is 2**32+7, which will be truncated to the valid value 7
-# if the large file support is not working correctly
- <command>
--r 4294967303- file://localhost/%PWD/log/test1063.txt
-</command>
-<file name="log/test1063.txt">
-1234567890
-1234567890
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-36
-</errorcode>
-<stdout>
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1064 b/Utilities/cmcurl-7.19.0/tests/data/test1064
deleted file mode 100644
index c6ad110..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1064
+++ /dev/null
@@ -1,79 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-</keywords>
-</info>
-
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data>
-<data2 nocheck="1">
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 9
-
-still ok
-</data2>
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
- <name>
-HTTP PUT twice
- </name>
- <command>
--H "Expect:" -T log/1064 http://%HOSTIP:%HTTPPORT/1064.upload1 -T log/1064 http://%HOSTIP:%HTTPPORT/10640002.upload2
-</command>
-<file name="log/1064">
-test
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1064.upload1 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 5
-
-test
-PUT /10640002.upload2 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 5
-
-test
-</protocol>
-<stdout>
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 9
-
-still ok
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1065 b/Utilities/cmcurl-7.19.0/tests/data/test1065
deleted file mode 100644
index 0e340d6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1065
+++ /dev/null
@@ -1,78 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP GET
-</keywords>
-</info>
-
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data>
-<data2 nocheck="1">
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 9
-
-still ok
-</data2>
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
- <name>
-HTTP PUT with one file but two URLs
- </name>
- <command>
--H "Expect:" -T log/1065 http://%HOSTIP:%HTTPPORT/1065.upload1 http://%HOSTIP:%HTTPPORT/10650002.url2
-</command>
-<file name="log/1065">
-test
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1065.upload1 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 5
-
-test
-GET /10650002.url2 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<stdout>
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-HTTP/1.1 200 A OK
-Server: curl test
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 9
-
-still ok
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1066 b/Utilities/cmcurl-7.19.0/tests/data/test1066
deleted file mode 100644
index 233cf51..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1066
+++ /dev/null
@@ -1,82 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Server: thebest/1.0
-Content-Type: text/plain
-Content-Length: 6
-
-first
-</data>
-<data1 nocheck="1">
-HTTP/1.1 200 OK
-Server: thebest/1.0
-Content-Type: text/plain
-Content-Length: 7
-
-second
-</data1>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP --dump-header - with two URLs
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1066 http://%HOSTIP:%HTTPPORT/want/10660001 --dump-header -
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/1066 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/10660001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<stdout>
-HTTP/1.1 200 OK
-HTTP/1.1 200 OK
-Server: thebest/1.0
-Server: thebest/1.0
-Content-Type: text/plain
-Content-Type: text/plain
-Content-Length: 6
-Content-Length: 6
-
-
-first
-HTTP/1.1 200 OK
-HTTP/1.1 200 OK
-Server: thebest/1.0
-Server: thebest/1.0
-Content-Type: text/plain
-Content-Type: text/plain
-Content-Length: 7
-Content-Length: 7
-
-
-second
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1067 b/Utilities/cmcurl-7.19.0/tests/data/test1067
deleted file mode 100644
index 2be5398..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1067
+++ /dev/null
@@ -1,78 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/10670002.txt?coolsite=yes
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/10670002.txt?coolsite=yes
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with auto-referer
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1067 -L --referer "firstone.html;auto"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/1067 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Referer: firstone.html
-
-GET /want/data/10670002.txt?coolsite=yes HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Referer: http://%HOSTIP:%HTTPPORT/want/1067
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1068 b/Utilities/cmcurl-7.19.0/tests/data/test1068
deleted file mode 100644
index 30c8058..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1068
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-# Similar to test 60
-<info>
-<keywords>
-HTTP
-HTTP PUT
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<name>
-HTTP PUT from stdin
-</name>
- <command>
-http://%HOSTIP:%HTTPPORT/bzz/1068 -T -
-</command>
-<stdin>
-more than one byte
-</stdin>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /bzz/1068 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Expect: 100-continue
-
-13
-more than one byte
-
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1069 b/Utilities/cmcurl-7.19.0/tests/data/test1069
deleted file mode 100644
index f97daa3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1069
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP/1.0
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 500 Impossible swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<name>
-HTTP 1.0 PUT from stdin with no content length
-</name>
- <command>
-http://%HOSTIP:%HTTPPORT/bzz/1069 -T - -0
-</command>
-<stdin>
-this data can't be sent
-</stdin>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-25
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test107 b/Utilities/cmcurl-7.19.0/tests/data/test107
deleted file mode 100644
index 236bf51..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test107
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-STOR
-</keywords>
-</info>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP PASV upload file
- </name>
-<file name="log/test107.txt">
-data
- to
- see
-that FTP
-works
- so does it?
-</file>
- <command>
-ftp://%HOSTIP:%FTPPORT/107 -T log/test107.txt
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-data
- to
- see
-that FTP
-works
- so does it?
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-STOR 107
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1070 b/Utilities/cmcurl-7.19.0/tests/data/test1070
deleted file mode 100644
index f41b443..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1070
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 403 Go away and swsclose
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 55
-Connection: close
-
-you are not supposed to be allowed to send things here
-</data>
-<servercmd>
-skip: 2300
-</servercmd>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST with server sending error before (all) data is received
- </name>
- <command>
- -d @log/input1070 http://%HOSTIP:%HTTPPORT/1070
-</command>
-<file name="log/input1070">
-This creates the named file with this content before the test case is run,
-which is useful if the test case needs a file to act on. We create this file
-rather large (larger than your typical TCP packet) so that not all of it can nor
-will be sent in one go as that is kind of the point of this test!
-
-Here's 2000 x 'O':
-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /1070 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 2313
-Content-Type: application/x-www-form-urlencoded
-Expect: 100-continue
-
-This creates
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1071 b/Utilities/cmcurl-7.19.0/tests/data/test1071
deleted file mode 100644
index b28a6fe..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1071
+++ /dev/null
@@ -1,113 +0,0 @@
-<testcase>
-# Authorization is used to force curl to realize that the server is
-# speaking HTTP 1.0. The request must be resent with the correct
-# authorization header, but using HTTP 1.0, not 1.1.
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP Digest auth
---anyauth
-HTTP/1.0
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 401 Authorization Required swsclose
-Server: testcurl
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Type: text/plain
-Content-Length: 35
-Connection: close
-
-Try again on this HTTP 1.0 server!
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.0 200 OK swsclose
-Server: testcurl
-Content-Type: text/plain
-Content-Length: 23
-Connection: close
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.0 401 Authorization Required swsclose
-Server: testcurl
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Type: text/plain
-Content-Length: 35
-Connection: close
-
-HTTP/1.0 200 OK swsclose
-Server: testcurl
-Content-Type: text/plain
-Content-Length: 23
-Connection: close
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-Downgraded HTTP PUT to HTTP 1.0 with authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1071 -T log/put1071 -u testuser:testpass --anyauth
-</command>
-<file name="log/put1071">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1071 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-PUT /1071 HTTP/1.0
-Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/1071", response="df4cef6b52a30e65d472dd848d2055a1"
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1072 b/Utilities/cmcurl-7.19.0/tests/data/test1072
deleted file mode 100644
index d4a5b3f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1072
+++ /dev/null
@@ -1,78 +0,0 @@
-<testcase>
-# Authorization is used to force curl to realize that the server is
-# speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0
-# because chunked encoding is unavailable, so the request must fail.
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP Digest auth
---anyauth
-HTTP/1.0
-chunked Transfer-Encoding
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 401 Authorization Required swsclose
-Server: testcurl
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Type: text/plain
-Content-Length: 35
-Connection: close
-
-Try again on this HTTP 1.0 server!
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP chunked PUT to HTTP 1.0 server with authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1072 -T - -u testuser:testpass --anyauth
-</command>
-<stdin>
-This is data we upload with PUT
-it comes from stdin so MUST be sent
-with chunked encoding
-which is impossible in HTTP/1.0
-</stdin>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-25
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1072 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Expect: 100-continue
-
-7a
-This is data we upload with PUT
-it comes from stdin so MUST be sent
-with chunked encoding
-which is impossible in HTTP/1.0
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1073 b/Utilities/cmcurl-7.19.0/tests/data/test1073
deleted file mode 100644
index 2f47e3a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1073
+++ /dev/null
@@ -1,71 +0,0 @@
-<testcase>
-# Redirection is used to force curl to realize that the server is
-# speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0
-# because chunked encoding is unavailable, so the request must fail.
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP/1.0
-followlocation
-chunked Transfer-Encoding
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 301 Authorization Required swsclose
-Server: testcurl
-Content-Type: text/plain
-Location: /newlocation/10730002
-Content-Length: 0
-Connection: close
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP chunked PUT to HTTP 1.0 server with redirect
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1073 -T - -L
-</command>
-<stdin>
-This is data we upload with PUT
-it comes from stdin so MUST be sent
-with chunked encoding
-which is impossible in HTTP/1.0
-</stdin>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-25
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1073 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Expect: 100-continue
-
-7a
-This is data we upload with PUT
-it comes from stdin so MUST be sent
-with chunked encoding
-which is impossible in HTTP/1.0
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1074 b/Utilities/cmcurl-7.19.0/tests/data/test1074
deleted file mode 100644
index 7594fbc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1074
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP/1.0
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data nocheck="true">
-HTTP/1.0 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 9
-Connection: Keep-Alive
-
-surprise
-</data>
-<data1>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-surprise2
-</data1>
-
-<postcmd>
-wait 1
-</postcmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP downgrade to HTTP/1.0 on second request
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/1074 http://%HOSTIP:%HTTPPORT/wantmore/10740001
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout>
-HTTP/1.0 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 9
-Connection: Keep-Alive
-
-surprise
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-surprise2
-</stdout>
-
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/1074 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /wantmore/10740001 HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test1075 b/Utilities/cmcurl-7.19.0/tests/data/test1075
deleted file mode 100644
index f0ad5e0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test1075
+++ /dev/null
@@ -1,94 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP Basic auth
---anyauth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-# The test server provides no way to respond differently to a subsequent
-# Basic authenticated request (we really want to respond with 200 for
-# the second), so just respond with 401 for both and let curl deal with it.
-<data>
-HTTP/1.1 401 Authorization Required
-Server: testcurl
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
-Content-Type: text/plain
-Content-Length: 0
-
-</data>
-<datacheck>
-HTTP/1.1 401 Authorization Required
-Server: testcurl
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
-Content-Type: text/plain
-Content-Length: 0
-
-HTTP/1.1 401 Authorization Required
-Server: testcurl
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts"
-Content-Type: text/plain
-Content-Length: 0
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT with --anyauth authorization (picking Basic)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1075 -T log/put1075 -u testuser:testpass --anyauth
-</command>
-<file name="log/put1075">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /1075 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-PUT /1075 HTTP/1.1
-Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test108 b/Utilities/cmcurl-7.19.0/tests/data/test108
deleted file mode 100644
index ca43a8d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test108
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-STOR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP PORT upload with CWD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/CWD/STOR/RETR/108 -T log/upload108 -P -
-</command>
-<file name="log/upload108">
-Moooooooooooo
- upload this
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD CWD
-CWD STOR
-CWD RETR
-PORT 127,0,0,1,5,109
-TYPE I
-STOR 108
-QUIT
-</protocol>
-<upload>
-Moooooooooooo
- upload this
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test109 b/Utilities/cmcurl-7.19.0/tests/data/test109
deleted file mode 100644
index 6aa8379..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test109
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-APPE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP PASV upload append
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/109 -T log/upload109 --append
-</command>
-<file name="log/upload109">
-Moooooooooooo
- upload this
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-APPE 109
-QUIT
-</protocol>
-<upload>
-Moooooooooooo
- upload this
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test11 b/Utilities/cmcurl-7.19.0/tests/data/test11
deleted file mode 100644
index 5a58f96..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test11
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/110002.txt?coolsite=yes
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/110002.txt?coolsite=yes
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-simple HTTP Location: following
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/11 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/11 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data/110002.txt?coolsite=yes HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test110 b/Utilities/cmcurl-7.19.0/tests/data/test110
deleted file mode 100644
index e0345a3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test110
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-Resume
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-expected to be a file without the first part
-but we emulate that
-</data>
-<size>
-85
-</size>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download resume with set limit
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/110 -C 20
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 110
-REST 20
-RETR 110
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test111 b/Utilities/cmcurl-7.19.0/tests/data/test111
deleted file mode 100644
index 95e7556..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test111
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-Resume
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<size>
-85
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download resume beyond file size
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/111 -C 2000
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-36
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 111
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test112 b/Utilities/cmcurl-7.19.0/tests/data/test112
deleted file mode 100644
index bae11cb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test112
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-APPE
-Resume
-</keywords>
-</info>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP PASV upload resume
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/112 -T log/upload112 -C 40
-</command>
-<file name="log/upload112">
-this is the *****crap******** that we're gonna upload
-
-worx?
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-APPE 112
-QUIT
-</protocol>
-<upload>
- gonna upload
-
-worx?
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test113 b/Utilities/cmcurl-7.19.0/tests/data/test113
deleted file mode 100644
index a174f88..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test113
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY USER 314 bluah you fewl!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed login: USER not valid
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/113
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<protocol>
-USER anonymous
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test114 b/Utilities/cmcurl-7.19.0/tests/data/test114
deleted file mode 100644
index bb47d98..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test114
+++ /dev/null
@@ -1,38 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY PASS 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed login: PASS not valid
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/114
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test115 b/Utilities/cmcurl-7.19.0/tests/data/test115
deleted file mode 100644
index 8c4a6a5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test115
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY PASV 314 bluah you f00l!
-REPLY EPSV 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed PASV
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/115
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-13
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test116 b/Utilities/cmcurl-7.19.0/tests/data/test116
deleted file mode 100644
index 31e6529..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test116
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY PORT 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# EPRT is only sent when IPv6 is enabled
-<features>
-ipv6
-</features>
- <name>
-FTP download, failed PORT
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/116 -P 1.2.3.4
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-30
-</errorcode>
-# Strip the port number but leave the rest
-<strippart>
-s/^(PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},)\d{1,3},\d{1,3}/$1/
-s/^(EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|)\d{1,5}\|/$1/
-</strippart>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPRT |1|1.2.3.4|
-PORT 1,2,3,4,
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test117 b/Utilities/cmcurl-7.19.0/tests/data/test117
deleted file mode 100644
index 0b610b6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test117
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY EPSV 314 bluah you f00l!
-REPLY TYPE 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed TYPE
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/117
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-17
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test118 b/Utilities/cmcurl-7.19.0/tests/data/test118
deleted file mode 100644
index 91895b8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test118
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY RETR 314 bluah you f00l!
-REPLY EPSV 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed RETR
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/118
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-19
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 118
-RETR 118
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test119 b/Utilities/cmcurl-7.19.0/tests/data/test119
deleted file mode 100644
index bda120e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test119
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-RETR
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY RETR 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed RETR with PORT
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/119 -P -
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-19
-</errorcode>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-TYPE I
-SIZE 119
-RETR 119
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test12 b/Utilities/cmcurl-7.19.0/tests/data/test12
deleted file mode 100644
index 72a19ed..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test12
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Content-Range
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 206 Partial Content
-Date: Mon, 13 Nov 2000 13:41:09 GMT
-Server: Apache/1.3.11 (Unix) PHP/3.0.14
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 101
-Content-Range: bytes 100-200/3527
-Connection: close
-Content-Type: text/html
-
-..partial data returned from the
-server as a result of setting an explicit byte range
-in the request
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP range support
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/12 -r 100-200
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/12 HTTP/1.1
-Range: bytes=100-200
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test120 b/Utilities/cmcurl-7.19.0/tests/data/test120
deleted file mode 100644
index 159f5b2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test120
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-post-quote
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-REPLY EPSV 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-ftp download with post-quote delete operation
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/120 -Q "-DELE file"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 120
-RETR 120
-DELE file
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test121 b/Utilities/cmcurl-7.19.0/tests/data/test121
deleted file mode 100644
index d75d0d0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test121
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-RETR
-post-quote
-pre-quote
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-ftp download with post- and pre-transfer delete operations
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/121 -Q "-DELE after_transfer" -Q "DELE before_transfer"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-DELE before_transfer
-EPSV
-TYPE I
-SIZE 121
-RETR 121
-DELE after_transfer
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test122 b/Utilities/cmcurl-7.19.0/tests/data/test122
deleted file mode 100644
index 7ba53b6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test122
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-Resume
-</keywords>
-</info>
-# Server-side
-<reply>
-<size>
-5
-</size>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download resume with whole file already downloaded
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/122 -C 5
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 122
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test123 b/Utilities/cmcurl-7.19.0/tests/data/test123
deleted file mode 100644
index 0c7aed2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test123
+++ /dev/null
@@ -1,40 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-Resume
-</keywords>
-</info>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP upload resume with whole file already downloaded
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/123 -T log/upload123 -C 51
-</command>
-<file name="log/upload123">
---------------------------------------------------
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test124 b/Utilities/cmcurl-7.19.0/tests/data/test124
deleted file mode 100644
index cb6d2c6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test124
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-we can still send data even if pwd fails!
-</data>
-<servercmd>
-REPLY PWD 314 bluah you f00l!
-REPLY EPSV 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed PWD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/124
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-TYPE I
-SIZE 124
-RETR 124
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test125 b/Utilities/cmcurl-7.19.0/tests/data/test125
deleted file mode 100644
index 1f025bb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test125
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY CWD 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download, failed CWD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/to/file/125
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-9
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test126 b/Utilities/cmcurl-7.19.0/tests/data/test126
deleted file mode 100644
index c84d035..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test126
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-RETR
-RETRWEIRDO
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-this is file contents
-</data>
-<servercmd>
-RETRWEIRDO
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download with multiple replies at once in RETR
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/lululul/126
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-CWD lululul
-EPSV
-TYPE I
-SIZE 126
-RETR 126
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test127 b/Utilities/cmcurl-7.19.0/tests/data/test127
deleted file mode 100644
index f13e87a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test127
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
---disable-epsv
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-moooooooo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP --disable-epsv
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/to/file/127 --disable-epsv
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-CWD to
-CWD file
-PASV
-TYPE I
-SIZE 127
-RETR 127
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test128 b/Utilities/cmcurl-7.19.0/tests/data/test128
deleted file mode 100644
index e6e6d0b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test128
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-STOR
---crlf
-</keywords>
-</info>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP upload with --crlf
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/128 -T log/upload128 --crlf
-</command>
-<file name="log/upload128">
-file
-with unix newlines
-meant to be
-converted
-with
-the
---crlf option
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-STOR 128
-QUIT
-</protocol>
-<upload>
-file
-with unix newlines
-meant to be
-converted
-with
-the
---crlf option
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test13 b/Utilities/cmcurl-7.19.0/tests/data/test13
deleted file mode 100644
index fc8208f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test13
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP custom request
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 Read you
-Content-Length: 29
-Deleted: suppose we got a header like this! ;-)
-
-blabla custom request result
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP custom request 'DELETE'
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/13 -X DELETE
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-DELETE /want/13 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test130 b/Utilities/cmcurl-7.19.0/tests/data/test130
deleted file mode 100644
index 433510e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test130
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-LIST
-netrc
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-netrc_debug
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP (optional .netrc; no user/pass) dir list PASV
- </name>
- <command>
---netrc-optional ftp://%HOSTIP:%FTPPORT/
-</command>
-<file name="log/netrc" >
-# the following two lines were created while testing curl
-machine %HOSTIP login user1 password passwd1
-machine %HOSTIP login user2 password passwd2
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER user1
-PASS passwd1
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test131 b/Utilities/cmcurl-7.19.0/tests/data/test131
deleted file mode 100644
index 69dc277..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test131
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-LIST
-netrc
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-#
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-netrc_debug
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP (optional .netrc; user/no pass) dir list PASV
- </name>
- <command>
---netrc-optional ftp://user2@%HOSTIP:%FTPPORT/
-</command>
-<file name="log/netrc" >
-# the following two lines were created while testing curl
-machine %HOSTIP login user1 password passwd1
-machine %HOSTIP login user2 password passwd2
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER user2
-PASS passwd2
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test132 b/Utilities/cmcurl-7.19.0/tests/data/test132
deleted file mode 100644
index 67d0fa1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test132
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-LIST
-netrc
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-netrc_debug
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP (optional .netrc; user/passwd supplied) dir list PASV
- </name>
- <command>
---netrc-optional ftp://mary:mark@%HOSTIP:%FTPPORT/
-</command>
-<file name="log/netrc" >
-# the following two lines were created while testing curl
-machine %HOSTIP login user1 password passwd1
-machine %HOSTIP login user2 password passwd2
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER mary
-PASS mark
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test133 b/Utilities/cmcurl-7.19.0/tests/data/test133
deleted file mode 100644
index b477b32..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test133
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-LIST
-netrc
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-netrc_debug
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP (compulsory .netrc; ignored user/passwd) dir list PASV
- </name>
- <command>
--n ftp://mary:mark@%HOSTIP:%FTPPORT/
-</command>
-<file name="log/netrc" >
-# the following two lines were created while testing curl
-machine %HOSTIP login user1 password passwd1
-machine %HOSTIP login user2 password passwd2
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER user1
-PASS passwd1
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test134 b/Utilities/cmcurl-7.19.0/tests/data/test134
deleted file mode 100644
index 2dbd058..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test134
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-LIST
-netrc
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-netrc_debug
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP (optional .netrc; programmatic user/passwd) dir list PASV
- </name>
- <command>
---netrc-optional -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/
-</command>
-<file name="log/netrc" >
-# the following two lines were created while testing curl
-machine %HOSTIP login user1 password passwd1
-machine %HOSTIP login user2 password passwd2
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER romulus
-PASS rhemus
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test135 b/Utilities/cmcurl-7.19.0/tests/data/test135
deleted file mode 100644
index af97b07..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test135
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-RETR
-Range
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-0123456789abcdef
-0123456789abcdef
-0123456789abcdef
-0123456789abcdef
-</data>
-<datacheck nonewline="yes">
-0123456789abc
-</datacheck>
-<size>
-64
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP retrieve a byte-range
- </name>
- <command>
--r 4-16 ftp://%HOSTIP:%FTPPORT/135
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 135
-REST 4
-RETR 135
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test136 b/Utilities/cmcurl-7.19.0/tests/data/test136
deleted file mode 100644
index b95ef92..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test136
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-0123456789abcdef
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with user and no password
- </name>
- <command>
--u user: ftp://%HOSTIP:%FTPPORT/136
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER user
-PASS
-PWD
-EPSV
-TYPE I
-SIZE 136
-RETR 136
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test137 b/Utilities/cmcurl-7.19.0/tests/data/test137
deleted file mode 100644
index edb83c6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test137
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
---data-binary
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-this is file contents
-</data>
-<servercmd>
-RETRNOSIZE
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download without size in RETR string
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/lululul/137
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-CWD lululul
-EPSV
-TYPE I
-SIZE 137
-RETR 137
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test138 b/Utilities/cmcurl-7.19.0/tests/data/test138
deleted file mode 100644
index df65e14..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test138
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-this is file contents
-</data>
-<size>
--1
-</size>
-<servercmd>
-RETRNOSIZE
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download without size in RETR string and no SIZE command
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/lululul/138
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-CWD lululul
-EPSV
-TYPE I
-SIZE 138
-RETR 138
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test139 b/Utilities/cmcurl-7.19.0/tests/data/test139
deleted file mode 100644
index 99bb09c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test139
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
--z
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-this is file contents
-</data>
-<mdtm>
-213 20030409102659
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download a newer file with -z
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/139 -z "1 jan 1989"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-MDTM 139
-EPSV
-TYPE I
-SIZE 139
-RETR 139
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test14 b/Utilities/cmcurl-7.19.0/tests/data/test14
deleted file mode 100644
index dc029e1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test14
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP HEAD
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Server: thebest/1.0
-Connection: close
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP HEAD with Connection: close
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/14 -i --head
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-HEAD /want/14 HTTP/1.1
-User-Agent: curl/7.4.2-pre4 (sparc-sun-solaris2.7) libcurl 7.4.2-pre4
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test140 b/Utilities/cmcurl-7.19.0/tests/data/test140
deleted file mode 100644
index 69976db..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test140
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
--z
---data-binary
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-<mdtm>
-213 20030409102659
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download file with -z, expected to not transfer
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/140 -z "1 jan 2004"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-MDTM 140
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test141 b/Utilities/cmcurl-7.19.0/tests/data/test141
deleted file mode 100644
index 4265eb1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test141
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-NOBODY
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-<size>
-42
-</size>
-<mdtm>
-213 20030409102659
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download info with -I
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/blalbla/141 -I
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD blalbla
-MDTM 141
-TYPE I
-SIZE 141
-REST 0
-QUIT
-</protocol>
-<stdout>
-Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT
-Content-Length: 42
-Accept-ranges: bytes
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test142 b/Utilities/cmcurl-7.19.0/tests/data/test142
deleted file mode 100644
index 64c7205..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test142
+++ /dev/null
@@ -1,190 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-many parts there are
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP URL with 150 dir levels
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD part1
-CWD part2
-CWD part3
-CWD part4
-CWD part5
-CWD part6
-CWD part7
-CWD part8
-CWD part9
-CWD part10
-CWD part11
-CWD part12
-CWD part13
-CWD part14
-CWD part15
-CWD part16
-CWD part17
-CWD part18
-CWD part19
-CWD part20
-CWD part21
-CWD part22
-CWD part23
-CWD part24
-CWD part25
-CWD part26
-CWD part27
-CWD part28
-CWD part29
-CWD part30
-CWD part31
-CWD part32
-CWD part33
-CWD part34
-CWD part35
-CWD part36
-CWD part37
-CWD part38
-CWD part39
-CWD part40
-CWD part41
-CWD part42
-CWD part43
-CWD part44
-CWD part45
-CWD part46
-CWD part47
-CWD part48
-CWD part49
-CWD part50
-CWD part51
-CWD part52
-CWD part53
-CWD part54
-CWD part55
-CWD part56
-CWD part57
-CWD part58
-CWD part59
-CWD part60
-CWD part61
-CWD part62
-CWD part63
-CWD part64
-CWD part65
-CWD part66
-CWD part67
-CWD part68
-CWD part69
-CWD part70
-CWD part71
-CWD part72
-CWD part73
-CWD part74
-CWD part75
-CWD part76
-CWD part77
-CWD part78
-CWD part79
-CWD part80
-CWD part81
-CWD part82
-CWD part83
-CWD part84
-CWD part85
-CWD part86
-CWD part87
-CWD part88
-CWD part89
-CWD part90
-CWD part91
-CWD part92
-CWD part93
-CWD part94
-CWD part95
-CWD part96
-CWD part97
-CWD part98
-CWD part99
-CWD part100
-CWD part101
-CWD part102
-CWD part103
-CWD part104
-CWD part105
-CWD part106
-CWD part107
-CWD part108
-CWD part109
-CWD part110
-CWD part111
-CWD part112
-CWD part113
-CWD part114
-CWD part115
-CWD part116
-CWD part117
-CWD part118
-CWD part119
-CWD part120
-CWD part121
-CWD part122
-CWD part123
-CWD part124
-CWD part125
-CWD part126
-CWD part127
-CWD part128
-CWD part129
-CWD part130
-CWD part131
-CWD part132
-CWD part133
-CWD part134
-CWD part135
-CWD part136
-CWD part137
-CWD part138
-CWD part139
-CWD part140
-CWD part141
-CWD part142
-CWD part143
-CWD part144
-CWD part145
-CWD part146
-CWD part147
-CWD part148
-CWD part149
-CWD part150
-EPSV
-TYPE I
-SIZE 142
-RETR 142
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test143 b/Utilities/cmcurl-7.19.0/tests/data/test143
deleted file mode 100644
index 5f1a523..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test143
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-type=
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-bla bla bla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP URL with type=a
- </name>
- <command>
-"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/143;type=a"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD /tmp
-CWD moo
-EPSV
-TYPE A
-SIZE 143
-RETR 143
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test144 b/Utilities/cmcurl-7.19.0/tests/data/test144
deleted file mode 100644
index bcfc3ba..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test144
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-NLST
---data-binary
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-<servercmd>
-REPLY NLST 450 No files found
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP NLST dir list without contents, using PORT
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/ -P - -l
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-PORT 127,0,0,1,243,212
-TYPE A
-NLST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test145 b/Utilities/cmcurl-7.19.0/tests/data/test145
deleted file mode 100644
index 6fc3298..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test145
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-NLST
-PORT
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY NLST 550 Have a taste on this!
-</servercmd>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP NLST dir list with weird reply code, using PORT
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/ -P - -l
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-19
-</errorcode>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-PORT 127,0,0,1,243,212
-TYPE A
-NLST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test146 b/Utilities/cmcurl-7.19.0/tests/data/test146
deleted file mode 100644
index 1831195..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test146
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
-persistent connection
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-this is file contents
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-persistent FTP with different paths
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/first/dir/here/146 ftp://%HOSTIP:%FTPPORT/146
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD first
-CWD dir
-CWD here
-EPSV
-TYPE I
-SIZE 146
-RETR 146
-CWD /nowhere/anywhere
-EPSV
-SIZE 146
-RETR 146
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test147 b/Utilities/cmcurl-7.19.0/tests/data/test147
deleted file mode 100644
index 93816f4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test147
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-foo
-</data>
-<servercmd>
-REPLY CWD 550 I won't allow this on my server
-COUNT CWD 1
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with --ftp-create-dirs (failing CWD)
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/first/dir/here/147 --ftp-create-dirs
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD first
-MKD first
-CWD first
-CWD dir
-CWD here
-EPSV
-TYPE I
-SIZE 147
-RETR 147
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test148 b/Utilities/cmcurl-7.19.0/tests/data/test148
deleted file mode 100644
index 6acd0e8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test148
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-REPLY CWD 550 I won't allow this on my server
-REPLY MKD 550 We will have no such thing
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with --ftp-create-dirs (failing MKD)
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/attempt/to/get/this/148 --ftp-create-dirs
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<errorcode>
-9
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD attempt
-MKD attempt
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test149 b/Utilities/cmcurl-7.19.0/tests/data/test149
deleted file mode 100644
index 6fc48de..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test149
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with multiple uploads
- </name>
- <command>
--T log/upload148 ftp://%HOSTIP:%FTPPORT/dir1/148 -T log/upload148 ftp://%HOSTIP:%FTPPORT/dir2/148
-</command>
-<file name="log/upload148">
-send away this contents
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD dir1
-EPSV
-TYPE I
-STOR 148
-CWD /nowhere/anywhere
-CWD dir2
-EPSV
-STOR 148
-QUIT
-</protocol>
-<file name="log/upload148">
-send away this contents
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test15 b/Utilities/cmcurl-7.19.0/tests/data/test15
deleted file mode 100644
index 053ad52..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test15
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---write-out
-</keywords>
-</info>
-# Server-side
-<reply>
-<data nocheck="true">
-HTTP/1.4 200 OK
-Fake: yes
-Fake: yes
-Fake: yes
-Content-Length: 26
-
-Repeated nonsense-headers
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
---write-out test
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout>
-HTTP/1.4 200 OK
-Fake: yes
-Fake: yes
-Fake: yes
-Content-Length: 26
-
-Repeated nonsense-headers
-http://%HOSTIP:%HTTPPORT/want/15 200 26
-</stdout>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/15 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test150 b/Utilities/cmcurl-7.19.0/tests/data/test150
deleted file mode 100644
index b3f6c32..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test150
+++ /dev/null
@@ -1,90 +0,0 @@
-<testcase>
-
-<!-- Server-side -->
-<reply>
-
-<!-- no <data> in this test since we have NTLM from the start
-
-This is supposed to be returned when the server gets a first
-Authorization: NTLM line passed-in from the client -->
-
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM authorization and --fail
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/150 -u testuser:testpass --ntlm --fail
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /150 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /150 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test151 b/Utilities/cmcurl-7.19.0/tests/data/test151
deleted file mode 100644
index 6498fc9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test151
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 401 BAD BOY
-Server: swsclose
-Content-Type: text/html
-
-This contains a response code >= 400, so curl shouldn't display this. Even
-though it's a response code that triggers authentication, we're not using
-authentication so we should still fail.
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with an error code that might trick authentication
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/151
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET /151 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test152 b/Utilities/cmcurl-7.19.0/tests/data/test152
deleted file mode 100644
index 061842b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test152
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.0 401 BAD BOY
-Server: swsclose
-Content-Type: text/html
-
-This contains a response code >= 400, so curl shouldn't display this. Even
-though it's a response code that triggers authentication, we're not using
-authentication so we should still fail.
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with an error code that might trick authentication and --fail
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/152 --fail
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET /152 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<errorcode>
-22
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test153 b/Utilities/cmcurl-7.19.0/tests/data/test153
deleted file mode 100644
index 651d65c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test153
+++ /dev/null
@@ -1,133 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-# reply back and ask for Digest auth
-<data1>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data1>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1001>
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</data1001>
-
-#
-# This is the second request, and this sends back a response saying that
-# the request contained stale data. We want an update. Set swsbounce to
-# bounce on to data1003 on the second request.
-<data1002>
-HTTP/1.1 401 Authorization re-negotiation please swsbounce
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 25
-
-This is not the real page
-</data1002>
-
-# The second request to the 1002 section will bounce this one back instead
-# thanks to the swsbounce keyword up there
-<data1003>
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 30
-
-This IS the second real page!
-</data1003>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with Digest authorization with stale=true
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/1530001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/1530002
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^Authorization.*cnonce
-^User-Agent:.*
-</strip>
-<protocol>
-GET /1530001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /1530001 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530001", response="f4f83139396995bac665f24a1f1055c7"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /1530002 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"
-User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /1530002 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/1530002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm="MD5"
-User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<stdout>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-HTTP/1.1 401 Authorization re-negotiation please swsbounce
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 25
-
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 30
-
-This IS the second real page!
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test154 b/Utilities/cmcurl-7.19.0/tests/data/test154
deleted file mode 100644
index d3f196d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test154
+++ /dev/null
@@ -1,108 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP Digest auth
---anyauth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<servercmd>
-auth_required
-</servercmd>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-Connection: close
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-Connection: close
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP PUT with --anyauth authorization (picking Digest)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/154 -T log/put154 -u testuser:testpass --anyauth
-</command>
-<file name="log/put154">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /154 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-PUT /154 HTTP/1.1
-Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/154", response="b71551e12d1c456e47d8388ecb2edeca"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test155 b/Utilities/cmcurl-7.19.0/tests/data/test155
deleted file mode 100644
index 2ec1234..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test155
+++ /dev/null
@@ -1,127 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-auth_required
-</servercmd>
-<data>
-HTTP/1.1 401 NTLM Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-moo
-</data>
-
-# This is supposed to be returned when the server gets a first
-# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Type-1 received, send back type-2
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 NTLM Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 401 Type-1 received, send back type-2
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP PUT with --anyauth authorization (picking NTLM)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/155 -T log/put155 -u testuser:testpass --anyauth
-</command>
-<file name="log/put155">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-PUT /155 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-PUT /155 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Expect: 100-continue
-
-PUT /155 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test156 b/Utilities/cmcurl-7.19.0/tests/data/test156
deleted file mode 100644
index 14f8716..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test156
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 No Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-PUT received fine. Thank you very much
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT with --anyauth (when the server requires none)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/156 -T log/put156 -u testuser:testpass --anyauth
-</command>
-<file name="log/put156">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /156 HTTP/1.1
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test157 b/Utilities/cmcurl-7.19.0/tests/data/test157
deleted file mode 100644
index 93d86e0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test157
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 No Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-GET received and served just fine. Thank you very much
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with --anyauth (when the server requires none)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/157 -u testuser:testpass --anyauth
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /157 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test158 b/Utilities/cmcurl-7.19.0/tests/data/test158
deleted file mode 100644
index 80030c5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test158
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 100 Continue swsclose
-Silly-header: yeeeees
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP multipart formpost with only a 100 reply
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/158 -F name=daniel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-^Content-Type: multipart/form-data.*
-^---------------------------.*
-</strip>
-<protocol>
-POST /158 HTTP/1.1
-User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 145
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------4f12fcdaa3bc
-
-------------------------------4f12fcdaa3bc
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------4f12fcdaa3bc--
-</protocol>
-<errorcode>
-52
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test159 b/Utilities/cmcurl-7.19.0/tests/data/test159
deleted file mode 100644
index c736285..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test159
+++ /dev/null
@@ -1,89 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-
-<!-- no <data> in this test since we have NTLM from the start
-
-This is supposed to be returned when the server gets a first
-Authorization: NTLM line passed-in from the client -->
-
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM authorization when talking HTTP/1.0
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/159 -u testuser:testpass --ntlm -0
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /159 HTTP/1.0
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /159 HTTP/1.0
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test16 b/Utilities/cmcurl-7.19.0/tests/data/test16
deleted file mode 100644
index 329e516..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test16
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy Basic auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 22
-
-the content goes here
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with proxy authorization
- </name>
- <command>
- -U fake@user:§§§looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/16
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://we.want.that.site.com/16 HTTP/1.1
-Proxy-Authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZw==
-Host: we.want.that.site.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test160 b/Utilities/cmcurl-7.19.0/tests/data/test160
deleted file mode 100644
index 1c8e5fa..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test160
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data nocheck="true">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 9
-
-surprise
-</data>
-<data1>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-surprise2
-</data1>
-
-<postcmd>
-wait 1
-</postcmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with delayed close, conn reuse, connection reset and retry
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/160 http://%HOSTIP:%HTTPPORT/wantmore/1600001
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 9
-
-surprise
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-surprise2
-</stdout>
-
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/160 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /wantmore/1600001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test161 b/Utilities/cmcurl-7.19.0/tests/data/test161
deleted file mode 100644
index 03e8fc6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test161
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-1oooooooooooooooooooooooooooooooooooooooooo2
-</data>
-<size>
-10928
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR PASV
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/161
-</command>
-</client>
-
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 161
-RETR 161
-</protocol>
-<errorcode>
-18
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test162 b/Utilities/cmcurl-7.19.0/tests/data/test162
deleted file mode 100644
index 512baef..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test162
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data1001 nocheck="1">
-HTTP/1.0 407 BAD BOY
-Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
-Server: swsclose
-Content-Type: text/html
-
-Even though it's the response code that triggers authentication, we're
-using NTLM and the server isn't, so we should fail. We know the server
-isn't because there's no Proxy-Authorization: NTLM header
-</data1001>
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET asking for --proxy-ntlm when some other authentication is required
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/162 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm --fail
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/162 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-<errorcode>
-22
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test163 b/Utilities/cmcurl-7.19.0/tests/data/test163
deleted file mode 100644
index bea5e76..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test163
+++ /dev/null
@@ -1,73 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 10
-
-blablabla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP multipart formpost with contents from a file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/163 -F "name=<log/field163" -F tool=curl
-</command>
-# We create this file before the command is invoked!
-<file name="log/field163">
-contents
-from
-a
-file
-
-newlinens?
-yes please
-
-[tab][CR] too
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/163 HTTP/1.1
-User-Agent: curl/7.11.2-CVS (i686-pc-linux-gnu) libcurl/7.11.2-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.0.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 304
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------c2d1767eb6ac
-
-------------------------------c2d1767eb6ac
-Content-Disposition: form-data; name="name"
-
-contents
-from
-a
-file
-
-newlinens?
-yes please
-
-[tab][CR] too
-
-------------------------------c2d1767eb6ac
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------c2d1767eb6ac--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test164 b/Utilities/cmcurl-7.19.0/tests/data/test164
deleted file mode 100644
index 4d5d931..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test164
+++ /dev/null
@@ -1,61 +0,0 @@
-<testcase>
-# Server-side
-# This particular response is an exact excerpt from an actual Apache
-# server when asked for a 0-10,12-15 range (except gt/lt changed to {}
-# to avoid XML escaping problems).
-<reply>
-<data>
-HTTP/1.1 206 Partial Content swsclose
-Date: Sat, 24 Apr 2004 09:24:49 GMT
-Server: Apache/1.3.29 (Unix) mod_throttle/3.1.2 PHP/4.3.4 mod_fastcgi/2.4.0
-Last-Modified: Tue, 23 Mar 2004 08:23:14 GMT
-ETag: "53814a-ec5-405ff3f2"
-Accept-Ranges: bytes
-Content-Length: 187
-Content-Type: multipart/byteranges; boundary=408a326132c
-
---408a326132c
-Content-type: text/html
-Content-range: bytes 0-10/3781
-
-{html}
-{hea
-
---408a326132c
-Content-type: text/html
-Content-range: bytes 12-15/3781
-
-}
-{t
-
---408a326132c--
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP range with multiple ranges
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/164 -r 0-10,12-15
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/164 HTTP/1.1
-Range: bytes=0-10,12-15
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test165 b/Utilities/cmcurl-7.19.0/tests/data/test165
deleted file mode 100644
index 4d45213..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test165
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IDN
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-idn
-</features>
-<setenv>
-CHARSET=ISO8859-1
-</setenv>
- <name>
-HTTP over proxy with IDN host name
- </name>
- <command>
-http://www.åäö.se/page/165 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://www.xn--4cab6c.se/page/165 HTTP/1.1
-Host: www.xn--4cab6c.se
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test166 b/Utilities/cmcurl-7.19.0/tests/data/test166
deleted file mode 100644
index 0078724..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test166
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 10
-
-blablabla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP formpost a file with spaces in name
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/166 -F "name=@log/fie ld 166"
-</command>
-# We create this file before the command is invoked!
-<file name="log/fie ld 166">
-data inside the file
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/166 HTTP/1.1
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 223
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------b0b3d6d23991
-
-------------------------------b0b3d6d23991
-Content-Disposition: form-data; name="name"; filename="fie ld 166"
-Content-Type: application/octet-stream
-
-data inside the file
-
-------------------------------b0b3d6d23991--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test167 b/Utilities/cmcurl-7.19.0/tests/data/test167
deleted file mode 100644
index d2ea126..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test167
+++ /dev/null
@@ -1,81 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Basic auth
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
-
-</data>
-
-<data1000>
-HTTP/1.1 200 OK swsclose
-Server: no
-Content-Length: 15
-
-Nice auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-WWW-Authenticate: Digest realm="weirdorealm", nonce="12345"
-
-HTTP/1.1 200 OK swsclose
-Server: no
-Content-Length: 15
-
-Nice auth sir!
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with proxy-requiring-Basic to site-requiring-Digest
- </name>
- <command>
-http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
-Proxy-Authorization: Basic Zm9vOmJhcg==
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://data.from.server.requiring.digest.hohoho.com/167 HTTP/1.1
-Proxy-Authorization: Basic Zm9vOmJhcg==
-Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/167", response="13c7c02a252cbe1c46d8669898a3be26"
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test168 b/Utilities/cmcurl-7.19.0/tests/data/test168
deleted file mode 100644
index 2e47024..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test168
+++ /dev/null
@@ -1,102 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Digest auth
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-
-And you should ignore this data.
-</data>
-
-# then this is returned since we get no server-auth
-<data1000>
-HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
-WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
-
-you should ignore this data too
-</data1000>
-
-<data1001>
-HTTP/1.1 200 OK swsclose
-Server: no
-Content-Length: 15
-
-Nice auth sir!
-</data1001>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-
-HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
-WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
-
-HTTP/1.1 200 OK swsclose
-Server: no
-Content-Length: 15
-
-Nice auth sir!
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with proxy-requiring-Digest to site-requiring-Digest
- </name>
- <command>
-http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
-Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://data.from.server.requiring.digest.hohoho.com/168 HTTP/1.1
-Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/168", response="fb8608e00ad9239a3dedb14bc8575976"
-Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/168", response="ca87f2d768a231e2d637a55698d5c416"
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test169 b/Utilities/cmcurl-7.19.0/tests/data/test169
deleted file mode 100644
index 252ec75..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test169
+++ /dev/null
@@ -1,126 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy NTLM auth
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
-Proxy-Authenticate: NTLM
-
-And you should ignore this data.
-</data>
-
-# then this is returned since we get no server-auth
-<data1000>
-HTTP/1.1 200 Authorizated fine
-Content-Length: 27
-
-Welcome to the end station
-</data1000>
-
-<data1001>
-HTTP/1.1 407 NTLM type-1 received sending back type-2
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 401 You now need to authenticate with the host
-Server: Microsoft-IIS/5.0
-WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"
-Content-Length: 46
-Content-Type: text/html; charset=iso-8859-1
-
-We have not authenticated with the server yet
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 NTLM type-1 received sending back type-2
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 401 You now need to authenticate with the host
-Server: Microsoft-IIS/5.0
-WWW-Authenticate: Digest realm="r e a l m", nonce="abcdef"
-Content-Length: 46
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 Authorizated fine
-Content-Length: 27
-
-Welcome to the end station
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP with proxy-requiring-NTLM to site-requiring-Digest
- </name>
- <command>
-http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm --digest --user digest:alot
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAwADAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAwADAHAAAAA
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1
-Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/169", response="95d48591985a03c4b49cb962aa7bd3e6"
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3
-Host: data.from.server.requiring.digest.hohoho.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test17 b/Utilities/cmcurl-7.19.0/tests/data/test17
deleted file mode 100644
index 1931c8d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test17
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP custom request
-config file
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 27
-
-This is the proof it works
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with config file on stdin
- </name>
- <stdin>
-#
-# Use a silly request without '--':
-request MOOO
-#
-# Set the user-agent using a short-option:
--A "agent007 license to drill\t"
-#
-# long option *with* '--':
---max-time 180
- </stdin>
- <command>
--K - %HOSTIP:%HTTPPORT/that.site.com/17
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-MOOO /that.site.com/17 HTTP/1.1
-User-Agent: agent007 license to drill
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test170 b/Utilities/cmcurl-7.19.0/tests/data/test170
deleted file mode 100644
index e2d44b9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test170
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP POST with --proxy-ntlm and no SSL with no response
- </name>
- <command>
-http://a.galaxy.far.far.away/170 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -F "dummy=value"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-POST http://a.galaxy.far.far.away/170 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 libidn/0.4.3
-Host: a.galaxy.far.far.away
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-
-</protocol>
-# 52 is CURLE_GOT_NOTHING
-<errorcode>
-52
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test171 b/Utilities/cmcurl-7.19.0/tests/data/test171
deleted file mode 100644
index 28fcbac..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test171
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Tue, 25 Sep 2001 19:37:44 GMT
-Content-Type: text/html
-Set-Cookie: XToken=xt;Domain=.z.x.com;Path=/
-Cache-control: private
-Content-Length: 62
-
-This server reply is for testing a simple cookie test case...
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, get cookie with dot prefixed full domain
- </name>
- <command>
--c log/jar171 -x %HOSTIP:%HTTPPORT http://z.x.com/171
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://z.x.com/171 HTTP/1.1
-Host: z.x.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-<file name="log/jar171" mode="text">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.z.x.com TRUE / FALSE 0 XToken xt
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test172 b/Utilities/cmcurl-7.19.0/tests/data/test172
deleted file mode 100644
index 0618373..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test172
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Content-Length: 4
-Connection: close
-
-boo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with cookies file and custom added cookie
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool"
-</command>
-<file name="log/jar172.txt">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.%HOSTIP TRUE /silly/ FALSE 0 ismatch this
-.%HOSTIP TRUE / FALSE 0 partmatch present
-%HOSTIP FALSE /we/want/ FALSE 1391252187 nodomain value
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/172 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: nodomain=value; partmatch=present; tool=curl; name=fool
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test173 b/Utilities/cmcurl-7.19.0/tests/data/test173
deleted file mode 100644
index 841c228..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test173
+++ /dev/null
@@ -1,73 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 11
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-formpost a file from stdin with "faked" filename
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null"
-</command>
-
-<stdin>
-line1
-line2
-line3
-line4
-line5
-line6
-line7
-line8
-</stdin>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/173 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 359
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------5dbea401cd8c
-
-------------------------------5dbea401cd8c
-Content-Disposition: form-data; name="field1"
-
-contents1
-------------------------------5dbea401cd8c
-Content-Disposition: form-data; name="fileupload"; filename="/dev/null"
-Content-Type: application/octet-stream
-
-line1
-line2
-line3
-line4
-line5
-line6
-line7
-line8
-
-------------------------------5dbea401cd8c--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test174 b/Utilities/cmcurl-7.19.0/tests/data/test174
deleted file mode 100644
index f480909..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test174
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 beng swsclose
-Server: Microsoft-IIS/6.0
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
- <name>
-HTTP POST --anyauth to server not requiring any auth at all
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/174 -u testuser:testpass --anyauth -d "junkelijunk"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /174 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 11
-Content-Type: application/x-www-form-urlencoded
-
-junkelijunk
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test175 b/Utilities/cmcurl-7.19.0/tests/data/test175
deleted file mode 100644
index 3425d2d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test175
+++ /dev/null
@@ -1,86 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 beng swsclose swsbounce
-Server: Microsoft-IIS/6.0
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
-Content-Type: text/html; charset=iso-8859-1
-
-This is not the real page
-</data>
-
-<data1>
-HTTP/1.1 200 moo swsclose
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 16
-
-content for you
-</data1>
-
-<datacheck>
-HTTP/1.1 200 beng swsclose swsbounce
-Server: Microsoft-IIS/6.0
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 moo swsclose
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 16
-
-content for you
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP POST --digest to server not requiring any auth at all
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/175 -u auser:apasswd --digest -d "junkelijunk"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /175 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST /175 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 11
-Content-Type: application/x-www-form-urlencoded
-
-junkelijunk
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test176 b/Utilities/cmcurl-7.19.0/tests/data/test176
deleted file mode 100644
index acdcc57..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test176
+++ /dev/null
@@ -1,79 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-# the first request has NTLM type-1 included, and then the 1001 is returned
-<data1001>
-HTTP/1.1 200 beng swsclose swsbounce
-Server: Microsoft-IIS/6.0
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
-Content-Type: text/html; charset=iso-8859-1
-
-</data1001>
-
-# the second request should be auth-less and then this is returned.
-<data>
-HTTP/1.1 200 moo swsclose
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 16
-
-content for you
-</data>
-
-<datacheck>
-HTTP/1.1 200 beng swsclose swsbounce
-Server: Microsoft-IIS/6.0
-Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 moo swsclose
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 16
-
-content for you
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP POST --ntlm to server not requiring any auth at all
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/176 -u auser:apasswd --ntlm -d "junkelijunk"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /176 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST /176 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 11
-Content-Type: application/x-www-form-urlencoded
-
-junkelijunk
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test177 b/Utilities/cmcurl-7.19.0/tests/data/test177
deleted file mode 100644
index 98fd79d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test177
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP Digest auth
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 *MOVED* swsclose swsbounce
-Server: Microsoft-IIS/6.0
-Location: /mooooo/177
-Content-Type: text/html; charset=iso-8859-1
-
-</data>
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP POST --digest to server doing a 302-location response
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/177 -u auser:apasswd --digest -d "junkelijunk"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-POST /177 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test178 b/Utilities/cmcurl-7.19.0/tests/data/test178
deleted file mode 100644
index 482e38d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test178
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: -6
-Content-Type: text/html
-Funny-head: yesyes
-
-moooooooooooo
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-simple HTTP GET with negative Content-Length
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/178
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /178 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test179 b/Utilities/cmcurl-7.19.0/tests/data/test179
deleted file mode 100644
index 8168665..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test179
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Server: Microsoft-IIS/4.0
-Date: Tue, 25 Sep 2001 19:37:44 GMT
-Content-Type: text/html
-Connection: close
-Content-Length: 21
-
-This server says moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP using proxy and cookies with path checks
- </name>
- <command>
-http://supertrooper.fake/c/179 -b log/injar179 -x %HOSTIP:%HTTPPORT
-</command>
-<file name="log/injar179">
-supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed
-supertrooper.fake FALSE /b FALSE 0 moo1 indeed
-supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://supertrooper.fake/c/179 HTTP/1.1
-Host: supertrooper.fake
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Cookie: moo2=indeed
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test18 b/Utilities/cmcurl-7.19.0/tests/data/test18
deleted file mode 100644
index e71ff7c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test18
+++ /dev/null
@@ -1,90 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-{} list
-</keywords>
-</info>
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 4
-
-moo
-</data>
-<data2>
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 4
-
-foo
-</data2>
-<data3>
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 4
-
-hoo
-</data3>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-multiple requests using {} in URL
- </name>
- <command>
-"%HOSTIP:%HTTPPORT/{18,180002,180003}"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /18 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /180002 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /180003 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<stdout>
---_curl_--%HOSTIP:%HTTPPORT/18
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 4
-
-moo
---_curl_--%HOSTIP:%HTTPPORT/180002
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 4
-
-foo
---_curl_--%HOSTIP:%HTTPPORT/180003
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 4
-
-hoo
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test180 b/Utilities/cmcurl-7.19.0/tests/data/test180
deleted file mode 100644
index fbaf344..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test180
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP 1.0 PUT
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/180 -T log/test180.txt --http1.0
-</command>
-<file name="log/test180.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /we/want/180 HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 78
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test181 b/Utilities/cmcurl-7.19.0/tests/data/test181
deleted file mode 100644
index 99d371c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test181
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP 1.0 POST
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/181 --data-binary @log/test181.txt --http1.0
-</command>
-<file name="log/test181.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- POST
- feature
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-POST /we/want/181 HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 79
-Content-Type: application/x-www-form-urlencoded
-
-Weird
- file
- to
- upload
-for
- testing
-the
- POST
- feature
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test182 b/Utilities/cmcurl-7.19.0/tests/data/test182
deleted file mode 100644
index 762a554..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test182
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data sendzero="yes">
-</data>
-<size>
-0
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<name>
-FTP download an empty file
-</name>
-<command>
-ftp://%HOSTIP:%FTPPORT/182
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 182
-RETR 182
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test183 b/Utilities/cmcurl-7.19.0/tests/data/test183
deleted file mode 100644
index 273ddf7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test183
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-persistent connection
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-
-moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET two URLs over a single proxy with persistent connection
- </name>
- <command>
-http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://deathstar.another.galaxy/183 HTTP/1.1
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
-Host: deathstar.another.galaxy
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://a.galaxy.far.far.away/183 HTTP/1.1
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
-Host: a.galaxy.far.far.away
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test184 b/Utilities/cmcurl-7.19.0/tests/data/test184
deleted file mode 100644
index 8b175ed..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test184
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-Location: http://yet.another.host/184
-
-moo
-</data>
-<data1>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-
-moo
-</data1>
-<datacheck>
-HTTP/1.1 301 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-Location: http://yet.another.host/184
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-
-moo
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP replace Host: when following Location: to new host
- </name>
- <command>
-http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://deathstar.another.galaxy/184 HTTP/1.1
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Host: another.visitor.stay.a.while.stay.foreeeeeever
-
-GET http://yet.another.host/184 HTTP/1.1
-Host: yet.another.host
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test185 b/Utilities/cmcurl-7.19.0/tests/data/test185
deleted file mode 100644
index ea64e3a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test185
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-Location: go/west/185
-
-moo
-</data>
-<data1>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-
-moo
-</data1>
-<datacheck>
-HTTP/1.1 301 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-Location: go/west/185
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 4
-
-moo
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP replace Host: when following Location: on the same host
- </name>
- <command>
-http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://deathstar.another.galaxy/185 HTTP/1.1
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.6b zlib/1.1.4 libidn/0.4.6
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Host: another.visitor.stay.a.while.stay.foreeeeeever
-
-GET http://deathstar.another.galaxy/go/west/185 HTTP/1.1
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Host: another.visitor.stay.a.while.stay.foreeeeeever
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test186 b/Utilities/cmcurl-7.19.0/tests/data/test186
deleted file mode 100644
index bf1b027..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test186
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 11
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-type formposting with types on text fields
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/186 -F "name=daniel;type=moo/foo" -F "html= <body>hello</body>;type=text/html"
-</command>
-# We create this file before the command is invoked!
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/186 HTTP/1.1
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.1 c-ares/1.2.0 libidn/0.5.2
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 305
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------212d9006ceb5
-
-------------------------------212d9006ceb5
-Content-Disposition: form-data; name="name"
-Content-Type: moo/foo
-
-daniel
-------------------------------212d9006ceb5
-Content-Disposition: form-data; name="html"
-Content-Type: text/html
-
- <body>hello</body>
-------------------------------212d9006ceb5--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test187 b/Utilities/cmcurl-7.19.0/tests/data/test187
deleted file mode 100644
index 978874c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test187
+++ /dev/null
@@ -1,77 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: /root/1870002.txt?coolsite=yes
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: /root/1870002.txt?coolsite=yes
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP redirect with bad host name separation and slash in parameters
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT?oh=what-weird=test/187 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /?oh=what-weird=test/187 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /root/1870002.txt?coolsite=yes HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test188 b/Utilities/cmcurl-7.19.0/tests/data/test188
deleted file mode 100644
index 4443ee9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test188
+++ /dev/null
@@ -1,78 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Content-Range
-Resume
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsbounce
-Location: /188
-Content-Length: 2
-
-OK
-</data>
-<data1>
-HTTP/1.1 200 OK
-Connection: close
-Content-Length: 15
-Content-Range: bytes 50-
-
-Actual content
-</data1>
-
-<datacheck>
-HTTP/1.1 301 OK swsbounce
-Location: /188
-Content-Length: 2
-
-HTTP/1.1 200 OK
-Connection: close
-Content-Length: 15
-Content-Range: bytes 50-
-
-Actual content
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with resume and redirect
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/188 -C 50 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /188 HTTP/1.1
-Range: bytes=50-
-User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /188 HTTP/1.1
-Range: bytes=50-
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.2 libidn/0.5.2
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test189 b/Utilities/cmcurl-7.19.0/tests/data/test189
deleted file mode 100644
index 208087c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test189
+++ /dev/null
@@ -1,69 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 OK swsbounce
-Location: /189
-Content-Length: 2
-
-OK
-</data>
-<data1>
-HTTP/1.1 200 OK
-Connection: close
-Content-Length: 15
-
-Actual content
-</data1>
-
-<datacheck>
-HTTP/1.1 301 OK swsbounce
-Location: /189
-Content-Length: 2
-
-HTTP/1.1 200 OK
-Connection: close
-Content-Length: 15
-
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with resume and redirect (to a page that doesn't resume)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/189 -C 50 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /189 HTTP/1.1
-Range: bytes=50-
-User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /189 HTTP/1.1
-Range: bytes=50-
-User-Agent: curl/7.12.2-CVS (i686-pc-linux-gnu) libcurl/7.12.2-CVS OpenSSL/0.9.7d zlib/1.2.1.2 libidn/0.5.2
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-# 33 is CURLE_RANGE_ERROR
-<errorcode>
-33
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test19 b/Utilities/cmcurl-7.19.0/tests/data/test19
deleted file mode 100644
index dd60b8c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test19
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-connect to non-listen
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
- <name>
-attempt connect to non-listening socket
- </name>
- <command>
-%HOSTIP:60000
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-7
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test190 b/Utilities/cmcurl-7.19.0/tests/data/test190
deleted file mode 100644
index ab0dfd7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test190
+++ /dev/null
@@ -1,38 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-DELAY CWD 60
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<killserver>
-ftp
-</killserver>
- <name>
-FTP download with strict timeout and slow CWD
- </name>
- <command timeout="1">
-ftp://%HOSTIP:%FTPPORT/path/to/file/190 -m %FTPTIME2
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# 28 is CURLE_OPERATION_TIMEDOUT
-<errorcode>
-28
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test191 b/Utilities/cmcurl-7.19.0/tests/data/test191
deleted file mode 100644
index 7b58580..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test191
+++ /dev/null
@@ -1,35 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-data in file
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP URL with ?-letters in username and password
- </name>
- <command>
-"ftp://use?r:pass?word@%HOSTIP:%FTPPORT/191"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER use?r
-PASS pass?word
-PWD
-EPSV
-TYPE I
-SIZE 191
-RETR 191
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test192 b/Utilities/cmcurl-7.19.0/tests/data/test192
deleted file mode 100644
index df94a8d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test192
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 8
-Connection: close
-
-monster
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET -w num_connects with one simple connect
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/192 -w "%{num_connects}\n"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /192 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-<stdout>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 8
-Connection: close
-
-monster
-1
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test193 b/Utilities/cmcurl-7.19.0/tests/data/test193
deleted file mode 100644
index 93f6591..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test193
+++ /dev/null
@@ -1,82 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
---write-out
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 302 OK swsbounce swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 8
-Connection: close
-Location: ./193
-
-monster
-</data>
-<data1 nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 8
-Connection: close
-
-monster
-</data1>
-
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET -w num_connects with redirected fetch (2 connects)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/193 -w "%{num_connects}\n" -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /193 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /193 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-<stdout>
-HTTP/1.1 302 OK swsbounce swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 8
-Connection: close
-Location: ./193
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 8
-Connection: close
-
-monster
-2
-</stdout>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test194 b/Utilities/cmcurl-7.19.0/tests/data/test194
deleted file mode 100644
index d7350ed..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test194
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Content-Range
-Resume
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 416 Requested Range Not Satisfiable swsclose
-Date: Fri, 24 Oct 2003 21:33:12 GMT
-Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
-Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
-ETag: "ab57a-507-3f9968f3"
-Accept-Ranges: bytes
-Content-Length: 87
-Content-Range: bytes */87
-Content-Type: image/gif
-Connection: close
-
-</data>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP resume transfer with the whole file already downloaded and --fail
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/194 -C 87 --fail
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/194 HTTP/1.1
-Range: bytes=87-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test195 b/Utilities/cmcurl-7.19.0/tests/data/test195
deleted file mode 100644
index a147a95..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test195
+++ /dev/null
@@ -1,32 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-REPLY PASS 530 temporarily not available
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP response 530 after PASS, temporarily not allowed access
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/195
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test196 b/Utilities/cmcurl-7.19.0/tests/data/test196
deleted file mode 100644
index 5cffd9a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test196
+++ /dev/null
@@ -1,35 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-REPLY PASS 530 temporarily not available
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP transient error, retry request once
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/196 --retry 1
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# 67 is CURLE_LOGIN_DENIED
-<errorcode>
-67
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-USER anonymous
-PASS ftp@example.com
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test197 b/Utilities/cmcurl-7.19.0/tests/data/test197
deleted file mode 100644
index 0205309..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test197
+++ /dev/null
@@ -1,69 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 503 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 21
-
-server not available
-</data>
-<data1 nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 3
-Connection: close
-
-ok
-</data1>
-
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET --retry on 503 error with output to stdout
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/197 --retry 1000
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /197 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /197 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-<stdout>
-HTTP/1.1 503 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 21
-
-server not available
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 3
-Connection: close
-
-ok
-</stdout>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test198 b/Utilities/cmcurl-7.19.0/tests/data/test198
deleted file mode 100644
index a413fb9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test198
+++ /dev/null
@@ -1,64 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 503 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 21
-
-server not available
-</data>
-<data1>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 3
-Connection: close
-
-ok
-</data1>
-
-<datacheck>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 3
-Connection: close
-
-ok
-</datacheck>
-
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET --retry on 503 error with output to file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/198 --retry 1000
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /198 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /198 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test199 b/Utilities/cmcurl-7.19.0/tests/data/test199
deleted file mode 100644
index d19a443..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test199
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply name="1">
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with -d, -G and {}
- </name>
- <command>
--d "foo=moo&moo=poo" "http://%HOSTIP:%HTTPPORT/{199,199}" -G
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /199?foo=moo&moo=poo HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /199?foo=moo&moo=poo HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test2 b/Utilities/cmcurl-7.19.0/tests/data/test2
deleted file mode 100644
index cae3b82..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test2
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Basic auth
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with user and password
- </name>
- <command>
- -u fake:user http://%HOSTIP:%HTTPPORT/2
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /2 HTTP/1.1
-Authorization: Basic ZmFrZTp1c2Vy
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<data>
-[insert full protocol verifiction dump here]
-</data>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test20 b/Utilities/cmcurl-7.19.0/tests/data/test20
deleted file mode 100644
index 3d7a6da..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test20
+++ /dev/null
@@ -1,36 +0,0 @@
-<testcase>
-<info>
-<keywords>
-non-existing host name
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
- <name>
-attempt connect to non-existing host name
- </name>
- <command>
-non-existing-host.haxx.se.
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-6
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test200 b/Utilities/cmcurl-7.19.0/tests/data/test200
deleted file mode 100644
index 8be1de0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test200
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FILE
-</keywords>
-</info>
-
-<reply>
-<data>
-foo
- bar
-bar
- foo
-moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-basic file:// file
- </name>
- <command>
-file://localhost/%PWD/log/test200.txt
-</command>
-<file name="log/test200.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test2000 b/Utilities/cmcurl-7.19.0/tests/data/test2000
deleted file mode 100644
index ccdbcc5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test2000
+++ /dev/null
@@ -1,73 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-FILE
-multiprotocol
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-file
-</server>
- <name>
-FTP RETR followed by FILE
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/2000 file://localhost/%PWD/log/test2000.txt
-</command>
-<file name="log/test2000.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 2000
-RETR 2000
-QUIT
-</protocol>
-<stdout>
-data
- to
- see
-that FTP
-works
- so does it?
-foo
- bar
-bar
- foo
-moo
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test2001 b/Utilities/cmcurl-7.19.0/tests/data/test2001
deleted file mode 100644
index a950d0e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test2001
+++ /dev/null
@@ -1,109 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-FTP
-PASV
-FILE
-multiprotocol
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data1 nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data1>
-<data2 nocheck="1">
-data
- to
- see
-that FTP
-works
- so does it?
-</data2>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-ftp
-file
-</server>
- <name>
-HTTP GET followed by FTP RETR followed by FILE
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/20010001 ftp://%HOSTIP:%FTPPORT/20010002 file://localhost/%PWD/log/test2001.txt
-</command>
-<file name="log/test2001.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /20010001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 20010002
-RETR 20010002
-QUIT
-</protocol>
-<stdout>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-data
- to
- see
-that FTP
-works
- so does it?
-foo
- bar
-bar
- foo
-moo
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test2002 b/Utilities/cmcurl-7.19.0/tests/data/test2002
deleted file mode 100644
index dd15857..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test2002
+++ /dev/null
@@ -1,125 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-FTP
-PASV
-FILE
-TFTP
-TFTP RRQ
-multiprotocol
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data1 nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data1>
-<data2 nocheck="1">
-data
- to
- see
-that FTP
-works
- so does it?
-</data2>
-<data3 nocheck="1">
-a chunk of
-data
-returned
- to TFTP client
-</data3>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-ftp
-file
-tftp
-</server>
- <name>
-HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/20020001 ftp://%HOSTIP:%FTPPORT/20020002 file://localhost/%PWD/log/test2002.txt tftp://%HOSTIP:%TFTPPORT//20020003
-</command>
-<file name="log/test2002.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /20020001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 20020002
-RETR 20020002
-opcode: 1
-filename: /20020003
-mode: octet
-QUIT
-</protocol>
-<stdout>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-data
- to
- see
-that FTP
-works
- so does it?
-foo
- bar
-bar
- foo
-moo
-a chunk of
-data
-returned
- to TFTP client
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test2003 b/Utilities/cmcurl-7.19.0/tests/data/test2003
deleted file mode 100644
index 31076ed..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test2003
+++ /dev/null
@@ -1,162 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-FTP
-PASV
-FILE
-TFTP
-TFTP RRQ
-multiprotocol
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data1 nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data1>
-<data2 nocheck="1">
-data
- to
- see
-that FTP
-works
- so does it?
-</data2>
-<data3 nocheck="1">
-a chunk of
-data
-returned
- to TFTP client
-</data3>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-ftp
-file
-tftp
-</server>
- <name>
-HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/20030001 ftp://%HOSTIP:%FTPPORT/20030002 file://localhost/%PWD/log/test2003.txt tftp://%HOSTIP:%TFTPPORT//20030003 tftp://%HOSTIP:%TFTPPORT//20030003 file://localhost/%PWD/log/test2003.txt ftp://%HOSTIP:%FTPPORT/20030002 http://%HOSTIP:%HTTPPORT/20030001
-</command>
-<file name="log/test2003.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /20030001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 20030002
-RETR 20030002
-opcode: 1
-filename: /20030003
-mode: octet
-opcode: 1
-filename: /20030003
-mode: octet
-EPSV
-SIZE 20030002
-RETR 20030002
-GET /20030001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-QUIT
-</protocol>
-<stdout>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-data
- to
- see
-that FTP
-works
- so does it?
-foo
- bar
-bar
- foo
-moo
-a chunk of
-data
-returned
- to TFTP client
-a chunk of
-data
-returned
- to TFTP client
-foo
- bar
-bar
- foo
-moo
-data
- to
- see
-that FTP
-works
- so does it?
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test2004 b/Utilities/cmcurl-7.19.0/tests/data/test2004
deleted file mode 100644
index eedabf3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test2004
+++ /dev/null
@@ -1,72 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP RRQ
-FILE
-SFTP
-SCP
-multiprotocol
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-Test data file
-for tftp test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-sftp
-</server>
- <name>
-TFTP RRQ followed by SFTP retrieval followed by FILE followed by SCP retrieval then again in reverse order
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: tftp://%HOSTIP:%TFTPPORT//2004 sftp://%HOSTIP:%SSHPORT%PWD/log/test2004.txt file://localhost/%PWD/log/test2004.txt scp://%HOSTIP:%SSHPORT%PWD/log/test2004.txt file://localhost/%PWD/log/test2004.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test2004.txt tftp://%HOSTIP:%TFTPPORT//2004
-</command>
-<file name="log/test2004.txt">
-This is test data
-for several protocols
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-opcode: 1
-filename: /2004
-mode: octet
-opcode: 1
-filename: /2004
-mode: octet
-</protocol>
-<stdout>
-Test data file
-for tftp test
-This is test data
-for several protocols
-This is test data
-for several protocols
-This is test data
-for several protocols
-This is test data
-for several protocols
-This is test data
-for several protocols
-Test data file
-for tftp test
-</stdout>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test201 b/Utilities/cmcurl-7.19.0/tests/data/test201
deleted file mode 100644
index eb24224..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test201
+++ /dev/null
@@ -1,27 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-missing file:// file
- </name>
- <command>
-file://localhost/%PWD/log/non-existant-file.txt
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-37
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test202 b/Utilities/cmcurl-7.19.0/tests/data/test202
deleted file mode 100644
index 4344d64..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test202
+++ /dev/null
@@ -1,31 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-two file:// URLs to stdout
- </name>
- <command>
-file://localhost/%PWD/log/test202.txt file://localhost/%PWD/log/test202.txt
-</command>
-<file name="log/test202.txt">
-contents in a single file
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout>
-contents in a single file
-contents in a single file
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test203 b/Utilities/cmcurl-7.19.0/tests/data/test203
deleted file mode 100644
index c7cdce5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test203
+++ /dev/null
@@ -1,36 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-foo
- bar
-bar
- foo
-moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-file:/path URL with a single slash
- </name>
- <command>
-file:%PWD/log/test203.txt
-</command>
-<file name="log/test203.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test204 b/Utilities/cmcurl-7.19.0/tests/data/test204
deleted file mode 100644
index c4e219e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test204
+++ /dev/null
@@ -1,34 +0,0 @@
-<testcase>
-# no Server-side
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-"upload" with file://
- </name>
- <command>
-file://localhost/%PWD/log/result204.txt -T log/upload204.txt
-</command>
-<file name="log/upload204.txt">
-data
-in
-file
-to
-write
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<file name="log/result204.txt">
-data
-in
-file
-to
-write
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test205 b/Utilities/cmcurl-7.19.0/tests/data/test205
deleted file mode 100644
index edcf7fe..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test205
+++ /dev/null
@@ -1,31 +0,0 @@
-<testcase>
-# no Server-side
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-"upload" with file://
- </name>
- <command>
-file://localhost/%PWD/log/nonexisting/result205.txt -T log/upload205.txt
-</command>
-<file name="log/upload205.txt">
-data
-in
-file
-to
-write
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# 23 => CURLE_WRITE_ERROR
-<errorcode>
-23
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test206 b/Utilities/cmcurl-7.19.0/tests/data/test206
deleted file mode 100644
index a40f06c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test206
+++ /dev/null
@@ -1,100 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-proxytunnel
-HTTP proxy Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-
-And you should ignore this data.
-</data>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP proxy CONNECT auth Digest
- </name>
- <command>
-http://test.remote.server.com:206/path/2060002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-CONNECT test.remote.server.com:206 HTTP/1.0
-Host: test.remote.server.com:206
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:206 HTTP/1.0
-Host: test.remote.server.com:206
-Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.server.com:206", response="5059a96c954981ceb94e17d667c8d3f8"
-Proxy-Connection: Keep-Alive
-
-GET /path/2060002 HTTP/1.1
-User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.server.com:206
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test207 b/Utilities/cmcurl-7.19.0/tests/data/test207
deleted file mode 100644
index a5e8de5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test207
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 funky chunky! swsclose
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Connection: mooo
-
-41
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-</data>
-<datacheck>
-HTTP/1.1 200 funky chunky! swsclose
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Connection: mooo
-
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with chunked Transfer-Encoding closed pre-maturely
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/207
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /207 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-# curl: (18) transfer closed with outstanding read data remaining
-# 18 == CURLE_PARTIAL_FILE
-<errorcode>
-18
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test208 b/Utilities/cmcurl-7.19.0/tests/data/test208
deleted file mode 100644
index 685917d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test208
+++ /dev/null
@@ -1,67 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-ftp
-</features>
- <name>
-HTTP PUT a to a FTP URL with username+password - over HTTP proxy
- </name>
- <command>
--x http://%HOSTIP:%HTTPPORT ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt
-</command>
-<file name="log/test208.txt">
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT ftp://daniel:mysecret@host.com/we/want/208 HTTP/1.1
-Authorization: Basic ZGFuaWVsOm15c2VjcmV0
-Host: host.com:21
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 78
-Expect: 100-continue
-
-Weird
- file
- to
- upload
-for
- testing
-the
- PUT
- feature
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test209 b/Utilities/cmcurl-7.19.0/tests/data/test209
deleted file mode 100644
index fde95e6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test209
+++ /dev/null
@@ -1,115 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-HTTP proxy NTLM auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-And you should ignore this data.
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-</data1002>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy CONNECT auth NTLM
- </name>
- <command>
-http://test.remote.server.com:209/path/2090002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-CONNECT test.remote.server.com:209 HTTP/1.0
-Host: test.remote.server.com:209
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:209 HTTP/1.0
-Host: test.remote.server.com:209
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-Proxy-Connection: Keep-Alive
-
-GET /path/2090002 HTTP/1.1
-User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.server.com:209
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test21 b/Utilities/cmcurl-7.19.0/tests/data/test21
deleted file mode 100644
index 8e4e847..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test21
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FAILURE
-multiple HTTP requests
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-use curl with multiple request methods
- </name>
- <command>
--I -d FOOO -F moo=moo localhost
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-2
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test210 b/Utilities/cmcurl-7.19.0/tests/data/test210
deleted file mode 100644
index 783cdaf..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test210
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-data blobb
-</data>
-
-# data is sent to stdout
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-Get two FTP files from the same remote dir: no second CWD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/a/path/210 ftp://%HOSTIP:%FTPPORT/a/path/210
-</command>
-<stdout>
-data blobb
-data blobb
-</stdout>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-EPSV
-TYPE I
-SIZE 210
-RETR 210
-EPSV
-SIZE 210
-RETR 210
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test211 b/Utilities/cmcurl-7.19.0/tests/data/test211
deleted file mode 100644
index b07773b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test211
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-data blobb
-</data>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-Get two FTP files with no remote EPSV support
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/a/path/211 ftp://%HOSTIP:%FTPPORT/a/path/211
-</command>
-<stdout>
-data blobb
-data blobb
-</stdout>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-EPSV
-PASV
-TYPE I
-SIZE 211
-RETR 211
-PASV
-SIZE 211
-RETR 211
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test212 b/Utilities/cmcurl-7.19.0/tests/data/test212
deleted file mode 100644
index 2b3f0f2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test212
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-data blobb
-</data>
-<servercmd>
-REPLY EPRT 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# EPRT is only sent when IPv6 is enabled
-<features>
-ipv6
-</features>
- <name>
-Get two FTP files with no remote EPRT support
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/a/path/212 ftp://%HOSTIP:%FTPPORT/a/path/212 -P -
-</command>
-<stdout>
-data blobb
-data blobb
-</stdout>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip the addresses and port number but leave the rest
-<strippart>
-s/^(EPRT \|1\|)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|/$1/
-s/^(PORT )\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}/$1/
-</strippart>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-EPRT |1|
-PORT
-TYPE I
-SIZE 212
-RETR 212
-PORT
-SIZE 212
-RETR 212
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test213 b/Utilities/cmcurl-7.19.0/tests/data/test213
deleted file mode 100644
index 8e9b44a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test213
+++ /dev/null
@@ -1,118 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP CONNECT
-HTTP proxy
-HTTP proxy NTLM auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-And you should ignore this data.
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-</data1002>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy CONNECT auth NTLM and then POST
- </name>
- <command>
-http://test.remote.server.com:213/path/2130002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol nonewline="yes">
-CONNECT test.remote.server.com:213 HTTP/1.0
-Host: test.remote.server.com:213
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:213 HTTP/1.0
-Host: test.remote.server.com:213
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-Proxy-Connection: Keep-Alive
-
-POST /path/2130002 HTTP/1.1
-User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.server.com:213
-Accept: */*
-Content-Length: 6
-Content-Type: application/x-www-form-urlencoded
-
-postit
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test214 b/Utilities/cmcurl-7.19.0/tests/data/test214
deleted file mode 100644
index b4c2852..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test214
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 6
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP URL with escaped { and }
- </name>
-<command>
-"http://%HOSTIP:%HTTPPORT/\{\}\/214"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /{}\/214 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test215 b/Utilities/cmcurl-7.19.0/tests/data/test215
deleted file mode 100644
index 270b535..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test215
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-Get two FTP dir listings from the same remote dir: no second CWD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/a/path/215/ ftp://%HOSTIP:%FTPPORT/a/path/215/
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-CWD 215
-EPSV
-TYPE A
-LIST
-EPSV
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test216 b/Utilities/cmcurl-7.19.0/tests/data/test216
deleted file mode 100644
index 9b17202..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test216
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP upload two files to the same dir
- </name>
- <command>
--T log/upload.216 ftp://%HOSTIP:%FTPPORT/a/path/216/ -T log/upload.216 ftp://%HOSTIP:%FTPPORT/a/path/216/%2e%2eanotherup
-</command>
-<file name="log/upload.216">
-upload this file twice
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD a
-CWD path
-CWD 216
-EPSV
-TYPE I
-STOR upload.216
-EPSV
-STOR ..anotherup
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test217 b/Utilities/cmcurl-7.19.0/tests/data/test217
deleted file mode 100644
index b597f01..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test217
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-proxytunnel
-followlocation
---write-out
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data nocheck="1">
-HTTP/1.1 405 Method Not Allowed swsclose
-
-And you should ignore this data.
-</data>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP proxy CONNECT to proxy returning 405
- </name>
- <command>
-http://test.remote.server.com:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-CONNECT test.remote.server.com:217 HTTP/1.0
-Host: test.remote.server.com:217
-Proxy-Connection: Keep-Alive
-
-</protocol>
-# CURLE_RECV_ERROR
-<errorcode>
-56
-</errorcode>
-<stdout>
-HTTP/1.1 405 Method Not Allowed swsclose
-
-000 405
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test218 b/Utilities/cmcurl-7.19.0/tests/data/test218
deleted file mode 100644
index 1b9ad59..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test218
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 6
-
-blaha
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT from a file but enforce chunked transfer-encoding
- </name>
- <command>
- -T log/file218 -H "Transfer-Encoding: chunked" http://%HOSTIP:%HTTPPORT/218
-</command>
-<file name="log/file218">
-just some tiny teeny contents
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /218 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Expect: 100-continue
-
-1e
-just some tiny teeny contents
-
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test22 b/Utilities/cmcurl-7.19.0/tests/data/test22
deleted file mode 100644
index e3fa7eb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test22
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-long URL
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Funny-head: yesyes
-Content-Length: 27
-
-This is the proof it works
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-get HTTP with URL > 10000 bytes
- </name>
- <command>
-%HOSTIP:%HTTPPORT/`perl -e "print \"a\" x 10000;"`/22
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET /aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 HTTP/1.1
-User-Agent: curl/7.4.2 (sparc-sun-solaris2.7) libcurl 7.4.2 (SSL 0.9.6)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test220 b/Utilities/cmcurl-7.19.0/tests/data/test220
deleted file mode 100644
index 83e5761..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test220
+++ /dev/null
@@ -1,68 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-compressed
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data base64="yes">
-SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
-dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
-UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
-VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
-U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBnemlwDQpDb250ZW50LUxlbmd0aDogNDQNCg0K
-H4sICHmeq0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAA=
-</data>
-
-<datacheck>
-HTTP/1.1 200 OK
-Date: Mon, 29 Nov 2004 21:56:53 GMT
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
-Vary: Accept-Encoding
-Content-Type: text/html; charset=ISO-8859-1
-Content-Encoding: gzip
-Content-Length: 44
-
-line 1
- line 2
- line 3
-</datacheck>
-
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-libz
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET gzip compressed content
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/220 --compressed
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /220 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Accept-Encoding: deflate, gzip
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test221 b/Utilities/cmcurl-7.19.0/tests/data/test221
deleted file mode 100644
index 0e5e807..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test221
+++ /dev/null
@@ -1,71 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-compressed
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data base64="yes">
-SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
-dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
-UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
-VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
-U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBnemlwDQpDb250ZW50LUxlbmd0aDogNDENCg0K
-CHmeq0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAA=
-</data>
-
-# I removed the first three bytes of the gzip compressed contents
-
-<datacheck>
-HTTP/1.1 200 OK
-Date: Mon, 29 Nov 2004 21:56:53 GMT
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
-Vary: Accept-Encoding
-Content-Type: text/html; charset=ISO-8859-1
-Content-Encoding: gzip
-Content-Length: 41
-
-</datacheck>
-
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-libz
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET gzip compressed content with broken gzip header
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/221 --compressed
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /221 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Accept-Encoding: deflate, gzip
-
-</protocol>
-<errorcode>
-61
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test222 b/Utilities/cmcurl-7.19.0/tests/data/test222
deleted file mode 100644
index b1c2b9d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test222
+++ /dev/null
@@ -1,199 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-compressed
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data base64="yes">
-SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
-dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
-UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
-VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
-U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBkZWZsYXRlDQpDb250ZW50LUxlbmd0aDogMTMw
-NQ0KDQp4nNxY227jNhB9N5B/YP3UArZuthM5cLQoctkEzTbB2gW6TwYt0TYbSRRIyrk89Ns7lCiJ
-sRyvd4O+BEhicuacw+EMSZOZfHpKYrQhXFCWnnVdy+kikoYsounqrHszvev7/mjcd7ufgs7kl4u7
-89m3+0uUcfYPCWU/pkICEE2/TWeXX1B3LWV2attLTsQ6IVhaKZH2AocPJI3sZdLXPNF3rKEVyagL
-oltaQQehyqbaTW9Oo8A9dr2JbRhKRIQlmeMoIoAYj/2+4/c9FznDU8c99cYT2/AbhDxTH1HgOc6w
-7zp910eOd+rBz0BTKsSrOFKckLlYMy6DMOdxHY5hb+OXeRwXcITTCMV00aYWEB0eEaGWOmdJUlJS
-giRjtQDH/BktGUdhTEkq+4JGBP319RZJjlOxhIpaMItGyFDeGQyiAuFyBKVaqXBV3yWNiTjq5EJ1
-1BjiOZX4yUI3Eok8y0BfoOvZ7L5X/J320BW0jzpXRfvi5nzWQ7PL2z8v4fP24neAXd3cXvaK4T/f
-3V9ffoU2DPBIYoiplOpnTMiebubQChl7oEQU2ijPYoYjGAKWWp6QqJl1D2VYiEfGI9WEyNI8WRT2
-6fT2qBMSLumShlBXMP1BOPiYKEOBajzBCMW0IBsZeyScREedxXOVpB6Sa/JmxquyWEed2RqoCMPv
-gqZqMwlIbZ1qlWAGmw55zlEnxukqxysiihhIuqGcpQkMIEBHl9BYGxsqcUzl81yEjJNgdOIPrdHJ
-xN6yb4EzwkOQDAaWe2xgK/MWGubzAHttbCALk17XLMtjzJuxjkdjiGEIy3nb0yJUA7oDy3dfEV6H
-YjjKYJzRK7QRDsfFueFbI2di647pmYcsB13Prbza8ApTDuIPaowxgMgXIuQ0k3BEimCgTofXphIG
-pU/D9Vzt5eCCLHEey4ltGksY1H9eHWAZlD3YeWhWJ6Wt1os9sVusRmzNEvK2ECxgyksVdXjaJkPr
-1gKNply9HC4HYK2kaI3I4sU7XATAWkTRGpEXmh0uAmAtomiNSLiGPUZitjpcqqZowUaikeVZcrgg
-gLWUojUiEVkcLgJgLaJojQgTT4eLAFiLKJpRLxGp8/IHalYSqrppurHMcw5pEyTQ67fqGoXZiB8o
-yUZUxdgIQ0TdHA5XUWgtUxAbnYRyzvjhSiVea2myWdeEBVWtoFl6YgqHHKTgy83M/hudw+kBKaN5
-gm5Lx8SuEBqvvqfknJOY1Jlrmef6/hacWK5nwQXpDfcbbHWvOjl2/FGLWF2w2hx1L9p9cdoFLOdi
-75rMBM5RAhNeMzmXa/iqhpy1TCUS5xJuMqIOqexX3dqgT2CcUhKjqSQpfMOvJrbpbFGgSrvr/u8C
-ryKiimwgW3TOYhLcPaaE17jCVEVqm6FWvWoJqy94ThOaYmnOTnK4IRS1gYLWnZbX8473uQd7ufuc
-ru/v5bp7x4WlsT/qvW73eLjPPd5L9sd7vc5etzv6TtzfCWx/ZIPW2OX9brv8sCYyeDLBQwyuo7VO
-bXxG8jkjZ11OQngdKJt6SdWLssGZG9lRQ+1y7CTqewu4T4aqGDtdO5nG46xF3X64vcWVVKoNBXa4
-s6Nf9W3qt51aJbbeaQ3i7byx4t6G4/8vac5PZ2w4eGfG1Pvq4yfK9QYj9x2ZeoGn2MfP0sBzhifv
-yNI1oUmE44+fqOFwNPDekaiwD0998TN5Miz6rK//KxR0/gMAAP//gjMRo2MAAAAA//8DAN04jtE=
-</data>
-
-<datacheck>
-HTTP/1.1 200 OK
-Date: Mon, 29 Nov 2004 21:56:53 GMT
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
-Vary: Accept-Encoding
-Content-Type: text/html; charset=ISO-8859-1
-Content-Encoding: deflate
-Content-Length: 1305
-
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd">
-<project-listing>
- <project>
- <project_id>1612</project_id>
- <date_added>1998-08-21 04:01:29</date_added>
- <date_updated>2004-10-18 02:22:23</date_updated>
- <projectname_short>curl</projectname_short>
- <projectname_full>curl and libcurl</projectname_full>
- <desc_short>Command line tool and library for client-side URL transfers.</desc_short>
- <desc_full>curl and libcurl is a tool for transferring files
-using URL syntax. It supports HTTP, HTTPS, FTP,
-FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as
-well as HTTP-post, HTTP-put, cookies, FTP upload,
-resumed transfers, passwords, portnumbers, SSL
-certificates, Kerberos, and proxies. It is powered
-by libcurl, the client-side URL transfer library.
-There are bindings to libcurl for over 20
-languages and environments.
-</desc_full>
- <vitality_score>5784.57</vitality_score>
- <vitality_percent>3.16</vitality_percent>
- <vitality_rank>169</vitality_rank>
- <popularity_score>6594.54</popularity_score>
- <popularity_percent>13.81</popularity_percent>
- <popularity_rank>105</popularity_rank>
- <rating>8.50</rating>
- <rating_count>21</rating_count>
- <rating_rank>183</rating_rank>
- <subscriptions>323</subscriptions>
- <branch_name>Default</branch_name>
- <url_project_page>http://freshmeat.net/projects/curl/</url_project_page>
- <url_homepage>http://freshmeat.net/redir/curl/1612/url_homepage/</url_homepage>
- <url_tgz>http://freshmeat.net/redir/curl/1612/url_tgz/</url_tgz>
- <url_bz2>http://freshmeat.net/redir/curl/1612/url_bz2/</url_bz2>
- <url_zip>http://freshmeat.net/redir/curl/1612/url_zip/</url_zip>
- <url_changelog>http://freshmeat.net/redir/curl/1612/url_changelog/</url_changelog>
- <url_rpm>http://freshmeat.net/redir/curl/1612/url_rpm/</url_rpm>
- <url_deb>http://freshmeat.net/redir/curl/1612/url_deb/</url_deb>
- <url_osx>http://freshmeat.net/redir/curl/1612/url_osx/</url_osx>
- <url_bsdport>http://freshmeat.net/redir/curl/1612/url_bsdport/</url_bsdport>
- <url_purchase></url_purchase>
- <url_cvs>http://freshmeat.net/redir/curl/1612/url_cvs/</url_cvs>
- <url_list>http://freshmeat.net/redir/curl/1612/url_list/</url_list>
- <url_mirror>http://freshmeat.net/redir/curl/1612/url_mirror/</url_mirror>
- <url_demo></url_demo>
- <license>MIT/X Consortium License</license>
- <latest_release>
- <latest_release_version>7.12.2</latest_release_version>
- <latest_release_id>176085</latest_release_id>
- <latest_release_date>2004-10-18 02:22:23</latest_release_date>
- </latest_release>
- <screenshot_thumb></screenshot_thumb>
- <authors>
- <author>
- <author_name>Daniel Stenberg</author_name>
- <author_url>http://freshmeat.net/~bagder/</author_url>
- <author_role>Owner</author_role>
- </author>
- </authors>
- <descriminators>
- <trove_id>12</trove_id>
- <trove_id>226</trove_id>
- <trove_id>3</trove_id>
- <trove_id>2</trove_id>
- <trove_id>188</trove_id>
- <trove_id>216</trove_id>
- <trove_id>200</trove_id>
- <trove_id>220</trove_id>
- <trove_id>164</trove_id>
- <trove_id>90</trove_id>
- <trove_id>89</trove_id>
- <trove_id>809</trove_id>
- <trove_id>150</trove_id>
- <trove_id>224</trove_id>
- <trove_id>900</trove_id>
- <trove_id>839</trove_id>
- </descriminators>
- <dependencies>
- <dependency type="recommended">
- <dependency_release_id>0</dependency_release_id>
- <dependency_branch_id>7464</dependency_branch_id>
- <dependency_project_id>7464</dependency_project_id>
- <dependency_project_title>OpenSSL (Default)</dependency_project_title>
- </dependency>
- <dependency type="optional">
- <dependency_release_id>0</dependency_release_id>
- <dependency_branch_id>0</dependency_branch_id>
- <dependency_project_id>7443</dependency_project_id>
- <dependency_project_title>OpenLDAP</dependency_project_title>
- </dependency>
- <dependency type="optional">
- <dependency_release_id>0</dependency_release_id>
- <dependency_branch_id>0</dependency_branch_id>
- <dependency_project_id>12351</dependency_project_id>
- <dependency_project_title>zlib</dependency_project_title>
- </dependency>
- <dependency type="optional">
- <dependency_release_id>0</dependency_release_id>
- <dependency_branch_id>0</dependency_branch_id>
- <dependency_project_id>32047</dependency_project_id>
- <dependency_project_title>Heimdal</dependency_project_title>
- </dependency>
- <dependency type="optional">
- <dependency_release_id>0</dependency_release_id>
- <dependency_branch_id>0</dependency_branch_id>
- <dependency_project_id>44532</dependency_project_id>
- <dependency_project_title>c-ares</dependency_project_title>
- </dependency>
- </dependencies>
- </project>
-</project-listing>
-</datacheck>
-
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-libz
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET deflate compressed content
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/222 --compressed
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /222 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Accept-Encoding: deflate, gzip
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test223 b/Utilities/cmcurl-7.19.0/tests/data/test223
deleted file mode 100644
index ceed44a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test223
+++ /dev/null
@@ -1,92 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-compressed
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# this deflate chunk has three bytes removed from the beginning
-<data base64="yes">
-SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
-dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
-UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
-VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
-U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBkZWZsYXRlDQpDb250ZW50LUxlbmd0aDogMTMw
-NQ0KDQpY227jNhB9N5B/YP3UArZuthM5cLQoctkEzTbB2gW6TwYt0TYbSRRIyrk89Ns7lCiJsRyv
-d4O+BEhicuacw+EMSZOZfHpKYrQhXFCWnnVdy+kikoYsounqrHszvev7/mjcd7ufgs7kl4u789m3
-+0uUcfYPCWU/pkICEE2/TWeXX1B3LWV2attLTsQ6IVhaKZH2AocPJI3sZdLXPNF3rKEVyagLolta
-QQehyqbaTW9Oo8A9dr2JbRhKRIQlmeMoIoAYj/2+4/c9FznDU8c99cYT2/AbhDxTH1HgOc6w7zp9
-10eOd+rBz0BTKsSrOFKckLlYMy6DMOdxHY5hb+OXeRwXcITTCMV00aYWEB0eEaGWOmdJUlJSgiRj
-tQDH/BktGUdhTEkq+4JGBP319RZJjlOxhIpaMItGyFDeGQyiAuFyBKVaqXBV3yWNiTjq5EJ11Bji
-OZX4yUI3Eok8y0BfoOvZ7L5X/J320BW0jzpXRfvi5nzWQ7PL2z8v4fP24neAXd3cXvaK4T/f3V9f
-foU2DPBIYoiplOpnTMiebubQChl7oEQU2ijPYoYjGAKWWp6QqJl1D2VYiEfGI9WEyNI8WRT26fT2
-qBMSLumShlBXMP1BOPiYKEOBajzBCMW0IBsZeyScREedxXOVpB6Sa/JmxquyWEed2RqoCMPvgqZq
-MwlIbZ1qlWAGmw55zlEnxukqxysiihhIuqGcpQkMIEBHl9BYGxsqcUzl81yEjJNgdOIPrdHJxN6y
-b4EzwkOQDAaWe2xgK/MWGubzAHttbCALk17XLMtjzJuxjkdjiGEIy3nb0yJUA7oDy3dfEV6HYjjK
-YJzRK7QRDsfFueFbI2di647pmYcsB13Prbza8ApTDuIPaowxgMgXIuQ0k3BEimCgTofXphIGpU/D
-9Vzt5eCCLHEey4ltGksY1H9eHWAZlD3YeWhWJ6Wt1os9sVusRmzNEvK2ECxgyksVdXjaJkPr1gKN
-ply9HC4HYK2kaI3I4sU7XATAWkTRGpEXmh0uAmAtomiNSLiGPUZitjpcqqZowUaikeVZcrgggLWU
-ojUiEVkcLgJgLaJojQgTT4eLAFiLKJpRLxGp8/IHalYSqrppurHMcw5pEyTQ67fqGoXZiB8oyUZU
-xdgIQ0TdHA5XUWgtUxAbnYRyzvjhSiVea2myWdeEBVWtoFl6YgqHHKTgy83M/hudw+kBKaN5gm5L
-x8SuEBqvvqfknJOY1Jlrmef6/hacWK5nwQXpDfcbbHWvOjl2/FGLWF2w2hx1L9p9cdoFLOdi75rM
-BM5RAhNeMzmXa/iqhpy1TCUS5xJuMqIOqexX3dqgT2CcUhKjqSQpfMOvJrbpbFGgSrvr/u8CryKi
-imwgW3TOYhLcPaaE17jCVEVqm6FWvWoJqy94ThOaYmnOTnK4IRS1gYLWnZbX8473uQd7ufucru/v
-5bp7x4WlsT/qvW73eLjPPd5L9sd7vc5etzv6TtzfCWx/ZIPW2OX9brv8sCYyeDLBQwyuo7VObXxG
-8jkjZ11OQngdKJt6SdWLssGZG9lRQ+1y7CTqewu4T4aqGDtdO5nG46xF3X64vcWVVKoNBXa4s6Nf
-9W3qt51aJbbeaQ3i7byx4t6G4/8vac5PZ2w4eGfG1Pvq4yfK9QYj9x2ZeoGn2MfP0sBzhifvyNI1
-oUmE44+fqOFwNPDekaiwD0998TN5Miz6rK//KxR0/gMAAP//gjMRo2MAAAAA//8DAN04jtE=
-</data>
-
-<datacheck>
-HTTP/1.1 200 OK
-Date: Mon, 29 Nov 2004 21:56:53 GMT
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
-Vary: Accept-Encoding
-Content-Type: text/html; charset=ISO-8859-1
-Content-Encoding: deflate
-Content-Length: 1305
-
-</datacheck>
-
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-libz
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET deflate compressed content with broken deflate header
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/223 --compressed
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /223 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Accept-Encoding: deflate, gzip
-
-</protocol>
-<errorcode>
-61
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test224 b/Utilities/cmcurl-7.19.0/tests/data/test224
deleted file mode 100644
index 5cd068d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test224
+++ /dev/null
@@ -1,104 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-compressed
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data base64="yes">
-SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
-dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
-UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
-VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
-U08tODg1OS0xDQpDb250ZW50LUVuY29kaW5nOiBnemlwDQpDb250ZW50LUxlbmd0aDogMjE4Ng0K
-DQofiwgcv7yrQQIDMAB0aGlzIGlzIGFuIGV4dHJhIGZpZWxkIHRoYXQgbXVzdCBiZSByZW1vdmVk
-X19fX19sb25nLWZpbGVuYW1lLXh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
-eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4AHRoaXMgaXMgYSBj
-b21tZW50IHRoYXQgbXVzdCBiZSBza2lwcGVkACvNS87PLShKLS5OTVFIr8osUEhJLElUKM8syVDI
-yc9Lh4hlpCampBZxAQC4UJ7LLQAAAA==
-</data>
-
-<datacheck>
-HTTP/1.1 200 OK
-Date: Mon, 29 Nov 2004 21:56:53 GMT
-Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
-Vary: Accept-Encoding
-Content-Type: text/html; charset=ISO-8859-1
-Content-Encoding: gzip
-Content-Length: 2186
-
-uncompressed gzip data with long gzip header
-</datacheck>
-
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-libz
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET gzip compressed content with huge comment and extra field
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/224 --compressed
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /224 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Accept-Encoding: deflate, gzip
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test225 b/Utilities/cmcurl-7.19.0/tests/data/test225
deleted file mode 100644
index fe39db9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test225
+++ /dev/null
@@ -1,29 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-compressed
-</keywords>
-</info>
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP %0a-code in URL's name part
- </name>
- <command>
-ftp://bad%0auser:passwd@%HOSTIP:%FTPPORT/225%0a
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# 3 == CURLE_URL_MALFORMAT
-<errorcode>
-3
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test226 b/Utilities/cmcurl-7.19.0/tests/data/test226
deleted file mode 100644
index 727e153..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test226
+++ /dev/null
@@ -1,29 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-compressed
-</keywords>
-</info>
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP %0d-code in URL's CWD part
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/226%0d
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# 3 == CURLE_URL_MALFORMAT
-<errorcode>
-3
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test227 b/Utilities/cmcurl-7.19.0/tests/data/test227
deleted file mode 100644
index 9fa2689..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test227
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-post-quote
-pre-quote
-quote
-compressed
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-REPLY EPSV 500 no such command
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP with quote ops
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-NOOP 1
-EPSV
-PASV
-TYPE I
-NOOP 2
-SIZE 227
-RETR 227
-NOOP 3
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test228 b/Utilities/cmcurl-7.19.0/tests/data/test228
deleted file mode 100644
index 418668a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test228
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-ACCT
-compressed
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-REPLY PASS 332 please provide account name
-REPLY ACCT 230 thank you
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR with ACCT
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/228 --ftp-account "one count"
-</command>
-</client>
-
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-ACCT one count
-PWD
-EPSV
-TYPE I
-SIZE 228
-RETR 228
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test229 b/Utilities/cmcurl-7.19.0/tests/data/test229
deleted file mode 100644
index af95956..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test229
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-ACCT
-FAILURE
-compressed
-</keywords>
-</info>
-# Server-side
-<reply>
-<servercmd>
-REPLY PASS 332 please provide account name
-REPLY ACCT 532 bluah!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR with bad ACCT
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/229 --ftp-account "one count"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-ACCT one count
-</protocol>
-<errorcode>
-11
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test23 b/Utilities/cmcurl-7.19.0/tests/data/test23
deleted file mode 100644
index 46872e8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test23
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-unsupported protocol
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-unsupported protocol:// URL
- </name>
- <command>
-htfp://%HOSTIP:%HTTPPORT/none.htfml
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-1
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test231 b/Utilities/cmcurl-7.19.0/tests/data/test231
deleted file mode 100644
index 912ea41..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test231
+++ /dev/null
@@ -1,32 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-# 16 bytes to check
-<datacheck>
-B01234567
-C01234567
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-file
-</server>
- <name>
-file:// with resume
- </name>
- <command>
-file://localhost/%PWD/log/test231.txt -C 10-
-</command>
-<file name="log/test231.txt">
-A01234567
-B01234567
-C01234567
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test233 b/Utilities/cmcurl-7.19.0/tests/data/test233
deleted file mode 100644
index d9161ae..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test233
+++ /dev/null
@@ -1,96 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP proxy
-HTTP Basic auth
-HTTP proxy Basic auth
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Location: http://goto.second.host.now/2330002
-Content-Length: 8
-Connection: close
-
-contents
-</data>
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</data2>
-
-<datacheck>
-HTTP/1.1 302 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Location: http://goto.second.host.now/2330002
-Content-Length: 8
-Connection: close
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, proxy, site+proxy auth and Location: to new host
- </name>
- <command>
-http://first.host.it.is/we/want/that/page/233 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://first.host.it.is/we/want/that/page/233 HTTP/1.1
-Proxy-Authorization: Basic dGVzdGluZzp0aGlz
-Authorization: Basic aWFtOm15c2VsZg==
-Host: first.host.it.is
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://goto.second.host.now/2330002 HTTP/1.1
-Proxy-Authorization: Basic dGVzdGluZzp0aGlz
-Host: goto.second.host.now
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test234 b/Utilities/cmcurl-7.19.0/tests/data/test234
deleted file mode 100644
index c6741a0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test234
+++ /dev/null
@@ -1,88 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Location: http://goto.second.host.now/2340002
-Content-Length: 8
-Connection: close
-
-contents
-</data>
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</data2>
-
-<datacheck>
-HTTP/1.1 302 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Location: http://goto.second.host.now/2340002
-Content-Length: 8
-Connection: close
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, proxy, site+proxy auth and Location: to new host using location-trusted
- </name>
- <command>
-http://first.host.it.is/we/want/that/page/234 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location-trusted
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://first.host.it.is/we/want/that/page/234 HTTP/1.1
-Proxy-Authorization: Basic dGVzdGluZzp0aGlz
-Authorization: Basic aWFtOm15c2VsZg==
-Host: first.host.it.is
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://goto.second.host.now/2340002 HTTP/1.1
-Proxy-Authorization: Basic dGVzdGluZzp0aGlz
-Authorization: Basic aWFtOm15c2VsZg==
-Host: goto.second.host.now
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test235 b/Utilities/cmcurl-7.19.0/tests/data/test235
deleted file mode 100644
index a31cef1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test235
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP resumed upload but no file present remotely
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/235 -T log/upload235 -C -
-</command>
-<file name="log/upload235">
-this is the *****crap******** that we're gonna upload
-
-worx?
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 235
-STOR 235
-QUIT
-</protocol>
-<upload>
-this is the *****crap******** that we're gonna upload
-
-worx?
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test236 b/Utilities/cmcurl-7.19.0/tests/data/test236
deleted file mode 100644
index 139b569..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test236
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-
-# Server-side
-<reply>
-<servercmd>
-REPLY SIZE 550 access to this file is very much denied
-REPLY APPE 550 I said: access to this file is very much denied
-REPLY STOR 550 I said: access to this file is very much denied
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP resume upload but denied access to remote file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/236 -T log/file236.txt -C -
-</command>
-<file name="log/file236.txt">
-Test data
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 236
-STOR 236
-QUIT
-</protocol>
-
-# (25) Failed FTP upload: 550
-<errorcode>
-25
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test237 b/Utilities/cmcurl-7.19.0/tests/data/test237
deleted file mode 100644
index b51480d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test237
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-REPLY PASV 227 Entering Passiv Mode (1216,256,2,127,127,127)
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP getting bad host in 227-response to PASV
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/237 --disable-epsv
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-# The bogus address used here is chosen specifically so that when processed on
-# certain hosts with buggy resolver code, the resulting address (192.0.2.127)
-# is from an address block that is guaranteed never to be assigned (RFC3330).
-<verify>
-# curl: (15) Can't resolve new host 1216.256.2.127:32639
-# 15 => CURLE_FTP_CANT_GET_HOST
-# some systems just don't fail on the illegal host name/address but instead
-# moves on and attempt to connect to... yes, to what?
-# 7= CURLE_COULDNT_CONNECT
-<errorcode>
-15, 7
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-PASV
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test238 b/Utilities/cmcurl-7.19.0/tests/data/test238
deleted file mode 100644
index 628d4e8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test238
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<servercmd>
-REPLY EPSV 229 Entering Passiv Mode (|||1000000|)
-REPLY PASV 227 Entering Passiv Mode (1216,256,2,127,127,127)
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP getting bad port in response to EPSV and in response to PASV
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/238
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# curl: (15) Can't resolve new host 1216.256.2.127:32639
-# 15 => CURLE_FTP_CANT_GET_HOST
-# some systems just don't fail on the illegal host name/address but instead
-# moves on and attempt to connect to... yes, to what?
-# 7= CURLE_COULDNT_CONNECT
-<errorcode>
-7, 15
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-PASV
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test239 b/Utilities/cmcurl-7.19.0/tests/data/test239
deleted file mode 100644
index 14b005c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test239
+++ /dev/null
@@ -1,89 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-Hey you, authenticate or go away!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy-auth NTLM and then POST
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/239 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm -d "postit"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol nonewline="yes">
-POST http://%HOSTIP:%HTTPPORT/239 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST http://%HOSTIP:%HTTPPORT/239 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 6
-Content-Type: application/x-www-form-urlencoded
-
-postit
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test24 b/Utilities/cmcurl-7.19.0/tests/data/test24
deleted file mode 100644
index 00bed4e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test24
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.0 404 BAD BOY
-Content-Type: text/html
-
-This silly page doesn't reaaaaaly exist so you should not get it.
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET fail silently on HTTP error return
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/24 --fail
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET /24 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<errorcode>
-22
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test240 b/Utilities/cmcurl-7.19.0/tests/data/test240
deleted file mode 100644
index 2c28a89..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test240
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IPv6
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-http-ipv6
-</server>
- <name>
-HTTP-IPv6 GET
- </name>
- <command>
--g "http://%HOST6IP:%HTTP6PORT/240"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:
-</strip>
-<protocol>
-GET /240 HTTP/1.1
-Host: %HOST6IP:%HTTP6PORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test241 b/Utilities/cmcurl-7.19.0/tests/data/test241
deleted file mode 100644
index 9e98e6a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test241
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IPv6
-IPv6-hostname
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 6
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-http-ipv6
-</server>
- <name>
-HTTP-IPv6 GET (using ip6-localhost)
- </name>
- <command>
--g "http://ip6-localhost:%HTTP6PORT/241"
-</command>
-<precheck>
-./server/resolve --ipv6 ip6-localhost
-</precheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:
-</strip>
-<protocol>
-GET /241 HTTP/1.1
-Host: ip6-localhost:%HTTP6PORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test242 b/Utilities/cmcurl-7.19.0/tests/data/test242
deleted file mode 100644
index 85ec70e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test242
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IPv6
-HTTP Basic auth
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 6
-Connection: close
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-http-ipv6
-</server>
- <name>
-HTTP-IPv6 GET with username+password in URL
- </name>
- <command>
--g "http://foobar:barfoo@%HOST6IP:%HTTP6PORT/242"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:
-</strip>
-<protocol>
-GET /242 HTTP/1.1
-Authorization: Basic Zm9vYmFyOmJhcmZvbw==
-Host: %HOST6IP:%HTTP6PORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test243 b/Utilities/cmcurl-7.19.0/tests/data/test243
deleted file mode 100644
index 65f07c1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test243
+++ /dev/null
@@ -1,126 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---proxy-anyauth
-HTTP proxy NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-Hey you, authenticate or go away!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP POST with --proxy-anyauth, picking NTLM
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/243 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-anyauth -d "postit"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol nonewline="yes">
-POST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 6
-Content-Type: application/x-www-form-urlencoded
-
-postitPOST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 6
-Content-Type: application/x-www-form-urlencoded
-
-postit
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test245 b/Utilities/cmcurl-7.19.0/tests/data/test245
deleted file mode 100644
index 102d8c9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test245
+++ /dev/null
@@ -1,87 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-</data>
-<data1000>
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP POST --digest
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/245 -u auser:apasswd --digest -d "junkelijunk"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /245 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST /245 HTTP/1.1
-Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/245", response="379a439b1737ba257c1d2f103914b18b"
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 11
-Content-Type: application/x-www-form-urlencoded
-
-junkelijunk
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test246 b/Utilities/cmcurl-7.19.0/tests/data/test246
deleted file mode 100644
index 57f47e4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test246
+++ /dev/null
@@ -1,97 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 100 Continue
-Server: Microsoft-IIS/5.0
-Date: Sun, 03 Apr 2005 14:57:45 GMT
-X-Powered-By: ASP.NET
-
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-</data>
-<data1000>
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data1000>
-
-<datacheck>
-HTTP/1.1 100 Continue
-Server: Microsoft-IIS/5.0
-Date: Sun, 03 Apr 2005 14:57:45 GMT
-X-Powered-By: ASP.NET
-
-HTTP/1.1 401 authentication please swsbounce
-Server: Microsoft-IIS/6.0
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-#
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP POST --digest with server doing a 100 before 401 response
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/246 -u auser:apasswd --digest -d "junkelijunk"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /246 HTTP/1.1
-User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST /246 HTTP/1.1
-Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/246", response="761e6fc9a760c39d587092e8d840e740"
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 11
-Content-Type: application/x-www-form-urlencoded
-
-junkelijunk
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test247 b/Utilities/cmcurl-7.19.0/tests/data/test247
deleted file mode 100644
index 377b5b8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test247
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-<reply>
-<mdtm>
-213 20030409102659
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP upload time condition evaluates TRUE => skip upload
- </name>
-<file name="log/test247.txt">
-data
- to
- see
-that FTP
-works
- so does it?
-</file>
- <command>
-ftp://%HOSTIP:%FTPPORT/247 -T log/test247.txt -z "apr 1 2005 08:00:00"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-MDTM 247
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test248 b/Utilities/cmcurl-7.19.0/tests/data/test248
deleted file mode 100644
index f6c835f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test248
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<reply>
-<mdtm>
-213 20050409102659
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP upload time condition evaluates FALSE => upload anyway
- </name>
-<file name="log/test248.txt">
-data
- to
- see
-that FTP
-works
- so does it?
-</file>
- <command>
-ftp://%HOSTIP:%FTPPORT/248 -T log/test248.txt -z "apr 1 2005 08:00:00"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-data
- to
- see
-that FTP
-works
- so does it?
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-MDTM 248
-EPSV
-TYPE I
-STOR 248
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test249 b/Utilities/cmcurl-7.19.0/tests/data/test249
deleted file mode 100644
index 842f50e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test249
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 304 Not Modified swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 1910 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 677777
-Connection: close
-Content-Type: text/html
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP 304 response with "illegal" Content-Length: header
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/249 -z "dec 12 12:00:00 1999 GMT"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /249 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test25 b/Utilities/cmcurl-7.19.0/tests/data/test25
deleted file mode 100644
index 3c8d1f7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test25
+++ /dev/null
@@ -1,116 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
---max-redirs
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-Redirect to the same URL again!
-</data>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-HTTP/1.1 301 This is a weirdo text message
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 32
-Connection: close
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-looping HTTP Location: following with --max-redirs
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/25 -L --max-redirs 5
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET /want/25 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data/reply/25 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data/reply/data/reply/25 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data/reply/data/reply/data/reply/25 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data/reply/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-<errorcode>
-47
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test250 b/Utilities/cmcurl-7.19.0/tests/data/test250
deleted file mode 100644
index 11ff6bd..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test250
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-<servercmd>
-SLOWDOWN
-</servercmd>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list PASV with slow response
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test251 b/Utilities/cmcurl-7.19.0/tests/data/test251
deleted file mode 100644
index 333397c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test251
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-<servercmd>
-SLOWDOWN
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP dir list, PORT with specified IP and slow response
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/ -P %HOSTIP
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-PORT 127,0,0,1,243,212
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test252 b/Utilities/cmcurl-7.19.0/tests/data/test252
deleted file mode 100644
index 44e541a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test252
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP-ipv6
-IPv6
-EPSV
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-ftp-ipv6
-</server>
- <name>
-FTP IPv6 dir list PASV
- </name>
- <command>
--g "ftp://%HOST6IP:%FTP6PORT/"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test253 b/Utilities/cmcurl-7.19.0/tests/data/test253
deleted file mode 100644
index f2f55f9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test253
+++ /dev/null
@@ -1,62 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP-ipv6
-IPv6
-EPRT
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-ftp-ipv6
-</server>
- <name>
-FTP IPv6 dir list with EPRT
- </name>
- <command>
--g "ftp://%HOST6IP:%FTP6PORT/" -P -
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strippart>
-s/^(EPRT \|2\|::1\|)(.*)/$1/
-</strippart>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPRT |2|::1|
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test254 b/Utilities/cmcurl-7.19.0/tests/data/test254
deleted file mode 100644
index aa684f0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test254
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP-ipv6
-IPv6
-EPSV
---disable-epsv
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-ftp-ipv6
-</server>
- <name>
-FTP IPv6 dir list PASV and --disable-epsv
- </name>
- <command>
--g "ftp://%HOST6IP:%FTP6PORT/" --disable-epsv
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test255 b/Utilities/cmcurl-7.19.0/tests/data/test255
deleted file mode 100644
index 99cd123..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test255
+++ /dev/null
@@ -1,63 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP-ipv6
-IPv6
-EPRT
---disable-eprt
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-ftp-ipv6
-</server>
- <name>
-FTP IPv6 dir list with EPRT and --disable-eprt
- </name>
- <command>
--g "ftp://%HOST6IP:%FTP6PORT/" -P - --disable-eprt
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strippart>
-s/^(EPRT \|2\|::1\|)(.*)/$1/
-</strippart>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPRT |2|::1|
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test256 b/Utilities/cmcurl-7.19.0/tests/data/test256
deleted file mode 100644
index 2298fae..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test256
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-Resume
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.0 200 Mooo
-Date: Mon, 13 Nov 2000 13:41:09 GMT
-Server: myown/1.0
-Connection: close
-
-todelooooo lalalala yada yada, we know nothing about ranges ;-)
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP resume request over proxy with auth without server supporting it
- </name>
- <command option="no-output">
--x http://%HOSTIP:%HTTPPORT http://%HOSTIP:%HTTPPORT/want/256 -C - --no-include -o log/fewl.txt -U daniel:stenberg
-</command>
-<file name="log/fewl.txt">
-This text is here to simulate a partly downloaded file to resume
-download on.
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-33
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/want/256 HTTP/1.1
-Proxy-Authorization: Basic ZGFuaWVsOnN0ZW5iZXJn
-Range: bytes=78-
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-
-# the download target file must remain untouched
-<file name="log/fewl.txt">
-This text is here to simulate a partly downloaded file to resume
-download on.
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test257 b/Utilities/cmcurl-7.19.0/tests/data/test257
deleted file mode 100644
index c76142c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test257
+++ /dev/null
@@ -1,115 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-netrc
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: http://anotherone.com/2570002
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 302 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: http://athird.com/2570003
-
-If this is received, the location following worked
-
-</data2>
-<data3>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data3>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: http://anotherone.com/2570002
-Connection: close
-
-HTTP/1.1 302 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: http://athird.com/2570003
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<features>
-netrc_debug
-</features>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with --netrc-optional
- </name>
- <command>
-http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional
-</command>
-
-# netrc auth for two out of three sites:
-<file name="log/netrc">
-machine supersite.com login user1 password passwd1
-machine anotherone.com login user2 password passwd2
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://supersite.com/want/257 HTTP/1.1
-Authorization: Basic dXNlcjE6cGFzc3dkMQ==
-User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: supersite.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://anotherone.com/2570002 HTTP/1.1
-Authorization: Basic dXNlcjI6cGFzc3dkMg==
-User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: anotherone.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://athird.com/2570003 HTTP/1.1
-User-Agent: curl/7.14.0-CVS (i686-pc-linux-gnu) libcurl/7.14.0-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: athird.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test258 b/Utilities/cmcurl-7.19.0/tests/data/test258
deleted file mode 100644
index 78294ff..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test258
+++ /dev/null
@@ -1,136 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-HTTP replaced headers
-HTTP proxy
-HTTP proxy Digest auth
---proxy-anyauth
-</keywords>
-
-</info>
-# Server-side
-<reply>
-# The stupid test server doesn't response anything at all until the full
-# request has been sent, and then of course the full POST has already been
-# sent!
-<data>
-HTTP/1.1 407 no, tell me who you are first swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Proxy-Authenticate: Digest realm="many secrets", nonce="911"
-Proxy-Connection: close
-Content-Length: 0
-
-</data>
-<data1000>
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data1000>
-<datacheck>
-HTTP/1.1 407 no, tell me who you are first swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Proxy-Authenticate: Digest realm="many secrets", nonce="911"
-Proxy-Connection: close
-Content-Length: 0
-
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP POST multipart without Expect: header using proxy anyauth (Digest)
- </name>
- <command>
--x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth
-</command>
-# We create this file before the command is invoked!
-<file name="log/test258.txt">
-foo-
-This is a moo-
-bar
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------).*
-</strip>
-<protocol>
-POST http://remotehost:54321/we/want/258 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: remotehost:54321
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 409
-Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
-
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="file"; filename="test258.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------7c633d5c27ce--
-POST http://remotehost:54321/we/want/258 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/258", response="2501654ca391f0b5c8c12a1da77e34cd"
-Host: remotehost:54321
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 409
-Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
-
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="file"; filename="test258.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------7c633d5c27ce--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test259 b/Utilities/cmcurl-7.19.0/tests/data/test259
deleted file mode 100644
index 7d68a44..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test259
+++ /dev/null
@@ -1,134 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-HTTP proxy
-HTTP proxy Digest auth
---proxy-anyauth
-</keywords>
-</info>
-# Server-side
-<reply>
-# The stupid test server doesn't response anything at all until the full
-# request has been sent, and then of course the full POST has already been
-# sent!
-<data>
-HTTP/1.1 407 no, tell me who you are first
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Proxy-Authenticate: Digest realm="many secrets", nonce="911"
-Content-Length: 0
-
-</data>
-<data1000>
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</data1000>
-<datacheck>
-HTTP/1.1 407 no, tell me who you are first
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Proxy-Authenticate: Digest realm="many secrets", nonce="911"
-Content-Length: 0
-
-HTTP/1.1 200 A OK
-Server: Microsoft-IIS/6.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 3
-
-ok
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP POST multipart with Expect: header using proxy anyauth (Digest)
- </name>
- <command>
--x http://%HOSTIP:%HTTPPORT http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth
-</command>
-# We create this file before the command is invoked!
-<file name="log/test259.txt">
-foo-
-This is a moo-
-bar
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------).*
-</strip>
-<protocol>
-POST http://remotehost:54321/we/want/259 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: remotehost:54321
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 409
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
-
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="file"; filename="test259.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------7c633d5c27ce--
-POST http://remotehost:54321/we/want/259 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/259", response="b479994d13e60f3aa192a67c5892ddc5"
-Host: remotehost:54321
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 409
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
-
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="file"; filename="test259.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------7c633d5c27ce--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test26 b/Utilities/cmcurl-7.19.0/tests/data/test26
deleted file mode 100644
index c93bd9c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test26
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 Mooo swsclose
-Server: test-server/fake
-Connection: close
-
-*flopp*
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-specify more -o than URLs
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/26 -o - -o -
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl.*
-</strip>
-<protocol>
-GET /want/26 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test260 b/Utilities/cmcurl-7.19.0/tests/data/test260
deleted file mode 100644
index 24683b9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test260
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET URL without slash but with questionmark
- </name>
- <command>
-"http://%HOSTIP:%HTTPPORT?260"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /?260 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test261 b/Utilities/cmcurl-7.19.0/tests/data/test261
deleted file mode 100644
index b7120f5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test261
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-EPSV
-RETR
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-hepp
-</data>
-<servercmd>
-REPLY TYPE 226 Kind of on the positive side!
-</servercmd>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR with 226 response code to TYPE
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/261
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 261
-RETR 261
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test262 b/Utilities/cmcurl-7.19.0/tests/data/test262
deleted file mode 100644
index 43985cf..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test262
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test263 b/Utilities/cmcurl-7.19.0/tests/data/test263
deleted file mode 100644
index eb53b0c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test263
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-IPv6
-HTTP proxy
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 6
-Content-Type: text/html
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-ipv6
-</features>
-<server>
-http-ipv6
-</server>
- <name>
-HTTP-IPv6 GET with proxy specified using IPv6-numerical address
- </name>
- <command>
--g -x "http://%HOST6IP:%HTTP6PORT" http://veryveryremotesite.com/263
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:
-</strip>
-<protocol>
-GET http://veryveryremotesite.com/263 HTTP/1.1
-Host: veryveryremotesite.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test264 b/Utilities/cmcurl-7.19.0/tests/data/test264
deleted file mode 100644
index 271be28..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test264
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Basic auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Type: text/html
-Content-Length: 26
-
-the content would go here
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with proxy string including http:// and user+password
- </name>
- <command>
-http://we.want.that.site.com/264 -x http://f%61ke:user@%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://we.want.that.site.com/264 HTTP/1.1
-Proxy-Authorization: Basic ZmFrZTp1c2Vy
-Host: we.want.that.site.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test265 b/Utilities/cmcurl-7.19.0/tests/data/test265
deleted file mode 100644
index 7d1dc37..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test265
+++ /dev/null
@@ -1,121 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP CONNECT
-HTTP proxy
-HTTP proxy NTLM auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.0 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 1033
-
-And you should ignore this data.
-QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQz
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-</data1002>
-
-# this is returned when we get a GET!
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</data2>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK swsbounce
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.0 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 1033
-
-HTTP/1.1 200 Things are fine in proxy land
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 7
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-daniel
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407
- </name>
- <command>
-http://test.remote.server.com:265/path/2650002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-ntlm --proxytunnel -d "postit"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol nonewline="yes">
-CONNECT test.remote.server.com:265 HTTP/1.0
-Host: test.remote.server.com:265
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-Proxy-Connection: Keep-Alive
-
-CONNECT test.remote.server.com:265 HTTP/1.0
-Host: test.remote.server.com:265
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-Proxy-Connection: Keep-Alive
-
-POST /path/2650002 HTTP/1.1
-User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4
-Host: test.remote.server.com:265
-Accept: */*
-Content-Length: 6
-Content-Type: application/x-www-form-urlencoded
-
-postit
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test266 b/Utilities/cmcurl-7.19.0/tests/data/test266
deleted file mode 100644
index 39103b6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test266
+++ /dev/null
@@ -1,78 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-chunked Transfer-Encoding
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Trailer: chunky-trailer
-Connection: mooo
-
-40
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-30
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
-21;heresatest=moooo
-cccccccccccccccccccccccccccccccc
-
-0
-chunky-trailer: header data
-
-</data>
-<datacheck>
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Trailer: chunky-trailer
-Connection: mooo
-
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with chunked Transfer-Encoding and chunked trailer
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/266 -D log/heads266
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /266 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<file name="log/heads266">
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Trailer: chunky-trailer
-Connection: mooo
-
-chunky-trailer: header data
-</file>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test267 b/Utilities/cmcurl-7.19.0/tests/data/test267
deleted file mode 100644
index 52a2254..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test267
+++ /dev/null
@@ -1,105 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<!-- no <data> in this test since we have NTLM from the start
-
-This is supposed to be returned when the server gets a first
-Authorization: NTLM line passed-in from the client -->
-
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP POST with NTLM authorization and added custom headers
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol nonewline="yes">
-POST /267 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Header1: yes
-Header2: no
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST /267 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Header1: yes
-Header2: no
-Content-Length: 4
-Content-Type: application/x-www-form-urlencoded
-
-data
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test268 b/Utilities/cmcurl-7.19.0/tests/data/test268
deleted file mode 100644
index 998664c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test268
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 0
-
-this is data even though Content-Length is set to zero
-</data>
-<datacheck>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 0
-
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST a non-existing file
- </name>
- <command>
- -d @nonesuchfile http://%HOSTIP:%HTTPPORT/268
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-POST /268 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test269 b/Utilities/cmcurl-7.19.0/tests/data/test269
deleted file mode 100644
index 8a248ec..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test269
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Accept-Ranges: bytes
-Content-Length: 677654
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-muahahaha
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP --ignore-content-length
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/269 --ignore-content-length
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /269 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test27 b/Utilities/cmcurl-7.19.0/tests/data/test27
deleted file mode 100644
index 0b39ecc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test27
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 Mooo swsclose
-Connection: close
-Set-Cookie: path=/; thewinneris=nowayyouwin;
-Content-Length: 8
-
-*flopp*
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-Get same cookie page several times
- </name>
- <command>
-"http://%HOSTIP:%HTTPPORT/want/{27,27,27}" -b none
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl.*
-</strip>
-<protocol>
-GET /want/27 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/27 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: thewinneris=nowayyouwin
-
-GET /want/27 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: thewinneris=nowayyouwin
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test270 b/Utilities/cmcurl-7.19.0/tests/data/test270
deleted file mode 100644
index 78bef49..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test270
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-PASVBADIP
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP RETR PASV --ftp-skip-pasv-ip
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/270 --ftp-skip-pasv-ip --disable-epsv
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-PASV
-TYPE I
-SIZE 270
-RETR 270
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test271 b/Utilities/cmcurl-7.19.0/tests/data/test271
deleted file mode 100644
index af5a6c6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test271
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP RRQ
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-a chunk of
-data
-returned
- to client
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP retrieve
- </name>
- <command>
-tftp://%HOSTIP:%TFTPPORT//271 --trace-ascii log/traceit
-</command>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<protocol>
-opcode: 1
-filename: /271
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test272 b/Utilities/cmcurl-7.19.0/tests/data/test272
deleted file mode 100644
index cf6e7da..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test272
+++ /dev/null
@@ -1,40 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<mdtm>
-213 20040101121212
-</mdtm>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP timed conditioned get file with identical time stamp
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/272 -z "2004 jan 1 12:12:12 UTC"
-</command>
-
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-MDTM 272
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test273 b/Utilities/cmcurl-7.19.0/tests/data/test273
deleted file mode 100644
index 7ae6d17..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test273
+++ /dev/null
@@ -1,83 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Digest auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with two Digest authorization headers
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/273 -u testuser:testpass --digest
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /273 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /273 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/273", response="576ae57b1db0039f8c0de43ef58e49e3"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test274 b/Utilities/cmcurl-7.19.0/tests/data/test274
deleted file mode 100644
index 95bbdb6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test274
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
---max-redirs
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Server: test-server/fake
-Location: data/reply/25
-Content-Length: 0
-Connection: close
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with --max-redirs 0
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/274 -L --max-redirs 0
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET /want/274 HTTP/1.1
-User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-<errorcode>
-47
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test275 b/Utilities/cmcurl-7.19.0/tests/data/test275
deleted file mode 100644
index 82d0b0d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test275
+++ /dev/null
@@ -1,75 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP Basic auth
-HTTP proxy Basic auth
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 9
-
-contents
-</data>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 9
-
-contents
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP CONNECT with proxytunnel getting two URLs from the same host
- </name>
- <command>
-http://remotesite.com/we/want/that/page/275 -p -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com/we/want/that/page/275
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-CONNECT remotesite.com:80 HTTP/1.0
-Host: remotesite.com:80
-Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Proxy-Connection: Keep-Alive
-
-GET /we/want/that/page/275 HTTP/1.1
-Authorization: Basic aWFtOm15c2VsZg==
-Host: remotesite.com
-Accept: */*
-
-GET /we/want/that/page/275 HTTP/1.1
-Authorization: Basic aWFtOm15c2VsZg==
-Host: remotesite.com
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test276 b/Utilities/cmcurl-7.19.0/tests/data/test276
deleted file mode 100644
index 7d7f743..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test276
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/2760002.txt?coolsite=http://anotherurl/?a_second/2760002
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/2760002.txt?coolsite=http://anotherurl/?a_second/2760002
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with multiple question marks in URLs
- </name>
- <command>
-"http://%HOSTIP:%HTTPPORT/want?uri=http://anything/276?secondq/276" -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want?uri=http://anything/276?secondq/276 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /data/2760002.txt?coolsite=http://anotherurl/?a_second/2760002 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test277 b/Utilities/cmcurl-7.19.0/tests/data/test277
deleted file mode 100644
index b834032..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test277
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 11
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-type formposting with custom Content-Type
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/277 -F name=daniel -H "Content-Type: text/info"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<strippart>
-s/^------------------------------[a-z0-9]*/------------------------------/
-s/boundary=----------------------------[a-z0-9]*/boundary=----------------------------/
-</strippart>
-<protocol>
-POST /want/277 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 145
-Expect: 100-continue
-Content-Type: text/info; boundary=----------------------------
-
-------------------------------
-Content-Disposition: form-data; name="name"
-
-daniel
---------------------------------
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test278 b/Utilities/cmcurl-7.19.0/tests/data/test278
deleted file mode 100644
index ca3d456..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test278
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Basic auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Type: text/html
-Content-Length: 27
-
-the content would go here
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with proxy string including http:// and user+empty password
- </name>
- <command>
-http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://we.want.that.site.com/278 HTTP/1.1
-Proxy-Authorization: Basic ZmFrZTo=
-Host: we.want.that.site.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test279 b/Utilities/cmcurl-7.19.0/tests/data/test279
deleted file mode 100644
index 89599e0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test279
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Basic auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Type: text/html
-Content-Length: 27
-
-the content would go here
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with proxy string including http:// and user only
- </name>
- <command>
-http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://we.want.that.site.com/279 HTTP/1.1
-Proxy-Authorization: Basic ZmFrZTo=
-Host: we.want.that.site.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test28 b/Utilities/cmcurl-7.19.0/tests/data/test28
deleted file mode 100644
index 43e4391..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test28
+++ /dev/null
@@ -1,75 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following with extra spaces in header
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/28 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/28 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test280 b/Utilities/cmcurl-7.19.0/tests/data/test280
deleted file mode 100644
index bb5ac85..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test280
+++ /dev/null
@@ -1,63 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
---ftp-alternative-to-user
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-<servercmd>
-REPLY USER 530 We don't like USER commands
-COUNT USER 1
-</servercmd>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP --ftp-alternative-to-user on USER failure
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/280/ --ftp-alternative-to-user "USER replacement"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-USER replacement
-PASS ftp@example.com
-PWD
-CWD 280
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test281 b/Utilities/cmcurl-7.19.0/tests/data/test281
deleted file mode 100644
index b585645..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test281
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 100 Continue
-
-HTTP/1.1 401 Bad Auth swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-WWW-Authenticate: Basic Realm=authenticate
-Server: test-server/fake
-</data>
-<datacheck>
-HTTP/1.1 100 Continue
-
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT from file with 100 + 401 responses and -f without auth given
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/281 -f -T log/test281.txt
-</command>
-<file name="log/test281.txt">
-Weird
- file
- to
- upload
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-22
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /we/want/281 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 38
-Expect: 100-continue
-
-Weird
- file
- to
- upload
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test282 b/Utilities/cmcurl-7.19.0/tests/data/test282
deleted file mode 100644
index b42e033..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test282
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with no response body or headers
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/282
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /282 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test283 b/Utilities/cmcurl-7.19.0/tests/data/test283
deleted file mode 100644
index 922de51..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test283
+++ /dev/null
@@ -1,36 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP RRQ
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP retrieve on invalid file
- </name>
- <command>
-tftp://%HOSTIP:%TFTPPORT//invalid-file --trace-ascii log/traceit
-</command>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<errorcode>
-69
-</errorcode>
-<protocol>
-opcode: 1
-filename: /invalid-file
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test284 b/Utilities/cmcurl-7.19.0/tests/data/test284
deleted file mode 100644
index 0c2a665..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test284
+++ /dev/null
@@ -1,67 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP RRQ
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-A chunk of data which exactly fits into
-a 512 byte TFTP block, testing a boundary
-condition in the TFTP receive code.
-789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP retrieve of boundary case 512 byte file
- </name>
- <command>
-tftp://%HOSTIP:%TFTPPORT//284 --trace-ascii log/traceit
-</command>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<protocol>
-opcode: 1
-filename: /284
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test285 b/Utilities/cmcurl-7.19.0/tests/data/test285
deleted file mode 100644
index 75a1999..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test285
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP WRQ
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP send
- </name>
- <command>
--T log/test285.txt tftp://%HOSTIP:%TFTPPORT// --trace-ascii log/traceit
-</command>
-<file name="log/test285.txt">
-a chunk of
-data
-sent
- to server
-</file>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<upload>
-a chunk of
-data
-sent
- to server
-</upload>
-<protocol>
-opcode: 2
-filename: /test285.txt
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test286 b/Utilities/cmcurl-7.19.0/tests/data/test286
deleted file mode 100644
index 841ee1e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test286
+++ /dev/null
@@ -1,92 +0,0 @@
-<testcase>
-<info>
-<keywords>
-TFTP
-TFTP WRQ
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-tftp
-</server>
- <name>
-TFTP send of boundary case 512 byte file
- </name>
- <command>
--T log/test286.txt tftp://%HOSTIP:%TFTPPORT// --trace-ascii log/traceit
-</command>
-<file name="log/test286.txt">
-A chunk of data which exactly fits into
-a 512 byte TFTP block, testing a boundary
-condition in the TFTP transmit code.
-89ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-</file>
-</client>
-
-#
-# Verify pseudo protocol after the test has been "shot"
-<verify>
-<upload>
-A chunk of data which exactly fits into
-a 512 byte TFTP block, testing a boundary
-condition in the TFTP transmit code.
-89ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-123456789ABCDEF
-</upload>
-<protocol>
-opcode: 2
-filename: /test286.txt
-mode: octet
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test287 b/Utilities/cmcurl-7.19.0/tests/data/test287
deleted file mode 100644
index db9e043..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test287
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP CONNECT
-HTTP proxy
-proxytunnel
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data nocheck="1">
-HTTP/1.1 405 Method Not Allowed swsclose
-
-And you should ignore this data.
-</data>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP proxy CONNECT with custom User-Agent header
- </name>
- <command>
-http://test.remote.server.com:287/path/287 -H "User-Agent: looser/2007" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-CONNECT test.remote.server.com:287 HTTP/1.0
-Host: test.remote.server.com:287
-Proxy-Connection: Keep-Alive
-User-Agent: looser/2007
-
-</protocol>
-# CURLE_RECV_ERROR
-<errorcode>
-56
-</errorcode>
-<stdout>
-HTTP/1.1 405 Method Not Allowed swsclose
-
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test288 b/Utilities/cmcurl-7.19.0/tests/data/test288
deleted file mode 100644
index da69145..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test288
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-<data>
-foo
- bar
-bar
- foo
-moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-file
-</features>
- <name>
-file:// with (unsupported) proxy, authentication and range
- </name>
-<setenv>
-all_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
-</setenv>
- <command>
-file://localhost/%PWD/log/test288.txt
-</command>
-<file name="log/test288.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test289 b/Utilities/cmcurl-7.19.0/tests/data/test289
deleted file mode 100644
index 2720e2e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test289
+++ /dev/null
@@ -1,30 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-STOR
-Resume
-FAILURE
-</keywords>
-</info>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP resume upload but denied access to local file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/289 -T log/illegal-nonexistent-file -C -
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-26
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test29 b/Utilities/cmcurl-7.19.0/tests/data/test29
deleted file mode 100644
index 560a2a9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test29
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-timeout
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-_data_result_data_
-</data>
-<postcmd>
-wait 10
-</postcmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with 2 secs timeout
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/29 -m 2
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/29 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<errorcode>
-28
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test290 b/Utilities/cmcurl-7.19.0/tests/data/test290
deleted file mode 100644
index 34a9635..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test290
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
---max-filesize
-</keywords>
-</info>
-# Server-side
-<reply>
-<size>
-85
-</size>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download maximum filesize exceeded
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/290 --max-filesize 30
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-63
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 290
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test291 b/Utilities/cmcurl-7.19.0/tests/data/test291
deleted file mode 100644
index e1156c1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test291
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-RETR
---max-filesize
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP download maximum filesize not exceeded
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/291 --max-filesize 100
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE 291
-RETR 291
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test292 b/Utilities/cmcurl-7.19.0/tests/data/test292
deleted file mode 100644
index 011e29a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test292
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---max-filesize
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with maximum filesize not exceeded
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/292 --max-filesize 1000
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /292 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test293 b/Utilities/cmcurl-7.19.0/tests/data/test293
deleted file mode 100644
index 9b79944..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test293
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---max-filesize
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with maximum filesize exceeded
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/293 --max-filesize 2
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-63
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /293 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test294 b/Utilities/cmcurl-7.19.0/tests/data/test294
deleted file mode 100644
index 104b7d7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test294
+++ /dev/null
@@ -1,64 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-ACCT
---ftp-account
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-<servercmd>
-REPLY PASS 332 Give me an ACCT now
-REPLY ACCT 230 Thank-you for the ACCT
-</servercmd>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP --ftp-account on ACCT request
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/294/ --ftp-account "data for acct"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-ACCT data for acct
-PWD
-CWD 294
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test295 b/Utilities/cmcurl-7.19.0/tests/data/test295
deleted file mode 100644
index 2d7cf79..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test295
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-ACCT
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<servercmd>
-REPLY PASS 332 Give me an ACCT now
-REPLY PWD 530 No ACCT, go away
-</servercmd>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP ACCT request without --ftp-account
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/295/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test296 b/Utilities/cmcurl-7.19.0/tests/data/test296
deleted file mode 100644
index 4d895e9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test296
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-CWD
---ftp-method
-multicwd
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-bla bla bla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP CWD with --ftp-method multicwd
- </name>
- <command>
---ftp-method multicwd ftp://%HOSTIP:%FTPPORT/first/second/third/296
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD first
-CWD second
-CWD third
-EPSV
-TYPE I
-SIZE 296
-RETR 296
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test297 b/Utilities/cmcurl-7.19.0/tests/data/test297
deleted file mode 100644
index 3cfb9b5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test297
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-CWD
---ftp-method
-singlecwd
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-bla bla bla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP CWD with --ftp-method singlecwd
- </name>
- <command>
---ftp-method singlecwd ftp://%HOSTIP:%FTPPORT/first/second/third/297
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD first/second/third
-EPSV
-TYPE I
-SIZE 297
-RETR 297
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test298 b/Utilities/cmcurl-7.19.0/tests/data/test298
deleted file mode 100644
index fa706c1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test298
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-CWD
---ftp-method
-nocwd
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-bla bla bla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP CWD with --ftp-method nocwd
- </name>
- <command>
---ftp-method nocwd ftp://%HOSTIP:%FTPPORT/first/second/third/298
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-SIZE first/second/third/298
-RETR first/second/third/298
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test3 b/Utilities/cmcurl-7.19.0/tests/data/test3
deleted file mode 100644
index 57a40ed..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test3
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP Basic auth
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 0
-
-this is data even though Content-Length is set to zero
-</data>
-<datacheck>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 0
-
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST with auth and contents but with content-length set to 0
- </name>
- <command>
- -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://%HOSTIP:%HTTPPORT/3
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /3 HTTP/1.1
-Authorization: Basic ZmFrZTotdXNlcg==
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 37
-Content-Type: application/x-www-form-urlencoded
-
-fooo=mooo&pooo=clue&doo=%20%20%20++++
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test30 b/Utilities/cmcurl-7.19.0/tests/data/test30
deleted file mode 100644
index 38b7256..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test30
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with no data in server reply
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/30
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/30 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<errorcode>
-52
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test300 b/Utilities/cmcurl-7.19.0/tests/data/test300
deleted file mode 100644
index 3b1dbc5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test300
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 7
-
-MooMoo
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-simple HTTPS GET
- </name>
- <command>
--k https://%HOSTIP:%HTTPSPORT/300
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /300 HTTP/1.1
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test301 b/Utilities/cmcurl-7.19.0/tests/data/test301
deleted file mode 100644
index f8ce2ce..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test301
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-HTTP Basic auth
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-HTTPS GET with user and password
- </name>
- <command>
--k -u fake:user https://%HOSTIP:%HTTPSPORT/301
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /301 HTTP/1.1
-Authorization: Basic ZmFrZTp1c2Vy
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-<data>
-[insert full protocol verifiction dump here]
-</data>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test302 b/Utilities/cmcurl-7.19.0/tests/data/test302
deleted file mode 100644
index 1223f1c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test302
+++ /dev/null
@@ -1,40 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-FAILURE
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-HTTPS GET over HTTP proxy fails
- </name>
- <command>
--k -U fake:user -x %HOSTIP:%HTTPPORT https://bad.fakeurl-to.test/slash/302
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-56
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<data>
-</data>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test303 b/Utilities/cmcurl-7.19.0/tests/data/test303
deleted file mode 100644
index e2a22c7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test303
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-timeout
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-_data_result_data_
-</data>
-<postcmd>
-wait 20
-</postcmd>
-</reply>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-HTTPS with 7 secs timeout
- </name>
- <command>
--k https://%HOSTIP:%HTTPSPORT/want/303 -m 7
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/303 HTTP/1.1
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-<errorcode>
-28
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test304 b/Utilities/cmcurl-7.19.0/tests/data/test304
deleted file mode 100644
index 2c81527..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test304
+++ /dev/null
@@ -1,72 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP POST
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 10
-
-blablabla
-</data>
-</reply>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-HTTPS multipart formpost
- </name>
- <command>
--k https://%HOSTIP:%HTTPSPORT/we/want/304 -F name=daniel -F tool=curl -F file=@log/test304.txt
-</command>
-# We create this file before the command is invoked!
-<file name="log/test304.txt">
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------).*
-</strip>
-<protocol>
-POST /we/want/304 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-Content-Length: 1386
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------c3b2ef7f0bb8
-
-------------------------------c3b2ef7f0bb8
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------c3b2ef7f0bb8
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------c3b2ef7f0bb8
-Content-Disposition: form-data; name="file"; filename="test304.txt"
-Content-Type: text/plain
-
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
-------------------------------c3b2ef7f0bb8--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test305 b/Utilities/cmcurl-7.19.0/tests/data/test305
deleted file mode 100644
index 858a004..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test305
+++ /dev/null
@@ -1,35 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-FAILURE
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-insecure HTTPS without permission
- </name>
- <command>
-https://%HOSTIP:%HTTPSPORT/want/305 --cacert moooo
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<errorcode>
-77
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test306 b/Utilities/cmcurl-7.19.0/tests/data/test306
deleted file mode 100644
index 0295778..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test306
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-No headers at all, just data swsclose
-
-Let's get
-
-a little
-
-so that
-
-we
-
-have
-
-some
-
-test
-
-data to
-
-verify
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-https
-</server>
- <name>
-HTTPS GET, receive no headers only data!
- </name>
- <command>
--k https://%HOSTIP:%HTTPSPORT/306
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /306 HTTP/1.1
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test307 b/Utilities/cmcurl-7.19.0/tests/data/test307
deleted file mode 100644
index 3e74034..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test307
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Tue, 16 Jan 2007 18:00:14 GMT
-Server: test-server/fake
-Content-Length: 7
-
-MooMoo
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-OpenSSL
-</features>
-<server>
-https
-</server>
-<precheck>
-perl %SRCDIR/libtest/test307.pl %CURL
-</precheck>
-
- <name>
-simple HTTPS GET with openssl engine
- </name>
- <command>
---engine openssl -k https://%HOSTIP:%HTTPSPORT/307
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /307 HTTP/1.1
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test308 b/Utilities/cmcurl-7.19.0/tests/data/test308
deleted file mode 100644
index d20556a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test308
+++ /dev/null
@@ -1,34 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<features>
-OpenSSL
-</features>
-<server>
-https
-</server>
- <name>
-simple HTTPS GET with invalid crypto engine
- </name>
- <command>
---engine invalid-crypto-engine-xyzzy -k https://%HOSTIP:%HTTPSPORT/308
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-53
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test309 b/Utilities/cmcurl-7.19.0/tests/data/test309
deleted file mode 100644
index c702c7b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test309
+++ /dev/null
@@ -1,86 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTPS
-HTTP GET
-followlocation
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
-Connection: close
-
-This server reply is for testing a simple Location: following to HTTPS URL
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-http
-https
-</server>
- <name>
-HTTP Location: redirect to HTTPS URL
- </name>
- <command>
--k http://%HOSTIP:%HTTPPORT/want/309 -L
-</command>
-# The data section doesn't do variable substitution, so we must assert this
-<precheck>
-perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%HTTPSPORT' ne '8991' );"
-</precheck>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/309 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /data/3090002.txt?coolsite=yes HTTP/1.1
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test31 b/Utilities/cmcurl-7.19.0/tests/data/test31
deleted file mode 100644
index 56cdf66..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test31
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-cookiejar
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 4
-Content-Type: text/html
-Funny-head: yesyes
-Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
-Set-Cookie:ismatch=this ; domain=127.0.0.1; path=/silly/
-Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/;
-Set-Cookie:eat=this; domain=moo.foo.moo;
-Set-Cookie: eat=this-too; domain=.foo.moo;
-Set-Cookie: nodomainnovalue
-Set-Cookie: nodomain=value; expires=Fri Feb 2 11:56:27 GMT 2035
-Set-Cookie: novalue; domain=reallysilly
-Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
-Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030
-Set-Cookie: magic=yessir; path=/silly/; HttpOnly
-
-boo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with weirdly formatted cookies and cookiejar storage
- </name>
-# Explicitly set the time zone to a known good one, in case the user is
-# using one of the 'right' zones that take into account leap seconds
-# which causes the cookie expiry times to be different.
-<setenv>
-TZ=GMT
-</setenv>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/31 -b none -c log/jar31.txt
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/31 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<file name="log/jar31.txt" mode="text">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.127.0.0.1 TRUE /silly/ FALSE 0 ismatch this
-.127.0.0.1 TRUE / FALSE 0 partmatch present
-127.0.0.1 FALSE /we/want/ FALSE 2054030187 nodomain value
-#HttpOnly_127.0.0.1 FALSE /silly/ FALSE 0 magic yessir
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test32 b/Utilities/cmcurl-7.19.0/tests/data/test32
deleted file mode 100644
index 0895535..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test32
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
--G
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with -d and -G
- </name>
- <command>
--d "foo=moo&moo=poo" http://%HOSTIP:%HTTPPORT/32 -G
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /32?foo=moo&moo=poo HTTP/1.1
-User-Agent: curl/7.9.5 (i686-pc-linux-gnu) libcurl 7.9.5-cvs (OpenSSL 0.9.5) (ipv6 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test33 b/Utilities/cmcurl-7.19.0/tests/data/test33
deleted file mode 100644
index 69fb4ff..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test33
+++ /dev/null
@@ -1,64 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-Resume
-Content-Range
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 OK swsclose
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT with resume
- </name>
-<file name="log/test33.txt">
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-012345678
-</file>
- <command>
-http://%HOSTIP:%HTTPPORT/33 -Tlog/test33.txt -C 50
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /33 HTTP/1.1
-Content-Range: bytes 50-99/100
-User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 50
-Expect: 100-continue
-
-012345678
-012345678
-012345678
-012345678
-012345678
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test34 b/Utilities/cmcurl-7.19.0/tests/data/test34
deleted file mode 100644
index 5631f94..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test34
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-chunked Transfer-Encoding
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Connection: mooo
-
-40
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-30
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
-21;heresatest=moooo
-cccccccccccccccccccccccccccccccc
-
-0
-
-</data>
-<datacheck>
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Connection: mooo
-
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with chunked Transfer-Encoding
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/34
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /34 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test35 b/Utilities/cmcurl-7.19.0/tests/data/test35
deleted file mode 100644
index 24339e8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test35
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test350 b/Utilities/cmcurl-7.19.0/tests/data/test350
deleted file mode 100644
index 8ac303c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test350
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP root dir list multicwd
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT// --ftp-method multicwd
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD /
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test351 b/Utilities/cmcurl-7.19.0/tests/data/test351
deleted file mode 100644
index 5b03643..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test351
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP root dir list nocwd
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT// --ftp-method nocwd
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST /
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test352 b/Utilities/cmcurl-7.19.0/tests/data/test352
deleted file mode 100644
index e920698..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test352
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP root dir list singlecwd
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT// --ftp-method singlecwd
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD /
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test353 b/Utilities/cmcurl-7.19.0/tests/data/test353
deleted file mode 100644
index b694491..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test353
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP home dir list singlecwd
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/ --ftp-method singlecwd
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test354 b/Utilities/cmcurl-7.19.0/tests/data/test354
deleted file mode 100644
index 4bd76ba..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test354
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<servercmd>
-REPLY USER 200 fine, proceed without password
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
- <name>
-FTP without password
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/354
-</command>
-
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PWD
-EPSV
-TYPE I
-SIZE 354
-RETR 354
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test36 b/Utilities/cmcurl-7.19.0/tests/data/test36
deleted file mode 100644
index abf8b00..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test36
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-chunked Transfer-Encoding
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Connection: mooo
-
-2
-a
-
-ILLEGAL
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
-</data>
-<datacheck>
-HTTP/1.1 200 funky chunky!
-Server: fakeit/0.9 fakeitbad/1.0
-Transfer-Encoding: chunked
-Connection: mooo
-
-a
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with bad chunked Transfer-Encoding
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/36
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-56
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /36 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test37 b/Utilities/cmcurl-7.19.0/tests/data/test37
deleted file mode 100644
index d09b8ac..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test37
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with nothing returned from server
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/37
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-52
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /37 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test38 b/Utilities/cmcurl-7.19.0/tests/data/test38
deleted file mode 100644
index 2ae4ee4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test38
+++ /dev/null
@@ -1,61 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Resume
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.0 200 Mooo
-Date: Mon, 13 Nov 2000 13:41:09 GMT
-Server: myown/1.0
-Connection: close
-
-todelooooo lalalala yada yada, we know nothing about ranges ;-)
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP resume request without server supporting it
- </name>
- <command option="no-output">
-http://%HOSTIP:%HTTPPORT/want/38 -C - --no-include -o log/fewl.txt
-</command>
-<file name="log/fewl.txt">
-This text is here to simulate a partly downloaded file to resume
-download on.
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-33
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/38 HTTP/1.1
-Range: bytes=78-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-# the download target file must remain untouched
-<file name="log/fewl.txt">
-This text is here to simulate a partly downloaded file to resume
-download on.
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test39 b/Utilities/cmcurl-7.19.0/tests/data/test39
deleted file mode 100644
index f3926e0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test39
+++ /dev/null
@@ -1,91 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 10
-
-blablabla
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-type formposting with filename= and type=
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2=<verbatim;type=xxx/yyy" -F "file=@log/test39.txt;filename=fakerfile;type=moo/foobar" -F file2=@log/test39.txt
-</command>
-# We create this file before the command is invoked!
-<file name="log/test39.txt">
-foo bar
-This is a bar foo
-bar
-foo
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|-------).*
-</strip>
-<protocol>
-POST /we/want/39 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 810
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
-
-------------------------------24e78000bd32
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------24e78000bd32
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------24e78000bd32
-Content-Disposition: form-data; name="str1"
-
-@literal
-------------------------------24e78000bd32
-Content-Disposition: form-data; name="str2"
-
-<verbatim;type=xxx/yyy
-------------------------------24e78000bd32
-Content-Disposition: form-data; name="file"; filename="fakerfile"
-Content-Type: moo/foobar
-
-foo bar
-This is a bar foo
-bar
-foo
-
-------------------------------24e78000bd32
-Content-Disposition: form-data; name="file2"; filename="test39.txt"
-Content-Type: text/plain
-
-foo bar
-This is a bar foo
-bar
-foo
-
-------------------------------24e78000bd32--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test4 b/Utilities/cmcurl-7.19.0/tests/data/test4
deleted file mode 100644
index 16fd952..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test4
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP added headers
-HTTP replaced headers
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-Replaced internal and added custom HTTP headers
- </name>
- <command>
- -H "extra-header: here" -H "Accept: replaced" http://%HOSTIP:%HTTPPORT/4
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /4 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-extra-header: here
-Accept: replaced
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test40 b/Utilities/cmcurl-7.19.0/tests/data/test40
deleted file mode 100644
index 1a6b742..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test40
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: ../moo.html/?name=d a niel&testcase=/400002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: ../moo.html/?name=d a niel&testcase=/400002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP redirect with whitespace after ? (and conversion)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/40 -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/40 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /we/are/all/moo.html/?name=d+a+niel&testcase=/400002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test400 b/Utilities/cmcurl-7.19.0/tests/data/test400
deleted file mode 100644
index 5847293..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test400
+++ /dev/null
@@ -1,61 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-PASV
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTPS server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS dir list PASV unencrypted data
- </name>
- <command>
--k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test401 b/Utilities/cmcurl-7.19.0/tests/data/test401
deleted file mode 100644
index d7990f7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test401
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-EPSV
-STOR
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS PASV upload file
- </name>
-<file name="log/test401.txt">
-data
- to
- see
-that FTPS
-works
- so does it?
-</file>
- <command>
--k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/401 -T log/test401.txt
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-data
- to
- see
-that FTPS
-works
- so does it?
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-PWD
-EPSV
-TYPE I
-STOR 401
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test402 b/Utilities/cmcurl-7.19.0/tests/data/test402
deleted file mode 100644
index 6a0b236..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test402
+++ /dev/null
@@ -1,35 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-FAILURE
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftp
-</server>
- <name>
-FTP SSL required on non-SSL server
- </name>
- <command>
--k --ftp-ssl-reqd ftp://%HOSTIP:%FTPPORT/402
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-64
-</errorcode>
-<protocol>
-AUTH SSL
-AUTH TLS
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test403 b/Utilities/cmcurl-7.19.0/tests/data/test403
deleted file mode 100644
index 7395e7f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test403
+++ /dev/null
@@ -1,64 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-PASV
-LIST
-CCC
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTPS server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS with CCC not supported by server
- </name>
- <command>
--k --ftp-ssl-control --ftp-ssl-ccc ftps://%HOSTIP:%FTPSPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-CCC
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test404 b/Utilities/cmcurl-7.19.0/tests/data/test404
deleted file mode 100644
index 9766630..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test404
+++ /dev/null
@@ -1,31 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-FAILURE
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS with invalid cacert
- </name>
- <command>
---ftp-ssl-control --cacert moooo ftps://%HOSTIP:%FTPSPORT/
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-77
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test405 b/Utilities/cmcurl-7.19.0/tests/data/test405
deleted file mode 100644
index 29e7af2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test405
+++ /dev/null
@@ -1,34 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-FAILURE
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftp
-</server>
- <name>
-FTPS operation to FTP port
- </name>
- <command>
--m 5 -k ftps://%HOSTIP:%FTPPORT/path/to/file/405
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# error code 35 is CURLE_SSL_CONNECT_ERROR
-# GnuTLS seems to not fail on its handshake but instead times out which gives
-# error 28
-<errorcode>
-35,28
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test406 b/Utilities/cmcurl-7.19.0/tests/data/test406
deleted file mode 100644
index c201450..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test406
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-PORT
-LIST
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTPS server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS dir list, PORT with specified IP
- </name>
- <command>
--k --ftp-ssl-control -P %CLIENTIP ftps://%HOSTIP:%FTPSPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-PWD
-PORT 127,0,0,1,243,212
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test407 b/Utilities/cmcurl-7.19.0/tests/data/test407
deleted file mode 100644
index 268c42f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test407
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-PASV
-RETR
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-data blobb
-</data>
-
-# data is sent to stdout
-</reply>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-Get two FTPS files from the same remote dir: no second CWD
- </name>
- <command>
--k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/a/path/407 ftps://%HOSTIP:%FTPSPORT/a/path/407
-</command>
-<stdout>
-data blobb
-data blobb
-</stdout>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-PWD
-CWD a
-CWD path
-EPSV
-TYPE I
-SIZE 407
-RETR 407
-EPSV
-SIZE 407
-RETR 407
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test408 b/Utilities/cmcurl-7.19.0/tests/data/test408
deleted file mode 100644
index 89210b3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test408
+++ /dev/null
@@ -1,61 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-PORT
-STOR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS PORT upload with CWD
- </name>
- <command>
--k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/CWD/STOR/RETR/408 -T log/upload408 -P -
-</command>
-<file name="log/upload408">
-Moooooooooooo
- upload this
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-PWD
-CWD CWD
-CWD STOR
-CWD RETR
-PORT 127,0,0,1,5,109
-TYPE I
-STOR 408
-QUIT
-</protocol>
-<upload>
-Moooooooooooo
- upload this
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test409 b/Utilities/cmcurl-7.19.0/tests/data/test409
deleted file mode 100644
index bd5ec99..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test409
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTPS
-EPSV
-STOR
-</keywords>
-</info>
-
-# Client-side
-<client>
-<features>
-SSL
-</features>
-<server>
-ftps
-</server>
- <name>
-FTPS PASV upload file
- </name>
-<file name="log/test409.txt">
-data
- to
- see
-that FTP
-works
- so does it?
-</file>
- <command>
--k --ftp-ssl-control ftps://%HOSTIP:%FTPSPORT/409 -T log/test409.txt
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-data
- to
- see
-that FTP
-works
- so does it?
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PBSZ 0
-PROT C
-PWD
-EPSV
-TYPE I
-STOR 409
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test41 b/Utilities/cmcurl-7.19.0/tests/data/test41
deleted file mode 100644
index 08eca38..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test41
+++ /dev/null
@@ -1,32 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP formpost with missing file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/41 -F moo=@boo
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-26
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test42 b/Utilities/cmcurl-7.19.0/tests/data/test42
deleted file mode 100644
index a5d6492..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test42
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: ../m o o.html/420002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: ../m o o.html/420002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP redirect with whitespace in path (and conversion)
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/42 -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/42 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /we/are/all/m%20o%20o.html/420002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test43 b/Utilities/cmcurl-7.19.0/tests/data/test43
deleted file mode 100644
index 65f6a54..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test43
+++ /dev/null
@@ -1,81 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-HTTP proxy
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/430002.txt?coolsite=yes
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data/430002.txt?coolsite=yes
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP Location: following over HTTP proxy
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/43 -L -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/want/43 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://%HOSTIP:%HTTPPORT/want/data/430002.txt?coolsite=yes HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test44 b/Utilities/cmcurl-7.19.0/tests/data/test44
deleted file mode 100644
index 11ae480..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test44
+++ /dev/null
@@ -1,72 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-HTTP replaced headers
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-type formposting without Expect: header
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/44 -F name=daniel -F tool=curl -F file=@log/test44.txt -H "Expect:"
-</command>
-# We create this file before the command is invoked!
-<file name="log/test44.txt">
-foo-
-This is a moo-
-bar
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------).*
-</strip>
-<protocol>
-POST /we/want/44 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 408
-Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce
-
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------7c633d5c27ce
-Content-Disposition: form-data; name="file"; filename="test44.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------7c633d5c27ce--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test45 b/Utilities/cmcurl-7.19.0/tests/data/test45
deleted file mode 100644
index 282bebd..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test45
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data.cgi?moo=http://&/450002
-Connection: close
-
-This server reply is for testing a simple Location: following
-
-</data>
-<data2>
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</data2>
-<datacheck>
-HTTP/1.1 301 This is a weirdo text message swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Location: data.cgi?moo=http://&/450002
-Connection: close
-
-HTTP/1.1 200 Followed here fine swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 52
-
-If this is received, the location following worked
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-simple HTTP Location: without protocol in initial URL
- </name>
- <command>
-%HOSTIP:%HTTPPORT/want/45 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/45 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /want/data.cgi?moo=http://&/450002 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test46 b/Utilities/cmcurl-7.19.0/tests/data/test46
deleted file mode 100644
index 6826ebc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test46
+++ /dev/null
@@ -1,89 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-cookiejar
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Server: Microsoft-IIS/4.0
-Date: Tue, 25 Sep 2001 19:37:44 GMT
-Content-Type: text/html
-Set-Cookie: ckyPersistent=permanent; expires=Fri, 02-Feb-2035 11:56:27 GMT; path=/
-Set-Cookie: ckySession=temporary; path=/
-Set-Cookie: ASPSESSIONIDQGGQQSJJ=GKNBDIFAAOFDPDAIEAKDIBKE; path=/
-Set-Cookie: justaname=; path=/;
-Set-Cookie: simplyhuge=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
-Cache-control: private
-Content-Length: 41
-
-This server reply is for testing cookies
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, get cookies and store in cookie jar
- </name>
-# Explicitly set the time zone to a known good one, in case the user is
-# using one of the 'right' zones that take into account leap seconds
-# which causes the cookie expiry times to be different from what we expect.
-<setenv>
-TZ=GMT
-</setenv>
- <command>
-%HOSTIP:%HTTPPORT/want/46 -c log/jar46 -b log/injar46
-</command>
-<file name="log/injar46">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This is generated by libcurl! Do not edit.
-
-www.fake.come FALSE / FALSE 1022144953 cookiecliente si
-www.loser.com FALSE / FALSE 1139150993 UID 99
-%HOSTIP FALSE / FALSE 1439150993 mooo indeed
-#HttpOnly_%HOSTIP FALSE / FALSE 1439150993 mooo2 indeed2
-%HOSTIP FALSE / FALSE 0 empty
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/46 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: empty=; mooo2=indeed2; mooo=indeed
-
-</protocol>
-<file name="log/jar46" mode="text">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-www.fake.come FALSE / FALSE 1022144953 cookiecliente si
-www.loser.com FALSE / FALSE 1139150993 UID 99
-%HOSTIP FALSE / FALSE 1439150993 mooo indeed
-#HttpOnly_%HOSTIP FALSE / FALSE 1439150993 mooo2 indeed2
-%HOSTIP FALSE / FALSE 0 empty
-%HOSTIP FALSE / FALSE 2054030187 ckyPersistent permanent
-%HOSTIP FALSE / FALSE 0 ckySession temporary
-%HOSTIP FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE
-%HOSTIP FALSE / FALSE 0 justaname
-%HOSTIP FALSE /want/ FALSE 0 simplyhuge zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test47 b/Utilities/cmcurl-7.19.0/tests/data/test47
deleted file mode 100644
index c071015..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test47
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP/1.0
-</keywords>
-</info>
-#
-# Server-side
-<reply name="47">
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
--foo- within foo -!foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-simple HTTP 1.0 GET
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/47 -0
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /47 HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test48 b/Utilities/cmcurl-7.19.0/tests/data/test48
deleted file mode 100644
index 186a280..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test48
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP HEAD
--G
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with -d and -G and -I
- </name>
- <command>
--d "foo=moo&moo=poo" http://%HOSTIP:%HTTPPORT/48 -G -I
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-HEAD /48?foo=moo&moo=poo HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test49 b/Utilities/cmcurl-7.19.0/tests/data/test49
deleted file mode 100644
index bfe61fa..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test49
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: ../moo.html/490002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: ../moo.html/490002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP follow redirect with ../
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/49 -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/49 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /we/are/all/moo.html/490002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test5 b/Utilities/cmcurl-7.19.0/tests/data/test5
deleted file mode 100644
index e5a8ae8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test5
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP over proxy
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/5 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/we/want/that/page/5 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test50 b/Utilities/cmcurl-7.19.0/tests/data/test50
deleted file mode 100644
index fc9eeb1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test50
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: ../../moo.html/500002
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: ../../moo.html/500002
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP follow redirect with ../../
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/50 -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/50 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /we/are/moo.html/500002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test500 b/Utilities/cmcurl-7.19.0/tests/data/test500
deleted file mode 100644
index a1eee46..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test500
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply name="1">
-<data mode="text">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib500
-</tool>
-
- <name>
-simple libcurl HTTP GET tool
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/500 log/ip500
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<file name="log/ip500" mode="text">
-IP: %HOSTIP
-</file>
-<protocol>
-GET /500 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test501 b/Utilities/cmcurl-7.19.0/tests/data/test501
deleted file mode 100644
index 99cd3b8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test501
+++ /dev/null
@@ -1,35 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply name="1">
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
-# tool is what to use instead of 'curl'
-<tool>
-lib501
-</tool>
-
- <name>
-simple libcurl attempt operation without URL set
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/501
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-3
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test502 b/Utilities/cmcurl-7.19.0/tests/data/test502
deleted file mode 100644
index 99dc2f0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test502
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-foo
- bar swsclose
-bar
- foo
-moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-file
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib502
-</tool>
-
- <name>
-simple multi file:// get
- </name>
- <command>
-file://%PWD/log/test502.txt
-</command>
-<file name="log/test502.txt">
-foo
- bar swsclose
-bar
- foo
-moo
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test503 b/Utilities/cmcurl-7.19.0/tests/data/test503
deleted file mode 100644
index 3c4cd18..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test503
+++ /dev/null
@@ -1,76 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-HTTP proxy Basic auth
-proxytunnel
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-
-</data>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib503
-</tool>
-
- <name>
-simple multi http:// through proxytunnel with authentication info
- </name>
- <command>
-http://%HOSTIP:%HTTPSPORT/503 %HOSTIP:%HTTPPORT
-</command>
-<file name="log/test503.txt">
-foo
- bar
-bar
- foo
-moo
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-CONNECT %HOSTIP:%HTTPSPORT HTTP/1.0
-Host: %HOSTIP:%HTTPSPORT
-Proxy-Authorization: Basic dGVzdDppbmc=
-Proxy-Connection: Keep-Alive
-
-GET /503 HTTP/1.1
-Authorization: Basic dGVzdDppbmc=
-Host: %HOSTIP:%HTTPSPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test504 b/Utilities/cmcurl-7.19.0/tests/data/test504
deleted file mode 100644
index 2d9e564..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test504
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
-# tool is what to use instead of 'curl'
-<tool>
-lib504
-</tool>
-
- <name>
-simple multi through local proxy without listener
- </name>
- <command>
-http://%HOSTIP:%HTTPSPORT/504 %HOSTIP:55555
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-100
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test505 b/Utilities/cmcurl-7.19.0/tests/data/test505
deleted file mode 100644
index 5e19f8c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test505
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib505
-</tool>
-
- <name>
-FTP upload with rename after transfer
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/505 log/upload505
-</command>
-<file name="log/upload505">
-Contents
-of
-a file
-to verify
-ftp
-upload
-
-
-works?
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-Contents
-of
-a file
-to verify
-ftp
-upload
-
-
-works?
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-STOR 505
-RNFR 505
-RNTO 505-forreal
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test506 b/Utilities/cmcurl-7.19.0/tests/data/test506
deleted file mode 100644
index 878744f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test506
+++ /dev/null
@@ -1,181 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-shared cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data1>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Set-Cookie: test1=one; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
-Set-Cookie: test2=two; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
-Set-Cookie: test3=three; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
-Content-Length: 29
-
-run 1: set cookie 1, 2 and 3
-</data1>
-<data2>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:01 GMT
-Server: test-server/fake
-Content-Type: text/html
-Set-Cookie: test4=four; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
-Set-Cookie: test5=five; domain=host.foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
-Content-Length: 26
-
-run 2: set cookie 4 and 5
-</data2>
-<data3>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:02 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes
-Set-Cookie: test4=overwritten4; domain=host.foo.com; expires=Sat May 5 GMT 11:56:27 2035
-Set-Cookie: test1=overwritten1; domain=foo.com; expires=Thu Mar 3 GMT 11:56:27 2033
-Content-Type: text/html
-Content-Length: 32
-
-run 3: overwrite cookie 1 and 4
-</data3>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<name>
-HTTP with shared cookie list (and dns cache)
-</name>
-# Explicitly set the time zone to a known good one, in case the user is
-# using one of the 'right' zones that take into account leap seconds
-# which causes the cookie expiry times to be different.
-<setenv>
-TZ=GMT
-</setenv>
-<tool>
-lib506
-</tool>
-<command>
-http://%HOSTIP:%HTTPPORT/506
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout mode="text">
-GLOBAL_INIT
-SHARE_INIT
-CURLSHOPT_LOCKFUNC
-CURLSHOPT_UNLOCKFUNC
-CURLSHOPT_USERDATA
-CURL_LOCK_DATA_COOKIE
-CURL_LOCK_DATA_DNS
-*** run 1
-CURLOPT_SHARE
-lock: share <Pigs in space>: 0
-unlock: share <Pigs in space>: 1
-PERFORM
-lock: dns <Pigs in space>: 2
-unlock: dns <Pigs in space>: 3
-lock: dns <Pigs in space>: 4
-unlock: dns <Pigs in space>: 5
-lock: cookie <Pigs in space>: 6
-unlock: cookie <Pigs in space>: 7
-lock: cookie <Pigs in space>: 8
-unlock: cookie <Pigs in space>: 9
-lock: cookie <Pigs in space>: 10
-unlock: cookie <Pigs in space>: 11
-lock: cookie <Pigs in space>: 12
-unlock: cookie <Pigs in space>: 13
-run 1: set cookie 1, 2 and 3
-lock: dns <Pigs in space>: 14
-unlock: dns <Pigs in space>: 15
-CLEANUP
-lock: dns <Pigs in space>: 16
-unlock: dns <Pigs in space>: 17
-lock: cookie <Pigs in space>: 18
-unlock: cookie <Pigs in space>: 19
-lock: share <Pigs in space>: 20
-unlock: share <Pigs in space>: 21
-*** run 2
-CURLOPT_SHARE
-lock: share <Pigs in space>: 22
-unlock: share <Pigs in space>: 23
-PERFORM
-lock: dns <Pigs in space>: 24
-unlock: dns <Pigs in space>: 25
-lock: cookie <Pigs in space>: 26
-unlock: cookie <Pigs in space>: 27
-lock: cookie <Pigs in space>: 28
-unlock: cookie <Pigs in space>: 29
-lock: cookie <Pigs in space>: 30
-unlock: cookie <Pigs in space>: 31
-run 2: set cookie 4 and 5
-lock: dns <Pigs in space>: 32
-unlock: dns <Pigs in space>: 33
-CLEANUP
-lock: dns <Pigs in space>: 34
-unlock: dns <Pigs in space>: 35
-lock: cookie <Pigs in space>: 36
-unlock: cookie <Pigs in space>: 37
-lock: share <Pigs in space>: 38
-unlock: share <Pigs in space>: 39
-*** run 3
-CURLOPT_SHARE
-lock: share <Pigs in space>: 40
-unlock: share <Pigs in space>: 41
-CURLOPT_COOKIEJAR
-PERFORM
-lock: dns <Pigs in space>: 42
-unlock: dns <Pigs in space>: 43
-lock: cookie <Pigs in space>: 44
-unlock: cookie <Pigs in space>: 45
-lock: cookie <Pigs in space>: 46
-unlock: cookie <Pigs in space>: 47
-lock: cookie <Pigs in space>: 48
-unlock: cookie <Pigs in space>: 49
-run 3: overwrite cookie 1 and 4
-lock: dns <Pigs in space>: 50
-unlock: dns <Pigs in space>: 51
-try SHARE_CLEANUP...
-lock: share <Pigs in space>: 52
-unlock: share <Pigs in space>: 53
-SHARE_CLEANUP failed, correct
-CLEANUP
-lock: dns <Pigs in space>: 54
-unlock: dns <Pigs in space>: 55
-lock: cookie <Pigs in space>: 56
-unlock: cookie <Pigs in space>: 57
-lock: share <Pigs in space>: 58
-unlock: share <Pigs in space>: 59
-SHARE_CLEANUP
-lock: share <Pigs in space>: 60
-unlock: share <Pigs in space>: 61
-GLOBAL_CLEANUP
-</stdout>
-<stderr>
-http://%HOSTIP:%HTTPPORT/506
-</stderr>
-<file name="log/jar506" mode="text">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.foo.com TRUE / FALSE 1993463787 test1 overwritten1
-.host.foo.com TRUE / FALSE 1896263787 test2 two
-.foo.com TRUE / FALSE 1896263787 test3 three
-.host.foo.com TRUE / FALSE 2061978987 test4 overwritten4
-.host.foo.com TRUE / FALSE 1896263787 test5 five
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test507 b/Utilities/cmcurl-7.19.0/tests/data/test507
deleted file mode 100644
index bd4bada..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test507
+++ /dev/null
@@ -1,28 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<name>
-multi interface get with non-existing host name
-</name>
-<tool>
-lib507
-</tool>
-<command>
-http://doesnotexist.foo./
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-6
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test508 b/Utilities/cmcurl-7.19.0/tests/data/test508
deleted file mode 100644
index e833789..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test508
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Connection: close
-Content-Type: text/html
-
-hello
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib508
-</tool>
-
- <name>
-send HTTP POST using read callback
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/508
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-POST /508 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 45
-Content-Type: application/x-www-form-urlencoded
-
-this is what we post to the silly web server
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test51 b/Utilities/cmcurl-7.19.0/tests/data/test51
deleted file mode 100644
index 768d3f7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test51
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: ../../../../../../../510002
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: ../../../../../../../510002
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP follow redirect with excessive ../
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/51 -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/51 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /510002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test510 b/Utilities/cmcurl-7.19.0/tests/data/test510
deleted file mode 100644
index 9e6502d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test510
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Connection: close
-Content-Type: text/html
-
-hello
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib510
-</tool>
-
- <name>
-send HTTP POST using read callback, using chunked transfer-encoding
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/510
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-POST /510 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Content-Type: application/x-www-form-urlencoded
-
-3
-one
-3
-two
-5
-three
-1d
-and a final longer crap: four
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test511 b/Utilities/cmcurl-7.19.0/tests/data/test511
deleted file mode 100644
index 90b5e4f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test511
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<servercmd>
-REPLY MDTM 550 bluah you f00l!
-REPLY SIZE 550 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib511
-</tool>
-
- <name>
-FTP with FILETIME and NOBODY but missing file
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/511
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-# CURLE_FTP_COULDNT_RETR_FILE
-<errorcode>
-19
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-MDTM 511
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test512 b/Utilities/cmcurl-7.19.0/tests/data/test512
deleted file mode 100644
index 43b39c5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test512
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: yes
-Connection: close
-
-hello
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib512
-</tool>
-
- <name>
-simple curl_easy_duplicate() test
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/512
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /512 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test513 b/Utilities/cmcurl-7.19.0/tests/data/test513
deleted file mode 100644
index 8a69ce4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test513
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib513
-</tool>
-
- <name>
-send HTTP POST using read callback that returns CURL_READFUNC_ABORT
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/513
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-POST /513 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 1
-Content-Type: application/x-www-form-urlencoded
-
-</protocol>
-# 42 - aborted by callback
-<errorcode>
-42
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test514 b/Utilities/cmcurl-7.19.0/tests/data/test514
deleted file mode 100644
index 94c90cf..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test514
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<tool>
-lib514
-</tool>
- <name>
-First set options to POST and then to make HEAD
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/514
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-HEAD /514 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test515 b/Utilities/cmcurl-7.19.0/tests/data/test515
deleted file mode 100644
index f1de086..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test515
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 3
-
-OK
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib515
-</tool>
-
- <name>
-make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/515
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-POST /515 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test516 b/Utilities/cmcurl-7.19.0/tests/data/test516
deleted file mode 100644
index cd65518..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test516
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 3
-
-OK
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib516
-</tool>
-
- <name>
-make a HTTPPOST set to NULL
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/516
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-POST /516 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test517 b/Utilities/cmcurl-7.19.0/tests/data/test517
deleted file mode 100644
index bd9d77b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test517
+++ /dev/null
@@ -1,67 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib517
-</tool>
-
- <name>
-curl_getdate() testing
- </name>
-# Explicitly set the time zone to a known good one, in case the user is
-# using one of the 'right' zones that take into account leap seconds
-# which causes the cookie expiry times to be different.
-<setenv>
-TZ=GMT
-</setenv>
- <command>
-nothing
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<stdout mode="text">
-0: Sun, 06 Nov 1994 08:49:37 GMT => 784111777
-1: Sunday, 06-Nov-94 08:49:37 GMT => 784111777
-2: Sun Nov 6 08:49:37 1994 => 784111777
-3: 06 Nov 1994 08:49:37 GMT => 784111777
-4: 06-Nov-94 08:49:37 GMT => 784111777
-5: Nov 6 08:49:37 1994 => 784111777
-6: 06 Nov 1994 08:49:37 => 784111777
-7: 06-Nov-94 08:49:37 => 784111777
-8: 1994 Nov 6 08:49:37 => 784111777
-9: GMT 08:49:37 06-Nov-94 Sunday => 784111777
-10: 94 6 Nov 08:49:37 => 784111777
-11: 1994 Nov 6 => 784080000
-12: 06-Nov-94 => 784080000
-13: Sun Nov 6 94 => 784080000
-14: 1994.Nov.6 => 784080000
-15: Sun/Nov/6/94/GMT => 784080000
-16: Sun, 06 Nov 1994 08:49:37 CET => 784108177
-17: 06 Nov 1994 08:49:37 EST => 784129777
-18: Sun, 12 Sep 2004 15:05:58 -0700 => 1095026758
-19: Sat, 11 Sep 2004 21:32:11 +0200 => 1094931131
-20: 20040912 15:05:58 -0700 => 1095026758
-21: 20040911 +0200 => 1094853600
-</stdout>
-
-# This test case previously testes an overflow case ("2094 Nov 6 =>
-# 2147483647") for 32bit time_t, but since some systems have 64bit time_t and
-# handles this (returning 3939840000), and some 64bit-time_t systems don't
-# handle this and returns -1 for this, it turned very tricky to write a fine
-# test case and thus it is now removed until we have a way to write test cases
-# for this kind of things.
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test518 b/Utilities/cmcurl-7.19.0/tests/data/test518
deleted file mode 100644
index 47a900b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test518
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-getrlimit
-</features>
-# tool is what to use instead of 'curl'
-<tool>
-lib518
-</tool>
-# precheck is a command line to run before the test, to see if we can execute
-# the test or not
-<precheck>
-./libtest/lib518 check
-</precheck>
-
- <name>
-HTTP GET with more than FD_SETSIZE descriptors open
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/518
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /518 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test519 b/Utilities/cmcurl-7.19.0/tests/data/test519
deleted file mode 100644
index 1633fda..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test519
+++ /dev/null
@@ -1,71 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 8
-
-content
-</data>
-<data1>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 9
-
-content2
-</data1>
-<datacheck>
-HTTP/1.1 200 OK swsbounce
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 8
-
-content
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 9
-
-content2
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib519
-</tool>
-
- <name>
-GET same URL twice with different users
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/519
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /519 HTTP/1.1
-Authorization: Basic bW9uc3Rlcjp1bmRlcmJlZA==
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /519 HTTP/1.1
-Authorization: Basic YW5vdGhlcm1vbnN0ZXI6aW53YXJkcm9iZQ==
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test52 b/Utilities/cmcurl-7.19.0/tests/data/test52
deleted file mode 100644
index e526ea9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test52
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: ./520002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: ./520002
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP follow redirect with ./-prefix
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/are/all/twits/52 -L
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/are/all/twits/52 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /we/are/all/twits/520002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test520 b/Utilities/cmcurl-7.19.0/tests/data/test520
deleted file mode 100644
index e9d7b54..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test520
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-contents of file
-</data>
-<servercmd>
-REPLY MDTM 213 20030405060708
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib520
-</tool>
-
- <name>
-FTP RETR with FILETIME
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/520
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-MDTM 520
-EPSV
-TYPE I
-SIZE 520
-RETR 520
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test521 b/Utilities/cmcurl-7.19.0/tests/data/test521
deleted file mode 100644
index 14d551b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test521
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-CURLOPT_PORT
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib521
-</tool>
- <name>
-FTP dir list PASV with CURLOPT_PORT
- </name>
- <command>
-ftp://%HOSTIP/520/ %FTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER xxx
-PASS yyy
-PWD
-CWD 520
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test522 b/Utilities/cmcurl-7.19.0/tests/data/test522
deleted file mode 100644
index e701cb5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test522
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-CURLOPT_PORT
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<tool>
-lib521
-</tool>
- <name>
-HTTP GET with CURLOPT_PORT
- </name>
- <command>
-http://%HOSTIP/522 %HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /522 HTTP/1.1
-Authorization: Basic eHh4Onl5eQ==
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<stdout mode="text">
-hello
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test523 b/Utilities/cmcurl-7.19.0/tests/data/test523
deleted file mode 100644
index d8c31da..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test523
+++ /dev/null
@@ -1,64 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-CURLOPT_PORT
-CURLOPT_PROXY
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<tool>
-lib523
-</tool>
- <name>
-HTTP GET with proxy and CURLOPT_PORT
- </name>
-# first URL then proxy
- <command>
-http://www.haxx.se:999/523 http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://www.haxx.se:19999/523 HTTP/1.1
-Authorization: Basic eHh4Onl5eQ==
-Host: www.haxx.se:19999
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-<stdout mode="text">
-hello
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test524 b/Utilities/cmcurl-7.19.0/tests/data/test524
deleted file mode 100644
index 68c3220..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test524
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-UPLOAD
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib524
-</tool>
- <name>
-FTP upload with target URL ending with slash
- </name>
-# first URL then proxy
- <command>
-ftp://%HOSTIP:%FTPPORT/path/to/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-</protocol>
-
-# 3 is CURLE_URL_MALFORMAT
-<errorcode>
-3
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test525 b/Utilities/cmcurl-7.19.0/tests/data/test525
deleted file mode 100644
index 12d4198..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test525
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-STOR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib525
-</tool>
- <name>
-FTP PORT upload using multi interface
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/525 log/upload525
-</command>
-<file name="log/upload525">
-Moooooooooooo
- upload this
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-PORT 127,0,0,1,5,109
-TYPE I
-STOR 525
-QUIT
-</protocol>
-<upload>
-Moooooooooooo
- upload this
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test526 b/Utilities/cmcurl-7.19.0/tests/data/test526
deleted file mode 100644
index b43fdf1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test526
+++ /dev/null
@@ -1,63 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-file contents should appear once for each file
-</data>
-<datacheck>
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib526
-</tool>
- <name>
-FTP RETR same file using different handles but same connection
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/526
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 526
-RETR 526
-EPSV
-SIZE 526
-RETR 526
-EPSV
-SIZE 526
-RETR 526
-EPSV
-SIZE 526
-RETR 526
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test527 b/Utilities/cmcurl-7.19.0/tests/data/test527
deleted file mode 100644
index 2d3a00d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test527
+++ /dev/null
@@ -1,63 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-file contents should appear once for each file
-</data>
-<datacheck>
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib527
-</tool>
- <name>
-FTP RETR same file using different handles but same connection
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/527
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 527
-RETR 527
-EPSV
-SIZE 527
-RETR 527
-EPSV
-SIZE 527
-RETR 527
-EPSV
-SIZE 527
-RETR 527
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test528 b/Utilities/cmcurl-7.19.0/tests/data/test528
deleted file mode 100644
index a0a833b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test528
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 47
-
-file contents should appear once for each file
-</data>
-<datacheck>
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<tool>
-lib526
-</tool>
- <name>
-HTTP GET same file using different handles but same connection
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/path/528
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /path/528 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /path/528 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /path/528 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /path/528 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test529 b/Utilities/cmcurl-7.19.0/tests/data/test529
deleted file mode 100644
index 4d254d8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test529
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-STOR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib529
-</tool>
- <name>
-FTP PORT upload using multi interface (weird cleanup function sequence)
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/529 log/upload529
-</command>
-<file name="log/upload529">
-Moooooooooooo
- upload this
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-PORT 127,0,0,1,5,109
-TYPE I
-STOR 529
-QUIT
-</protocol>
-<upload>
-Moooooooooooo
- upload this
-</upload>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test53 b/Utilities/cmcurl-7.19.0/tests/data/test53
deleted file mode 100644
index c114730..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test53
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Server: Microsoft-IIS/4.0
-Date: Tue, 25 Sep 2001 19:37:44 GMT
-Content-Type: text/html
-Connection: close
-Content-Length: 21
-
-This server says moo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, junk session cookies
- </name>
- <command>
-%HOSTIP:%HTTPPORT/want/53 -b log/injar53 -j
-</command>
-<file name="log/injar53">
-%HOSTIP FALSE / FALSE 2139150993 mooo indeed
-%HOSTIP FALSE / FALSE 0 moo1 indeed
-%HOSTIP FALSE / FALSE 1 moo2 indeed
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/53 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: mooo=indeed
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test530 b/Utilities/cmcurl-7.19.0/tests/data/test530
deleted file mode 100644
index 6b130cd..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test530
+++ /dev/null
@@ -1,83 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-Pipelining
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data1>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 47
-
-file contents should appear once for each file
-</data1>
-<data2>
-HTTP/1.1 200 OK
-</data2>
-<data3>
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-</data3>
-<data4>
-Server: test-server/fake
-Content-Length: 47
-
-file contents should appear once for each file
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 47
-
-file contents should appear once for each file
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 47
-
-file contents should appear once for each file
-</data4>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<tool>
-lib530
-</tool>
- <name>
-HTTP GET using pipelining
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/path/530
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /path/5300001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /path/5300002 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /path/5300003 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /path/5300004 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test531 b/Utilities/cmcurl-7.19.0/tests/data/test531
deleted file mode 100644
index 654497b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test531
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PORT
-STOR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-<servercmd>
-REPLY STOR 425 Permission Denied. File Exists.
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib525
-</tool>
- <name>
-FTP PORT upload using multi interface and get 425 response
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/531 log/upload531
-</command>
-<file name="log/upload531">
-Moooooooooooo
-don't upload this
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# Strip all valid kinds of PORT and EPRT that curl can send
-<strip>
-^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
-^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
-</strip>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-PORT 127,0,0,1,5,109
-TYPE I
-STOR 531
-QUIT
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test532 b/Utilities/cmcurl-7.19.0/tests/data/test532
deleted file mode 100644
index 6baed50..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test532
+++ /dev/null
@@ -1,63 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-file contents should appear once for each file
-</data>
-<datacheck>
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-file contents should appear once for each file
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib532
-</tool>
- <name>
-FTP RETR same file using reset handles between each transfer
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/532
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 532
-RETR 532
-EPSV
-SIZE 532
-RETR 532
-EPSV
-SIZE 532
-RETR 532
-EPSV
-SIZE 532
-RETR 532
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test533 b/Utilities/cmcurl-7.19.0/tests/data/test533
deleted file mode 100644
index 80ec6b2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test533
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-
-<servercmd>
-REPLY RETR 550 the file doesn't exist
-REPLY SIZE 550 Can't check for file existence
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib533
-</tool>
- <name>
-FTP RETR a non-existing file twice using the multi interface
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/533 ftp://%HOSTIP:%FTPPORT/path/533
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 533
-RETR 533
-EPSV
-SIZE 533
-RETR 533
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test534 b/Utilities/cmcurl-7.19.0/tests/data/test534
deleted file mode 100644
index e839457..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test534
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-</data>
-
-<servercmd>
-REPLY RETR 550 the file doesn't exist
-REPLY SIZE 550 Can't check for file existence
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib533
-</tool>
- <name>
-FTP RETR twice using multi: non-existing host and non-existing file
- </name>
- <command>
-ftp://non-existing-host.haxx.se/path/534 ftp://%HOSTIP:%FTPPORT/path/534
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 534
-RETR 534
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test535 b/Utilities/cmcurl-7.19.0/tests/data/test535
deleted file mode 100644
index 5ef3eb6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test535
+++ /dev/null
@@ -1,69 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-multi
-</keywords>
-</info>
-
-<reply>
-<data mode="text">
-HTTP/1.1 404 Badness
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-ETag: "21025-dc7-39462498"
-Content-Length: 6
-Content-Type: text/html
-Funny-head: yesyes
-
-hejsan
-</data>
-<data1>
-HTTP/1.1 200 Fine
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 13
-Connection: close
-Content-Type: text/html
-
-fine content
-</data1>
-
-<datacheck>
-fine content
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib533
-</tool>
-
- <name>
-HTTP GET multi two files with FAILONERROR
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/535 http://%HOSTIP:%HTTPPORT/5350001
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /535 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /5350001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test536 b/Utilities/cmcurl-7.19.0/tests/data/test536
deleted file mode 100644
index c919e9e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test536
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<reply>
-<data mode="text">
-HTTP/1.1 404 Badness
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-ETag: "21025-dc7-39462498"
-Content-Length: 6
-Content-Type: text/html
-Funny-head: yesyes
-
-hejsan
-</data>
-<data1>
-HTTP/1.1 200 Fine
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Length: 13
-Connection: close
-Content-Type: text/html
-
-fine content
-</data1>
-
-<datacheck>
-fine content
-Finished!
-</datacheck>
-
-<servercmd>
-pipe: 1
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib536
-</tool>
-
- <name>
-HTTP GET multi two files with FAILONERROR and pipelining
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/536 http://%HOSTIP:%HTTPPORT/5360001
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /536 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /5360001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test537 b/Utilities/cmcurl-7.19.0/tests/data/test537
deleted file mode 100644
index 8e1fd1c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test537
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-getrlimit
-</features>
-# tool is what to use instead of 'curl'
-<tool>
-lib537
-</tool>
-# precheck is a command line to run before the test, to see if we can execute
-# the test or not
-<precheck>
-./libtest/lib537 check
-</precheck>
-
- <name>
-HTTP GET with a HUGE number of file descriptors open
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/537
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-GET /537 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test538 b/Utilities/cmcurl-7.19.0/tests/data/test538
deleted file mode 100644
index 68962be..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test538
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-FAILURE
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<servercmd>
-REPLY PASS 314 bluah you f00l!
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# NOTE that we use the 504 tool for this case
-<tool>
-lib504
-</tool>
- <name>
-FTP multi-interface download, failed login: PASS not valid
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/538
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-# ok, the error code here is supposed to be 100 for the fine case since
-# that's just how lib504.c is written
-<errorcode>
-100
-</errorcode>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test539 b/Utilities/cmcurl-7.19.0/tests/data/test539
deleted file mode 100644
index f673f28..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test539
+++ /dev/null
@@ -1,63 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-file contents
-</data>
-
-<datacheck>
-file contents
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib539
-</tool>
-
- <name>
-Two FTP fetches using different CURLOPT_FTP_FILEMETHOD
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/to/the/file/539
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path/to/the/file
-EPSV
-TYPE I
-SIZE 539
-RETR 539
-SYST
-CWD /nowhere/anywhere
-EPSV
-TYPE A
-LIST path/to/the/file/539./
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test54 b/Utilities/cmcurl-7.19.0/tests/data/test54
deleted file mode 100644
index fa4f226..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test54
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 302 This is a weirdo text message swsclose
-Connection: close
-Location:
-
-This server reply is for testing
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with blank Location:
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/54 -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/54 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test540 b/Utilities/cmcurl-7.19.0/tests/data/test540
deleted file mode 100644
index 8462db1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test540
+++ /dev/null
@@ -1,99 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Digest auth
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-# this is returned first since we get no proxy-auth
-<data>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-Content-Length: 33
-
-And you should ignore this data.
-</data>
-
-# then this is returned when we get proxy-auth
-<data1000>
-HTTP/1.1 200 OK
-Content-Length: 21
-Server: no
-
-Nice proxy auth sir!
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
-Content-Length: 33
-
-HTTP/1.1 200 OK
-Content-Length: 21
-Server: no
-
-Nice proxy auth sir!
-HTTP/1.1 200 OK
-Content-Length: 21
-Server: no
-
-Nice proxy auth sir!
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib540
-</tool>
-<features>
-crypto
-</features>
- <name>
-HTTP proxy auth Digest multi API re-using connection
- </name>
- <command>
-http://test.remote.server.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-<protocol>
-GET http://test.remote.server.com/path/540 HTTP/1.1
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Host: custom.set.host.name
-
-GET http://test.remote.server.com/path/540 HTTP/1.1
-Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Host: custom.set.host.name
-
-GET http://test.remote.server.com/path/540 HTTP/1.1
-Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Host: custom.set.host.name
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test541 b/Utilities/cmcurl-7.19.0/tests/data/test541
deleted file mode 100644
index d6776a3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test541
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib541
-</tool>
-
- <name>
-FTP upload and upload same file again without rewind
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/541 log/upload541
-</command>
-<file name="log/upload541">
-Contents
-of
-a file
-to verify
-ftp
-upload
-
-
-works?
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-</upload>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE I
-STOR 541
-EPSV
-STOR 541
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test542 b/Utilities/cmcurl-7.19.0/tests/data/test542
deleted file mode 100644
index 4904ed5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test542
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-<datacheck>
-Content-Length: 51
-Accept-ranges: bytes
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib542
-</tool>
- <name>
-FTP a file with NOBODY yes and HEADER no
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/542
-</command>
-
-</client>
-
-# Verify data after the test has been "shot"
-#
-# There's no MTDM in the protocol here since this code doesn't ask for the
-# time/date of the file
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-TYPE I
-SIZE 542
-REST 0
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test543 b/Utilities/cmcurl-7.19.0/tests/data/test543
deleted file mode 100644
index 4556330..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test543
+++ /dev/null
@@ -1,35 +0,0 @@
-<testcase>
-<info>
-<keywords>
-curl_easy_escape
-</keywords>
-</info>
-# Server-side
-
-# Client-side
-<client>
-<server>
-none
-</server>
-<tool>
-lib543
-</tool>
- <name>
-curl_easy_escape
- </name>
- <command>
--
-</command>
-
-</client>
-
-# Verify data after the test has been "shot"
-#
-# There's no MTDM in the protocol here since this code doesn't ask for the
-# time/date of the file
-<verify>
-<stdout>
-%9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test544 b/Utilities/cmcurl-7.19.0/tests/data/test544
deleted file mode 100644
index 54f81d3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test544
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 3
-
-OK
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib544
-</tool>
-
- <name>
-HTTP POST text data using CURLOPT_COPYPOSTFIELDS
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/544
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /544 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 4
-Content-Type: application/x-www-form-urlencoded
-
-This
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test545 b/Utilities/cmcurl-7.19.0/tests/data/test545
deleted file mode 100644
index 9da1985..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test545
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test546 b/Utilities/cmcurl-7.19.0/tests/data/test546
deleted file mode 100644
index 6834616..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test546
+++ /dev/null
@@ -1,70 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-PASV
-RETR
-multi
-</keywords>
-</info>
-# Server-side
-<reply>
-<data nocheck="1">
-data
- to
- see
-that FTP
-works
- so does it?
-</data>
-
-<servercmd>
-REPLY RETR 550 the file doesn't exist
-COUNT RETR 1
-REPLY SIZE 550 Can't check for file existence
-COUNT SIZE 1
-</servercmd>
-</reply>
-
-# Client-side
-<client>
-<server>
-ftp
-</server>
-<tool>
-lib533
-</tool>
- <name>
-FTP RETR a non-existing file then a found one using the multi interface
- </name>
- <command>
-ftp://%HOSTIP:%FTPPORT/path/546 ftp://%HOSTIP:%FTPPORT/path/546
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-CWD path
-EPSV
-TYPE I
-SIZE 546
-RETR 546
-EPSV
-SIZE 546
-RETR 546
-QUIT
-</protocol>
-<stdout>
-data
- to
- see
-that FTP
-works
- so does it?
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test547 b/Utilities/cmcurl-7.19.0/tests/data/test547
deleted file mode 100644
index 9fe079e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test547
+++ /dev/null
@@ -1,131 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-POST callback
-HTTP proxy NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-Hey you, authenticate or go away!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool to use
-<tool>
-lib547
-</tool>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy auth NTLM with POST data from read callback
- </name>
- <command>
-http://test.remote.server.com/path/547 http://%HOSTIP:%HTTPPORT s1lly:pers0n
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-POST http://test.remote.server.com/path/547 HTTP/1.1
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-POST http://test.remote.server.com/path/547 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST http://test.remote.server.com/path/547 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test548 b/Utilities/cmcurl-7.19.0/tests/data/test548
deleted file mode 100644
index bacccfc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test548
+++ /dev/null
@@ -1,130 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP proxy NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-Hey you, authenticate or go away!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool to use
-<tool>
-lib548
-</tool>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS
- </name>
- <command>
-http://test.remote.server.com/path/548 http://%HOSTIP:%HTTPPORT s1lly:pers0n
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-POST http://test.remote.server.com/path/548 HTTP/1.1
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-POST http://test.remote.server.com/path/548 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST http://test.remote.server.com/path/548 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test549 b/Utilities/cmcurl-7.19.0/tests/data/test549
deleted file mode 100644
index b6678cb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test549
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-CURLOPT_PROXY_TRANSFER_MODE
-CURLOPT_PROXY
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-ftp
-</features>
-<tool>
-lib549
-</tool>
- <name>
-FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE
- </name>
-# first URL then proxy
- <command>
-ftp://www.haxx.se/moo/549 http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET ftp://www.haxx.se/moo/549;type=i HTTP/1.1
-Host: www.haxx.se:21
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-<stdout mode="text">
-hello
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test55 b/Utilities/cmcurl-7.19.0/tests/data/test55
deleted file mode 100644
index 6de5f36..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test55
+++ /dev/null
@@ -1,66 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-followlocation
-</keywords>
-</info>
-<reply>
-<data>
-HTTP/1.1 302 OK swsclose
-Location: 550002
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-</data>
-<data2>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-body
-</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose
-Location: 550002
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:50:00 GMT
-Connection: close
-
-body
-</datacheck>
-</reply>
-
-<client>
-<server>
-http
-</server>
- <name>
-HTTP follow redirect with single slash in path
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/55 -L
-</command>
-</client>
-
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /55 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /550002 HTTP/1.1
-User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test550 b/Utilities/cmcurl-7.19.0/tests/data/test550
deleted file mode 100644
index ac724ad..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test550
+++ /dev/null
@@ -1,65 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-CURLOPT_PROXY_TRANSFER_MODE
-CURLOPT_PROXY
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-
-hello
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-ftp
-</features>
-<tool>
-lib549
-</tool>
- <name>
-FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ascii transfer
- </name>
-# first URL then proxy
- <command>
-ftp://www.haxx.se/moo/550 http://%HOSTIP:%HTTPPORT ascii
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET ftp://www.haxx.se/moo/550;type=a HTTP/1.1
-Host: www.haxx.se:21
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-<stdout mode="text">
-hello
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test551 b/Utilities/cmcurl-7.19.0/tests/data/test551
deleted file mode 100644
index acd30da..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test551
+++ /dev/null
@@ -1,103 +0,0 @@
-<testcase>
-<info>
-# this test is meant to be exactly like 547 but using Digest instead of NTLM
-<keywords>
-HTTP
-HTTP POST
-POST callback
-HTTP proxy Digest auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-# as a bonus, ww use an excessive nonce length
-<data>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Digest realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets the Digest
-# Authorization: line passed-in from the client
-<data1000>
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</data1000>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Digest realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool to use
-<tool>
-lib547
-</tool>
-<features>
-</features>
- <name>
-HTTP proxy auth Digest with POST data from read callback
- </name>
- <command>
-http://test.remote.server.com/path/551 http://%HOSTIP:%HTTPPORT s1lly:pers0n
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-POST http://test.remote.server.com/path/551 HTTP/1.1
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-POST http://test.remote.server.com/path/551 HTTP/1.1
-Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", uri="/path/551", response="3325240726fbdaf1e61f3a0dd40b930c"
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test552 b/Utilities/cmcurl-7.19.0/tests/data/test552
deleted file mode 100644
index 7536d16..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test552
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test553 b/Utilities/cmcurl-7.19.0/tests/data/test553
deleted file mode 100644
index 22671f1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test553
+++ /dev/null
@@ -1,67 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-POST callback
-huge request header
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 200 Fine!
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Length: 6
-
-hello
-</data>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool to use
-<tool>
-lib553
-</tool>
-<features>
-</features>
- <name>
-HTTP post with huge request headers and post data from callback
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/path/553
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<protocol nonewline="yes">
-POST /path/553 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Header0: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header2: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header3: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header4: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header5: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header6: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Header7: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-Content-Length: 40960
-Content-Type: application/x-www-form-urlencoded
-
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test554 b/Utilities/cmcurl-7.19.0/tests/data/test554
deleted file mode 100644
index c41661d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test554
+++ /dev/null
@@ -1,68 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-<data mode="text">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Connection: close
-Content-Type: text/html
-
-hello
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib554
-</tool>
-
- <name>
-HTTP multi-part formpost using read callback for the file part
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/554
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strippart>
-s/^------------------------------[a-z0-9]*/------------------------------/
-s/boundary=----------------------------[a-z0-9]*/boundary=----------------------------/
-</strippart>
-# Note that the stripping above removes 12 bytes from every occurance of the
-# boundary string and since 4 of them are in the body contents, we see
-# 415 - (4*12) here == 367 bytes.
-<protocol>
-POST /554 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 415
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------
-
-------------------------------
-Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
-
-this is what we post to the silly web server
-
-------------------------------
-Content-Disposition: form-data; name="filename"
-
-postit2.c
-------------------------------
-Content-Disposition: form-data; name="submit"
-
-send
---------------------------------
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test555 b/Utilities/cmcurl-7.19.0/tests/data/test555
deleted file mode 100644
index ae20074..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test555
+++ /dev/null
@@ -1,136 +0,0 @@
-<testcase>
-# NOTE: this test case is a duplicate of 547 but the tool is built to use the
-# multi interface instead of easy, but that shouldn't be noticable at all in
-# this file!
-<info>
-<keywords>
-HTTP
-HTTP POST
-POST callback
-HTTP proxy NTLM auth
-multi
-</keywords>
-</info>
-
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# this is returned first since we get no proxy-auth
-<data1001>
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-Hey you, authenticate or go away!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts"
-Proxy-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 407 Authorization Required to proxy me my dear
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-Content-Length: 34
-
-HTTP/1.1 200 Things are fine in proxy land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 42
-
-Contents of that page you requested, sir.
-</datacheck>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-# tool to use
-<tool>
-lib555
-</tool>
-<features>
-NTLM
-</features>
- <name>
-HTTP proxy auth NTLM with POST data from read callback multi-if
- </name>
- <command>
-http://test.remote.server.com/path/555 http://%HOSTIP:%HTTPPORT s1lly:pers0n
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent: curl/.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA).*/$1/
-</strippart>
-<protocol>
-POST http://test.remote.server.com/path/555 HTTP/1.1
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-POST http://test.remote.server.com/path/555 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 0
-Content-Type: application/x-www-form-urlencoded
-
-POST http://test.remote.server.com/path/555 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQAFAHAAAAA
-User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
-Host: test.remote.server.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-Content-Length: 36
-Content-Type: application/x-www-form-urlencoded
-
-this is the blurb we want to upload
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test556 b/Utilities/cmcurl-7.19.0/tests/data/test556
deleted file mode 100644
index 95901be..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test556
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-
-<reply>
-<data>
-HTTP/1.1 200 OK
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-Content-Length: 6
-Connection: close
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<tool>
-lib556
-</tool>
- <name>
-send and recv HTTP
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /556 HTTP/1.2
-Host: ninja
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test557 b/Utilities/cmcurl-7.19.0/tests/data/test557
deleted file mode 100644
index 0929e0a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test557
+++ /dev/null
@@ -1,37 +0,0 @@
-<testcase>
-#
-# Server-side
-<reply>
-</reply>
-
-# Client-side
-<client>
-<server>
-none
-</server>
-# tool is what to use instead of 'curl'
-<tool>
-lib557
-</tool>
-
-<name>
-curl_mprintf() testing
-</name>
-<command>
-nothing
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<stdout mode="text">
-All curl_mprintf() unsigned int tests OK!
-All curl_mprintf() signed int tests OK!
-All curl_mprintf() unsigned long tests OK!
-All curl_mprintf() signed long tests OK!
-All curl_mprintf() curl_off_t tests OK!
-</stdout>
-</verify>
-
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test56 b/Utilities/cmcurl-7.19.0/tests/data/test56
deleted file mode 100644
index 48ec007..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test56
+++ /dev/null
@@ -1,61 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-chunked Transfer-Encoding
-config file
--A
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Funny-head: yesyes
-
-This is the proof it works
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST with *HUGE* request and chunked transfer-encoding
- </name>
- <stdin>
-#
-data "we post this"
-#
-# enforce chunky post!
-header "Transfer-Encoding: chunked"
-#
-# Set the user-agent using a short-option:
--A "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
-#
- </stdin>
- <command>
--K - %HOSTIP:%HTTPPORT/that.site.com/56
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-POST /that.site.com/56 HTTP/1.1
-User-Agent: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Content-Type: application/x-www-form-urlencoded
-
-c
-we post this
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test57 b/Utilities/cmcurl-7.19.0/tests/data/test57
deleted file mode 100644
index ab04c9c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test57
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
---write-out
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK swsclose
-Funny-head: yesyes
-Content-Type: text/html; charset=ISO-8859-4
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP content-type with spaces in
- </name>
- <command>
--w "%{content_type}\n" http://%HOSTIP:%HTTPPORT/57 -o log/out57
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<stdout mode="text">
-text/html; charset=ISO-8859-4
-</stdout>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /57 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test58 b/Utilities/cmcurl-7.19.0/tests/data/test58
deleted file mode 100644
index 1cc73e8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test58
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<name>
-HTTP PUT from file with weird letters
-</name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/ -T log/58te[]st.txt -g
-</command>
-<file name="log/58te[]st.txt">
-a few bytes
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /we/want/58te%5B%5Dst%2Etxt HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 12
-Expect: 100-continue
-
-a few bytes
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test59 b/Utilities/cmcurl-7.19.0/tests/data/test59
deleted file mode 100644
index fe34d7e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test59
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-#
-# Server-side
-<reply name="1">
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-hej
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP URL with slash but with "parameter"
- </name>
- <command>
-"http://%HOSTIP:%HTTPPORT?mooo/59"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /?mooo/59 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test6 b/Utilities/cmcurl-7.19.0/tests/data/test6
deleted file mode 100644
index 0185dbe..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test6
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP set cookie
-cookies
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes
-swsclose: booo
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with simple cookie send
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/6 -b "name=contents;name2=content2"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/that/page/6 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: name=contents;name2=content2
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test60 b/Utilities/cmcurl-7.19.0/tests/data/test60
deleted file mode 100644
index 3fe1ffa..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test60
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<name>
-HTTP PUT from stdin with wrong content-length
-</name>
- <command>
-http://%HOSTIP:%HTTPPORT/bzz/60 -T - -H "Content-Length: 1"
-</command>
-<stdin>
-more than one byte
-</stdin>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /bzz/60 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Transfer-Encoding: chunked
-Content-Length: 1
-Expect: 100-continue
-
-13
-more than one byte
-
-0
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test600 b/Utilities/cmcurl-7.19.0/tests/data/test600
deleted file mode 100644
index e7fa164..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test600
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-Test data
-for ssh test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP retrieval
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file600.txt
-</command>
-<file name="log/file600.txt">
-Test data
-for ssh test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test601 b/Utilities/cmcurl-7.19.0/tests/data/test601
deleted file mode 100644
index c74c619..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test601
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-Test data
-for ssh test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP retrieval
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file601.txt
-</command>
-<file name="log/file601.txt">
-Test data
-for ssh test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test602 b/Utilities/cmcurl-7.19.0/tests/data/test602
deleted file mode 100644
index 40aacce..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test602
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-SFTP put
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP put
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file602.txt sftp://%HOSTIP:%SSHPORT%PWD/log/upload.602
-</command>
-<file name="log/file602.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-Test data
-for ssh upload test
-</upload>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test603 b/Utilities/cmcurl-7.19.0/tests/data/test603
deleted file mode 100644
index 9124f78..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test603
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-SCP upload
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP upload
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file603.txt scp://%HOSTIP:%SSHPORT%PWD/log/upload.603
-</command>
-<file name="log/file603.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-Test data
-for ssh upload test
-</upload>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test604 b/Utilities/cmcurl-7.19.0/tests/data/test604
deleted file mode 100644
index c55a380..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test604
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP retrieval of nonexistent file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-78
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test605 b/Utilities/cmcurl-7.19.0/tests/data/test605
deleted file mode 100644
index 64d0a1e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test605
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP retrieval of nonexistent file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-79
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test606 b/Utilities/cmcurl-7.19.0/tests/data/test606
deleted file mode 100644
index 6f3b5fc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test606
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP invalid user login
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test607 b/Utilities/cmcurl-7.19.0/tests/data/test607
deleted file mode 100644
index 503c426..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test607
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP invalid user login
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u not-a-valid-user: scp://%HOSTIP:%SSHPORT%PWD/not-a-valid-file-moooo
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test608 b/Utilities/cmcurl-7.19.0/tests/data/test608
deleted file mode 100644
index 0a307fb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test608
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-post-quote
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-Test file for rename test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP post-quote rename
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-rename %PWD/log/file608.txt %PWD/log/file608-renamed.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/file608.txt
-</command>
-<file name="log/file608.txt">
-Test file for rename test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<file name="log/file608-renamed.txt">
-Test file for rename test
-</file>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test609 b/Utilities/cmcurl-7.19.0/tests/data/test609
deleted file mode 100644
index d998a3b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test609
+++ /dev/null
@@ -1,45 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-post-quote
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-Test file for mkdir test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP post-quote mkdir failure
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-mkdir %PWD/log/file609.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/file609.txt
-</command>
-<file name="log/file609.txt">
-Test file for mkdir test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-21
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test61 b/Utilities/cmcurl-7.19.0/tests/data/test61
deleted file mode 100644
index 1ec0fef..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test61
+++ /dev/null
@@ -1,70 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-cookiejar
-HTTP replaced headers
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes
-Set-Cookie: test=yes; domain=foo.com; expires=Fri Feb 2 11:56:27 GMT 2035
-Set-Cookie: test2=yes; domain=host.foo.com; expires=Fri Feb 2 11:56:27 GMT 2035
-Set-Cookie: test3=maybe; domain=foo.com; path=/moo; secure
-Set-Cookie: test4=no; domain=nope.foo.com; path=/moo; secure
-Set-Cookie: test5=name; domain=anything.com; path=/ ; secure
-Content-Length: 4
-
-boo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with various cookies and custom Host:
- </name>
-# Explicitly set the time zone to a known good one, in case the user is
-# using one of the 'right' zones that take into account leap seconds
-# which causes the cookie expiry times to be different.
-<setenv>
-TZ=GMT
-</setenv>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/61 -c log/jar61.txt -H "Host: www.host.foo.com"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/61 HTTP/1.1
-Accept: */*
-Host: www.host.foo.com
-
-</protocol>
-<file name="log/jar61.txt" mode="text">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.foo.com TRUE /we/want/ FALSE 2054030187 test yes
-.host.foo.com TRUE /we/want/ FALSE 2054030187 test2 yes
-.foo.com TRUE /moo TRUE 0 test3 maybe
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test610 b/Utilities/cmcurl-7.19.0/tests/data/test610
deleted file mode 100644
index b81acae..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test610
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-post-quote
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-Dummy test file for rmdir test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
-<precheck>
-perl %SRCDIR/libtest/test610.pl mkdir %PWD/log/test610.dir
-</precheck>
- <name>
-SFTP post-quote rmdir
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-rmdir %PWD/log/test610.dir" sftp://%HOSTIP:%SSHPORT%PWD/log/file610.txt
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test610.pl gone %PWD/log/test610.dir
-</postcheck>
-<file name="log/file610.txt">
-Dummy test file for rmdir test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test611 b/Utilities/cmcurl-7.19.0/tests/data/test611
deleted file mode 100644
index 0016edc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test611
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-post-quote
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-Dummy test file for rename test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
-<precheck>
-perl %SRCDIR/libtest/test610.pl mkdir %PWD/log/test611.dir
-</precheck>
- <name>
-SFTP post-quote rename
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "-rename %PWD/log/test611.dir %PWD/log/test611.new" sftp://%HOSTIP:%SSHPORT%PWD/log/file611.txt
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test610.pl rmdir %PWD/log/test611.new
-</postcheck>
-<file name="log/file611.txt">
-Dummy test file for rename test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test612 b/Utilities/cmcurl-7.19.0/tests/data/test612
deleted file mode 100644
index 972656a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test612
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-post-quote
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data nocheck="1">
-Dummy test file for remove test
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP post-quote remove file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file612.txt -Q "-rm %PWD/log/file612.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/upload.612
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test610.pl gone %PWD/log/test612.txt
-</postcheck>
-<file name="log/file612.txt">
-Dummy test file for remove test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-Dummy test file for remove test
-</upload>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test613 b/Utilities/cmcurl-7.19.0/tests/data/test613
deleted file mode 100644
index db0534a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test613
+++ /dev/null
@@ -1,48 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-directory
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<datacheck>
-d????????? N U U N ??? N NN:NN .
-d????????? N U U N ??? N NN:NN ..
-d????????? N U U N ??? N NN:NN asubdir
--rw?rw?rw? 1 U U 37 Jan 1 2000 plainfile.txt
--r-?r-?r-? 1 U U 47 Dec 31 2000 rofile.txt
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
-<precheck>
-perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test613.dir
-</precheck>
- <name>
-SFTP directory retrieval
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/test613.dir/
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test613.dir %PWD/log/curl613.out
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test614 b/Utilities/cmcurl-7.19.0/tests/data/test614
deleted file mode 100644
index 1767743..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test614
+++ /dev/null
@@ -1,49 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-pre-quote
-directory
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<datacheck>
-d????????? N U U N ??? N NN:NN .
-d????????? N U U N ??? N NN:NN ..
-d????????? N U U N ??? N NN:NN asubdir
--r-?r-?r-? 1 U U 37 Jan 1 2000 plainfile.txt
--r-?r-?r-? 1 U U 47 Dec 31 2000 rofile.txt
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
-<precheck>
-perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test614.dir
-</precheck>
- <name>
-SFTP pre-quote chmod
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "chmod 444 %PWD/log/test614.dir/plainfile.txt" sftp://%HOSTIP:%SSHPORT%PWD/log/test614.dir/
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test614.dir %PWD/log/curl614.out
-</postcheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test615 b/Utilities/cmcurl-7.19.0/tests/data/test615
deleted file mode 100644
index 1249826..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test615
+++ /dev/null
@@ -1,44 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-SFTP put
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
-<precheck>
-perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test615.dir
-</precheck>
- <name>
-SFTP put remote failure
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file615.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test615.dir/rofile.txt
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test615.dir
-</postcheck>
-<file name="log/file615.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-9
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test616 b/Utilities/cmcurl-7.19.0/tests/data/test616
deleted file mode 100644
index 28e3402..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test616
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-zero-length
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data sendzero="yes">
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP retrieval of empty file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file616.txt
-</command>
-<file name="log/file616.txt">
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test617 b/Utilities/cmcurl-7.19.0/tests/data/test617
deleted file mode 100644
index acd7f74..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test617
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-zero-length
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data sendzero="yes">
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP retrieval of empty file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file617.txt
-</command>
-<file name="log/file617.txt">
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test618 b/Utilities/cmcurl-7.19.0/tests/data/test618
deleted file mode 100644
index 673bdcb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test618
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP retrieval of two files
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file618.txt sftp://%HOSTIP:%SSHPORT%PWD/log/file618.txt
-</command>
-<file name="log/file618.txt">
-Test data
-for ssh test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-<stdout>
-Test data
-for ssh test
-Test data
-for ssh test
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test619 b/Utilities/cmcurl-7.19.0/tests/data/test619
deleted file mode 100644
index f43af52..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test619
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP retrieval of two files
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/file619.txt scp://%HOSTIP:%SSHPORT%PWD/log/file619.txt
-</command>
-<file name="log/file619.txt">
-Test data
-for ssh test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-<stdout>
-Test data
-for ssh test
-Test data
-for ssh test
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test62 b/Utilities/cmcurl-7.19.0/tests/data/test62
deleted file mode 100644
index 1990b91..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test62
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP replaced headers
-cookies
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Type: text/html
-
-boo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, send cookies when using custom Host:
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/62 -b log/jar62.txt -H "Host: www.host.foo.com"
-</command>
-<file name="log/jar62.txt">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.foo.com TRUE /we/want/ FALSE 2054030187 test yes
-.host.foo.com TRUE /we/want/ FALSE 2054030187 test2 yes
-.fake.host.foo.com TRUE /we/want/ FALSE 2054030187 test4 yes
-
-.foo.com TRUE /moo TRUE 0 test3 maybe
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/62 HTTP/1.1
-Accept: */*
-Cookie: test2=yes; test=yes
-Host: www.host.foo.com
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test620 b/Utilities/cmcurl-7.19.0/tests/data/test620
deleted file mode 100644
index f7a87d2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test620
+++ /dev/null
@@ -1,38 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP retrieval of missing file followed by good file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/not-a-valid-file-moooo sftp://%HOSTIP:%SSHPORT%PWD/log/file620.txt
-</command>
-<file name="log/file620.txt">
-Test data
-for ssh test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-<stdout>
-Test data
-for ssh test
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test621 b/Utilities/cmcurl-7.19.0/tests/data/test621
deleted file mode 100644
index 9ffbf3b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test621
+++ /dev/null
@@ -1,38 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP retrieval of missing file followed by good file
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/not-a-valid-file-moooo scp://%HOSTIP:%SSHPORT%PWD/log/file621.txt
-</command>
-<file name="log/file621.txt">
-Test data
-for ssh test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-<stdout>
-Test data
-for ssh test
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test622 b/Utilities/cmcurl-7.19.0/tests/data/test622
deleted file mode 100644
index e91a8ad..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test622
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-SFTP put
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP put failure
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file622.txt sftp://%HOSTIP:%SSHPORT%PWD/log/nonexistent-directory/nonexistent-file
-</command>
-<file name="log/file622.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-78
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test623 b/Utilities/cmcurl-7.19.0/tests/data/test623
deleted file mode 100644
index c5b258d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test623
+++ /dev/null
@@ -1,43 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-SCP upload
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP upload failure
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file623.txt scp://%HOSTIP:%SSHPORT%PWD/log/nonexistent-directory/nonexistent-file
-</command>
-<file name="log/file623.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-79
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test624 b/Utilities/cmcurl-7.19.0/tests/data/test624
deleted file mode 100644
index 818c544..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test624
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-SFTP put
---ftp-create-dirs
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP put with --ftp-create-dirs
- </name>
- <command>
---ftp-create-dirs --key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file624.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test624.dir/upload.624
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test610.pl move %PWD/log/test624.dir/upload.624 %PWD/log/upload.624 rmdir %PWD/log/test624.dir
-</postcheck>
-<file name="log/file624.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-Test data
-for ssh upload test
-</upload>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test625 b/Utilities/cmcurl-7.19.0/tests/data/test625
deleted file mode 100644
index ce4b8bc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test625
+++ /dev/null
@@ -1,47 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-SFTP put
---ftp-create-dirs
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP put with --ftp-create-dirs twice
- </name>
- <command>
---ftp-create-dirs --key curl_client_key --pubkey curl_client_key.pub -u %USER: -T log/file625.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test625.a/upload.625 -T log/file625.txt sftp://%HOSTIP:%SSHPORT%PWD/log/test625.b/upload.625
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test610.pl move %PWD/log/test625.a/upload.625 %PWD/log/upload.625 rmdir %PWD/log/test625.a rm %PWD/log/test625.b/upload.625 rmdir %PWD/log/test625.b
-</postcheck>
-<file name="log/file625.txt">
-Test data
-for ssh upload test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<upload>
-Test data
-for ssh upload test
-</upload>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test626 b/Utilities/cmcurl-7.19.0/tests/data/test626
deleted file mode 100644
index 475b6d7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test626
+++ /dev/null
@@ -1,42 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-pre-quote
-FAILURE
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP invalid quote command
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -Q "invalid-command foo bar" sftp://%HOSTIP:%SSHPORT%PWD/log/file626.txt
-</command>
-<file name="log/file626.txt">
-Test file for rename test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-21
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test627 b/Utilities/cmcurl-7.19.0/tests/data/test627
deleted file mode 100644
index 3d86e7b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test627
+++ /dev/null
@@ -1,46 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-quote
-NOBODY
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data sendzero="yes">
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP quote remove file with NOBODY
- </name>
- <command>
---key curl_client_key --pubkey curl_client_key.pub -u %USER: -I -Q "rm %PWD/log/file627.txt" sftp://%HOSTIP:%SSHPORT
-</command>
-<postcheck>
-perl %SRCDIR/libtest/test610.pl gone %PWD/log/test627.txt
-</postcheck>
-<file name="log/file627.txt">
-Dummy test file for remove test
-</file>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<valgrind>
-disable
-</valgrind>
-<protocol>
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test628 b/Utilities/cmcurl-7.19.0/tests/data/test628
deleted file mode 100644
index f24fe05..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test628
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP invalid user login (password authentication)
- </name>
- <command>
--u not-a-valid-user: sftp://%HOSTIP:%SSHPORT%PWD/irrelevant-file
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test629 b/Utilities/cmcurl-7.19.0/tests/data/test629
deleted file mode 100644
index 621f741..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test629
+++ /dev/null
@@ -1,33 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-FAILURE
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP invalid user login (password authentication)
- </name>
- <command>
--u not-a-valid-user: scp://%HOSTIP:%SSHPORT%PWD/irrelevant-file
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-67
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test63 b/Utilities/cmcurl-7.19.0/tests/data/test63
deleted file mode 100644
index 6e4d00c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test63
+++ /dev/null
@@ -1,53 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-HTTP proxy Basic auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Type: text/html
-Content-Length: 26
-
-the content would go here
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with proxy authorization set in environment
- </name>
-<setenv>
-http_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
-</setenv>
- <command>
-http://we.want.that.site.com/63
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://we.want.that.site.com/63 HTTP/1.1
-Proxy-Authorization: Basic ZmFrZTp1c2Vy
-Host: we.want.that.site.com
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test630 b/Utilities/cmcurl-7.19.0/tests/data/test630
deleted file mode 100644
index 90d364b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test630
+++ /dev/null
@@ -1,34 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-FAILURE
-server key check
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-sftp
-</server>
- <name>
-SFTP incorrect host key
- </name>
- <command>
---hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-51
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test631 b/Utilities/cmcurl-7.19.0/tests/data/test631
deleted file mode 100644
index f3d8146..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test631
+++ /dev/null
@@ -1,34 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SCP
-FAILURE
-server key check
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-scp
-</server>
- <name>
-SCP incorrect host key
- </name>
- <command>
---hostpubmd5 00000000000000000000000000000000 --key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-51
-</errorcode>
-<valgrind>
-disable
-</valgrind>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test632 b/Utilities/cmcurl-7.19.0/tests/data/test632
deleted file mode 100644
index 1b2ad31..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test632
+++ /dev/null
@@ -1,34 +0,0 @@
-<testcase>
-<info>
-<keywords>
-SFTP
-FAILURE
-server key check
-</keywords>
-</info>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-sftp
-</features>
- <name>
-SFTP syntactically invalid host key
- </name>
- <command>
---hostpubmd5 00 --key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/irrelevant-file
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-2
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test64 b/Utilities/cmcurl-7.19.0/tests/data/test64
deleted file mode 100644
index f3da547..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test64
+++ /dev/null
@@ -1,83 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Digest auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with Digest authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/64 -u testuser:testpass --digest
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /64 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /64 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/64", response="c55f7f30d83d774a3d2dcacf725abaca"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test65 b/Utilities/cmcurl-7.19.0/tests/data/test65
deleted file mode 100644
index 59e503b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test65
+++ /dev/null
@@ -1,83 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Digest auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 401 Still a bad password you moron
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-
-This is not the real page either
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="2053604145"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 401 Still a bad password you moron
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-
-This is not the real page either
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with Digest authorization with bad password
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/65 -u testuser:test2pass --digest
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /65 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /65 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="2053604145", uri="/65", response="66d68d3251f1839576ba7c766cf9205b"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test66 b/Utilities/cmcurl-7.19.0/tests/data/test66
deleted file mode 100644
index 1ad56dc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test66
+++ /dev/null
@@ -1,41 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-no headers swsclose
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET without headers in the response
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/66
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /66 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test67 b/Utilities/cmcurl-7.19.0/tests/data/test67
deleted file mode 100644
index 97b1a03..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test67
+++ /dev/null
@@ -1,96 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<!-- no <data> in this test since we have NTLM from the start
-
-This is supposed to be returned when the server gets a first
-Authorization: NTLM line passed-in from the client -->
-
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/67 -u testuser:testpass --ntlm
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /67 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /67 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test68 b/Utilities/cmcurl-7.19.0/tests/data/test68
deleted file mode 100644
index 0806219..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test68
+++ /dev/null
@@ -1,95 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-# This is supposed to be returned when the server gets a first
-# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 401 You give me wrong password
-Server: Microsoft-IIS/5.0
-WWW-Authenticate: NTLM
-Content-Length: 46
-Content-Type: text/html; charset=iso-8859-1
-
-Wrong password dude. Get it fixed and return.
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 401 You give me wrong password
-Server: Microsoft-IIS/5.0
-WWW-Authenticate: NTLM
-Content-Length: 46
-Content-Type: text/html; charset=iso-8859-1
-
-Wrong password dude. Get it fixed and return.
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM authorization and wrong password
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/68 -u testuser:testpass --ntlm
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /68 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /68 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test69 b/Utilities/cmcurl-7.19.0/tests/data/test69
deleted file mode 100644
index 7eee1e8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test69
+++ /dev/null
@@ -1,117 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic
-WWW-Authenticate: Wild-and-crazy
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a first
-# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic
-WWW-Authenticate: Wild-and-crazy
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM, Basic or Wild-and-crazy authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/69 -u testuser:testpass --anyauth
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /69 HTTP/1.1
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /69 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /69 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test7 b/Utilities/cmcurl-7.19.0/tests/data/test7
deleted file mode 100644
index 728b1a3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test7
+++ /dev/null
@@ -1,62 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-header dump
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes swsclose
-Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
-Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
-Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with cookie parser and header recording
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/7 -b none -D log/heads7.txt
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/7 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<file name="log/heads7.txt">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes swsclose
-Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
-Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
-Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
-
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test70 b/Utilities/cmcurl-7.19.0/tests/data/test70
deleted file mode 100644
index ef93d08..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test70
+++ /dev/null
@@ -1,87 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Digest auth
---anyauth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with Digest *OR* NTLM authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/70 -u testuser:testpass --anyauth
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /70 HTTP/1.1
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /70 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604199", uri="/70", response="2c9a6f00af0d86497b177b90e90c688a"
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test700 b/Utilities/cmcurl-7.19.0/tests/data/test700
deleted file mode 100644
index 460720b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test700
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-SOCKS4
-</keywords>
-</info>
-
-#
-# Server-side
-<reply name="1">
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-socks4
-</server>
- <name>
-HTTP GET via SOCKS4 proxy
- </name>
- <command>
---socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/700
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /700 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test701 b/Utilities/cmcurl-7.19.0/tests/data/test701
deleted file mode 100644
index 3010429..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test701
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-SOCKS5
-</keywords>
-</info>
-
-#
-# Server-side
-<reply name="1">
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-socks5
-</server>
- <name>
-HTTP GET via SOCKS5 proxy
- </name>
- <command>
---socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/701
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /701 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test702 b/Utilities/cmcurl-7.19.0/tests/data/test702
deleted file mode 100644
index 36af713..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test702
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-#based off 19
-<info>
-<keywords>
-HTTP
-SOCKS4
-connect to non-listen
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-socks4
-</server>
-<features>
-http
-</features>
- <name>
-Attempt connect to non-listening HTTP server via SOCKS4 proxy
- </name>
- <command>
---socks4 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-7
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test703 b/Utilities/cmcurl-7.19.0/tests/data/test703
deleted file mode 100644
index 4aa89b4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test703
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-#based off 19
-<info>
-<keywords>
-HTTP
-SOCKS5
-connect to non-listen
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-socks5
-</server>
-<features>
-http
-</features>
- <name>
-Attempt connect to non-listening HTTP server via SOCKS5 proxy
- </name>
- <command>
---socks5 %HOSTIP:%SOCKSPORT http://%HOSTIP:60000
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-7
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test704 b/Utilities/cmcurl-7.19.0/tests/data/test704
deleted file mode 100644
index 15a1b67..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test704
+++ /dev/null
@@ -1,36 +0,0 @@
-<testcase>
-#based off 19
-<info>
-<keywords>
-HTTP
-SOCKS4
-connect to non-listen
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-Attempt connect to non-listening SOCKS4 proxy
- </name>
- <command>
---socks4 %HOSTIP:60000 http://%HOSTIP:%HTTPPORT/704
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-7
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test705 b/Utilities/cmcurl-7.19.0/tests/data/test705
deleted file mode 100644
index 3b904c6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test705
+++ /dev/null
@@ -1,36 +0,0 @@
-<testcase>
-#based off 19
-<info>
-<keywords>
-HTTP
-SOCKS5
-connect to non-listen
-FAILURE
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-Attempt connect to non-listening SOCKS5 proxy
- </name>
- <command>
---socks5 %HOSTIP:60000 http://%HOSTIP:%HTTPPORT/705
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-7
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test706 b/Utilities/cmcurl-7.19.0/tests/data/test706
deleted file mode 100644
index 7dcd516..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test706
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-#based off test 100
-<info>
-<keywords>
-FTP
-PASV
-LIST
-SOCKS4
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-socks4
-</server>
- <name>
-FTP dir list PASV via SOCKS4
- </name>
- <command>
---socks4 %HOSTIP:%SOCKSPORT ftp://%HOSTIP:%FTPPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test707 b/Utilities/cmcurl-7.19.0/tests/data/test707
deleted file mode 100644
index 9ec80b5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test707
+++ /dev/null
@@ -1,59 +0,0 @@
-<testcase>
-#based off test 100
-<info>
-<keywords>
-FTP
-PASV
-LIST
-SOCKS5
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-# When doing LIST, we get the default list output hard-coded in the test
-# FTP server
-<datacheck>
-total 20
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
-drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
-drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
--r--r--r-- 1 0 1 35 Jul 16 1996 README
-lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
-dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
-drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
-dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
-drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
-dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-ftp
-socks5
-</server>
- <name>
-FTP dir list PASV via SOCKS5
- </name>
- <command>
---socks5 %HOSTIP:%SOCKSPORT ftp://%HOSTIP:%FTPPORT/
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<protocol>
-USER anonymous
-PASS ftp@example.com
-PWD
-EPSV
-TYPE A
-LIST
-QUIT
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test71 b/Utilities/cmcurl-7.19.0/tests/data/test71
deleted file mode 100644
index a806bbb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test71
+++ /dev/null
@@ -1,79 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-config file
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Length: 11
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP and -F upload in config file
- </name>
-<stdin>
--F name=daniel
--F tool=curl
--F file=@log/test71.txt
-</stdin>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/71 -K -
-</command>
-# We create this file before the command is invoked!
-<file name="log/test71.txt">
-foo-
-This is a moo-
-bar
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/71 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 408
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
-
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="file"; filename="test71.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------9ef8d6205763--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test72 b/Utilities/cmcurl-7.19.0/tests/data/test72
deleted file mode 100644
index 4875730..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test72
+++ /dev/null
@@ -1,86 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Digest auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic realm="foothis"
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic realm="foothis"
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604199"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 200 OK
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 23
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP with Digest *OR* Basic authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/72 -u testuser:testpass --anyauth
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /72 HTTP/1.1
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /72 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604199", uri="/72", response="9fcd1330377365a09bbcb33b2cbb25bd"
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test73 b/Utilities/cmcurl-7.19.0/tests/data/test73
deleted file mode 100644
index 2656b69..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test73
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-cookiejar
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Content-Type: text/html
-Set-Cookie: IPCZQX01af0fca5c=000010008168c200d25dfc4b; path=/; domain=.NOT_DISCLOSED.se
-Content-Length: 4
-
-boo
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, receive cookies when using custom Host:, domain using only two dots
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/73 -c log/jar73.txt -H "Host: host.NOT_DISCLOSED.se"
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/73 HTTP/1.1
-Accept: */*
-Host: host.NOT_DISCLOSED.se
-
-</protocol>
-<file name="log/jar73.txt" mode="text">
-# Netscape HTTP Cookie File
-# http://curl.haxx.se/rfc/cookie_spec.html
-# This file was generated by libcurl! Edit at your own risk.
-
-.NOT_DISCLOSED.se TRUE / FALSE 0 IPCZQX01af0fca5c 000010008168c200d25dfc4b
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test74 b/Utilities/cmcurl-7.19.0/tests/data/test74
deleted file mode 100644
index d89e9a1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test74
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-{} list
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-<data1>
-HTTP/1.0 200 OK
-Content-Type: text/html
-Funny-head: swsclose
-Connection: close
-
-crap data
-</data1>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, urlglob {}-retrieval and -o #[num] usage
- </name>
- <command option="no-output">
-"http://%HOSTIP:%HTTPPORT/{74,740001}" -o "log/dumpit#1.dump"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /74 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /740001 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-<file name="log/dumpit740001.dump">
-HTTP/1.0 200 OK
-Content-Type: text/html
-Funny-head: swsclose
-Connection: close
-
-crap data
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test75 b/Utilities/cmcurl-7.19.0/tests/data/test75
deleted file mode 100644
index 63695f5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test75
+++ /dev/null
@@ -1,50 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
- <name>
-HTTP, urlglob retrieval with bad range
- </name>
- <command option="no-output">
-"http://%HOSTIP:%HTTPPORT/[2-1]" -o "log/weee#1.dump" --stderr -
-</command>
-# The error message on stdout implicitly depends on the length of the
-# URL, so refuse to run if the length is unexpected.
-<precheck>
-perl %SRCDIR/libtest/test75.pl http://%HOSTIP:%HTTPPORT/ 22
-</precheck>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<errorcode>
-3
-</errorcode>
-<stdout mode="text">
-curl: (3) [globbing] error: bad range specification after pos 24
-
-</stdout>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test76 b/Utilities/cmcurl-7.19.0/tests/data/test76
deleted file mode 100644
index ada3a33..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test76
+++ /dev/null
@@ -1,39 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
- <name>
-HTTP, -O with no file name part in the URL
- </name>
- <command option="no-output">
-http://%HOSTIP:%HTTPPORT/76/ -O
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<errorcode>
-23
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test77 b/Utilities/cmcurl-7.19.0/tests/data/test77
deleted file mode 100644
index 3af4874..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test77
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
--z
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-
--foo-
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with -z "older date"
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/77 -z "dec 12 12:00:00 1999 GMT"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /77 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-If-Modified-Since: Sun, 12 Dec 1999 12:00:00 GMT
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test78 b/Utilities/cmcurl-7.19.0/tests/data/test78
deleted file mode 100644
index e8fbecc..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test78
+++ /dev/null
@@ -1,67 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
--z
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 1990 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-<datacheck>
-HTTP/1.1 200 OK
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 1990 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with -z "newer date"
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/78 -z "dec 12 11:00:00 1999 GMT"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /78 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-If-Modified-Since: Sun, 12 Dec 1999 11:00:00 GMT
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test79 b/Utilities/cmcurl-7.19.0/tests/data/test79
deleted file mode 100644
index 153014a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test79
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-FTP
-HTTP
-HTTP GET
-HTTP proxy
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-contents
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-ftp
-</features>
- <name>
-FTP over HTTP proxy
- </name>
- <command>
-ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test8 b/Utilities/cmcurl-7.19.0/tests/data/test8
deleted file mode 100644
index 55e315f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test8
+++ /dev/null
@@ -1,60 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-cookies
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP with cookie parsing from header file
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/8 -b log/heads8.txt
-</command>
-
-# We create this file before the command is invoked!
-<file name="log/heads8.txt">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Content-Type: text/html
-Funny-head: yesyes
-Set-Cookie: foobar=name; domain=127.0.0.1; path=/;
-Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
-Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
-Set-Cookie: cookie=yes; path=/we;
-Set-Cookie: nocookie=yes; path=/WE;
-
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /we/want/8 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Cookie: cookie=yes; partmatch=present; foobar=name
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test80 b/Utilities/cmcurl-7.19.0/tests/data/test80
deleted file mode 100644
index 92cea3b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test80
+++ /dev/null
@@ -1,73 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP Basic auth
-HTTP proxy Basic auth
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</data>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP CONNECT with proxytunnel and host Basic authentication
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/80 -p -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user youare:yourself
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
-Host: %HOSTIP:%HTTPPORT
-Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Proxy-Connection: Keep-Alive
-
-GET /we/want/that/page/80 HTTP/1.1
-Authorization: Basic aWFtOm15c2VsZg==
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test81 b/Utilities/cmcurl-7.19.0/tests/data/test81
deleted file mode 100644
index 37dac56..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test81
+++ /dev/null
@@ -1,97 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-# This is supposed to be returned when the server gets a first
-# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 407 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 407 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with proxy using NTLM authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/81 --proxy-user testuser:testpass -x http://%HOSTIP:%HTTPPORT --proxy-ntlm
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/81 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-GET http://%HOSTIP:%HTTPPORT/81 HTTP/1.1
-Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test82 b/Utilities/cmcurl-7.19.0/tests/data/test82
deleted file mode 100644
index 25f2218..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test82
+++ /dev/null
@@ -1,56 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy Basic auth
-HTTP proxy NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 407 We only deal with NTLM my friend
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-Proxy-Authenticate: NTLM
-
-This is not the real page either!
-</data>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with proxy requiring NTLM, but we send Basic
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/82 --proxy-user testuser:testpass -x http://%HOSTIP:%HTTPPORT
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/82 HTTP/1.1
-Proxy-Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test83 b/Utilities/cmcurl-7.19.0/tests/data/test83
deleted file mode 100644
index f1e9abe..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test83
+++ /dev/null
@@ -1,72 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP CONNECT
-HTTP Basic auth
-proxytunnel
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</data>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP over proxy-tunnel with site authentication
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%HTTPPORT --user iam:myself
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Proxy-Connection: Keep-Alive
-
-GET /we/want/that/page/83 HTTP/1.1
-Authorization: Basic aWFtOm15c2VsZg==
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test84 b/Utilities/cmcurl-7.19.0/tests/data/test84
deleted file mode 100644
index 249ed46..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test84
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Basic auth
-HTTP proxy
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-
-contents
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP over proxy with site authentication
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/84 -x %HOSTIP:%HTTPPORT --user iam:myself
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/we/want/that/page/84 HTTP/1.1
-Authorization: Basic aWFtOm15c2VsZg==
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test85 b/Utilities/cmcurl-7.19.0/tests/data/test85
deleted file mode 100644
index fc24ae4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test85
+++ /dev/null
@@ -1,57 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP Basic auth
-HTTP proxy Basic auth
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP over proxy with site and proxy authentication
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/85 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/we/want/that/page/85 HTTP/1.1
-Proxy-Authorization: Basic dGVzdGluZzp0aGlz
-Authorization: Basic aWFtOm15c2VsZg==
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test86 b/Utilities/cmcurl-7.19.0/tests/data/test86
deleted file mode 100644
index 005f32c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test86
+++ /dev/null
@@ -1,96 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-[] range
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
-ETag: "21025-dc7-39462498"
-Accept-Ranges: bytes
-Content-Length: 6
-Connection: close
-Content-Type: text/html
-Funny-head: yesyes
-
--foo-
-</data>
-<data1>
-HTTP/1.0 200 OK
-Content-Type: text/html
-Funny-head: swsclose
-
-crap data
-</data1>
-<data2>
-HTTP/1.0 200 OK
-Content-Type: text/html
-Funny-head: swsclose
-
-crap data
-</data2>
-<data3>
-HTTP/1.0 200 OK
-Content-Type: text/html
-Funny-head: swsclose
-
-crap data
-</data3>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP, urlglob []-retrieval and -o #[num] usage
- </name>
- <command option="no-output">
-"http://%HOSTIP:%HTTPPORT/[860001-860003]" -o "log/dumpit#1.dump"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /860001 HTTP/1.1
-User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /860002 HTTP/1.1
-User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /860003 HTTP/1.1
-User-Agent: curl/7.10.7-pre4 (i686-pc-linux-gnu) libcurl/7.10.7-pre4 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-# we check the second file
-<file name="log/dumpit860002.dump">
-HTTP/1.0 200 OK
-Content-Type: text/html
-Funny-head: swsclose
-
-crap data
-</file>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test87 b/Utilities/cmcurl-7.19.0/tests/data/test87
deleted file mode 100644
index 40b274b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test87
+++ /dev/null
@@ -1,36 +0,0 @@
-<testcase>
-<info>
-<keywords>
-[] range
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-</reply>
-#
-# Client-side
-<client>
-<server>
-none
-</server>
-<features>
-http
-</features>
- <name>
-urlglob with bad -o #[num] usage
- </name>
- <command option="no-output">
-"http://%HOSTIP:%HTTPPORT/[870001-870003]" -o "log/dumpit#2.dump"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-2
-</errorcode>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test88 b/Utilities/cmcurl-7.19.0/tests/data/test88
deleted file mode 100644
index f788ba4..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test88
+++ /dev/null
@@ -1,101 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-HTTP Digest auth
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<servercmd>
-auth_required
-</servercmd>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a
-# Authorization: Digest line passed-in from the client
-<data1000>
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This IS the real page!
-</data1000>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-Content-Type: text/html; charset=iso-8859-1
-Connection: close
-
-This IS the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-crypto
-</features>
- <name>
-HTTP PUT with Digest authorization
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/88 -T log/put88 -u testuser:testpass --digest
-</command>
-<file name="log/put88">
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /88 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 0
-Expect: 100-continue
-
-PUT /88 HTTP/1.1
-Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/88", response="78a49fa53d0c228778297687d4168e71"
-User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 85
-Expect: 100-continue
-
-This is data we upload with PUT
-a second line
-line three
-four is the number of lines
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test89 b/Utilities/cmcurl-7.19.0/tests/data/test89
deleted file mode 100644
index ed01c6d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test89
+++ /dev/null
@@ -1,141 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP NTLM auth
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<!-- no <data> in this test since we have NTLM from the start
-
-This is supposed to be returned when the server gets a first
-Authorization: NTLM line passed-in from the client -->
-
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 301 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Connection: close
-Location: /you/890010
-
-</data1002>
-
-# This is the first reply after the redirection
-<data1011>
-HTTP/1.1 401 Now gimme that second round of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1011>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1012>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1012>
-
-<datacheck>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 301 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Connection: close
-Location: /you/890010
-
-HTTP/1.1 401 Now gimme that second round of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM and follow-location
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/89 -u testuser:testpass --ntlm -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /89 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /89 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /you/890010 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /you/890010 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test9 b/Utilities/cmcurl-7.19.0/tests/data/test9
deleted file mode 100644
index 29e7832..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test9
+++ /dev/null
@@ -1,73 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP FORMPOST
-HTTP file upload
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK swsclose
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake
-
-blablabla
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP RFC1867-type formposting
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/9 -F name=daniel -F tool=curl -F file=@log/test9.txt
-</command>
-# We create this file before the command is invoked!
-<file name="log/test9.txt">
-foo-
-This is a moo-
-bar
-</file>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^(User-Agent:|Content-Type: multipart/form-data;|------------).*
-</strip>
-<protocol>
-POST /we/want/9 HTTP/1.1
-User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 407
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763
-
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="name"
-
-daniel
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="tool"
-
-curl
-------------------------------9ef8d6205763
-Content-Disposition: form-data; name="file"; filename="test9.txt"
-Content-Type: text/plain
-
-foo-
-This is a moo-
-bar
-
-------------------------------9ef8d6205763--
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test90 b/Utilities/cmcurl-7.19.0/tests/data/test90
deleted file mode 100644
index b72e587..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test90
+++ /dev/null
@@ -1,187 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP NTLM auth
---anyauth
-followlocation
-</keywords>
-</info>
-# Server-side
-<reply>
-
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic
-WWW-Authenticate: Wild-and-crazy
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data>
-
-# This is supposed to be returned when the server gets a first
-# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 301 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Connection: close
-Location: /you/900010
-
-</data1002>
-
-# This is the first reply after the redirection
-<data10>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic
-WWW-Authenticate: Wild-and-crazy
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-This is not the real page
-</data10>
-
-<data1011>
-HTTP/1.1 401 Now gimme that second round of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1011>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1012>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1012>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic
-WWW-Authenticate: Wild-and-crazy
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 301 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Connection: close
-Location: /you/900010
-
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Basic
-WWW-Authenticate: Wild-and-crazy
-WWW-Authenticate: NTLM
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 26
-
-HTTP/1.1 401 Now gimme that second round of crap
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 34
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM via --anyauth, and then follow-location with NTLM again
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/90 -u testuser:testpass --anyauth -L
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA).*/$1/
-</strippart>
-<protocol>
-GET /90 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /90 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /90 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /you/900010 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /you/900010 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /you/900010 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAA
-User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test91 b/Utilities/cmcurl-7.19.0/tests/data/test91
deleted file mode 100644
index 070f0d0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test91
+++ /dev/null
@@ -1,118 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP NTLM auth
-</keywords>
-</info>
-# Server-side
-<reply>
-<data>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Magic-Negotiate
-WWW-Authenticate: NTLM
-WWW-Authenticate: Basic realm="daniel"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-Connection: close
-
-</data>
-
-# This is supposed to be returned when the server gets a first
-# Authorization: NTLM line passed-in from the client
-<data1001>
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-This is not the real page either!
-</data1001>
-
-# This is supposed to be returned when the server gets the second
-# Authorization: NTLM line passed-in from the client
-<data1002>
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</data1002>
-
-<datacheck>
-HTTP/1.1 401 Authorization Required swsclose
-Server: Apache/1.3.27 (Darwin) PHP/4.1.2
-WWW-Authenticate: Magic-Negotiate
-WWW-Authenticate: NTLM
-WWW-Authenticate: Basic realm="daniel"
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 0
-Connection: close
-
-HTTP/1.1 401 Now gimme that second request of crap
-Server: Microsoft-IIS/5.0
-Content-Length: 34
-Content-Type: text/html; charset=iso-8859-1
-WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-
-HTTP/1.1 200 Things are fine in server land swsclose
-Server: Microsoft-IIS/5.0
-Content-Type: text/html; charset=iso-8859-1
-Content-Length: 32
-
-Finally, this is the real page!
-</datacheck>
-
-</reply>
-
-# Client-side
-<client>
-<features>
-NTLM
-</features>
-<server>
-http
-</server>
- <name>
-HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/91 --anyauth -u mydomain\\myself:secret
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-# We strip off a large chunk of the type-2 NTLM message since it depends on
-# the local host name and thus differs on different machines!
-<strippart>
-s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAgACABwAAAABgAGAHgAAAA).*/$1/
-</strippart>
-<protocol>
-GET /91 HTTP/1.1
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /91 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-GET /91 HTTP/1.1
-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAgACABwAAAABgAGAHgAAAA
-User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test92 b/Utilities/cmcurl-7.19.0/tests/data/test92
deleted file mode 100644
index 3a42efb..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test92
+++ /dev/null
@@ -1,54 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Content-Range
-Resume
-</keywords>
-</info>
-
-# Server-side
-<reply>
-<data>
-HTTP/1.1 416 Requested Range Not Satisfiable
-Date: Fri, 24 Oct 2003 21:33:12 GMT
-Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
-Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
-ETag: "ab57a-507-3f9968f3"
-Accept-Ranges: bytes
-Content-Length: 87
-Content-Range: bytes */87
-Content-Type: image/gif
-
-</data>
-</reply>
-
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP resume transfer with the whole file already downloaded
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/want/92 -C 87
-</command>
-</client>
-
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /want/92 HTTP/1.1
-Range: bytes=87-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test93 b/Utilities/cmcurl-7.19.0/tests/data/test93
deleted file mode 100644
index d73836f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test93
+++ /dev/null
@@ -1,51 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-HTTP proxy
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 407 Needs proxy authentication
-Server: test-server/fake swsclose yesyes
-Proxy-Authenticate: Basic "oh please"
-Connection: close
-
-bing
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP GET with failed proxy auth
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/93 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET http://%HOSTIP:%HTTPPORT/93 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Pragma: no-cache
-Accept: */*
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test94 b/Utilities/cmcurl-7.19.0/tests/data/test94
deleted file mode 100644
index f553d5d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test94
+++ /dev/null
@@ -1,58 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTPS
-HTTP GET
-HTTP CONNECT
-HTTP proxy
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data nocheck="1">
-HTTP/1.1 407 Needs proxy authentication
-Server: test-server/fake swsclose yesyes
-Proxy-Authenticate: Basic "oh please"
-Connection: close
-
-bing
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
-<features>
-SSL
-</features>
- <name>
-HTTPS GET with failed proxy auth
- </name>
- <command>
-https://test.anything.really.com:94 -x %HOSTIP:%HTTPPORT
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<errorcode>
-56
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-CONNECT test.anything.really.com:94 HTTP/1.0
-User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4
-Host: test.anything.really.com:94
-Proxy-Connection: Keep-Alive
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test95 b/Utilities/cmcurl-7.19.0/tests/data/test95
deleted file mode 100644
index 67d5ba0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test95
+++ /dev/null
@@ -1,74 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP CONNECT
-proxytunnel
-</keywords>
-</info>
-
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</data>
-<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-
-HTTP/1.1 200 OK
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Server: test-server/fake swsclose
-Content-Type: text/html
-Funny-head: yesyes
-Content-Length: 9
-
-contents
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP over proxytunnel using POST
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%HTTPPORT -d "datatopost=ohthatsfunyesyes"
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-CONNECT %HOSTIP:%HTTPPORT HTTP/1.0
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Proxy-Connection: Keep-Alive
-
-POST /we/want/that/page/95 HTTP/1.1
-User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 27
-Content-Type: application/x-www-form-urlencoded
-
-datatopost=ohthatsfunyesyes
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test97 b/Utilities/cmcurl-7.19.0/tests/data/test97
deleted file mode 100644
index 287ca5e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test97
+++ /dev/null
@@ -1,52 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP POST
-HTTP replaced headers
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 6
-
-blaha
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP POST with custom content-type
- </name>
- <command>
- -d "hejsanallabarn" -H "Content-Type: silly/type" http://%HOSTIP:%HTTPPORT/97
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol nonewline="yes">
-POST /97 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Type: silly/type
-Content-Length: 14
-
-hejsanallabarn
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test98 b/Utilities/cmcurl-7.19.0/tests/data/test98
deleted file mode 100644
index 02e4c61..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test98
+++ /dev/null
@@ -1,55 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP PUT
-chunked Transfer-Encoding
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.0 200 OK
-Server: test-server/fake
-Content-Type: text/html
-Content-Length: 6
-
-blaha
-</data>
-</reply>
-
-#
-# Client-side
-<client>
-<server>
-http
-</server>
- <name>
-HTTP PUT from stdin with set size, disabling chunked transfer-encoding
- </name>
- <command>
- -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://%HOSTIP:%HTTPPORT/98
-</command>
-<stdin>
-data on stdin
-</stdin>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-PUT /98 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-Content-Length: 14
-Expect: 100-continue
-
-data on stdin
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/data/test99 b/Utilities/cmcurl-7.19.0/tests/data/test99
deleted file mode 100644
index b36bb74..0000000
--- a/Utilities/cmcurl-7.19.0/tests/data/test99
+++ /dev/null
@@ -1,69 +0,0 @@
-<testcase>
-<info>
-<keywords>
-HTTP
-HTTP GET
-Resume
-Largefile
-FAILURE
-</keywords>
-</info>
-#
-# Server-side
-<reply>
-<data>
-HTTP/1.1 404 Nah
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-Content-Length: 13
-Funny-head: yesyes
-
-0123456789123
-</data>
-
-<datacheck>
-HTTP/1.1 404 Nah
-Date: Thu, 09 Nov 2010 14:49:00 GMT
-Connection: close
-Content-Length: 13
-Funny-head: yesyes
-
-</datacheck>
-</reply>
-
-#
-# Client-side
-<client>
-<features>
-large_file
-</features>
-<server>
-http
-</server>
- <name>
-HTTP GET with large-file resume point and failed resume
- </name>
- <command>
-http://%HOSTIP:%HTTPPORT/99 -C 9999999999
-</command>
-</client>
-
-#
-# Verify data after the test has been "shot"
-<verify>
-# 33 is CURLE_RANGE_ERROR
-<errorcode>
-33
-</errorcode>
-<strip>
-^User-Agent:.*
-</strip>
-<protocol>
-GET /99 HTTP/1.1
-Range: bytes=9999999999-
-Host: %HOSTIP:%HTTPPORT
-Accept: */*
-
-</protocol>
-</verify>
-</testcase>
diff --git a/Utilities/cmcurl-7.19.0/tests/ftp.pm b/Utilities/cmcurl-7.19.0/tests/ftp.pm
deleted file mode 100644
index 421fee1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/ftp.pm
+++ /dev/null
@@ -1,108 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-#######################################################################
-# Return the pid of the server as found in the given pid file
-#
-sub serverpid {
- my $PIDFILE = $_[0];
- open(PFILE, "<$PIDFILE");
- my $PID=0+<PFILE>;
- close(PFILE);
- return $PID;
-}
-
-#######################################################################
-# Check the given test server if it is still alive.
-#
-sub checkserver {
- my ($pidfile)=@_;
- my $pid=0;
-
- # check for pidfile
- if ( -f $pidfile ) {
- $pid=serverpid($pidfile);
- if ($pid ne "" && kill(0, $pid)) {
- return $pid;
- }
- else {
- return -$pid; # negative means dead process
- }
- }
- return 0;
-}
-
-#############################################################################
-# Kill a specific slave
-#
-sub ftpkillslave {
- my ($id, $ext, $verbose)=@_;
- my $base;
- for $base (('filt', 'data')) {
- my $f = ".sock$base$id$ext.pid";
- my $pid = checkserver($f);
- if($pid > 0) {
- printf ("* kill pid for %s => %d\n", "ftp-$base$id$ext", $pid) if($verbose);
- kill (9, $pid); # die!
- waitpid($pid, 0);
- }
- unlink($f);
- }
-}
-
-
-#############################################################################
-# Make sure no FTP leftovers are still running. Kill all slave processes.
-# This uses pidfiles since it might be used by other processes.
-#
-sub ftpkillslaves {
- my ($versbose) = @_;
- for $ext (("", "ipv6")) {
- for $id (("", "2")) {
- ftpkillslave ($id, $ext, $verbose);
- }
- }
-}
-
-
-sub set_advisor_read_lock {
- my ($filename) = @_;
-
- if(open(FILEH, ">$filename")) {
- close(FILEH);
- return;
- }
- printf "Error creating lock file $filename error: $!";
-}
-
-
-sub clear_advisor_read_lock {
- my ($filename) = @_;
-
- if(-f $filename) {
- unlink($filename);
- }
-}
-
-
-1;
diff --git a/Utilities/cmcurl-7.19.0/tests/ftpserver.pl b/Utilities/cmcurl-7.19.0/tests/ftpserver.pl
deleted file mode 100755
index 3841e1f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/ftpserver.pl
+++ /dev/null
@@ -1,909 +0,0 @@
-#!/usr/bin/env perl
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-# This is the FTP server designed for the curl test suite.
-#
-# It is meant to exercise curl, it is not meant to be a fully working
-# or even very standard compliant server.
-#
-# You may optionally specify port on the command line, otherwise it'll
-# default to port 8921.
-#
-# All socket/network/TCP related stuff is done by the 'sockfilt' program.
-#
-
-use strict;
-use IPC::Open2;
-#use Time::HiRes qw( gettimeofday ); # not available in perl 5.6
-
-require "getpart.pm";
-require "ftp.pm";
-
-
-my $ftpdnum="";
-
-# open and close each time to allow removal at any time
-sub logmsg {
- # if later than perl 5.6 is used
- # my ($seconds, $microseconds) = gettimeofday;
- my $seconds = time();
- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
- localtime($seconds);
- open(FTPLOG, ">>log/ftpd$ftpdnum.log");
- printf FTPLOG ("%02d:%02d:%02d ", $hour, $min, $sec);
- print FTPLOG @_;
- close(FTPLOG);
-}
-
-sub ftpmsg {
- # append to the server.input file
- open(INPUT, ">>log/server$ftpdnum.input") ||
- logmsg "failed to open log/server$ftpdnum.input\n";
-
- print INPUT @_;
- close(INPUT);
-
- # use this, open->print->close system only to make the file
- # open as little as possible, to make the test suite run
- # better on windows/cygwin
-}
-
-my $verbose=0; # set to 1 for debugging
-my $pasvbadip=0;
-my $retrweirdo=0;
-my $retrnosize=0;
-my $srcdir=".";
-my $nosave=0;
-my $controldelay=0; # set to 1 to delay the control connect data sending to
- # test that curl deals with that nicely
-my $slavepid; # for the DATA connection sockfilt slave process
-my $ipv6;
-my $ext; # append to log/pid file names
-my $grok_eprt;
-my $port = 8921; # just a default
-my $listenaddr = "127.0.0.1"; # just a default
-my $pidfile = ".ftpd.pid"; # a default, use --pidfile
-
-my $SERVERLOGS_LOCK="log/serverlogs.lock"; # server logs advisor read lock
-
-do {
- if($ARGV[0] eq "-v") {
- $verbose=1;
- }
- elsif($ARGV[0] eq "-s") {
- $srcdir=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "--id") {
- $ftpdnum=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "--pidfile") {
- $pidfile=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "--ipv6") {
- $ipv6="--ipv6";
- $ext="ipv6";
- $grok_eprt = 1;
- }
- elsif($ARGV[0] eq "--port") {
- $port = $ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "--addr") {
- $listenaddr = $ARGV[1];
- $listenaddr =~ s/^\[(.*)\]$/\1/;
- shift @ARGV;
- }
-} while(shift @ARGV);
-
-sub catch_zap {
- my $signame = shift;
- print STDERR "ftpserver.pl received SIG$signame, exiting\n";
- ftpkillslaves(1);
- clear_advisor_read_lock($SERVERLOGS_LOCK);
- die "Somebody sent me a SIG$signame";
-}
-$SIG{INT} = \&catch_zap;
-$SIG{KILL} = \&catch_zap;
-
-my $sfpid;
-
-local(*SFREAD, *SFWRITE);
-
-sub sysread_or_die {
- my $FH = shift;
- my $scalar = shift;
- my $length = shift;
- my $fcaller;
- my $lcaller;
- my $result;
-
- $result = sysread($$FH, $$scalar, $length);
-
- if(not defined $result) {
- ($fcaller, $lcaller) = (caller)[1,2];
- logmsg "Failed to read input\n";
- logmsg "Error: ftp$ftpdnum$ext sysread error: $!\n";
- kill(9, $sfpid);
- waitpid($sfpid, 0);
- clear_advisor_read_lock($SERVERLOGS_LOCK);
- die "Died in sysread_or_die() at $fcaller " .
- "line $lcaller. ftp$ftpdnum$ext sysread error: $!\n";
- }
- elsif($result == 0) {
- ($fcaller, $lcaller) = (caller)[1,2];
- logmsg "Failed to read input\n";
- logmsg "Error: ftp$ftpdnum$ext read zero\n";
- kill(9, $sfpid);
- waitpid($sfpid, 0);
- clear_advisor_read_lock($SERVERLOGS_LOCK);
- die "Died in sysread_or_die() at $fcaller " .
- "line $lcaller. ftp$ftpdnum$ext read zero\n";
- }
-
- return $result;
-}
-
-sub startsf {
- my $cmd="./server/sockfilt --port $port --logfile log/sockctrl$ftpdnum$ext.log --pidfile .sockfilt$ftpdnum$ext.pid $ipv6";
- $sfpid = open2(*SFREAD, *SFWRITE, $cmd);
-
- print STDERR "$cmd\n" if($verbose);
-
- print SFWRITE "PING\n";
- my $pong;
- sysread SFREAD, $pong, 5;
-
- if($pong !~ /^PONG/) {
- logmsg "Failed sockfilt command: $cmd\n";
- kill(9, $sfpid);
- waitpid($sfpid, 0);
- clear_advisor_read_lock($SERVERLOGS_LOCK);
- die "Failed to start sockfilt!";
- }
-}
-
-# remove the file here so that if startsf() fails, it is very noticeable
-unlink($pidfile);
-
-startsf();
-
-logmsg sprintf("FTP server listens on port IPv%d/$port\n", $ipv6?6:4);
-open(PID, ">$pidfile");
-print PID $$."\n";
-close(PID);
-
-logmsg("logged pid $$ in $pidfile\n");
-
-sub sockfilt {
- my $l;
- foreach $l (@_) {
- printf SFWRITE "DATA\n%04x\n", length($l);
- print SFWRITE $l;
- }
-}
-
-
-# Send data to the client on the control stream, which happens to be plain
-# stdout.
-
-sub sendcontrol {
- if(!$controldelay) {
- # spit it all out at once
- sockfilt @_;
- }
- else {
- my $a = join("", @_);
- my @a = split("", $a);
-
- for(@a) {
- sockfilt $_;
- select(undef, undef, undef, 0.01);
- }
- }
- my $log;
- foreach $log (@_) {
- my $l = $log;
- $l =~ s/[\r\n]//g;
- logmsg "> \"$l\"\n";
- }
-}
-
-# Send data to the client on the data stream
-
-sub senddata {
- my $l;
- foreach $l (@_) {
- printf DWRITE "DATA\n%04x\n", length($l);
- print DWRITE $l;
- }
-}
-
-# this text is shown before the function specified below is run
-my %displaytext = ('USER' => '331 We are happy you popped in!',
- 'PASS' => '230 Welcome you silly person',
- 'PORT' => '200 You said PORT - I say FINE',
- 'TYPE' => '200 I modify TYPE as you wanted',
- 'LIST' => '150 here comes a directory',
- 'NLST' => '150 here comes a directory',
- 'CWD' => '250 CWD command successful.',
- 'SYST' => '215 UNIX Type: L8', # just fake something
- 'QUIT' => '221 bye bye baby', # just reply something
- 'PWD' => '257 "/nowhere/anywhere" is current directory',
- 'MKD' => '257 Created your requested directory',
- 'REST' => '350 Yeah yeah we set it there for you',
- 'DELE' => '200 OK OK OK whatever you say',
- 'RNFR' => '350 Received your order. Please provide more',
- 'RNTO' => '250 Ok, thanks. File renaming completed.',
- 'NOOP' => '200 Yes, I\'m very good at doing nothing.',
- 'PBSZ' => '500 PBSZ not implemented',
- 'PROT' => '500 PROT not implemented',
- );
-
-# callback functions for certain commands
-my %commandfunc = ( 'PORT' => \&PORT_command,
- 'EPRT' => \&PORT_command,
- 'LIST' => \&LIST_command,
- 'NLST' => \&NLST_command,
- 'PASV' => \&PASV_command,
- 'EPSV' => \&PASV_command,
- 'RETR' => \&RETR_command,
- 'SIZE' => \&SIZE_command,
- 'REST' => \&REST_command,
- 'STOR' => \&STOR_command,
- 'APPE' => \&STOR_command, # append looks like upload
- 'MDTM' => \&MDTM_command,
- );
-
-
-sub close_dataconn {
- my ($closed)=@_; # non-zero if already disconnected
-
- if(!$closed) {
- logmsg "* disconnect data connection\n";
- print DWRITE "DISC\n";
- my $i;
- sysread DREAD, $i, 5;
- }
- else {
- logmsg "data connection already disconnected\n";
- }
- logmsg "=====> Closed data connection\n";
-
- logmsg "* quit sockfilt for data (pid $slavepid)\n";
- print DWRITE "QUIT\n";
- waitpid $slavepid, 0;
- $slavepid=0;
-}
-
-my $rest=0;
-sub REST_command {
- $rest = $_[0];
- logmsg "Set REST position to $rest\n"
-}
-
-sub LIST_command {
- # print "150 ASCII data connection for /bin/ls (193.15.23.1,59196) (0 bytes)\r\n";
-
-# this is a built-in fake-dir ;-)
-my @ftpdir=("total 20\r\n",
-"drwxr-xr-x 8 98 98 512 Oct 22 13:06 .\r\n",
-"drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..\r\n",
-"drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT\r\n",
-"-r--r--r-- 1 0 1 35 Jul 16 1996 README\r\n",
-"lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin\r\n",
-"dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev\r\n",
-"drwxrwxrwx 2 98 98 512 May 29 16:04 download.html\r\n",
-"dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc\r\n",
-"drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub\r\n",
-"dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr\r\n");
-
- logmsg "pass LIST data on data connection\n";
- for(@ftpdir) {
- senddata $_;
- }
- close_dataconn(0);
- sendcontrol "226 ASCII transfer complete\r\n";
- return 0;
-}
-
-sub NLST_command {
- my @ftpdir=("file", "with space", "fake", "..", " ..", "funny", "README");
- logmsg "pass NLST data on data connection\n";
- for(@ftpdir) {
- senddata "$_\r\n";
- }
- close_dataconn(0);
- sendcontrol "226 ASCII transfer complete\r\n";
- return 0;
-}
-
-sub MDTM_command {
- my $testno = $_[0];
- my $testpart = "";
- if ($testno > 10000) {
- $testpart = $testno % 10000;
- $testno = int($testno / 10000);
- }
-
- loadtest("$srcdir/data/test$testno");
-
- my @data = getpart("reply", "mdtm");
-
- my $reply = $data[0];
- chomp $reply;
-
- if($reply <0) {
- sendcontrol "550 $testno: no such file.\r\n";
- }
- elsif($reply) {
- sendcontrol "$reply\r\n";
- }
- else {
- sendcontrol "500 MDTM: no such command.\r\n";
- }
- return 0;
-}
-
-sub SIZE_command {
- my $testno = $_[0];
- my $testpart = "";
- if ($testno > 10000) {
- $testpart = $testno % 10000;
- $testno = int($testno / 10000);
- }
-
- loadtest("$srcdir/data/test$testno");
-
- if($testno eq "verifiedserver") {
- my $response = "WE ROOLZ: $$\r\n";
- my $size = length($response);
- sendcontrol "213 $size\r\n";
- return 0;
- }
-
- my @data = getpart("reply", "size");
-
- my $size = $data[0];
-
- if($size) {
- if($size > -1) {
- sendcontrol "213 $size\r\n";
- }
- else {
- sendcontrol "550 $testno: No such file or directory.\r\n";
- }
- }
- else {
- $size=0;
- @data = getpart("reply", "data$testpart");
- for(@data) {
- $size += length($_);
- }
- if($size) {
- sendcontrol "213 $size\r\n";
- }
- else {
- sendcontrol "550 $testno: No such file or directory.\r\n";
- }
- }
- return 0;
-}
-
-sub RETR_command {
- my ($testno) = @_;
-
- if($testno =~ /^verifiedserver$/) {
- # this is the secret command that verifies that this actually is
- # the curl test server
- my $response = "WE ROOLZ: $$\r\n";
- my $len = length($response);
- sendcontrol "150 Binary junk ($len bytes).\r\n";
- senddata "WE ROOLZ: $$\r\n";
- close_dataconn(0);
- sendcontrol "226 File transfer complete\r\n";
- if($verbose) {
- print STDERR "FTPD: We returned proof we are the test server\n";
- }
- return 0;
- }
-
- $testno =~ s/^([^0-9]*)//;
- my $testpart = "";
- if ($testno > 10000) {
- $testpart = $testno % 10000;
- $testno = int($testno / 10000);
- }
-
- loadtest("$srcdir/data/test$testno");
-
- my @data = getpart("reply", "data$testpart");
-
- my $size=0;
- for(@data) {
- $size += length($_);
- }
-
- my %hash = getpartattr("reply", "data$testpart");
-
- if($size || $hash{'sendzero'}) {
-
- if($rest) {
- # move read pointer forward
- $size -= $rest;
- logmsg "REST $rest was removed from size, makes $size left\n";
- $rest = 0; # reset REST offset again
- }
- if($retrweirdo) {
- sendcontrol "150 Binary data connection for $testno () ($size bytes).\r\n",
- "226 File transfer complete\r\n";
-
- for(@data) {
- my $send = $_;
- senddata $send;
- }
- close_dataconn(0);
- $retrweirdo=0; # switch off the weirdo again!
- }
- else {
- my $sz = "($size bytes)";
- if($retrnosize) {
- $sz = "size?";
- }
-
- sendcontrol "150 Binary data connection for $testno () $sz.\r\n";
-
- for(@data) {
- my $send = $_;
- senddata $send;
- }
- close_dataconn(0);
- sendcontrol "226 File transfer complete\r\n";
- }
- }
- else {
- sendcontrol "550 $testno: No such file or directory.\r\n";
- }
- return 0;
-}
-
-sub STOR_command {
- my $testno=$_[0];
-
- my $filename = "log/upload.$testno";
-
- logmsg "STOR test number $testno in $filename\n";
-
- sendcontrol "125 Gimme gimme gimme!\r\n";
-
- open(FILE, ">$filename") ||
- return 0; # failed to open output
-
- my $line;
- my $ulsize=0;
- my $disc=0;
- while (5 == (sysread DREAD, $line, 5)) {
- if($line eq "DATA\n") {
- my $i;
- sysread DREAD, $i, 5;
-
- #print STDERR " GOT: $i";
-
- my $size = hex($i);
- sysread DREAD, $line, $size;
-
- #print STDERR " GOT: $size bytes\n";
-
- $ulsize += $size;
- print FILE $line if(!$nosave);
- logmsg "> Appending $size bytes to file\n";
- }
- elsif($line eq "DISC\n") {
- # disconnect!
- $disc=1;
- last;
- }
- else {
- logmsg "No support for: $line";
- last;
- }
- }
- if($nosave) {
- print FILE "$ulsize bytes would've been stored here\n";
- }
- close(FILE);
- close_dataconn($disc);
- logmsg "received $ulsize bytes upload\n";
- sendcontrol "226 File transfer complete\r\n";
- return 0;
-}
-
-sub PASV_command {
- my ($arg, $cmd)=@_;
- my $pasvport;
- my $pidf=".sockdata$ftpdnum$ext.pid";
-
- my $prev = checkserver($pidf);
- if($prev > 0) {
- print "kill existing server: $prev\n" if($verbose);
- kill(9, $prev);
- waitpid($prev, 0);
- }
-
- # We fire up a new sockfilt to do the data transfer for us.
- $slavepid = open2(\*DREAD, \*DWRITE,
- "./server/sockfilt --port 0 --logfile log/sockdata$ftpdnum$ext.log --pidfile $pidf $ipv6");
-
- print DWRITE "PING\n";
- my $pong;
-
- sysread_or_die(\*DREAD, \$pong, 5);
-
- if($pong !~ /^PONG/) {
- kill(9, $slavepid);
- waitpid($slavepid, 0);
- sendcontrol "500 no free ports!\r\n";
- logmsg "failed to run sockfilt for data connection\n";
- return 0;
- }
-
- logmsg "Run sockfilt for data on pid $slavepid\n";
-
- # Find out what port we listen on
- my $i;
- print DWRITE "PORT\n";
-
- # READ the response code
- sysread_or_die(\*DREAD, \$i, 5);
-
- # READ the response size
- sysread_or_die(\*DREAD, \$i, 5);
-
- my $size = hex($i);
-
- # READ the response data
- sysread_or_die(\*DREAD, \$i, $size);
-
- # The data is in the format
- # IPvX/NNN
-
- if($i =~ /IPv(\d)\/(\d+)/) {
- # FIX: deal with IP protocol version
- $pasvport = $2;
- }
-
- if($cmd ne "EPSV") {
- # PASV reply
- my $p=$listenaddr;
- $p =~ s/\./,/g;
- if($pasvbadip) {
- $p="1,2,3,4";
- }
- sendcontrol sprintf("227 Entering Passive Mode ($p,%d,%d)\n",
- ($pasvport/256), ($pasvport%256));
- }
- else {
- # EPSV reply
- sendcontrol sprintf("229 Entering Passive Mode (|||%d|)\n", $pasvport);
- }
-
- eval {
- local $SIG{ALRM} = sub { die "alarm\n" };
-
- # assume swift operations unless explicitly slow
- alarm ($controldelay?20:10);
-
- # Wait for 'CNCT'
- my $input;
-
- while(sysread(DREAD, $input, 5)) {
-
- if($input !~ /^CNCT/) {
- # we wait for a connected client
- logmsg "Odd, we got $input from client\n";
- next;
- }
- logmsg "====> Client DATA connect\n";
- last;
- }
- alarm 0;
- };
- if ($@) {
- # timed out
-
- print DWRITE "QUIT\n";
- waitpid $slavepid, 0;
- logmsg "accept failed\n";
- $slavepid=0;
- return;
- }
- else {
- logmsg "data connection setup on port $pasvport\n";
- }
-
- return;
-}
-
-# Support both PORT and EPRT here. Consider LPRT too.
-
-sub PORT_command {
- my ($arg, $cmd) = @_;
- my $port;
- my $addr;
-
- # We always ignore the given IP and use localhost.
-
- if($cmd eq "PORT") {
- if($arg !~ /(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)/) {
- logmsg "bad PORT-line: $arg\n";
- sendcontrol "500 silly you, go away\r\n";
- return 0;
- }
- $port = ($5<<8)+$6;
- $addr = "$1.$2.$3.$4";
- }
- # EPRT |2|::1|49706|
- elsif(($cmd eq "EPRT") && ($grok_eprt)) {
- if($arg !~ /(\d+)\|([^\|]+)\|(\d+)/) {
- sendcontrol "500 silly you, go away\r\n";
- return 0;
- }
- sendcontrol "200 Thanks for dropping by. We contact you later\r\n";
- $port = $3;
- $addr = $2;
- }
- else {
- sendcontrol "500 we don't like $cmd now\r\n";
- return 0;
- }
-
- if(!$port || $port > 65535) {
- print STDERR "very illegal PORT number: $port\n";
- return 1;
- }
-
- # We fire up a new sockfilt to do the data transfer for us.
- # FIX: make it use IPv6 if need be
- my $filtcmd="./server/sockfilt --connect $port --addr $addr --logfile log/sockdata$ftpdnum$ext.log --pidfile .sockdata$ftpdnum$ext.pid $ipv6";
- $slavepid = open2(\*DREAD, \*DWRITE, $filtcmd);
-
- print STDERR "$filtcmd\n" if($verbose);
-
- print DWRITE "PING\n";
- my $pong;
- sysread DREAD, $pong, 5;
-
- if($pong !~ /^PONG/) {
- logmsg "Failed sockfilt for data connection\n";
- kill(9, $slavepid);
- waitpid($slavepid, 0);
- }
-
- logmsg "====> Client DATA connect to port $port\n";
-
- return;
-}
-
-my %customreply;
-my %customcount;
-my %delayreply;
-sub customize {
- $nosave = 0; # default is to save as normal
- $controldelay = 0; # default is no delaying the responses
- $retrweirdo = 0;
- $retrnosize = 0;
- $pasvbadip = 0;
- $nosave = 0;
- %customreply = ();
- %customcount = ();
- %delayreply = ();
-
- open(CUSTOM, "<log/ftpserver.cmd") ||
- return 1;
-
- logmsg "FTPD: Getting commands from log/ftpserver.cmd\n";
-
- while(<CUSTOM>) {
- if($_ =~ /REPLY ([A-Z]+) (.*)/) {
- $customreply{$1}=eval "qq{$2}";
- logmsg "FTPD: set custom reply for $1\n";
- }
- if($_ =~ /COUNT ([A-Z]+) (.*)/) {
- # we blank the customreply for this command when having
- # been used this number of times
- $customcount{$1}=$2;
- logmsg "FTPD: blank custom reply for $1 after $2 uses\n";
- }
- elsif($_ =~ /DELAY ([A-Z]+) (\d*)/) {
- $delayreply{$1}=$2;
- logmsg "FTPD: delay reply for $1 with $2 seconds\n";
- }
- elsif($_ =~ /SLOWDOWN/) {
- $controldelay=1;
- logmsg "FTPD: send response with 0.1 sec delay between each byte\n";
- }
- elsif($_ =~ /RETRWEIRDO/) {
- logmsg "FTPD: instructed to use RETRWEIRDO\n";
- $retrweirdo=1;
- }
- elsif($_ =~ /RETRNOSIZE/) {
- logmsg "FTPD: instructed to use RETRNOSIZE\n";
- $retrnosize=1;
- }
- elsif($_ =~ /PASVBADIP/) {
- logmsg "FTPD: instructed to use PASVBADIP\n";
- $pasvbadip=1;
- }
- elsif($_ =~ /NOSAVE/) {
- # don't actually store the file we upload - to be used when
- # uploading insanely huge amounts
- $nosave = 1;
- logmsg "FTPD: NOSAVE prevents saving of uploaded data\n";
- }
- }
- close(CUSTOM);
-}
-
-my @welcome=(
- '220- _ _ ____ _ '."\r\n",
- '220- ___| | | | _ \| | '."\r\n",
- '220- / __| | | | |_) | | '."\r\n",
- '220- | (__| |_| | _ <| |___ '."\r\n",
- '220 \___|\___/|_| \_\_____|'."\r\n");
-
-
-while(1) {
- #
- # We read 'sockfilt' commands.
- #
- my $input;
-
- logmsg "Awaiting input\n";
- sysread_or_die(\*SFREAD, \$input, 5);
-
- if($input !~ /^CNCT/) {
- # we wait for a connected client
- logmsg "sockfilt said: $input";
- next;
- }
- logmsg "====> Client connect\n";
-
- set_advisor_read_lock($SERVERLOGS_LOCK);
-
- # flush data:
- $| = 1;
-
- kill(9, $slavepid) if($slavepid);
- waitpid($slavepid, 0) if($slavepid);
- $slavepid=0;
-
- &customize(); # read test control instructions
-
- sendcontrol @welcome;
- if($verbose) {
- for(@welcome) {
- print STDERR "OUT: $_";
- }
- }
-
- while(1) {
- my $i;
-
- # Now we expect to read DATA\n[hex size]\n[prot], where the [prot]
- # part only is FTP lingo.
-
- # COMMAND
- sysread_or_die(\*SFREAD, \$i, 5);
-
- if($i !~ /^DATA/) {
- logmsg "sockfilt said $i";
- if($i =~ /^DISC/) {
- # disconnect
- last;
- }
- next;
- }
-
- # SIZE of data
- sysread_or_die(\*SFREAD, \$i, 5);
-
- my $size = hex($i);
-
- # data
- sysread SFREAD, $_, $size;
-
- ftpmsg $_;
-
- # Remove trailing CRLF.
- s/[\n\r]+$//;
-
- unless (m/^([A-Z]{3,4})\s?(.*)/i) {
- sendcontrol "500 '$_': command not understood.\r\n";
- last;
- }
- my $FTPCMD=$1;
- my $FTPARG=$2;
- my $full=$_;
-
- logmsg "< \"$full\"\n";
-
- if($verbose) {
- print STDERR "IN: $full\n";
- }
-
- my $delay = $delayreply{$FTPCMD};
- if($delay) {
- # just go sleep this many seconds!
- logmsg("Sleep for $delay seconds\n");
- sleep($delay);
- }
-
- my $text;
- $text = $customreply{$FTPCMD};
- my $fake = $text;
- if($text eq "") {
- $text = $displaytext{$FTPCMD};
- }
- else {
- if($customcount{$FTPCMD} && (!--$customcount{$FTPCMD})) {
- # used enough number of times, now blank the customreply
- $customreply{$FTPCMD}="";
- }
- }
- my $check;
- if($text) {
- sendcontrol "$text\r\n";
- }
- else {
- $check=1; # no response yet
- }
-
- if($fake eq "") {
- # only perform this if we're not faking a reply
- my $func = $commandfunc{$FTPCMD};
- if($func) {
- &$func($FTPARG, $FTPCMD);
- $check=0; # taken care of
- }
- }
-
- if($check) {
- logmsg "$FTPCMD wasn't handled!\n";
- sendcontrol "500 $FTPCMD is not dealt with!\r\n";
- }
-
- } # while(1)
- logmsg "====> Client disconnected\n";
-
- clear_advisor_read_lock($SERVERLOGS_LOCK);
-}
-
-print SFWRITE "QUIT\n";
-waitpid $sfpid, 0;
-
-clear_advisor_read_lock($SERVERLOGS_LOCK);
-
-exit;
diff --git a/Utilities/cmcurl-7.19.0/tests/getpart.pm b/Utilities/cmcurl-7.19.0/tests/getpart.pm
deleted file mode 100644
index 9ade56a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/getpart.pm
+++ /dev/null
@@ -1,224 +0,0 @@
-
-#use strict;
-
-my @xml;
-
-my $warning=0;
-my $trace=0;
-
-sub decode_base64 {
- tr:A-Za-z0-9+/::cd; # remove non-base64 chars
- tr:A-Za-z0-9+/: -_:; # convert to uuencoded format
- my $len = pack("c", 32 + 0.75*length); # compute length byte
- return unpack("u", $len . $_); # uudecode and print
-}
-
-sub getpartattr {
- # if $part is undefined (ie only one argument) then
- # return the attributes of the section
-
- my ($section, $part)=@_;
-
- my %hash;
- my $inside=0;
-
- # print "Section: $section, part: $part\n";
-
- for(@xml) {
- # print "$inside: $_";
- if(!$inside && ($_ =~ /^ *\<$section/)) {
- $inside++;
- }
- if((1 ==$inside) && ( ($_ =~ /^ *\<$part([^>]*)/) ||
- !(defined($part)) )
- ) {
- $inside++;
- my $attr=$1;
-
- while($attr =~ s/ *([^=]*)= *(\"([^\"]*)\"|([^\"> ]*))//) {
- my ($var, $cont)=($1, $2);
- $cont =~ s/^\"(.*)\"$/$1/;
- $hash{$var}=$cont;
- }
- last;
- }
- elsif((2 ==$inside) && ($_ =~ /^ *\<\/$part/)) {
- $inside--;
- }
- }
- return %hash;
-}
-
-sub getpart {
- my ($section, $part)=@_;
-
- my @this;
- my $inside=0;
- my $base64=0;
-
- # print "Section: $section, part: $part\n";
-
- for(@xml) {
- # print "$inside: $_";
- if(!$inside && ($_ =~ /^ *\<$section/)) {
- $inside++;
- }
- elsif((1 ==$inside) && ($_ =~ /^ *\<$part[ \>]/)) {
- if($_ =~ /$part [^>]*base64=/) {
- # attempt to detect base64 encoded parts
- $base64=1;
- }
- $inside++;
- }
- elsif((2 ==$inside) && ($_ =~ /^ *\<\/$part/)) {
- $inside--;
- }
- elsif((1==$inside) && ($_ =~ /^ *\<\/$section/)) {
- if($trace) {
- print STDERR "*** getpart.pm: $section/$part returned data!\n";
- }
- if(!@this && $warning) {
- print STDERR "*** getpart.pm: $section/$part returned empty!\n";
- }
- if($base64) {
- # decode the whole array before returning it!
- for(@this) {
- my $decoded = decode_base64($_);
- $_ = $decoded;
- }
- }
- return @this;
- }
- elsif(2==$inside) {
- push @this, $_;
- }
- }
- if($warning) {
- print STDERR "*** getpart.pm: $section/$part returned empty!\n";
- }
- return @this; #empty!
-}
-
-sub loadtest {
- my ($file)=@_;
-
- undef @xml;
-
- if(open(XML, "<$file")) {
- binmode XML; # for crapage systems, use binary
- while(<XML>) {
- push @xml, $_;
- }
- close(XML);
- }
- else {
- # failure
- if($warning) {
- print STDERR "file $file wouldn't open!\n";
- }
- return 1;
- }
- return 0;
-}
-
-#
-# Strip off all lines that match the specified pattern and return
-# the new array.
-#
-
-sub striparray {
- my ($pattern, $arrayref) = @_;
-
- my @array;
-
- for(@$arrayref) {
- if($_ !~ /$pattern/) {
- push @array, $_;
- }
- }
- return @array;
-}
-
-#
-# pass array *REFERENCES* !
-#
-sub compareparts {
- my ($firstref, $secondref)=@_;
-
- my $first = join("", @$firstref);
- my $second = join("", @$secondref);
-
- # we cannot compare arrays index per index since with the base64 chunks,
- # they may not be "evenly" distributed
-
- # NOTE: this no longer strips off carriage returns from the arrays. Is that
- # really necessary? It ruins the testing of newlines. I believe it was once
- # added to enable tests on win32.
-
- if($first ne $second) {
- return 1;
- }
-
- return 0;
-}
-
-#
-# Write a given array to the specified file
-#
-sub writearray {
- my ($filename, $arrayref)=@_;
-
- open(TEMP, ">$filename");
- binmode(TEMP,":raw"); # cygwin fix by Kevin Roth
- for(@$arrayref) {
- print TEMP $_;
- }
- close(TEMP);
-}
-
-#
-# Load a specified file an return it as an array
-#
-sub loadarray {
- my ($filename)=@_;
- my @array;
-
- open(TEMP, "<$filename");
- while(<TEMP>) {
- push @array, $_;
- }
- close(TEMP);
- return @array;
-}
-
-# Given two array references, this function will store them in two temporary
-# files, run 'diff' on them, store the result and return the diff output!
-
-sub showdiff {
- my ($logdir, $firstref, $secondref)=@_;
-
- my $file1="$logdir/check-generated";
- my $file2="$logdir/check-expected";
-
- open(TEMP, ">$file1");
- for(@$firstref) {
- print TEMP $_;
- }
- close(TEMP);
-
- open(TEMP, ">$file2");
- for(@$secondref) {
- print TEMP $_;
- }
- close(TEMP);
- my @out = `diff -u $file2 $file1 2>/dev/null`;
-
- if(!$out[0]) {
- @out = `diff -c $file2 $file1 2>/dev/null`;
- }
-
- return @out;
-}
-
-
-1;
diff --git a/Utilities/cmcurl-7.19.0/tests/httpserver.pl b/Utilities/cmcurl-7.19.0/tests/httpserver.pl
deleted file mode 100755
index ae1bcec..0000000
--- a/Utilities/cmcurl-7.19.0/tests/httpserver.pl
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env perl
-
-use strict;
-
-my $verbose=0; # set to 1 for debugging
-
-my $dir=".";
-my $port = 8999; # just a default
-my $ipv6;
-my $pid=".http.pid"; # name of the pidfile
-my $fork;
-do {
- if($ARGV[0] eq "-v") {
- $verbose=1;
- }
- elsif($ARGV[0] eq "-d") {
- $dir=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "-p") {
- $pid=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "--fork") {
- $fork = $ARGV[0];
- shift @ARGV;
- }
- elsif($ARGV[0] =~ /^(\d+)$/) {
- $port = $1;
- }
- elsif($ARGV[0] =~ /^ipv6/i) {
- $ipv6="--ipv6 ";
- }
-} while(shift @ARGV);
-
-exec("server/sws --pidfile $pid$fork $ipv6$port $dir");
diff --git a/Utilities/cmcurl-7.19.0/tests/httpsserver.pl b/Utilities/cmcurl-7.19.0/tests/httpsserver.pl
deleted file mode 100755
index 95ba103..0000000
--- a/Utilities/cmcurl-7.19.0/tests/httpsserver.pl
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env perl
-#
-# $Id$
-# This is the HTTPS and FTPS server designed for the curl test suite.
-#
-# It is actually just a layer that runs stunnel properly.
-
-use strict;
-use Cwd;
-
-my $stunnel = "stunnel";
-
-#
-# -p pemfile
-# -P pid dir
-# -d listen port
-# -r target port
-# -s stunnel path
-
-my $verbose=0; # set to 1 for debugging
-
-my $port = 8991; # just our default, weird enough
-my $target_port = 8999; # default test http-server port
-
-my $path = getcwd();
-
-my $srcdir=$path;
-
-my $proto='https';
-
-do {
- if($ARGV[0] eq "-v") {
- $verbose=1;
- }
- if($ARGV[0] eq "-w") {
- return 0; # return success, means we have stunnel working!
- }
- elsif($ARGV[0] eq "-p") {
- $proto=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "-r") {
- $target_port=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "-s") {
- $stunnel=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq "-d") {
- $srcdir=$ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] =~ /^(\d+)$/) {
- $port = $1;
- }
-} while(shift @ARGV);
-
-my $conffile="$path/stunnel.conf"; # stunnel configuration data
-my $certfile="$srcdir/stunnel.pem"; # stunnel server certificate
-my $pidfile="$path/.$proto.pid"; # stunnel process pid file
-
-open(CONF, ">$conffile") || exit 1;
-print CONF "
- CApath=$path
- cert = $certfile
- pid = $pidfile
- debug = 0
- output = /dev/null
- foreground = yes
-
- [curltest]
- accept = $port
- connect = $target_port
-";
-close CONF;
-#system("chmod go-rwx $conffile $certfile"); # secure permissions
-
- # works only with stunnel versions < 4.00
-my $cmd="$stunnel -p $certfile -P $pidfile -d $port -r $target_port 2>/dev/null";
-
-# use some heuristics to determine stunnel version
-my $version_ge_4=system("$stunnel -V 2>&1|grep '^stunnel.* on '>/dev/null 2>&1");
- # works only with stunnel versions >= 4.00
-if ($version_ge_4) { $cmd="$stunnel $conffile"; }
-
-if($verbose) {
- print uc($proto)." server: $cmd\n";
-}
-
-my $rc = system($cmd);
-
-$rc >>= 8;
-if($rc) {
- print STDERR "stunnel exited with $rc!\n";
-}
-
-unlink $conffile;
-
-exit $rc;
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/Makefile.am b/Utilities/cmcurl-7.19.0/tests/libtest/Makefile.am
deleted file mode 100644
index 94774c3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/Makefile.am
+++ /dev/null
@@ -1,164 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
-
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_srcdir)/lib
-
-LIBDIR = $(top_builddir)/lib
-
-EXTRA_DIST = test75.pl test307.pl test610.pl test613.pl test1013.pl test1022.pl
-
-# files used only in some libcurl test programs
-TESTUTIL = testutil.c testutil.h
-
-# these files are used in every single test program below
-SUPPORTFILES = first.c test.h
-
-# These are all libcurl test programs
-noinst_PROGRAMS = lib500 lib501 lib502 lib503 lib504 lib505 lib506 \
- lib507 lib508 lib510 lib511 lib512 lib513 lib514 lib515 lib516 \
- lib517 lib518 lib519 lib520 lib521 lib523 lib524 lib525 lib526 lib527 \
- lib529 lib530 lib532 lib533 lib536 lib537 lib540 lib541 lib542 lib543 \
- lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 \
- lib539 lib557
-
-# Dependencies (may need to be overriden)
-LDADD = $(LIBDIR)/libcurl.la
-DEPENDENCIES = $(LIBDIR)/libcurl.la
-
-
-lib500_SOURCES = lib500.c $(SUPPORTFILES)
-
-lib501_SOURCES = lib501.c $(SUPPORTFILES)
-
-lib502_SOURCES = lib502.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib503_SOURCES = lib503.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib504_SOURCES = lib504.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib505_SOURCES = lib505.c $(SUPPORTFILES)
-
-lib506_SOURCES = lib506.c $(SUPPORTFILES)
-
-lib507_SOURCES = lib507.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib508_SOURCES = lib508.c $(SUPPORTFILES)
-
-lib510_SOURCES = lib510.c $(SUPPORTFILES)
-
-lib511_SOURCES = lib511.c $(SUPPORTFILES)
-
-lib512_SOURCES = lib512.c $(SUPPORTFILES)
-
-lib513_SOURCES = lib513.c $(SUPPORTFILES)
-
-lib514_SOURCES = lib514.c $(SUPPORTFILES)
-
-lib515_SOURCES = lib515.c $(SUPPORTFILES)
-
-lib516_SOURCES = lib516.c $(SUPPORTFILES)
-
-lib517_SOURCES = lib517.c $(SUPPORTFILES)
-
-lib518_SOURCES = lib518.c $(SUPPORTFILES)
-
-lib519_SOURCES = lib519.c $(SUPPORTFILES)
-
-lib520_SOURCES = lib520.c $(SUPPORTFILES)
-
-lib521_SOURCES = lib521.c $(SUPPORTFILES)
-
-lib523_SOURCES = lib523.c $(SUPPORTFILES)
-
-lib524_SOURCES = lib524.c $(SUPPORTFILES)
-
-lib525_SOURCES = lib525.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib526_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL)
-lib526_CFLAGS = -DLIB526
-
-lib527_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL)
-lib527_CFLAGS = -DLIB527
-
-lib529_SOURCES = lib525.c $(SUPPORTFILES) $(TESTUTIL)
-lib529_CFLAGS = -DLIB529
-
-lib530_SOURCES = lib530.c $(SUPPORTFILES) $(TESTUTIL)
-lib530_CFLAGS = -DLIB530
-
-lib532_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL)
-lib532_CFLAGS = -DLIB532
-
-lib533_SOURCES = lib533.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib536_SOURCES = lib536.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib537_SOURCES = lib537.c $(SUPPORTFILES)
-
-lib539_SOURCES = lib539.c $(SUPPORTFILES)
-
-lib540_SOURCES = lib540.c $(SUPPORTFILES)
-
-lib541_SOURCES = lib541.c $(SUPPORTFILES)
-
-lib542_SOURCES = lib542.c $(SUPPORTFILES)
-
-lib543_SOURCES = lib543.c $(SUPPORTFILES)
-
-lib544_SOURCES = lib544.c $(SUPPORTFILES)
-
-lib545_SOURCES = lib544.c $(SUPPORTFILES)
-lib545_CFLAGS = -DLIB545
-
-lib547_SOURCES = lib547.c $(SUPPORTFILES)
-
-lib548_SOURCES = lib547.c $(SUPPORTFILES)
-lib548_CFLAGS = -DLIB548
-
-lib549_SOURCES = lib549.c $(SUPPORTFILES)
-
-lib555_SOURCES = lib555.c $(SUPPORTFILES) $(TESTUTIL)
-
-lib552_SOURCES = lib552.c $(SUPPORTFILES)
-
-lib553_SOURCES = lib553.c $(SUPPORTFILES)
-
-lib554_SOURCES = lib554.c $(SUPPORTFILES)
-
-lib556_SOURCES = lib556.c $(SUPPORTFILES)
-
-lib557_SOURCES = lib557.c $(SUPPORTFILES)
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/Makefile.in b/Utilities/cmcurl-7.19.0/tests/libtest/Makefile.in
deleted file mode 100644
index ddb5c8e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/Makefile.in
+++ /dev/null
@@ -1,1300 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-noinst_PROGRAMS = lib500$(EXEEXT) lib501$(EXEEXT) lib502$(EXEEXT) \
- lib503$(EXEEXT) lib504$(EXEEXT) lib505$(EXEEXT) \
- lib506$(EXEEXT) lib507$(EXEEXT) lib508$(EXEEXT) \
- lib510$(EXEEXT) lib511$(EXEEXT) lib512$(EXEEXT) \
- lib513$(EXEEXT) lib514$(EXEEXT) lib515$(EXEEXT) \
- lib516$(EXEEXT) lib517$(EXEEXT) lib518$(EXEEXT) \
- lib519$(EXEEXT) lib520$(EXEEXT) lib521$(EXEEXT) \
- lib523$(EXEEXT) lib524$(EXEEXT) lib525$(EXEEXT) \
- lib526$(EXEEXT) lib527$(EXEEXT) lib529$(EXEEXT) \
- lib530$(EXEEXT) lib532$(EXEEXT) lib533$(EXEEXT) \
- lib536$(EXEEXT) lib537$(EXEEXT) lib540$(EXEEXT) \
- lib541$(EXEEXT) lib542$(EXEEXT) lib543$(EXEEXT) \
- lib544$(EXEEXT) lib545$(EXEEXT) lib547$(EXEEXT) \
- lib548$(EXEEXT) lib549$(EXEEXT) lib552$(EXEEXT) \
- lib553$(EXEEXT) lib554$(EXEEXT) lib555$(EXEEXT) \
- lib556$(EXEEXT) lib539$(EXEEXT) lib557$(EXEEXT)
-subdir = tests/libtest
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am__objects_1 = first.$(OBJEXT)
-am_lib500_OBJECTS = lib500.$(OBJEXT) $(am__objects_1)
-lib500_OBJECTS = $(am_lib500_OBJECTS)
-lib500_LDADD = $(LDADD)
-lib500_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib501_OBJECTS = lib501.$(OBJEXT) $(am__objects_1)
-lib501_OBJECTS = $(am_lib501_OBJECTS)
-lib501_LDADD = $(LDADD)
-lib501_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_2 = testutil.$(OBJEXT)
-am_lib502_OBJECTS = lib502.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib502_OBJECTS = $(am_lib502_OBJECTS)
-lib502_LDADD = $(LDADD)
-lib502_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib503_OBJECTS = lib503.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib503_OBJECTS = $(am_lib503_OBJECTS)
-lib503_LDADD = $(LDADD)
-lib503_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib504_OBJECTS = lib504.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib504_OBJECTS = $(am_lib504_OBJECTS)
-lib504_LDADD = $(LDADD)
-lib504_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib505_OBJECTS = lib505.$(OBJEXT) $(am__objects_1)
-lib505_OBJECTS = $(am_lib505_OBJECTS)
-lib505_LDADD = $(LDADD)
-lib505_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib506_OBJECTS = lib506.$(OBJEXT) $(am__objects_1)
-lib506_OBJECTS = $(am_lib506_OBJECTS)
-lib506_LDADD = $(LDADD)
-lib506_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib507_OBJECTS = lib507.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib507_OBJECTS = $(am_lib507_OBJECTS)
-lib507_LDADD = $(LDADD)
-lib507_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib508_OBJECTS = lib508.$(OBJEXT) $(am__objects_1)
-lib508_OBJECTS = $(am_lib508_OBJECTS)
-lib508_LDADD = $(LDADD)
-lib508_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib510_OBJECTS = lib510.$(OBJEXT) $(am__objects_1)
-lib510_OBJECTS = $(am_lib510_OBJECTS)
-lib510_LDADD = $(LDADD)
-lib510_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib511_OBJECTS = lib511.$(OBJEXT) $(am__objects_1)
-lib511_OBJECTS = $(am_lib511_OBJECTS)
-lib511_LDADD = $(LDADD)
-lib511_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib512_OBJECTS = lib512.$(OBJEXT) $(am__objects_1)
-lib512_OBJECTS = $(am_lib512_OBJECTS)
-lib512_LDADD = $(LDADD)
-lib512_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib513_OBJECTS = lib513.$(OBJEXT) $(am__objects_1)
-lib513_OBJECTS = $(am_lib513_OBJECTS)
-lib513_LDADD = $(LDADD)
-lib513_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib514_OBJECTS = lib514.$(OBJEXT) $(am__objects_1)
-lib514_OBJECTS = $(am_lib514_OBJECTS)
-lib514_LDADD = $(LDADD)
-lib514_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib515_OBJECTS = lib515.$(OBJEXT) $(am__objects_1)
-lib515_OBJECTS = $(am_lib515_OBJECTS)
-lib515_LDADD = $(LDADD)
-lib515_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib516_OBJECTS = lib516.$(OBJEXT) $(am__objects_1)
-lib516_OBJECTS = $(am_lib516_OBJECTS)
-lib516_LDADD = $(LDADD)
-lib516_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib517_OBJECTS = lib517.$(OBJEXT) $(am__objects_1)
-lib517_OBJECTS = $(am_lib517_OBJECTS)
-lib517_LDADD = $(LDADD)
-lib517_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib518_OBJECTS = lib518.$(OBJEXT) $(am__objects_1)
-lib518_OBJECTS = $(am_lib518_OBJECTS)
-lib518_LDADD = $(LDADD)
-lib518_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib519_OBJECTS = lib519.$(OBJEXT) $(am__objects_1)
-lib519_OBJECTS = $(am_lib519_OBJECTS)
-lib519_LDADD = $(LDADD)
-lib519_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib520_OBJECTS = lib520.$(OBJEXT) $(am__objects_1)
-lib520_OBJECTS = $(am_lib520_OBJECTS)
-lib520_LDADD = $(LDADD)
-lib520_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib521_OBJECTS = lib521.$(OBJEXT) $(am__objects_1)
-lib521_OBJECTS = $(am_lib521_OBJECTS)
-lib521_LDADD = $(LDADD)
-lib521_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib523_OBJECTS = lib523.$(OBJEXT) $(am__objects_1)
-lib523_OBJECTS = $(am_lib523_OBJECTS)
-lib523_LDADD = $(LDADD)
-lib523_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib524_OBJECTS = lib524.$(OBJEXT) $(am__objects_1)
-lib524_OBJECTS = $(am_lib524_OBJECTS)
-lib524_LDADD = $(LDADD)
-lib524_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib525_OBJECTS = lib525.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib525_OBJECTS = $(am_lib525_OBJECTS)
-lib525_LDADD = $(LDADD)
-lib525_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_3 = lib526-first.$(OBJEXT)
-am__objects_4 = lib526-testutil.$(OBJEXT)
-am_lib526_OBJECTS = lib526-lib526.$(OBJEXT) $(am__objects_3) \
- $(am__objects_4)
-lib526_OBJECTS = $(am_lib526_OBJECTS)
-lib526_LDADD = $(LDADD)
-lib526_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_5 = lib527-first.$(OBJEXT)
-am__objects_6 = lib527-testutil.$(OBJEXT)
-am_lib527_OBJECTS = lib527-lib526.$(OBJEXT) $(am__objects_5) \
- $(am__objects_6)
-lib527_OBJECTS = $(am_lib527_OBJECTS)
-lib527_LDADD = $(LDADD)
-lib527_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_7 = lib529-first.$(OBJEXT)
-am__objects_8 = lib529-testutil.$(OBJEXT)
-am_lib529_OBJECTS = lib529-lib525.$(OBJEXT) $(am__objects_7) \
- $(am__objects_8)
-lib529_OBJECTS = $(am_lib529_OBJECTS)
-lib529_LDADD = $(LDADD)
-lib529_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_9 = lib530-first.$(OBJEXT)
-am__objects_10 = lib530-testutil.$(OBJEXT)
-am_lib530_OBJECTS = lib530-lib530.$(OBJEXT) $(am__objects_9) \
- $(am__objects_10)
-lib530_OBJECTS = $(am_lib530_OBJECTS)
-lib530_LDADD = $(LDADD)
-lib530_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_11 = lib532-first.$(OBJEXT)
-am__objects_12 = lib532-testutil.$(OBJEXT)
-am_lib532_OBJECTS = lib532-lib526.$(OBJEXT) $(am__objects_11) \
- $(am__objects_12)
-lib532_OBJECTS = $(am_lib532_OBJECTS)
-lib532_LDADD = $(LDADD)
-lib532_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib533_OBJECTS = lib533.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib533_OBJECTS = $(am_lib533_OBJECTS)
-lib533_LDADD = $(LDADD)
-lib533_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib536_OBJECTS = lib536.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib536_OBJECTS = $(am_lib536_OBJECTS)
-lib536_LDADD = $(LDADD)
-lib536_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib537_OBJECTS = lib537.$(OBJEXT) $(am__objects_1)
-lib537_OBJECTS = $(am_lib537_OBJECTS)
-lib537_LDADD = $(LDADD)
-lib537_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib539_OBJECTS = lib539.$(OBJEXT) $(am__objects_1)
-lib539_OBJECTS = $(am_lib539_OBJECTS)
-lib539_LDADD = $(LDADD)
-lib539_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib540_OBJECTS = lib540.$(OBJEXT) $(am__objects_1)
-lib540_OBJECTS = $(am_lib540_OBJECTS)
-lib540_LDADD = $(LDADD)
-lib540_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib541_OBJECTS = lib541.$(OBJEXT) $(am__objects_1)
-lib541_OBJECTS = $(am_lib541_OBJECTS)
-lib541_LDADD = $(LDADD)
-lib541_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib542_OBJECTS = lib542.$(OBJEXT) $(am__objects_1)
-lib542_OBJECTS = $(am_lib542_OBJECTS)
-lib542_LDADD = $(LDADD)
-lib542_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib543_OBJECTS = lib543.$(OBJEXT) $(am__objects_1)
-lib543_OBJECTS = $(am_lib543_OBJECTS)
-lib543_LDADD = $(LDADD)
-lib543_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib544_OBJECTS = lib544.$(OBJEXT) $(am__objects_1)
-lib544_OBJECTS = $(am_lib544_OBJECTS)
-lib544_LDADD = $(LDADD)
-lib544_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_13 = lib545-first.$(OBJEXT)
-am_lib545_OBJECTS = lib545-lib544.$(OBJEXT) $(am__objects_13)
-lib545_OBJECTS = $(am_lib545_OBJECTS)
-lib545_LDADD = $(LDADD)
-lib545_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib547_OBJECTS = lib547.$(OBJEXT) $(am__objects_1)
-lib547_OBJECTS = $(am_lib547_OBJECTS)
-lib547_LDADD = $(LDADD)
-lib547_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am__objects_14 = lib548-first.$(OBJEXT)
-am_lib548_OBJECTS = lib548-lib547.$(OBJEXT) $(am__objects_14)
-lib548_OBJECTS = $(am_lib548_OBJECTS)
-lib548_LDADD = $(LDADD)
-lib548_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib549_OBJECTS = lib549.$(OBJEXT) $(am__objects_1)
-lib549_OBJECTS = $(am_lib549_OBJECTS)
-lib549_LDADD = $(LDADD)
-lib549_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib552_OBJECTS = lib552.$(OBJEXT) $(am__objects_1)
-lib552_OBJECTS = $(am_lib552_OBJECTS)
-lib552_LDADD = $(LDADD)
-lib552_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib553_OBJECTS = lib553.$(OBJEXT) $(am__objects_1)
-lib553_OBJECTS = $(am_lib553_OBJECTS)
-lib553_LDADD = $(LDADD)
-lib553_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib554_OBJECTS = lib554.$(OBJEXT) $(am__objects_1)
-lib554_OBJECTS = $(am_lib554_OBJECTS)
-lib554_LDADD = $(LDADD)
-lib554_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib555_OBJECTS = lib555.$(OBJEXT) $(am__objects_1) $(am__objects_2)
-lib555_OBJECTS = $(am_lib555_OBJECTS)
-lib555_LDADD = $(LDADD)
-lib555_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib556_OBJECTS = lib556.$(OBJEXT) $(am__objects_1)
-lib556_OBJECTS = $(am_lib556_OBJECTS)
-lib556_LDADD = $(LDADD)
-lib556_DEPENDENCIES = $(LIBDIR)/libcurl.la
-am_lib557_OBJECTS = lib557.$(OBJEXT) $(am__objects_1)
-lib557_OBJECTS = $(am_lib557_OBJECTS)
-lib557_LDADD = $(LDADD)
-lib557_DEPENDENCIES = $(LIBDIR)/libcurl.la
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(lib500_SOURCES) $(lib501_SOURCES) $(lib502_SOURCES) \
- $(lib503_SOURCES) $(lib504_SOURCES) $(lib505_SOURCES) \
- $(lib506_SOURCES) $(lib507_SOURCES) $(lib508_SOURCES) \
- $(lib510_SOURCES) $(lib511_SOURCES) $(lib512_SOURCES) \
- $(lib513_SOURCES) $(lib514_SOURCES) $(lib515_SOURCES) \
- $(lib516_SOURCES) $(lib517_SOURCES) $(lib518_SOURCES) \
- $(lib519_SOURCES) $(lib520_SOURCES) $(lib521_SOURCES) \
- $(lib523_SOURCES) $(lib524_SOURCES) $(lib525_SOURCES) \
- $(lib526_SOURCES) $(lib527_SOURCES) $(lib529_SOURCES) \
- $(lib530_SOURCES) $(lib532_SOURCES) $(lib533_SOURCES) \
- $(lib536_SOURCES) $(lib537_SOURCES) $(lib539_SOURCES) \
- $(lib540_SOURCES) $(lib541_SOURCES) $(lib542_SOURCES) \
- $(lib543_SOURCES) $(lib544_SOURCES) $(lib545_SOURCES) \
- $(lib547_SOURCES) $(lib548_SOURCES) $(lib549_SOURCES) \
- $(lib552_SOURCES) $(lib553_SOURCES) $(lib554_SOURCES) \
- $(lib555_SOURCES) $(lib556_SOURCES) $(lib557_SOURCES)
-DIST_SOURCES = $(lib500_SOURCES) $(lib501_SOURCES) $(lib502_SOURCES) \
- $(lib503_SOURCES) $(lib504_SOURCES) $(lib505_SOURCES) \
- $(lib506_SOURCES) $(lib507_SOURCES) $(lib508_SOURCES) \
- $(lib510_SOURCES) $(lib511_SOURCES) $(lib512_SOURCES) \
- $(lib513_SOURCES) $(lib514_SOURCES) $(lib515_SOURCES) \
- $(lib516_SOURCES) $(lib517_SOURCES) $(lib518_SOURCES) \
- $(lib519_SOURCES) $(lib520_SOURCES) $(lib521_SOURCES) \
- $(lib523_SOURCES) $(lib524_SOURCES) $(lib525_SOURCES) \
- $(lib526_SOURCES) $(lib527_SOURCES) $(lib529_SOURCES) \
- $(lib530_SOURCES) $(lib532_SOURCES) $(lib533_SOURCES) \
- $(lib536_SOURCES) $(lib537_SOURCES) $(lib539_SOURCES) \
- $(lib540_SOURCES) $(lib541_SOURCES) $(lib542_SOURCES) \
- $(lib543_SOURCES) $(lib544_SOURCES) $(lib545_SOURCES) \
- $(lib547_SOURCES) $(lib548_SOURCES) $(lib549_SOURCES) \
- $(lib552_SOURCES) $(lib553_SOURCES) $(lib554_SOURCES) \
- $(lib555_SOURCES) $(lib556_SOURCES) $(lib557_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_srcdir)/lib
-
-LIBDIR = $(top_builddir)/lib
-EXTRA_DIST = test75.pl test307.pl test610.pl test613.pl test1013.pl test1022.pl
-
-# files used only in some libcurl test programs
-TESTUTIL = testutil.c testutil.h
-
-# these files are used in every single test program below
-SUPPORTFILES = first.c test.h
-
-# Dependencies (may need to be overriden)
-LDADD = $(LIBDIR)/libcurl.la
-DEPENDENCIES = $(LIBDIR)/libcurl.la
-lib500_SOURCES = lib500.c $(SUPPORTFILES)
-lib501_SOURCES = lib501.c $(SUPPORTFILES)
-lib502_SOURCES = lib502.c $(SUPPORTFILES) $(TESTUTIL)
-lib503_SOURCES = lib503.c $(SUPPORTFILES) $(TESTUTIL)
-lib504_SOURCES = lib504.c $(SUPPORTFILES) $(TESTUTIL)
-lib505_SOURCES = lib505.c $(SUPPORTFILES)
-lib506_SOURCES = lib506.c $(SUPPORTFILES)
-lib507_SOURCES = lib507.c $(SUPPORTFILES) $(TESTUTIL)
-lib508_SOURCES = lib508.c $(SUPPORTFILES)
-lib510_SOURCES = lib510.c $(SUPPORTFILES)
-lib511_SOURCES = lib511.c $(SUPPORTFILES)
-lib512_SOURCES = lib512.c $(SUPPORTFILES)
-lib513_SOURCES = lib513.c $(SUPPORTFILES)
-lib514_SOURCES = lib514.c $(SUPPORTFILES)
-lib515_SOURCES = lib515.c $(SUPPORTFILES)
-lib516_SOURCES = lib516.c $(SUPPORTFILES)
-lib517_SOURCES = lib517.c $(SUPPORTFILES)
-lib518_SOURCES = lib518.c $(SUPPORTFILES)
-lib519_SOURCES = lib519.c $(SUPPORTFILES)
-lib520_SOURCES = lib520.c $(SUPPORTFILES)
-lib521_SOURCES = lib521.c $(SUPPORTFILES)
-lib523_SOURCES = lib523.c $(SUPPORTFILES)
-lib524_SOURCES = lib524.c $(SUPPORTFILES)
-lib525_SOURCES = lib525.c $(SUPPORTFILES) $(TESTUTIL)
-lib526_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL)
-lib526_CFLAGS = -DLIB526
-lib527_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL)
-lib527_CFLAGS = -DLIB527
-lib529_SOURCES = lib525.c $(SUPPORTFILES) $(TESTUTIL)
-lib529_CFLAGS = -DLIB529
-lib530_SOURCES = lib530.c $(SUPPORTFILES) $(TESTUTIL)
-lib530_CFLAGS = -DLIB530
-lib532_SOURCES = lib526.c $(SUPPORTFILES) $(TESTUTIL)
-lib532_CFLAGS = -DLIB532
-lib533_SOURCES = lib533.c $(SUPPORTFILES) $(TESTUTIL)
-lib536_SOURCES = lib536.c $(SUPPORTFILES) $(TESTUTIL)
-lib537_SOURCES = lib537.c $(SUPPORTFILES)
-lib539_SOURCES = lib539.c $(SUPPORTFILES)
-lib540_SOURCES = lib540.c $(SUPPORTFILES)
-lib541_SOURCES = lib541.c $(SUPPORTFILES)
-lib542_SOURCES = lib542.c $(SUPPORTFILES)
-lib543_SOURCES = lib543.c $(SUPPORTFILES)
-lib544_SOURCES = lib544.c $(SUPPORTFILES)
-lib545_SOURCES = lib544.c $(SUPPORTFILES)
-lib545_CFLAGS = -DLIB545
-lib547_SOURCES = lib547.c $(SUPPORTFILES)
-lib548_SOURCES = lib547.c $(SUPPORTFILES)
-lib548_CFLAGS = -DLIB548
-lib549_SOURCES = lib549.c $(SUPPORTFILES)
-lib555_SOURCES = lib555.c $(SUPPORTFILES) $(TESTUTIL)
-lib552_SOURCES = lib552.c $(SUPPORTFILES)
-lib553_SOURCES = lib553.c $(SUPPORTFILES)
-lib554_SOURCES = lib554.c $(SUPPORTFILES)
-lib556_SOURCES = lib556.c $(SUPPORTFILES)
-lib557_SOURCES = lib557.c $(SUPPORTFILES)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/libtest/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests/libtest/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;
-
-$(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
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-lib500$(EXEEXT): $(lib500_OBJECTS) $(lib500_DEPENDENCIES)
- @rm -f lib500$(EXEEXT)
- $(LINK) $(lib500_LDFLAGS) $(lib500_OBJECTS) $(lib500_LDADD) $(LIBS)
-lib501$(EXEEXT): $(lib501_OBJECTS) $(lib501_DEPENDENCIES)
- @rm -f lib501$(EXEEXT)
- $(LINK) $(lib501_LDFLAGS) $(lib501_OBJECTS) $(lib501_LDADD) $(LIBS)
-lib502$(EXEEXT): $(lib502_OBJECTS) $(lib502_DEPENDENCIES)
- @rm -f lib502$(EXEEXT)
- $(LINK) $(lib502_LDFLAGS) $(lib502_OBJECTS) $(lib502_LDADD) $(LIBS)
-lib503$(EXEEXT): $(lib503_OBJECTS) $(lib503_DEPENDENCIES)
- @rm -f lib503$(EXEEXT)
- $(LINK) $(lib503_LDFLAGS) $(lib503_OBJECTS) $(lib503_LDADD) $(LIBS)
-lib504$(EXEEXT): $(lib504_OBJECTS) $(lib504_DEPENDENCIES)
- @rm -f lib504$(EXEEXT)
- $(LINK) $(lib504_LDFLAGS) $(lib504_OBJECTS) $(lib504_LDADD) $(LIBS)
-lib505$(EXEEXT): $(lib505_OBJECTS) $(lib505_DEPENDENCIES)
- @rm -f lib505$(EXEEXT)
- $(LINK) $(lib505_LDFLAGS) $(lib505_OBJECTS) $(lib505_LDADD) $(LIBS)
-lib506$(EXEEXT): $(lib506_OBJECTS) $(lib506_DEPENDENCIES)
- @rm -f lib506$(EXEEXT)
- $(LINK) $(lib506_LDFLAGS) $(lib506_OBJECTS) $(lib506_LDADD) $(LIBS)
-lib507$(EXEEXT): $(lib507_OBJECTS) $(lib507_DEPENDENCIES)
- @rm -f lib507$(EXEEXT)
- $(LINK) $(lib507_LDFLAGS) $(lib507_OBJECTS) $(lib507_LDADD) $(LIBS)
-lib508$(EXEEXT): $(lib508_OBJECTS) $(lib508_DEPENDENCIES)
- @rm -f lib508$(EXEEXT)
- $(LINK) $(lib508_LDFLAGS) $(lib508_OBJECTS) $(lib508_LDADD) $(LIBS)
-lib510$(EXEEXT): $(lib510_OBJECTS) $(lib510_DEPENDENCIES)
- @rm -f lib510$(EXEEXT)
- $(LINK) $(lib510_LDFLAGS) $(lib510_OBJECTS) $(lib510_LDADD) $(LIBS)
-lib511$(EXEEXT): $(lib511_OBJECTS) $(lib511_DEPENDENCIES)
- @rm -f lib511$(EXEEXT)
- $(LINK) $(lib511_LDFLAGS) $(lib511_OBJECTS) $(lib511_LDADD) $(LIBS)
-lib512$(EXEEXT): $(lib512_OBJECTS) $(lib512_DEPENDENCIES)
- @rm -f lib512$(EXEEXT)
- $(LINK) $(lib512_LDFLAGS) $(lib512_OBJECTS) $(lib512_LDADD) $(LIBS)
-lib513$(EXEEXT): $(lib513_OBJECTS) $(lib513_DEPENDENCIES)
- @rm -f lib513$(EXEEXT)
- $(LINK) $(lib513_LDFLAGS) $(lib513_OBJECTS) $(lib513_LDADD) $(LIBS)
-lib514$(EXEEXT): $(lib514_OBJECTS) $(lib514_DEPENDENCIES)
- @rm -f lib514$(EXEEXT)
- $(LINK) $(lib514_LDFLAGS) $(lib514_OBJECTS) $(lib514_LDADD) $(LIBS)
-lib515$(EXEEXT): $(lib515_OBJECTS) $(lib515_DEPENDENCIES)
- @rm -f lib515$(EXEEXT)
- $(LINK) $(lib515_LDFLAGS) $(lib515_OBJECTS) $(lib515_LDADD) $(LIBS)
-lib516$(EXEEXT): $(lib516_OBJECTS) $(lib516_DEPENDENCIES)
- @rm -f lib516$(EXEEXT)
- $(LINK) $(lib516_LDFLAGS) $(lib516_OBJECTS) $(lib516_LDADD) $(LIBS)
-lib517$(EXEEXT): $(lib517_OBJECTS) $(lib517_DEPENDENCIES)
- @rm -f lib517$(EXEEXT)
- $(LINK) $(lib517_LDFLAGS) $(lib517_OBJECTS) $(lib517_LDADD) $(LIBS)
-lib518$(EXEEXT): $(lib518_OBJECTS) $(lib518_DEPENDENCIES)
- @rm -f lib518$(EXEEXT)
- $(LINK) $(lib518_LDFLAGS) $(lib518_OBJECTS) $(lib518_LDADD) $(LIBS)
-lib519$(EXEEXT): $(lib519_OBJECTS) $(lib519_DEPENDENCIES)
- @rm -f lib519$(EXEEXT)
- $(LINK) $(lib519_LDFLAGS) $(lib519_OBJECTS) $(lib519_LDADD) $(LIBS)
-lib520$(EXEEXT): $(lib520_OBJECTS) $(lib520_DEPENDENCIES)
- @rm -f lib520$(EXEEXT)
- $(LINK) $(lib520_LDFLAGS) $(lib520_OBJECTS) $(lib520_LDADD) $(LIBS)
-lib521$(EXEEXT): $(lib521_OBJECTS) $(lib521_DEPENDENCIES)
- @rm -f lib521$(EXEEXT)
- $(LINK) $(lib521_LDFLAGS) $(lib521_OBJECTS) $(lib521_LDADD) $(LIBS)
-lib523$(EXEEXT): $(lib523_OBJECTS) $(lib523_DEPENDENCIES)
- @rm -f lib523$(EXEEXT)
- $(LINK) $(lib523_LDFLAGS) $(lib523_OBJECTS) $(lib523_LDADD) $(LIBS)
-lib524$(EXEEXT): $(lib524_OBJECTS) $(lib524_DEPENDENCIES)
- @rm -f lib524$(EXEEXT)
- $(LINK) $(lib524_LDFLAGS) $(lib524_OBJECTS) $(lib524_LDADD) $(LIBS)
-lib525$(EXEEXT): $(lib525_OBJECTS) $(lib525_DEPENDENCIES)
- @rm -f lib525$(EXEEXT)
- $(LINK) $(lib525_LDFLAGS) $(lib525_OBJECTS) $(lib525_LDADD) $(LIBS)
-lib526$(EXEEXT): $(lib526_OBJECTS) $(lib526_DEPENDENCIES)
- @rm -f lib526$(EXEEXT)
- $(LINK) $(lib526_LDFLAGS) $(lib526_OBJECTS) $(lib526_LDADD) $(LIBS)
-lib527$(EXEEXT): $(lib527_OBJECTS) $(lib527_DEPENDENCIES)
- @rm -f lib527$(EXEEXT)
- $(LINK) $(lib527_LDFLAGS) $(lib527_OBJECTS) $(lib527_LDADD) $(LIBS)
-lib529$(EXEEXT): $(lib529_OBJECTS) $(lib529_DEPENDENCIES)
- @rm -f lib529$(EXEEXT)
- $(LINK) $(lib529_LDFLAGS) $(lib529_OBJECTS) $(lib529_LDADD) $(LIBS)
-lib530$(EXEEXT): $(lib530_OBJECTS) $(lib530_DEPENDENCIES)
- @rm -f lib530$(EXEEXT)
- $(LINK) $(lib530_LDFLAGS) $(lib530_OBJECTS) $(lib530_LDADD) $(LIBS)
-lib532$(EXEEXT): $(lib532_OBJECTS) $(lib532_DEPENDENCIES)
- @rm -f lib532$(EXEEXT)
- $(LINK) $(lib532_LDFLAGS) $(lib532_OBJECTS) $(lib532_LDADD) $(LIBS)
-lib533$(EXEEXT): $(lib533_OBJECTS) $(lib533_DEPENDENCIES)
- @rm -f lib533$(EXEEXT)
- $(LINK) $(lib533_LDFLAGS) $(lib533_OBJECTS) $(lib533_LDADD) $(LIBS)
-lib536$(EXEEXT): $(lib536_OBJECTS) $(lib536_DEPENDENCIES)
- @rm -f lib536$(EXEEXT)
- $(LINK) $(lib536_LDFLAGS) $(lib536_OBJECTS) $(lib536_LDADD) $(LIBS)
-lib537$(EXEEXT): $(lib537_OBJECTS) $(lib537_DEPENDENCIES)
- @rm -f lib537$(EXEEXT)
- $(LINK) $(lib537_LDFLAGS) $(lib537_OBJECTS) $(lib537_LDADD) $(LIBS)
-lib539$(EXEEXT): $(lib539_OBJECTS) $(lib539_DEPENDENCIES)
- @rm -f lib539$(EXEEXT)
- $(LINK) $(lib539_LDFLAGS) $(lib539_OBJECTS) $(lib539_LDADD) $(LIBS)
-lib540$(EXEEXT): $(lib540_OBJECTS) $(lib540_DEPENDENCIES)
- @rm -f lib540$(EXEEXT)
- $(LINK) $(lib540_LDFLAGS) $(lib540_OBJECTS) $(lib540_LDADD) $(LIBS)
-lib541$(EXEEXT): $(lib541_OBJECTS) $(lib541_DEPENDENCIES)
- @rm -f lib541$(EXEEXT)
- $(LINK) $(lib541_LDFLAGS) $(lib541_OBJECTS) $(lib541_LDADD) $(LIBS)
-lib542$(EXEEXT): $(lib542_OBJECTS) $(lib542_DEPENDENCIES)
- @rm -f lib542$(EXEEXT)
- $(LINK) $(lib542_LDFLAGS) $(lib542_OBJECTS) $(lib542_LDADD) $(LIBS)
-lib543$(EXEEXT): $(lib543_OBJECTS) $(lib543_DEPENDENCIES)
- @rm -f lib543$(EXEEXT)
- $(LINK) $(lib543_LDFLAGS) $(lib543_OBJECTS) $(lib543_LDADD) $(LIBS)
-lib544$(EXEEXT): $(lib544_OBJECTS) $(lib544_DEPENDENCIES)
- @rm -f lib544$(EXEEXT)
- $(LINK) $(lib544_LDFLAGS) $(lib544_OBJECTS) $(lib544_LDADD) $(LIBS)
-lib545$(EXEEXT): $(lib545_OBJECTS) $(lib545_DEPENDENCIES)
- @rm -f lib545$(EXEEXT)
- $(LINK) $(lib545_LDFLAGS) $(lib545_OBJECTS) $(lib545_LDADD) $(LIBS)
-lib547$(EXEEXT): $(lib547_OBJECTS) $(lib547_DEPENDENCIES)
- @rm -f lib547$(EXEEXT)
- $(LINK) $(lib547_LDFLAGS) $(lib547_OBJECTS) $(lib547_LDADD) $(LIBS)
-lib548$(EXEEXT): $(lib548_OBJECTS) $(lib548_DEPENDENCIES)
- @rm -f lib548$(EXEEXT)
- $(LINK) $(lib548_LDFLAGS) $(lib548_OBJECTS) $(lib548_LDADD) $(LIBS)
-lib549$(EXEEXT): $(lib549_OBJECTS) $(lib549_DEPENDENCIES)
- @rm -f lib549$(EXEEXT)
- $(LINK) $(lib549_LDFLAGS) $(lib549_OBJECTS) $(lib549_LDADD) $(LIBS)
-lib552$(EXEEXT): $(lib552_OBJECTS) $(lib552_DEPENDENCIES)
- @rm -f lib552$(EXEEXT)
- $(LINK) $(lib552_LDFLAGS) $(lib552_OBJECTS) $(lib552_LDADD) $(LIBS)
-lib553$(EXEEXT): $(lib553_OBJECTS) $(lib553_DEPENDENCIES)
- @rm -f lib553$(EXEEXT)
- $(LINK) $(lib553_LDFLAGS) $(lib553_OBJECTS) $(lib553_LDADD) $(LIBS)
-lib554$(EXEEXT): $(lib554_OBJECTS) $(lib554_DEPENDENCIES)
- @rm -f lib554$(EXEEXT)
- $(LINK) $(lib554_LDFLAGS) $(lib554_OBJECTS) $(lib554_LDADD) $(LIBS)
-lib555$(EXEEXT): $(lib555_OBJECTS) $(lib555_DEPENDENCIES)
- @rm -f lib555$(EXEEXT)
- $(LINK) $(lib555_LDFLAGS) $(lib555_OBJECTS) $(lib555_LDADD) $(LIBS)
-lib556$(EXEEXT): $(lib556_OBJECTS) $(lib556_DEPENDENCIES)
- @rm -f lib556$(EXEEXT)
- $(LINK) $(lib556_LDFLAGS) $(lib556_OBJECTS) $(lib556_LDADD) $(LIBS)
-lib557$(EXEEXT): $(lib557_OBJECTS) $(lib557_DEPENDENCIES)
- @rm -f lib557$(EXEEXT)
- $(LINK) $(lib557_LDFLAGS) $(lib557_OBJECTS) $(lib557_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib501.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib502.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib503.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib504.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib505.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib506.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib507.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib508.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib510.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib511.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib512.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib513.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib514.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib515.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib516.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib517.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib518.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib519.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib520.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib521.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib523.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib524.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib525.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib526-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib526-lib526.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib526-testutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib527-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib527-lib526.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib527-testutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib529-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib529-lib525.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib529-testutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib530-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib530-lib530.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib530-testutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib532-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib532-lib526.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib532-testutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib533.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib536.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib537.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib539.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib540.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib541.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib542.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib543.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib544.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib545-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib545-lib544.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib547.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib548-first.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib548-lib547.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib549.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib552.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib553.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib554.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib555.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib556.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib557.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testutil.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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 $@ $<
-
-lib526-lib526.o: lib526.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -MT lib526-lib526.o -MD -MP -MF "$(DEPDIR)/lib526-lib526.Tpo" -c -o lib526-lib526.o `test -f 'lib526.c' || echo '$(srcdir)/'`lib526.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib526-lib526.Tpo" "$(DEPDIR)/lib526-lib526.Po"; else rm -f "$(DEPDIR)/lib526-lib526.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib526.c' object='lib526-lib526.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -c -o lib526-lib526.o `test -f 'lib526.c' || echo '$(srcdir)/'`lib526.c
-
-lib526-lib526.obj: lib526.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -MT lib526-lib526.obj -MD -MP -MF "$(DEPDIR)/lib526-lib526.Tpo" -c -o lib526-lib526.obj `if test -f 'lib526.c'; then $(CYGPATH_W) 'lib526.c'; else $(CYGPATH_W) '$(srcdir)/lib526.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib526-lib526.Tpo" "$(DEPDIR)/lib526-lib526.Po"; else rm -f "$(DEPDIR)/lib526-lib526.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib526.c' object='lib526-lib526.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -c -o lib526-lib526.obj `if test -f 'lib526.c'; then $(CYGPATH_W) 'lib526.c'; else $(CYGPATH_W) '$(srcdir)/lib526.c'; fi`
-
-lib526-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -MT lib526-first.o -MD -MP -MF "$(DEPDIR)/lib526-first.Tpo" -c -o lib526-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib526-first.Tpo" "$(DEPDIR)/lib526-first.Po"; else rm -f "$(DEPDIR)/lib526-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib526-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -c -o lib526-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib526-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -MT lib526-first.obj -MD -MP -MF "$(DEPDIR)/lib526-first.Tpo" -c -o lib526-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib526-first.Tpo" "$(DEPDIR)/lib526-first.Po"; else rm -f "$(DEPDIR)/lib526-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib526-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -c -o lib526-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-lib526-testutil.o: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -MT lib526-testutil.o -MD -MP -MF "$(DEPDIR)/lib526-testutil.Tpo" -c -o lib526-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib526-testutil.Tpo" "$(DEPDIR)/lib526-testutil.Po"; else rm -f "$(DEPDIR)/lib526-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib526-testutil.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -c -o lib526-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c
-
-lib526-testutil.obj: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -MT lib526-testutil.obj -MD -MP -MF "$(DEPDIR)/lib526-testutil.Tpo" -c -o lib526-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib526-testutil.Tpo" "$(DEPDIR)/lib526-testutil.Po"; else rm -f "$(DEPDIR)/lib526-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib526-testutil.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib526_CFLAGS) $(CFLAGS) -c -o lib526-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`
-
-lib527-lib526.o: lib526.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -MT lib527-lib526.o -MD -MP -MF "$(DEPDIR)/lib527-lib526.Tpo" -c -o lib527-lib526.o `test -f 'lib526.c' || echo '$(srcdir)/'`lib526.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib527-lib526.Tpo" "$(DEPDIR)/lib527-lib526.Po"; else rm -f "$(DEPDIR)/lib527-lib526.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib526.c' object='lib527-lib526.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -c -o lib527-lib526.o `test -f 'lib526.c' || echo '$(srcdir)/'`lib526.c
-
-lib527-lib526.obj: lib526.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -MT lib527-lib526.obj -MD -MP -MF "$(DEPDIR)/lib527-lib526.Tpo" -c -o lib527-lib526.obj `if test -f 'lib526.c'; then $(CYGPATH_W) 'lib526.c'; else $(CYGPATH_W) '$(srcdir)/lib526.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib527-lib526.Tpo" "$(DEPDIR)/lib527-lib526.Po"; else rm -f "$(DEPDIR)/lib527-lib526.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib526.c' object='lib527-lib526.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -c -o lib527-lib526.obj `if test -f 'lib526.c'; then $(CYGPATH_W) 'lib526.c'; else $(CYGPATH_W) '$(srcdir)/lib526.c'; fi`
-
-lib527-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -MT lib527-first.o -MD -MP -MF "$(DEPDIR)/lib527-first.Tpo" -c -o lib527-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib527-first.Tpo" "$(DEPDIR)/lib527-first.Po"; else rm -f "$(DEPDIR)/lib527-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib527-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -c -o lib527-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib527-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -MT lib527-first.obj -MD -MP -MF "$(DEPDIR)/lib527-first.Tpo" -c -o lib527-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib527-first.Tpo" "$(DEPDIR)/lib527-first.Po"; else rm -f "$(DEPDIR)/lib527-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib527-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -c -o lib527-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-lib527-testutil.o: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -MT lib527-testutil.o -MD -MP -MF "$(DEPDIR)/lib527-testutil.Tpo" -c -o lib527-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib527-testutil.Tpo" "$(DEPDIR)/lib527-testutil.Po"; else rm -f "$(DEPDIR)/lib527-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib527-testutil.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -c -o lib527-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c
-
-lib527-testutil.obj: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -MT lib527-testutil.obj -MD -MP -MF "$(DEPDIR)/lib527-testutil.Tpo" -c -o lib527-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib527-testutil.Tpo" "$(DEPDIR)/lib527-testutil.Po"; else rm -f "$(DEPDIR)/lib527-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib527-testutil.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib527_CFLAGS) $(CFLAGS) -c -o lib527-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`
-
-lib529-lib525.o: lib525.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -MT lib529-lib525.o -MD -MP -MF "$(DEPDIR)/lib529-lib525.Tpo" -c -o lib529-lib525.o `test -f 'lib525.c' || echo '$(srcdir)/'`lib525.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib529-lib525.Tpo" "$(DEPDIR)/lib529-lib525.Po"; else rm -f "$(DEPDIR)/lib529-lib525.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib525.c' object='lib529-lib525.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -c -o lib529-lib525.o `test -f 'lib525.c' || echo '$(srcdir)/'`lib525.c
-
-lib529-lib525.obj: lib525.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -MT lib529-lib525.obj -MD -MP -MF "$(DEPDIR)/lib529-lib525.Tpo" -c -o lib529-lib525.obj `if test -f 'lib525.c'; then $(CYGPATH_W) 'lib525.c'; else $(CYGPATH_W) '$(srcdir)/lib525.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib529-lib525.Tpo" "$(DEPDIR)/lib529-lib525.Po"; else rm -f "$(DEPDIR)/lib529-lib525.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib525.c' object='lib529-lib525.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -c -o lib529-lib525.obj `if test -f 'lib525.c'; then $(CYGPATH_W) 'lib525.c'; else $(CYGPATH_W) '$(srcdir)/lib525.c'; fi`
-
-lib529-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -MT lib529-first.o -MD -MP -MF "$(DEPDIR)/lib529-first.Tpo" -c -o lib529-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib529-first.Tpo" "$(DEPDIR)/lib529-first.Po"; else rm -f "$(DEPDIR)/lib529-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib529-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -c -o lib529-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib529-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -MT lib529-first.obj -MD -MP -MF "$(DEPDIR)/lib529-first.Tpo" -c -o lib529-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib529-first.Tpo" "$(DEPDIR)/lib529-first.Po"; else rm -f "$(DEPDIR)/lib529-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib529-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -c -o lib529-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-lib529-testutil.o: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -MT lib529-testutil.o -MD -MP -MF "$(DEPDIR)/lib529-testutil.Tpo" -c -o lib529-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib529-testutil.Tpo" "$(DEPDIR)/lib529-testutil.Po"; else rm -f "$(DEPDIR)/lib529-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib529-testutil.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -c -o lib529-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c
-
-lib529-testutil.obj: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -MT lib529-testutil.obj -MD -MP -MF "$(DEPDIR)/lib529-testutil.Tpo" -c -o lib529-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib529-testutil.Tpo" "$(DEPDIR)/lib529-testutil.Po"; else rm -f "$(DEPDIR)/lib529-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib529-testutil.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib529_CFLAGS) $(CFLAGS) -c -o lib529-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`
-
-lib530-lib530.o: lib530.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -MT lib530-lib530.o -MD -MP -MF "$(DEPDIR)/lib530-lib530.Tpo" -c -o lib530-lib530.o `test -f 'lib530.c' || echo '$(srcdir)/'`lib530.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib530-lib530.Tpo" "$(DEPDIR)/lib530-lib530.Po"; else rm -f "$(DEPDIR)/lib530-lib530.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib530.c' object='lib530-lib530.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -c -o lib530-lib530.o `test -f 'lib530.c' || echo '$(srcdir)/'`lib530.c
-
-lib530-lib530.obj: lib530.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -MT lib530-lib530.obj -MD -MP -MF "$(DEPDIR)/lib530-lib530.Tpo" -c -o lib530-lib530.obj `if test -f 'lib530.c'; then $(CYGPATH_W) 'lib530.c'; else $(CYGPATH_W) '$(srcdir)/lib530.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib530-lib530.Tpo" "$(DEPDIR)/lib530-lib530.Po"; else rm -f "$(DEPDIR)/lib530-lib530.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib530.c' object='lib530-lib530.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -c -o lib530-lib530.obj `if test -f 'lib530.c'; then $(CYGPATH_W) 'lib530.c'; else $(CYGPATH_W) '$(srcdir)/lib530.c'; fi`
-
-lib530-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -MT lib530-first.o -MD -MP -MF "$(DEPDIR)/lib530-first.Tpo" -c -o lib530-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib530-first.Tpo" "$(DEPDIR)/lib530-first.Po"; else rm -f "$(DEPDIR)/lib530-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib530-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -c -o lib530-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib530-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -MT lib530-first.obj -MD -MP -MF "$(DEPDIR)/lib530-first.Tpo" -c -o lib530-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib530-first.Tpo" "$(DEPDIR)/lib530-first.Po"; else rm -f "$(DEPDIR)/lib530-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib530-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -c -o lib530-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-lib530-testutil.o: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -MT lib530-testutil.o -MD -MP -MF "$(DEPDIR)/lib530-testutil.Tpo" -c -o lib530-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib530-testutil.Tpo" "$(DEPDIR)/lib530-testutil.Po"; else rm -f "$(DEPDIR)/lib530-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib530-testutil.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -c -o lib530-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c
-
-lib530-testutil.obj: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -MT lib530-testutil.obj -MD -MP -MF "$(DEPDIR)/lib530-testutil.Tpo" -c -o lib530-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib530-testutil.Tpo" "$(DEPDIR)/lib530-testutil.Po"; else rm -f "$(DEPDIR)/lib530-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib530-testutil.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib530_CFLAGS) $(CFLAGS) -c -o lib530-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`
-
-lib532-lib526.o: lib526.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -MT lib532-lib526.o -MD -MP -MF "$(DEPDIR)/lib532-lib526.Tpo" -c -o lib532-lib526.o `test -f 'lib526.c' || echo '$(srcdir)/'`lib526.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib532-lib526.Tpo" "$(DEPDIR)/lib532-lib526.Po"; else rm -f "$(DEPDIR)/lib532-lib526.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib526.c' object='lib532-lib526.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -c -o lib532-lib526.o `test -f 'lib526.c' || echo '$(srcdir)/'`lib526.c
-
-lib532-lib526.obj: lib526.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -MT lib532-lib526.obj -MD -MP -MF "$(DEPDIR)/lib532-lib526.Tpo" -c -o lib532-lib526.obj `if test -f 'lib526.c'; then $(CYGPATH_W) 'lib526.c'; else $(CYGPATH_W) '$(srcdir)/lib526.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib532-lib526.Tpo" "$(DEPDIR)/lib532-lib526.Po"; else rm -f "$(DEPDIR)/lib532-lib526.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib526.c' object='lib532-lib526.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -c -o lib532-lib526.obj `if test -f 'lib526.c'; then $(CYGPATH_W) 'lib526.c'; else $(CYGPATH_W) '$(srcdir)/lib526.c'; fi`
-
-lib532-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -MT lib532-first.o -MD -MP -MF "$(DEPDIR)/lib532-first.Tpo" -c -o lib532-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib532-first.Tpo" "$(DEPDIR)/lib532-first.Po"; else rm -f "$(DEPDIR)/lib532-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib532-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -c -o lib532-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib532-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -MT lib532-first.obj -MD -MP -MF "$(DEPDIR)/lib532-first.Tpo" -c -o lib532-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib532-first.Tpo" "$(DEPDIR)/lib532-first.Po"; else rm -f "$(DEPDIR)/lib532-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib532-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -c -o lib532-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-lib532-testutil.o: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -MT lib532-testutil.o -MD -MP -MF "$(DEPDIR)/lib532-testutil.Tpo" -c -o lib532-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib532-testutil.Tpo" "$(DEPDIR)/lib532-testutil.Po"; else rm -f "$(DEPDIR)/lib532-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib532-testutil.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -c -o lib532-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c
-
-lib532-testutil.obj: testutil.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -MT lib532-testutil.obj -MD -MP -MF "$(DEPDIR)/lib532-testutil.Tpo" -c -o lib532-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib532-testutil.Tpo" "$(DEPDIR)/lib532-testutil.Po"; else rm -f "$(DEPDIR)/lib532-testutil.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutil.c' object='lib532-testutil.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib532_CFLAGS) $(CFLAGS) -c -o lib532-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi`
-
-lib545-lib544.o: lib544.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -MT lib545-lib544.o -MD -MP -MF "$(DEPDIR)/lib545-lib544.Tpo" -c -o lib545-lib544.o `test -f 'lib544.c' || echo '$(srcdir)/'`lib544.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib545-lib544.Tpo" "$(DEPDIR)/lib545-lib544.Po"; else rm -f "$(DEPDIR)/lib545-lib544.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib544.c' object='lib545-lib544.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -c -o lib545-lib544.o `test -f 'lib544.c' || echo '$(srcdir)/'`lib544.c
-
-lib545-lib544.obj: lib544.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -MT lib545-lib544.obj -MD -MP -MF "$(DEPDIR)/lib545-lib544.Tpo" -c -o lib545-lib544.obj `if test -f 'lib544.c'; then $(CYGPATH_W) 'lib544.c'; else $(CYGPATH_W) '$(srcdir)/lib544.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib545-lib544.Tpo" "$(DEPDIR)/lib545-lib544.Po"; else rm -f "$(DEPDIR)/lib545-lib544.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib544.c' object='lib545-lib544.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -c -o lib545-lib544.obj `if test -f 'lib544.c'; then $(CYGPATH_W) 'lib544.c'; else $(CYGPATH_W) '$(srcdir)/lib544.c'; fi`
-
-lib545-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -MT lib545-first.o -MD -MP -MF "$(DEPDIR)/lib545-first.Tpo" -c -o lib545-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib545-first.Tpo" "$(DEPDIR)/lib545-first.Po"; else rm -f "$(DEPDIR)/lib545-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib545-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -c -o lib545-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib545-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -MT lib545-first.obj -MD -MP -MF "$(DEPDIR)/lib545-first.Tpo" -c -o lib545-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib545-first.Tpo" "$(DEPDIR)/lib545-first.Po"; else rm -f "$(DEPDIR)/lib545-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib545-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib545_CFLAGS) $(CFLAGS) -c -o lib545-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-lib548-lib547.o: lib547.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -MT lib548-lib547.o -MD -MP -MF "$(DEPDIR)/lib548-lib547.Tpo" -c -o lib548-lib547.o `test -f 'lib547.c' || echo '$(srcdir)/'`lib547.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib548-lib547.Tpo" "$(DEPDIR)/lib548-lib547.Po"; else rm -f "$(DEPDIR)/lib548-lib547.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib547.c' object='lib548-lib547.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -c -o lib548-lib547.o `test -f 'lib547.c' || echo '$(srcdir)/'`lib547.c
-
-lib548-lib547.obj: lib547.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -MT lib548-lib547.obj -MD -MP -MF "$(DEPDIR)/lib548-lib547.Tpo" -c -o lib548-lib547.obj `if test -f 'lib547.c'; then $(CYGPATH_W) 'lib547.c'; else $(CYGPATH_W) '$(srcdir)/lib547.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib548-lib547.Tpo" "$(DEPDIR)/lib548-lib547.Po"; else rm -f "$(DEPDIR)/lib548-lib547.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib547.c' object='lib548-lib547.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -c -o lib548-lib547.obj `if test -f 'lib547.c'; then $(CYGPATH_W) 'lib547.c'; else $(CYGPATH_W) '$(srcdir)/lib547.c'; fi`
-
-lib548-first.o: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -MT lib548-first.o -MD -MP -MF "$(DEPDIR)/lib548-first.Tpo" -c -o lib548-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib548-first.Tpo" "$(DEPDIR)/lib548-first.Po"; else rm -f "$(DEPDIR)/lib548-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib548-first.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -c -o lib548-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c
-
-lib548-first.obj: first.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -MT lib548-first.obj -MD -MP -MF "$(DEPDIR)/lib548-first.Tpo" -c -o lib548-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lib548-first.Tpo" "$(DEPDIR)/lib548-first.Po"; else rm -f "$(DEPDIR)/lib548-first.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='first.c' object='lib548-first.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib548_CFLAGS) $(CFLAGS) -c -o lib548-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: check-am
-all-am: Makefile $(PROGRAMS)
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS 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-exec \
- install-exec-am install-info install-info-am install-man \
- 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 \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/tests/libtest/first.c b/Utilities/cmcurl-7.19.0/tests/libtest/first.c
deleted file mode 100644
index a58755c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/first.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#ifdef CURLDEBUG
-/* provide a proto for this debug function */
-extern void curl_memdebug(const char *);
-extern void curl_memlimit(int);
-#endif
-
-/* test is provided in the test code file */
-int test(char *url);
-
-int select_test (int num_fds, fd_set *rd, fd_set *wr, fd_set *exc,
- struct timeval *tv)
-{
-#ifdef USE_WINSOCK
- /* Winsock doesn't like no socket set in 'rd', 'wr' or 'exc'. This is
- * case when 'num_fds <= 0. So sleep.
- */
- if (num_fds <= 0) {
- Sleep(1000*tv->tv_sec + tv->tv_usec/1000);
- return 0;
- }
-#endif
- return select(num_fds, rd, wr, exc, tv);
-}
-
-char *libtest_arg2=NULL;
-char *libtest_arg3=NULL;
-int test_argc;
-char **test_argv;
-
-
-int main(int argc, char **argv)
-{
- char *URL;
-
-#ifdef CURLDEBUG
- /* this sends all memory debug messages to a logfile named memdump */
- char *env = curl_getenv("CURL_MEMDEBUG");
- if(env) {
- /* use the value as file name */
- char *s = strdup(env);
- curl_free(env);
- curl_memdebug(s);
- free(s);
- /* this weird strdup() and stuff here is to make the curl_free() get
- called before the memdebug() as otherwise the memdebug tracing will
- with tracing a free() without an alloc! */
- }
- /* this enables the fail-on-alloc-number-N functionality */
- env = curl_getenv("CURL_MEMLIMIT");
- if(env) {
- curl_memlimit(atoi(env));
- curl_free(env);
- }
-#endif
- if(argc< 2 ) {
- fprintf(stderr, "Pass URL as argument please\n");
- return 1;
- }
-
- test_argc = argc;
- test_argv = argv;
-
- if(argc>2)
- libtest_arg2=argv[2];
-
- if(argc>3)
- libtest_arg3=argv[3];
-
- URL = argv[1]; /* provide this to the rest */
-
- fprintf(stderr, "URL: %s\n", URL);
-
- return test(URL);
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib500.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib500.c
deleted file mode 100644
index c28f5d0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib500.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
- char *ipstr=NULL;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- res = curl_easy_perform(curl);
-
- if(!res) {
- FILE *moo;
- res = curl_easy_getinfo(curl, CURLINFO_PRIMARY_IP, &ipstr);
- moo = fopen(libtest_arg2, "wb");
- if(moo) {
- fprintf(moo, "IP: %s\n", ipstr);
- fclose(moo);
- }
- }
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib501.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib501.c
deleted file mode 100644
index cf2d957..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib501.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- (void)URL; /* we don't use this */
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib502.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib502.c
deleted file mode 100644
index ea53795..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib502.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-/*
- * Get a single URL without select().
- */
-
-int test(char *URL)
-{
- CURL *c;
- CURLM *m;
- int res = 0;
- int running=1;
- struct timeval mp_start;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((c = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(c, CURLOPT_URL, URL);
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_easy_cleanup(c);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = (int)curl_multi_add_handle(m, c)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- curl_easy_cleanup(c);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (running) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
- fprintf(stderr, "nothing left running.\n");
- break;
- }
- }
-
- if (mp_timedout) {
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
- curl_multi_remove_handle(m, c);
- curl_easy_cleanup(c);
- curl_multi_cleanup(m);
- curl_global_cleanup();
-
- return res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib503.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib503.c
deleted file mode 100644
index 5eda599..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib503.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#include <sys/types.h>
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-/*
- * Source code in here hugely as reported in bug report 651460 by
- * Christopher R. Palmer.
- *
- * Use multi interface to get HTTPS document over proxy, and provide
- * auth info.
- */
-
-int test(char *URL)
-{
- CURL *c;
- CURLM *m;
- int res = 0;
- int running;
- char done = FALSE;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((c = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(c, CURLOPT_PROXY, libtest_arg2); /* set in first.c */
- curl_easy_setopt(c, CURLOPT_URL, URL);
- curl_easy_setopt(c, CURLOPT_USERPWD, "test:ing");
- curl_easy_setopt(c, CURLOPT_PROXYUSERPWD, "test:ing");
- curl_easy_setopt(c, CURLOPT_HTTPPROXYTUNNEL, 1L);
- curl_easy_setopt(c, CURLOPT_HEADER, 1L);
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_easy_cleanup(c);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = (int)curl_multi_add_handle(m, c)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- curl_easy_cleanup(c);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- while(!done) {
- fd_set rd, wr, exc;
- int max_fd;
- struct timeval interval;
-
- interval.tv_sec = 1;
- interval.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (res == CURLM_CALL_MULTI_PERFORM) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
- done = TRUE;
- break;
- }
- }
- if (mp_timedout || done)
- break;
-
- if (res != CURLM_OK) {
- fprintf(stderr, "not okay???\n");
- break;
- }
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&exc);
- max_fd = 0;
-
- if (curl_multi_fdset(m, &rd, &wr, &exc, &max_fd) != CURLM_OK) {
- fprintf(stderr, "unexpected failured of fdset.\n");
- res = 89;
- break;
- }
-
- if (select_test(max_fd+1, &rd, &wr, &exc, &interval) == -1) {
- fprintf(stderr, "bad select??\n");
- res = 95;
- break;
- }
-
- res = CURLM_CALL_MULTI_PERFORM;
- }
-
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
- curl_multi_remove_handle(m, c);
- curl_easy_cleanup(c);
- curl_multi_cleanup(m);
- curl_global_cleanup();
-
- return res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib504.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib504.c
deleted file mode 100644
index a57a3d1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib504.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#include <sys/types.h>
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-/*
- * Source code in here hugely as reported in bug report 651464 by
- * Christopher R. Palmer.
- *
- * Use multi interface to get document over proxy with bad port number.
- * This caused the interface to "hang" in libcurl 7.10.2.
- */
-int test(char *URL)
-{
- CURL *c;
- int ret=0;
- CURLM *m;
- fd_set rd, wr, exc;
- CURLMcode res;
- char done = FALSE;
- int running;
- int max_fd;
- int rc;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((c = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* the point here being that there must not run anything on the given
- proxy port */
- curl_easy_setopt(c, CURLOPT_PROXY, libtest_arg2);
- curl_easy_setopt(c, CURLOPT_URL, URL);
- curl_easy_setopt(c, CURLOPT_VERBOSE, 1L);
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_easy_cleanup(c);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = curl_multi_add_handle(m, c)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- curl_easy_cleanup(c);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- while (!done) {
- struct timeval interval;
-
- interval.tv_sec = 1;
- interval.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- fprintf(stderr, "curl_multi_perform()\n");
-
- res = CURLM_CALL_MULTI_PERFORM;
-
- while (res == CURLM_CALL_MULTI_PERFORM) {
- res = curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- }
- if (mp_timedout)
- break;
-
- if(!running) {
- /* This is where this code is expected to reach */
- int numleft;
- CURLMsg *msg = curl_multi_info_read(m, &numleft);
- fprintf(stderr, "Expected: not running\n");
- if(msg && !numleft)
- ret = 100; /* this is where we should be */
- else
- ret = 99; /* not correct */
- break;
- }
- fprintf(stderr, "running == %d, res == %d\n", running, res);
-
- if (res != CURLM_OK) {
- ret = 2;
- break;
- }
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&exc);
- max_fd = 0;
-
- fprintf(stderr, "curl_multi_fdset()\n");
- if (curl_multi_fdset(m, &rd, &wr, &exc, &max_fd) != CURLM_OK) {
- fprintf(stderr, "unexpected failured of fdset.\n");
- ret = 3;
- break;
- }
- rc = select_test(max_fd+1, &rd, &wr, &exc, &interval);
- fprintf(stderr, "select returned %d\n", rc);
- }
-
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- ret = TEST_ERR_RUNS_FOREVER;
- }
-
- curl_multi_remove_handle(m, c);
- curl_easy_cleanup(c);
- curl_multi_cleanup(m);
- curl_global_cleanup();
-
- return ret;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib505.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib505.c
deleted file mode 100644
index eec2071..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib505.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "setup.h" /* struct_stat etc. */
-#include "test.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#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!
- */
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res = CURLE_OK;
- FILE *hd_src ;
- int hd ;
- struct_stat file_info;
- struct curl_slist *hl;
- int error;
-
- struct curl_slist *headerlist=NULL;
- const char *buf_1 = "RNFR 505";
- const char *buf_2 = "RNTO 505-forreal";
-
- if (!libtest_arg2) {
- fprintf(stderr, "Usage: <url> <file-to-upload>\n");
- return -1;
- }
-
- /* get the file size of the local file */
- hd = stat(libtest_arg2, &file_info);
- if(hd == -1) {
- /* can't open file, bail out */
- error = ERRNO;
- fprintf(stderr, "stat() failed with error: %d %s\n",
- error, strerror(error));
- fprintf(stderr, "WARNING: cannot open file %s\n", libtest_arg2);
- return -1;
- }
-
- if(! file_info.st_size) {
- fprintf(stderr, "WARNING: file %s has no size!\n", libtest_arg2);
- return -4;
- }
-
- /* 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(libtest_arg2, "rb");
- if(NULL == hd_src) {
- error = ERRNO;
- fprintf(stderr, "fopen() failed with error: %d %s\n",
- error, strerror(error));
- fprintf(stderr, "Error opening file: %s\n", libtest_arg2);
- return -2; /* if this happens things are major weird */
- }
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* get a curl handle */
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* build a list of commands to pass to libcurl */
-
- if ((hl = curl_slist_append(headerlist, buf_1)) == NULL) {
- fprintf(stderr, "curl_slist_append() failed\n");
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
- if ((headerlist = curl_slist_append(hl, buf_2)) == NULL) {
- fprintf(stderr, "curl_slist_append() failed\n");
- curl_slist_free_all(hl);
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
- headerlist = hl;
-
- /* enable uploading */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
- /* enable verbose */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* specify target */
- curl_easy_setopt(curl,CURLOPT_URL, 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_INFILE, hd_src);
-
- /* and give the size of the upload (optional) */
- 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);
-
- /* clean up the FTP commands list */
- curl_slist_free_all(headerlist);
-
- /* close the local file */
- fclose(hd_src);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib506.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib506.c
deleted file mode 100644
index 0fc5959..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib506.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include <curl/mprintf.h>
-
-const char *HOSTHEADER = "Host: www.host.foo.com";
-const char *JAR = "log/jar506";
-#define THREADS 2
-
-/* struct containing data of a thread */
-struct Tdata {
- CURLSH *share;
- char *url;
-};
-
-struct userdata {
- char *text;
- int counter;
-};
-
-/* lock callback */
-static void my_lock(CURL *handle, curl_lock_data data, curl_lock_access laccess,
- void *useptr )
-{
- const char *what;
- struct userdata *user = (struct userdata *)useptr;
-
- (void)handle;
- (void)laccess;
-
- switch ( data ) {
- case CURL_LOCK_DATA_SHARE:
- what = "share";
- break;
- case CURL_LOCK_DATA_DNS:
- what = "dns";
- break;
- case CURL_LOCK_DATA_COOKIE:
- what = "cookie";
- break;
- default:
- fprintf(stderr, "lock: no such data: %d\n", (int)data);
- return;
- }
- printf("lock: %-6s <%s>: %d\n", what, user->text, user->counter);
- user->counter++;
-}
-
-/* unlock callback */
-static void my_unlock(CURL *handle, curl_lock_data data, void *useptr )
-{
- const char *what;
- struct userdata *user = (struct userdata *)useptr;
- (void)handle;
- switch ( data ) {
- case CURL_LOCK_DATA_SHARE:
- what = "share";
- break;
- case CURL_LOCK_DATA_DNS:
- what = "dns";
- break;
- case CURL_LOCK_DATA_COOKIE:
- what = "cookie";
- break;
- default:
- fprintf(stderr, "unlock: no such data: %d\n", (int)data);
- return;
- }
- printf("unlock: %-6s <%s>: %d\n", what, user->text, user->counter);
- user->counter++;
-}
-
-
-/* build host entry */
-static struct curl_slist *sethost(struct curl_slist *headers)
-{
- (void)headers;
- return curl_slist_append(NULL, HOSTHEADER );
-}
-
-
-/* the dummy thread function */
-static void *fire(void *ptr)
-{
- CURLcode code;
- struct curl_slist *headers;
- struct Tdata *tdata = (struct Tdata*)ptr;
- CURL *curl;
- int i=0;
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- return NULL;
- }
-
- headers = sethost(NULL);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
- curl_easy_setopt(curl, CURLOPT_URL, tdata->url);
- printf( "CURLOPT_SHARE\n" );
- curl_easy_setopt(curl, CURLOPT_SHARE, tdata->share);
-
- printf( "PERFORM\n" );
- code = curl_easy_perform(curl);
- if( code != CURLE_OK ) {
- fprintf(stderr, "perform url '%s' repeat %d failed, curlcode %d\n",
- tdata->url, i, (int)code);
- }
-
- printf( "CLEANUP\n" );
- curl_easy_cleanup(curl);
- curl_slist_free_all(headers);
-
- return NULL;
-}
-
-
-/* build request url */
-static char *suburl(const char *base, int i)
-{
- return curl_maprintf("%s000%c", base, 48+i);
-}
-
-
-/* test function */
-int test(char *URL)
-{
- int res;
- CURLSHcode scode = CURLSHE_OK;
- char *url;
- struct Tdata tdata;
- CURL *curl;
- CURLSH *share;
- struct curl_slist *headers;
- int i;
- struct userdata user;
-
- user.text = (char *)"Pigs in space";
- user.counter = 0;
-
- printf( "GLOBAL_INIT\n" );
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* prepare share */
- printf( "SHARE_INIT\n" );
- if ((share = curl_share_init()) == NULL) {
- fprintf(stderr, "curl_share_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ( CURLSHE_OK == scode ) {
- printf( "CURLSHOPT_LOCKFUNC\n" );
- scode = curl_share_setopt( share, CURLSHOPT_LOCKFUNC, my_lock);
- }
- if ( CURLSHE_OK == scode ) {
- printf( "CURLSHOPT_UNLOCKFUNC\n" );
- scode = curl_share_setopt( share, CURLSHOPT_UNLOCKFUNC, my_unlock);
- }
- if ( CURLSHE_OK == scode ) {
- printf( "CURLSHOPT_USERDATA\n" );
- scode = curl_share_setopt( share, CURLSHOPT_USERDATA, &user);
- }
- if ( CURLSHE_OK == scode ) {
- printf( "CURL_LOCK_DATA_COOKIE\n" );
- scode = curl_share_setopt( share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
- }
- if ( CURLSHE_OK == scode ) {
- printf( "CURL_LOCK_DATA_DNS\n" );
- scode = curl_share_setopt( share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
- }
-
- if ( CURLSHE_OK != scode ) {
- fprintf(stderr, "curl_share_setopt() failed\n");
- curl_share_cleanup(share);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
-
- res = 0;
-
- /* start treads */
- for (i=1; i<=THREADS; i++ ) {
-
- /* set thread data */
- tdata.url = suburl( URL, i ); /* must be curl_free()d */
- tdata.share = share;
-
- /* simulate thread, direct call of "thread" function */
- printf( "*** run %d\n",i );
- fire( &tdata );
-
- curl_free( tdata.url );
-
- }
-
-
- /* fetch a another one and save cookies */
- printf( "*** run %d\n", i );
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_share_cleanup(share);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- url = suburl( URL, i );
- headers = sethost( NULL );
- curl_easy_setopt( curl, CURLOPT_HTTPHEADER, headers );
- curl_easy_setopt( curl, CURLOPT_URL, url );
- printf( "CURLOPT_SHARE\n" );
- curl_easy_setopt( curl, CURLOPT_SHARE, share );
- printf( "CURLOPT_COOKIEJAR\n" );
- curl_easy_setopt( curl, CURLOPT_COOKIEJAR, JAR );
-
- printf( "PERFORM\n" );
- curl_easy_perform( curl );
-
- /* try to free share, expect to fail because share is in use*/
- printf( "try SHARE_CLEANUP...\n" );
- scode = curl_share_cleanup( share );
- if ( scode==CURLSHE_OK )
- {
- fprintf(stderr, "curl_share_cleanup succeed but error expected\n");
- share = NULL;
- } else {
- printf( "SHARE_CLEANUP failed, correct\n" );
- }
-
- /* clean up last handle */
- printf( "CLEANUP\n" );
- curl_easy_cleanup( curl );
- curl_slist_free_all( headers );
-
- curl_free(url);
-
- /* free share */
- printf( "SHARE_CLEANUP\n" );
- scode = curl_share_cleanup( share );
- if ( scode!=CURLSHE_OK )
- fprintf(stderr, "curl_share_cleanup failed, code errno %d\n",
- (int)scode);
-
- printf( "GLOBAL_CLEANUP\n" );
- curl_global_cleanup();
-
- return res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib507.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib507.c
deleted file mode 100644
index 0137130..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib507.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-int test(char *URL)
-{
- CURL* curls;
- CURLM* multi;
- int still_running;
- int i = -1;
- CURLMsg *msg;
- CURLMcode res;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((multi = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curls = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_multi_cleanup(multi);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curls, CURLOPT_URL, URL);
-
- if ((res = curl_multi_add_handle(multi, curls)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_easy_cleanup(curls);
- curl_multi_cleanup(multi);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- do {
- res = curl_multi_perform(multi, &still_running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- } while (res == CURLM_CALL_MULTI_PERFORM);
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- while ((!ml_timedout) && (!mp_timedout) && (still_running)) {
- struct timeval timeout;
- int rc;
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
-
- curl_multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd);
- rc = select_test(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
- switch(rc) {
- case -1:
- break;
- case 0:
- default:
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
- do {
- res = curl_multi_perform(multi, &still_running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- } while (res == CURLM_CALL_MULTI_PERFORM);
- break;
- }
- }
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- i = TEST_ERR_RUNS_FOREVER;
- }
- else {
- msg = curl_multi_info_read(multi, &still_running);
- if(msg)
- /* this should now contain a result code from the easy handle,
- get it */
- i = msg->data.result;
- }
-
- curl_multi_cleanup(multi);
- curl_easy_cleanup(curls);
- curl_global_cleanup();
-
- return i; /* return the final return code */
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib508.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib508.c
deleted file mode 100644
index 35679d1..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib508.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-static char data[]="this is what we post to the silly web server\n";
-
-struct WriteThis {
- char *readptr;
- size_t 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 test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
-
- struct WriteThis pooh;
-
- pooh.readptr = data;
- pooh.sizeleft = strlen(data);
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
- /* Now specify we want to POST data */
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
-
- /* Set the expected POST size */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)pooh.sizeleft);
-
- /* 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_INFILE, &pooh);
-
- /* get verbose debug output please */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* include headers in the output */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib510.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib510.c
deleted file mode 100644
index d8644c3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib510.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-static const char *post[]={
- "one",
- "two",
- "three",
- "and a final longer crap: four",
- 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 = post[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 */
-}
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
- struct curl_slist *slist = NULL;
-
- struct WriteThis pooh;
- pooh.counter = 0;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- slist = curl_slist_append(slist, "Transfer-Encoding: chunked");
- if (slist == NULL) {
- fprintf(stderr, "curl_slist_append() failed\n");
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
- /* 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_INFILE, &pooh);
-
- /* get verbose debug output please */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* include headers in the output */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- /* enforce chunked transfer by setting the header */
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
-
- /* clean up the headers list */
- if(slist)
- curl_slist_free_all(slist);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib511.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib511.c
deleted file mode 100644
index b0f455d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib511.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
- curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib512.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib512.c
deleted file mode 100644
index 0af9591..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib512.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-/* Test case code based on source in a bug report filed by James Bursa on
- 28 Apr 2004 */
-
-int test(char *URL)
-{
- CURLcode code;
- CURL *curl;
- CURL *curl2;
- int rc = 99;
-
- code = curl_global_init(CURL_GLOBAL_ALL);
- if(code == CURLE_OK) {
-
- curl = curl_easy_init();
- if(curl) {
-
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- curl2 = curl_easy_duphandle(curl);
- if(curl2) {
-
- code = curl_easy_setopt(curl2, CURLOPT_URL, URL);
- if(code == CURLE_OK) {
-
- code = curl_easy_perform(curl2);
- if(code == CURLE_OK)
- rc = 0;
- else
- rc = 1;
- }
- else
- rc = 2;
-
- curl_easy_cleanup(curl2);
- }
- else
- rc = 3;
-
- curl_easy_cleanup(curl);
- }
- else
- rc = 4;
-
- curl_global_cleanup();
- }
- else
- rc = 5;
-
- return rc;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib513.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib513.c
deleted file mode 100644
index d6f3756..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib513.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
-{
- (void)ptr;
- (void)size;
- (void)nmemb;
- (void)userp;
- return CURL_READFUNC_ABORT;
-}
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
- /* Now specify we want to POST data */
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
-
- /* Set the expected POST size */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 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_INFILE, NULL);
-
- /* get verbose debug output please */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* include headers in the output */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib514.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib514.c
deleted file mode 100644
index 419b842..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib514.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
- /* Based on a bug report by Niels van Tongeren on June 29, 2004:
-
- A weird situation occurs when request 1 is a POST request and the request
- 2 is a HEAD request. For the POST request we set the CURLOPT_POSTFIELDS,
- CURLOPT_POSTFIELDSIZE and CURLOPT_POST options. For the HEAD request we
- set the CURLOPT_NOBODY option to '1'.
-
- */
-
- curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "moo");
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 3L);
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
-
- /* this is where transfer 1 would take place, but skip that and change
- options right away instead */
-
- curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
-
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* show verbose for debug */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L); /* include header */
-
- /* Now, we should be making a fine HEAD request */
-
- /* Perform the request 2, res will get the return code */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib515.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib515.c
deleted file mode 100644
index 18df7c9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib515.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* show verbose for debug */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L); /* include header */
-
- /* Now, we should be making a zero byte POST request */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib516.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib516.c
deleted file mode 100644
index 8295699..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib516.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_HTTPPOST, NULL);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* show verbose for debug */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L); /* include header */
-
- /* Now, we should be making a zero byte POST request */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib517.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib517.c
deleted file mode 100644
index cdcd64b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib517.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-const char *dates[]={
- "Sun, 06 Nov 1994 08:49:37 GMT",
- "Sunday, 06-Nov-94 08:49:37 GMT",
- "Sun Nov 6 08:49:37 1994",
- "06 Nov 1994 08:49:37 GMT",
- "06-Nov-94 08:49:37 GMT",
- "Nov 6 08:49:37 1994",
- "06 Nov 1994 08:49:37",
- "06-Nov-94 08:49:37",
- "1994 Nov 6 08:49:37",
- "GMT 08:49:37 06-Nov-94 Sunday",
- "94 6 Nov 08:49:37",
- "1994 Nov 6",
- "06-Nov-94",
- "Sun Nov 6 94",
- "1994.Nov.6",
- "Sun/Nov/6/94/GMT",
- "Sun, 06 Nov 1994 08:49:37 CET",
- "06 Nov 1994 08:49:37 EST",
- "Sun, 12 Sep 2004 15:05:58 -0700",
- "Sat, 11 Sep 2004 21:32:11 +0200",
- "20040912 15:05:58 -0700",
- "20040911 +0200",
-/* "2094 Nov 6", See ../data/test517 for details */
- NULL
-};
-
-int test(char *URL)
-{
- int i;
-
- (void)URL; /* not used */
-
- for(i=0; dates[i]; i++) {
- printf("%d: %s => %ld\n", i, dates[i], (long)curl_getdate(dates[i], NULL));
- }
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib518.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib518.c
deleted file mode 100644
index 41c3fe2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib518.c
+++ /dev/null
@@ -1,506 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#ifndef FD_SETSIZE
-#error "this test requires FD_SETSIZE"
-#endif
-
-#define SAFETY_MARGIN (16)
-#define NUM_OPEN (FD_SETSIZE + 10)
-#define NUM_NEEDED (NUM_OPEN + SAFETY_MARGIN)
-
-#if defined(WIN32) || defined(_WIN32) || defined(MSDOS)
-#define DEV_NULL "NUL"
-#else
-#define DEV_NULL "/dev/null"
-#endif
-
-#if defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT)
-
-static int *fd = NULL;
-static struct rlimit num_open;
-static char msgbuff[256];
-
-static void store_errmsg(const char *msg, int err)
-{
- if (!err)
- sprintf(msgbuff, "%s", msg);
- else
- sprintf(msgbuff, "%s, errno %d, %s", msg, err, strerror(err));
-}
-
-static void close_file_descriptors(void)
-{
- for (num_open.rlim_cur = 0;
- num_open.rlim_cur < num_open.rlim_max;
- num_open.rlim_cur++)
- if (fd[num_open.rlim_cur] > 0)
- close(fd[num_open.rlim_cur]);
- free(fd);
- fd = NULL;
-}
-
-static int fopen_works(void)
-{
- FILE *fpa[3];
- int i;
- int ret = 1;
-
- for (i = 0; i < 3; i++) {
- fpa[i] = NULL;
- }
- for (i = 0; i < 3; i++) {
- fpa[i] = fopen(DEV_NULL, "r");
- if (fpa[i] == NULL) {
- store_errmsg("fopen() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- ret = 0;
- break;
- }
- }
- for (i = 0; i < 3; i++) {
- if (fpa[i] != NULL)
- fclose(fpa[i]);
- }
- return ret;
-}
-
-static int rlimit(int keep_open)
-{
- int nitems, i;
- int *memchunk = NULL;
- char *fmt;
- struct rlimit rl;
- char strbuff[256];
- char strbuff1[81];
- char strbuff2[81];
- char fmt_u[] = "%u";
- char fmt_lu[] = "%lu";
-#ifdef HAVE_LONGLONG
- char fmt_llu[] = "%llu";
-
- if (sizeof(rl.rlim_max) > sizeof(long))
- fmt = fmt_llu;
- else
-#endif
- fmt = (sizeof(rl.rlim_max) < sizeof(long))?fmt_u:fmt_lu;
-
- /* get initial open file limits */
-
- if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
- store_errmsg("getrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- return -1;
- }
-
- /* show initial open file limits */
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_cur == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_cur);
- fprintf(stderr, "initial soft limit: %s\n", strbuff);
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_max == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_max);
- fprintf(stderr, "initial hard limit: %s\n", strbuff);
-
- /* show our constants */
-
- fprintf(stderr, "test518 FD_SETSIZE: %d\n", FD_SETSIZE);
- fprintf(stderr, "test518 NUM_OPEN : %d\n", NUM_OPEN);
- fprintf(stderr, "test518 NUM_NEEDED: %d\n", NUM_NEEDED);
-
- /*
- * if soft limit and hard limit are different we ask the
- * system to raise soft limit all the way up to the hard
- * limit. Due to some other system limit the soft limit
- * might not be raised up to the hard limit. So from this
- * point the resulting soft limit is our limit. Trying to
- * open more than soft limit file descriptors will fail.
- */
-
- if (rl.rlim_cur != rl.rlim_max) {
-
-#ifdef OPEN_MAX
- if ((rl.rlim_cur > 0) &&
- (rl.rlim_cur < OPEN_MAX)) {
- fprintf(stderr, "raising soft limit up to OPEN_MAX\n");
- rl.rlim_cur = OPEN_MAX;
- if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
- /* on failure don't abort just issue a warning */
- store_errmsg("setrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- msgbuff[0] = '\0';
- }
- }
-#endif
-
- fprintf(stderr, "raising soft limit up to hard limit\n");
- rl.rlim_cur = rl.rlim_max;
- if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
- /* on failure don't abort just issue a warning */
- store_errmsg("setrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- msgbuff[0] = '\0';
- }
-
- /* get current open file limits */
-
- if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
- store_errmsg("getrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- return -3;
- }
-
- /* show current open file limits */
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_cur == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_cur);
- fprintf(stderr, "current soft limit: %s\n", strbuff);
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_max == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_max);
- fprintf(stderr, "current hard limit: %s\n", strbuff);
-
- } /* (rl.rlim_cur != rl.rlim_max) */
-
- /*
- * test 518 is all about testing libcurl functionality
- * when more than FD_SETSIZE file descriptors are open.
- * This means that if for any reason we are not able to
- * open more than FD_SETSIZE file descriptors then test
- * 518 should not be run.
- */
-
- /*
- * verify that soft limit is higher than NUM_NEEDED,
- * which is the number of file descriptors we would
- * try to open plus SAFETY_MARGIN to not exhaust the
- * file descriptor pool
- */
-
- num_open.rlim_cur = NUM_NEEDED;
-
- if ((rl.rlim_cur > 0) &&
-#ifdef RLIM_INFINITY
- (rl.rlim_cur != RLIM_INFINITY) &&
-#endif
- (rl.rlim_cur <= num_open.rlim_cur)) {
- sprintf(strbuff2, fmt, rl.rlim_cur);
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "fds needed %s > system limit %s",
- strbuff1, strbuff2);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- return -4;
- }
-
- /*
- * reserve a chunk of memory before opening file descriptors to
- * avoid a low memory condition once the file descriptors are
- * open. System conditions that could make the test fail should
- * be addressed in the precheck phase. This chunk of memory shall
- * be always free()ed before exiting the rlimit() function so
- * that it becomes available to the test.
- */
-
- for (nitems = i = 1; nitems <= i; i *= 2)
- nitems = i;
- if (nitems > 0x7fff)
- nitems = 0x40000;
- do {
- num_open.rlim_max = sizeof(*memchunk) * (size_t)nitems;
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "allocating memchunk %s byte array\n", strbuff);
- memchunk = malloc(sizeof(*memchunk) * (size_t)nitems);
- if (!memchunk) {
- fprintf(stderr, "memchunk, malloc() failed\n");
- nitems /= 2;
- }
- } while (nitems && !memchunk);
- if (!memchunk) {
- store_errmsg("memchunk, malloc() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- return -5;
- }
-
- /* initialize it to fight lazy allocation */
-
- fprintf(stderr, "initializing memchunk array\n");
-
- for (i = 0; i < nitems; i++)
- memchunk[i] = -1;
-
- /* set the number of file descriptors we will try to open */
-
- num_open.rlim_max = NUM_OPEN;
-
- /* verify that we won't overflow size_t in malloc() */
-
- if ((size_t)(num_open.rlim_max) > ((size_t)-1) / sizeof(*fd)) {
- sprintf(strbuff1, fmt, num_open.rlim_max);
- sprintf(strbuff, "unable to allocate an array for %s "
- "file descriptors, would overflow size_t", strbuff1);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- free(memchunk);
- return -6;
- }
-
- /* allocate array for file descriptors */
-
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "allocating array for %s file descriptors\n", strbuff);
-
- fd = malloc(sizeof(*fd) * (size_t)(num_open.rlim_max));
- if (!fd) {
- store_errmsg("fd, malloc() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- free(memchunk);
- return -7;
- }
-
- /* initialize it to fight lazy allocation */
-
- fprintf(stderr, "initializing fd array\n");
-
- for (num_open.rlim_cur = 0;
- num_open.rlim_cur < num_open.rlim_max;
- num_open.rlim_cur++)
- fd[num_open.rlim_cur] = -1;
-
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "trying to open %s file descriptors\n", strbuff);
-
- /* open a dummy descriptor */
-
- fd[0] = open(DEV_NULL, O_RDONLY);
- if (fd[0] < 0) {
- sprintf(strbuff, "opening of %s failed", DEV_NULL);
- store_errmsg(strbuff, ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- free(fd);
- fd = NULL;
- free(memchunk);
- return -8;
- }
-
- /* create a bunch of file descriptors */
-
- for (num_open.rlim_cur = 1;
- num_open.rlim_cur < num_open.rlim_max;
- num_open.rlim_cur++) {
-
- fd[num_open.rlim_cur] = dup(fd[0]);
-
- if (fd[num_open.rlim_cur] < 0) {
-
- fd[num_open.rlim_cur] = -1;
-
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "dup() attempt %s failed", strbuff1);
- fprintf(stderr, "%s\n", strbuff);
-
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "fds system limit seems close to %s", strbuff1);
- fprintf(stderr, "%s\n", strbuff);
-
- num_open.rlim_max = NUM_NEEDED;
-
- sprintf(strbuff2, fmt, num_open.rlim_max);
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "fds needed %s > system limit %s",
- strbuff2, strbuff1);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
-
- for (num_open.rlim_cur = 0;
- fd[num_open.rlim_cur] >= 0;
- num_open.rlim_cur++)
- close(fd[num_open.rlim_cur]);
- free(fd);
- fd = NULL;
- free(memchunk);
- return -9;
-
- }
-
- }
-
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "%s file descriptors open\n", strbuff);
-
-#if !defined(HAVE_POLL_FINE) && \
- !defined(USE_WINSOCK) && \
- !defined(TPF)
-
- /*
- * when using select() instead of poll() we cannot test
- * libcurl functionality with a socket number equal or
- * greater than FD_SETSIZE. In any case, macro VERIFY_SOCK
- * in lib/select.c enforces this check and protects libcurl
- * from a possible crash. The effect of this protection
- * is that test 518 will always fail, since the actual
- * call to select() never takes place. We skip test 518
- * with an indication that select limit would be exceeded.
- */
-
- num_open.rlim_cur = FD_SETSIZE - SAFETY_MARGIN;
- if (num_open.rlim_max > num_open.rlim_cur) {
- sprintf(strbuff, "select limit is FD_SETSIZE %d", FD_SETSIZE);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- close_file_descriptors();
- free(memchunk);
- return -10;
- }
-
- num_open.rlim_cur = FD_SETSIZE - SAFETY_MARGIN;
- for (rl.rlim_cur = 0;
- rl.rlim_cur < num_open.rlim_max;
- rl.rlim_cur++) {
- if ((fd[rl.rlim_cur] > 0) &&
- ((unsigned int)fd[rl.rlim_cur] > num_open.rlim_cur)) {
- sprintf(strbuff, "select limit is FD_SETSIZE %d", FD_SETSIZE);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- close_file_descriptors();
- free(memchunk);
- return -11;
- }
- }
-
-#endif /* using a FD_SETSIZE bound select() */
-
- /*
- * Old or 'backwards compatible' implementations of stdio do not allow
- * handling of streams with an underlying file descriptor number greater
- * than 255, even when allowing high numbered file descriptors for sockets.
- * At this point we have a big number of file descriptors which have been
- * opened using dup(), so lets test the stdio implementation and discover
- * if it is capable of fopen()ing some additional files.
- */
-
- if (!fopen_works()) {
- sprintf(strbuff1, fmt, num_open.rlim_max);
- sprintf(strbuff, "stdio fopen() fails with %s fds open()",
- strbuff1);
- fprintf(stderr, "%s\n", msgbuff);
- sprintf(strbuff, "stdio fopen() fails with lots of fds open()");
- store_errmsg(strbuff, 0);
- close_file_descriptors();
- free(memchunk);
- return -12;
- }
-
- /* free the chunk of memory we were reserving so that it
- becomes becomes available to the test */
-
- free(memchunk);
-
- /* close file descriptors unless instructed to keep them */
-
- if (!keep_open) {
- close_file_descriptors();
- }
-
- return 0;
-}
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if(!strcmp(URL, "check")) {
- /* used by the test script to ask if we can run this test or not */
- if(rlimit(FALSE)) {
- fprintf(stdout, "rlimit problem: %s\n", msgbuff);
- return 1;
- }
- return 0; /* sure, run this! */
- }
-
- if (rlimit(TRUE)) {
- /* failure */
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* run the test with the bunch of open file descriptors
- and close them all once the test is over */
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- close_file_descriptors();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- close_file_descriptors();
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- res = curl_easy_perform(curl);
-
- close_file_descriptors();
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
-#else /* defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) */
-
-int test(char *URL)
-{
- (void)URL;
- printf("system lacks necessary system function(s)");
- return 1; /* skip test */
-}
-
-#endif /* defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) */
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib519.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib519.c
deleted file mode 100644
index ce44048..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib519.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_USERPWD, "monster:underbed");
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* get first page */
- res = curl_easy_perform(curl);
-
- curl_easy_setopt(curl, CURLOPT_USERPWD, "anothermonster:inwardrobe");
-
- /* get second page */
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib520.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib520.c
deleted file mode 100644
index 46cad41..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib520.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib521.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib521.c
deleted file mode 100644
index 346ece0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib521.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_PORT, atoi(libtest_arg2));
- curl_easy_setopt(curl, CURLOPT_USERPWD, "xxx:yyy");
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib523.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib523.c
deleted file mode 100644
index 9f485ff..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib523.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg2);
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_PORT, 19999L);
- curl_easy_setopt(curl, CURLOPT_USERPWD, "xxx:yyy");
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib524.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib524.c
deleted file mode 100644
index 2fde663..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib524.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib525.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib525.c
deleted file mode 100644
index 154c209..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib525.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-int test(char *URL)
-{
- int res = 0;
- CURL *curl;
- FILE *hd_src ;
- int hd ;
- int error;
- struct_stat file_info;
- int running;
- char done=FALSE;
- CURLM *m;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
-
- if (!libtest_arg2) {
- fprintf(stderr, "Usage: lib525 [url] [uploadfile]\n");
- return -1;
- }
-
- /* get the file size of the local file */
- hd = open(libtest_arg2, 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(libtest_arg2, "rb");
- if(NULL == hd_src) {
- error = ERRNO;
- fprintf(stderr, "fopen() failed with error: %d %s\n",
- error, strerror(error));
- fprintf(stderr, "Error opening file: %s\n", libtest_arg2);
- return TEST_ERR_MAJOR_BAD;
- }
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- fclose(hd_src);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* enable uploading */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
- /* specify target */
- curl_easy_setopt(curl,CURLOPT_URL, URL);
-
- /* go verbose */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* use active FTP */
- curl_easy_setopt(curl, CURLOPT_FTPPORT, "-");
-
- /* now specify which file to upload */
- curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
-
- /* NOTE: if you want this code 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. */
-
- /* 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)file_info.st_size);
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = (int)curl_multi_add_handle(m, curl)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- while (!done) {
- fd_set rd, wr, exc;
- int max_fd;
- struct timeval interval;
-
- interval.tv_sec = 1;
- interval.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (res == CURLM_CALL_MULTI_PERFORM) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
- done = TRUE;
- break;
- }
- }
- if (mp_timedout || done)
- break;
-
- if (res != CURLM_OK) {
- fprintf(stderr, "not okay???\n");
- break;
- }
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&exc);
- max_fd = 0;
-
- if (curl_multi_fdset(m, &rd, &wr, &exc, &max_fd) != CURLM_OK) {
- fprintf(stderr, "unexpected failured of fdset.\n");
- res = 189;
- break;
- }
-
- if (select_test(max_fd+1, &rd, &wr, &exc, &interval) == -1) {
- fprintf(stderr, "bad select??\n");
- res = 195;
- break;
- }
-
- res = CURLM_CALL_MULTI_PERFORM;
- }
-
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
-#ifdef LIB529
- /* test 529 */
- curl_multi_remove_handle(m, curl);
- curl_multi_cleanup(m);
- curl_easy_cleanup(curl);
-#else
- /* test 525 */
- curl_multi_remove_handle(m, curl);
- curl_easy_cleanup(curl);
- curl_multi_cleanup(m);
-#endif
-
- fclose(hd_src); /* close the local file */
-
- curl_global_cleanup();
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib526.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib526.c
deleted file mode 100644
index 8951a74..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib526.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-/*
- * This code sets up multiple easy handles that transfer a single file from
- * the same URL, in a serial manner after each other. Due to the connection
- * sharing within the multi handle all transfers are performed on the same
- * persistent connection.
- *
- * This source code is used for lib526, lib527 and lib532 with only #ifdefs
- * controlling the small differences.
- *
- * - lib526 closes all easy handles after
- * they all have transfered the file over the single connection
- * - lib527 closes each easy handle after each single transfer.
- * - lib532 uses only a single easy handle that is removed, reset and then
- * re-added for each transfer
- *
- * Test case 526, 527 and 532 use FTP, while test 528 uses the lib526 tool but
- * with HTTP.
- */
-
-#include "test.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-#define NUM_HANDLES 4
-
-int test(char *URL)
-{
- int res = 0;
- CURL *curl[NUM_HANDLES];
- int running;
- char done=FALSE;
- CURLM *m;
- int current=0;
- int i, j;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* get NUM_HANDLES easy handles */
- for(i=0; i < NUM_HANDLES; i++) {
- curl[i] = curl_easy_init();
- if(!curl[i]) {
- fprintf(stderr, "curl_easy_init() failed "
- "on handle #%d\n", i);
- for (j=i-1; j >= 0; j--) {
- curl_easy_cleanup(curl[j]);
- }
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD + i;
- }
- curl_easy_setopt(curl[i], CURLOPT_URL, URL);
-
- /* go verbose */
- curl_easy_setopt(curl[i], CURLOPT_VERBOSE, 1L);
- }
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- for(i=0; i < NUM_HANDLES; i++) {
- curl_easy_cleanup(curl[i]);
- }
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = (int)curl_multi_add_handle(m, curl[current])) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- for(i=0; i < NUM_HANDLES; i++) {
- curl_easy_cleanup(curl[i]);
- }
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- fprintf(stderr, "Start at URL 0\n");
-
- while (!done) {
- fd_set rd, wr, exc;
- int max_fd;
- struct timeval interval;
-
- interval.tv_sec = 1;
- interval.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (res == CURLM_CALL_MULTI_PERFORM) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
-#ifdef LIB527
- /* NOTE: this code does not remove the handle from the multi handle
- here, which would be the nice, sane and documented way of working.
- This however tests that the API survives this abuse gracefully. */
- curl_easy_cleanup(curl[current]);
-#endif
- if(++current < NUM_HANDLES) {
- fprintf(stderr, "Advancing to URL %d\n", current);
-#ifdef LIB532
- /* first remove the only handle we use */
- curl_multi_remove_handle(m, curl[0]);
-
- /* make us re-use the same handle all the time, and try resetting
- the handle first too */
- curl_easy_reset(curl[0]);
- curl_easy_setopt(curl[0], CURLOPT_URL, URL);
- curl_easy_setopt(curl[0], CURLOPT_VERBOSE, 1L);
-
- /* re-add it */
- res = (int)curl_multi_add_handle(m, curl[0]);
-#else
- res = (int)curl_multi_add_handle(m, curl[current]);
-#endif
- if(res) {
- fprintf(stderr, "add handle failed: %d.\n", res);
- res = 243;
- break;
- }
- }
- else
- done = TRUE; /* bail out */
- break;
- }
- }
- if (mp_timedout || done)
- break;
-
- if (res != CURLM_OK) {
- fprintf(stderr, "not okay???\n");
- break;
- }
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&exc);
- max_fd = 0;
-
- if (curl_multi_fdset(m, &rd, &wr, &exc, &max_fd) != CURLM_OK) {
- fprintf(stderr, "unexpected failured of fdset.\n");
- res = 189;
- break;
- }
-
- if (select_test(max_fd+1, &rd, &wr, &exc, &interval) == -1) {
- fprintf(stderr, "bad select??\n");
- res = 195;
- break;
- }
-
- res = CURLM_CALL_MULTI_PERFORM;
- }
-
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
-#ifndef LIB527
- /* get NUM_HANDLES easy handles */
- for(i=0; i < NUM_HANDLES; i++) {
-#ifdef LIB526
- curl_multi_remove_handle(m, curl[i]);
-#endif
- curl_easy_cleanup(curl[i]);
- }
-#endif
- curl_multi_cleanup(m);
-
- curl_global_cleanup();
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib530.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib530.c
deleted file mode 100644
index af7d00d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib530.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-#define NUM_HANDLES 4
-
-int test(char *URL)
-{
- int res = 0;
- CURL *curl[NUM_HANDLES];
- int running;
- char done=FALSE;
- CURLM *m;
- int i, j;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
- char target_url[256];
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* get NUM_HANDLES easy handles */
- for(i=0; i < NUM_HANDLES; i++) {
- curl[i] = curl_easy_init();
- if(!curl[i]) {
- fprintf(stderr, "curl_easy_init() failed "
- "on handle #%d\n", i);
- for (j=i-1; j >= 0; j--) {
- curl_multi_remove_handle(m, curl[j]);
- curl_easy_cleanup(curl[j]);
- }
- curl_multi_cleanup(m);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD + i;
- }
- sprintf(target_url, "%s%04i", URL, i + 1);
- target_url[sizeof(target_url) - 1] = '\0';
- curl_easy_setopt(curl[i], CURLOPT_URL, target_url);
-
- /* go verbose */
- curl_easy_setopt(curl[i], CURLOPT_VERBOSE, 1L);
-
- /* include headers */
- curl_easy_setopt(curl[i], CURLOPT_HEADER, 1L);
-
- /* add handle to multi */
- if ((res = (int)curl_multi_add_handle(m, curl[i])) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "on handle #%d with code %d\n", i, res);
- curl_easy_cleanup(curl[i]);
- for (j=i-1; j >= 0; j--) {
- curl_multi_remove_handle(m, curl[j]);
- curl_easy_cleanup(curl[j]);
- }
- curl_multi_cleanup(m);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD + i;
- }
- }
-
- curl_multi_setopt(m, CURLMOPT_PIPELINING, 1L);
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- fprintf(stderr, "Start at URL 0\n");
-
- while (!done) {
- fd_set rd, wr, exc;
- int max_fd;
- struct timeval interval;
-
- interval.tv_sec = 1;
- interval.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (res == CURLM_CALL_MULTI_PERFORM) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
- done = TRUE; /* bail out */
- break;
- }
- }
- if (mp_timedout || done)
- break;
-
- if (res != CURLM_OK) {
- fprintf(stderr, "not okay???\n");
- break;
- }
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&exc);
- max_fd = 0;
-
- if (curl_multi_fdset(m, &rd, &wr, &exc, &max_fd) != CURLM_OK) {
- fprintf(stderr, "unexpected failured of fdset.\n");
- res = 189;
- break;
- }
-
- if (select_test(max_fd+1, &rd, &wr, &exc, &interval) == -1) {
- fprintf(stderr, "bad select??\n");
- res = 195;
- break;
- }
-
- res = CURLM_CALL_MULTI_PERFORM;
- }
-
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
- /* cleanup NUM_HANDLES easy handles */
- for(i=0; i < NUM_HANDLES; i++) {
- curl_multi_remove_handle(m, curl[i]);
- curl_easy_cleanup(curl[i]);
- }
-
- curl_multi_cleanup(m);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib533.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib533.c
deleted file mode 100644
index 71c43c2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib533.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-/* used for test case 533, 534 and 535 */
-
-#include "test.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-int test(char *URL)
-{
- int res = 0;
- CURL *curl;
- int running;
- char done=FALSE;
- CURLM *m;
- int current=0;
- struct timeval ml_start;
- struct timeval mp_start;
- char ml_timedout = FALSE;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
- curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1);
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = (int)curl_multi_add_handle(m, curl)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- ml_timedout = FALSE;
- ml_start = tutil_tvnow();
-
- fprintf(stderr, "Start at URL 0\n");
-
- while (!done) {
- fd_set rd, wr, exc;
- int max_fd;
- struct timeval interval;
-
- interval.tv_sec = 1;
- interval.tv_usec = 0;
-
- if (tutil_tvdiff(tutil_tvnow(), ml_start) >
- MAIN_LOOP_HANG_TIMEOUT) {
- ml_timedout = TRUE;
- break;
- }
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (res == CURLM_CALL_MULTI_PERFORM) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
- if(!current++) {
- fprintf(stderr, "Advancing to URL 1\n");
- /* remove the handle we use */
- curl_multi_remove_handle(m, curl);
-
- /* make us re-use the same handle all the time, and try resetting
- the handle first too */
- curl_easy_reset(curl);
- curl_easy_setopt(curl, CURLOPT_URL, libtest_arg2);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
- curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1);
-
- /* re-add it */
- res = (int)curl_multi_add_handle(m, curl);
- if(res) {
- fprintf(stderr, "add handle failed: %d.\n", res);
- res = 243;
- break;
- }
- }
- else
- done = TRUE; /* bail out */
- break;
- }
- }
- if (mp_timedout || done)
- break;
-
- if (res != CURLM_OK) {
- fprintf(stderr, "not okay???\n");
- break;
- }
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&exc);
- max_fd = 0;
-
- if (curl_multi_fdset(m, &rd, &wr, &exc, &max_fd) != CURLM_OK) {
- fprintf(stderr, "unexpected failured of fdset.\n");
- res = 189;
- break;
- }
-
- if (select_test(max_fd+1, &rd, &wr, &exc, &interval) == -1) {
- fprintf(stderr, "bad select??\n");
- res = 195;
- break;
- }
-
- res = CURLM_CALL_MULTI_PERFORM;
- }
-
- if (ml_timedout || mp_timedout) {
- if (ml_timedout) fprintf(stderr, "ml_timedout\n");
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
- curl_easy_cleanup(curl);
- curl_multi_cleanup(m);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib536.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib536.c
deleted file mode 100644
index 9e764a9..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib536.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include "testutil.h"
-
-#define MAIN_LOOP_HANG_TIMEOUT 90 * 1000
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-static CURLMcode perform(CURLM * multi)
-{
- int handles, maxfd;
- CURLMcode code;
- fd_set fdread, fdwrite, fdexcep;
- struct timeval mp_start;
- char mp_timedout = FALSE;
-
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- for (;;) {
- code = curl_multi_perform(multi, &handles);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (handles <= 0)
- return CURLM_OK;
-
- switch (code) {
- case CURLM_OK:
- break;
- case CURLM_CALL_MULTI_PERFORM:
- continue;
- default:
- return code;
- }
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
- curl_multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd);
- if (maxfd < 0)
- return (CURLMcode) ~CURLM_OK;
- if (select(maxfd + 1, &fdread, &fdwrite, &fdexcep, 0) == -1)
- return (CURLMcode) ~CURLM_OK;
- }
-
- /* We only reach this point if (mp_timedout) */
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- return (CURLMcode) ~CURLM_OK;
-}
-
-int test(char *URL)
-{
- CURLM *multi;
- CURL *easy;
- int res = 0;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((multi = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((easy = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_multi_cleanup(multi);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_multi_setopt(multi, CURLMOPT_PIPELINING, 1L);
-
- curl_easy_setopt(easy, CURLOPT_WRITEFUNCTION, fwrite);
- curl_easy_setopt(easy, CURLOPT_FAILONERROR, 1L);
- curl_easy_setopt(easy, CURLOPT_URL, URL);
-
- if (curl_multi_add_handle(multi, easy) != CURLM_OK) {
- printf("curl_multi_add_handle() failed\n");
- res = TEST_ERR_MAJOR_BAD;
- } else {
- if (perform(multi) != CURLM_OK)
- printf("retrieve 1 failed\n");
-
- curl_multi_remove_handle(multi, easy);
- }
- curl_easy_reset(easy);
-
- curl_easy_setopt(easy, CURLOPT_FAILONERROR, 1L);
- curl_easy_setopt(easy, CURLOPT_URL, libtest_arg2);
-
- if (curl_multi_add_handle(multi, easy) != CURLM_OK) {
- printf("curl_multi_add_handle() 2 failed\n");
- res = TEST_ERR_MAJOR_BAD;
- } else {
- if (perform(multi) != CURLM_OK)
- printf("retrieve 2 failed\n");
-
- curl_multi_remove_handle(multi, easy);
- }
- curl_easy_cleanup(easy);
- curl_multi_cleanup(multi);
- curl_global_cleanup();
-
- printf("Finished!\n");
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib537.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib537.c
deleted file mode 100644
index f3b42e7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib537.c
+++ /dev/null
@@ -1,509 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#if !defined(HAVE_POLL_FINE) && \
- !defined(USE_WINSOCK) && \
- !defined(TPF) && \
- !defined(FD_SETSIZE)
-#error "this test requires FD_SETSIZE"
-#endif
-
-#define SAFETY_MARGIN (10)
-
-#if defined(WIN32) || defined(_WIN32) || defined(MSDOS)
-#define DEV_NULL "NUL"
-#else
-#define DEV_NULL "/dev/null"
-#endif
-
-#if defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT)
-
-static int *fd = NULL;
-static struct rlimit num_open;
-static char msgbuff[256];
-
-static void store_errmsg(const char *msg, int err)
-{
- if (!err)
- sprintf(msgbuff, "%s", msg);
- else
- sprintf(msgbuff, "%s, errno %d, %s", msg, err, strerror(err));
-}
-
-static void close_file_descriptors(void)
-{
- for (num_open.rlim_cur = 0;
- num_open.rlim_cur < num_open.rlim_max;
- num_open.rlim_cur++)
- if (fd[num_open.rlim_cur] > 0)
- close(fd[num_open.rlim_cur]);
- free(fd);
- fd = NULL;
-}
-
-static int fopen_works(void)
-{
- FILE *fpa[3];
- int i;
- int ret = 1;
-
- for (i = 0; i < 3; i++) {
- fpa[i] = NULL;
- }
- for (i = 0; i < 3; i++) {
- fpa[i] = fopen(DEV_NULL, "r");
- if (fpa[i] == NULL) {
- store_errmsg("fopen() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- ret = 0;
- break;
- }
- }
- for (i = 0; i < 3; i++) {
- if (fpa[i] != NULL)
- fclose(fpa[i]);
- }
- return ret;
-}
-
-static int rlimit(int keep_open)
-{
- int *tmpfd;
- int nitems, i;
- int *memchunk = NULL;
- char *fmt;
- struct rlimit rl;
- char strbuff[256];
- char strbuff1[81];
- char fmt_u[] = "%u";
- char fmt_lu[] = "%lu";
-#ifdef HAVE_LONGLONG
- char fmt_llu[] = "%llu";
-
- if (sizeof(rl.rlim_max) > sizeof(long))
- fmt = fmt_llu;
- else
-#endif
- fmt = (sizeof(rl.rlim_max) < sizeof(long))?fmt_u:fmt_lu;
-
- /* get initial open file limits */
-
- if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
- store_errmsg("getrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- return -1;
- }
-
- /* show initial open file limits */
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_cur == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_cur);
- fprintf(stderr, "initial soft limit: %s\n", strbuff);
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_max == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_max);
- fprintf(stderr, "initial hard limit: %s\n", strbuff);
-
- /*
- * if soft limit and hard limit are different we ask the
- * system to raise soft limit all the way up to the hard
- * limit. Due to some other system limit the soft limit
- * might not be raised up to the hard limit. So from this
- * point the resulting soft limit is our limit. Trying to
- * open more than soft limit file descriptors will fail.
- */
-
- if (rl.rlim_cur != rl.rlim_max) {
-
-#ifdef OPEN_MAX
- if ((rl.rlim_cur > 0) &&
- (rl.rlim_cur < OPEN_MAX)) {
- fprintf(stderr, "raising soft limit up to OPEN_MAX\n");
- rl.rlim_cur = OPEN_MAX;
- if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
- /* on failure don't abort just issue a warning */
- store_errmsg("setrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- msgbuff[0] = '\0';
- }
- }
-#endif
-
- fprintf(stderr, "raising soft limit up to hard limit\n");
- rl.rlim_cur = rl.rlim_max;
- if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
- /* on failure don't abort just issue a warning */
- store_errmsg("setrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- msgbuff[0] = '\0';
- }
-
- /* get current open file limits */
-
- if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
- store_errmsg("getrlimit() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- return -3;
- }
-
- /* show current open file limits */
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_cur == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_cur);
- fprintf(stderr, "current soft limit: %s\n", strbuff);
-
-#ifdef RLIM_INFINITY
- if (rl.rlim_max == RLIM_INFINITY)
- strcpy(strbuff, "INFINITY");
- else
-#endif
- sprintf(strbuff, fmt, rl.rlim_max);
- fprintf(stderr, "current hard limit: %s\n", strbuff);
-
- } /* (rl.rlim_cur != rl.rlim_max) */
-
- /*
- * test 537 is all about testing libcurl functionality
- * when the system has nearly exhausted the number of
- * available file descriptors. Test 537 will try to run
- * with a very small number of file descriptors available.
- * This implies that any file descriptor which is open
- * when the test runs will have a number in the high range
- * of whatever the system supports.
- */
-
- /*
- * reserve a chunk of memory before opening file descriptors to
- * avoid a low memory condition once the file descriptors are
- * open. System conditions that could make the test fail should
- * be addressed in the precheck phase. This chunk of memory shall
- * be always free()ed before exiting the rlimit() function so
- * that it becomes available to the test.
- */
-
- for (nitems = i = 1; nitems <= i; i *= 2)
- nitems = i;
- if (nitems > 0x7fff)
- nitems = 0x40000;
- do {
- num_open.rlim_max = sizeof(*memchunk) * (size_t)nitems;
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "allocating memchunk %s byte array\n", strbuff);
- memchunk = malloc(sizeof(*memchunk) * (size_t)nitems);
- if (!memchunk) {
- fprintf(stderr, "memchunk, malloc() failed\n");
- nitems /= 2;
- }
- } while (nitems && !memchunk);
- if (!memchunk) {
- store_errmsg("memchunk, malloc() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- return -4;
- }
-
- /* initialize it to fight lazy allocation */
-
- fprintf(stderr, "initializing memchunk array\n");
-
- for (i = 0; i < nitems; i++)
- memchunk[i] = -1;
-
- /* set the number of file descriptors we will try to open */
-
-#ifdef RLIM_INFINITY
- if ((rl.rlim_cur > 0) && (rl.rlim_cur != RLIM_INFINITY)) {
-#else
- if (rl.rlim_cur > 0) {
-#endif
- /* soft limit minus SAFETY_MARGIN */
- num_open.rlim_max = rl.rlim_cur - SAFETY_MARGIN;
- }
- else {
- /* a huge number of file descriptors */
- for (nitems = i = 1; nitems <= i; i *= 2)
- nitems = i;
- if (nitems > 0x7fff)
- nitems = 0x40000;
- num_open.rlim_max = nitems;
- }
-
- /* verify that we won't overflow size_t in malloc() */
-
- if ((size_t)(num_open.rlim_max) > ((size_t)-1) / sizeof(*fd)) {
- sprintf(strbuff1, fmt, num_open.rlim_max);
- sprintf(strbuff, "unable to allocate an array for %s "
- "file descriptors, would overflow size_t", strbuff1);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- free(memchunk);
- return -5;
- }
-
- /* allocate array for file descriptors */
-
- do {
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "allocating array for %s file descriptors\n", strbuff);
- fd = malloc(sizeof(*fd) * (size_t)(num_open.rlim_max));
- if (!fd) {
- fprintf(stderr, "fd, malloc() failed\n");
- num_open.rlim_max /= 2;
- }
- } while (num_open.rlim_max && !fd);
- if (!fd) {
- store_errmsg("fd, malloc() failed", ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- free(memchunk);
- return -6;
- }
-
- /* initialize it to fight lazy allocation */
-
- fprintf(stderr, "initializing fd array\n");
-
- for (num_open.rlim_cur = 0;
- num_open.rlim_cur < num_open.rlim_max;
- num_open.rlim_cur++)
- fd[num_open.rlim_cur] = -1;
-
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "trying to open %s file descriptors\n", strbuff);
-
- /* open a dummy descriptor */
-
- fd[0] = open(DEV_NULL, O_RDONLY);
- if (fd[0] < 0) {
- sprintf(strbuff, "opening of %s failed", DEV_NULL);
- store_errmsg(strbuff, ERRNO);
- fprintf(stderr, "%s\n", msgbuff);
- free(fd);
- fd = NULL;
- free(memchunk);
- return -7;
- }
-
- /* create a bunch of file descriptors */
-
- for (num_open.rlim_cur = 1;
- num_open.rlim_cur < num_open.rlim_max;
- num_open.rlim_cur++) {
-
- fd[num_open.rlim_cur] = dup(fd[0]);
-
- if (fd[num_open.rlim_cur] < 0) {
-
- fd[num_open.rlim_cur] = -1;
-
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "dup() attempt %s failed", strbuff1);
- fprintf(stderr, "%s\n", strbuff);
-
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "fds system limit seems close to %s", strbuff1);
- fprintf(stderr, "%s\n", strbuff);
-
- num_open.rlim_max = num_open.rlim_cur - SAFETY_MARGIN;
-
- num_open.rlim_cur -= num_open.rlim_max;
- sprintf(strbuff1, fmt, num_open.rlim_cur);
- sprintf(strbuff, "closing %s file descriptors", strbuff1);
- fprintf(stderr, "%s\n", strbuff);
-
- for (num_open.rlim_cur = num_open.rlim_max;
- fd[num_open.rlim_cur] >= 0;
- num_open.rlim_cur++) {
- close(fd[num_open.rlim_cur]);
- fd[num_open.rlim_cur] = -1;
- }
-
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "shrinking array for %s file descriptors\n", strbuff);
-
- /* we don't care if we can't shrink it */
-
- tmpfd = realloc(fd, sizeof(*fd) * (size_t)(num_open.rlim_max));
- if (tmpfd) {
- fd = tmpfd;
- tmpfd = NULL;
- }
-
- break;
-
- }
-
- }
-
- sprintf(strbuff, fmt, num_open.rlim_max);
- fprintf(stderr, "%s file descriptors open\n", strbuff);
-
-#if !defined(HAVE_POLL_FINE) && \
- !defined(USE_WINSOCK) && \
- !defined(TPF)
-
- /*
- * when using select() instead of poll() we cannot test
- * libcurl functionality with a socket number equal or
- * greater than FD_SETSIZE. In any case, macro VERIFY_SOCK
- * in lib/select.c enforces this check and protects libcurl
- * from a possible crash. The effect of this protection
- * is that test 537 will always fail, since the actual
- * call to select() never takes place. We skip test 537
- * with an indication that select limit would be exceeded.
- */
-
- num_open.rlim_cur = FD_SETSIZE - SAFETY_MARGIN;
- if (num_open.rlim_max > num_open.rlim_cur) {
- sprintf(strbuff, "select limit is FD_SETSIZE %d", FD_SETSIZE);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- close_file_descriptors();
- free(memchunk);
- return -8;
- }
-
- num_open.rlim_cur = FD_SETSIZE - SAFETY_MARGIN;
- for (rl.rlim_cur = 0;
- rl.rlim_cur < num_open.rlim_max;
- rl.rlim_cur++) {
- if ((fd[rl.rlim_cur] > 0) &&
- ((unsigned int)fd[rl.rlim_cur] > num_open.rlim_cur)) {
- sprintf(strbuff, "select limit is FD_SETSIZE %d", FD_SETSIZE);
- store_errmsg(strbuff, 0);
- fprintf(stderr, "%s\n", msgbuff);
- close_file_descriptors();
- free(memchunk);
- return -9;
- }
- }
-
-#endif /* using a FD_SETSIZE bound select() */
-
- /*
- * Old or 'backwards compatible' implementations of stdio do not allow
- * handling of streams with an underlying file descriptor number greater
- * than 255, even when allowing high numbered file descriptors for sockets.
- * At this point we have a big number of file descriptors which have been
- * opened using dup(), so lets test the stdio implementation and discover
- * if it is capable of fopen()ing some additional files.
- */
-
- if (!fopen_works()) {
- sprintf(strbuff1, fmt, num_open.rlim_max);
- sprintf(strbuff, "stdio fopen() fails with %s fds open()",
- strbuff1);
- fprintf(stderr, "%s\n", msgbuff);
- sprintf(strbuff, "stdio fopen() fails with lots of fds open()");
- store_errmsg(strbuff, 0);
- close_file_descriptors();
- free(memchunk);
- return -10;
- }
-
- /* free the chunk of memory we were reserving so that it
- becomes becomes available to the test */
-
- free(memchunk);
-
- /* close file descriptors unless instructed to keep them */
-
- if (!keep_open) {
- close_file_descriptors();
- }
-
- return 0;
-}
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if(!strcmp(URL, "check")) {
- /* used by the test script to ask if we can run this test or not */
- if(rlimit(FALSE)) {
- fprintf(stdout, "rlimit problem: %s\n", msgbuff);
- return 1;
- }
- return 0; /* sure, run this! */
- }
-
- if (rlimit(TRUE)) {
- /* failure */
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* run the test with the bunch of open file descriptors
- and close them all once the test is over */
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- close_file_descriptors();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- close_file_descriptors();
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- res = curl_easy_perform(curl);
-
- close_file_descriptors();
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
-#else /* defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) */
-
-int test(char *URL)
-{
- (void)URL;
- printf("system lacks necessary system function(s)");
- return 1; /* skip test */
-}
-
-#endif /* defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) */
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib539.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib539.c
deleted file mode 100644
index 0e43654..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib539.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
- char *newURL;
- struct curl_slist *slist;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /*
- * Begin with cURL set to use a single CWD to the URL's directory.
- */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, CURLFTPMETHOD_SINGLECWD);
-
- res = curl_easy_perform(curl);
-
- /*
- * Change the FTP_FILEMETHOD option to use full paths rather than a CWD
- * command. Alter the URL's path a bit, appending a "./". Use an innocuous
- * QUOTE command, after which cURL will CWD to ftp_conn->entrypath and then
- * (on the next call to ftp_statemach_act) find a non-zero ftpconn->dirdepth
- * even though no directories are stored in the ftpconn->dirs array (after a
- * call to freedirs).
- */
- newURL = strcat (strcpy ((char*)malloc (strlen (URL) + 3),
- URL),
- "./");
- slist = curl_slist_append (NULL, "SYST");
-
- curl_easy_setopt(curl, CURLOPT_URL, newURL);
- curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, CURLFTPMETHOD_NOCWD);
- curl_easy_setopt(curl, CURLOPT_QUOTE, slist);
-
- res = curl_easy_perform(curl);
-
- curl_slist_free_all(slist);
- free(newURL);
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib540.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib540.c
deleted file mode 100644
index 089fcd5..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib540.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * This is the 'proxyauth.c' test app posted by Shmulik Regev on the libcurl
- * mailing list on 10 Jul 2007, converted to a test case.
- *
- * argv1 = URL
- * argv2 = proxy
- * argv3 = proxyuser:password
- * argv4 = host name to use for the custom Host: header
- */
-
-#include "test.h"
-
-#define PROXY libtest_arg2
-#define PROXYUSERPWD libtest_arg3
-#define HOST test_argv[4]
-
-static void init(CURLM *cm, const char* url, const char* userpwd,
- struct curl_slist *headers)
-{
- CURL *eh = curl_easy_init();
-
- curl_easy_setopt(eh, CURLOPT_URL, url);
- curl_easy_setopt(eh, CURLOPT_PROXY, PROXY);
- curl_easy_setopt(eh, CURLOPT_PROXYUSERPWD, userpwd);
- curl_easy_setopt(eh, CURLOPT_PROXYAUTH, (long)CURLAUTH_ANY);
- curl_easy_setopt(eh, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(eh, CURLOPT_HEADER, 1L);
- curl_easy_setopt(eh, CURLOPT_HTTPHEADER, headers); /* custom Host: */
-
- curl_multi_add_handle(cm, eh);
-}
-
-static int loop(CURLM *cm, const char* url, const char* userpwd,
- struct curl_slist *headers)
-{
- CURLMsg *msg;
- long L;
- int M, Q, U = -1;
- fd_set R, W, E;
- struct timeval T;
-
- init(cm, url, userpwd, headers);
-
- while (U) {
- while (CURLM_CALL_MULTI_PERFORM == 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;
- }
-
- /* In a real-world program you OF COURSE check the return that maxfd is
- bigger than -1 so that the call to select() below makes sense! */
-
- if (curl_multi_timeout(cm, &L)) {
- fprintf(stderr, "E: curl_multi_timeout\n");
- return EXIT_FAILURE;
- }
-
- if(L != -1) {
- T.tv_sec = L/1000;
- T.tv_usec = (L%1000)*1000;
- }
- else {
- T.tv_sec = 5;
- T.tv_usec = 0;
- }
-
- if (0 > select(M+1, &R, &W, &E, &T)) {
- fprintf(stderr, "E: select\n");
- return EXIT_FAILURE;
- }
- }
-
- while ((msg = curl_multi_info_read(cm, &Q))) {
- if (msg->msg == CURLMSG_DONE) {
- CURL *e = msg->easy_handle;
- fprintf(stderr, "R: %d - %s\n", (int)msg->data.result,
- curl_easy_strerror(msg->data.result));
- curl_multi_remove_handle(cm, e);
- curl_easy_cleanup(e);
- }
- else {
- fprintf(stderr, "E: CURLMsg (%d)\n", (int)msg->msg);
- }
- }
- }
-
- return 1;
-}
-
-int test(char *URL)
-{
- CURLM *cm;
- struct curl_slist *headers = NULL;
- char buffer[246]; /* naively fixed-size */
-
- if(test_argc < 4)
- return 99;
-
- sprintf(buffer, "Host: %s", HOST);
-
- /* now add a custom Host: header */
- headers = curl_slist_append(headers, buffer);
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- cm = curl_multi_init();
- loop(cm, URL, PROXYUSERPWD, headers);
-
- fprintf(stderr, "lib540: now we do the request again\n");
- loop(cm, URL, PROXYUSERPWD, headers);
-
- curl_multi_cleanup(cm);
-
- curl_global_cleanup();
-
- curl_slist_free_all(headers);
-
- return EXIT_SUCCESS;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib541.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib541.c
deleted file mode 100644
index a2224ae..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib541.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "setup.h" /* struct_stat etc. */
-#include "test.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/*
- * Two FTP uploads, the second with no content sent.
- */
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res = CURLE_OK;
- FILE *hd_src ;
- int hd ;
- struct_stat file_info;
- int error;
-
- if (!libtest_arg2) {
- fprintf(stderr, "Usage: <url> <file-to-upload>\n");
- return -1;
- }
-
- /* get the file size of the local file */
- hd = stat(libtest_arg2, &file_info);
- if(hd == -1) {
- /* can't open file, bail out */
- error = ERRNO;
- fprintf(stderr, "stat() failed with error: %d %s\n",
- error, strerror(error));
- fprintf(stderr, "WARNING: cannot open file %s\n", libtest_arg2);
- return -1;
- }
-
- if(! file_info.st_size) {
- fprintf(stderr, "WARNING: file %s has no size!\n", libtest_arg2);
- return -4;
- }
-
- /* 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(libtest_arg2, "rb");
- if(NULL == hd_src) {
- error = ERRNO;
- fprintf(stderr, "fopen() failed with error: %d %s\n",
- error, strerror(error));
- fprintf(stderr, "Error opening file: %s\n", libtest_arg2);
- return -2; /* if this happens things are major weird */
- }
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* get a curl handle */
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- fclose(hd_src);
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* enable uploading */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
- /* enable verbose */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* specify target */
- curl_easy_setopt(curl,CURLOPT_URL, URL);
-
- /* now specify which file to upload */
- curl_easy_setopt(curl, CURLOPT_INFILE, hd_src);
-
- /* Now run off and do what you've been told! */
- res = curl_easy_perform(curl);
-
- /* and now upload the exact same again, but without rewinding so it already
- is at end of file */
- res = curl_easy_perform(curl);
-
- /* close the local file */
- fclose(hd_src);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib542.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib542.c
deleted file mode 100644
index ffd8f36..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib542.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "setup.h" /* struct_stat etc. */
-#include "test.h"
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/*
- * FTP get with NOBODY but no HEADER
- */
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res = CURLE_OK;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* get a curl handle */
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* enable verbose */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* enable NOBODY */
- curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
-
- /* disable HEADER */
- curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
-
- /* specify target */
- curl_easy_setopt(curl,CURLOPT_URL, URL);
-
- /* Now run off and do what you've been told! */
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib543.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib543.c
deleted file mode 100644
index 2e930d2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib543.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * Based on Alex Fishman's bug report on September 30, 2007
- */
-
-#include "setup.h"
-#include "test.h"
-
-int test(char *URL)
-{
- unsigned char a[] = {0x9c, 0x26, 0x4b, 0x3d, 0x49, 0x4, 0xa1, 0x1,
- 0xe0, 0xd8, 0x7c, 0x20, 0xb7, 0xef, 0x53, 0x29, 0xfa,
- 0x1d, 0x57, 0xe1};
-
- CURL* easy = curl_easy_init();
- char* s = curl_easy_escape(easy, (char*)a, sizeof(a));
- (void)URL;
-
- printf("%s\n", s);
-
- curl_free(s);
- curl_easy_cleanup(easy);
-
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib544.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib544.c
deleted file mode 100644
index f91cef3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib544.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-
-static char teststring[] =
- "This\0 is test binary data with an embedded NUL byte\n";
-
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
-#ifdef LIB545
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) sizeof teststring - 1);
-#endif
-
- curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, teststring);
-
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* show verbose for debug */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L); /* include header */
-
- /* Update the original data to detect non-copy. */
- strcpy(teststring, "FAIL");
-
- /* Now, this is a POST request with binary 0 embedded in POST data. */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib547.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib547.c
deleted file mode 100644
index 85f22fe..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib547.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * argv1 = URL
- * argv2 = proxy
- * argv3 = proxyuser:password
- */
-
-#include "test.h"
-
-#define UPLOADTHIS "this is the blurb we want to upload\n"
-
-#ifndef LIB548
-static size_t readcallback(void *ptr,
- size_t size,
- size_t nmemb,
- void *clientp)
-{
- int *counter = (int *)clientp;
-
- if(*counter) {
- /* only do this once and then require a clearing of this */
- fprintf(stderr, "READ ALREADY DONE!\n");
- return 0;
- }
- (*counter)++; /* bump */
-
- if(size * nmemb > strlen(UPLOADTHIS)) {
- fprintf(stderr, "READ!\n");
- strcpy(ptr, UPLOADTHIS);
- return strlen(UPLOADTHIS);
- }
- fprintf(stderr, "READ NOT FINE!\n");
- return 0;
-}
-static curlioerr ioctlcallback(CURL *handle,
- int cmd,
- void *clientp)
-{
- int *counter = (int *)clientp;
- (void)handle; /* unused */
- if(cmd == CURLIOCMD_RESTARTREAD) {
- fprintf(stderr, "REWIND!\n");
- *counter = 0; /* clear counter to make the read callback restart */
- }
- return CURLIOE_OK;
-}
-
-
-
-#endif
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-#ifndef LIB548
- int counter=0;
-#endif
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-#ifdef LIB548
- /* set the data to POST with a mere pointer to a zero-terminated string */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDS, UPLOADTHIS);
-#else
- /* 547 style, which means reading the POST data from a callback */
- curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, ioctlcallback);
- curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &counter);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, readcallback);
- curl_easy_setopt(curl, CURLOPT_READDATA, &counter);
- /* We CANNOT do the POST fine without setting the size (or choose chunked)! */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(UPLOADTHIS));
-#endif
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg2);
- curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, libtest_arg3);
- curl_easy_setopt(curl, CURLOPT_PROXYAUTH,
- (long) (CURLAUTH_NTLM | CURLAUTH_DIGEST | CURLAUTH_BASIC) );
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib549.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib549.c
deleted file mode 100644
index d508356..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib549.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * argv1 = URL
- * argv2 = proxy
- * argv3 = non-zero means ASCII transfer
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg2);
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 1L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- if(libtest_arg3)
- /* enable ascii/text mode */
- curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 1L);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib552.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib552.c
deleted file mode 100644
index 1c6e234..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib552.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * argv1 = URL
- * argv2 = proxy with embedded user+password
- */
-
-#include "test.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, %d bytes (0x%x)\n", text, (int)size, (int)size);
-
- for(i=0; i<size; i+= width) {
-
- fprintf(stream, "%04x: ", (int)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", (char *)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;
-}
-
-
-static size_t current_offset = 0;
-char data[70000]; /* MUST be more than 64k OR MAX_INITIAL_POST_SIZE */
-
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- size_t amount = nmemb * size; /* Total bytes curl wants */
- size_t available = sizeof data - current_offset; /* What we have to give */
- size_t given = amount < available ? amount : available; /* What is given */
- (void)stream;
- memcpy(ptr, data + current_offset, given);
- current_offset += given;
- return given;
-}
-
-
-static size_t write_callback(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- printf("%.*s", (int)(size * nmemb), (char *)ptr);
- (void)stream;
- return size * nmemb;
-}
-
-
-static curlioerr ioctl_callback(CURL * handle, int cmd, void *clientp)
-{
- (void)clientp;
- if (cmd == CURLIOCMD_RESTARTREAD ) {
- printf("APPLICATION: recieved a CURLIOCMD_RESTARTREAD request\n");
- printf("APPLICATION: ** REWINDING! **\n");
- current_offset = 0;
- return CURLIOE_OK;
- }
- (void)handle;
- return CURLIOE_UNKNOWNCMD;
-}
-
-
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res = CURLE_OUT_OF_MEMORY;
- struct data config;
- size_t i;
- static const char fill[] = "test data";
-
- 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);
-
- /* setup repeated data string */
- for (i=0; i < sizeof data; ++i)
- data[i] = fill[i % sizeof fill];
-
- /* Post */
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
-
- /* Setup read callback */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) sizeof data);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
-
- /* Write callback */
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
-
- /* Ioctl function */
- curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, ioctl_callback);
-
- curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg2);
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
- /* Accept any auth. But for this bug configure proxy with DIGEST, basic might work too, not NTLM */
- curl_easy_setopt(curl, CURLOPT_PROXYAUTH, (long)CURLAUTH_ANY);
-
- res = curl_easy_perform(curl);
- fprintf(stderr, "curl_easy_perform = %d\n", (int)res);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- curl_global_cleanup();
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib553.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib553.c
deleted file mode 100644
index 0603b3f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib553.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * This test case and code is based on the bug recipe Joe Malicki provided for
- * bug report #1871269, fixed on Jan 14 2008 before the 7.18.0 release.
- */
-
-#include "test.h"
-
-#define POSTLEN 40960
-
-static size_t myreadfunc(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- static size_t total=POSTLEN;
- static char buf[1024];
- (void)stream;
-
- memset(buf, 'A', sizeof(buf));
-
- size *= nmemb;
- if (size > total)
- size = total;
-
- if(size > sizeof(buf))
- size = sizeof(buf);
-
- memcpy(ptr, buf, size);
- total -= size;
- return size;
-}
-
-#define NUM_HEADERS 8
-#define SIZE_HEADERS 5000
-
-static char buf[SIZE_HEADERS + 100];
-
-int test(char *URL)
-{
- CURL *curl;
- CURLcode res;
- int i;
- struct curl_slist *headerlist=NULL, *hl;
-
- curl_global_init(CURL_GLOBAL_ALL);
- curl = curl_easy_init();
-
- if(curl) {
- for (i = 0; i < NUM_HEADERS; i++) {
- int len = sprintf(buf, "Header%d: ", i);
- memset(&buf[len], 'A', SIZE_HEADERS);
- buf[len + SIZE_HEADERS]=0; /* zero terminate */
- hl = curl_slist_append(headerlist, buf);
- if (!hl)
- goto errout;
- headerlist = hl;
- }
- hl = curl_slist_append(headerlist, "Expect: ");
- if (!hl)
- goto errout;
- headerlist = hl;
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)POSTLEN);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, myreadfunc);
- res = curl_easy_perform(curl);
-
-errout:
- curl_easy_cleanup(curl);
-
- curl_slist_free_all(headerlist);
- }
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib554.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib554.c
deleted file mode 100644
index fe0c16a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib554.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-static char data[]="this is what we post to the silly web server\n";
-
-struct WriteThis {
- char *readptr;
- size_t 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 test(char *URL)
-{
- CURL *curl;
- CURLcode res=CURLE_OK;
- CURLFORMcode formrc;
-
- struct curl_httppost *formpost=NULL;
- struct curl_httppost *lastptr=NULL;
- struct WriteThis pooh;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- pooh.readptr = data;
- pooh.sizeleft = strlen(data);
-
- /* Fill in the file upload field */
- formrc = curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "sendfile",
- CURLFORM_STREAM, &pooh,
- CURLFORM_CONTENTSLENGTH, pooh.sizeleft,
- CURLFORM_FILENAME, "postit2.c",
- CURLFORM_END);
-
- if(formrc)
- printf("curl_formadd(1) = %d\n", (int)formrc);
-
- /* Fill in the filename field */
- formrc = curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "filename",
- CURLFORM_COPYCONTENTS, "postit2.c",
- CURLFORM_END);
-
- if(formrc)
- printf("curl_formadd(2) = %d\n", (int)formrc);
-
- /* Fill in a submit field too */
- formrc = curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "submit",
- CURLFORM_COPYCONTENTS, "send",
- CURLFORM_END);
-
- if(formrc)
- printf("curl_formadd(3) = %d\n", (int)formrc);
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_formfree(formpost);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, URL);
-
- /* Now specify we want to POST data */
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
-
- /* Set the expected POST size */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)pooh.sizeleft);
-
- /* 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);
-
- /* send a multi-part formpost */
- curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
-
- /* get verbose debug output please */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* include headers in the output */
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- /* now cleanup the formpost chain */
- curl_formfree(formpost);
-
- return res;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib555.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib555.c
deleted file mode 100644
index ad259e0..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib555.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * This test case is supposed to be identical to 547 except that this uses the
- * multi interface and 547 is easy interface.
- *
- * argv1 = URL
- * argv2 = proxy
- * argv3 = proxyuser:password
- */
-
-#include "test.h"
-#include "testutil.h"
-
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-#define UPLOADTHIS "this is the blurb we want to upload\n"
-
-static size_t readcallback(void *ptr,
- size_t size,
- size_t nmemb,
- void *clientp)
-{
- int *counter = (int *)clientp;
-
- if(*counter) {
- /* only do this once and then require a clearing of this */
- fprintf(stderr, "READ ALREADY DONE!\n");
- return 0;
- }
- (*counter)++; /* bump */
-
- if(size * nmemb > strlen(UPLOADTHIS)) {
- fprintf(stderr, "READ!\n");
- strcpy(ptr, UPLOADTHIS);
- return strlen(UPLOADTHIS);
- }
- fprintf(stderr, "READ NOT FINE!\n");
- return 0;
-}
-static curlioerr ioctlcallback(CURL *handle,
- int cmd,
- void *clientp)
-{
- int *counter = (int *)clientp;
- (void)handle; /* unused */
- if(cmd == CURLIOCMD_RESTARTREAD) {
- fprintf(stderr, "REWIND!\n");
- *counter = 0; /* clear counter to make the read callback restart */
- }
- return CURLIOE_OK;
-}
-
-
-int test(char *URL)
-{
- int res;
- CURL *curl;
- int counter=0;
- CURLM *m;
- int running=1;
- struct timeval mp_start;
- char mp_timedout = FALSE;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- /* read the POST data from a callback */
- curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, ioctlcallback);
- curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &counter);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, readcallback);
- curl_easy_setopt(curl, CURLOPT_READDATA, &counter);
- /* We CANNOT do the POST fine without setting the size (or choose chunked)! */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, strlen(UPLOADTHIS));
-
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_PROXY, libtest_arg2);
- curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, libtest_arg3);
- curl_easy_setopt(curl, CURLOPT_PROXYAUTH,
- (long) (CURLAUTH_NTLM | CURLAUTH_DIGEST | CURLAUTH_BASIC) );
-
- if ((m = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((res = (int)curl_multi_add_handle(m, curl)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_multi_cleanup(m);
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- mp_timedout = FALSE;
- mp_start = tutil_tvnow();
-
- while (running) {
- res = (int)curl_multi_perform(m, &running);
- if (tutil_tvdiff(tutil_tvnow(), mp_start) >
- MULTI_PERFORM_HANG_TIMEOUT) {
- mp_timedout = TRUE;
- break;
- }
- if (running <= 0) {
- fprintf(stderr, "nothing left running.\n");
- break;
- }
- }
-
- if (mp_timedout) {
- if (mp_timedout) fprintf(stderr, "mp_timedout\n");
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- res = TEST_ERR_RUNS_FOREVER;
- }
-
- curl_multi_remove_handle(m, curl);
- curl_easy_cleanup(curl);
- curl_multi_cleanup(m);
-
- curl_global_cleanup();
-
- return res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib556.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib556.c
deleted file mode 100644
index 85fd656..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib556.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-#include "test.h"
-
-int test(char *URL)
-{
- CURLcode res;
- CURL *curl;
-
- if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if ((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
-
- res = curl_easy_perform(curl);
-
- if(!res) {
- /* we are connected, now get a HTTP document the raw way */
- const char *request = "GET /556 HTTP/1.2\r\n"
- "Host: ninja\r\n\r\n";
- size_t iolen;
- char buf[1024];
-
- res = curl_easy_send(curl, request, strlen(request), &iolen);
-
- if(!res) {
- /* we assume that sending always work */
- int total=0;
-
- do {
- /* busy-read like crazy */
- res = curl_easy_recv(curl, buf, 1024, &iolen);
-
- if(iolen)
- /* send received stuff to stdout */
- write(STDOUT_FILENO, buf, iolen);
-
- total += iolen;
-
- } while(((res == CURLE_OK) || (res == CURLE_AGAIN)) && (total < 129));
- }
- }
-
-
- curl_easy_cleanup(curl);
- curl_global_cleanup();
-
- return (int)res;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/lib557.c b/Utilities/cmcurl-7.19.0/tests/libtest/lib557.c
deleted file mode 100644
index 13148dd..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/lib557.c
+++ /dev/null
@@ -1,1088 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-/*
- * The purpose of this test is to minimally exercise libcurl's internal
- * curl_m*printf formatting capabilities and handling of some data types.
- */
-
-#include "test.h"
-
-int curl_msprintf(char *buffer, const char *format, ...);
-
-
-#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG)
-# define MPRNT_SUFFIX_CURL_OFF_T LL
-#else
-# define MPRNT_SUFFIX_CURL_OFF_T L
-#endif
-
-
-#ifdef CURL_ISOCPP
-# define MPRNT_OFF_T_C_HELPER2(Val,Suffix) Val ## Suffix
-#else
-# define MPRNT_OFF_T_C_HELPER2(Val,Suffix) Val/**/Suffix
-#endif
-#define MPRNT_OFF_T_C_HELPER1(Val,Suffix) MPRNT_OFF_T_C_HELPER2(Val,Suffix)
-#define MPRNT_OFF_T_C(Val) MPRNT_OFF_T_C_HELPER1(Val,MPRNT_SUFFIX_CURL_OFF_T)
-
-
-#define BUFSZ 256
-#define UINT_TESTS_ARRSZ 1 + 100
-#define SINT_TESTS_ARRSZ 1 + 100
-#define ULONG_TESTS_ARRSZ 1 + 100
-#define SLONG_TESTS_ARRSZ 1 + 100
-#define COFFT_TESTS_ARRSZ 1 + 100
-
-
-struct unsint_st {
- unsigned int num; /* unsigned int */
- const char *expected; /* expected string */
- char result[BUFSZ]; /* result string */
-};
-
-
-struct sigint_st {
- int num; /* signed int */
- const char *expected; /* expected string */
- char result[BUFSZ]; /* result string */
-};
-
-
-struct unslong_st {
- unsigned long num; /* unsigned long */
- const char *expected; /* expected string */
- char result[BUFSZ]; /* result string */
-};
-
-
-struct siglong_st {
- long num; /* signed long */
- const char *expected; /* expected string */
- char result[BUFSZ]; /* result string */
-};
-
-
-struct curloff_st {
- curl_off_t num; /* curl_off_t */
- const char *expected; /* expected string */
- char result[BUFSZ]; /* result string */
-};
-
-
-static struct unsint_st ui_test[UINT_TESTS_ARRSZ];
-static struct sigint_st si_test[SINT_TESTS_ARRSZ];
-static struct unslong_st ul_test[ULONG_TESTS_ARRSZ];
-static struct siglong_st sl_test[SLONG_TESTS_ARRSZ];
-static struct curloff_st co_test[COFFT_TESTS_ARRSZ];
-
-
-static int test_unsigned_int_formatting(void)
-{
- int i, j;
- int num_uint_tests;
- int failed = 0;
-
-#if (SIZEOF_INT == 2)
-
- i=1; ui_test[i].num = 0xFFFFU; ui_test[i].expected = "65535";
- i++; ui_test[i].num = 0xFF00U; ui_test[i].expected = "65280";
- i++; ui_test[i].num = 0x00FFU; ui_test[i].expected = "255";
-
- i++; ui_test[i].num = 0xF000U; ui_test[i].expected = "61440";
- i++; ui_test[i].num = 0x0F00U; ui_test[i].expected = "3840";
- i++; ui_test[i].num = 0x00F0U; ui_test[i].expected = "240";
- i++; ui_test[i].num = 0x000FU; ui_test[i].expected = "15";
-
- i++; ui_test[i].num = 0xC000U; ui_test[i].expected = "49152";
- i++; ui_test[i].num = 0x0C00U; ui_test[i].expected = "3072";
- i++; ui_test[i].num = 0x00C0U; ui_test[i].expected = "192";
- i++; ui_test[i].num = 0x000CU; ui_test[i].expected = "12";
-
- i++; ui_test[i].num = 0x0001U; ui_test[i].expected = "1";
- i++; ui_test[i].num = 0x0000U; ui_test[i].expected = "0";
-
- num_uint_tests = i;
-
-#elif (SIZEOF_INT == 4)
-
- i=1; ui_test[i].num = 0xFFFFFFFFU; ui_test[i].expected = "4294967295";
- i++; ui_test[i].num = 0xFFFF0000U; ui_test[i].expected = "4294901760";
- i++; ui_test[i].num = 0x0000FFFFU; ui_test[i].expected = "65535";
-
- i++; ui_test[i].num = 0xFF000000U; ui_test[i].expected = "4278190080";
- i++; ui_test[i].num = 0x00FF0000U; ui_test[i].expected = "16711680";
- i++; ui_test[i].num = 0x0000FF00U; ui_test[i].expected = "65280";
- i++; ui_test[i].num = 0x000000FFU; ui_test[i].expected = "255";
-
- i++; ui_test[i].num = 0xF0000000U; ui_test[i].expected = "4026531840";
- i++; ui_test[i].num = 0x0F000000U; ui_test[i].expected = "251658240";
- i++; ui_test[i].num = 0x00F00000U; ui_test[i].expected = "15728640";
- i++; ui_test[i].num = 0x000F0000U; ui_test[i].expected = "983040";
- i++; ui_test[i].num = 0x0000F000U; ui_test[i].expected = "61440";
- i++; ui_test[i].num = 0x00000F00U; ui_test[i].expected = "3840";
- i++; ui_test[i].num = 0x000000F0U; ui_test[i].expected = "240";
- i++; ui_test[i].num = 0x0000000FU; ui_test[i].expected = "15";
-
- i++; ui_test[i].num = 0xC0000000U; ui_test[i].expected = "3221225472";
- i++; ui_test[i].num = 0x0C000000U; ui_test[i].expected = "201326592";
- i++; ui_test[i].num = 0x00C00000U; ui_test[i].expected = "12582912";
- i++; ui_test[i].num = 0x000C0000U; ui_test[i].expected = "786432";
- i++; ui_test[i].num = 0x0000C000U; ui_test[i].expected = "49152";
- i++; ui_test[i].num = 0x00000C00U; ui_test[i].expected = "3072";
- i++; ui_test[i].num = 0x000000C0U; ui_test[i].expected = "192";
- i++; ui_test[i].num = 0x0000000CU; ui_test[i].expected = "12";
-
- i++; ui_test[i].num = 0x00000001U; ui_test[i].expected = "1";
- i++; ui_test[i].num = 0x00000000U; ui_test[i].expected = "0";
-
- num_uint_tests = i;
-
-#elif (SIZEOF_INT == 8)
-
- i=1; ui_test[i].num = 0xFFFFFFFFFFFFFFFFU; ui_test[i].expected = "18446744073709551615";
- i++; ui_test[i].num = 0xFFFFFFFF00000000U; ui_test[i].expected = "18446744069414584320";
- i++; ui_test[i].num = 0x00000000FFFFFFFFU; ui_test[i].expected = "4294967295";
-
- i++; ui_test[i].num = 0xFFFF000000000000U; ui_test[i].expected = "18446462598732840960";
- i++; ui_test[i].num = 0x0000FFFF00000000U; ui_test[i].expected = "281470681743360";
- i++; ui_test[i].num = 0x00000000FFFF0000U; ui_test[i].expected = "4294901760";
- i++; ui_test[i].num = 0x000000000000FFFFU; ui_test[i].expected = "65535";
-
- i++; ui_test[i].num = 0xFF00000000000000U; ui_test[i].expected = "18374686479671623680";
- i++; ui_test[i].num = 0x00FF000000000000U; ui_test[i].expected = "71776119061217280";
- i++; ui_test[i].num = 0x0000FF0000000000U; ui_test[i].expected = "280375465082880";
- i++; ui_test[i].num = 0x000000FF00000000U; ui_test[i].expected = "1095216660480";
- i++; ui_test[i].num = 0x00000000FF000000U; ui_test[i].expected = "4278190080";
- i++; ui_test[i].num = 0x0000000000FF0000U; ui_test[i].expected = "16711680";
- i++; ui_test[i].num = 0x000000000000FF00U; ui_test[i].expected = "65280";
- i++; ui_test[i].num = 0x00000000000000FFU; ui_test[i].expected = "255";
-
- i++; ui_test[i].num = 0xF000000000000000U; ui_test[i].expected = "17293822569102704640";
- i++; ui_test[i].num = 0x0F00000000000000U; ui_test[i].expected = "1080863910568919040";
- i++; ui_test[i].num = 0x00F0000000000000U; ui_test[i].expected = "67553994410557440";
- i++; ui_test[i].num = 0x000F000000000000U; ui_test[i].expected = "4222124650659840";
- i++; ui_test[i].num = 0x0000F00000000000U; ui_test[i].expected = "263882790666240";
- i++; ui_test[i].num = 0x00000F0000000000U; ui_test[i].expected = "16492674416640";
- i++; ui_test[i].num = 0x000000F000000000U; ui_test[i].expected = "1030792151040";
- i++; ui_test[i].num = 0x0000000F00000000U; ui_test[i].expected = "64424509440";
- i++; ui_test[i].num = 0x00000000F0000000U; ui_test[i].expected = "4026531840";
- i++; ui_test[i].num = 0x000000000F000000U; ui_test[i].expected = "251658240";
- i++; ui_test[i].num = 0x0000000000F00000U; ui_test[i].expected = "15728640";
- i++; ui_test[i].num = 0x00000000000F0000U; ui_test[i].expected = "983040";
- i++; ui_test[i].num = 0x000000000000F000U; ui_test[i].expected = "61440";
- i++; ui_test[i].num = 0x0000000000000F00U; ui_test[i].expected = "3840";
- i++; ui_test[i].num = 0x00000000000000F0U; ui_test[i].expected = "240";
- i++; ui_test[i].num = 0x000000000000000FU; ui_test[i].expected = "15";
-
- i++; ui_test[i].num = 0xC000000000000000U; ui_test[i].expected = "13835058055282163712";
- i++; ui_test[i].num = 0x0C00000000000000U; ui_test[i].expected = "864691128455135232";
- i++; ui_test[i].num = 0x00C0000000000000U; ui_test[i].expected = "54043195528445952";
- i++; ui_test[i].num = 0x000C000000000000U; ui_test[i].expected = "3377699720527872";
- i++; ui_test[i].num = 0x0000C00000000000U; ui_test[i].expected = "211106232532992";
- i++; ui_test[i].num = 0x00000C0000000000U; ui_test[i].expected = "13194139533312";
- i++; ui_test[i].num = 0x000000C000000000U; ui_test[i].expected = "824633720832";
- i++; ui_test[i].num = 0x0000000C00000000U; ui_test[i].expected = "51539607552";
- i++; ui_test[i].num = 0x00000000C0000000U; ui_test[i].expected = "3221225472";
- i++; ui_test[i].num = 0x000000000C000000U; ui_test[i].expected = "201326592";
- i++; ui_test[i].num = 0x0000000000C00000U; ui_test[i].expected = "12582912";
- i++; ui_test[i].num = 0x00000000000C0000U; ui_test[i].expected = "786432";
- i++; ui_test[i].num = 0x000000000000C000U; ui_test[i].expected = "49152";
- i++; ui_test[i].num = 0x0000000000000C00U; ui_test[i].expected = "3072";
- i++; ui_test[i].num = 0x00000000000000C0U; ui_test[i].expected = "192";
- i++; ui_test[i].num = 0x000000000000000CU; ui_test[i].expected = "12";
-
- i++; ui_test[i].num = 0x00000001U; ui_test[i].expected = "1";
- i++; ui_test[i].num = 0x00000000U; ui_test[i].expected = "0";
-
- num_uint_tests = i;
-
-#endif
-
- for(i=1; i<=num_uint_tests; i++) {
-
- for(j=0; j<BUFSZ; j++)
- ui_test[i].result[j] = 'X';
- ui_test[i].result[BUFSZ-1] = '\0';
-
- (void)curl_msprintf(ui_test[i].result, "%u", ui_test[i].num);
-
- if(memcmp(ui_test[i].result,
- ui_test[i].expected,
- strlen(ui_test[i].expected))) {
- printf("unsigned int test #%.2d: Failed (Expected: %s Got: %s)\n",
- i, ui_test[i].expected, ui_test[i].result);
- failed++;
- }
-
- }
-
- if(!failed)
- printf("All curl_mprintf() unsigned int tests OK!\n");
- else
- printf("Some curl_mprintf() unsigned int tests Failed!\n");
-
- return failed;
-}
-
-
-static int test_signed_int_formatting(void)
-{
- int i, j;
- int num_sint_tests;
- int failed = 0;
-
-#if (SIZEOF_INT == 2)
-
- i=1; si_test[i].num = 0x7FFF; si_test[i].expected = "32767";
- i++; si_test[i].num = 0x7FFE; si_test[i].expected = "32766";
- i++; si_test[i].num = 0x7FFD; si_test[i].expected = "32765";
- i++; si_test[i].num = 0x7F00; si_test[i].expected = "32512";
- i++; si_test[i].num = 0x07F0; si_test[i].expected = "2032";
- i++; si_test[i].num = 0x007F; si_test[i].expected = "127";
-
- i++; si_test[i].num = 0x7000; si_test[i].expected = "28672";
- i++; si_test[i].num = 0x0700; si_test[i].expected = "1792";
- i++; si_test[i].num = 0x0070; si_test[i].expected = "112";
- i++; si_test[i].num = 0x0007; si_test[i].expected = "7";
-
- i++; si_test[i].num = 0x5000; si_test[i].expected = "20480";
- i++; si_test[i].num = 0x0500; si_test[i].expected = "1280";
- i++; si_test[i].num = 0x0050; si_test[i].expected = "80";
- i++; si_test[i].num = 0x0005; si_test[i].expected = "5";
-
- i++; si_test[i].num = 0x0001; si_test[i].expected = "1";
- i++; si_test[i].num = 0x0000; si_test[i].expected = "0";
-
- i++; si_test[i].num = -0x7FFF -1; si_test[i].expected = "-32768";
- i++; si_test[i].num = -0x7FFE -1; si_test[i].expected = "-32767";
- i++; si_test[i].num = -0x7FFD -1; si_test[i].expected = "-32766";
- i++; si_test[i].num = -0x7F00 -1; si_test[i].expected = "-32513";
- i++; si_test[i].num = -0x07F0 -1; si_test[i].expected = "-2033";
- i++; si_test[i].num = -0x007F -1; si_test[i].expected = "-128";
-
- i++; si_test[i].num = -0x7000 -1; si_test[i].expected = "-28673";
- i++; si_test[i].num = -0x0700 -1; si_test[i].expected = "-1793";
- i++; si_test[i].num = -0x0070 -1; si_test[i].expected = "-113";
- i++; si_test[i].num = -0x0007 -1; si_test[i].expected = "-8";
-
- i++; si_test[i].num = -0x5000 -1; si_test[i].expected = "-20481";
- i++; si_test[i].num = -0x0500 -1; si_test[i].expected = "-1281";
- i++; si_test[i].num = -0x0050 -1; si_test[i].expected = "-81";
- i++; si_test[i].num = -0x0005 -1; si_test[i].expected = "-6";
-
- i++; si_test[i].num = 0x0000 -1; si_test[i].expected = "-1";
-
- num_sint_tests = i;
-
-#elif (SIZEOF_INT == 4)
-
- i=1; si_test[i].num = 0x7FFFFFFF; si_test[i].expected = "2147483647";
- i++; si_test[i].num = 0x7FFFFFFE; si_test[i].expected = "2147483646";
- i++; si_test[i].num = 0x7FFFFFFD; si_test[i].expected = "2147483645";
- i++; si_test[i].num = 0x7FFF0000; si_test[i].expected = "2147418112";
- i++; si_test[i].num = 0x00007FFF; si_test[i].expected = "32767";
-
- i++; si_test[i].num = 0x7F000000; si_test[i].expected = "2130706432";
- i++; si_test[i].num = 0x007F0000; si_test[i].expected = "8323072";
- i++; si_test[i].num = 0x00007F00; si_test[i].expected = "32512";
- i++; si_test[i].num = 0x0000007F; si_test[i].expected = "127";
-
- i++; si_test[i].num = 0x70000000; si_test[i].expected = "1879048192";
- i++; si_test[i].num = 0x07000000; si_test[i].expected = "117440512";
- i++; si_test[i].num = 0x00700000; si_test[i].expected = "7340032";
- i++; si_test[i].num = 0x00070000; si_test[i].expected = "458752";
- i++; si_test[i].num = 0x00007000; si_test[i].expected = "28672";
- i++; si_test[i].num = 0x00000700; si_test[i].expected = "1792";
- i++; si_test[i].num = 0x00000070; si_test[i].expected = "112";
- i++; si_test[i].num = 0x00000007; si_test[i].expected = "7";
-
- i++; si_test[i].num = 0x50000000; si_test[i].expected = "1342177280";
- i++; si_test[i].num = 0x05000000; si_test[i].expected = "83886080";
- i++; si_test[i].num = 0x00500000; si_test[i].expected = "5242880";
- i++; si_test[i].num = 0x00050000; si_test[i].expected = "327680";
- i++; si_test[i].num = 0x00005000; si_test[i].expected = "20480";
- i++; si_test[i].num = 0x00000500; si_test[i].expected = "1280";
- i++; si_test[i].num = 0x00000050; si_test[i].expected = "80";
- i++; si_test[i].num = 0x00000005; si_test[i].expected = "5";
-
- i++; si_test[i].num = 0x00000001; si_test[i].expected = "1";
- i++; si_test[i].num = 0x00000000; si_test[i].expected = "0";
-
- i++; si_test[i].num = -0x7FFFFFFF -1; si_test[i].expected = "-2147483648";
- i++; si_test[i].num = -0x7FFFFFFE -1; si_test[i].expected = "-2147483647";
- i++; si_test[i].num = -0x7FFFFFFD -1; si_test[i].expected = "-2147483646";
- i++; si_test[i].num = -0x7FFF0000 -1; si_test[i].expected = "-2147418113";
- i++; si_test[i].num = -0x00007FFF -1; si_test[i].expected = "-32768";
-
- i++; si_test[i].num = -0x7F000000 -1; si_test[i].expected = "-2130706433";
- i++; si_test[i].num = -0x007F0000 -1; si_test[i].expected = "-8323073";
- i++; si_test[i].num = -0x00007F00 -1; si_test[i].expected = "-32513";
- i++; si_test[i].num = -0x0000007F -1; si_test[i].expected = "-128";
-
- i++; si_test[i].num = -0x70000000 -1; si_test[i].expected = "-1879048193";
- i++; si_test[i].num = -0x07000000 -1; si_test[i].expected = "-117440513";
- i++; si_test[i].num = -0x00700000 -1; si_test[i].expected = "-7340033";
- i++; si_test[i].num = -0x00070000 -1; si_test[i].expected = "-458753";
- i++; si_test[i].num = -0x00007000 -1; si_test[i].expected = "-28673";
- i++; si_test[i].num = -0x00000700 -1; si_test[i].expected = "-1793";
- i++; si_test[i].num = -0x00000070 -1; si_test[i].expected = "-113";
- i++; si_test[i].num = -0x00000007 -1; si_test[i].expected = "-8";
-
- i++; si_test[i].num = -0x50000000 -1; si_test[i].expected = "-1342177281";
- i++; si_test[i].num = -0x05000000 -1; si_test[i].expected = "-83886081";
- i++; si_test[i].num = -0x00500000 -1; si_test[i].expected = "-5242881";
- i++; si_test[i].num = -0x00050000 -1; si_test[i].expected = "-327681";
- i++; si_test[i].num = -0x00005000 -1; si_test[i].expected = "-20481";
- i++; si_test[i].num = -0x00000500 -1; si_test[i].expected = "-1281";
- i++; si_test[i].num = -0x00000050 -1; si_test[i].expected = "-81";
- i++; si_test[i].num = -0x00000005 -1; si_test[i].expected = "-6";
-
- i++; si_test[i].num = 0x00000000 -1; si_test[i].expected = "-1";
-
- num_sint_tests = i;
-
-#elif (SIZEOF_INT == 8)
-
- i=1; si_test[i].num = 0x7FFFFFFFFFFFFFFF; si_test[i].expected = "9223372036854775807";
- i++; si_test[i].num = 0x7FFFFFFFFFFFFFFE; si_test[i].expected = "9223372036854775806";
- i++; si_test[i].num = 0x7FFFFFFFFFFFFFFD; si_test[i].expected = "9223372036854775805";
- i++; si_test[i].num = 0x7FFFFFFF00000000; si_test[i].expected = "9223372032559808512";
- i++; si_test[i].num = 0x000000007FFFFFFF; si_test[i].expected = "2147483647";
-
- i++; si_test[i].num = 0x7FFF000000000000; si_test[i].expected = "9223090561878065152";
- i++; si_test[i].num = 0x00007FFF00000000; si_test[i].expected = "140733193388032";
- i++; si_test[i].num = 0x000000007FFF0000; si_test[i].expected = "2147418112";
- i++; si_test[i].num = 0x0000000000007FFF; si_test[i].expected = "32767";
-
- i++; si_test[i].num = 0x7F00000000000000; si_test[i].expected = "9151314442816847872";
- i++; si_test[i].num = 0x007F000000000000; si_test[i].expected = "35747322042253312";
- i++; si_test[i].num = 0x00007F0000000000; si_test[i].expected = "139637976727552";
- i++; si_test[i].num = 0x0000007F00000000; si_test[i].expected = "545460846592";
- i++; si_test[i].num = 0x000000007F000000; si_test[i].expected = "2130706432";
- i++; si_test[i].num = 0x00000000007F0000; si_test[i].expected = "8323072";
- i++; si_test[i].num = 0x0000000000007F00; si_test[i].expected = "32512";
- i++; si_test[i].num = 0x000000000000007F; si_test[i].expected = "127";
-
- i++; si_test[i].num = 0x7000000000000000; si_test[i].expected = "8070450532247928832";
- i++; si_test[i].num = 0x0700000000000000; si_test[i].expected = "504403158265495552";
- i++; si_test[i].num = 0x0070000000000000; si_test[i].expected = "31525197391593472";
- i++; si_test[i].num = 0x0007000000000000; si_test[i].expected = "1970324836974592";
- i++; si_test[i].num = 0x0000700000000000; si_test[i].expected = "123145302310912";
- i++; si_test[i].num = 0x0000070000000000; si_test[i].expected = "7696581394432";
- i++; si_test[i].num = 0x0000007000000000; si_test[i].expected = "481036337152";
- i++; si_test[i].num = 0x0000000700000000; si_test[i].expected = "30064771072";
- i++; si_test[i].num = 0x0000000070000000; si_test[i].expected = "1879048192";
- i++; si_test[i].num = 0x0000000007000000; si_test[i].expected = "117440512";
- i++; si_test[i].num = 0x0000000000700000; si_test[i].expected = "7340032";
- i++; si_test[i].num = 0x0000000000070000; si_test[i].expected = "458752";
- i++; si_test[i].num = 0x0000000000007000; si_test[i].expected = "28672";
- i++; si_test[i].num = 0x0000000000000700; si_test[i].expected = "1792";
- i++; si_test[i].num = 0x0000000000000070; si_test[i].expected = "112";
- i++; si_test[i].num = 0x0000000000000007; si_test[i].expected = "7";
-
- i++; si_test[i].num = 0x0000000000000001; si_test[i].expected = "1";
- i++; si_test[i].num = 0x0000000000000000; si_test[i].expected = "0";
-
- i++; si_test[i].num = -0x7FFFFFFFFFFFFFFF -1; si_test[i].expected = "-9223372036854775808";
- i++; si_test[i].num = -0x7FFFFFFFFFFFFFFE -1; si_test[i].expected = "-9223372036854775807";
- i++; si_test[i].num = -0x7FFFFFFFFFFFFFFD -1; si_test[i].expected = "-9223372036854775806";
- i++; si_test[i].num = -0x7FFFFFFF00000000 -1; si_test[i].expected = "-9223372032559808513";
- i++; si_test[i].num = -0x000000007FFFFFFF -1; si_test[i].expected = "-2147483648";
-
- i++; si_test[i].num = -0x7FFF000000000000 -1; si_test[i].expected = "-9223090561878065153";
- i++; si_test[i].num = -0x00007FFF00000000 -1; si_test[i].expected = "-140733193388033";
- i++; si_test[i].num = -0x000000007FFF0000 -1; si_test[i].expected = "-2147418113";
- i++; si_test[i].num = -0x0000000000007FFF -1; si_test[i].expected = "-32768";
-
- i++; si_test[i].num = -0x7F00000000000000 -1; si_test[i].expected = "-9151314442816847873";
- i++; si_test[i].num = -0x007F000000000000 -1; si_test[i].expected = "-35747322042253313";
- i++; si_test[i].num = -0x00007F0000000000 -1; si_test[i].expected = "-139637976727553";
- i++; si_test[i].num = -0x0000007F00000000 -1; si_test[i].expected = "-545460846593";
- i++; si_test[i].num = -0x000000007F000000 -1; si_test[i].expected = "-2130706433";
- i++; si_test[i].num = -0x00000000007F0000 -1; si_test[i].expected = "-8323073";
- i++; si_test[i].num = -0x0000000000007F00 -1; si_test[i].expected = "-32513";
- i++; si_test[i].num = -0x000000000000007F -1; si_test[i].expected = "-128";
-
- i++; si_test[i].num = -0x7000000000000000 -1; si_test[i].expected = "-8070450532247928833";
- i++; si_test[i].num = -0x0700000000000000 -1; si_test[i].expected = "-504403158265495553";
- i++; si_test[i].num = -0x0070000000000000 -1; si_test[i].expected = "-31525197391593473";
- i++; si_test[i].num = -0x0007000000000000 -1; si_test[i].expected = "-1970324836974593";
- i++; si_test[i].num = -0x0000700000000000 -1; si_test[i].expected = "-123145302310913";
- i++; si_test[i].num = -0x0000070000000000 -1; si_test[i].expected = "-7696581394433";
- i++; si_test[i].num = -0x0000007000000000 -1; si_test[i].expected = "-481036337153";
- i++; si_test[i].num = -0x0000000700000000 -1; si_test[i].expected = "-30064771073";
- i++; si_test[i].num = -0x0000000070000000 -1; si_test[i].expected = "-1879048193";
- i++; si_test[i].num = -0x0000000007000000 -1; si_test[i].expected = "-117440513";
- i++; si_test[i].num = -0x0000000000700000 -1; si_test[i].expected = "-7340033";
- i++; si_test[i].num = -0x0000000000070000 -1; si_test[i].expected = "-458753";
- i++; si_test[i].num = -0x0000000000007000 -1; si_test[i].expected = "-28673";
- i++; si_test[i].num = -0x0000000000000700 -1; si_test[i].expected = "-1793";
- i++; si_test[i].num = -0x0000000000000070 -1; si_test[i].expected = "-113";
- i++; si_test[i].num = -0x0000000000000007 -1; si_test[i].expected = "-8";
-
- i++; si_test[i].num = 0x0000000000000000 -1; si_test[i].expected = "-1";
-
- num_sint_tests = i;
-
-#endif
-
- for(i=1; i<=num_sint_tests; i++) {
-
- for(j=0; j<BUFSZ; j++)
- si_test[i].result[j] = 'X';
- si_test[i].result[BUFSZ-1] = '\0';
-
- (void)curl_msprintf(si_test[i].result, "%d", si_test[i].num);
-
- if(memcmp(si_test[i].result,
- si_test[i].expected,
- strlen(si_test[i].expected))) {
- printf("signed int test #%.2d: Failed (Expected: %s Got: %s)\n",
- i, si_test[i].expected, si_test[i].result);
- failed++;
- }
-
- }
-
- if(!failed)
- printf("All curl_mprintf() signed int tests OK!\n");
- else
- printf("Some curl_mprintf() signed int tests Failed!\n");
-
- return failed;
-}
-
-
-static int test_unsigned_long_formatting(void)
-{
- int i, j;
- int num_ulong_tests;
- int failed = 0;
-
-#if (CURL_SIZEOF_LONG == 2)
-
- i=1; ul_test[i].num = 0xFFFFUL; ul_test[i].expected = "65535";
- i++; ul_test[i].num = 0xFF00UL; ul_test[i].expected = "65280";
- i++; ul_test[i].num = 0x00FFUL; ul_test[i].expected = "255";
-
- i++; ul_test[i].num = 0xF000UL; ul_test[i].expected = "61440";
- i++; ul_test[i].num = 0x0F00UL; ul_test[i].expected = "3840";
- i++; ul_test[i].num = 0x00F0UL; ul_test[i].expected = "240";
- i++; ul_test[i].num = 0x000FUL; ul_test[i].expected = "15";
-
- i++; ul_test[i].num = 0xC000UL; ul_test[i].expected = "49152";
- i++; ul_test[i].num = 0x0C00UL; ul_test[i].expected = "3072";
- i++; ul_test[i].num = 0x00C0UL; ul_test[i].expected = "192";
- i++; ul_test[i].num = 0x000CUL; ul_test[i].expected = "12";
-
- i++; ul_test[i].num = 0x0001UL; ul_test[i].expected = "1";
- i++; ul_test[i].num = 0x0000UL; ul_test[i].expected = "0";
-
- num_ulong_tests = i;
-
-#elif (CURL_SIZEOF_LONG == 4)
-
- i=1; ul_test[i].num = 0xFFFFFFFFUL; ul_test[i].expected = "4294967295";
- i++; ul_test[i].num = 0xFFFF0000UL; ul_test[i].expected = "4294901760";
- i++; ul_test[i].num = 0x0000FFFFUL; ul_test[i].expected = "65535";
-
- i++; ul_test[i].num = 0xFF000000UL; ul_test[i].expected = "4278190080";
- i++; ul_test[i].num = 0x00FF0000UL; ul_test[i].expected = "16711680";
- i++; ul_test[i].num = 0x0000FF00UL; ul_test[i].expected = "65280";
- i++; ul_test[i].num = 0x000000FFUL; ul_test[i].expected = "255";
-
- i++; ul_test[i].num = 0xF0000000UL; ul_test[i].expected = "4026531840";
- i++; ul_test[i].num = 0x0F000000UL; ul_test[i].expected = "251658240";
- i++; ul_test[i].num = 0x00F00000UL; ul_test[i].expected = "15728640";
- i++; ul_test[i].num = 0x000F0000UL; ul_test[i].expected = "983040";
- i++; ul_test[i].num = 0x0000F000UL; ul_test[i].expected = "61440";
- i++; ul_test[i].num = 0x00000F00UL; ul_test[i].expected = "3840";
- i++; ul_test[i].num = 0x000000F0UL; ul_test[i].expected = "240";
- i++; ul_test[i].num = 0x0000000FUL; ul_test[i].expected = "15";
-
- i++; ul_test[i].num = 0xC0000000UL; ul_test[i].expected = "3221225472";
- i++; ul_test[i].num = 0x0C000000UL; ul_test[i].expected = "201326592";
- i++; ul_test[i].num = 0x00C00000UL; ul_test[i].expected = "12582912";
- i++; ul_test[i].num = 0x000C0000UL; ul_test[i].expected = "786432";
- i++; ul_test[i].num = 0x0000C000UL; ul_test[i].expected = "49152";
- i++; ul_test[i].num = 0x00000C00UL; ul_test[i].expected = "3072";
- i++; ul_test[i].num = 0x000000C0UL; ul_test[i].expected = "192";
- i++; ul_test[i].num = 0x0000000CUL; ul_test[i].expected = "12";
-
- i++; ul_test[i].num = 0x00000001UL; ul_test[i].expected = "1";
- i++; ul_test[i].num = 0x00000000UL; ul_test[i].expected = "0";
-
- num_ulong_tests = i;
-
-#elif (CURL_SIZEOF_LONG == 8)
-
- i=1; ul_test[i].num = 0xFFFFFFFFFFFFFFFFUL; ul_test[i].expected = "18446744073709551615";
- i++; ul_test[i].num = 0xFFFFFFFF00000000UL; ul_test[i].expected = "18446744069414584320";
- i++; ul_test[i].num = 0x00000000FFFFFFFFUL; ul_test[i].expected = "4294967295";
-
- i++; ul_test[i].num = 0xFFFF000000000000UL; ul_test[i].expected = "18446462598732840960";
- i++; ul_test[i].num = 0x0000FFFF00000000UL; ul_test[i].expected = "281470681743360";
- i++; ul_test[i].num = 0x00000000FFFF0000UL; ul_test[i].expected = "4294901760";
- i++; ul_test[i].num = 0x000000000000FFFFUL; ul_test[i].expected = "65535";
-
- i++; ul_test[i].num = 0xFF00000000000000UL; ul_test[i].expected = "18374686479671623680";
- i++; ul_test[i].num = 0x00FF000000000000UL; ul_test[i].expected = "71776119061217280";
- i++; ul_test[i].num = 0x0000FF0000000000UL; ul_test[i].expected = "280375465082880";
- i++; ul_test[i].num = 0x000000FF00000000UL; ul_test[i].expected = "1095216660480";
- i++; ul_test[i].num = 0x00000000FF000000UL; ul_test[i].expected = "4278190080";
- i++; ul_test[i].num = 0x0000000000FF0000UL; ul_test[i].expected = "16711680";
- i++; ul_test[i].num = 0x000000000000FF00UL; ul_test[i].expected = "65280";
- i++; ul_test[i].num = 0x00000000000000FFUL; ul_test[i].expected = "255";
-
- i++; ul_test[i].num = 0xF000000000000000UL; ul_test[i].expected = "17293822569102704640";
- i++; ul_test[i].num = 0x0F00000000000000UL; ul_test[i].expected = "1080863910568919040";
- i++; ul_test[i].num = 0x00F0000000000000UL; ul_test[i].expected = "67553994410557440";
- i++; ul_test[i].num = 0x000F000000000000UL; ul_test[i].expected = "4222124650659840";
- i++; ul_test[i].num = 0x0000F00000000000UL; ul_test[i].expected = "263882790666240";
- i++; ul_test[i].num = 0x00000F0000000000UL; ul_test[i].expected = "16492674416640";
- i++; ul_test[i].num = 0x000000F000000000UL; ul_test[i].expected = "1030792151040";
- i++; ul_test[i].num = 0x0000000F00000000UL; ul_test[i].expected = "64424509440";
- i++; ul_test[i].num = 0x00000000F0000000UL; ul_test[i].expected = "4026531840";
- i++; ul_test[i].num = 0x000000000F000000UL; ul_test[i].expected = "251658240";
- i++; ul_test[i].num = 0x0000000000F00000UL; ul_test[i].expected = "15728640";
- i++; ul_test[i].num = 0x00000000000F0000UL; ul_test[i].expected = "983040";
- i++; ul_test[i].num = 0x000000000000F000UL; ul_test[i].expected = "61440";
- i++; ul_test[i].num = 0x0000000000000F00UL; ul_test[i].expected = "3840";
- i++; ul_test[i].num = 0x00000000000000F0UL; ul_test[i].expected = "240";
- i++; ul_test[i].num = 0x000000000000000FUL; ul_test[i].expected = "15";
-
- i++; ul_test[i].num = 0xC000000000000000UL; ul_test[i].expected = "13835058055282163712";
- i++; ul_test[i].num = 0x0C00000000000000UL; ul_test[i].expected = "864691128455135232";
- i++; ul_test[i].num = 0x00C0000000000000UL; ul_test[i].expected = "54043195528445952";
- i++; ul_test[i].num = 0x000C000000000000UL; ul_test[i].expected = "3377699720527872";
- i++; ul_test[i].num = 0x0000C00000000000UL; ul_test[i].expected = "211106232532992";
- i++; ul_test[i].num = 0x00000C0000000000UL; ul_test[i].expected = "13194139533312";
- i++; ul_test[i].num = 0x000000C000000000UL; ul_test[i].expected = "824633720832";
- i++; ul_test[i].num = 0x0000000C00000000UL; ul_test[i].expected = "51539607552";
- i++; ul_test[i].num = 0x00000000C0000000UL; ul_test[i].expected = "3221225472";
- i++; ul_test[i].num = 0x000000000C000000UL; ul_test[i].expected = "201326592";
- i++; ul_test[i].num = 0x0000000000C00000UL; ul_test[i].expected = "12582912";
- i++; ul_test[i].num = 0x00000000000C0000UL; ul_test[i].expected = "786432";
- i++; ul_test[i].num = 0x000000000000C000UL; ul_test[i].expected = "49152";
- i++; ul_test[i].num = 0x0000000000000C00UL; ul_test[i].expected = "3072";
- i++; ul_test[i].num = 0x00000000000000C0UL; ul_test[i].expected = "192";
- i++; ul_test[i].num = 0x000000000000000CUL; ul_test[i].expected = "12";
-
- i++; ul_test[i].num = 0x00000001UL; ul_test[i].expected = "1";
- i++; ul_test[i].num = 0x00000000UL; ul_test[i].expected = "0";
-
- num_ulong_tests = i;
-
-#endif
-
- for(i=1; i<=num_ulong_tests; i++) {
-
- for(j=0; j<BUFSZ; j++)
- ul_test[i].result[j] = 'X';
- ul_test[i].result[BUFSZ-1] = '\0';
-
- (void)curl_msprintf(ul_test[i].result, "%lu", ul_test[i].num);
-
- if(memcmp(ul_test[i].result,
- ul_test[i].expected,
- strlen(ul_test[i].expected))) {
- printf("unsigned long test #%.2d: Failed (Expected: %s Got: %s)\n",
- i, ul_test[i].expected, ul_test[i].result);
- failed++;
- }
-
- }
-
- if(!failed)
- printf("All curl_mprintf() unsigned long tests OK!\n");
- else
- printf("Some curl_mprintf() unsigned long tests Failed!\n");
-
- return failed;
-}
-
-
-static int test_signed_long_formatting(void)
-{
- int i, j;
- int num_slong_tests;
- int failed = 0;
-
-#if (CURL_SIZEOF_LONG == 2)
-
- i=1; sl_test[i].num = 0x7FFFL; sl_test[i].expected = "32767";
- i++; sl_test[i].num = 0x7FFEL; sl_test[i].expected = "32766";
- i++; sl_test[i].num = 0x7FFDL; sl_test[i].expected = "32765";
- i++; sl_test[i].num = 0x7F00L; sl_test[i].expected = "32512";
- i++; sl_test[i].num = 0x07F0L; sl_test[i].expected = "2032";
- i++; sl_test[i].num = 0x007FL; sl_test[i].expected = "127";
-
- i++; sl_test[i].num = 0x7000L; sl_test[i].expected = "28672";
- i++; sl_test[i].num = 0x0700L; sl_test[i].expected = "1792";
- i++; sl_test[i].num = 0x0070L; sl_test[i].expected = "112";
- i++; sl_test[i].num = 0x0007L; sl_test[i].expected = "7";
-
- i++; sl_test[i].num = 0x5000L; sl_test[i].expected = "20480";
- i++; sl_test[i].num = 0x0500L; sl_test[i].expected = "1280";
- i++; sl_test[i].num = 0x0050L; sl_test[i].expected = "80";
- i++; sl_test[i].num = 0x0005L; sl_test[i].expected = "5";
-
- i++; sl_test[i].num = 0x0001L; sl_test[i].expected = "1";
- i++; sl_test[i].num = 0x0000L; sl_test[i].expected = "0";
-
- i++; sl_test[i].num = -0x7FFFL -1L; sl_test[i].expected = "-32768";
- i++; sl_test[i].num = -0x7FFEL -1L; sl_test[i].expected = "-32767";
- i++; sl_test[i].num = -0x7FFDL -1L; sl_test[i].expected = "-32766";
- i++; sl_test[i].num = -0x7F00L -1L; sl_test[i].expected = "-32513";
- i++; sl_test[i].num = -0x07F0L -1L; sl_test[i].expected = "-2033";
- i++; sl_test[i].num = -0x007FL -1L; sl_test[i].expected = "-128";
-
- i++; sl_test[i].num = -0x7000L -1L; sl_test[i].expected = "-28673";
- i++; sl_test[i].num = -0x0700L -1L; sl_test[i].expected = "-1793";
- i++; sl_test[i].num = -0x0070L -1L; sl_test[i].expected = "-113";
- i++; sl_test[i].num = -0x0007L -1L; sl_test[i].expected = "-8";
-
- i++; sl_test[i].num = -0x5000L -1L; sl_test[i].expected = "-20481";
- i++; sl_test[i].num = -0x0500L -1L; sl_test[i].expected = "-1281";
- i++; sl_test[i].num = -0x0050L -1L; sl_test[i].expected = "-81";
- i++; sl_test[i].num = -0x0005L -1L; sl_test[i].expected = "-6";
-
- i++; sl_test[i].num = 0x0000L -1L; sl_test[i].expected = "-1";
-
- num_slong_tests = i;
-
-#elif (CURL_SIZEOF_LONG == 4)
-
- i=1; sl_test[i].num = 0x7FFFFFFFL; sl_test[i].expected = "2147483647";
- i++; sl_test[i].num = 0x7FFFFFFEL; sl_test[i].expected = "2147483646";
- i++; sl_test[i].num = 0x7FFFFFFDL; sl_test[i].expected = "2147483645";
- i++; sl_test[i].num = 0x7FFF0000L; sl_test[i].expected = "2147418112";
- i++; sl_test[i].num = 0x00007FFFL; sl_test[i].expected = "32767";
-
- i++; sl_test[i].num = 0x7F000000L; sl_test[i].expected = "2130706432";
- i++; sl_test[i].num = 0x007F0000L; sl_test[i].expected = "8323072";
- i++; sl_test[i].num = 0x00007F00L; sl_test[i].expected = "32512";
- i++; sl_test[i].num = 0x0000007FL; sl_test[i].expected = "127";
-
- i++; sl_test[i].num = 0x70000000L; sl_test[i].expected = "1879048192";
- i++; sl_test[i].num = 0x07000000L; sl_test[i].expected = "117440512";
- i++; sl_test[i].num = 0x00700000L; sl_test[i].expected = "7340032";
- i++; sl_test[i].num = 0x00070000L; sl_test[i].expected = "458752";
- i++; sl_test[i].num = 0x00007000L; sl_test[i].expected = "28672";
- i++; sl_test[i].num = 0x00000700L; sl_test[i].expected = "1792";
- i++; sl_test[i].num = 0x00000070L; sl_test[i].expected = "112";
- i++; sl_test[i].num = 0x00000007L; sl_test[i].expected = "7";
-
- i++; sl_test[i].num = 0x50000000L; sl_test[i].expected = "1342177280";
- i++; sl_test[i].num = 0x05000000L; sl_test[i].expected = "83886080";
- i++; sl_test[i].num = 0x00500000L; sl_test[i].expected = "5242880";
- i++; sl_test[i].num = 0x00050000L; sl_test[i].expected = "327680";
- i++; sl_test[i].num = 0x00005000L; sl_test[i].expected = "20480";
- i++; sl_test[i].num = 0x00000500L; sl_test[i].expected = "1280";
- i++; sl_test[i].num = 0x00000050L; sl_test[i].expected = "80";
- i++; sl_test[i].num = 0x00000005L; sl_test[i].expected = "5";
-
- i++; sl_test[i].num = 0x00000001L; sl_test[i].expected = "1";
- i++; sl_test[i].num = 0x00000000L; sl_test[i].expected = "0";
-
- i++; sl_test[i].num = -0x7FFFFFFFL -1L; sl_test[i].expected = "-2147483648";
- i++; sl_test[i].num = -0x7FFFFFFEL -1L; sl_test[i].expected = "-2147483647";
- i++; sl_test[i].num = -0x7FFFFFFDL -1L; sl_test[i].expected = "-2147483646";
- i++; sl_test[i].num = -0x7FFF0000L -1L; sl_test[i].expected = "-2147418113";
- i++; sl_test[i].num = -0x00007FFFL -1L; sl_test[i].expected = "-32768";
-
- i++; sl_test[i].num = -0x7F000000L -1L; sl_test[i].expected = "-2130706433";
- i++; sl_test[i].num = -0x007F0000L -1L; sl_test[i].expected = "-8323073";
- i++; sl_test[i].num = -0x00007F00L -1L; sl_test[i].expected = "-32513";
- i++; sl_test[i].num = -0x0000007FL -1L; sl_test[i].expected = "-128";
-
- i++; sl_test[i].num = -0x70000000L -1L; sl_test[i].expected = "-1879048193";
- i++; sl_test[i].num = -0x07000000L -1L; sl_test[i].expected = "-117440513";
- i++; sl_test[i].num = -0x00700000L -1L; sl_test[i].expected = "-7340033";
- i++; sl_test[i].num = -0x00070000L -1L; sl_test[i].expected = "-458753";
- i++; sl_test[i].num = -0x00007000L -1L; sl_test[i].expected = "-28673";
- i++; sl_test[i].num = -0x00000700L -1L; sl_test[i].expected = "-1793";
- i++; sl_test[i].num = -0x00000070L -1L; sl_test[i].expected = "-113";
- i++; sl_test[i].num = -0x00000007L -1L; sl_test[i].expected = "-8";
-
- i++; sl_test[i].num = -0x50000000L -1L; sl_test[i].expected = "-1342177281";
- i++; sl_test[i].num = -0x05000000L -1L; sl_test[i].expected = "-83886081";
- i++; sl_test[i].num = -0x00500000L -1L; sl_test[i].expected = "-5242881";
- i++; sl_test[i].num = -0x00050000L -1L; sl_test[i].expected = "-327681";
- i++; sl_test[i].num = -0x00005000L -1L; sl_test[i].expected = "-20481";
- i++; sl_test[i].num = -0x00000500L -1L; sl_test[i].expected = "-1281";
- i++; sl_test[i].num = -0x00000050L -1L; sl_test[i].expected = "-81";
- i++; sl_test[i].num = -0x00000005L -1L; sl_test[i].expected = "-6";
-
- i++; sl_test[i].num = 0x00000000L -1L; sl_test[i].expected = "-1";
-
- num_slong_tests = i;
-
-#elif (CURL_SIZEOF_LONG == 8)
-
- i=1; sl_test[i].num = 0x7FFFFFFFFFFFFFFFL; sl_test[i].expected = "9223372036854775807";
- i++; sl_test[i].num = 0x7FFFFFFFFFFFFFFEL; sl_test[i].expected = "9223372036854775806";
- i++; sl_test[i].num = 0x7FFFFFFFFFFFFFFDL; sl_test[i].expected = "9223372036854775805";
- i++; sl_test[i].num = 0x7FFFFFFF00000000L; sl_test[i].expected = "9223372032559808512";
- i++; sl_test[i].num = 0x000000007FFFFFFFL; sl_test[i].expected = "2147483647";
-
- i++; sl_test[i].num = 0x7FFF000000000000L; sl_test[i].expected = "9223090561878065152";
- i++; sl_test[i].num = 0x00007FFF00000000L; sl_test[i].expected = "140733193388032";
- i++; sl_test[i].num = 0x000000007FFF0000L; sl_test[i].expected = "2147418112";
- i++; sl_test[i].num = 0x0000000000007FFFL; sl_test[i].expected = "32767";
-
- i++; sl_test[i].num = 0x7F00000000000000L; sl_test[i].expected = "9151314442816847872";
- i++; sl_test[i].num = 0x007F000000000000L; sl_test[i].expected = "35747322042253312";
- i++; sl_test[i].num = 0x00007F0000000000L; sl_test[i].expected = "139637976727552";
- i++; sl_test[i].num = 0x0000007F00000000L; sl_test[i].expected = "545460846592";
- i++; sl_test[i].num = 0x000000007F000000L; sl_test[i].expected = "2130706432";
- i++; sl_test[i].num = 0x00000000007F0000L; sl_test[i].expected = "8323072";
- i++; sl_test[i].num = 0x0000000000007F00L; sl_test[i].expected = "32512";
- i++; sl_test[i].num = 0x000000000000007FL; sl_test[i].expected = "127";
-
- i++; sl_test[i].num = 0x7000000000000000L; sl_test[i].expected = "8070450532247928832";
- i++; sl_test[i].num = 0x0700000000000000L; sl_test[i].expected = "504403158265495552";
- i++; sl_test[i].num = 0x0070000000000000L; sl_test[i].expected = "31525197391593472";
- i++; sl_test[i].num = 0x0007000000000000L; sl_test[i].expected = "1970324836974592";
- i++; sl_test[i].num = 0x0000700000000000L; sl_test[i].expected = "123145302310912";
- i++; sl_test[i].num = 0x0000070000000000L; sl_test[i].expected = "7696581394432";
- i++; sl_test[i].num = 0x0000007000000000L; sl_test[i].expected = "481036337152";
- i++; sl_test[i].num = 0x0000000700000000L; sl_test[i].expected = "30064771072";
- i++; sl_test[i].num = 0x0000000070000000L; sl_test[i].expected = "1879048192";
- i++; sl_test[i].num = 0x0000000007000000L; sl_test[i].expected = "117440512";
- i++; sl_test[i].num = 0x0000000000700000L; sl_test[i].expected = "7340032";
- i++; sl_test[i].num = 0x0000000000070000L; sl_test[i].expected = "458752";
- i++; sl_test[i].num = 0x0000000000007000L; sl_test[i].expected = "28672";
- i++; sl_test[i].num = 0x0000000000000700L; sl_test[i].expected = "1792";
- i++; sl_test[i].num = 0x0000000000000070L; sl_test[i].expected = "112";
- i++; sl_test[i].num = 0x0000000000000007L; sl_test[i].expected = "7";
-
- i++; sl_test[i].num = 0x0000000000000001L; sl_test[i].expected = "1";
- i++; sl_test[i].num = 0x0000000000000000L; sl_test[i].expected = "0";
-
- i++; sl_test[i].num = -0x7FFFFFFFFFFFFFFFL -1L; sl_test[i].expected = "-9223372036854775808";
- i++; sl_test[i].num = -0x7FFFFFFFFFFFFFFEL -1L; sl_test[i].expected = "-9223372036854775807";
- i++; sl_test[i].num = -0x7FFFFFFFFFFFFFFDL -1L; sl_test[i].expected = "-9223372036854775806";
- i++; sl_test[i].num = -0x7FFFFFFF00000000L -1L; sl_test[i].expected = "-9223372032559808513";
- i++; sl_test[i].num = -0x000000007FFFFFFFL -1L; sl_test[i].expected = "-2147483648";
-
- i++; sl_test[i].num = -0x7FFF000000000000L -1L; sl_test[i].expected = "-9223090561878065153";
- i++; sl_test[i].num = -0x00007FFF00000000L -1L; sl_test[i].expected = "-140733193388033";
- i++; sl_test[i].num = -0x000000007FFF0000L -1L; sl_test[i].expected = "-2147418113";
- i++; sl_test[i].num = -0x0000000000007FFFL -1L; sl_test[i].expected = "-32768";
-
- i++; sl_test[i].num = -0x7F00000000000000L -1L; sl_test[i].expected = "-9151314442816847873";
- i++; sl_test[i].num = -0x007F000000000000L -1L; sl_test[i].expected = "-35747322042253313";
- i++; sl_test[i].num = -0x00007F0000000000L -1L; sl_test[i].expected = "-139637976727553";
- i++; sl_test[i].num = -0x0000007F00000000L -1L; sl_test[i].expected = "-545460846593";
- i++; sl_test[i].num = -0x000000007F000000L -1L; sl_test[i].expected = "-2130706433";
- i++; sl_test[i].num = -0x00000000007F0000L -1L; sl_test[i].expected = "-8323073";
- i++; sl_test[i].num = -0x0000000000007F00L -1L; sl_test[i].expected = "-32513";
- i++; sl_test[i].num = -0x000000000000007FL -1L; sl_test[i].expected = "-128";
-
- i++; sl_test[i].num = -0x7000000000000000L -1L; sl_test[i].expected = "-8070450532247928833";
- i++; sl_test[i].num = -0x0700000000000000L -1L; sl_test[i].expected = "-504403158265495553";
- i++; sl_test[i].num = -0x0070000000000000L -1L; sl_test[i].expected = "-31525197391593473";
- i++; sl_test[i].num = -0x0007000000000000L -1L; sl_test[i].expected = "-1970324836974593";
- i++; sl_test[i].num = -0x0000700000000000L -1L; sl_test[i].expected = "-123145302310913";
- i++; sl_test[i].num = -0x0000070000000000L -1L; sl_test[i].expected = "-7696581394433";
- i++; sl_test[i].num = -0x0000007000000000L -1L; sl_test[i].expected = "-481036337153";
- i++; sl_test[i].num = -0x0000000700000000L -1L; sl_test[i].expected = "-30064771073";
- i++; sl_test[i].num = -0x0000000070000000L -1L; sl_test[i].expected = "-1879048193";
- i++; sl_test[i].num = -0x0000000007000000L -1L; sl_test[i].expected = "-117440513";
- i++; sl_test[i].num = -0x0000000000700000L -1L; sl_test[i].expected = "-7340033";
- i++; sl_test[i].num = -0x0000000000070000L -1L; sl_test[i].expected = "-458753";
- i++; sl_test[i].num = -0x0000000000007000L -1L; sl_test[i].expected = "-28673";
- i++; sl_test[i].num = -0x0000000000000700L -1L; sl_test[i].expected = "-1793";
- i++; sl_test[i].num = -0x0000000000000070L -1L; sl_test[i].expected = "-113";
- i++; sl_test[i].num = -0x0000000000000007L -1L; sl_test[i].expected = "-8";
-
- i++; sl_test[i].num = 0x0000000000000000L -1L; sl_test[i].expected = "-1";
-
- num_slong_tests = i;
-
-#endif
-
- for(i=1; i<=num_slong_tests; i++) {
-
- for(j=0; j<BUFSZ; j++)
- sl_test[i].result[j] = 'X';
- sl_test[i].result[BUFSZ-1] = '\0';
-
- (void)curl_msprintf(sl_test[i].result, "%ld", sl_test[i].num);
-
- if(memcmp(sl_test[i].result,
- sl_test[i].expected,
- strlen(sl_test[i].expected))) {
- printf("signed long test #%.2d: Failed (Expected: %s Got: %s)\n",
- i, sl_test[i].expected, sl_test[i].result);
- failed++;
- }
-
- }
-
- if(!failed)
- printf("All curl_mprintf() signed long tests OK!\n");
- else
- printf("Some curl_mprintf() signed long tests Failed!\n");
-
- return failed;
-}
-
-
-static int test_curl_off_t_formatting(void)
-{
- int i, j;
- int num_cofft_tests;
- int failed = 0;
-
-#if (CURL_SIZEOF_CURL_OFF_T == 2)
-
- i=1; co_test[i].num = MPRNT_OFF_T_C(0x7FFF); co_test[i].expected = "32767";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFE); co_test[i].expected = "32766";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFD); co_test[i].expected = "32765";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7F00); co_test[i].expected = "32512";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x07F0); co_test[i].expected = "2032";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x007F); co_test[i].expected = "127";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7000); co_test[i].expected = "28672";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0700); co_test[i].expected = "1792";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0070); co_test[i].expected = "112";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0007); co_test[i].expected = "7";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x5000); co_test[i].expected = "20480";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0500); co_test[i].expected = "1280";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0050); co_test[i].expected = "80";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0005); co_test[i].expected = "5";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0001); co_test[i].expected = "1";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000); co_test[i].expected = "0";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFF) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32768";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFE) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32767";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFD) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32766";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7F00) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32513";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x07F0) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2033";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x007F) -MPRNT_OFF_T_C(1); co_test[i].expected = "-128";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-28673";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0700) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1793";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0070) -MPRNT_OFF_T_C(1); co_test[i].expected = "-113";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0007) -MPRNT_OFF_T_C(1); co_test[i].expected = "-8";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x5000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-20481";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0500) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1281";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0050) -MPRNT_OFF_T_C(1); co_test[i].expected = "-81";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0005) -MPRNT_OFF_T_C(1); co_test[i].expected = "-6";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1";
-
- num_cofft_tests = i;
-
-#elif (CURL_SIZEOF_CURL_OFF_T == 4)
-
- i=1; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFF); co_test[i].expected = "2147483647";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFE); co_test[i].expected = "2147483646";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFD); co_test[i].expected = "2147483645";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFF0000); co_test[i].expected = "2147418112";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00007FFF); co_test[i].expected = "32767";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7F000000); co_test[i].expected = "2130706432";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x007F0000); co_test[i].expected = "8323072";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00007F00); co_test[i].expected = "32512";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000007F); co_test[i].expected = "127";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x70000000); co_test[i].expected = "1879048192";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x07000000); co_test[i].expected = "117440512";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00700000); co_test[i].expected = "7340032";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00070000); co_test[i].expected = "458752";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00007000); co_test[i].expected = "28672";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000700); co_test[i].expected = "1792";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000070); co_test[i].expected = "112";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000007); co_test[i].expected = "7";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x50000000); co_test[i].expected = "1342177280";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x05000000); co_test[i].expected = "83886080";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00500000); co_test[i].expected = "5242880";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00050000); co_test[i].expected = "327680";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00005000); co_test[i].expected = "20480";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000500); co_test[i].expected = "1280";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000050); co_test[i].expected = "80";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000005); co_test[i].expected = "5";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000001); co_test[i].expected = "1";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000000); co_test[i].expected = "0";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFF) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2147483648";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFE) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2147483647";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFD) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2147483646";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFF0000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2147418113";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00007FFF) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32768";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7F000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2130706433";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x007F0000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-8323073";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00007F00) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32513";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000007F) -MPRNT_OFF_T_C(1); co_test[i].expected = "-128";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x70000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1879048193";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x07000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-117440513";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00700000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-7340033";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00070000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-458753";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00007000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-28673";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000700) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1793";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000070) -MPRNT_OFF_T_C(1); co_test[i].expected = "-113";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000007) -MPRNT_OFF_T_C(1); co_test[i].expected = "-8";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x50000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1342177281";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x05000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-83886081";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00500000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-5242881";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00050000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-327681";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00005000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-20481";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000500) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1281";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000050) -MPRNT_OFF_T_C(1); co_test[i].expected = "-81";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000005) -MPRNT_OFF_T_C(1); co_test[i].expected = "-6";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1";
-
- num_cofft_tests = i;
-
-#elif (CURL_SIZEOF_CURL_OFF_T == 8)
-
- i=1; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFFFFFFFFFF); co_test[i].expected = "9223372036854775807";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFFFFFFFFFE); co_test[i].expected = "9223372036854775806";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFFFFFFFFFD); co_test[i].expected = "9223372036854775805";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFFFFFF00000000); co_test[i].expected = "9223372032559808512";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x000000007FFFFFFF); co_test[i].expected = "2147483647";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7FFF000000000000); co_test[i].expected = "9223090561878065152";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00007FFF00000000); co_test[i].expected = "140733193388032";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x000000007FFF0000); co_test[i].expected = "2147418112";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000007FFF); co_test[i].expected = "32767";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7F00000000000000); co_test[i].expected = "9151314442816847872";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x007F000000000000); co_test[i].expected = "35747322042253312";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00007F0000000000); co_test[i].expected = "139637976727552";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000007F00000000); co_test[i].expected = "545460846592";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x000000007F000000); co_test[i].expected = "2130706432";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x00000000007F0000); co_test[i].expected = "8323072";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000007F00); co_test[i].expected = "32512";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x000000000000007F); co_test[i].expected = "127";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x7000000000000000); co_test[i].expected = "8070450532247928832";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0700000000000000); co_test[i].expected = "504403158265495552";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0070000000000000); co_test[i].expected = "31525197391593472";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0007000000000000); co_test[i].expected = "1970324836974592";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000700000000000); co_test[i].expected = "123145302310912";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000070000000000); co_test[i].expected = "7696581394432";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000007000000000); co_test[i].expected = "481036337152";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000700000000); co_test[i].expected = "30064771072";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000070000000); co_test[i].expected = "1879048192";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000007000000); co_test[i].expected = "117440512";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000700000); co_test[i].expected = "7340032";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000070000); co_test[i].expected = "458752";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000007000); co_test[i].expected = "28672";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000000700); co_test[i].expected = "1792";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000000070); co_test[i].expected = "112";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000000007); co_test[i].expected = "7";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000000001); co_test[i].expected = "1";
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000000000); co_test[i].expected = "0";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFFFFFFFFFF) -MPRNT_OFF_T_C(1); co_test[i].expected = "-9223372036854775808";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFFFFFFFFFE) -MPRNT_OFF_T_C(1); co_test[i].expected = "-9223372036854775807";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFFFFFFFFFD) -MPRNT_OFF_T_C(1); co_test[i].expected = "-9223372036854775806";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFFFFFF00000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-9223372032559808513";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x000000007FFFFFFF) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2147483648";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7FFF000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-9223090561878065153";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00007FFF00000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-140733193388033";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x000000007FFF0000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2147418113";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000007FFF) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32768";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7F00000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-9151314442816847873";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x007F000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-35747322042253313";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00007F0000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-139637976727553";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000007F00000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-545460846593";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x000000007F000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-2130706433";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x00000000007F0000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-8323073";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000007F00) -MPRNT_OFF_T_C(1); co_test[i].expected = "-32513";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x000000000000007F) -MPRNT_OFF_T_C(1); co_test[i].expected = "-128";
-
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x7000000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-8070450532247928833";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0700000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-504403158265495553";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0070000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-31525197391593473";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0007000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1970324836974593";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000700000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-123145302310913";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000070000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-7696581394433";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000007000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-481036337153";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000700000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-30064771073";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000070000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1879048193";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000007000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-117440513";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000700000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-7340033";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000070000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-458753";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000007000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-28673";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000000700) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1793";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000000070) -MPRNT_OFF_T_C(1); co_test[i].expected = "-113";
- i++; co_test[i].num = -MPRNT_OFF_T_C(0x0000000000000007) -MPRNT_OFF_T_C(1); co_test[i].expected = "-8";
-
- i++; co_test[i].num = MPRNT_OFF_T_C(0x0000000000000000) -MPRNT_OFF_T_C(1); co_test[i].expected = "-1";
-
- num_cofft_tests = i;
-
-#endif
-
- for(i=1; i<=num_cofft_tests; i++) {
-
- for(j=0; j<BUFSZ; j++)
- co_test[i].result[j] = 'X';
- co_test[i].result[BUFSZ-1] = '\0';
-
- (void)curl_msprintf(co_test[i].result, "%" FORMAT_OFF_T, co_test[i].num);
-
- if(memcmp(co_test[i].result,
- co_test[i].expected,
- strlen(co_test[i].expected))) {
- printf("curl_off_t test #%.2d: Failed (Expected: %s Got: %s)\n",
- i, co_test[i].expected, co_test[i].result);
- failed++;
- }
-
- }
-
- if(!failed)
- printf("All curl_mprintf() curl_off_t tests OK!\n");
- else
- printf("Some curl_mprintf() curl_off_t tests Failed!\n");
-
- return failed;
-}
-
-
-int test(char *URL)
-{
- int errors = 0;
- (void)URL; /* not used */
-
- errors += test_unsigned_int_formatting();
-
- errors += test_signed_int_formatting();
-
- errors += test_unsigned_long_formatting();
-
- errors += test_signed_long_formatting();
-
- errors += test_curl_off_t_formatting();
-
- if(errors)
- return TEST_ERR_MAJOR_BAD;
- else
- return 0;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test.h b/Utilities/cmcurl-7.19.0/tests/libtest/test.h
deleted file mode 100644
index ef85c34..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- */
-
-/* Now include the setup.h file from libcurl's private libdir (the source
- version, but that might include "config.h" from the build dir so we need
- both of them in the include path), so that we get good in-depth knowledge
- about the system we're building this on */
-
-#include "setup.h"
-
-#include <curl/curl.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-/* since so many tests use select(), we can just as well include it here */
-#include <sys/select.h>
-#endif
-#ifdef HAVE_UNISTD_H
-/* at least somewhat oldish FreeBSD systems need this for select() */
-#include <unistd.h>
-#endif
-
-#define TEST_ERR_MAJOR_BAD 100
-#define TEST_ERR_RUNS_FOREVER 99
-
-extern char *libtest_arg2; /* set by first.c to the argv[2] or NULL */
-extern char *libtest_arg3; /* set by first.c to the argv[3] or NULL */
-
-/* argc and argv as passed in to the main() function */
-extern int test_argc;
-extern char **test_argv;
-
-int select_test (int num_fds, fd_set *rd, fd_set *wr, fd_set *exc,
- struct timeval *tv);
-
-int test(char *URL); /* the actual test function provided by each individual
- libXXX.c file */
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test1013.pl b/Utilities/cmcurl-7.19.0/tests/libtest/test1013.pl
deleted file mode 100755
index 6127df8..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test1013.pl
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env perl
-# Determine if curl-config --protocols/--features matches the
-# curl --version protocols/features
-if ( $#ARGV != 2 )
-{
- print "Usage: $0 curl-config-script curl-version-output-file features|protocols\n";
- exit 3;
-}
-
-my $what=$ARGV[2];
-
-# Read the output of curl --version
-my $curl_protocols="";
-open(CURL, "$ARGV[1]") || die "Can't get curl $what list\n";
-while( <CURL> )
-{
- $curl_protocols = lc($_) if ( /$what:/i );
-}
-close CURL;
-
-$curl_protocols =~ /\w+: (.*)$/;
-@curl = split / /,$1;
-
-# These features are not supported by curl-config
-@curl = grep(!/^(Debug|Largefile|CharConv|GSS-Negotiate|SPNEGO)$/i, @curl);
-@curl = sort @curl;
-
-# Read the output of curl-config
-my @curl_config;
-open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config $what list\n";
-while( <CURLCONFIG> )
-{
- chomp;
- push @curl_config, lc($_);
-}
-close CURLCONFIG;
-
-@curl_config = sort @curl_config;
-
-my $curlproto = join ' ', @curl;
-my $curlconfigproto = join ' ', @curl_config;
-
-my $different = $curlproto ne $curlconfigproto;
-if ($different) {
- print "Mismatch in $what lists:\n";
- print "curl: $curlproto\n";
- print "curl-config: $curlconfigproto\n";
-}
-exit $different;
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test1022.pl b/Utilities/cmcurl-7.19.0/tests/libtest/test1022.pl
deleted file mode 100755
index 5b16de3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test1022.pl
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env perl
-# Determine if curl-config --version matches the curl --version
-if ( $#ARGV != 2 )
-{
- print "Usage: $0 curl-config-script curl-version-output-file version|vernum\n";
- exit 3;
-}
-
-my $what=$ARGV[2];
-
-# Read the output of curl --version
-open(CURL, "$ARGV[1]") || die "Can't open curl --version list in $ARGV[1]\n";
-$_ = <CURL>;
-chomp;
-/libcurl\/([\.\d]+(-CVS)?)/;
-my $version = $1;
-close CURL;
-
-my $curlconfigversion;
-
-# Read the output of curl-config --version/--vernum
-open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config --$what list\n";
-$_ = <CURLCONFIG>;
-chomp;
-if ( $what eq "version" ) {
- /^libcurl ([\.\d]+(-CVS)?)$/ ;
- $curlconfigversion = $1;
-}
-else {
- # Convert hex version to decimal for comparison's sake
- /^(..)(..)(..)$/ ;
- $curlconfigversion = hex($1) . "." . hex($2) . "." . hex($3);
-
- # Strip off the -CVS from the curl version if it's there
- $version =~ s/-CVS$//;
-}
-close CURLCONFIG;
-
-my $different = $version ne $curlconfigversion;
-if ($different || !$version) {
- print "Mismatch in --version:\n";
- print "curl: $version\n";
- print "curl-config: $curlconfigversion\n";
- exit 1;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test307.pl b/Utilities/cmcurl-7.19.0/tests/libtest/test307.pl
deleted file mode 100755
index 7e2687b..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test307.pl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env perl
-# Determine if the given curl executable supports the 'openssl' SSL engine
-if ( $#ARGV != 0 )
-{
- print "Usage: $0 curl-executable\n";
- exit 3;
-}
-if (!open(CURL, "@ARGV[0] -s --engine list|"))
-{
- print "Can't get SSL engine list\n";
- exit 2;
-}
-while( <CURL> )
-{
- exit 0 if ( /openssl/ );
-}
-close CURL;
-print "openssl engine not supported\n";
-exit 1;
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test610.pl b/Utilities/cmcurl-7.19.0/tests/libtest/test610.pl
deleted file mode 100755
index 5257171..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test610.pl
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env perl
-# Perform simple file and directory manipulation in a portable way
-if ( $#ARGV <= 0 )
-{
- print "Usage: $0 mkdir|rmdir|rm|move|gone path1 [path2] [more commands...]\n";
- exit 1;
-}
-
-use File::Copy;
-while(@ARGV) {
- my $cmd = shift @ARGV;
- my $arg = shift @ARGV;
- if ($cmd eq "mkdir") {
- mkdir $arg || die "$!";
- }
- elsif ($cmd eq "rmdir") {
- rmdir $arg || die "$!";
- }
- elsif ($cmd eq "rm") {
- unlink $arg || die "$!";
- }
- elsif ($cmd eq "move") {
- my $arg2 = shift @ARGV;
- move($arg,$arg2) || die "$!";
- }
- elsif ($cmd eq "gone") {
- ! -e $arg || die "Path $arg exists";
- } else {
- print "Unsupported command $cmd\n";
- exit 1;
- }
-}
-exit 0;
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test613.pl b/Utilities/cmcurl-7.19.0/tests/libtest/test613.pl
deleted file mode 100755
index ba9ed32..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test613.pl
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env perl
-# Prepare a directory with known files and clean up afterwards
-use Time::Local;
-
-if ( $#ARGV < 1 )
-{
- print "Usage: $0 prepare|postprocess dir [logfile]\n";
- exit 1;
-}
-
-# <precheck> expects an error message on stdout
-sub errout {
- print $_[0] . "\n";
- exit 1;
-}
-
-if ($ARGV[0] eq "prepare")
-{
- my $dirname = $ARGV[1];
- mkdir $dirname || errout "$!";
- chdir $dirname;
-
- # Create the files in alphabetical order, to increase the chances
- # of receiving a consistent set of directory contents regardless
- # of whether the server alphabetizes the results or not.
- mkdir "asubdir" || errout "$!";
- chmod 0777, "asubdir";
-
- open(FILE, ">plainfile.txt") || errout "$!";
- binmode FILE;
- print FILE "Test file to support curl test suite\n";
- close(FILE);
- utime time, timegm(0,0,12,1,0,100), "plainfile.txt";
- chmod 0666, "plainfile.txt";
-
- open(FILE, ">rofile.txt") || errout "$!";
- binmode FILE;
- print FILE "Read-only test file to support curl test suite\n";
- close(FILE);
- utime time, timegm(0,0,12,31,11,100), "rofile.txt";
- chmod 0444, "rofile.txt";
-
- exit 0;
-}
-elsif ($ARGV[0] eq "postprocess")
-{
- my $dirname = $ARGV[1];
- my $logfile = $ARGV[2];
-
- # Clean up the test directory
- unlink "$dirname/rofile.txt";
- unlink "$dirname/plainfile.txt";
- rmdir "$dirname/asubdir";
-
- rmdir $dirname || die "$!";
-
- if ($logfile) {
- # Process the directory file to remove all information that
- # could be inconsistent from one test run to the next (e.g.
- # file date) or may be unsupported on some platforms (e.g.
- # Windows). Also, since 7.17.0, the sftp directory listing
- # format can be dependent on the server (with a recent
- # enough version of libssh2) so this script must also
- # canonicalize the format. Here are examples of the general
- # format supported:
- # -r--r--r-- 12 ausername grp 47 Dec 31 2000 rofile.txt
- # -r--r--r-- 1 1234 4321 47 Dec 31 2000 rofile.txt
- # The "canonical" format is similar to the first (which is
- # the one generated on a typical Linux installation):
- # -r-?r-?r-? 12 U U 47 Dec 31 2000 rofile.txt
-
- my @canondir;
- open(IN, "<$logfile") || die "$!";
- while (<IN>) {
- /^(.)(..).(..).(..).\s*(\S+)\s+\S+\s+\S+\s+(\S+)\s+(\S+\s+\S+\s+\S+)(.*)$/;
- if ($1 eq "d") {
- # Erase all directory metadata except for the name, as it is not
- # consistent for across all test systems and filesystems
- push @canondir, "d????????? N U U N ??? N NN:NN$8\n";
- } elsif ($1 eq "-") {
- # Erase user and group names, as they are not consistent across
- # all test systems
- my $line = sprintf("%s%s?%s?%s?%5d U U %15d %s%s\n", $1,$2,$3,$4,$5,$6,$7,$8);
- push @canondir, $line;
- } else {
- # Unexpected format; just pass it through and let the test fail
- push @canondir, $_;
- }
- }
- close(IN);
-
- @canondir = sort {substr($a,57) cmp substr($b,57)} @canondir;
- my $newfile = $logfile . ".new";
- open(OUT, ">$newfile") || die "$!";
- print OUT join('', @canondir);
- close(OUT);
-
- unlink $logfile;
- rename $newfile, $logfile;
- }
-
- exit 0;
-}
-print "Unsupported command $ARGV[0]\n";
-exit 1;
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/test75.pl b/Utilities/cmcurl-7.19.0/tests/libtest/test75.pl
deleted file mode 100755
index 01a53ff..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/test75.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env perl
-# Check that the length of a given URL is correct
-if ( $#ARGV != 1 )
-{
- print "Usage: $0 string length\n";
- exit 3;
-}
-if (length(@ARGV[0]) != @ARGV[1])
-{
- print "Given host IP and port not supported\n";
- exit 1;
-}
-exit 0;
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/testutil.c b/Utilities/cmcurl-7.19.0/tests/libtest/testutil.c
deleted file mode 100644
index 573e6fa..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/testutil.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "testutil.h"
-
-#if defined(WIN32) && !defined(MSDOS)
-
-struct timeval tutil_tvnow(void)
-{
- /*
- ** GetTickCount() is available on _all_ Windows versions from W95 up
- ** to nowadays. Returns milliseconds elapsed since last system boot,
- ** increases monotonically and wraps once 49.7 days have elapsed.
- */
- struct timeval now;
- DWORD milliseconds = GetTickCount();
- now.tv_sec = milliseconds / 1000;
- now.tv_usec = (milliseconds % 1000) * 1000;
- return now;
-}
-
-#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)
-
-struct timeval tutil_tvnow(void)
-{
- /*
- ** clock_gettime() is granted to be increased monotonically when the
- ** monotonic clock is queried. Time starting point is unspecified, it
- ** could be the system start-up time, the Epoch, or something else,
- ** in any case the time starting point does not change once that the
- ** system has started up.
- */
- struct timeval now;
- struct timespec tsnow;
- if(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow)) {
- now.tv_sec = tsnow.tv_sec;
- now.tv_usec = tsnow.tv_nsec / 1000;
- }
- /*
- ** Even when the configure process has truly detected monotonic clock
- ** availability, it might happen that it is not actually available at
- ** run-time. When this occurs simply fallback to other time source.
- */
-#ifdef HAVE_GETTIMEOFDAY
- else
- (void)gettimeofday(&now, NULL);
-#else
- else {
- now.tv_sec = (long)time(NULL);
- now.tv_usec = 0;
- }
-#endif
- return now;
-}
-
-#elif defined(HAVE_GETTIMEOFDAY)
-
-struct timeval tutil_tvnow(void)
-{
- /*
- ** gettimeofday() is not granted to be increased monotonically, due to
- ** clock drifting and external source time synchronization it can jump
- ** forward or backward in time.
- */
- struct timeval now;
- (void)gettimeofday(&now, NULL);
- return now;
-}
-
-#else
-
-struct timeval tutil_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;
-}
-
-#endif
-
-/*
- * Make sure that the first argument is the more recent time, as otherwise
- * we'll get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long tutil_tvdiff(struct timeval newer, struct timeval older)
-{
- return (newer.tv_sec-older.tv_sec)*1000+
- (newer.tv_usec-older.tv_usec)/1000;
-}
-
-/*
- * Same as tutil_tvdiff but with full usec resolution.
- *
- * Returns: the time difference in seconds with subsecond resolution.
- */
-double tutil_tvdiff_secs(struct timeval newer, struct timeval older)
-{
- return (double)(newer.tv_sec-older.tv_sec)+
- (double)(newer.tv_usec-older.tv_usec)/1000000.0;
-}
-
-/* return the number of seconds in the given input timeval struct */
-long tutil_tvlong(struct timeval t1)
-{
- return t1.tv_sec;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/libtest/testutil.h b/Utilities/cmcurl-7.19.0/tests/libtest/testutil.h
deleted file mode 100644
index 6f7839d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/libtest/testutil.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef __LIBTEST_TESTUTIL_H
-#define __LIBTEST_TESTUTIL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-
-struct timeval tutil_tvnow(void);
-
-/*
- * Make sure that the first argument (t1) is the more recent time and t2 is
- * the older time, as otherwise you get a weird negative time-diff back...
- *
- * Returns: the time difference in number of milliseconds.
- */
-long tutil_tvdiff(struct timeval t1, struct timeval t2);
-
-/*
- * Same as tutil_tvdiff but with full usec resolution.
- *
- * Returns: the time difference in seconds with subsecond resolution.
- */
-double tutil_tvdiff_secs(struct timeval t1, struct timeval t2);
-
-long tutil_tvlong(struct timeval t1);
-
-
-#endif /* __LIBTEST_TESTUTIL_H */
-
diff --git a/Utilities/cmcurl-7.19.0/tests/memanalyze.pl b/Utilities/cmcurl-7.19.0/tests/memanalyze.pl
deleted file mode 100755
index 763f9a3..0000000
--- a/Utilities/cmcurl-7.19.0/tests/memanalyze.pl
+++ /dev/null
@@ -1,356 +0,0 @@
-#!/usr/bin/env perl
-#
-# Example input:
-#
-# MEM mprintf.c:1094 malloc(32) = e5718
-# MEM mprintf.c:1103 realloc(e5718, 64) = e6118
-# MEM sendf.c:232 free(f6520)
-
-my $mallocs=0;
-my $callocs=0;
-my $reallocs=0;
-my $strdups=0;
-my $showlimit;
-
-while(1) {
- if($ARGV[0] eq "-v") {
- $verbose=1;
- shift @ARGV;
- }
- elsif($ARGV[0] eq "-t") {
- $trace=1;
- shift @ARGV;
- }
- elsif($ARGV[0] eq "-l") {
- # only show what alloc that caused a memlimit failure
- $showlimit=1;
- shift @ARGV;
- }
- else {
- last;
- }
-}
-
-my $maxmem;
-
-sub newtotal {
- my ($newtot)=@_;
- # count a max here
-
- if($newtot > $maxmem) {
- $maxmem= $newtot;
- }
-}
-
-my $file = $ARGV[0];
-
-if(! -f $file) {
- print "Usage: memanalyze.pl [options] <dump file>\n",
- "Options:\n",
- " -l memlimit failure displayed\n",
- " -v Verbose\n",
- " -t Trace\n";
- exit;
-}
-
-open(FILE, "<$file");
-
-if($showlimit) {
- while(<FILE>) {
- if(/^LIMIT.*memlimit$/) {
- print $_;
- last;
- }
- }
- close(FILE);
- exit;
-}
-
-
-my $lnum=0;
-while(<FILE>) {
- chomp $_;
- $line = $_;
- $lnum++;
- if($line =~ /^LIMIT ([^ ]*):(\d*) (.*)/) {
- # new memory limit test prefix
- my $i = $3;
- my ($source, $linenum) = ($1, $2);
- if($trace && ($i =~ /([^ ]*) reached memlimit/)) {
- print "LIMIT: $1 returned error at $source:$linenum\n";
- }
- }
- elsif($line =~ /^MEM ([^ ]*):(\d*) (.*)/) {
- # generic match for the filename+linenumber
- $source = $1;
- $linenum = $2;
- $function = $3;
-
- if($function =~ /free\(0x([0-9a-f]*)/) {
- $addr = $1;
- if(!exists $sizeataddr{$addr}) {
- print "FREE ERROR: No memory allocated: $line\n";
- }
- elsif(-1 == $sizeataddr{$addr}) {
- print "FREE ERROR: Memory freed twice: $line\n";
- print "FREE ERROR: Previously freed at: ".$getmem{$addr}."\n";
- }
- else {
- $totalmem -= $sizeataddr{$addr};
- if($trace) {
- print "FREE: malloc at ".$getmem{$addr}." is freed again at $source:$linenum\n";
- printf("FREE: %d bytes freed, left allocated: $totalmem bytes\n", $sizeataddr{$addr});
- }
-
- newtotal($totalmem);
- $frees++;
-
- $sizeataddr{$addr}=-1; # set -1 to mark as freed
- $getmem{$addr}="$source:$linenum";
-
- }
- }
- elsif($function =~ /malloc\((\d*)\) = 0x([0-9a-f]*)/) {
- $size = $1;
- $addr = $2;
-
- if($sizeataddr{$addr}>0) {
- # this means weeeeeirdo
- print "Mixed debug compile ($source:$linenum at line $lnum), rebuild curl now\n";
- print "We think $sizeataddr{$addr} bytes are already allocated at that memory address: $addr!\n";
- }
-
- $sizeataddr{$addr}=$size;
- $totalmem += $size;
-
- if($trace) {
- print "MALLOC: malloc($size) at $source:$linenum",
- " makes totally $totalmem bytes\n";
- }
-
- newtotal($totalmem);
- $mallocs++;
-
- $getmem{$addr}="$source:$linenum";
- }
- elsif($function =~ /calloc\((\d*),(\d*)\) = 0x([0-9a-f]*)/) {
- $size = $1*$2;
- $addr = $3;
-
- $arg1 = $1;
- $arg2 = $2;
-
- if($sizeataddr{$addr}>0) {
- # this means weeeeeirdo
- print "Mixed debug compile, rebuild curl now\n";
- }
-
- $sizeataddr{$addr}=$size;
- $totalmem += $size;
-
- if($trace) {
- print "CALLOC: calloc($arg1,$arg2) at $source:$linenum",
- " makes totally $totalmem bytes\n";
- }
-
- newtotal($totalmem);
- $callocs++;
-
- $getmem{$addr}="$source:$linenum";
- }
- elsif($function =~ /realloc\((\(nil\)|0x([0-9a-f]*)), (\d*)\) = 0x([0-9a-f]*)/) {
- my ($oldaddr, $newsize, $newaddr) = ($2, $3, $4);
-
- $totalmem -= $sizeataddr{$oldaddr};
- if($trace) {
- printf("REALLOC: %d less bytes and ", $sizeataddr{$oldaddr});
- }
- $sizeataddr{$oldaddr}=0;
-
- $totalmem += $newsize;
- $sizeataddr{$newaddr}=$newsize;
-
- if($trace) {
- printf("%d more bytes ($source:$linenum)\n", $newsize);
- }
-
- newtotal($totalmem);
- $reallocs++;
-
- $getmem{$oldaddr}="";
- $getmem{$newaddr}="$source:$linenum";
- }
- elsif($function =~ /strdup\(0x([0-9a-f]*)\) \((\d*)\) = 0x([0-9a-f]*)/) {
- # strdup(a5b50) (8) = df7c0
-
- $dup = $1;
- $size = $2;
- $addr = $3;
- $getmem{$addr}="$source:$linenum";
- $sizeataddr{$addr}=$size;
-
- $totalmem += $size;
-
- if($trace) {
- printf("STRDUP: $size bytes at %s, makes totally: %d bytes\n",
- $getmem{$addr}, $totalmem);
- }
-
- newtotal($totalmem);
- $strdups++;
- }
- else {
- print "Not recognized input line: $function\n";
- }
- }
- # FD url.c:1282 socket() = 5
- elsif($_ =~ /^FD ([^ ]*):(\d*) (.*)/) {
- # generic match for the filename+linenumber
- $source = $1;
- $linenum = $2;
- $function = $3;
-
- if($function =~ /socket\(\) = (\d*)/) {
- $filedes{$1}=1;
- $getfile{$1}="$source:$linenum";
- $openfile++;
- }
- elsif($function =~ /accept\(\) = (\d*)/) {
- $filedes{$1}=1;
- $getfile{$1}="$source:$linenum";
- $openfile++;
- }
- elsif($function =~ /sclose\((\d*)\)/) {
- if($filedes{$1} != 1) {
- print "Close without open: $line\n";
- }
- else {
- $filedes{$1}=0; # closed now
- $openfile--;
- }
- }
- }
- # FILE url.c:1282 fopen("blabla") = 0x5ddd
- elsif($_ =~ /^FILE ([^ ]*):(\d*) (.*)/) {
- # generic match for the filename+linenumber
- $source = $1;
- $linenum = $2;
- $function = $3;
-
- if($function =~ /f[d]*open\(\"([^\"]*)\",\"([^\"]*)\"\) = (\(nil\)|0x([0-9a-f]*))/) {
- if($3 eq "(nil)") {
- ;
- }
- else {
- $fopen{$4}=1;
- $fopenfile{$4}="$source:$linenum";
- $fopens++;
- }
- }
- # fclose(0x1026c8)
- elsif($function =~ /fclose\(0x([0-9a-f]*)\)/) {
- if(!$fopen{$1}) {
- print "fclose() without fopen(): $line\n";
- }
- else {
- $fopen{$1}=0;
- $fopens--;
- }
- }
- }
- # GETNAME url.c:1901 getnameinfo()
- elsif($_ =~ /^GETNAME ([^ ]*):(\d*) (.*)/) {
- # not much to do
- }
-
- # ADDR url.c:1282 getaddrinfo() = 0x5ddd
- elsif($_ =~ /^ADDR ([^ ]*):(\d*) (.*)/) {
- # generic match for the filename+linenumber
- $source = $1;
- $linenum = $2;
- $function = $3;
-
- if($function =~ /getaddrinfo\(\) = (\(nil\)|0x([0-9a-f]*))/) {
- my $add = $2;
- if($add eq "(nil)") {
- ;
- }
- else {
- $addrinfo{$add}=1;
- $addrinfofile{$add}="$source:$linenum";
- $addrinfos++;
- }
- if($trace) {
- printf("GETADDRINFO ($source:$linenum)\n");
- }
- }
- # fclose(0x1026c8)
- elsif($function =~ /freeaddrinfo\(0x([0-9a-f]*)\)/) {
- if(!$addrinfo{$1}) {
- print "freeaddrinfo() without getaddrinfo(): $line\n";
- }
- else {
- $addrinfo{$1}=0;
- $addrinfos--;
- }
- if($trace) {
- printf("FREEADDRINFO ($source:$linenum)\n");
- }
- }
-
- }
- else {
- print "Not recognized prefix line: $line\n";
- }
-}
-close(FILE);
-
-if($totalmem) {
- print "Leak detected: memory still allocated: $totalmem bytes\n";
-
- for(keys %sizeataddr) {
- $addr = $_;
- $size = $sizeataddr{$addr};
- if($size > 0) {
- print "At $addr, there's $size bytes.\n";
- print " allocated by ".$getmem{$addr}."\n";
- }
- }
-}
-
-if($openfile) {
- for(keys %filedes) {
- if($filedes{$_} == 1) {
- print "Open file descriptor created at ".$getfile{$_}."\n";
- }
- }
-}
-
-if($fopens) {
- print "Open FILE handles left at:\n";
- for(keys %fopen) {
- if($fopen{$_} == 1) {
- print "fopen() called at ".$fopenfile{$_}."\n";
- }
- }
-}
-
-if($addrinfos) {
- print "IPv6-style name resolve data left at:\n";
- for(keys %addrinfofile) {
- if($addrinfo{$_} == 1) {
- print "getaddrinfo() called at ".$addrinfofile{$_}."\n";
- }
- }
-}
-
-if($verbose) {
- print "Mallocs: $mallocs\n",
- "Reallocs: $reallocs\n",
- "Callocs: $callocs\n",
- "Strdups: $strdups\n",
- "Frees: $frees\n",
- "Allocations: ".($mallocs + $callocs + $reallocs + $strdups)."\n";
-
- print "Maximum allocated: $maxmem\n";
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/runtests.1 b/Utilities/cmcurl-7.19.0/tests/runtests.1
deleted file mode 100644
index c09741c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/runtests.1
+++ /dev/null
@@ -1,104 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2007, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH runtests.pl 1 "11 Oct 2007" "Curl 7.17.1" "runtests"
-.SH NAME
-runtests.pl \- run one or more test cases
-.SH SYNOPSIS
-.B runtests.pl [options] [test number] [!test number] [key word] [!key word]
-.SH DESCRIPTION
-\fIruntests.pl\fP runs one, several or all the existing test cases in curl's
-test suite. It is often called from the root Makefile of the curl package with
-\&'make test'.
-.SH "TEST NUMBER"
-If no test case number is given, all existing tests that the script can find
-will be considered for running. You can specify single test cases to run,
-space-separated, like "1 3 5 7 11", and you can specify a range like "45 to
-67". You can also specify only the tests you don't want to run by listing
-the numbers with a leading exclamation point, like "!66".
-.P
-It is also possible to specify tests to skip based on a key word describing
-the test. These are specified with a leading exclamation point and the
-key word or phrase, like "!HTTP NTLM auth". Likewise, tests to run can
-be specified simply by specifying the unadorned key words, like "FTPS".
-Remember that the exclamation marks and spaces will need to be quoted somehow
-when entered at many command shells.
-.SH OPTIONS
-.IP "-a"
-Continue running the rest of the test cases even if one test fails. By
-default, the test script stops as soon as an error is detected.
-.IP "-bN"
-Use N as the base TCP/UDP port number on which to start the test servers.
-.IP "-c <curl>"
-Provide a custom curl binary to run the tests with. Default is the curl
-executable in the build tree.
-.IP "-d"
-Enable protocol debug: have the servers display protocol output.
-.IP "-g"
-Run the given test(s) with gdb. This is best used on a single test case and
-curl built --disable-shared. This then fires up gdb with command line set to
-run the specified test case. Simply (set a break-point and) type 'run' to
-start.
-.IP "-h"
-Displays a help text about this program's command line options.
-.IP "-k"
-Keep output and log files in log/ after a test run, even if no error was
-detected. Useful for debugging.
-.IP "-l"
-Lists all test case names.
-.IP "-n"
-Disable the check for and use of valgrind.
-.IP "-p"
-Prints out all files in "log/" to stdout when a test case fails. Very
-practical when used in the automated and distributed tests since then the
-people checking the failures and the reasons for them might not have physical
-access to the machine and logs.
-.IP "-s"
-Shorter output. Speaks less than default.
-.IP "-t[num]"
-Selects a \fBtorture\fP test for the given tests. This makes runtests.pl first
-run the tests once and count the number of memory allocations made. It then
-reruns the test that number of times, each time forcing one of the allocations
-to fail until all allocs have been tested. By setting \fInum\fP you can force
-the allocation with that number to be set to fail at once instead of looping
-through everyone, which is very handy when debugging and then often in
-combination with \fI-g\fP.
-.IP "-v"
-Enable verbose output. Speaks more than default.
-.SH "RUNNING TESTS"
-Many tests have conditions that must be met before the test case can run
-fine. They could depend on built-in features in libcurl or features present in
-the operating system or even in third-party libraries that curl may or may not
-use.
-.P
-The test script checks most of these by itself to determine when it is
-safe to attempt to run each test. Those which cannot be run due to
-failed requirements will simply be skipped and listed at the completion
-of all test cases. In some unusual configurations, the test script
-cannot make the correct determination for all tests. In these cases,
-the problematic tests can be skipped using the "!keyword" skip feature
-documented earlier.
-.SH "WRITING TESTS"
-The simplest way to write test cases is to start with a similar existing test,
-save it with a new number and then adjust it to fit. There's an attempt to
-document the test case file format in the tests/FILEFORMAT.
diff --git a/Utilities/cmcurl-7.19.0/tests/runtests.html b/Utilities/cmcurl-7.19.0/tests/runtests.html
deleted file mode 100644
index 32d78f2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/runtests.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html><head>
-<title>runtests.pl man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">runtests.pl - run one or more test cases <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">runtests.pl [options] [test number] [!test number] [key word] [!key word]</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="emphasis">runtests.pl</span> runs one, several or all the existing test cases in curl's test suite. It is often called from the root Makefile of the curl package with 'make test'. <a name="TEST"></a><h2 class="nroffsh">TEST NUMBER</h2>
-<p class="level0">If no test case number is given, all existing tests that the script can find will be considered for running. You can specify single test cases to run, space-separated, like "1 3 5 7 11", and you can specify a range like "45 to 67". You can also specify only the tests you don't want to run by listing the numbers with a leading exclamation point, like "!66".
-<p class="level0">It is also possible to specify tests to skip based on a key word describing the test. These are specified with a leading exclamation point and the key word or phrase, like "!HTTP NTLM auth". Likewise, tests to run can be specified simply by specifying the unadorned key words, like "FTPS". Remember that the exclamation marks and spaces will need to be quoted somehow when entered at many command shells. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="-a"></a><span class="nroffip">-a</span>
-<p class="level1">Continue running the rest of the test cases even if one test fails. By default, the test script stops as soon as an error is detected.
-<p class="level0"><a name="-bN"></a><span class="nroffip">-bN</span>
-<p class="level1">Use N as the base TCP/UDP port number on which to start the test servers.
-<p class="level0"><a name="-c"></a><span class="nroffip">-c &lt;curl&gt;</span>
-<p class="level1">Provide a custom curl binary to run the tests with. Default is the curl executable in the build tree.
-<p class="level0"><a name="-d"></a><span class="nroffip">-d</span>
-<p class="level1">Enable protocol debug: have the servers display protocol output.
-<p class="level0"><a name="-g"></a><span class="nroffip">-g</span>
-<p class="level1">Run the given test(s) with gdb. This is best used on a single test case and curl built --disable-shared. This then fires up gdb with command line set to run the specified test case. Simply (set a break-point and) type 'run' to start.
-<p class="level0"><a name="-h"></a><span class="nroffip">-h</span>
-<p class="level1">Displays a help text about this program's command line options.
-<p class="level0"><a name="-k"></a><span class="nroffip">-k</span>
-<p class="level1">Keep output and log files in log/ after a test run, even if no error was detected. Useful for debugging.
-<p class="level0"><a name="-l"></a><span class="nroffip">-l</span>
-<p class="level1">Lists all test case names.
-<p class="level0"><a name="-n"></a><span class="nroffip">-n</span>
-<p class="level1">Disable the check for and use of valgrind.
-<p class="level0"><a name="-p"></a><span class="nroffip">-p</span>
-<p class="level1">Prints out all files in "log/" to stdout when a test case fails. Very practical when used in the automated and distributed tests since then the people checking the failures and the reasons for them might not have physical access to the machine and logs.
-<p class="level0"><a name="-s"></a><span class="nroffip">-s</span>
-<p class="level1">Shorter output. Speaks less than default.
-<p class="level0"><a name="-tnum"></a><span class="nroffip">-t[num]</span>
-<p class="level1">Selects a <span Class="bold">torture</span> test for the given tests. This makes runtests.pl first run the tests once and count the number of memory allocations made. It then reruns the test that number of times, each time forcing one of the allocations to fail until all allocs have been tested. By setting <span Class="emphasis">num</span> you can force the allocation with that number to be set to fail at once instead of looping through everyone, which is very handy when debugging and then often in combination with <a class="emphasis" href="#-g">-g</a>.
-<p class="level0"><a name="-v"></a><span class="nroffip">-v</span>
-<p class="level1">Enable verbose output. Speaks more than default. <a name="RUNNING"></a><h2 class="nroffsh">RUNNING TESTS</h2>
-<p class="level0">Many tests have conditions that must be met before the test case can run fine. They could depend on built-in features in libcurl or features present in the operating system or even in third-party libraries that curl may or may not use.
-<p class="level0">The test script checks most of these by itself to determine when it is safe to attempt to run each test. Those which cannot be run due to failed requirements will simply be skipped and listed at the completion of all test cases. In some unusual configurations, the test script cannot make the correct determination for all tests. In these cases, the problematic tests can be skipped using the "!keyword" skip feature documented earlier. <a name="WRITING"></a><h2 class="nroffsh">WRITING TESTS</h2>
-<p class="level0">The simplest way to write test cases is to start with a similar existing test, save it with a new number and then adjust it to fit. There's an attempt to document the test case file format in the tests/FILEFORMAT. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/tests/runtests.pdf b/Utilities/cmcurl-7.19.0/tests/runtests.pdf
deleted file mode 100644
index 90dec5e..0000000
--- a/Utilities/cmcurl-7.19.0/tests/runtests.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/tests/runtests.pl b/Utilities/cmcurl-7.19.0/tests/runtests.pl
deleted file mode 100755
index 79d85e6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/runtests.pl
+++ /dev/null
@@ -1,3160 +0,0 @@
-#!/usr/bin/env perl
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-# Experimental hooks are available to run tests remotely on machines that
-# are able to run curl but are unable to run the test harness.
-# The following sections need to be modified:
-#
-# $HOSTIP, $HOST6IP - Set to the address of the host running the test suite
-# $CLIENTIP, $CLIENT6IP - Set to the address of the host running curl
-# runclient, runclientoutput - Modify to copy all the files in the log/
-# directory to the system running curl, run the given command remotely
-# and save the return code or returned stdout (respectively), then
-# copy all the files from the remote system's log/ directory back to
-# the host running the test suite. This can be done a few ways, such
-# as using scp & ssh, rsync & telnet, or using a NFS shared directory
-# and ssh.
-#
-# 'make && make test' needs to be done on both machines before making the
-# above changes and running runtests.pl manually. In the shared NFS case,
-# the contents of the tests/server/ directory must be from the host
-# running the test suite, while the rest must be from the host running curl.
-#
-# Note that even with these changes a number of tests will still fail (mainly
-# to do with cookies, those that set environment variables, or those that
-# do more than touch the file system in a <precheck> or <postcheck>
-# section). These can be added to the $TESTCASES line below,
-# e.g. $TESTCASES="!8 !31 !63 !cookies..."
-#
-# Finally, to properly support -g and -n, checktestcmd needs to change
-# to check the remote system's PATH, and the places in the code where
-# the curl binary is read directly to determine its type also need to be
-# fixed. As long as the -g option is never given, and the -n is always
-# given, this won't be a problem.
-
-
-# These should be the only variables that might be needed to get edited:
-
-BEGIN {
- @INC=(@INC, $ENV{'srcdir'}, ".");
-}
-
-use strict;
-#use Time::HiRes qw( gettimeofday );
-#use warnings;
-use Cwd;
-
-# Variables and subs imported from sshhelp module
-use sshhelp qw(
- $sshdexe
- $sshexe
- $sftpexe
- $sshconfig
- $sftpconfig
- $sshlog
- $sftplog
- $sftpcmds
- display_sshdconfig
- display_sshconfig
- display_sftpconfig
- display_sshdlog
- display_sshlog
- display_sftplog
- find_sshd
- find_ssh
- find_sftp
- sshversioninfo
- );
-
-require "getpart.pm"; # array functions
-require "valgrind.pm"; # valgrind report parser
-require "ftp.pm";
-
-my $HOSTIP="127.0.0.1"; # address on which the test server listens
-my $HOST6IP="[::1]"; # address on which the test server listens
-my $CLIENTIP="127.0.0.1"; # address which curl uses for incoming connections
-my $CLIENT6IP="[::1]"; # address which curl uses for incoming connections
-
-my $base = 8990; # base port number
-
-my $HTTPPORT; # HTTP server port
-my $HTTP6PORT; # HTTP IPv6 server port
-my $HTTPSPORT; # HTTPS server port
-my $FTPPORT; # FTP server port
-my $FTP2PORT; # FTP server 2 port
-my $FTPSPORT; # FTPS server port
-my $FTP6PORT; # FTP IPv6 server port
-my $TFTPPORT; # TFTP
-my $TFTP6PORT; # TFTP
-my $SSHPORT; # SCP/SFTP
-my $SOCKSPORT; # SOCKS4/5 port
-
-my $srcdir = $ENV{'srcdir'} || '.';
-my $CURL="../src/curl"; # what curl executable to run on the tests
-my $DBGCURL=$CURL; #"../src/.libs/curl"; # alternative for debugging
-my $LOGDIR="log";
-my $TESTDIR="$srcdir/data";
-my $LIBDIR="./libtest";
-my $SERVERIN="$LOGDIR/server.input"; # what curl sent the server
-my $SERVER2IN="$LOGDIR/server2.input"; # what curl sent the second server
-my $CURLLOG="$LOGDIR/curl.log"; # all command lines run
-my $FTPDCMD="$LOGDIR/ftpserver.cmd"; # copy ftp server instructions here
-my $SERVERLOGS_LOCK="$LOGDIR/serverlogs.lock"; # server logs advisor read lock
-
-# Normally, all test cases should be run, but at times it is handy to
-# simply run a particular one:
-my $TESTCASES="all";
-
-# To run specific test cases, set them like:
-# $TESTCASES="1 2 3 7 8";
-
-#######################################################################
-# No variables below this point should need to be modified
-#
-
-my $HTTPPIDFILE=".http.pid";
-my $HTTP6PIDFILE=".http6.pid";
-my $HTTPSPIDFILE=".https.pid";
-my $FTPPIDFILE=".ftp.pid";
-my $FTP6PIDFILE=".ftp6.pid";
-my $FTP2PIDFILE=".ftp2.pid";
-my $FTPSPIDFILE=".ftps.pid";
-my $TFTPPIDFILE=".tftpd.pid";
-my $TFTP6PIDFILE=".tftp6.pid";
-my $SSHPIDFILE=".ssh.pid";
-my $SOCKSPIDFILE=".socks.pid";
-
-# invoke perl like this:
-my $perl="perl -I$srcdir";
-my $server_response_maxtime=13;
-
-# this gets set if curl is compiled with debugging:
-my $curl_debug=0;
-my $libtool;
-
-# name of the file that the memory debugging creates:
-my $memdump="$LOGDIR/memdump";
-
-# the path to the script that analyzes the memory debug output file:
-my $memanalyze="$perl $srcdir/memanalyze.pl";
-
-my $pwd = getcwd(); # current working directory
-
-my $start;
-my $forkserver=0;
-my $ftpchecktime; # time it took to verify our test FTP server
-
-my $stunnel = checkcmd("stunnel4") || checkcmd("stunnel");
-my $valgrind = checktestcmd("valgrind");
-my $valgrind_logfile="--logfile";
-my $valgrind_tool;
-my $gdb = checktestcmd("gdb");
-
-my $ssl_version; # set if libcurl is built with SSL support
-my $large_file; # set if libcurl is built with large file support
-my $has_idn; # set if libcurl is built with IDN support
-my $http_ipv6; # set if HTTP server has IPv6 support
-my $ftp_ipv6; # set if FTP server has IPv6 support
-my $tftp_ipv6; # set if TFTP server has IPv6 support
-my $has_ipv6; # set if libcurl is built with IPv6 support
-my $has_libz; # set if libcurl is built with libz support
-my $has_getrlimit; # set if system has getrlimit()
-my $has_ntlm; # set if libcurl is built with NTLM support
-
-my $has_openssl; # built with a lib using an OpenSSL-like API
-my $has_gnutls; # built with GnuTLS
-my $has_nss; # built with NSS
-my $has_yassl; # built with yassl
-
-my $ssllib; # name of the lib we use (for human presentation)
-my $has_crypto; # set if libcurl is built with cryptographic support
-my $has_textaware; # set if running on a system that has a text mode concept
- # on files. Windows for example
-my @protocols; # array of supported protocols
-
-my $skipped=0; # number of tests skipped; reported in main loop
-my %skipped; # skipped{reason}=counter, reasons for skip
-my @teststat; # teststat[testnum]=reason, reasons for skip
-my %disabled_keywords; # key words of tests to skip
-my %enabled_keywords; # key words of tests to run
-
-my $sshdid; # for socks server, ssh daemon version id
-my $sshdvernum; # for socks server, ssh daemon version number
-my $sshdverstr; # for socks server, ssh daemon version string
-my $sshderror; # for socks server, ssh daemon version error
-
-my $defserverlogslocktimeout = 20; # timeout to await server logs lock removal
-my $defpostcommanddelay = 0; # delay between command and postcheck sections
-
-#######################################################################
-# variables the command line options may set
-#
-
-my $short;
-my $verbose;
-my $debugprotocol;
-my $anyway;
-my $gdbthis; # run test case with gdb debugger
-my $keepoutfiles; # keep stdout and stderr files after tests
-my $listonly; # only list the tests
-my $postmortem; # display detailed info about failed tests
-
-my %run; # running server
-my %doesntrun; # servers that don't work, identified by pidfile
-
-# torture test variables
-my $torture;
-my $tortnum;
-my $tortalloc;
-
-# open and close each time to allow removal at any time
-sub logmsg {
-# uncomment the Time::HiRes usage for this
-# my ($seconds, $microseconds) = gettimeofday;
-# my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
-# localtime($seconds);
- my $t;
- if(1) {
-# $t = sprintf ("%02d:%02d:%02d.%06d ", $hour, $min, $sec,
-# $microseconds);
- }
- for(@_) {
- print "${t}$_";
- }
-}
-
-# get the name of the current user
-my $USER = $ENV{USER}; # Linux
-if (!$USER) {
- $USER = $ENV{USERNAME}; # Windows
- if (!$USER) {
- $USER = $ENV{LOGNAME}; # Some UNIX (I think)
- }
-}
-
-# enable memory debugging if curl is compiled with it
-$ENV{'CURL_MEMDEBUG'} = $memdump;
-$ENV{'HOME'}=$pwd;
-
-sub catch_zap {
- my $signame = shift;
- logmsg "runtests.pl received SIG$signame, exiting\n";
- stopservers(1);
- die "Somebody sent me a SIG$signame";
-}
-$SIG{INT} = \&catch_zap;
-$SIG{KILL} = \&catch_zap;
-
-##########################################################################
-# Clear all possible '*_proxy' environment variables for various protocols
-# to prevent them to interfere with our testing!
-
-my $protocol;
-foreach $protocol (('ftp', 'http', 'ftps', 'https', 'no')) {
- my $proxy = "${protocol}_proxy";
- # clear lowercase version
- $ENV{$proxy}=undef;
- # clear uppercase version
- $ENV{uc($proxy)}=undef;
-}
-
-# make sure we don't get affected by other variables that control our
-# behaviour
-
-$ENV{'SSL_CERT_DIR'}=undef;
-$ENV{'SSL_CERT_PATH'}=undef;
-$ENV{'CURL_CA_BUNDLE'}=undef;
-
-#######################################################################
-# Check if a given child process has just died. Reaps it if so.
-#
-sub checkdied {
- use POSIX ":sys_wait_h";
- my $pid = $_[0];
- if(not defined $pid || $pid <= 0) {
- return 0;
- }
- my $rc = waitpid($pid, &WNOHANG);
- return ($rc == $pid)?1:0;
-}
-
-#######################################################################
-# Start a new thread/process and run the given command line in there.
-# Return the pids (yes plural) of the new child process to the parent.
-#
-sub startnew {
- my ($cmd, $pidfile, $timeout, $fake)=@_;
-
- logmsg "startnew: $cmd\n" if ($verbose);
-
- my $child = fork();
- my $pid2 = 0;
-
- if(not defined $child) {
- logmsg "startnew: fork() failure detected\n";
- return (-1,-1);
- }
-
- if(0 == $child) {
- # Here we are the child. Run the given command.
-
- # Put an "exec" in front of the command so that the child process
- # keeps this child's process ID.
- exec("exec $cmd") || die "Can't exec() $cmd: $!";
-
- # exec() should never return back here to this process. We protect
- # ourselves by calling die() just in case something goes really bad.
- die "error: exec() has returned";
- }
-
- # Ugly hack but ssh client doesn't support pid files
- if ($fake) {
- if(open(OUT, ">$pidfile")) {
- print OUT $child . "\n";
- close(OUT);
- logmsg "startnew: $pidfile faked with pid=$child\n" if($verbose);
- }
- else {
- logmsg "startnew: failed to write fake $pidfile with pid=$child\n";
- }
- # could/should do a while connect fails sleep a bit and loop
- sleep $timeout;
- if (checkdied($child)) {
- logmsg "startnew: child process has failed to start\n" if($verbose);
- return (-1,-1);
- }
- }
-
- my $count = $timeout;
- while($count--) {
- if(-f $pidfile && -s $pidfile && open(PID, "<$pidfile")) {
- $pid2 = 0 + <PID>;
- close(PID);
- if(($pid2 > 0) && kill(0, $pid2)) {
- # if $pid2 is valid, then make sure this pid is alive, as
- # otherwise it is just likely to be the _previous_ pidfile or
- # similar!
- last;
- }
- # invalidate $pid2 if not actually alive
- $pid2 = 0;
- }
- if (checkdied($child)) {
- logmsg "startnew: child process has died, server might start up\n"
- if($verbose);
- # We can't just abort waiting for the server with a
- # return (-1,-1);
- # because the server might have forked and could still start
- # up normally. Instead, just reduce the amount of time we remain
- # waiting.
- $count >>= 2;
- }
- sleep(1);
- }
-
- # Return two PIDs, the one for the child process we spawned and the one
- # reported by the server itself (in case it forked again on its own).
- # Both (potentially) need to be killed at the end of the test.
- return ($child, $pid2);
-}
-
-
-#######################################################################
-# Check for a command in the PATH of the test server.
-#
-sub checkcmd {
- my ($cmd)=@_;
- my @paths=(split(":", $ENV{'PATH'}), "/usr/sbin", "/usr/local/sbin",
- "/sbin", "/usr/bin", "/usr/local/bin" );
- for(@paths) {
- if( -x "$_/$cmd" && ! -d "$_/$cmd") {
- # executable bit but not a directory!
- return "$_/$cmd";
- }
- }
-}
-
-#######################################################################
-# Check for a command in the PATH of the machine running curl.
-#
-sub checktestcmd {
- my ($cmd)=@_;
- return checkcmd($cmd);
-}
-
-#######################################################################
-# Run the application under test and return its return code
-#
-sub runclient {
- my ($cmd)=@_;
- return system($cmd);
-
-# This is one way to test curl on a remote machine
-# my $out = system("ssh $CLIENTIP cd \'$pwd\' \\; \'$cmd\'");
-# sleep 2; # time to allow the NFS server to be updated
-# return $out;
-}
-
-#######################################################################
-# Run the application under test and return its stdout
-#
-sub runclientoutput {
- my ($cmd)=@_;
- return `$cmd`;
-
-# This is one way to test curl on a remote machine
-# my @out = `ssh $CLIENTIP cd \'$pwd\' \\; \'$cmd\'`;
-# sleep 2; # time to allow the NFS server to be updated
-# return @out;
- }
-
-#######################################################################
-# Memory allocation test and failure torture testing.
-#
-sub torture {
- my $testcmd = shift;
- my $gdbline = shift;
-
- # remove memdump first to be sure we get a new nice and clean one
- unlink($memdump);
-
- # First get URL from test server, ignore the output/result
- runclient($testcmd);
-
- logmsg " CMD: $testcmd\n" if($verbose);
-
- # memanalyze -v is our friend, get the number of allocations made
- my $count=0;
- my @out = `$memanalyze -v $memdump`;
- for(@out) {
- if(/^Allocations: (\d+)/) {
- $count = $1;
- last;
- }
- }
- if(!$count) {
- logmsg " found no allocs to make fail\n";
- return 0;
- }
-
- logmsg " $count allocations to make fail\n";
-
- for ( 1 .. $count ) {
- my $limit = $_;
- my $fail;
- my $dumped_core;
-
- if($tortalloc && ($tortalloc != $limit)) {
- next;
- }
-
- logmsg "Fail alloc no: $limit\r" if($verbose);
-
- # make the memory allocation function number $limit return failure
- $ENV{'CURL_MEMLIMIT'} = $limit;
-
- # remove memdump first to be sure we get a new nice and clean one
- unlink($memdump);
-
- logmsg "**> Alloc number $limit is now set to fail <**\n" if($gdbthis);
-
- my $ret;
- if($gdbthis) {
- runclient($gdbline)
- }
- else {
- $ret = runclient($testcmd);
- }
-
- # Now clear the variable again
- $ENV{'CURL_MEMLIMIT'} = undef;
-
- if(-r "core") {
- # there's core file present now!
- logmsg " core dumped\n";
- $dumped_core = 1;
- $fail = 2;
- }
-
- # verify that it returns a proper error code, doesn't leak memory
- # and doesn't core dump
- if($ret & 255) {
- logmsg " system() returned $ret\n";
- $fail=1;
- }
- else {
- my @memdata=`$memanalyze $memdump`;
- my $leak=0;
- for(@memdata) {
- if($_ ne "") {
- # well it could be other memory problems as well, but
- # we call it leak for short here
- $leak=1;
- }
- }
- if($leak) {
- logmsg "** MEMORY FAILURE\n";
- logmsg @memdata;
- logmsg `$memanalyze -l $memdump`;
- $fail = 1;
- }
- }
- if($fail) {
- logmsg " Failed on alloc number $limit in test.\n",
- " invoke with -t$limit to repeat this single case.\n";
- stopservers($verbose);
- return 1;
- }
- }
-
- logmsg "torture OK\n";
- return 0;
-}
-
-#######################################################################
-# stop the given test server (pid)
-#
-sub stopserver {
- my ($pid) = @_;
-
- if(not defined $pid || $pid <= 0) {
- return; # whad'da'ya wanna'da with no pid ?
- }
-
- # It might be more than one pid
- # Send each one a SIGTERM to gracefully kill it
-
- my @killed;
- my @pids = split(/\s+/, $pid);
- for (@pids) {
- chomp($_);
- if($_ =~ /^(\d+)$/) {
- if(($1 > 0) && kill(0, $1)) {
- if($verbose) {
- logmsg "RUN: Test server pid $1 signalled to die\n";
- }
- kill(15, $1); # die!
- push @killed, $1;
- }
- }
- }
-
- # Give each process killed up to a few seconds to die, then send
- # a SIGKILL to finish it off for good.
- for (@killed) {
- my $count = 5; # wait for this many seconds for server to die
- while($count--) {
- if (!kill(0, $_) || checkdied($_)) {
- last;
- }
- sleep(1);
- }
- if ($count < 0) {
- logmsg "RUN: forcing pid $_ to die with SIGKILL\n";
- kill(9, $_); # die!
- }
- }
-}
-
-#######################################################################
-# Verify that the server that runs on $ip, $port is our server. This also
-# implies that we can speak with it, as there might be occasions when the
-# server runs fine but we cannot talk to it ("Failed to connect to ::1: Can't
-# assign requested address" #
-
-sub verifyhttp {
- my ($proto, $ip, $port) = @_;
- my $cmd = "$CURL --max-time $server_response_maxtime --output $LOGDIR/verifiedserver --insecure --silent --verbose --globoff \"$proto://$ip:$port/verifiedserver\" 2>$LOGDIR/verifyhttp";
- my $pid;
-
- # verify if our/any server is running on this port
- logmsg "CMD; $cmd\n" if ($verbose);
- my $res = runclient($cmd);
-
- $res >>= 8; # rotate the result
- my $data;
-
- if($res && $verbose) {
- open(ERR, "<$LOGDIR/verifyhttp");
- my @e = <ERR>;
- close(ERR);
- logmsg "RUN: curl command returned $res\n";
- for(@e) {
- if($_ !~ /^([ \t]*)$/) {
- logmsg "RUN: $_";
- }
- }
- }
- open(FILE, "<$LOGDIR/verifiedserver");
- my @file=<FILE>;
- close(FILE);
- $data=$file[0]; # first line
-
- if ( $data =~ /WE ROOLZ: (\d+)/ ) {
- $pid = 0+$1;
- }
- elsif($res == 6) {
- # curl: (6) Couldn't resolve host '::1'
- logmsg "RUN: failed to resolve host ($proto://$ip:$port/verifiedserver)\n";
- return -1;
- }
- elsif($data || ($res != 7)) {
- logmsg "RUN: Unknown server is running on port $port\n";
- return -1;
- }
- return $pid;
-}
-
-#######################################################################
-# Verify that the server that runs on $ip, $port is our server. This also
-# implies that we can speak with it, as there might be occasions when the
-# server runs fine but we cannot talk to it ("Failed to connect to ::1: Can't
-# assign requested address" #
-
-sub verifyftp {
- my ($proto, $ip, $port) = @_;
- my $pid;
- my $time=time();
- my $extra;
- if($proto eq "ftps") {
- $extra = "--insecure --ftp-ssl-control ";
- }
- my $cmd="$CURL --max-time $server_response_maxtime --silent --verbose --globoff $extra\"$proto://$ip:$port/verifiedserver\" 2>$LOGDIR/verifyftp";
- # check if this is our server running on this port:
- my @data=runclientoutput($cmd);
- logmsg "RUN: $cmd\n" if($verbose);
- my $line;
-
- foreach $line (@data) {
- if ( $line =~ /WE ROOLZ: (\d+)/ ) {
- # this is our test server with a known pid!
- $pid = 0+$1;
- last;
- }
- }
- if($pid <= 0 && $data[0]) {
- # this is not a known server
- logmsg "RUN: Unknown server on our FTP port: $port\n";
- return 0;
- }
- # we can/should use the time it took to verify the FTP server as a measure
- # on how fast/slow this host/FTP is.
- my $took = time()-$time;
-
- if($verbose) {
- logmsg "RUN: Verifying our test FTP server took $took seconds\n";
- }
- $ftpchecktime = $took?$took:1; # make sure it never is zero
-
- return $pid;
-}
-
-#######################################################################
-# Verify that the ssh server has written out its pidfile, recovering
-# the pid from the file and returning it if a process with that pid is
-# actually alive.
-
-sub verifyssh {
- my ($proto, $ip, $port) = @_;
- my $pid = 0;
- if(open(FILE, "<$SSHPIDFILE")) {
- $pid=0+<FILE>;
- close(FILE);
- }
- if($pid > 0) {
- # if we have a pid it is actually our ssh server,
- # since runsshserver() unlinks previous pidfile
- if(!kill(0, $pid)) {
- logmsg "RUN: SSH server has died after starting up\n";
- checkdied($pid);
- unlink($SSHPIDFILE);
- $pid = -1;
- }
- }
- return $pid;
-}
-
-#######################################################################
-# Verify that we can connect to the sftp server, properly authenticate
-# with generated config and key files and run a simple remote pwd.
-
-sub verifysftp {
- my ($proto, $ip, $port) = @_;
- my $verified = 0;
- # Find out sftp client canonical file name
- my $sftp = find_sftp();
- if(!$sftp) {
- logmsg "RUN: SFTP server cannot find $sftpexe\n";
- return -1;
- }
- # Find out ssh client canonical file name
- my $ssh = find_ssh();
- if(!$ssh) {
- logmsg "RUN: SFTP server cannot find $sshexe\n";
- return -1;
- }
- # Connect to sftp server, authenticate and run a remote pwd
- # command using our generated configuration and key files
- my $cmd = "$sftp -b $sftpcmds -F $sftpconfig -S $ssh $ip > $sftplog 2>&1";
- my $res = runclient($cmd);
- # Search for pwd command response in log file
- if(open(SFTPLOGFILE, "<$sftplog")) {
- while(<SFTPLOGFILE>) {
- if(/^Remote working directory: /) {
- $verified = 1;
- last;
- }
- }
- close(SFTPLOGFILE);
- }
- return $verified;
-}
-
-
-#######################################################################
-# STUB for verifying socks
-
-sub verifysocks {
- my ($proto, $ip, $port) = @_;
- my $pid = 0;
- if(open(FILE, "<$SOCKSPIDFILE")) {
- $pid=0+<FILE>;
- close(FILE);
- }
- if($pid > 0) {
- # if we have a pid it is actually our socks server,
- # since runsocksserver() unlinks previous pidfile
- if(!kill(0, $pid)) {
- logmsg "RUN: SOCKS server has died after starting up\n";
- checkdied($pid);
- unlink($SOCKSPIDFILE);
- $pid = -1;
- }
- }
- return $pid;
-}
-
-#######################################################################
-# Verify that the server that runs on $ip, $port is our server.
-# Retry over several seconds before giving up. The ssh server in
-# particular can take a long time to start if it needs to generate
-# keys on a slow or loaded host.
-#
-
-my %protofunc = ('http' => \&verifyhttp,
- 'https' => \&verifyhttp,
- 'ftp' => \&verifyftp,
- 'ftps' => \&verifyftp,
- 'tftp' => \&verifyftp,
- 'ssh' => \&verifyssh,
- 'socks' => \&verifysocks);
-
-sub verifyserver {
- my ($proto, $ip, $port) = @_;
-
- my $count = 30; # try for this many seconds
- my $pid;
-
- while($count--) {
- my $fun = $protofunc{$proto};
-
- $pid = &$fun($proto, $ip, $port);
-
- if($pid > 0) {
- last;
- }
- elsif($pid < 0) {
- # a real failure, stop trying and bail out
- return 0;
- }
- sleep(1);
- }
- return $pid;
-}
-
-
-
-#######################################################################
-# start the http server
-#
-sub runhttpserver {
- my ($verbose, $ipv6) = @_;
- my $RUNNING;
- my $pidfile = $HTTPPIDFILE;
- my $port = $HTTPPORT;
- my $ip = $HOSTIP;
- my $nameext;
- my $fork = $forkserver?"--fork":"";
-
- if($ipv6) {
- # if IPv6, use a different setup
- $pidfile = $HTTP6PIDFILE;
- $port = $HTTP6PORT;
- $ip = $HOST6IP;
- $nameext="-ipv6";
- }
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- stopserver($pid);
- }
- unlink($pidfile);
-
- my $flag=$debugprotocol?"-v ":"";
- my $dir=$ENV{'srcdir'};
- if($dir) {
- $flag .= "-d \"$dir\" ";
- }
-
- my $cmd="$perl $srcdir/httpserver.pl -p $pidfile $fork$flag $port $ipv6";
- my ($httppid, $pid2) =
- startnew($cmd, $pidfile, 15, 0); # start the server in a new process
-
- if($httppid <= 0 || !kill(0, $httppid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the HTTP$nameext server\n";
- stopserver("$pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Server is up. Verify that we can speak to it.
- my $pid3 = verifyserver("http", $ip, $port);
- if(!$pid3) {
- logmsg "RUN: HTTP$nameext server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- stopserver("$httppid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- $pid2 = $pid3;
-
- if($verbose) {
- logmsg "RUN: HTTP$nameext server is now running PID $httppid\n";
- }
-
- sleep(1);
-
- return ($httppid, $pid2);
-}
-
-#######################################################################
-# start the https server (or rather, tunnel)
-#
-sub runhttpsserver {
- my ($verbose, $ipv6) = @_;
- my $STATUS;
- my $RUNNING;
- my $ip = $HOSTIP;
- my $pidfile = $HTTPSPIDFILE;
-
- if(!$stunnel) {
- return 0;
- }
-
- if($ipv6) {
- # not complete yet
- $ip = $HOST6IP;
- }
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- # kill previous stunnel!
- stopserver($pid);
- }
- unlink($pidfile);
-
- my $flag=$debugprotocol?"-v ":"";
- my $cmd="$perl $srcdir/httpsserver.pl $flag -p https -s \"$stunnel\" -d $srcdir -r $HTTPPORT $HTTPSPORT";
-
- my ($httpspid, $pid2) = startnew($cmd, $pidfile, 15, 0);
-
- if($httpspid <= 0 || !kill(0, $httpspid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the HTTPS server\n";
- stopservers($verbose);
- $doesntrun{$pidfile} = 1;
- return(0,0);
- }
-
- # Server is up. Verify that we can speak to it.
- my $pid3 = verifyserver("https", $ip, $HTTPSPORT);
- if(!$pid3) {
- logmsg "RUN: HTTPS server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- stopserver("$httpspid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- # Here pid3 is actually the pid returned by the unsecure-http server.
-
- if($verbose) {
- logmsg "RUN: HTTPS server is now running PID $httpspid\n";
- }
-
- sleep(1);
-
- return ($httpspid, $pid2);
-}
-
-#######################################################################
-# start the ftp server
-#
-sub runftpserver {
- my ($id, $verbose, $ipv6) = @_;
- my $STATUS;
- my $RUNNING;
- my $port = $id?$FTP2PORT:$FTPPORT;
- # check for pidfile
- my $pidfile = $id?$FTP2PIDFILE:$FTPPIDFILE;
- my $ip=$HOSTIP;
- my $nameext;
- my $cmd;
-
- if($ipv6) {
- # if IPv6, use a different setup
- $pidfile = $FTP6PIDFILE;
- $port = $FTP6PORT;
- $ip = $HOST6IP;
- $nameext="-ipv6";
- }
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- stopserver($pid);
- }
- unlink($pidfile);
-
- # start our server:
- my $flag=$debugprotocol?"-v ":"";
- $flag .= "-s \"$srcdir\" ";
- my $addr;
- if($id) {
- $flag .="--id $id ";
- }
- if($ipv6) {
- $flag .="--ipv6 ";
- $addr = $HOST6IP;
- } else {
- $addr = $HOSTIP;
- }
-
- $cmd="$perl $srcdir/ftpserver.pl --pidfile $pidfile $flag --port $port --addr \"$addr\"";
- my ($ftppid, $pid2) = startnew($cmd, $pidfile, 15, 0);
-
- if($ftppid <= 0 || !kill(0, $ftppid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the FTP$id$nameext server\n";
- stopserver("$pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Server is up. Verify that we can speak to it.
- my $pid3 = verifyserver("ftp", $ip, $port);
- if(!$pid3) {
- logmsg "RUN: FTP$id$nameext server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- stopserver("$ftppid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- $pid2 = $pid3;
-
- if($verbose) {
- logmsg "RUN: FTP$id$nameext server is now running PID $ftppid\n";
- }
-
- sleep(1);
-
- return ($pid2, $ftppid);
-}
-
-#######################################################################
-# start the ftps server (or rather, tunnel)
-#
-sub runftpsserver {
- my ($verbose, $ipv6) = @_;
- my $STATUS;
- my $RUNNING;
- my $ip = $HOSTIP;
- my $pidfile = $FTPSPIDFILE;
-
- if(!$stunnel) {
- return 0;
- }
-
- if($ipv6) {
- # not complete yet
- $ip = $HOST6IP;
- }
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- # kill previous stunnel!
- stopserver($pid);
- }
- unlink($pidfile);
-
- my $flag=$debugprotocol?"-v ":"";
- my $cmd="$perl $srcdir/httpsserver.pl $flag -p ftps -s \"$stunnel\" -d $srcdir -r $FTPPORT $FTPSPORT";
-
- my ($ftpspid, $pid2) = startnew($cmd, $pidfile, 15, 0);
-
- if($ftpspid <= 0 || !kill(0, $ftpspid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the FTPS server\n";
- stopservers($verbose);
- $doesntrun{$pidfile} = 1;
- return(0,0);
- }
-
- # Server is up. Verify that we can speak to it.
- my $pid3 = verifyserver("ftps", $ip, $FTPSPORT);
- if(!$pid3) {
- logmsg "RUN: FTPS server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- stopserver("$ftpspid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- # Here pid3 is actually the pid returned by the unsecure-ftp server.
-
- if($verbose) {
- logmsg "RUN: FTPS server is now running PID $ftpspid\n";
- }
-
- sleep(1);
-
- return ($ftpspid, $pid2);
-}
-
-#######################################################################
-# start the tftp server
-#
-sub runtftpserver {
- my ($id, $verbose, $ipv6) = @_;
- my $STATUS;
- my $RUNNING;
- my $port = $TFTPPORT;
- # check for pidfile
- my $pidfile = $TFTPPIDFILE;
- my $ip=$HOSTIP;
- my $nameext;
- my $cmd;
-
- if($ipv6) {
- # if IPv6, use a different setup
- $pidfile = $TFTP6PIDFILE;
- $port = $TFTP6PORT;
- $ip = $HOST6IP;
- $nameext="-ipv6";
- }
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- stopserver($pid);
- }
- unlink($pidfile);
-
- # start our server:
- my $flag=$debugprotocol?"-v ":"";
- $flag .= "-s \"$srcdir\" ";
- if($id) {
- $flag .="--id $id ";
- }
- if($ipv6) {
- $flag .="--ipv6 ";
- }
-
- $cmd="./server/tftpd --pidfile $pidfile $flag $port";
- my ($tftppid, $pid2) = startnew($cmd, $pidfile, 15, 0);
-
- if($tftppid <= 0 || !kill(0, $tftppid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the TFTP$id$nameext server\n";
- stopserver("$pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Server is up. Verify that we can speak to it.
- my $pid3 = verifyserver("tftp", $ip, $port);
- if(!$pid3) {
- logmsg "RUN: TFTP$id$nameext server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- stopserver("$tftppid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- $pid2 = $pid3;
-
- if($verbose) {
- logmsg "RUN: TFTP$id$nameext server is now running PID $tftppid\n";
- }
-
- sleep(1);
-
- return ($pid2, $tftppid);
-}
-
-
-#######################################################################
-# Start the scp/sftp server
-#
-sub runsshserver {
- my ($id, $verbose, $ipv6) = @_;
- my $ip=$HOSTIP;
- my $port = $SSHPORT;
- my $socksport = $SOCKSPORT;
- my $pidfile = $SSHPIDFILE;
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- stopserver($pid);
- }
- unlink($pidfile);
-
- my $flag=$verbose?'-v ':'';
- $flag .= '-d ' if($debugprotocol);
-
- my $cmd="$perl $srcdir/sshserver.pl ${flag}-u $USER -l $ip -p $port -s $socksport";
- my ($sshpid, $pid2) = startnew($cmd, $pidfile, 60, 0);
-
- # on loaded systems sshserver start up can take longer than the timeout
- # passed to startnew, when this happens startnew completes without being
- # able to read the pidfile and consequently returns a zero pid2 above.
-
- if($sshpid <= 0 || !kill(0, $sshpid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the SSH server\n";
- stopserver("$pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # ssh server verification allows some extra time for the server to start up
- # and gives us the opportunity of recovering the pid from the pidfile, when
- # this verification succeeds the recovered pid is assigned to pid2.
-
- my $pid3 = verifyserver("ssh",$ip,$port);
- if(!$pid3) {
- logmsg "RUN: SSH server failed verification\n";
- # failed to fetch server pid. Kill the server and return failure
- stopserver("$sshpid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- $pid2 = $pid3;
-
- # once it is known that the ssh server is alive, sftp server verification
- # is performed actually connecting to it, authenticating and performing a
- # very simple remote command. This verification is tried only one time.
-
- if(verifysftp("sftp",$ip,$port) < 1) {
- logmsg "RUN: SFTP server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- display_sftplog();
- display_sftpconfig();
- display_sshdlog();
- display_sshdconfig();
- stopserver("$sshpid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- if($verbose) {
- logmsg "RUN: SSH server is now running PID $pid2\n";
- }
-
- return ($pid2, $sshpid);
-}
-
-#######################################################################
-# Start the socks server
-#
-sub runsocksserver {
- my ($id, $verbose, $ipv6) = @_;
- my $ip=$HOSTIP;
- my $port = $SOCKSPORT;
- my $pidfile = $SOCKSPIDFILE;
-
- # don't retry if the server doesn't work
- if ($doesntrun{$pidfile}) {
- return (0,0);
- }
-
- my $pid = checkserver($pidfile);
- if($pid > 0) {
- stopserver($pid);
- }
- unlink($pidfile);
-
- # The ssh server must be already running
- if(!$run{'ssh'}) {
- logmsg "RUN: SOCKS server cannot find running SSH server\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Find out ssh daemon canonical file name
- my $sshd = find_sshd();
- if(!$sshd) {
- logmsg "RUN: SOCKS server cannot find $sshdexe\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Find out ssh daemon version info
- ($sshdid, $sshdvernum, $sshdverstr, $sshderror) = sshversioninfo($sshd);
- if(!$sshdid) {
- # Not an OpenSSH or SunSSH ssh daemon
- logmsg "$sshderror\n" if($verbose);
- logmsg "SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- logmsg "ssh server found $sshd is $sshdverstr\n" if($verbose);
-
- # Find out ssh client canonical file name
- my $ssh = find_ssh();
- if(!$ssh) {
- logmsg "RUN: SOCKS server cannot find $sshexe\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Find out ssh client version info
- my ($sshid, $sshvernum, $sshverstr, $ssherror) = sshversioninfo($ssh);
- if(!$sshid) {
- # Not an OpenSSH or SunSSH ssh client
- logmsg "$ssherror\n" if($verbose);
- logmsg "SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Verify minimum ssh client version
- if((($sshid =~ /OpenSSH/) && ($sshvernum < 299)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum < 100))) {
- logmsg "ssh client found $ssh is $sshverstr\n";
- logmsg "SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- logmsg "ssh client found $ssh is $sshverstr\n" if($verbose);
-
- # Verify if ssh client and ssh daemon versions match
- if(($sshdid ne $sshid) || ($sshdvernum != $sshvernum)) {
- # Our test harness might work with slightly mismatched versions
- logmsg "Warning: version mismatch: sshd $sshdverstr - ssh $sshverstr\n"
- if($verbose);
- }
-
- # Config file options for ssh client are previously set from sshserver.pl
- if(! -e $sshconfig) {
- logmsg "RUN: SOCKS server cannot find $sshconfig\n";
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # start our socks server
- my $cmd="$ssh -N -F $sshconfig $ip > $sshlog 2>&1";
- my ($sshpid, $pid2) = startnew($cmd, $pidfile, 30, 1);
-
- if($sshpid <= 0 || !kill(0, $sshpid)) {
- # it is NOT alive
- logmsg "RUN: failed to start the SOCKS server\n";
- display_sshlog();
- display_sshconfig();
- display_sshdlog();
- display_sshdconfig();
- stopserver("$pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
-
- # Ugly hack but ssh doesn't support pid files
- my $pid3 = verifyserver("socks",$ip,$port);
- if(!$pid3) {
- logmsg "RUN: SOCKS server failed verification\n";
- # failed to talk to it properly. Kill the server and return failure
- stopserver("$sshpid $pid2");
- $doesntrun{$pidfile} = 1;
- return (0,0);
- }
- $pid2 = $pid3;
-
- if($verbose) {
- logmsg "RUN: SOCKS server is now running PID $pid2\n";
- }
-
- return ($pid2, $sshpid);
-}
-
-#######################################################################
-# Remove all files in the specified directory
-#
-sub cleardir {
- my $dir = $_[0];
- my $count;
- my $file;
-
- # Get all files
- opendir(DIR, $dir) ||
- return 0; # can't open dir
- while($file = readdir(DIR)) {
- if($file !~ /^\./) {
- unlink("$dir/$file");
- $count++;
- }
- }
- closedir DIR;
- return $count;
-}
-
-#######################################################################
-# filter out the specified pattern from the given input file and store the
-# results in the given output file
-#
-sub filteroff {
- my $infile=$_[0];
- my $filter=$_[1];
- my $ofile=$_[2];
-
- open(IN, "<$infile")
- || return 1;
-
- open(OUT, ">$ofile")
- || return 1;
-
- # logmsg "FILTER: off $filter from $infile to $ofile\n";
-
- while(<IN>) {
- $_ =~ s/$filter//;
- print OUT $_;
- }
- close(IN);
- close(OUT);
- return 0;
-}
-
-#######################################################################
-# compare test results with the expected output, we might filter off
-# some pattern that is allowed to differ, output test results
-#
-
-sub compare {
- # filter off patterns _before_ this comparison!
- my ($subject, $firstref, $secondref)=@_;
-
- my $result = compareparts($firstref, $secondref);
-
- if($result) {
- if(!$short) {
- logmsg "\n $subject FAILED:\n";
- logmsg showdiff($LOGDIR, $firstref, $secondref);
- }
- else {
- logmsg "FAILED\n";
- }
- }
- return $result;
-}
-
-#######################################################################
-# display information about curl and the host the test suite runs on
-#
-sub checksystem {
-
- unlink($memdump); # remove this if there was one left
-
- my $feat;
- my $curl;
- my $libcurl;
- my $versretval;
- my $versnoexec;
- my @version=();
-
- my $curlverout="$LOGDIR/curlverout.log";
- my $curlvererr="$LOGDIR/curlvererr.log";
- my $versioncmd="$CURL --version 1>$curlverout 2>$curlvererr";
-
- unlink($curlverout);
- unlink($curlvererr);
-
- $versretval = runclient($versioncmd);
- $versnoexec = $!;
-
- open(VERSOUT, "<$curlverout");
- @version = <VERSOUT>;
- close(VERSOUT);
-
- for(@version) {
- chomp;
-
- if($_ =~ /^curl/) {
- $curl = $_;
- $curl =~ s/^(.*)(libcurl.*)/$1/g;
-
- $libcurl = $2;
- if($curl =~ /mingw32/) {
- # This is a windows minw32 build, we need to translate the
- # given path to the "actual" windows path.
-
- my @m = `mount`;
- my $matchlen;
- my $bestmatch;
- my $mount;
-
-# example mount output:
-# C:\DOCUME~1\Temp on /tmp type user (binmode,noumount)
-# c:\ActiveState\perl on /perl type user (binmode)
-# C:\msys\1.0\bin on /usr/bin type user (binmode,cygexec,noumount)
-# C:\msys\1.0\bin on /bin type user (binmode,cygexec,noumount)
-
- foreach $mount (@m) {
- if( $mount =~ /(.*) on ([^ ]*) type /) {
- my ($mingw, $real)=($2, $1);
- if($pwd =~ /^$mingw/) {
- # the path we got from pwd starts with the path
- # we found on this line in the mount output
-
- my $len = length($real);
- if($len > $matchlen) {
- # we remember the match that is the longest
- $matchlen = $len;
- $bestmatch = $real;
- }
- }
- }
- }
- if(!$matchlen) {
- logmsg "Serious error, can't find our \"real\" path\n";
- }
- else {
- # now prepend the prefix from the mount command to build
- # our "actual path"
- $pwd = "$bestmatch$pwd";
- }
- $pwd =~ s#\\#/#g;
- }
- elsif ($curl =~ /win32/) {
- # Native Windows builds don't understand the
- # output of cygwin's pwd. It will be
- # something like /cygdrive/c/<some path>.
- #
- # Use the cygpath utility to convert the
- # working directory to a Windows friendly
- # path. The -m option converts to use drive
- # letter:, but it uses / instead \. Forward
- # slashes (/) are easier for us. We don't
- # have to escape them to get them to curl
- # through a shell.
- chomp($pwd = `cygpath -m $pwd`);
- }
- elsif ($libcurl =~ /openssl/i) {
- $has_openssl=1;
- $ssllib="OpenSSL";
- }
- elsif ($libcurl =~ /gnutls/i) {
- $has_gnutls=1;
- $ssllib="GnuTLS";
- }
- elsif ($libcurl =~ /nss/i) {
- $has_nss=1;
- $ssllib="NSS";
- }
- elsif ($libcurl =~ /yassl/i) {
- $has_yassl=1;
- $has_openssl=1;
- $ssllib="yassl";
- }
- }
- elsif($_ =~ /^Protocols: (.*)/i) {
- # these are the protocols compiled in to this libcurl
- @protocols = split(' ', $1);
-
- # Generate a "proto-ipv6" version of each protocol to match the
- # IPv6 <server> name. This works even if IPv6 support isn't
- # compiled in because the <features> test will fail.
- push @protocols, map($_ . "-ipv6", @protocols);
-
- # 'none' is used in test cases to mean no server
- push @protocols, ('none');
- }
- elsif($_ =~ /^Features: (.*)/i) {
- $feat = $1;
- if($feat =~ /debug/i) {
- # debug is a listed "feature", use that knowledge
- $curl_debug = 1;
- # set the NETRC debug env
- $ENV{'CURL_DEBUG_NETRC'} = "$LOGDIR/netrc";
- }
- if($feat =~ /SSL/i) {
- # ssl enabled
- $ssl_version=1;
- }
- if($feat =~ /Largefile/i) {
- # large file support
- $large_file=1;
- }
- if($feat =~ /IDN/i) {
- # IDN support
- $has_idn=1;
- }
- if($feat =~ /IPv6/i) {
- $has_ipv6 = 1;
- }
- if($feat =~ /libz/i) {
- $has_libz = 1;
- }
- if($feat =~ /NTLM/i) {
- # NTLM enabled
- $has_ntlm=1;
- }
- }
- }
- if(!$curl) {
- logmsg "unable to get curl's version, further details are:\n";
- logmsg "issued command: \n";
- logmsg "$versioncmd \n";
- if ($versretval == -1) {
- logmsg "command failed with: \n";
- logmsg "$versnoexec \n";
- }
- elsif ($versretval & 127) {
- logmsg sprintf("command died with signal %d, and %s coredump.\n",
- ($versretval & 127), ($versretval & 128)?"a":"no");
- }
- else {
- logmsg sprintf("command exited with value %d \n", $versretval >> 8);
- }
- logmsg "contents of $curlverout: \n";
- displaylogcontent("$curlverout");
- logmsg "contents of $curlvererr: \n";
- displaylogcontent("$curlvererr");
- die "couldn't get curl's version";
- }
-
- if(-r "../lib/config.h") {
- open(CONF, "<../lib/config.h");
- while(<CONF>) {
- if($_ =~ /^\#define HAVE_GETRLIMIT/) {
- $has_getrlimit = 1;
- }
- }
- close(CONF);
- }
-
- if($has_ipv6) {
- # client has ipv6 support
-
- # check if the HTTP server has it!
- my @sws = `server/sws --version`;
- if($sws[0] =~ /IPv6/) {
- # HTTP server has ipv6 support!
- $http_ipv6 = 1;
- }
-
- # check if the FTP server has it!
- @sws = `server/sockfilt --version`;
- if($sws[0] =~ /IPv6/) {
- # FTP server has ipv6 support!
- $ftp_ipv6 = 1;
- }
- }
-
- if(!$curl_debug && $torture) {
- die "can't run torture tests since curl was not build with debug";
- }
-
- # curl doesn't list cryptographic support separately, so assume it's
- # always available
- $has_crypto=1;
-
- my $hostname=join(' ', runclientoutput("hostname"));
- my $hosttype=join(' ', runclientoutput("uname -a"));
-
- logmsg ("********* System characteristics ******** \n",
- "* $curl\n",
- "* $libcurl\n",
- "* Features: $feat\n",
- "* Host: $hostname",
- "* System: $hosttype");
-
- logmsg sprintf("* Server SSL: %s\n", $stunnel?"ON":"OFF");
- logmsg sprintf("* libcurl SSL: %s\n", $ssl_version?"ON":"OFF");
- logmsg sprintf("* libcurl debug: %s\n", $curl_debug?"ON":"OFF");
- logmsg sprintf("* valgrind: %s\n", $valgrind?"ON":"OFF");
- logmsg sprintf("* HTTP IPv6 %s\n", $http_ipv6?"ON":"OFF");
- logmsg sprintf("* FTP IPv6 %s\n", $ftp_ipv6?"ON":"OFF");
-
- logmsg sprintf("* HTTP port: %d\n", $HTTPPORT);
- logmsg sprintf("* FTP port: %d\n", $FTPPORT);
- logmsg sprintf("* FTP port 2: %d\n", $FTP2PORT);
- if($stunnel) {
- logmsg sprintf("* FTPS port: %d\n", $FTPSPORT);
- logmsg sprintf("* HTTPS port: %d\n", $HTTPSPORT);
- }
- if($http_ipv6) {
- logmsg sprintf("* HTTP IPv6 port: %d\n", $HTTP6PORT);
- }
- if($ftp_ipv6) {
- logmsg sprintf("* FTP IPv6 port: %d\n", $FTP6PORT);
- }
- logmsg sprintf("* TFTP port: %d\n", $TFTPPORT);
- if($tftp_ipv6) {
- logmsg sprintf("* TFTP IPv6 port: %d\n", $TFTP6PORT);
- }
- logmsg sprintf("* SCP/SFTP port: %d\n", $SSHPORT);
- logmsg sprintf("* SOCKS port: %d\n", $SOCKSPORT);
-
- if($ssl_version) {
- logmsg sprintf("* SSL library: %s\n", $ssllib);
- }
-
- $has_textaware = ($^O eq 'MSWin32') || ($^O eq 'msys');
-
- logmsg sprintf("* Libtool lib: %s\n", $libtool?"ON":"OFF");
- logmsg "***************************************** \n";
-}
-
-#######################################################################
-# substitute the variable stuff into either a joined up file or
-# a command, in either case passed by reference
-#
-sub subVariables {
- my ($thing) = @_;
- $$thing =~ s/%HOSTIP/$HOSTIP/g;
- $$thing =~ s/%HTTPPORT/$HTTPPORT/g;
- $$thing =~ s/%HOST6IP/$HOST6IP/g;
- $$thing =~ s/%HTTP6PORT/$HTTP6PORT/g;
- $$thing =~ s/%HTTPSPORT/$HTTPSPORT/g;
- $$thing =~ s/%FTPPORT/$FTPPORT/g;
- $$thing =~ s/%FTP6PORT/$FTP6PORT/g;
- $$thing =~ s/%FTP2PORT/$FTP2PORT/g;
- $$thing =~ s/%FTPSPORT/$FTPSPORT/g;
- $$thing =~ s/%SRCDIR/$srcdir/g;
- $$thing =~ s/%PWD/$pwd/g;
- $$thing =~ s/%TFTPPORT/$TFTPPORT/g;
- $$thing =~ s/%TFTP6PORT/$TFTP6PORT/g;
- $$thing =~ s/%SSHPORT/$SSHPORT/g;
- $$thing =~ s/%SOCKSPORT/$SOCKSPORT/g;
- $$thing =~ s/%CURL/$CURL/g;
- $$thing =~ s/%USER/$USER/g;
- $$thing =~ s/%CLIENTIP/$CLIENTIP/g;
- $$thing =~ s/%CLIENT6IP/$CLIENT6IP/g;
-
- # The purpose of FTPTIME2 and FTPTIME3 is to provide times that can be
- # used for time-out tests and that whould work on most hosts as these
- # adjust for the startup/check time for this particular host. We needed
- # to do this to make the test suite run better on very slow hosts.
-
- my $ftp2 = $ftpchecktime * 2;
- my $ftp3 = $ftpchecktime * 3;
-
- $$thing =~ s/%FTPTIME2/$ftp2/g;
- $$thing =~ s/%FTPTIME3/$ftp3/g;
-}
-
-sub fixarray {
- my @in = @_;
-
- for(@in) {
- subVariables \$_;
- }
- return @in;
-}
-
-#######################################################################
-# Run a single specified test case
-#
-
-sub singletest {
- my ($testnum, $count, $total)=@_;
-
- my @what;
- my $why;
- my %feature;
- my $cmd;
-
- # load the test case file definition
- if(loadtest("${TESTDIR}/test${testnum}")) {
- if($verbose) {
- # this is not a test
- logmsg "RUN: $testnum doesn't look like a test case\n";
- }
- $why = "no test";
- }
- else {
- @what = getpart("client", "features");
- }
-
- for(@what) {
- my $f = $_;
- $f =~ s/\s//g;
-
- $feature{$f}=$f; # we require this feature
-
- if($f eq "SSL") {
- if($ssl_version) {
- next;
- }
- }
- elsif($f eq "OpenSSL") {
- if($has_openssl) {
- next;
- }
- }
- elsif($f eq "GnuTLS") {
- if($has_gnutls) {
- next;
- }
- }
- elsif($f eq "NSS") {
- if($has_nss) {
- next;
- }
- }
- elsif($f eq "netrc_debug") {
- if($curl_debug) {
- next;
- }
- }
- elsif($f eq "large_file") {
- if($large_file) {
- next;
- }
- }
- elsif($f eq "idn") {
- if($has_idn) {
- next;
- }
- }
- elsif($f eq "ipv6") {
- if($has_ipv6) {
- next;
- }
- }
- elsif($f eq "libz") {
- if($has_libz) {
- next;
- }
- }
- elsif($f eq "NTLM") {
- if($has_ntlm) {
- next;
- }
- }
- elsif($f eq "getrlimit") {
- if($has_getrlimit) {
- next;
- }
- }
- elsif($f eq "crypto") {
- if($has_crypto) {
- next;
- }
- }
- elsif($f eq "socks") {
- next;
- }
- # See if this "feature" is in the list of supported protocols
- elsif (grep /^$f$/, @protocols) {
- next;
- }
-
- $why = "curl lacks $f support";
- last;
- }
-
- if(!$why) {
- my @keywords = getpart("info", "keywords");
- my $match;
- my $k;
- for $k (@keywords) {
- chomp $k;
- if ($disabled_keywords{$k}) {
- $why = "disabled by keyword";
- } elsif ($enabled_keywords{$k}) {
- $match = 1;
- }
- }
-
- if(!$why && !$match && %enabled_keywords) {
- $why = "disabled by missing keyword";
- }
- }
-
- if(!$why) {
- $why = serverfortest($testnum);
- }
-
- if(!$why) {
- my @precheck = getpart("client", "precheck");
- $cmd = $precheck[0];
- chomp $cmd;
- subVariables \$cmd;
- if($cmd) {
- my @o = `$cmd 2>/dev/null`;
- if($o[0]) {
- $why = $o[0];
- chomp $why;
- }
- logmsg "prechecked $cmd\n" if($verbose);
- }
- }
-
- if($why && !$listonly) {
- # there's a problem, count it as "skipped"
- $skipped++;
- $skipped{$why}++;
- $teststat[$testnum]=$why; # store reason for this test case
-
- if(!$short) {
- printf "test %03d SKIPPED: $why\n", $testnum;
- }
-
- return -1;
- }
- logmsg sprintf("test %03d...", $testnum);
-
- # extract the reply data
- my @reply = getpart("reply", "data");
- my @replycheck = getpart("reply", "datacheck");
-
- if (@replycheck) {
- # we use this file instead to check the final output against
-
- my %hash = getpartattr("reply", "datacheck");
- if($hash{'nonewline'}) {
- # Yes, we must cut off the final newline from the final line
- # of the datacheck
- chomp($replycheck[$#replycheck]);
- }
-
- @reply=@replycheck;
- }
-
- # curl command to run
- my @curlcmd= fixarray ( getpart("client", "command") );
-
- # this is the valid protocol blurb curl should generate
- my @protocol= fixarray ( getpart("verify", "protocol") );
-
- # redirected stdout/stderr to these files
- $STDOUT="$LOGDIR/stdout$testnum";
- $STDERR="$LOGDIR/stderr$testnum";
-
- # if this section exists, we verify that the stdout contained this:
- my @validstdout = fixarray ( getpart("verify", "stdout") );
-
- # if this section exists, we verify upload
- my @upload = getpart("verify", "upload");
-
- # if this section exists, it might be FTP server instructions:
- my @ftpservercmd = getpart("reply", "servercmd");
-
- my $CURLOUT="$LOGDIR/curl$testnum.out"; # curl output if not stdout
-
- # name of the test
- my @testname= getpart("client", "name");
-
- if(!$short) {
- my $name = $testname[0];
- $name =~ s/\n//g;
- logmsg "[$name]\n";
- }
-
- if($listonly) {
- return 0; # look successful
- }
-
- my @codepieces = getpart("client", "tool");
-
- my $tool="";
- if(@codepieces) {
- $tool = $codepieces[0];
- chomp $tool;
- }
-
- # remove server output logfiles
- unlink($SERVERIN);
- unlink($SERVER2IN);
-
- if(@ftpservercmd) {
- # write the instructions to file
- writearray($FTPDCMD, \@ftpservercmd);
- }
-
- my (@setenv)= getpart("client", "setenv");
- my @envs;
-
- my $s;
- for $s (@setenv) {
- chomp $s; # cut off the newline
-
- subVariables \$s;
-
- if($s =~ /([^=]*)=(.*)/) {
- my ($var, $content)=($1, $2);
- $ENV{$var}=$content;
- # remember which, so that we can clear them afterwards!
- push @envs, $var;
- }
- }
-
- # get the command line options to use
- my @blaha;
- ($cmd, @blaha)= getpart("client", "command");
-
- # make some nice replace operations
- $cmd =~ s/\n//g; # no newlines please
-
- # substitute variables in the command line
- subVariables \$cmd;
-
- if($curl_debug) {
- unlink($memdump);
- }
-
- # create a (possibly-empty) file before starting the test
- my @inputfile=getpart("client", "file");
- my %fileattr = getpartattr("client", "file");
- my $filename=$fileattr{'name'};
- if(@inputfile || $filename) {
- if(!$filename) {
- logmsg "ERROR: section client=>file has no name attribute\n";
- return -1;
- }
- my $fileContent = join('', @inputfile);
- subVariables \$fileContent;
-# logmsg "DEBUG: writing file " . $filename . "\n";
- open(OUTFILE, ">$filename");
- binmode OUTFILE; # for crapage systems, use binary
- print OUTFILE $fileContent;
- close(OUTFILE);
- }
-
- my %cmdhash = getpartattr("client", "command");
-
- my $out="";
-
- if($cmdhash{'option'} !~ /no-output/) {
- #We may slap on --output!
- if (!@validstdout) {
- $out=" --output $CURLOUT ";
- }
- }
-
- my $serverlogslocktimeout = $defserverlogslocktimeout;
- if($cmdhash{'timeout'}) {
- # test is allowed to override default server logs lock timeout
- if($cmdhash{'timeout'} =~ /(\d+)/) {
- $serverlogslocktimeout = $1 if($1 >= 0);
- }
- }
-
- my $postcommanddelay = $defpostcommanddelay;
- if($cmdhash{'delay'}) {
- # test is allowed to specify a delay after command is executed
- if($cmdhash{'delay'} =~ /(\d+)/) {
- $postcommanddelay = $1 if($1 > 0);
- }
- }
-
- my $cmdargs;
- if(!$tool) {
- # run curl, add --verbose for debug information output
- $cmdargs ="$out --include --verbose --trace-time $cmd";
- }
- else {
- $cmdargs = " $cmd"; # $cmd is the command line for the test file
- $CURLOUT = $STDOUT; # sends received data to stdout
- }
-
- my @stdintest = getpart("client", "stdin");
-
- if(@stdintest) {
- my $stdinfile="$LOGDIR/stdin-for-$testnum";
- writearray($stdinfile, \@stdintest);
-
- $cmdargs .= " <$stdinfile";
- }
- my $CMDLINE;
-
- if(!$tool) {
- $CMDLINE="$CURL";
- }
- else {
- $CMDLINE="$LIBDIR/$tool";
- if(! -f $CMDLINE) {
- print "The tool set in the test case for this: '$tool' does not exist\n";
- return -1;
- }
- $DBGCURL=$CMDLINE;
- }
-
- my $usevalgrind = $valgrind && ((getpart("verify", "valgrind"))[0] !~ /disable/);
- if($usevalgrind) {
- $CMDLINE = "$valgrind ".$valgrind_tool."--leak-check=yes --num-callers=16 ${valgrind_logfile}=$LOGDIR/valgrind$testnum $CMDLINE";
- }
-
- $CMDLINE .= "$cmdargs >>$STDOUT 2>>$STDERR";
-
- if($verbose) {
- logmsg "$CMDLINE\n";
- }
-
- print CMDLOG "$CMDLINE\n";
-
- unlink("core");
-
- my $dumped_core;
- my $cmdres;
-
- # Apr 2007: precommand isn't being used and could be removed
- my @precommand= getpart("client", "precommand");
- if($precommand[0]) {
- # this is pure perl to eval!
- my $code = join("", @precommand);
- eval $code;
- if($@) {
- logmsg "perl: $code\n";
- logmsg "precommand: $@";
- stopservers($verbose);
- return -1;
- }
- }
-
- if($gdbthis) {
- open(GDBCMD, ">$LOGDIR/gdbcmd");
- print GDBCMD "set args $cmdargs\n";
- print GDBCMD "show args\n";
- close(GDBCMD);
- }
- # run the command line we built
- if ($torture) {
- $cmdres = torture($CMDLINE,
- "$gdb --directory libtest $DBGCURL -x $LOGDIR/gdbcmd");
- }
- elsif($gdbthis) {
- runclient("$gdb --directory libtest $DBGCURL -x $LOGDIR/gdbcmd");
- $cmdres=0; # makes it always continue after a debugged run
- }
- else {
- $cmdres = runclient("$CMDLINE");
- my $signal_num = $cmdres & 127;
- $dumped_core = $cmdres & 128;
-
- if(!$anyway && ($signal_num || $dumped_core)) {
- $cmdres = 1000;
- }
- else {
- $cmdres /= 256;
- }
- }
- if(!$dumped_core) {
- if(-r "core") {
- # there's core file present now!
- $dumped_core = 1;
- }
- }
-
- if($dumped_core) {
- logmsg "core dumped\n";
- if(0 && $gdb) {
- logmsg "running gdb for post-mortem analysis:\n";
- open(GDBCMD, ">$LOGDIR/gdbcmd2");
- print GDBCMD "bt\n";
- close(GDBCMD);
- runclient("$gdb --directory libtest -x $LOGDIR/gdbcmd2 -batch $DBGCURL core ");
- # unlink("$LOGDIR/gdbcmd2");
- }
- }
-
- # If a server logs advisor read lock file exists, it is an indication
- # that the server has not yet finished writing out all its log files,
- # including server request log files used for protocol verification.
- # So, if the lock file exists the script waits here a certain amount
- # of time until the server removes it, or the given time expires.
-
- if($serverlogslocktimeout) {
- my $lockretry = $serverlogslocktimeout * 4;
- while((-f $SERVERLOGS_LOCK) && $lockretry--) {
- select(undef, undef, undef, 0.25);
- }
- if(($lockretry < 0) &&
- ($serverlogslocktimeout >= $defserverlogslocktimeout)) {
- logmsg "Warning: server logs lock timeout ",
- "($serverlogslocktimeout seconds) expired\n";
- }
- }
-
- # Test harness ssh server does not have this synchronization mechanism,
- # this implies that some ssh server based tests might need a small delay
- # once that the client command has run to avoid false test failures.
-
- sleep($postcommanddelay) if($postcommanddelay);
-
- # run the postcheck command
- my @postcheck= getpart("client", "postcheck");
- $cmd = $postcheck[0];
- chomp $cmd;
- subVariables \$cmd;
- if($cmd) {
- logmsg "postcheck $cmd\n" if($verbose);
- my $rc = runclient("$cmd");
- # Must run the postcheck command in torture mode in order
- # to clean up, but the result can't be relied upon.
- if($rc != 0 && !$torture) {
- logmsg " postcheck FAILED\n";
- return 1;
- }
- }
-
- # remove the special FTP command file after each test!
- unlink($FTPDCMD);
-
- my $e;
- for $e (@envs) {
- $ENV{$e}=""; # clean up
- }
-
- # Skip all the verification on torture tests
- if ($torture) {
- if(!$cmdres && !$keepoutfiles) {
- cleardir($LOGDIR);
- }
- return $cmdres;
- }
-
- my @err = getpart("verify", "errorcode");
- my $errorcode = $err[0] || "0";
- my $ok="";
- my $res;
- if (@validstdout) {
- # verify redirected stdout
- my @actual = loadarray($STDOUT);
-
- # variable-replace in the stdout we have from the test case file
- @validstdout = fixarray(@validstdout);
-
- # get all attributes
- my %hash = getpartattr("verify", "stdout");
-
- # get the mode attribute
- my $filemode=$hash{'mode'};
- if(($filemode eq "text") && $has_textaware) {
- # text mode when running on windows: fix line endings
- map s/\r\n/\n/g, @actual;
- }
-
- if($hash{'nonewline'}) {
- # Yes, we must cut off the final newline from the final line
- # of the protocol data
- chomp($validstdout[$#validstdout]);
- }
-
- $res = compare("stdout", \@actual, \@validstdout);
- if($res) {
- return 1;
- }
- $ok .= "s";
- }
- else {
- $ok .= "-"; # stdout not checked
- }
-
- my %replyattr = getpartattr("reply", "data");
- if(!$replyattr{'nocheck'} && (@reply || $replyattr{'sendzero'})) {
- # verify the received data
- my @out = loadarray($CURLOUT);
- my %hash = getpartattr("reply", "data");
- # get the mode attribute
- my $filemode=$hash{'mode'};
- if(($filemode eq "text") && $has_textaware) {
- # text mode when running on windows: fix line endings
- map s/\r\n/\n/g, @out;
- }
-
- $res = compare("data", \@out, \@reply);
- if ($res) {
- return 1;
- }
- $ok .= "d";
- }
- else {
- $ok .= "-"; # data not checked
- }
-
- if(@upload) {
- # verify uploaded data
- my @out = loadarray("$LOGDIR/upload.$testnum");
- $res = compare("upload", \@out, \@upload);
- if ($res) {
- return 1;
- }
- $ok .= "u";
- }
- else {
- $ok .= "-"; # upload not checked
- }
-
- if(@protocol) {
- # Verify the sent request
- my @out = loadarray($SERVERIN);
-
- # what to cut off from the live protocol sent by curl
- my @strip = getpart("verify", "strip");
-
- my @protstrip=@protocol;
-
- # check if there's any attributes on the verify/protocol section
- my %hash = getpartattr("verify", "protocol");
-
- if($hash{'nonewline'}) {
- # Yes, we must cut off the final newline from the final line
- # of the protocol data
- chomp($protstrip[$#protstrip]);
- }
-
- for(@strip) {
- # strip off all lines that match the patterns from both arrays
- chomp $_;
- @out = striparray( $_, \@out);
- @protstrip= striparray( $_, \@protstrip);
- }
-
- # what parts to cut off from the protocol
- my @strippart = getpart("verify", "strippart");
- my $strip;
- for $strip (@strippart) {
- chomp $strip;
- for(@out) {
- eval $strip;
- }
- }
-
- $res = compare("protocol", \@out, \@protstrip);
- if($res) {
- return 1;
- }
-
- $ok .= "p";
-
- }
- else {
- $ok .= "-"; # protocol not checked
- }
-
- my @outfile=getpart("verify", "file");
- if(@outfile) {
- # we're supposed to verify a dynamically generated file!
- my %hash = getpartattr("verify", "file");
-
- my $filename=$hash{'name'};
- if(!$filename) {
- logmsg "ERROR: section verify=>file has no name attribute\n";
- stopservers($verbose);
- return -1;
- }
- my @generated=loadarray($filename);
-
- # what parts to cut off from the file
- my @stripfile = getpart("verify", "stripfile");
-
- my $filemode=$hash{'mode'};
- if(($filemode eq "text") && $has_textaware) {
- # text mode when running on windows means adding an extra
- # strip expression
- push @stripfile, "s/\r\n/\n/";
- }
-
- my $strip;
- for $strip (@stripfile) {
- chomp $strip;
- for(@generated) {
- eval $strip;
- }
- }
-
- @outfile = fixarray(@outfile);
-
- $res = compare("output", \@generated, \@outfile);
- if($res) {
- return 1;
- }
-
- $ok .= "o";
- }
- else {
- $ok .= "-"; # output not checked
- }
-
- # accept multiple comma-separated error codes
- my @splerr = split(/ *, */, $errorcode);
- my $errok;
- foreach $e (@splerr) {
- if($e == $cmdres) {
- # a fine error code
- $errok = 1;
- last;
- }
- }
-
- if($errok) {
- $ok .= "e";
- }
- else {
- if(!$short) {
- printf "\ncurl returned $cmdres, %d was expected\n", $errorcode;
- }
- logmsg " exit FAILED\n";
- return 1;
- }
-
- @what = getpart("client", "killserver");
- for(@what) {
- my $serv = $_;
- chomp $serv;
- if($serv =~ /^ftp(\d*)(-ipv6|)/) {
- my ($id, $ext) = ($1, $2);
- #print STDERR "SERV $serv $id $ext\n";
- ftpkillslave($id, $ext, $verbose);
- }
- if($run{$serv}) {
- stopserver($run{$serv}); # the pid file is in the hash table
- $run{$serv}=0; # clear pid
- }
- else {
- logmsg "RUN: The $serv server is not running\n";
- }
- }
-
- if($curl_debug) {
- if(! -f $memdump) {
- logmsg "\n** ALERT! memory debugging with no output file?\n";
- }
- else {
- my @memdata=`$memanalyze $memdump`;
- my $leak=0;
- for(@memdata) {
- if($_ ne "") {
- # well it could be other memory problems as well, but
- # we call it leak for short here
- $leak=1;
- }
- }
- if($leak) {
- logmsg "\n** MEMORY FAILURE\n";
- logmsg @memdata;
- return 1;
- }
- else {
- $ok .= "m";
- }
- }
- }
- else {
- $ok .= "-"; # memory not checked
- }
-
- if($valgrind) {
- # this is the valid protocol blurb curl should generate
- if($usevalgrind) {
-
- opendir(DIR, "log") ||
- return 0; # can't open log dir
- my @files = readdir(DIR);
- closedir(DIR);
- my $f;
- my $l;
- foreach $f (@files) {
- if($f =~ /^valgrind$testnum\.pid/) {
- $l = $f;
- last;
- }
- }
- my $src=$ENV{'srcdir'};
- if(!$src) {
- $src=".";
- }
- my @e = valgrindparse($src, $feature{'SSL'}, "$LOGDIR/$l");
- if($e[0]) {
- logmsg " valgrind ERROR ";
- logmsg @e;
- return 1;
- }
- $ok .= "v";
- }
- else {
- if(!$short) {
- logmsg " valgrind SKIPPED\n";
- }
- $ok .= "-"; # skipped
- }
- }
- else {
- $ok .= "-"; # valgrind not checked
- }
-
- logmsg "$ok " if(!$short);
-
- my $sofar= time()-$start;
- my $esttotal = $sofar/$count * $total;
- my $estleft = $esttotal - $sofar;
- my $left=sprintf("remaining: %02d:%02d",
- $estleft/60,
- $estleft%60);
- printf "OK (%-3d out of %-3d, %s)\n", $count, $total, $left;
-
- # the test succeeded, remove all log files
- if(!$keepoutfiles) {
- cleardir($LOGDIR);
- }
-
- unlink($FTPDCMD); # remove the instructions for this test
-
- return 0;
-}
-
-#######################################################################
-# Stop all running test servers
-sub stopservers {
- my ($verbose)=@_;
- for(keys %run) {
- my $server = $_;
- my $pids=$run{$server};
- my $pid;
- my $prev;
-
- foreach $pid (split(" ", $pids)) {
- if($pid != $prev) {
- # no need to kill same pid twice!
- logmsg sprintf("* kill pid for %s => %d\n",
- $server, $pid) if($verbose);
- stopserver($pid);
- }
- $prev = $pid;
- }
- delete $run{$server};
- }
- ftpkillslaves($verbose);
-}
-
-#######################################################################
-# startservers() starts all the named servers
-#
-# Returns: string with error reason or blank for success
-
-sub startservers {
- my @what = @_;
- my ($pid, $pid2);
- for(@what) {
- my $what = lc($_);
- $what =~ s/[^a-z0-9-]//g;
- if($what eq "ftp") {
- if(!$run{'ftp'}) {
- ($pid, $pid2) = runftpserver("", $verbose);
- if($pid <= 0) {
- return "failed starting FTP server";
- }
- printf ("* pid ftp => %d %d\n", $pid, $pid2) if($verbose);
- $run{'ftp'}="$pid $pid2";
- }
- }
- elsif($what eq "ftp2") {
- if(!$run{'ftp2'}) {
- ($pid, $pid2) = runftpserver("2", $verbose);
- if($pid <= 0) {
- return "failed starting FTP2 server";
- }
- printf ("* pid ftp2 => %d %d\n", $pid, $pid2) if($verbose);
- $run{'ftp2'}="$pid $pid2";
- }
- }
- elsif($what eq "ftp-ipv6") {
- if(!$run{'ftp-ipv6'}) {
- ($pid, $pid2) = runftpserver("", $verbose, "ipv6");
- if($pid <= 0) {
- return "failed starting FTP-IPv6 server";
- }
- logmsg sprintf("* pid ftp-ipv6 => %d %d\n", $pid,
- $pid2) if($verbose);
- $run{'ftp-ipv6'}="$pid $pid2";
- }
- }
- elsif($what eq "http") {
- if(!$run{'http'}) {
- ($pid, $pid2) = runhttpserver($verbose);
- if($pid <= 0) {
- return "failed starting HTTP server";
- }
- printf ("* pid http => %d %d\n", $pid, $pid2) if($verbose);
- $run{'http'}="$pid $pid2";
- }
- }
- elsif($what eq "http-ipv6") {
- if(!$run{'http-ipv6'}) {
- ($pid, $pid2) = runhttpserver($verbose, "IPv6");
- if($pid <= 0) {
- return "failed starting HTTP-IPv6 server";
- }
- logmsg sprintf("* pid http-ipv6 => %d %d\n", $pid, $pid2)
- if($verbose);
- $run{'http-ipv6'}="$pid $pid2";
- }
- }
- elsif($what eq "ftps") {
- if(!$stunnel) {
- # we can't run ftps tests without stunnel
- return "no stunnel";
- }
- if(!$ssl_version) {
- # we can't run ftps tests if libcurl is SSL-less
- return "curl lacks SSL support";
- }
-
- if(!$run{'ftp'}) {
- ($pid, $pid2) = runftpserver("", $verbose);
- if($pid <= 0) {
- return "failed starting FTP server";
- }
- printf ("* pid ftp => %d %d\n", $pid, $pid2) if($verbose);
- $run{'ftp'}="$pid $pid2";
- }
- if(!$run{'ftps'}) {
- ($pid, $pid2) = runftpsserver($verbose);
- if($pid <= 0) {
- return "failed starting FTPS server (stunnel)";
- }
- logmsg sprintf("* pid ftps => %d %d\n", $pid, $pid2)
- if($verbose);
- $run{'ftps'}="$pid $pid2";
- }
- }
- elsif($what eq "file") {
- # we support it but have no server!
- }
- elsif($what eq "https") {
- if(!$stunnel) {
- # we can't run ftps tests without stunnel
- return "no stunnel";
- }
- if(!$ssl_version) {
- # we can't run ftps tests if libcurl is SSL-less
- return "curl lacks SSL support";
- }
-
- if(!$run{'http'}) {
- ($pid, $pid2) = runhttpserver($verbose);
- if($pid <= 0) {
- return "failed starting HTTP server";
- }
- printf ("* pid http => %d %d\n", $pid, $pid2) if($verbose);
- $run{'http'}="$pid $pid2";
- }
- if(!$run{'https'}) {
- ($pid, $pid2) = runhttpsserver($verbose);
- if($pid <= 0) {
- return "failed starting HTTPS server (stunnel)";
- }
- logmsg sprintf("* pid https => %d %d\n", $pid, $pid2)
- if($verbose);
- $run{'https'}="$pid $pid2";
- }
- }
- elsif($what eq "tftp") {
- if(!$run{'tftp'}) {
- ($pid, $pid2) = runtftpserver("", $verbose);
- if($pid <= 0) {
- return "failed starting TFTP server";
- }
- printf ("* pid tftp => %d %d\n", $pid, $pid2) if($verbose);
- $run{'tftp'}="$pid $pid2";
- }
- }
- elsif($what eq "tftp-ipv6") {
- if(!$run{'tftp-ipv6'}) {
- ($pid, $pid2) = runtftpserver("", $verbose, "IPv6");
- if($pid <= 0) {
- return "failed starting TFTP-IPv6 server";
- }
- printf("* pid tftp-ipv6 => %d %d\n", $pid, $pid2) if($verbose);
- $run{'tftp-ipv6'}="$pid $pid2";
- }
- }
- elsif($what eq "sftp" || $what eq "scp" || $what eq "socks4" || $what eq "socks5" ) {
- if(!$run{'ssh'}) {
- ($pid, $pid2) = runsshserver("", $verbose);
- if($pid <= 0) {
- return "failed starting SSH server";
- }
- printf ("* pid ssh => %d %d\n", $pid, $pid2) if($verbose);
- $run{'ssh'}="$pid $pid2";
- }
- if($what eq "socks4" || $what eq "socks5") {
- if(!$run{'socks'}) {
- ($pid, $pid2) = runsocksserver("", $verbose);
- if($pid <= 0) {
- return "failed starting socks server";
- }
- printf ("* pid socks => %d %d\n", $pid, $pid2) if($verbose);
- $run{'socks'}="$pid $pid2";
- }
- }
- if($what eq "socks5") {
- if(!$sshdid) {
- # Not an OpenSSH or SunSSH ssh daemon
- logmsg "Not OpenSSH or SunSSH; socks5 tests need at least OpenSSH 3.7\n";
- return "failed starting socks5 server";
- }
- elsif(($sshdid =~ /OpenSSH/) && ($sshdvernum < 370)) {
- # Need OpenSSH 3.7 for socks5 - http://www.openssh.com/txt/release-3.7
- logmsg "$sshdverstr insufficient; socks5 tests need at least OpenSSH 3.7\n";
- return "failed starting socks5 server";
- }
- elsif(($sshdid =~ /SunSSH/) && ($sshdvernum < 100)) {
- # Need SunSSH 1.0 for socks5
- logmsg "$sshdverstr insufficient; socks5 tests need at least SunSSH 1.0\n";
- return "failed starting socks5 server";
- }
- }
- }
- elsif($what eq "none") {
- logmsg "* starts no server\n" if ($verbose);
- }
- else {
- warn "we don't support a server for $what";
- return "no server for $what";
- }
- }
- return 0;
-}
-
-##############################################################################
-# This function makes sure the right set of server is running for the
-# specified test case. This is a useful design when we run single tests as not
-# all servers need to run then!
-#
-# Returns: a string, blank if everything is fine or a reason why it failed
-#
-
-sub serverfortest {
- my ($testnum)=@_;
-
- my @what = getpart("client", "server");
-
- if(!$what[0]) {
- warn "Test case $testnum has no server(s) specified";
- return "no server specified";
- }
-
- for (@what) {
- my $proto = lc($_);
- chomp $proto;
- if (! grep /^$proto$/, @protocols) {
- if (substr($proto,0,5) ne "socks") {
- return "curl lacks $proto support";
- }
- }
- }
-
- return &startservers(@what);
-}
-
-#######################################################################
-# Check options to this test program
-#
-
-my $number=0;
-my $fromnum=-1;
-my @testthis;
-my %disabled;
-while(@ARGV) {
- if ($ARGV[0] eq "-v") {
- # verbose output
- $verbose=1;
- }
- elsif($ARGV[0] =~ /^-b(.*)/) {
- my $portno=$1;
- if($portno =~ s/(\d+)$//) {
- $base = int $1;
- }
- }
- elsif ($ARGV[0] eq "-c") {
- # use this path to curl instead of default
- $DBGCURL=$CURL=$ARGV[1];
- shift @ARGV;
- }
- elsif ($ARGV[0] eq "-d") {
- # have the servers display protocol output
- $debugprotocol=1;
- }
- elsif ($ARGV[0] eq "-f") {
- # run fork-servers, which makes the server fork for all new
- # connections This is NOT what you wanna do without knowing exactly
- # why and for what
- $forkserver=1;
- }
- elsif ($ARGV[0] eq "-g") {
- # run this test with gdb
- $gdbthis=1;
- }
- elsif($ARGV[0] eq "-s") {
- # short output
- $short=1;
- }
- elsif($ARGV[0] eq "-n") {
- # no valgrind
- undef $valgrind;
- }
- elsif($ARGV[0] =~ /^-t(.*)/) {
- # torture
- $torture=1;
- my $xtra = $1;
-
- if($xtra =~ s/(\d+)$//) {
- $tortalloc = $1;
- }
- # we undef valgrind to make this fly in comparison
- undef $valgrind;
- }
- elsif($ARGV[0] eq "-a") {
- # continue anyway, even if a test fail
- $anyway=1;
- }
- elsif($ARGV[0] eq "-p") {
- $postmortem=1;
- }
- elsif($ARGV[0] eq "-l") {
- # lists the test case names only
- $listonly=1;
- }
- elsif($ARGV[0] eq "-k") {
- # keep stdout and stderr files after tests
- $keepoutfiles=1;
- }
- elsif($ARGV[0] eq "-h") {
- # show help text
- print <<EOHELP
-Usage: runtests.pl [options] [test selection(s)]
- -a continue even if a test fails
- -bN use base port number N for test servers (default $base)
- -c path use this curl executable
- -d display server debug info
- -g run the test case with gdb
- -h this help text
- -k keep stdout and stderr files present after tests
- -l list all test case names/descriptions
- -n no valgrind
- -p print log file contents when a test fails
- -s short output
- -t[N] torture (simulate memory alloc failures); N means fail Nth alloc
- -v verbose output
- [num] like "5 6 9" or " 5 to 22 " to run those tests only
- [!num] like "!5 !6 !9" to disable those tests
- [keyword] like "IPv6" to select only tests containing the key word
- [!keyword] like "!cookies" to disable any tests containing the key word
-EOHELP
- ;
- exit;
- }
- elsif($ARGV[0] =~ /^(\d+)/) {
- $number = $1;
- if($fromnum >= 0) {
- for($fromnum .. $number) {
- push @testthis, $_;
- }
- $fromnum = -1;
- }
- else {
- push @testthis, $1;
- }
- }
- elsif($ARGV[0] =~ /^to$/i) {
- $fromnum = $number+1;
- }
- elsif($ARGV[0] =~ /^!(\d+)/) {
- $fromnum = -1;
- $disabled{$1}=$1;
- }
- elsif($ARGV[0] =~ /^!(.+)/) {
- $disabled_keywords{$1}=$1;
- }
- elsif($ARGV[0] =~ /^([-[{a-zA-Z].*)/) {
- $enabled_keywords{$1}=$1;
- }
- else {
- print "Unknown option: $ARGV[0]\n";
- exit;
- }
- shift @ARGV;
-}
-
-if($testthis[0] ne "") {
- $TESTCASES=join(" ", @testthis);
-}
-
-if($valgrind) {
- # we have found valgrind on the host, use it
-
- # verify that we can invoke it fine
- my $code = runclient("valgrind >/dev/null 2>&1");
-
- if(($code>>8) != 1) {
- #logmsg "Valgrind failure, disable it\n";
- undef $valgrind;
- } else {
-
- # since valgrind 2.1.x, '--tool' option is mandatory
- # use it, if it is supported by the version installed on the system
- runclient("valgrind --help 2>&1 | grep -- --tool > /dev/null 2>&1");
- if (($? >> 8)==0) {
- $valgrind_tool="--tool=memcheck ";
- }
- open(C, "<$CURL");
- my $l = <C>;
- if($l =~ /^\#\!/) {
- # A shell script. This is typically when built with libtool,
- $valgrind="../libtool --mode=execute $valgrind";
- }
- close(C);
-
- # valgrind 3 renamed the --logfile option to --log-file!!!
- my $ver=join(' ', runclientoutput("valgrind --version"));
- # cut off all but digits and dots
- $ver =~ s/[^0-9.]//g;
-
- if($ver >= 3) {
- $valgrind_logfile="--log-file";
- }
- }
-}
-
-if ($gdbthis) {
- # open the executable curl and read the first 4 bytes of it
- open(CHECK, "<$CURL");
- my $c;
- sysread CHECK, $c, 4;
- close(CHECK);
- if($c eq "#! /") {
- # A shell script. This is typically when built with libtool,
- $libtool = 1;
- $gdb = "libtool --mode=execute gdb";
- }
-}
-
-$HTTPPORT = $base + 0; # HTTP server port
-$HTTPSPORT = $base + 1; # HTTPS server port
-$FTPPORT = $base + 2; # FTP server port
-$FTPSPORT = $base + 3; # FTPS server port
-$HTTP6PORT = $base + 4; # HTTP IPv6 server port (different IP protocol
- # but we follow the same port scheme anyway)
-$FTP2PORT = $base + 5; # FTP server 2 port
-$FTP6PORT = $base + 6; # FTP IPv6 port
-$TFTPPORT = $base + 7; # TFTP (UDP) port
-$TFTP6PORT = $base + 8; # TFTP IPv6 (UDP) port
-$SSHPORT = $base + 9; # SSH (SCP/SFTP) port
-$SOCKSPORT = $base + 10; # SOCKS port
-
-#######################################################################
-# clear and create logging directory:
-#
-
-cleardir($LOGDIR);
-mkdir($LOGDIR, 0777);
-
-#######################################################################
-# Output curl version and host info being tested
-#
-
-if(!$listonly) {
- checksystem();
-}
-
-#######################################################################
-# If 'all' tests are requested, find out all test numbers
-#
-
-if ( $TESTCASES eq "all") {
- # Get all commands and find out their test numbers
- opendir(DIR, $TESTDIR) || die "can't opendir $TESTDIR: $!";
- my @cmds = grep { /^test([0-9]+)$/ && -f "$TESTDIR/$_" } readdir(DIR);
- closedir(DIR);
-
- open(D, "<$TESTDIR/DISABLED");
- while(<D>) {
- if(/^ *\#/) {
- # allow comments
- next;
- }
- if($_ =~ /(\d+)/) {
- $disabled{$1}=$1; # disable this test number
- }
- }
- close(D);
-
- $TESTCASES=""; # start with no test cases
-
- # cut off everything but the digits
- for(@cmds) {
- $_ =~ s/[a-z\/\.]*//g;
- }
- # sort the numbers from low to high
- foreach my $n (sort { $a <=> $b } @cmds) {
- if($disabled{$n}) {
- # skip disabled test cases
- my $why = "configured as DISABLED";
- $skipped++;
- $skipped{$why}++;
- $teststat[$n]=$why; # store reason for this test case
- next;
- }
- $TESTCASES .= " $n";
- }
-}
-
-#######################################################################
-# Start the command line log
-#
-open(CMDLOG, ">$CURLLOG") ||
- logmsg "can't log command lines to $CURLLOG\n";
-
-#######################################################################
-
-# Display the contents of the given file. Line endings are canonicalized
-# and excessively long files are elided
-sub displaylogcontent {
- my ($file)=@_;
- if(open(SINGLE, "<$file")) {
- my $linecount = 0;
- my $truncate;
- my @tail;
- while(my $string = <SINGLE>) {
- $string =~ s/\r\n/\n/g;
- $string =~ s/[\r\f\032]/\n/g;
- $string .= "\n" unless ($string =~ /\n$/);
- $string =~ tr/\n//;
- for my $line (split("\n", $string)) {
- $line =~ s/\s*\!$//;
- if ($truncate) {
- push @tail, " $line\n";
- } else {
- logmsg " $line\n";
- }
- $linecount++;
- $truncate = $linecount > 1000;
- }
- }
- if (@tail) {
- logmsg "=== File too long: lines here were removed\n";
- # This won't work properly if time stamps are enabled in logmsg
- logmsg join('',@tail[$#tail-200..$#tail]);
- }
- close(SINGLE);
- }
-}
-
-sub displaylogs {
- my ($testnum)=@_;
- opendir(DIR, "$LOGDIR") ||
- die "can't open dir: $!";
- my @logs = readdir(DIR);
- closedir(DIR);
-
- logmsg "== Contents of files in the $LOGDIR/ dir after test $testnum\n";
- foreach my $log (sort @logs) {
- if($log =~ /\.(\.|)$/) {
- next; # skip "." and ".."
- }
- if($log =~ /^\.nfs/) {
- next; # skip ".nfs"
- }
- if(($log eq "memdump") || ($log eq "core")) {
- next; # skip "memdump" and "core"
- }
- if((-d "$LOGDIR/$log") || (! -s "$LOGDIR/$log")) {
- next; # skip directory and empty files
- }
- if(($log =~ /^stdout\d+/) && ($log !~ /^stdout$testnum/)) {
- next; # skip stdoutNnn of other tests
- }
- if(($log =~ /^stderr\d+/) && ($log !~ /^stderr$testnum/)) {
- next; # skip stderrNnn of other tests
- }
- if(($log =~ /^upload\d+/) && ($log !~ /^upload$testnum/)) {
- next; # skip uploadNnn of other tests
- }
- if(($log =~ /^curl\d+\.out/) && ($log !~ /^curl$testnum\.out/)) {
- next; # skip curlNnn.out of other tests
- }
- if(($log =~ /^test\d+\.txt/) && ($log !~ /^test$testnum\.txt/)) {
- next; # skip testNnn.txt of other tests
- }
- if(($log =~ /^file\d+\.txt/) && ($log !~ /^file$testnum\.txt/)) {
- next; # skip fileNnn.txt of other tests
- }
- if(($log =~ /^valgrind\d+/) && ($log !~ /^valgrind$testnum/)) {
- next; # skip valgrindNnn of other tests
- }
- logmsg "=== Start of file $log\n";
- displaylogcontent("$LOGDIR/$log");
- logmsg "=== End of file $log\n";
- }
-}
-
-#######################################################################
-# The main test-loop
-#
-
-my $failed;
-my $testnum;
-my $ok=0;
-my $total=0;
-my $lasttest;
-my @at = split(" ", $TESTCASES);
-my $count=0;
-
-$start = time();
-
-foreach $testnum (@at) {
-
- $lasttest = $testnum if($testnum > $lasttest);
- $count++;
-
- my $error = singletest($testnum, $count, scalar(@at));
- if($error < 0) {
- # not a test we can run
- next;
- }
-
- $total++; # number of tests we've run
-
- if($error>0) {
- $failed.= "$testnum ";
- if($postmortem) {
- # display all files in log/ in a nice way
- displaylogs($testnum);
- }
- if(!$anyway) {
- # a test failed, abort
- logmsg "\n - abort tests\n";
- last;
- }
- }
- elsif(!$error) {
- $ok++; # successful test counter
- }
-
- # loop for next test
-}
-
-#######################################################################
-# Close command log
-#
-close(CMDLOG);
-
-# Tests done, stop the servers
-stopservers($verbose);
-
-unlink($SOCKSPIDFILE);
-
-my $all = $total + $skipped;
-
-if($total) {
- logmsg sprintf("TESTDONE: $ok tests out of $total reported OK: %d%%\n",
- $ok/$total*100);
-
- if($ok != $total) {
- logmsg "TESTFAIL: These test cases failed: $failed\n";
- }
-}
-else {
- logmsg "TESTFAIL: No tests were performed\n";
-}
-
-if($all) {
- my $sofar = time()-$start;
- logmsg "TESTDONE: $all tests were considered during $sofar seconds.\n";
-}
-
-if($skipped) {
- my $s=0;
- logmsg "TESTINFO: $skipped tests were skipped due to these restraints:\n";
-
- for(keys %skipped) {
- my $r = $_;
- printf "TESTINFO: \"%s\" %d times (", $r, $skipped{$_};
-
- # now show all test case numbers that had this reason for being
- # skipped
- my $c=0;
- for(0 .. scalar @teststat) {
- my $t = $_;
- if($teststat[$_] eq $r) {
- logmsg ", " if($c);
- logmsg $_;
- $c++;
- }
- }
- logmsg ")\n";
- }
-}
-
-if($total && ($ok != $total)) {
- exit 1;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/server/Makefile.am b/Utilities/cmcurl-7.19.0/tests/server/Makefile.am
deleted file mode 100644
index 74f0ec2..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/Makefile.am
+++ /dev/null
@@ -1,64 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
-
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_srcdir)/lib
-
-noinst_PROGRAMS = sws getpart sockfilt resolve tftpd
-
-useful = getpart.c getpart.h $(top_srcdir)/lib/strequal.c \
- $(top_srcdir)/lib/base64.c $(top_srcdir)/lib/mprintf.c \
- $(top_srcdir)/lib/memdebug.c $(top_srcdir)/lib/timeval.c
-
-resolve_SOURCES= resolve.c util.c util.h $(useful)
-resolve_LDADD = @TEST_SERVER_LIBS@
-
-sws_SOURCES= sws.c util.c util.h $(useful)
-sws_LDADD = @TEST_SERVER_LIBS@
-
-sockfilt_SOURCES = sockfilt.c util.c util.h $(useful) \
- $(top_srcdir)/lib/inet_pton.c
-sockfilt_LDADD = @TEST_SERVER_LIBS@
-
-getpart_SOURCES= testpart.c $(useful)
-# This is needed because of (unused) network debugging functions in memdebug.c
-getpart_LDADD = @TEST_SERVER_LIBS@
-
-tftpd_SOURCES = tftpd.c util.c util.h $(useful) tftp.h
-tftpd_LDADD = @TEST_SERVER_LIBS@
-
-extra_DIST = base64.pl
-
diff --git a/Utilities/cmcurl-7.19.0/tests/server/Makefile.in b/Utilities/cmcurl-7.19.0/tests/server/Makefile.in
deleted file mode 100644
index fdd615c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/Makefile.in
+++ /dev/null
@@ -1,656 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 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@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-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@
-noinst_PROGRAMS = sws$(EXEEXT) getpart$(EXEEXT) sockfilt$(EXEEXT) \
- resolve$(EXEEXT) tftpd$(EXEEXT)
-subdir = tests/server
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.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/config.h \
- $(top_builddir)/src/config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am__objects_1 = getpart.$(OBJEXT) strequal.$(OBJEXT) base64.$(OBJEXT) \
- mprintf.$(OBJEXT) memdebug.$(OBJEXT) timeval.$(OBJEXT)
-am_getpart_OBJECTS = testpart.$(OBJEXT) $(am__objects_1)
-getpart_OBJECTS = $(am_getpart_OBJECTS)
-getpart_DEPENDENCIES =
-am_resolve_OBJECTS = resolve.$(OBJEXT) util.$(OBJEXT) $(am__objects_1)
-resolve_OBJECTS = $(am_resolve_OBJECTS)
-resolve_DEPENDENCIES =
-am_sockfilt_OBJECTS = sockfilt.$(OBJEXT) util.$(OBJEXT) \
- $(am__objects_1) inet_pton.$(OBJEXT)
-sockfilt_OBJECTS = $(am_sockfilt_OBJECTS)
-sockfilt_DEPENDENCIES =
-am_sws_OBJECTS = sws.$(OBJEXT) util.$(OBJEXT) $(am__objects_1)
-sws_OBJECTS = $(am_sws_OBJECTS)
-sws_DEPENDENCIES =
-am_tftpd_OBJECTS = tftpd.$(OBJEXT) util.$(OBJEXT) $(am__objects_1)
-tftpd_OBJECTS = $(am_tftpd_OBJECTS)
-tftpd_DEPENDENCIES =
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(getpart_SOURCES) $(resolve_SOURCES) $(sockfilt_SOURCES) \
- $(sws_SOURCES) $(tftpd_SOURCES)
-DIST_SOURCES = $(getpart_SOURCES) $(resolve_SOURCES) \
- $(sockfilt_SOURCES) $(sws_SOURCES) $(tftpd_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
-CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_LIBS = @CURL_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-HAVE_ARES = @HAVE_ARES@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
-HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
-IDN_ENABLED = @IDN_ENABLED@
-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@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MANOPT = @MANOPT@
-MIMPURE_FALSE = @MIMPURE_FALSE@
-MIMPURE_TRUE = @MIMPURE_TRUE@
-NMEDIT = @NMEDIT@
-NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
-NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-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@
-SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
-SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
-SSL_ENABLED = @SSL_ENABLED@
-STATICLIB_FALSE = @STATICLIB_FALSE@
-STATICLIB_TRUE = @STATICLIB_TRUE@
-STRIP = @STRIP@
-TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
-USE_GNUTLS = @USE_GNUTLS@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
-USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
-USE_NSS = @USE_NSS@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONNUM = @VERSIONNUM@
-ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-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@
-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@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-# 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 is for libcurl's generated curl/curlbuild.h file
-# $(top_srcdir)/include is for libcurl's external include files
-# $(top_builddir)/lib is for libcurl's generated lib/config.h file
-# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
-INCLUDES = -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_builddir)/lib \
- -I$(top_srcdir)/lib
-
-useful = getpart.c getpart.h $(top_srcdir)/lib/strequal.c \
- $(top_srcdir)/lib/base64.c $(top_srcdir)/lib/mprintf.c \
- $(top_srcdir)/lib/memdebug.c $(top_srcdir)/lib/timeval.c
-
-resolve_SOURCES = resolve.c util.c util.h $(useful)
-resolve_LDADD = @TEST_SERVER_LIBS@
-sws_SOURCES = sws.c util.c util.h $(useful)
-sws_LDADD = @TEST_SERVER_LIBS@
-sockfilt_SOURCES = sockfilt.c util.c util.h $(useful) \
- $(top_srcdir)/lib/inet_pton.c
-
-sockfilt_LDADD = @TEST_SERVER_LIBS@
-getpart_SOURCES = testpart.c $(useful)
-# This is needed because of (unused) network debugging functions in memdebug.c
-getpart_LDADD = @TEST_SERVER_LIBS@
-tftpd_SOURCES = tftpd.c util.c util.h $(useful) tftp.h
-tftpd_LDADD = @TEST_SERVER_LIBS@
-extra_DIST = base64.pl
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/server/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests/server/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;
-
-$(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
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-getpart$(EXEEXT): $(getpart_OBJECTS) $(getpart_DEPENDENCIES)
- @rm -f getpart$(EXEEXT)
- $(LINK) $(getpart_LDFLAGS) $(getpart_OBJECTS) $(getpart_LDADD) $(LIBS)
-resolve$(EXEEXT): $(resolve_OBJECTS) $(resolve_DEPENDENCIES)
- @rm -f resolve$(EXEEXT)
- $(LINK) $(resolve_LDFLAGS) $(resolve_OBJECTS) $(resolve_LDADD) $(LIBS)
-sockfilt$(EXEEXT): $(sockfilt_OBJECTS) $(sockfilt_DEPENDENCIES)
- @rm -f sockfilt$(EXEEXT)
- $(LINK) $(sockfilt_LDFLAGS) $(sockfilt_OBJECTS) $(sockfilt_LDADD) $(LIBS)
-sws$(EXEEXT): $(sws_OBJECTS) $(sws_DEPENDENCIES)
- @rm -f sws$(EXEEXT)
- $(LINK) $(sws_LDFLAGS) $(sws_OBJECTS) $(sws_LDADD) $(LIBS)
-tftpd$(EXEEXT): $(tftpd_OBJECTS) $(tftpd_DEPENDENCIES)
- @rm -f tftpd$(EXEEXT)
- $(LINK) $(tftpd_LDFLAGS) $(tftpd_OBJECTS) $(tftpd_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpart.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_pton.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memdebug.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mprintf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolve.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockfilt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strequal.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sws.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpart.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tftpd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeval.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@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 $@ $<
-
-strequal.o: $(top_srcdir)/lib/strequal.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strequal.o -MD -MP -MF "$(DEPDIR)/strequal.Tpo" -c -o strequal.o `test -f '$(top_srcdir)/lib/strequal.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strequal.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strequal.Tpo" "$(DEPDIR)/strequal.Po"; else rm -f "$(DEPDIR)/strequal.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strequal.c' object='strequal.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strequal.o `test -f '$(top_srcdir)/lib/strequal.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strequal.c
-
-strequal.obj: $(top_srcdir)/lib/strequal.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strequal.obj -MD -MP -MF "$(DEPDIR)/strequal.Tpo" -c -o strequal.obj `if test -f '$(top_srcdir)/lib/strequal.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strequal.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strequal.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strequal.Tpo" "$(DEPDIR)/strequal.Po"; else rm -f "$(DEPDIR)/strequal.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strequal.c' object='strequal.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strequal.obj `if test -f '$(top_srcdir)/lib/strequal.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strequal.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strequal.c'; fi`
-
-base64.o: $(top_srcdir)/lib/base64.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT base64.o -MD -MP -MF "$(DEPDIR)/base64.Tpo" -c -o base64.o `test -f '$(top_srcdir)/lib/base64.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/base64.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/base64.Tpo" "$(DEPDIR)/base64.Po"; else rm -f "$(DEPDIR)/base64.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/base64.c' object='base64.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o base64.o `test -f '$(top_srcdir)/lib/base64.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/base64.c
-
-base64.obj: $(top_srcdir)/lib/base64.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT base64.obj -MD -MP -MF "$(DEPDIR)/base64.Tpo" -c -o base64.obj `if test -f '$(top_srcdir)/lib/base64.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/base64.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/base64.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/base64.Tpo" "$(DEPDIR)/base64.Po"; else rm -f "$(DEPDIR)/base64.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/base64.c' object='base64.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o base64.obj `if test -f '$(top_srcdir)/lib/base64.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/base64.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/base64.c'; fi`
-
-mprintf.o: $(top_srcdir)/lib/mprintf.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mprintf.o -MD -MP -MF "$(DEPDIR)/mprintf.Tpo" -c -o mprintf.o `test -f '$(top_srcdir)/lib/mprintf.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/mprintf.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mprintf.Tpo" "$(DEPDIR)/mprintf.Po"; else rm -f "$(DEPDIR)/mprintf.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/mprintf.c' object='mprintf.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mprintf.o `test -f '$(top_srcdir)/lib/mprintf.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/mprintf.c
-
-mprintf.obj: $(top_srcdir)/lib/mprintf.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mprintf.obj -MD -MP -MF "$(DEPDIR)/mprintf.Tpo" -c -o mprintf.obj `if test -f '$(top_srcdir)/lib/mprintf.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/mprintf.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/mprintf.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mprintf.Tpo" "$(DEPDIR)/mprintf.Po"; else rm -f "$(DEPDIR)/mprintf.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/mprintf.c' object='mprintf.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mprintf.obj `if test -f '$(top_srcdir)/lib/mprintf.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/mprintf.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/mprintf.c'; fi`
-
-memdebug.o: $(top_srcdir)/lib/memdebug.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT memdebug.o -MD -MP -MF "$(DEPDIR)/memdebug.Tpo" -c -o memdebug.o `test -f '$(top_srcdir)/lib/memdebug.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/memdebug.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/memdebug.Tpo" "$(DEPDIR)/memdebug.Po"; else rm -f "$(DEPDIR)/memdebug.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/memdebug.c' object='memdebug.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memdebug.o `test -f '$(top_srcdir)/lib/memdebug.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/memdebug.c
-
-memdebug.obj: $(top_srcdir)/lib/memdebug.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT memdebug.obj -MD -MP -MF "$(DEPDIR)/memdebug.Tpo" -c -o memdebug.obj `if test -f '$(top_srcdir)/lib/memdebug.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/memdebug.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/memdebug.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/memdebug.Tpo" "$(DEPDIR)/memdebug.Po"; else rm -f "$(DEPDIR)/memdebug.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/memdebug.c' object='memdebug.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memdebug.obj `if test -f '$(top_srcdir)/lib/memdebug.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/memdebug.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/memdebug.c'; fi`
-
-timeval.o: $(top_srcdir)/lib/timeval.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT timeval.o -MD -MP -MF "$(DEPDIR)/timeval.Tpo" -c -o timeval.o `test -f '$(top_srcdir)/lib/timeval.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/timeval.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/timeval.Tpo" "$(DEPDIR)/timeval.Po"; else rm -f "$(DEPDIR)/timeval.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/timeval.c' object='timeval.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o timeval.o `test -f '$(top_srcdir)/lib/timeval.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/timeval.c
-
-timeval.obj: $(top_srcdir)/lib/timeval.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT timeval.obj -MD -MP -MF "$(DEPDIR)/timeval.Tpo" -c -o timeval.obj `if test -f '$(top_srcdir)/lib/timeval.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/timeval.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/timeval.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/timeval.Tpo" "$(DEPDIR)/timeval.Po"; else rm -f "$(DEPDIR)/timeval.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/timeval.c' object='timeval.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o timeval.obj `if test -f '$(top_srcdir)/lib/timeval.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/timeval.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/timeval.c'; fi`
-
-inet_pton.o: $(top_srcdir)/lib/inet_pton.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton.o -MD -MP -MF "$(DEPDIR)/inet_pton.Tpo" -c -o inet_pton.o `test -f '$(top_srcdir)/lib/inet_pton.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/inet_pton.c; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/inet_pton.Tpo" "$(DEPDIR)/inet_pton.Po"; else rm -f "$(DEPDIR)/inet_pton.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/inet_pton.c' object='inet_pton.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton.o `test -f '$(top_srcdir)/lib/inet_pton.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/inet_pton.c
-
-inet_pton.obj: $(top_srcdir)/lib/inet_pton.c
-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT inet_pton.obj -MD -MP -MF "$(DEPDIR)/inet_pton.Tpo" -c -o inet_pton.obj `if test -f '$(top_srcdir)/lib/inet_pton.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/inet_pton.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/inet_pton.c'; fi`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/inet_pton.Tpo" "$(DEPDIR)/inet_pton.Po"; else rm -f "$(DEPDIR)/inet_pton.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/inet_pton.c' object='inet_pton.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o inet_pton.obj `if test -f '$(top_srcdir)/lib/inet_pton.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/inet_pton.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/inet_pton.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-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; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- 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; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && 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)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$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
-check: check-am
-all-am: Makefile $(PROGRAMS)
-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:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-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: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS 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-exec \
- install-exec-am install-info install-info-am install-man \
- 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 \
- uninstall-info-am
-
-# 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/Utilities/cmcurl-7.19.0/tests/server/getpart.c b/Utilities/cmcurl-7.19.0/tests/server/getpart.c
deleted file mode 100644
index 72a6d0f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/getpart.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "getpart.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* just to please base64.h we create a fake struct */
-struct SessionHandle {
- int fake;
-};
-
-#include "curl_base64.h"
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-#define EAT_SPACE(ptr) while( ptr && *ptr && ISSPACE(*ptr) ) ptr++
-#define EAT_WORD(ptr) while( ptr && *ptr && !ISSPACE(*ptr) && \
- ('>' != *ptr)) ptr++
-
-#ifdef DEBUG
-#define show(x) printf x
-#else
-#define show(x)
-#endif
-
-curl_malloc_callback Curl_cmalloc = (curl_malloc_callback)malloc;
-curl_free_callback Curl_cfree = (curl_free_callback)free;
-curl_realloc_callback Curl_crealloc = (curl_realloc_callback)realloc;
-curl_strdup_callback Curl_cstrdup = (curl_strdup_callback)strdup;
-curl_calloc_callback Curl_ccalloc = (curl_calloc_callback)calloc;
-
-static
-char *appendstring(char *string, /* original string */
- char *buffer, /* to append */
- size_t *stringlen, /* length of string */
- size_t *stralloc, /* allocated size */
- char base64) /* 1 if base64 encoded */
-{
- size_t len = strlen(buffer);
- size_t needed_len = len + *stringlen + 1;
- char *buf64=NULL;
-
- if(base64) {
- /* decode the given buffer first */
- len = Curl_base64_decode(buffer, (unsigned char**)&buf64); /* updated len */
- buffer = buf64;
- needed_len = len + *stringlen + 1; /* recalculate */
- }
-
- if(needed_len >= *stralloc) {
- char *newptr;
- size_t newsize = needed_len*2; /* get twice the needed size */
-
- newptr = realloc(string, newsize);
- if(newptr) {
- string = newptr;
- *stralloc = newsize;
- }
- else {
- if(buf64)
- free(buf64);
- return NULL;
- }
- }
- /* memcpy to support binary blobs */
- memcpy(&string[*stringlen], buffer, len);
- *stringlen += len;
- string[*stringlen]=0;
-
- if(buf64)
- free(buf64);
-
- return string;
-}
-
-const char *spitout(FILE *stream,
- const char *main,
- const char *sub, size_t *size)
-{
- char buffer[8192]; /* big enough for anything */
- char cmain[128]=""; /* current main section */
- char csub[128]=""; /* current sub section */
- char *ptr;
- char *end;
- char display = 0;
-
- char *string;
- size_t stringlen=0;
- size_t stralloc=256;
- char base64 = 0; /* set to 1 if true */
-
- enum {
- STATE_OUTSIDE,
- STATE_OUTER,
- STATE_INMAIN,
- STATE_INSUB,
- STATE_ILLEGAL
- } state = STATE_OUTSIDE;
-
- string = (char *)malloc(stralloc);
- if(!string)
- return NULL;
-
- string[0] = 0; /* zero first byte in case of no data */
-
- while(fgets(buffer, sizeof(buffer), stream)) {
-
- ptr = buffer;
-
- /* pass white spaces */
- EAT_SPACE(ptr);
-
- if('<' != *ptr) {
- if(display) {
- show(("=> %s", buffer));
- string = appendstring(string, buffer, &stringlen, &stralloc, base64);
- show(("* %s\n", buffer));
- }
- continue;
- }
-
- ptr++;
- EAT_SPACE(ptr);
-
- if('/' == *ptr) {
- /* end of a section */
- ptr++;
- EAT_SPACE(ptr);
-
- end = ptr;
- EAT_WORD(end);
- *end = 0;
-
- if((state == STATE_INSUB) &&
- !strcmp(csub, ptr)) {
- /* this is the end of the currently read sub section */
- state--;
- csub[0]=0; /* no sub anymore */
- display=0;
- }
- else if((state == STATE_INMAIN) &&
- !strcmp(cmain, ptr)) {
- /* this is the end of the currently read main section */
- state--;
- cmain[0]=0; /* no main anymore */
- display=0;
- }
- else if(state == STATE_OUTER) {
- /* this is the end of the outermost file section */
- state--;
- }
- }
- else if(!display) {
- /* this is the beginning of a section */
- end = ptr;
- EAT_WORD(end);
-
- *end = 0;
- switch(state) {
- case STATE_OUTSIDE:
- /* Skip over the outermost element (<testcase>), but if it turns out
- to be a comment, completely ignore it below */
- strcpy(cmain, ptr);
- state = STATE_OUTER;
- break;
- case STATE_OUTER:
- strcpy(cmain, ptr);
- state = STATE_INMAIN;
- break;
- case STATE_INMAIN:
- strcpy(csub, ptr);
- state = STATE_INSUB;
- break;
- default:
- break;
- }
-
- if(!end[1] != '>') {
- /* There might be attributes here. Check for those we know of and care
- about. */
- if(strstr(&end[1], "base64=")) {
- /* rough and dirty, but "mostly" functional */
- /* Treat all data as base64 encoded */
- base64 = 1;
- }
- }
- }
- if(display) {
- string = appendstring(string, buffer, &stringlen, &stralloc, base64);
- show(("* %s\n", buffer));
- }
-
- if((STATE_INSUB == state) &&
- !strcmp(cmain, main) &&
- !strcmp(csub, sub)) {
- show(("* (%d bytes) %s\n", stringlen, buffer));
- display = 1; /* start displaying */
- }
- else if ((*cmain == '?') || (*cmain == '!') || (*csub == '!')) {
- /* Ignore comments, DOCTYPEs and XML declarations */
- show(("%d ignoring (%s/%s)\n", state, cmain, csub));
- state--;
- }
- else {
- show(("%d (%s/%s): %s\n", state, cmain, csub, buffer));
- display = 0; /* no display */
- }
- }
-
- *size = stringlen;
- return string;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/server/getpart.h b/Utilities/cmcurl-7.19.0/tests/server/getpart.h
deleted file mode 100644
index 0ded4f7..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/getpart.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2004, 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.
- *
- * $Id$
- ***************************************************************************/
-const char *
-spitout(FILE *stream,
- const char *main,
- const char *sub,
- size_t *size);
diff --git a/Utilities/cmcurl-7.19.0/tests/server/resolve.c b/Utilities/cmcurl-7.19.0/tests/server/resolve.c
deleted file mode 100644
index 75b8643..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/resolve.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* Purpose
- *
- * Resolve the given name, using system name resolve functions (NOT any
- * function provided by libcurl). Used to see if the name exists and thus if
- * we can allow a test case to use it for testing.
- *
- * Like if 'localhost' actual exists etc.
- *
- */
-#include "setup.h" /* portability help from the lib directory */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef _XOPEN_SOURCE_EXTENDED
-/* This define is "almost" required to build on HPUX 11 */
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#define ENABLE_CURLX_PRINTF
-/* make the curlx header define all printf() functions to use the curlx_*
- versions instead */
-#include "curlx.h" /* from the private lib dir */
-#include "util.h"
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-char use_ipv6=FALSE;
-
-const char *serverlogfile=""; /* for a util.c function we don't use */
-
-int main(int argc, char *argv[])
-{
- int arg=1;
- char *host;
- int rc;
-
- while(argc>arg) {
- if(!strcmp("--version", argv[arg])) {
- printf("resolve IPv4%s\n",
-#ifdef ENABLE_IPV6
- "/IPv6"
-#else
- ""
-#endif
- );
- return 0;
- }
- else if(!strcmp("--ipv6", argv[arg])) {
-#ifdef ENABLE_IPV6
- use_ipv6=TRUE;
-#endif
- arg++;
- }
- else if(!strcmp("--ipv4", argv[arg])) {
- /* for completeness, we support this option as well */
- use_ipv6=FALSE;
- arg++;
- }
- else {
- host = argv[arg++];
- }
- }
- if(!host) {
- puts("Usage: resolve [option] <host>\n"
- " --version\n"
- " --ipv4\n"
- " --ipv6");
- return 0;
- }
-
-#ifdef WIN32
- win32_init();
- atexit(win32_cleanup);
-#endif
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6)
-#endif
- {
- /* gethostbyname() resolve */
- struct hostent *he;
-
- he = gethostbyname(host);
-
- rc = !he;
- }
-#ifdef ENABLE_IPV6
- else {
- /* getaddrinfo() resolve */
- struct addrinfo *ai;
- struct addrinfo hints;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = PF_INET6;
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_flags = AI_CANONNAME;
- rc = (getaddrinfo)(host, "80", &hints, &ai);
-
- }
-#endif
- if(rc)
- printf("Resolving '%s' didn't work\n", host);
-
- return !rc?0:1;
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/server/sockfilt.c b/Utilities/cmcurl-7.19.0/tests/server/sockfilt.c
deleted file mode 100644
index f390fc6..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/sockfilt.c
+++ /dev/null
@@ -1,964 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* Purpose
- *
- * 1. Accept a TCP connection on a custom port (ipv4 or ipv6), or connect
- * to a given (localhost) port.
- *
- * 2. Get commands on STDIN. Pass data on to the TCP stream.
- * Get data from TCP stream and pass on to STDOUT.
- *
- * This program is made to perform all the socket/stream/connection stuff for
- * the test suite's (perl) FTP server. Previously the perl code did all of
- * this by its own, but I decided to let this program do the socket layer
- * because of several things:
- *
- * o We want the perl code to work with rather old perl installations, thus
- * we cannot use recent perl modules or features.
- *
- * o We want IPv6 support for systems that provide it, and doing optional IPv6
- * support in perl seems if not impossible so at least awkward.
- *
- * o We want FTP-SSL support, which means that a connection that starts with
- * plain sockets needs to be able to "go SSL" in the midst. This would also
- * require some nasty perl stuff I'd rather avoid.
- *
- * (Source originally based on sws.c)
- */
-
-/*
- * Signal handling notes for sockfilt
- * ----------------------------------
- *
- * This program is a single-threaded process.
- *
- * This program is intended to be highly portable and as such it must be kept as
- * simple as possible, due to this the only signal handling mechanisms used will
- * be those of ANSI C, and used only in the most basic form which is good enough
- * for the purpose of this program.
- *
- * For the above reason and the specific needs of this program signals SIGHUP,
- * SIGPIPE and SIGALRM will be simply ignored on systems where this can be done.
- * If possible, signals SIGINT and SIGTERM will be handled by this program as an
- * indication to cleanup and finish execution as soon as possible. This will be
- * achieved with a single signal handler 'exit_signal_handler' for both signals.
- *
- * The 'exit_signal_handler' upon the first SIGINT or SIGTERM received signal
- * will just set to one the global var 'got_exit_signal' storing in global var
- * 'exit_signal' the signal that triggered this change.
- *
- * Nothing fancy that could introduce problems is used, the program at certain
- * points in its normal flow checks if var 'got_exit_signal' is set and in case
- * this is true it just makes its way out of loops and functions in structured
- * and well behaved manner to achieve proper program cleanup and termination.
- *
- * Even with the above mechanism implemented it is worthwile to note that other
- * signals might still be received, or that there might be systems on which it
- * is not possible to trap and ignore some of the above signals. This implies
- * that for increased portability and reliability the program must be coded as
- * if no signal was being ignored or handled at all. Enjoy it!
- */
-
-#include "setup.h" /* portability help from the lib directory */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef _XOPEN_SOURCE_EXTENDED
-/* This define is "almost" required to build on HPUX 11 */
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#define ENABLE_CURLX_PRINTF
-/* make the curlx header define all printf() functions to use the curlx_*
- versions instead */
-#include "curlx.h" /* from the private lib dir */
-#include "getpart.h"
-#include "inet_pton.h"
-#include "util.h"
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-#define DEFAULT_PORT 8999
-
-#ifndef DEFAULT_LOGFILE
-#define DEFAULT_LOGFILE "log/sockfilt.log"
-#endif
-
-const char *serverlogfile = (char *)DEFAULT_LOGFILE;
-
-bool verbose = FALSE;
-bool use_ipv6 = FALSE;
-unsigned short port = DEFAULT_PORT;
-unsigned short connectport = 0; /* if non-zero, we activate this mode */
-
-enum sockmode {
- PASSIVE_LISTEN, /* as a server waiting for connections */
- PASSIVE_CONNECT, /* as a server, connected to a client */
- ACTIVE, /* as a client, connected to a server */
- ACTIVE_DISCONNECT /* as a client, disconnected from server */
-};
-
-/* do-nothing macro replacement for systems which lack siginterrupt() */
-
-#ifndef HAVE_SIGINTERRUPT
-#define siginterrupt(x,y) do {} while(0)
-#endif
-
-/* vars used to keep around previous signal handlers */
-
-typedef RETSIGTYPE (*SIGHANDLER_T)(int);
-
-static SIGHANDLER_T old_sighup_handler = SIG_ERR;
-static SIGHANDLER_T old_sigpipe_handler = SIG_ERR;
-static SIGHANDLER_T old_sigalrm_handler = SIG_ERR;
-static SIGHANDLER_T old_sigint_handler = SIG_ERR;
-static SIGHANDLER_T old_sigterm_handler = SIG_ERR;
-
-/* var which if set indicates that the program should finish execution */
-
-SIG_ATOMIC_T got_exit_signal = 0;
-
-/* if next is set indicates the first signal handled in exit_signal_handler */
-
-static volatile int exit_signal = 0;
-
-/* signal handler that will be triggered to indicate that the program
- should finish its execution in a controlled manner as soon as possible.
- The first time this is called it will set got_exit_signal to one and
- store in exit_signal the signal that triggered its execution. */
-
-static RETSIGTYPE exit_signal_handler(int signum)
-{
- int old_errno = ERRNO;
- if(got_exit_signal == 0) {
- got_exit_signal = 1;
- exit_signal = signum;
- }
- (void)signal(signum, exit_signal_handler);
- SET_ERRNO(old_errno);
-}
-
-static void install_signal_handlers(void)
-{
-#ifdef SIGHUP
- /* ignore SIGHUP signal */
- if((old_sighup_handler = signal(SIGHUP, SIG_IGN)) == SIG_ERR)
- logmsg("cannot install SIGHUP handler: 5s", strerror(ERRNO));
-#endif
-#ifdef SIGPIPE
- /* ignore SIGPIPE signal */
- if((old_sigpipe_handler = signal(SIGPIPE, SIG_IGN)) == SIG_ERR)
- logmsg("cannot install SIGPIPE handler: 5s", strerror(ERRNO));
-#endif
-#ifdef SIGALRM
- /* ignore SIGALRM signal */
- if((old_sigalrm_handler = signal(SIGALRM, SIG_IGN)) == SIG_ERR)
- logmsg("cannot install SIGALRM handler: 5s", strerror(ERRNO));
-#endif
-#ifdef SIGINT
- /* handle SIGINT signal with our exit_signal_handler */
- if((old_sigint_handler = signal(SIGINT, exit_signal_handler)) == SIG_ERR)
- logmsg("cannot install SIGINT handler: 5s", strerror(ERRNO));
- else
- siginterrupt(SIGINT, 1);
-#endif
-#ifdef SIGTERM
- /* handle SIGTERM signal with our exit_signal_handler */
- if((old_sigterm_handler = signal(SIGTERM, exit_signal_handler)) == SIG_ERR)
- logmsg("cannot install SIGTERM handler: 5s", strerror(ERRNO));
- else
- siginterrupt(SIGTERM, 1);
-#endif
-}
-
-static void restore_signal_handlers(void)
-{
-#ifdef SIGHUP
- if(SIG_ERR != old_sighup_handler)
- (void)signal(SIGHUP, old_sighup_handler);
-#endif
-#ifdef SIGPIPE
- if(SIG_ERR != old_sigpipe_handler)
- (void)signal(SIGPIPE, old_sigpipe_handler);
-#endif
-#ifdef SIGALRM
- if(SIG_ERR != old_sigalrm_handler)
- (void)signal(SIGALRM, old_sigalrm_handler);
-#endif
-#ifdef SIGINT
- if(SIG_ERR != old_sigint_handler)
- (void)signal(SIGINT, old_sigint_handler);
-#endif
-#ifdef SIGTERM
- if(SIG_ERR != old_sigterm_handler)
- (void)signal(SIGTERM, old_sigterm_handler);
-#endif
-}
-
-/*
- * fullread is a wrapper around the read() function. This will repeat the call
- * to read() until it actually has read the complete number of bytes indicated
- * in nbytes or it fails with a condition that cannot be handled with a simple
- * retry of the read call.
- */
-
-static ssize_t fullread(int filedes, void *buffer, size_t nbytes)
-{
- int error;
- ssize_t rc;
- ssize_t nread = 0;
-
- do {
- rc = read(filedes, (unsigned char *)buffer + nread, nbytes - nread);
-
- if(got_exit_signal) {
- logmsg("signalled to die");
- return -1;
- }
-
- if(rc < 0) {
- error = ERRNO;
- if((error == EINTR) || (error == EAGAIN))
- continue;
- logmsg("unrecoverable read() failure: %s", strerror(error));
- return -1;
- }
-
- if(rc == 0) {
- logmsg("got 0 reading from stdin");
- return 0;
- }
-
- nread += rc;
-
- } while((size_t)nread < nbytes);
-
- if(verbose)
- logmsg("read %ld bytes", (long)nread);
-
- return nread;
-}
-
-/*
- * fullwrite is a wrapper around the write() function. This will repeat the
- * call to write() until it actually has written the complete number of bytes
- * indicated in nbytes or it fails with a condition that cannot be handled
- * with a simple retry of the write call.
- */
-
-static ssize_t fullwrite(int filedes, const void *buffer, size_t nbytes)
-{
- int error;
- ssize_t wc;
- ssize_t nwrite = 0;
-
- do {
- wc = write(filedes, (unsigned char *)buffer + nwrite, nbytes - nwrite);
-
- if(got_exit_signal) {
- logmsg("signalled to die");
- return -1;
- }
-
- if(wc < 0) {
- error = ERRNO;
- if((error == EINTR) || (error == EAGAIN))
- continue;
- logmsg("unrecoverable write() failure: %s", strerror(error));
- return -1;
- }
-
- if(wc == 0) {
- logmsg("put 0 writing to stdout");
- return 0;
- }
-
- nwrite += wc;
-
- } while((size_t)nwrite < nbytes);
-
- if(verbose)
- logmsg("wrote %ld bytes", (long)nwrite);
-
- return nwrite;
-}
-
-/*
- * read_stdin tries to read from stdin nbytes into the given buffer. This is a
- * blocking function that will only return TRUE when nbytes have actually been
- * read or FALSE when an unrecoverable error has been detected. Failure of this
- * function is an indication that the sockfilt process should terminate.
- */
-
-static bool read_stdin(void *buffer, size_t nbytes)
-{
- ssize_t nread = fullread(fileno(stdin), buffer, nbytes);
- if(nread != (ssize_t)nbytes) {
- logmsg("exiting...");
- return FALSE;
- }
- return TRUE;
-}
-
-/*
- * write_stdout tries to write to stdio nbytes from the given buffer. This is a
- * blocking function that will only return TRUE when nbytes have actually been
- * written or FALSE when an unrecoverable error has been detected. Failure of
- * this function is an indication that the sockfilt process should terminate.
- */
-
-static bool write_stdout(const void *buffer, size_t nbytes)
-{
- ssize_t nwrite = fullwrite(fileno(stdout), buffer, nbytes);
- if(nwrite != (ssize_t)nbytes) {
- logmsg("exiting...");
- return FALSE;
- }
- return TRUE;
-}
-
-static void lograw(unsigned char *buffer, ssize_t len)
-{
- char data[120];
- ssize_t i;
- unsigned char *ptr = buffer;
- char *optr = data;
- ssize_t width=0;
-
- for(i=0; i<len; i++) {
- switch(ptr[i]) {
- case '\n':
- sprintf(optr, "\\n");
- width += 2;
- optr += 2;
- break;
- case '\r':
- sprintf(optr, "\\r");
- width += 2;
- optr += 2;
- break;
- default:
- sprintf(optr, "%c", (ISGRAPH(ptr[i]) || ptr[i]==0x20) ?ptr[i]:'.');
- width++;
- optr++;
- break;
- }
-
- if(width>60) {
- logmsg("'%s'", data);
- width = 0;
- optr = data;
- }
- }
- if(width)
- logmsg("'%s'", data);
-}
-
-/*
- sockfdp is a pointer to an established stream or CURL_SOCKET_BAD
-
- if sockfd is CURL_SOCKET_BAD, listendfd is a listening socket we must
- accept()
-*/
-static bool juggle(curl_socket_t *sockfdp,
- curl_socket_t listenfd,
- enum sockmode *mode)
-{
- struct timeval timeout;
- fd_set fds_read;
- fd_set fds_write;
- fd_set fds_err;
- curl_socket_t sockfd;
- curl_socket_t maxfd;
- ssize_t rc;
- ssize_t nread_socket;
- ssize_t bytes_written;
- ssize_t buffer_len;
- int error;
-
- /* 'buffer' is this excessively large only to be able to support things like
- test 1003 which tests exceedingly large server response lines */
- unsigned char buffer[17010];
- char data[16];
-
- if(got_exit_signal) {
- logmsg("signalled to die, exiting...");
- return FALSE;
- }
-
-#ifdef HAVE_GETPPID
- /* As a last resort, quit if sockfilt process becomes orphan. Just in case
- parent ftpserver process has died without killing its sockfilt children */
- if(getppid() <= 1) {
- logmsg("process becomes orphan, exiting");
- return FALSE;
- }
-#endif
-
- timeout.tv_sec = 120;
- timeout.tv_usec = 0;
-
- FD_ZERO(&fds_read);
- FD_ZERO(&fds_write);
- FD_ZERO(&fds_err);
-
- FD_SET(fileno(stdin), &fds_read);
-
- switch(*mode) {
-
- case PASSIVE_LISTEN:
-
- /* server mode */
- sockfd = listenfd;
- /* there's always a socket to wait for */
- FD_SET(sockfd, &fds_read);
- maxfd = sockfd;
- break;
-
- case PASSIVE_CONNECT:
-
- sockfd = *sockfdp;
- if(CURL_SOCKET_BAD == sockfd) {
- /* eeek, we are supposedly connected and then this cannot be -1 ! */
- logmsg("socket is -1! on %s:%d", __FILE__, __LINE__);
- maxfd = 0; /* stdin */
- }
- else {
- /* there's always a socket to wait for */
- FD_SET(sockfd, &fds_read);
- maxfd = sockfd;
- }
- break;
-
- case ACTIVE:
-
- sockfd = *sockfdp;
- /* sockfd turns CURL_SOCKET_BAD when our connection has been closed */
- if(CURL_SOCKET_BAD != sockfd) {
- FD_SET(sockfd, &fds_read);
- maxfd = sockfd;
- }
- else {
- logmsg("No socket to read on");
- maxfd = 0;
- }
- break;
-
- case ACTIVE_DISCONNECT:
-
- logmsg("disconnected, no socket to read on");
- maxfd = 0;
- sockfd = CURL_SOCKET_BAD;
- break;
-
- } /* switch(*mode) */
-
-
- do {
-
- rc = select((int)maxfd + 1, &fds_read, &fds_write, &fds_err, &timeout);
-
- if(got_exit_signal) {
- logmsg("signalled to die, exiting...");
- return FALSE;
- }
-
- } while((rc == -1) && ((error = SOCKERRNO) == EINTR));
-
- if(rc < 0) {
- logmsg("select() failed with error: (%d) %s",
- error, strerror(error));
- return FALSE;
- }
-
- if(rc == 0)
- /* timeout */
- return TRUE;
-
-
- if(FD_ISSET(fileno(stdin), &fds_read)) {
- /* read from stdin, commands/data to be dealt with and possibly passed on
- to the socket
-
- protocol:
-
- 4 letter command + LF [mandatory]
-
- 4-digit hexadecimal data length + LF [if the command takes data]
- data [the data being as long as set above]
-
- Commands:
-
- DATA - plain pass-thru data
- */
-
- if(!read_stdin(buffer, 5))
- return FALSE;
-
- logmsg("Received %c%c%c%c (on stdin)",
- buffer[0], buffer[1], buffer[2], buffer[3] );
-
- if(!memcmp("PING", buffer, 4)) {
- /* send reply on stdout, just proving we are alive */
- if(!write_stdout("PONG\n", 5))
- return FALSE;
- }
-
- else if(!memcmp("PORT", buffer, 4)) {
- /* Question asking us what PORT number we are listening to.
- Replies to PORT with "IPv[num]/[port]" */
- sprintf((char *)buffer, "IPv%d/%d\n", use_ipv6?6:4, (int)port);
- buffer_len = (ssize_t)strlen((char *)buffer);
- snprintf(data, sizeof(data), "PORT\n%04x\n", buffer_len);
- if(!write_stdout(data, 10))
- return FALSE;
- if(!write_stdout(buffer, buffer_len))
- return FALSE;
- }
- else if(!memcmp("QUIT", buffer, 4)) {
- /* just die */
- logmsg("quits");
- return FALSE;
- }
- else if(!memcmp("DATA", buffer, 4)) {
- /* data IN => data OUT */
-
- if(!read_stdin(buffer, 5))
- return FALSE;
-
- buffer[5] = '\0';
-
- buffer_len = (ssize_t)strtol((char *)buffer, NULL, 16);
- if (buffer_len > (ssize_t)sizeof(buffer)) {
- logmsg("ERROR: Buffer size (%ld bytes) too small for data size "
- "(%ld bytes)", (long)sizeof(buffer), (long)buffer_len);
- return FALSE;
- }
- logmsg("> %d bytes data, server => client", buffer_len);
-
- if(!read_stdin(buffer, buffer_len))
- return FALSE;
-
- lograw(buffer, buffer_len);
-
- if(*mode == PASSIVE_LISTEN) {
- logmsg("*** We are disconnected!");
- if(!write_stdout("DISC\n", 5))
- return FALSE;
- }
- else {
- /* send away on the socket */
- bytes_written = swrite(sockfd, buffer, buffer_len);
- if(bytes_written != buffer_len) {
- logmsg("Not all data was sent. Bytes to send: %d sent: %d",
- buffer_len, bytes_written);
- }
- }
- }
- else if(!memcmp("DISC", buffer, 4)) {
- /* disconnect! */
- if(!write_stdout("DISC\n", 5))
- return FALSE;
- if(sockfd != CURL_SOCKET_BAD) {
- logmsg("====> Client forcibly disconnected");
- sclose(sockfd);
- *sockfdp = CURL_SOCKET_BAD;
- if(*mode == PASSIVE_CONNECT)
- *mode = PASSIVE_LISTEN;
- else
- *mode = ACTIVE_DISCONNECT;
- }
- else
- logmsg("attempt to close already dead connection");
- return TRUE;
- }
- }
-
-
- if((sockfd != CURL_SOCKET_BAD) && (FD_ISSET(sockfd, &fds_read)) ) {
-
- if(*mode == PASSIVE_LISTEN) {
- /* there's no stream set up yet, this is an indication that there's a
- client connecting. */
- sockfd = accept(sockfd, NULL, NULL);
- if(CURL_SOCKET_BAD == sockfd)
- logmsg("accept() failed");
- else {
- logmsg("====> Client connect");
- if(!write_stdout("CNCT\n", 5))
- return FALSE;
- *sockfdp = sockfd; /* store the new socket */
- *mode = PASSIVE_CONNECT; /* we have connected */
- }
- return TRUE;
- }
-
- /* read from socket, pass on data to stdout */
- nread_socket = sread(sockfd, buffer, sizeof(buffer));
-
- if(nread_socket <= 0) {
- logmsg("====> Client disconnect");
- if(!write_stdout("DISC\n", 5))
- return FALSE;
- sclose(sockfd);
- *sockfdp = CURL_SOCKET_BAD;
- if(*mode == PASSIVE_CONNECT)
- *mode = PASSIVE_LISTEN;
- else
- *mode = ACTIVE_DISCONNECT;
- return TRUE;
- }
-
- snprintf(data, sizeof(data), "DATA\n%04x\n", nread_socket);
- if(!write_stdout(data, 10))
- return FALSE;
- if(!write_stdout(buffer, nread_socket))
- return FALSE;
-
- logmsg("< %d bytes data, client => server", nread_socket);
- lograw(buffer, nread_socket);
- }
-
- return TRUE;
-}
-
-static curl_socket_t sockdaemon(curl_socket_t sock,
- unsigned short *listenport)
-{
- /* passive daemon style */
- struct sockaddr_in me;
-#ifdef ENABLE_IPV6
- struct sockaddr_in6 me6;
-#endif /* ENABLE_IPV6 */
- int flag = 1;
- int rc;
- int totdelay = 0;
- int maxretr = 10;
- int delay= 20;
- int attempt = 0;
- int error = 0;
-
- do {
- attempt++;
- rc = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
- (void *)&flag, sizeof(flag));
- if(rc) {
- error = SOCKERRNO;
- if(maxretr) {
- rc = wait_ms(delay);
- if(rc) {
- /* should not happen */
- error = SOCKERRNO;
- logmsg("wait_ms() failed: (%d) %s", error, strerror(error));
- sclose(sock);
- return CURL_SOCKET_BAD;
- }
- if(got_exit_signal) {
- logmsg("signalled to die, exiting...");
- sclose(sock);
- return CURL_SOCKET_BAD;
- }
- totdelay += delay;
- delay *= 2; /* double the sleep for next attempt */
- }
- }
- } while(rc && maxretr--);
-
- if(rc) {
- logmsg("setsockopt(SO_REUSEADDR) failed %d times in %d ms. Error: (%d) %s",
- attempt, totdelay, error, strerror(error));
- logmsg("Continuing anyway...");
- }
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6) {
-#endif
- memset(&me, 0, sizeof(me));
- me.sin_family = AF_INET;
- me.sin_addr.s_addr = INADDR_ANY;
- me.sin_port = htons(*listenport);
- rc = bind(sock, (struct sockaddr *) &me, sizeof(me));
-#ifdef ENABLE_IPV6
- }
- else {
- memset(&me6, 0, sizeof(me6));
- me6.sin6_family = AF_INET6;
- me6.sin6_addr = in6addr_any;
- me6.sin6_port = htons(*listenport);
- rc = bind(sock, (struct sockaddr *) &me6, sizeof(me6));
- }
-#endif /* ENABLE_IPV6 */
- if(rc) {
- error = SOCKERRNO;
- logmsg("Error binding socket: (%d) %s", error, strerror(error));
- sclose(sock);
- return CURL_SOCKET_BAD;
- }
-
- if(!*listenport) {
- /* The system picked a port number, now figure out which port we actually
- got */
- /* we succeeded to bind */
- struct sockaddr_in add;
- socklen_t socksize = sizeof(add);
-
- if(getsockname(sock, (struct sockaddr *) &add,
- &socksize)<0) {
- error = SOCKERRNO;
- logmsg("getsockname() failed with error: (%d) %s",
- error, strerror(error));
- sclose(sock);
- return CURL_SOCKET_BAD;
- }
- *listenport = ntohs(add.sin_port);
- }
-
- /* start accepting connections */
- rc = listen(sock, 5);
- if(0 != rc) {
- error = SOCKERRNO;
- logmsg("listen() failed with error: (%d) %s",
- error, strerror(error));
- sclose(sock);
- return CURL_SOCKET_BAD;
- }
-
- return sock;
-}
-
-
-int main(int argc, char *argv[])
-{
- struct sockaddr_in me;
-#ifdef ENABLE_IPV6
- struct sockaddr_in6 me6;
-#endif /* ENABLE_IPV6 */
- curl_socket_t sock = CURL_SOCKET_BAD;
- curl_socket_t msgsock = CURL_SOCKET_BAD;
- int wrotepidfile = 0;
- char *pidname= (char *)".sockfilt.pid";
- int rc;
- int error;
- int arg=1;
- enum sockmode mode = PASSIVE_LISTEN; /* default */
- const char *addr = NULL;
-
- while(argc>arg) {
- if(!strcmp("--version", argv[arg])) {
- printf("sockfilt IPv4%s\n",
-#ifdef ENABLE_IPV6
- "/IPv6"
-#else
- ""
-#endif
- );
- return 0;
- }
- else if(!strcmp("--verbose", argv[arg])) {
- verbose = TRUE;
- arg++;
- }
- else if(!strcmp("--pidfile", argv[arg])) {
- arg++;
- if(argc>arg)
- pidname = argv[arg++];
- }
- else if(!strcmp("--logfile", argv[arg])) {
- arg++;
- if(argc>arg)
- serverlogfile = argv[arg++];
- }
- else if(!strcmp("--ipv6", argv[arg])) {
-#ifdef ENABLE_IPV6
- use_ipv6=TRUE;
-#endif
- arg++;
- }
- else if(!strcmp("--ipv4", argv[arg])) {
- /* for completeness, we support this option as well */
- use_ipv6=FALSE;
- arg++;
- }
- else if(!strcmp("--port", argv[arg])) {
- arg++;
- if(argc>arg) {
- port = (unsigned short)atoi(argv[arg]);
- arg++;
- }
- }
- else if(!strcmp("--connect", argv[arg])) {
- /* Asked to actively connect to the specified local port instead of
- doing a passive server-style listening. */
- arg++;
- if(argc>arg) {
- connectport = (unsigned short)atoi(argv[arg]);
- arg++;
- }
- }
- else if(!strcmp("--addr", argv[arg])) {
- /* Set an IP address to use with --connect; otherwise use localhost */
- arg++;
- if(argc>arg) {
- addr = argv[arg];
- arg++;
- }
- }
- else {
- puts("Usage: sockfilt [option]\n"
- " --version\n"
- " --verbose\n"
- " --logfile [file]\n"
- " --pidfile [file]\n"
- " --ipv4\n"
- " --ipv6\n"
- " --port [port]\n"
- " --connect [port]\n"
- " --addr [address]");
- return 0;
- }
- }
-
-#ifdef WIN32
- win32_init();
- atexit(win32_cleanup);
-#endif
-
- install_signal_handlers();
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6)
-#endif
- sock = socket(AF_INET, SOCK_STREAM, 0);
-#ifdef ENABLE_IPV6
- else
- sock = socket(AF_INET6, SOCK_STREAM, 0);
-#endif
-
- if(CURL_SOCKET_BAD == sock) {
- error = SOCKERRNO;
- logmsg("Error creating socket: (%d) %s",
- error, strerror(error));
- goto sockfilt_cleanup;
- }
-
- if(connectport) {
- /* Active mode, we should connect to the given port number */
- mode = ACTIVE;
-#ifdef ENABLE_IPV6
- if(!use_ipv6) {
-#endif
- memset(&me, 0, sizeof(me));
- me.sin_family = AF_INET;
- me.sin_port = htons(connectport);
- me.sin_addr.s_addr = INADDR_ANY;
- if (!addr)
- addr = "127.0.0.1";
- Curl_inet_pton(AF_INET, addr, &me.sin_addr);
-
- rc = connect(sock, (struct sockaddr *) &me, sizeof(me));
-#ifdef ENABLE_IPV6
- }
- else {
- memset(&me6, 0, sizeof(me6));
- me6.sin6_family = AF_INET6;
- me6.sin6_port = htons(connectport);
- if (!addr)
- addr = "::1";
- Curl_inet_pton(AF_INET6, addr, &me6.sin6_addr);
-
- rc = connect(sock, (struct sockaddr *) &me6, sizeof(me6));
- }
-#endif /* ENABLE_IPV6 */
- if(rc) {
- error = SOCKERRNO;
- logmsg("Error connecting to port %d: (%d) %s",
- connectport, error, strerror(error));
- goto sockfilt_cleanup;
- }
- logmsg("====> Client connect");
- msgsock = sock; /* use this as stream */
- }
- else {
- /* passive daemon style */
- sock = sockdaemon(sock, &port);
- if(CURL_SOCKET_BAD == sock)
- goto sockfilt_cleanup;
- msgsock = CURL_SOCKET_BAD; /* no stream socket yet */
- }
-
- logmsg("Running IPv%d version",
- (use_ipv6?6:4));
-
- if(connectport)
- logmsg("Connected to port %d", connectport);
- else
- logmsg("Listening on port %d", port);
-
- wrotepidfile = write_pidfile(pidname);
- if(!wrotepidfile)
- goto sockfilt_cleanup;
-
- while(juggle(&msgsock, sock, &mode));
-
-sockfilt_cleanup:
-
- if((msgsock != sock) && (msgsock != CURL_SOCKET_BAD))
- sclose(msgsock);
-
- if(sock != CURL_SOCKET_BAD)
- sclose(sock);
-
- if(wrotepidfile)
- unlink(pidname);
-
- restore_signal_handlers();
-
- if(got_exit_signal) {
- logmsg("============> sockfilt exits with signal (%d)", exit_signal);
- /*
- * To properly set the return status of the process we
- * must raise the same signal SIGINT or SIGTERM that we
- * caught and let the old handler take care of it.
- */
- raise(exit_signal);
- }
-
- logmsg("============> sockfilt quits");
- return 0;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/server/sws.c b/Utilities/cmcurl-7.19.0/tests/server/sws.c
deleted file mode 100644
index f658d18..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/sws.c
+++ /dev/null
@@ -1,1105 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* sws.c: simple (silly?) web server
-
- This code was originally graciously donated to the project by Juergen
- Wilke. Thanks a bunch!
-
- */
-#include "setup.h" /* portability help from the lib directory */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef _XOPEN_SOURCE_EXTENDED
-/* This define is "almost" required to build on HPUX 11 */
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h> /* for TCP_NODELAY */
-#endif
-
-#define ENABLE_CURLX_PRINTF
-/* make the curlx header define all printf() functions to use the curlx_*
- versions instead */
-#include "curlx.h" /* from the private lib dir */
-#include "getpart.h"
-#include "util.h"
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-#if !defined(CURL_SWS_FORK_ENABLED) && defined(HAVE_FORK)
-/*
- * The normal sws build for the plain standard curl test suite has no use for
- * fork(), but if you feel wild and crazy and want to setup some more exotic
- * tests. Define this and run...
- */
-#define CURL_SWS_FORK_ENABLED
-#endif
-
-#define REQBUFSIZ 150000
-#define REQBUFSIZ_TXT "149999"
-
-long prevtestno=-1; /* previous test number we served */
-long prevpartno=-1; /* previous part number we served */
-bool prevbounce=FALSE; /* instructs the server to increase the part number for
- a test in case the identical testno+partno request
- shows up again */
-
-#define RCMD_NORMALREQ 0 /* default request, use the tests file normally */
-#define RCMD_IDLE 1 /* told to sit idle */
-#define RCMD_STREAM 2 /* told to stream */
-
-struct httprequest {
- char reqbuf[REQBUFSIZ]; /* buffer area for the incoming request */
- int checkindex; /* where to start checking of the request */
- int offset; /* size of the incoming request */
- long testno; /* test number found in the request */
- long partno; /* part number found in the request */
- bool open; /* keep connection open info, as found in the request */
- bool auth_req; /* authentication required, don't wait for body unless
- there's an Authorization header */
- bool auth; /* Authorization header present in the incoming request */
- size_t cl; /* Content-Length of the incoming request */
- bool digest; /* Authorization digest header found */
- bool ntlm; /* Authorization ntlm header found */
- int pipe; /* if non-zero, expect this many requests to do a "piped"
- request/response */
- int skip; /* if non-zero, the server is instructed to not read this
- many bytes from a PUT/POST request. Ie the client sends N
- bytes said in Content-Length, but the server only reads N
- - skip bytes. */
- int rcmd; /* doing a special command, see defines above */
- int prot_version; /* HTTP version * 10 */
- bool pipelining; /* true if request is pipelined */
-};
-
-int ProcessRequest(struct httprequest *req);
-void storerequest(char *reqbuf, ssize_t totalsize);
-
-#define DEFAULT_PORT 8999
-
-#ifndef DEFAULT_LOGFILE
-#define DEFAULT_LOGFILE "log/sws.log"
-#endif
-
-const char *serverlogfile = DEFAULT_LOGFILE;
-
-#define SWSVERSION "cURL test suite HTTP server/0.1"
-
-#define REQUEST_DUMP "log/server.input"
-#define RESPONSE_DUMP "log/server.response"
-
-/* very-big-path support */
-#define MAXDOCNAMELEN 140000
-#define MAXDOCNAMELEN_TXT "139999"
-
-#define REQUEST_KEYWORD_SIZE 256
-#define REQUEST_KEYWORD_SIZE_TXT "255"
-
-#define CMD_AUTH_REQUIRED "auth_required"
-
-/* 'idle' means that it will accept the request fine but never respond
- any data. Just keep the connection alive. */
-#define CMD_IDLE "idle"
-
-/* 'stream' means to send a never-ending stream of data */
-#define CMD_STREAM "stream"
-
-#define END_OF_HEADERS "\r\n\r\n"
-
-enum {
- DOCNUMBER_NOTHING = -7,
- DOCNUMBER_QUIT = -6,
- DOCNUMBER_BADCONNECT = -5,
- DOCNUMBER_INTERNAL= -4,
- DOCNUMBER_CONNECT = -3,
- DOCNUMBER_WERULEZ = -2,
- DOCNUMBER_404 = -1
-};
-
-
-/* sent as reply to a QUIT */
-static const char *docquit =
-"HTTP/1.1 200 Goodbye" END_OF_HEADERS;
-
-/* sent as reply to a CONNECT */
-static const char *docconnect =
-"HTTP/1.1 200 Mighty fine indeed" END_OF_HEADERS;
-
-/* sent as reply to a "bad" CONNECT */
-static const char *docbadconnect =
-"HTTP/1.1 501 Forbidden you fool" END_OF_HEADERS;
-
-/* send back this on 404 file not found */
-static const char *doc404 = "HTTP/1.1 404 Not Found\r\n"
- "Server: " SWSVERSION "\r\n"
- "Connection: close\r\n"
- "Content-Type: text/html"
- END_OF_HEADERS
- "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n"
- "<HTML><HEAD>\n"
- "<TITLE>404 Not Found</TITLE>\n"
- "</HEAD><BODY>\n"
- "<H1>Not Found</H1>\n"
- "The requested URL was not found on this server.\n"
- "<P><HR><ADDRESS>" SWSVERSION "</ADDRESS>\n" "</BODY></HTML>\n";
-
-#ifdef SIGPIPE
-static volatile int sigpipe; /* Why? It's not used */
-#endif
-
-#ifdef SIGPIPE
-static void sigpipe_handler(int sig)
-{
- (void)sig; /* prevent warning */
- sigpipe = 1;
-}
-#endif
-
-int ProcessRequest(struct httprequest *req)
-{
- char *line=&req->reqbuf[req->checkindex];
- bool chunked = FALSE;
- static char request[REQUEST_KEYWORD_SIZE];
- static char doc[MAXDOCNAMELEN];
- char logbuf[256];
- int prot_major, prot_minor;
- char *end;
- int error;
- end = strstr(line, END_OF_HEADERS);
-
- logmsg("ProcessRequest() called");
-
- /* try to figure out the request characteristics as soon as possible, but
- only once! */
- if((req->testno == DOCNUMBER_NOTHING) &&
- sscanf(line,
- "%" REQUEST_KEYWORD_SIZE_TXT"s %" MAXDOCNAMELEN_TXT "s HTTP/%d.%d",
- request,
- doc,
- &prot_major,
- &prot_minor) == 4) {
- char *ptr;
-
- req->prot_version = prot_major*10 + prot_minor;
-
- /* find the last slash */
- ptr = strrchr(doc, '/');
-
- /* get the number after it */
- if(ptr) {
- FILE *stream;
- char *filename;
-
- if((strlen(doc) + strlen(request)) < 200)
- sprintf(logbuf, "Got request: %s %s HTTP/%d.%d",
- request, doc, prot_major, prot_minor);
- else
- sprintf(logbuf, "Got a *HUGE* request HTTP/%d.%d",
- prot_major, prot_minor);
- logmsg("%s", logbuf);
-
- if(!strncmp("/verifiedserver", ptr, 15)) {
- logmsg("Are-we-friendly question received");
- req->testno = DOCNUMBER_WERULEZ;
- return 1; /* done */
- }
-
- if(!strncmp("/quit", ptr, 5)) {
- logmsg("Request-to-quit received");
- req->testno = DOCNUMBER_QUIT;
- return 1; /* done */
- }
-
- ptr++; /* skip the slash */
-
- /* skip all non-numericals following the slash */
- while(*ptr && !ISDIGIT(*ptr))
- ptr++;
-
- req->testno = strtol(ptr, &ptr, 10);
-
- if(req->testno > 10000) {
- req->partno = req->testno % 10000;
- req->testno /= 10000;
- }
- else
- req->partno = 0;
-
- sprintf(logbuf, "Requested test number %ld part %ld",
- req->testno, req->partno);
-
- logmsg("%s", logbuf);
-
- filename = test2file(req->testno);
-
- stream=fopen(filename, "rb");
- if(!stream) {
- error = ERRNO;
- logmsg("fopen() failed with error: %d %s", error, strerror(error));
- logmsg("Error opening file: %s", filename);
- logmsg("Couldn't open test file %d", req->testno);
- req->open = FALSE; /* closes connection */
- return 1; /* done */
- }
- else {
- char *cmd = NULL;
- size_t cmdsize = 0;
- int num=0;
-
- /* get the custom server control "commands" */
- cmd = (char *)spitout(stream, "reply", "servercmd", &cmdsize);
- fclose(stream);
-
- if(cmdsize) {
- logmsg("Found a reply-servercmd section!");
-
- if(!strncmp(CMD_AUTH_REQUIRED, cmd, strlen(CMD_AUTH_REQUIRED))) {
- logmsg("instructed to require authorization header");
- req->auth_req = TRUE;
- }
- else if(!strncmp(CMD_IDLE, cmd, strlen(CMD_IDLE))) {
- logmsg("instructed to idle");
- req->rcmd = RCMD_IDLE;
- req->open = TRUE;
- }
- else if(!strncmp(CMD_STREAM, cmd, strlen(CMD_STREAM))) {
- logmsg("instructed to stream");
- req->rcmd = RCMD_STREAM;
- }
- else if(1 == sscanf(cmd, "pipe: %d", &num)) {
- logmsg("instructed to allow a pipe size %d", num);
- req->pipe = num-1; /* decrease by one since we don't count the
- first request in this number */
- }
- else if(1 == sscanf(cmd, "skip: %d", &num)) {
- logmsg("instructed to skip this number of bytes %d", num);
- req->skip = num;
- }
- else {
- logmsg("funny instruction found: %s", cmd);
- }
- free(cmd);
- }
- }
- }
- else {
- if(sscanf(req->reqbuf, "CONNECT %" MAXDOCNAMELEN_TXT "s HTTP/%d.%d",
- doc, &prot_major, &prot_minor) == 3) {
- sprintf(logbuf, "Received a CONNECT %s HTTP/%d.%d request",
- doc, prot_major, prot_minor);
- logmsg("%s", logbuf);
-
- if(req->prot_version == 10)
- req->open = FALSE; /* HTTP 1.0 closes connection by default */
-
- if(!strncmp(doc, "bad", 3))
- /* if the host name starts with bad, we fake an error here */
- req->testno = DOCNUMBER_BADCONNECT;
- else if(!strncmp(doc, "test", 4)) {
- /* if the host name starts with test, the port number used in the
- CONNECT line will be used as test number! */
- char *portp = strchr(doc, ':');
- if(portp)
- req->testno = atoi(portp+1);
- else
- req->testno = DOCNUMBER_CONNECT;
- }
- else
- req->testno = DOCNUMBER_CONNECT;
- }
- else {
- logmsg("Did not find test number in PATH");
- req->testno = DOCNUMBER_404;
- }
- }
- }
-
- if(!end) {
- /* we don't have a complete request yet! */
- logmsg("ProcessRequest returned without a complete request");
- return 0;
- }
- logmsg("ProcessRequest found a complete request");
-
- if(req->pipe)
- /* we do have a full set, advance the checkindex to after the end of the
- headers, for the pipelining case mostly */
- req->checkindex += (end - line) + strlen(END_OF_HEADERS);
-
- /* **** Persistence ****
- *
- * If the request is a HTTP/1.0 one, we close the connection unconditionally
- * when we're done.
- *
- * If the request is a HTTP/1.1 one, we MUST check for a "Connection:"
- * header that might say "close". If it does, we close a connection when
- * this request is processed. Otherwise, we keep the connection alive for X
- * seconds.
- */
-
- do {
- if((req->cl<=0) && curlx_strnequal("Content-Length:", line, 15)) {
- /* If we don't ignore content-length, we read it and we read the whole
- request including the body before we return. If we've been told to
- ignore the content-length, we will return as soon as all headers
- have been received */
- size_t cl = strtol(line+15, &line, 10);
- req->cl = cl - req->skip;
-
- logmsg("Found Content-Length: %d in the request", cl);
- if(req->skip)
- logmsg("... but will abort after %d bytes", req->cl);
- break;
- }
- else if(curlx_strnequal("Transfer-Encoding: chunked", line,
- strlen("Transfer-Encoding: chunked"))) {
- /* chunked data coming in */
- chunked = TRUE;
- }
-
- if(chunked) {
- if(strstr(req->reqbuf, "\r\n0\r\n\r\n"))
- /* end of chunks reached */
- return 1; /* done */
- else
- return 0; /* not done */
- }
-
- line = strchr(line, '\n');
- if(line)
- line++;
- } while(line);
-
- if(!req->auth && strstr(req->reqbuf, "Authorization:")) {
- req->auth = TRUE; /* Authorization: header present! */
- if(req->auth_req)
- logmsg("Authorization header found, as required");
- }
-
- if(!req->digest && strstr(req->reqbuf, "Authorization: Digest")) {
- /* If the client is passing this Digest-header, we set the part number
- to 1000. Not only to spice up the complexity of this, but to make
- Digest stuff to work in the test suite. */
- req->partno += 1000;
- req->digest = TRUE; /* header found */
- logmsg("Received Digest request, sending back data %d", req->partno);
- }
- else if(!req->ntlm &&
- strstr(req->reqbuf, "Authorization: NTLM TlRMTVNTUAAD")) {
- /* If the client is passing this type-3 NTLM header */
- req->partno += 1002;
- req->ntlm = TRUE; /* NTLM found */
- logmsg("Received NTLM type-3, sending back data %d", req->partno);
- if(req->cl) {
- logmsg(" Expecting %d POSTed bytes", req->cl);
- }
- }
- else if(!req->ntlm &&
- strstr(req->reqbuf, "Authorization: NTLM TlRMTVNTUAAB")) {
- /* If the client is passing this type-1 NTLM header */
- req->partno += 1001;
- req->ntlm = TRUE; /* NTLM found */
- logmsg("Received NTLM type-1, sending back data %d", req->partno);
- }
- if(strstr(req->reqbuf, "Connection: close"))
- req->open = FALSE; /* close connection after this request */
-
- if(!req->pipe &&
- req->open &&
- req->prot_version >= 11 &&
- end &&
- req->reqbuf + req->offset > end + strlen(END_OF_HEADERS) &&
- (!strncmp(req->reqbuf, "GET", strlen("GET")) ||
- !strncmp(req->reqbuf, "HEAD", strlen("HEAD")))) {
- /* If we have a persistent connection, HTTP version >= 1.1
- and GET/HEAD request, enable pipelining. */
- req->checkindex = (end - req->reqbuf) + strlen(END_OF_HEADERS);
- req->pipelining = TRUE;
- }
-
- while(req->pipe) {
- /* scan for more header ends within this chunk */
- line = &req->reqbuf[req->checkindex];
- end = strstr(line, END_OF_HEADERS);
- if(!end)
- break;
- req->checkindex += (end - line) + strlen(END_OF_HEADERS);
- req->pipe--;
- }
-
-
- /* If authentication is required and no auth was provided, end now. This
- makes the server NOT wait for PUT/POST data and you can then make the
- test case send a rejection before any such data has been sent. Test case
- 154 uses this.*/
- if(req->auth_req && !req->auth)
- return 1;
-
- if(req->cl > 0) {
- if(req->cl <= req->offset - (end - req->reqbuf) - strlen(END_OF_HEADERS))
- return 1; /* done */
- else
- return 0; /* not complete yet */
- }
-
- return 1; /* done */
-}
-
-/* store the entire request in a file */
-void storerequest(char *reqbuf, ssize_t totalsize)
-{
- int res;
- int error;
- ssize_t written;
- ssize_t writeleft;
- FILE *dump;
-
- if (reqbuf == NULL)
- return;
-
- if (totalsize == 0)
- return;
- else if (totalsize < 0) {
- logmsg("Invalid size (%d bytes) for request input. Not written to %s",
- totalsize, REQUEST_DUMP);
- return;
- }
-
- do {
- dump = fopen(REQUEST_DUMP, "ab");
- } while ((dump == NULL) && ((error = ERRNO) == EINTR));
- if (dump == NULL) {
- logmsg("Error opening file %s error: %d %s",
- REQUEST_DUMP, error, strerror(error));
- logmsg("Failed to write request input to " REQUEST_DUMP);
- return;
- }
-
- writeleft = totalsize;
- do {
- written = (ssize_t)fwrite((void *) &reqbuf[totalsize-writeleft],
- 1, (size_t)writeleft, dump);
- if (written > 0)
- writeleft -= written;
- } while ((writeleft > 0) && ((error = ERRNO) == EINTR));
-
- if (writeleft > 0) {
- logmsg("Error writing file %s error: %d %s",
- REQUEST_DUMP, error, strerror(error));
- logmsg("Wrote only (%d bytes) of (%d bytes) request input to %s",
- totalsize-writeleft, totalsize, REQUEST_DUMP);
- }
-
- do {
- res = fclose(dump);
- } while(res && ((error = ERRNO) == EINTR));
- if(res)
- logmsg("Error closing file %s error: %d %s",
- REQUEST_DUMP, error, strerror(error));
-
- if(!writeleft)
- logmsg("Wrote request (%d bytes) input to " REQUEST_DUMP,
- totalsize);
-}
-
-/* return 0 on success, non-zero on failure */
-static int get_request(curl_socket_t sock, struct httprequest *req)
-{
- int fail = 0;
- char *reqbuf = req->reqbuf;
- ssize_t got = 0;
-
- char *pipereq;
- int pipereq_length = 0;
-
- if(req->pipelining) {
- pipereq = reqbuf + req->checkindex;
- pipereq_length = req->offset - req->checkindex;
- }
-
- /*** Init the httprequest structure properly for the upcoming request ***/
-
- req->checkindex = 0;
- req->offset = 0;
- req->testno = DOCNUMBER_NOTHING;
- req->partno = 0;
- req->open = TRUE;
- req->auth_req = FALSE;
- req->auth = FALSE;
- req->cl = 0;
- req->digest = FALSE;
- req->ntlm = FALSE;
- req->pipe = 0;
- req->skip = 0;
- req->rcmd = RCMD_NORMALREQ;
- req->prot_version = 0;
- req->pipelining = FALSE;
-
- /*** end of httprequest init ***/
-
- while (req->offset < REQBUFSIZ-1) {
- if(pipereq_length) {
- memmove(reqbuf, pipereq, pipereq_length);
- got = pipereq_length;
- pipereq_length = 0;
- }
- else {
- if(req->skip)
- /* we are instructed to not read the entire thing, so we make sure to only
- read what we're supposed to and NOT read the enire thing the client
- wants to send! */
- got = sread(sock, reqbuf + req->offset, req->cl);
- else
- got = sread(sock, reqbuf + req->offset, REQBUFSIZ-1 - req->offset);
- }
- if (got <= 0) {
- if (got < 0) {
- logmsg("recv() returned error: %d", SOCKERRNO);
- return DOCNUMBER_INTERNAL;
- }
- logmsg("Connection closed by client");
- reqbuf[req->offset] = '\0';
-
- /* dump the request receivied so far to the external file */
- storerequest(reqbuf, req->offset);
- return DOCNUMBER_INTERNAL;
- }
-
- logmsg("Read %d bytes", got);
-
- req->offset += got;
- reqbuf[req->offset] = '\0';
-
- if(ProcessRequest(req)) {
- if(req->pipe--) {
- logmsg("Waiting for another piped request");
- continue;
- }
- break;
- }
- }
-
- if((req->offset == REQBUFSIZ-1) && (got > 0)) {
- logmsg("Request would overflow buffer, closing connection");
- /* dump request received so far to external file anyway */
- reqbuf[REQBUFSIZ-1] = '\0';
- fail = 1;
- }
- else if(req->offset > REQBUFSIZ-1) {
- logmsg("Request buffer overflow, closing connection");
- /* dump request received so far to external file anyway */
- reqbuf[REQBUFSIZ-1] = '\0';
- fail = 1;
- }
- else
- reqbuf[req->offset] = '\0';
-
- /* dump the request to an external file */
- storerequest(reqbuf, req->pipelining ? req->checkindex : req->offset);
-
- return fail; /* return 0 on success */
-}
-
-/* returns -1 on failure */
-static int send_doc(curl_socket_t sock, struct httprequest *req)
-{
- ssize_t written;
- size_t count;
- const char *buffer;
- char *ptr=NULL;
- FILE *stream;
- char *cmd=NULL;
- size_t cmdsize=0;
- FILE *dump;
- bool persistant = TRUE;
- bool sendfailure = FALSE;
- size_t responsesize;
- int error;
- int res;
-
- static char weare[256];
-
- char partbuf[80]="data";
-
- logmsg("Send response number %d part %d", req->testno, req->partno);
-
- switch(req->rcmd) {
- default:
- case RCMD_NORMALREQ:
- break; /* continue with business as usual */
- case RCMD_STREAM:
-#define STREAMTHIS "a string to stream 01234567890\n"
- count = strlen(STREAMTHIS);
- while(1) {
- written = swrite(sock, STREAMTHIS, count);
- if(written != (ssize_t)count) {
- logmsg("Stopped streaming");
- break;
- }
- }
- return -1;
- case RCMD_IDLE:
- /* Do nothing. Sit idle. Pretend it rains. */
- return 0;
- }
-
- req->open = FALSE;
-
- if(req->testno < 0) {
- size_t msglen;
- char msgbuf[64];
-
- switch(req->testno) {
- case DOCNUMBER_QUIT:
- logmsg("Replying to QUIT");
- buffer = docquit;
- break;
- case DOCNUMBER_WERULEZ:
- /* we got a "friends?" question, reply back that we sure are */
- logmsg("Identifying ourselves as friends");
- sprintf(msgbuf, "WE ROOLZ: %ld\r\n", (long)getpid());
- msglen = strlen(msgbuf);
- sprintf(weare, "HTTP/1.1 200 OK\r\nContent-Length: %d\r\n\r\n%s",
- msglen, msgbuf);
- buffer = weare;
- break;
- case DOCNUMBER_INTERNAL:
- logmsg("Bailing out due to internal error");
- return -1;
- case DOCNUMBER_CONNECT:
- logmsg("Replying to CONNECT");
- buffer = docconnect;
- break;
- case DOCNUMBER_BADCONNECT:
- logmsg("Replying to a bad CONNECT");
- buffer = docbadconnect;
- break;
- case DOCNUMBER_404:
- default:
- logmsg("Replying to with a 404");
- buffer = doc404;
- break;
- }
- ptr = NULL;
- stream=NULL;
-
- count = strlen(buffer);
- }
- else {
- char *filename = test2file(req->testno);
-
- if(0 != req->partno)
- sprintf(partbuf, "data%ld", req->partno);
-
- stream=fopen(filename, "rb");
- if(!stream) {
- error = ERRNO;
- logmsg("fopen() failed with error: %d %s", error, strerror(error));
- logmsg("Error opening file: %s", filename);
- logmsg("Couldn't open test file");
- return 0;
- }
- else {
- buffer = spitout(stream, "reply", partbuf, &count);
- ptr = (char *)buffer;
- fclose(stream);
- }
-
- /* re-open the same file again */
- stream=fopen(filename, "rb");
- if(!stream) {
- error = ERRNO;
- logmsg("fopen() failed with error: %d %s", error, strerror(error));
- logmsg("Error opening file: %s", filename);
- logmsg("Couldn't open test file");
- return 0;
- }
- else {
- /* get the custom server control "commands" */
- cmd = (char *)spitout(stream, "reply", "postcmd", &cmdsize);
- fclose(stream);
- }
- }
-
- dump = fopen(RESPONSE_DUMP, "ab"); /* b is for windows-preparing */
- if(!dump) {
- error = ERRNO;
- logmsg("fopen() failed with error: %d %s", error, strerror(error));
- logmsg("Error opening file: %s", RESPONSE_DUMP);
- logmsg("couldn't create logfile: " RESPONSE_DUMP);
- return -1;
- }
-
- /* If the word 'swsclose' is present anywhere in the reply chunk, the
- connection will be closed after the data has been sent to the requesting
- client... */
- if(strstr(buffer, "swsclose") || !count) {
- persistant = FALSE;
- logmsg("connection close instruction \"swsclose\" found in response");
- }
- if(strstr(buffer, "swsbounce")) {
- prevbounce = TRUE;
- logmsg("enable \"swsbounce\" in the next request");
- }
- else
- prevbounce = FALSE;
-
-
- responsesize = count;
- do {
- /* Ok, we send no more than 200 bytes at a time, just to make sure that
- larger chunks are split up so that the client will need to do multiple
- recv() calls to get it and thus we exercise that code better */
- size_t num = count;
- if(num > 200)
- num = 200;
- written = swrite(sock, buffer, num);
- if (written < 0) {
- sendfailure = TRUE;
- break;
- }
- else {
- logmsg("Sent off %d bytes", written);
- }
- /* write to file as well */
- fwrite(buffer, 1, written, dump);
-
- count -= written;
- buffer += written;
- } while(count>0);
-
- do {
- res = fclose(dump);
- } while(res && ((error = ERRNO) == EINTR));
- if(res)
- logmsg("Error closing file %s error: %d %s",
- RESPONSE_DUMP, error, strerror(error));
-
- if(sendfailure) {
- logmsg("Sending response failed. Only (%d bytes) of (%d bytes) were sent",
- responsesize-count, responsesize);
- if(ptr)
- free(ptr);
- if(cmd)
- free(cmd);
- return -1;
- }
-
- logmsg("Response sent (%d bytes) and written to " RESPONSE_DUMP,
- responsesize);
-
- if(ptr)
- free(ptr);
-
- if(cmdsize > 0 ) {
- char command[32];
- int num;
- ptr=cmd;
- do {
- if(2 == sscanf(ptr, "%31s %d", command, &num)) {
- if(!strcmp("wait", command)) {
- logmsg("Told to sleep for %d seconds", num);
- sleep(num); /* wait this many seconds */
- }
- else
- logmsg("Unknown command in reply command section");
- }
- ptr = strchr(ptr, '\n');
- if(ptr)
- ptr++;
- else
- ptr = NULL;
- } while(ptr && *ptr);
- }
- if(cmd)
- free(cmd);
-
- req->open = persistant;
-
- prevtestno = req->testno;
- prevpartno = req->partno;
-
- return 0;
-}
-
-bool use_ipv6=FALSE;
-
-int main(int argc, char *argv[])
-{
- struct sockaddr_in me;
-#ifdef ENABLE_IPV6
- struct sockaddr_in6 me6;
-#endif /* ENABLE_IPV6 */
- curl_socket_t sock, msgsock;
- int flag;
- unsigned short port = DEFAULT_PORT;
- char *pidname= (char *)".http.pid";
- struct httprequest req;
- int rc;
- int arg=1;
-#ifdef CURL_SWS_FORK_ENABLED
- bool use_fork = FALSE;
-#endif
-
- while(argc>arg) {
- if(!strcmp("--version", argv[arg])) {
- printf("sws IPv4%s"
-#ifdef CURL_SWS_FORK_ENABLED
- " FORK"
-#endif
- "\n"
- ,
-#ifdef ENABLE_IPV6
- "/IPv6"
-#else
- ""
-#endif
- );
- return 0;
- }
- else if(!strcmp("--pidfile", argv[arg])) {
- arg++;
- if(argc>arg)
- pidname = argv[arg++];
- }
- else if(!strcmp("--ipv6", argv[arg])) {
-#ifdef ENABLE_IPV6
- use_ipv6=TRUE;
-#endif
- arg++;
- }
-#ifdef CURL_SWS_FORK_ENABLED
- else if(!strcmp("--fork", argv[arg])) {
- use_fork=TRUE;
- arg++;
- }
-#endif
- else if(argc>arg) {
-
- if(atoi(argv[arg]))
- port = (unsigned short)atoi(argv[arg++]);
-
- if(argc>arg)
- path = argv[arg++];
- }
- }
-
-#ifdef WIN32
- win32_init();
- atexit(win32_cleanup);
-#else
-
-#ifdef SIGPIPE
-#ifdef HAVE_SIGNAL
- signal(SIGPIPE, sigpipe_handler);
-#endif
-#ifdef HAVE_SIGINTERRUPT
- siginterrupt(SIGPIPE, 1);
-#endif
-#endif
-#endif
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6)
-#endif
- sock = socket(AF_INET, SOCK_STREAM, 0);
-#ifdef ENABLE_IPV6
- else
- sock = socket(AF_INET6, SOCK_STREAM, 0);
-#endif
-
- if (CURL_SOCKET_BAD == sock) {
- logmsg("Error opening socket: %d", SOCKERRNO);
- return 1;
- }
-
- flag = 1;
- if (0 != setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
- (void *) &flag, sizeof(flag))) {
- logmsg("setsockopt(SO_REUSEADDR) failed: %d", SOCKERRNO);
- sclose(sock);
- return 1;
- }
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6) {
-#endif
- memset(&me, 0, sizeof(me));
- me.sin_family = AF_INET;
- me.sin_addr.s_addr = INADDR_ANY;
- me.sin_port = htons(port);
- rc = bind(sock, (struct sockaddr *) &me, sizeof(me));
-#ifdef ENABLE_IPV6
- }
- else {
- memset(&me6, 0, sizeof(me6));
- me6.sin6_family = AF_INET6;
- me6.sin6_addr = in6addr_any;
- me6.sin6_port = htons(port);
- rc = bind(sock, (struct sockaddr *) &me6, sizeof(me6));
- }
-#endif /* ENABLE_IPV6 */
- if(0 != rc) {
- logmsg("Error binding socket: %d", SOCKERRNO);
- sclose(sock);
- return 1;
- }
-
- if(!write_pidfile(pidname)) {
- sclose(sock);
- return 1;
- }
-
- logmsg("Running IPv%d version on port %d",
-#ifdef ENABLE_IPV6
- (use_ipv6?6:4)
-#else
- 4
-#endif
- , port );
-
- /* start accepting connections */
- rc = listen(sock, 5);
- if(0 != rc) {
- logmsg("listen() failed with error: %d", SOCKERRNO);
- sclose(sock);
- return 1;
- }
-
- while (1) {
- msgsock = accept(sock, NULL, NULL);
-
- if (CURL_SOCKET_BAD == msgsock) {
- printf("MAJOR ERROR: accept() failed with error: %d\n", SOCKERRNO);
- break;
- }
-
- set_advisor_read_lock(SERVERLOGS_LOCK);
-
-#ifdef CURL_SWS_FORK_ENABLED
- if(use_fork) {
- /* The fork enabled version just forks off the child and don't care
- about it anymore, so don't assume otherwise. Beware and don't do
- this at home. */
- rc = fork();
- if(-1 == rc) {
- printf("MAJOR ERROR: fork() failed!\n");
- break;
- }
- }
- else
- /* not a fork, just set rc so the following proceeds nicely */
- rc = 0;
- /* 0 is returned to the child */
- if(0 == rc) {
-#endif
- logmsg("====> Client connect");
-
-#ifdef TCP_NODELAY
- /*
- * Disable the Nagle algorithm to make it easier to send out a large
- * response in many small segments to torture the clients more.
- */
- flag = 1;
- if (setsockopt(msgsock, IPPROTO_TCP, TCP_NODELAY,
- (void *)&flag, sizeof(flag)) == -1) {
- logmsg("====> TCP_NODELAY failed");
- }
-#endif
-
- /* initialization of httprequest struct is done in get_request(), but due
- to pipelining treatment the pipelining struct field must be initialized
- previously to FALSE every time a new connection arrives. */
-
- req.pipelining = FALSE;
-
- do {
- if(get_request(msgsock, &req))
- /* non-zero means error, break out of loop */
- break;
-
- if(prevbounce) {
- /* bounce treatment requested */
- if((req.testno == prevtestno) &&
- (req.partno == prevpartno)) {
- req.partno++;
- logmsg("BOUNCE part number to %ld", req.partno);
- }
- else {
- prevbounce = FALSE;
- prevtestno = -1;
- prevpartno = -1;
- }
- }
-
- send_doc(msgsock, &req);
-
- if((req.testno < 0) && (req.testno != DOCNUMBER_CONNECT)) {
- logmsg("special request received, no persistency");
- break;
- }
- if(!req.open) {
- logmsg("instructed to close connection after server-reply");
- break;
- }
-
- if(req.open)
- logmsg("=> persistant connection request ended, awaits new request");
- /* if we got a CONNECT, loop and get another request as well! */
- } while(req.open || (req.testno == DOCNUMBER_CONNECT));
-
- logmsg("====> Client disconnect");
- sclose(msgsock);
-
- clear_advisor_read_lock(SERVERLOGS_LOCK);
-
- if (req.testno == DOCNUMBER_QUIT)
- break;
-#ifdef CURL_SWS_FORK_ENABLED
- }
-#endif
- }
-
- sclose(sock);
-
- clear_advisor_read_lock(SERVERLOGS_LOCK);
-
- return 0;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/server/testpart.c b/Utilities/cmcurl-7.19.0/tests/server/testpart.c
deleted file mode 100644
index df0d1aa..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/testpart.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-#include "setup.h"
-
-#include "getpart.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-int main(int argc, char **argv)
-{
- if(argc< 3) {
- printf("./testpart main sub\n");
- }
- else {
- size_t size;
- unsigned int i;
- const char *buffer = spitout(stdin, argv[1], argv[2], &size);
- for(i=0; i< size; i++)
- printf("%c", buffer[i]);
- }
- return 0;
-}
-
diff --git a/Utilities/cmcurl-7.19.0/tests/server/tftp.h b/Utilities/cmcurl-7.19.0/tests/server/tftp.h
deleted file mode 100644
index 6a11f6a..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/tftp.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef __SERVER_TFTP_H
-#define __SERVER_TFTP_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2007, 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.
- *
- * $Id$
- ***************************************************************************/
-
-/* This file is a rewrite/clone of the arpa/tftp.h file for systems without
- it. */
-
-#define SEGSIZE 512 /* data segment size */
-
-#ifndef __GNUC__
-#define __attribute__(x)
-#endif
-
-/* Using a packed struct as binary in a program is begging for problems, but
- the tftpd server was written like this so we have this struct here to make
- things build. */
-
-struct tftphdr {
- short th_opcode; /* packet type */
- unsigned short th_block; /* all sorts of things */
- char th_data[1]; /* data or error string */
-} __attribute__ ((__packed__));
-
-#define th_stuff th_block
-#define th_code th_block
-#define th_msg th_data
-
-#define RRQ 1
-#define WRQ 2
-#define DATA 3
-#define ACK 4
-#define ERROR 5
-
-#define EUNDEF 0
-#define ENOTFOUND 1
-#define EACCESS 2
-#define ENOSPACE 3
-#define EBADOP 4
-#define EBADID 5
-#define EEXISTS 6
-#define ENOUSER 7
-
-#endif /* __SERVER_TFTP_H */
diff --git a/Utilities/cmcurl-7.19.0/tests/server/tftpd.c b/Utilities/cmcurl-7.19.0/tests/server/tftpd.c
deleted file mode 100644
index 7737519..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/tftpd.c
+++ /dev/null
@@ -1,960 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * $Id$
- *
- * Trivial file transfer protocol server.
- *
- * This code includes many modifications by Jim Guyton <guyton@rand-unix>
- *
- * This source file was started based on netkit-tftpd 0.17
- * Heavily modified for curl's test suite
- */
-
-/*
- * Copyright (c) 1983 Regents of the University of California.
- * 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 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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 "setup.h" /* portability help from the lib directory */
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_TFTP_H
-#include <arpa/tftp.h>
-#else
-#include "tftp.h"
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_SYS_FILIO_H
-/* FIONREAD on Solaris 7 */
-#include <sys/filio.h>
-#endif
-
-#include <setjmp.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-
-#define ENABLE_CURLX_PRINTF
-/* make the curlx header define all printf() functions to use the curlx_*
- versions instead */
-#include "curlx.h" /* from the private lib dir */
-#include "getpart.h"
-#include "util.h"
-
-/* include memdebug.h last */
-#include "memdebug.h"
-
-struct testcase {
- char *buffer; /* holds the file data to send to the client */
- size_t bufsize; /* size of the data in buffer */
- char *rptr; /* read pointer into the buffer */
- size_t rcount; /* amount of data left to read of the file */
- long num; /* test case number */
- int ofile; /* file descriptor for output file when uploading to us */
-};
-
-static int synchnet(curl_socket_t);
-static struct tftphdr *r_init(void);
-static struct tftphdr *w_init(void);
-static int readit(struct testcase *test, struct tftphdr **dpp, int convert);
-static int writeit(struct testcase *test, struct tftphdr **dpp, int ct,
- int convert);
-static void mysignal(int, void (*func)(int));
-
-
-#define TIMEOUT 5
-
-#define PKTSIZE SEGSIZE+4
-
-struct formats;
-static int tftp(struct testcase *test, struct tftphdr *tp, ssize_t size);
-static void nak(int error);
-static void sendtftp(struct testcase *test, struct formats *pf);
-static void recvtftp(struct testcase *test, struct formats *pf);
-static int validate_access(struct testcase *test, const char *, int);
-
-static curl_socket_t peer;
-static int rexmtval = TIMEOUT;
-static int maxtimeout = 5*TIMEOUT;
-
-static char buf[PKTSIZE];
-static char ackbuf[PKTSIZE];
-static struct sockaddr_in from;
-static socklen_t fromlen;
-
-struct bf {
- int counter; /* size of data in buffer, or flag */
- char buf[PKTSIZE]; /* room for data packet */
-} bfs[2];
-
- /* Values for bf.counter */
-#define BF_ALLOC -3 /* alloc'd but not yet filled */
-#define BF_FREE -2 /* free */
-/* [-1 .. SEGSIZE] = size of data in the data buffer */
-
-static int nextone; /* index of next buffer to use */
-static int current; /* index of buffer in use */
-
- /* control flags for crlf conversions */
-int newline = 0; /* fillbuf: in middle of newline expansion */
-int prevchar = -1; /* putbuf: previous char (cr check) */
-
-static void read_ahead(struct testcase *test,
- int convert /* if true, convert to ascii */);
-static ssize_t write_behind(struct testcase *test, int convert);
-static struct tftphdr *rw_init(int);
-static struct tftphdr *w_init(void) { return rw_init(0); } /* write-behind */
-static struct tftphdr *r_init(void) { return rw_init(1); } /* read-ahead */
-
-static struct tftphdr *
-rw_init(int x) /* init for either read-ahead or write-behind */
-{ /* zero for write-behind, one for read-head */
- newline = 0; /* init crlf flag */
- prevchar = -1;
- bfs[0].counter = BF_ALLOC; /* pass out the first buffer */
- current = 0;
- bfs[1].counter = BF_FREE;
- nextone = x; /* ahead or behind? */
- return (struct tftphdr *)bfs[0].buf;
-}
-
-
-/* Have emptied current buffer by sending to net and getting ack.
- Free it and return next buffer filled with data.
- */
-static int readit(struct testcase *test, struct tftphdr **dpp,
- int convert /* if true, convert to ascii */)
-{
- struct bf *b;
-
- bfs[current].counter = BF_FREE; /* free old one */
- current = !current; /* "incr" current */
-
- b = &bfs[current]; /* look at new buffer */
- if (b->counter == BF_FREE) /* if it's empty */
- read_ahead(test, convert); /* fill it */
-
- *dpp = (struct tftphdr *)b->buf; /* set caller's ptr */
- return b->counter;
-}
-
-#undef MIN /* some systems have this defined already, some don't */
-#define MIN(x,y) ((x)<(y)?(x):(y));
-
-/*
- * fill the input buffer, doing ascii conversions if requested
- * conversions are lf -> cr,lf and cr -> cr, nul
- */
-static void read_ahead(struct testcase *test,
- int convert /* if true, convert to ascii */)
-{
- int i;
- char *p;
- int c;
- struct bf *b;
- struct tftphdr *dp;
-
- b = &bfs[nextone]; /* look at "next" buffer */
- if (b->counter != BF_FREE) /* nop if not free */
- return;
- nextone = !nextone; /* "incr" next buffer ptr */
-
- dp = (struct tftphdr *)b->buf;
-
- if (convert == 0) {
- /* The former file reading code did this:
- b->counter = read(fileno(file), dp->th_data, SEGSIZE); */
- size_t copy_n = MIN(SEGSIZE, test->rcount);
- memcpy(dp->th_data, test->rptr, copy_n);
-
- /* decrease amount, advance pointer */
- test->rcount -= copy_n;
- test->rptr += copy_n;
- b->counter = (int)copy_n;
- return;
- }
-
- p = dp->th_data;
- for (i = 0 ; i < SEGSIZE; i++) {
- if (newline) {
- if (prevchar == '\n')
- c = '\n'; /* lf to cr,lf */
- else
- c = '\0'; /* cr to cr,nul */
- newline = 0;
- }
- else {
- if(test->rcount) {
- c=test->rptr[0];
- test->rptr++;
- test->rcount--;
- }
- else
- break;
- if (c == '\n' || c == '\r') {
- prevchar = c;
- c = '\r';
- newline = 1;
- }
- }
- *p++ = (char)c;
- }
- b->counter = (int)(p - dp->th_data);
-}
-
-/* Update count associated with the buffer, get new buffer from the queue.
- Calls write_behind only if next buffer not available.
- */
-static int writeit(struct testcase *test, struct tftphdr **dpp,
- int ct, int convert)
-{
- bfs[current].counter = ct; /* set size of data to write */
- current = !current; /* switch to other buffer */
- if (bfs[current].counter != BF_FREE) /* if not free */
- write_behind(test, convert); /* flush it */
- bfs[current].counter = BF_ALLOC; /* mark as alloc'd */
- *dpp = (struct tftphdr *)bfs[current].buf;
- return ct; /* this is a lie of course */
-}
-
-/*
- * Output a buffer to a file, converting from netascii if requested.
- * CR,NUL -> CR and CR,LF => LF.
- * Note spec is undefined if we get CR as last byte of file or a
- * CR followed by anything else. In this case we leave it alone.
- */
-static ssize_t write_behind(struct testcase *test, int convert)
-{
- char *writebuf;
- int count;
- int ct;
- char *p;
- int c; /* current character */
- struct bf *b;
- struct tftphdr *dp;
-
- b = &bfs[nextone];
- if (b->counter < -1) /* anything to flush? */
- return 0; /* just nop if nothing to do */
-
- if(!test->ofile) {
- char outfile[256];
- snprintf(outfile, sizeof(outfile), "log/upload.%ld", test->num);
- test->ofile=open(outfile, O_CREAT|O_RDWR, 0777);
- if(test->ofile == -1) {
- logmsg("Couldn't create and/or open file %s for upload!", outfile);
- return -1; /* failure! */
- }
- }
-
- count = b->counter; /* remember byte count */
- b->counter = BF_FREE; /* reset flag */
- dp = (struct tftphdr *)b->buf;
- nextone = !nextone; /* incr for next time */
- writebuf = dp->th_data;
-
- if (count <= 0)
- return -1; /* nak logic? */
-
- if (convert == 0)
- return write(test->ofile, writebuf, count);
-
- p = writebuf;
- ct = count;
- while (ct--) { /* loop over the buffer */
- c = *p++; /* pick up a character */
- if (prevchar == '\r') { /* if prev char was cr */
- if (c == '\n') /* if have cr,lf then just */
- lseek(test->ofile, -1, SEEK_CUR); /* smash lf on top of the cr */
- else
- if (c == '\0') /* if have cr,nul then */
- goto skipit; /* just skip over the putc */
- /* else just fall through and allow it */
- }
- /* formerly
- putc(c, file); */
- write(test->ofile, &c, 1);
- skipit:
- prevchar = c;
- }
- return count;
-}
-
-
-/* When an error has occurred, it is possible that the two sides are out of
- * synch. Ie: that what I think is the other side's response to packet N is
- * really their response to packet N-1.
- *
- * So, to try to prevent that, we flush all the input queued up for us on the
- * network connection on our host.
- *
- * We return the number of packets we flushed (mostly for reporting when trace
- * is active).
- */
-
-static int synchnet(curl_socket_t f /* socket to flush */)
-{
-
-#if defined(HAVE_IOCTLSOCKET)
- unsigned long i;
-#else
- int i;
-#endif
- int j = 0;
- char rbuf[PKTSIZE];
- struct sockaddr_in fromaddr;
- socklen_t fromaddrlen;
-
- while (1) {
-#if defined(HAVE_IOCTLSOCKET)
- (void) ioctlsocket(f, FIONREAD, &i);
-#else
- (void) ioctl(f, FIONREAD, &i);
-#endif
- if (i) {
- j++;
- fromaddrlen = sizeof(fromaddr);
- (void)recvfrom(f, rbuf, sizeof(rbuf), 0,
- (struct sockaddr *)&fromaddr, &fromaddrlen);
- }
- else
- break;
- }
- return j;
-}
-
-#if defined(HAVE_ALARM) && defined(SIGALRM)
-/*
- * Like signal(), but with well-defined semantics.
- */
-static void mysignal(int sig, void (*handler)(int))
-{
- struct sigaction sa;
- memset(&sa, 0, sizeof(sa));
- sa.sa_handler = handler;
- sigaction(sig, &sa, NULL);
-}
-#endif
-
-#ifndef DEFAULT_LOGFILE
-#define DEFAULT_LOGFILE "log/tftpd.log"
-#endif
-
-#define DEFAULT_PORT 8999 /* UDP */
-const char *serverlogfile = DEFAULT_LOGFILE;
-
-#define REQUEST_DUMP "log/server.input"
-
-char use_ipv6=FALSE;
-
-int main(int argc, char **argv)
-{
- struct sockaddr_in me;
-#ifdef ENABLE_IPV6
- struct sockaddr_in6 me6;
-#endif /* ENABLE_IPV6 */
-
- struct tftphdr *tp;
- ssize_t n = 0;
- int arg = 1;
- char *pidname= (char *)".tftpd.pid";
- unsigned short port = DEFAULT_PORT;
- curl_socket_t sock;
- int flag;
- int rc;
- struct testcase test;
- int result = 0;
-
- while(argc>arg) {
- if(!strcmp("--version", argv[arg])) {
- printf("tftpd IPv4%s\n",
-#ifdef ENABLE_IPV6
- "/IPv6"
-#else
- ""
-#endif
- );
- return 0;
- }
- else if(!strcmp("--pidfile", argv[arg])) {
- arg++;
- if(argc>arg)
- pidname = argv[arg++];
- }
- else if(!strcmp("--ipv6", argv[arg])) {
-#ifdef ENABLE_IPV6
- use_ipv6=TRUE;
-#endif
- arg++;
- }
- else if(argc>arg) {
-
- if(atoi(argv[arg]))
- port = (unsigned short)atoi(argv[arg++]);
-
- if(argc>arg)
- path = argv[arg++];
- }
- }
-
-#ifdef WIN32
- win32_init();
- atexit(win32_cleanup);
-#endif
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6)
-#endif
- sock = socket(AF_INET, SOCK_DGRAM, 0);
-#ifdef ENABLE_IPV6
- else
- sock = socket(AF_INET6, SOCK_DGRAM, 0);
-#endif
-
- if (sock < 0) {
- perror("opening stream socket");
- logmsg("Error opening socket");
- return 1;
- }
-
- flag = 1;
- if (setsockopt
- (sock, SOL_SOCKET, SO_REUSEADDR, (const void *) &flag,
- sizeof(int)) < 0) {
- perror("setsockopt(SO_REUSEADDR)");
- }
-
-#ifdef ENABLE_IPV6
- if(!use_ipv6) {
-#endif
- me.sin_family = AF_INET;
- me.sin_addr.s_addr = INADDR_ANY;
- me.sin_port = htons(port);
- rc = bind(sock, (struct sockaddr *) &me, sizeof(me));
-#ifdef ENABLE_IPV6
- }
- else {
- memset(&me6, 0, sizeof(struct sockaddr_in6));
- me6.sin6_family = AF_INET6;
- me6.sin6_addr = in6addr_any;
- me6.sin6_port = htons(port);
- rc = bind(sock, (struct sockaddr *) &me6, sizeof(me6));
- }
-#endif /* ENABLE_IPV6 */
- if(rc < 0) {
- perror("binding stream socket");
- logmsg("Error binding socket");
- sclose(sock);
- return 1;
- }
-
- if(!write_pidfile(pidname)) {
- sclose(sock);
- return 1;
- }
-
- logmsg("Running IPv%d version on port UDP/%d",
-#ifdef ENABLE_IPV6
- (use_ipv6?6:4)
-#else
- 4
-#endif
- , port );
-
- do {
- fromlen = sizeof(from);
- n = (ssize_t)recvfrom(sock, buf, sizeof(buf), 0,
- (struct sockaddr *)&from, &fromlen);
- if (n < 0) {
- logmsg("recvfrom:\n");
- result = 3;
- break;
- }
-
- set_advisor_read_lock(SERVERLOGS_LOCK);
-
- from.sin_family = AF_INET;
-
- peer = socket(AF_INET, SOCK_DGRAM, 0);
- if (peer < 0) {
- logmsg("socket:\n");
- result = 2;
- break;
- }
-
- if (connect(peer, (struct sockaddr *)&from, sizeof(from)) < 0) {
- logmsg("connect: fail\n");
- result = 1;
- break;
- }
- maxtimeout = 5*TIMEOUT;
-
- tp = (struct tftphdr *)buf;
- tp->th_opcode = ntohs(tp->th_opcode);
- if (tp->th_opcode == RRQ || tp->th_opcode == WRQ) {
- memset(&test, 0, sizeof(test));
- if (tftp(&test, tp, n) < 0)
- break;
- if(test.buffer)
- free(test.buffer);
- }
- sclose(peer);
-
- clear_advisor_read_lock(SERVERLOGS_LOCK);
-
- } while(1);
-
- clear_advisor_read_lock(SERVERLOGS_LOCK);
-
- return result;
-}
-
-struct formats {
- const char *f_mode;
- int f_convert;
-} formats[] = {
- { "netascii", 1 },
- { "octet", 0 },
- { NULL, 0 }
-};
-
-/*
- * Handle initial connection protocol.
- */
-static int tftp(struct testcase *test, struct tftphdr *tp, ssize_t size)
-{
- char *cp;
- int first = 1, ecode;
- struct formats *pf;
- char *filename, *mode = NULL;
- int error;
- FILE *server;
-
- /* Open request dump file. */
- server = fopen(REQUEST_DUMP, "ab");
- if(!server) {
- error = ERRNO;
- logmsg("fopen() failed with error: %d %s", error, strerror(error));
- logmsg("Error opening file: %s", REQUEST_DUMP);
- return -1;
- }
-
- /* store input protocol */
- fprintf(server, "opcode: %x\n", tp->th_opcode);
-
- cp = (char *)&tp->th_stuff;
- filename = cp;
-again:
- while (cp < buf + size) {
- if (*cp == '\0')
- break;
- cp++;
- }
- if (*cp) {
- nak(EBADOP);
- fclose(server);
- return 3;
- }
- if (first) {
- mode = ++cp;
- first = 0;
- goto again;
- }
- /* store input protocol */
- fprintf(server, "filename: %s\n", filename);
-
- for (cp = mode; *cp; cp++)
- if(ISUPPER(*cp))
- *cp = (char)tolower((int)*cp);
-
- /* store input protocol */
- fprintf(server, "mode: %s\n", mode);
- fclose(server);
-
- for (pf = formats; pf->f_mode; pf++)
- if (strcmp(pf->f_mode, mode) == 0)
- break;
- if (!pf->f_mode) {
- nak(EBADOP);
- return 2;
- }
- ecode = validate_access(test, filename, tp->th_opcode);
- if (ecode) {
- nak(ecode);
- return 1;
- }
- if (tp->th_opcode == WRQ)
- recvtftp(test, pf);
- else
- sendtftp(test, pf);
-
- return 0;
-}
-
-/*
- * Validate file access.
- */
-static int validate_access(struct testcase *test,
- const char *filename, int mode)
-{
- char *ptr;
- long testno, partno;
- int error;
- char partbuf[80]="data";
-
- logmsg("trying to get file: %s mode %x", filename, mode);
-
- if(!strncmp("verifiedserver", filename, 14)) {
- char weare[128];
- size_t count = sprintf(weare, "WE ROOLZ: %ld\r\n", (long)getpid());
-
- logmsg("Are-we-friendly question received");
- test->buffer = strdup(weare);
- test->rptr = test->buffer; /* set read pointer */
- test->bufsize = count; /* set total count */
- test->rcount = count; /* set data left to read */
- return 0; /* fine */
- }
-
- /* find the last slash */
- ptr = strrchr(filename, '/');
-
- if(ptr) {
- char *file;
-
- ptr++; /* skip the slash */
-
- /* skip all non-numericals following the slash */
- while(*ptr && !ISDIGIT(*ptr))
- ptr++;
-
- /* get the number */
- testno = strtol(ptr, &ptr, 10);
-
- if(testno > 10000) {
- partno = testno % 10000;
- testno /= 10000;
- }
- else
- partno = 0;
-
-
- logmsg("requested test number %ld part %ld", testno, partno);
-
- test->num = testno;
-
- file = test2file(testno);
-
- if(0 != partno)
- sprintf(partbuf, "data%ld", partno);
-
- if(file) {
- FILE *stream=fopen(file, "rb");
- if(!stream) {
- error = ERRNO;
- logmsg("fopen() failed with error: %d %s", error, strerror(error));
- logmsg("Error opening file: %s", file);
- logmsg("Couldn't open test file: %s", file);
- return EACCESS;
- }
- else {
- size_t count;
- test->buffer = (char *)spitout(stream, "reply", partbuf, &count);
- fclose(stream);
- if(test->buffer) {
- test->rptr = test->buffer; /* set read pointer */
- test->bufsize = count; /* set total count */
- test->rcount = count; /* set data left to read */
- }
- else
- return EACCESS;
- }
-
- }
- else
- return EACCESS;
- }
- else {
- logmsg("no slash found in path");
- return EACCESS; /* failure */
- }
-
- return 0;
-}
-
-int timeout;
-#ifdef HAVE_SIGSETJMP
-sigjmp_buf timeoutbuf;
-#endif
-
-static void timer(int signum)
-{
- (void)signum;
-
- logmsg("alarm!");
-
- timeout += rexmtval;
- if(timeout >= maxtimeout) {
- clear_advisor_read_lock(SERVERLOGS_LOCK);
- exit(1);
- }
-#ifdef HAVE_SIGSETJMP
- siglongjmp(timeoutbuf, 1);
-#endif
-}
-
-/*
- * Send the requested file.
- */
-static void sendtftp(struct testcase *test, struct formats *pf)
-{
- struct tftphdr *dp;
- struct tftphdr *ap; /* ack packet */
- unsigned short block = 1;
- int size;
- ssize_t n;
-#if defined(HAVE_ALARM) && defined(SIGALRM)
- mysignal(SIGALRM, timer);
-#endif
- dp = r_init();
- ap = (struct tftphdr *)ackbuf;
- do {
- size = readit(test, &dp, pf->f_convert);
- if (size < 0) {
- nak(ERRNO + 100);
- return;
- }
- dp->th_opcode = htons((u_short)DATA);
- dp->th_block = htons((u_short)block);
- timeout = 0;
-#ifdef HAVE_SIGSETJMP
- (void) sigsetjmp(timeoutbuf, 1);
-#endif
- send_data:
- if (swrite(peer, dp, size + 4) != size + 4) {
- logmsg("write\n");
- return;
- }
- read_ahead(test, pf->f_convert);
- for ( ; ; ) {
-#ifdef HAVE_ALARM
- alarm(rexmtval); /* read the ack */
-#endif
- n = sread(peer, ackbuf, sizeof (ackbuf));
-#ifdef HAVE_ALARM
- alarm(0);
-#endif
- if (n < 0) {
- logmsg("read: fail\n");
- return;
- }
- ap->th_opcode = ntohs((u_short)ap->th_opcode);
- ap->th_block = ntohs((u_short)ap->th_block);
-
- if (ap->th_opcode == ERROR) {
- logmsg("got ERROR");
- return;
- }
-
- if (ap->th_opcode == ACK) {
- if (ap->th_block == block) {
- break;
- }
- /* Re-synchronize with the other side */
- (void) synchnet(peer);
- if (ap->th_block == (block -1)) {
- goto send_data;
- }
- }
-
- }
- block++;
- } while (size == SEGSIZE);
-}
-
-static void justtimeout(int signum)
-{
- (void)signum;
-}
-
-
-/*
- * Receive a file.
- */
-static void recvtftp(struct testcase *test, struct formats *pf)
-{
- struct tftphdr *dp;
- struct tftphdr *ap; /* ack buffer */
- unsigned short block = 0;
- ssize_t n, size;
-#if defined(HAVE_ALARM) && defined(SIGALRM)
- mysignal(SIGALRM, timer);
-#endif
- dp = w_init();
- ap = (struct tftphdr *)ackbuf;
- do {
- timeout = 0;
- ap->th_opcode = htons((u_short)ACK);
- ap->th_block = htons((u_short)block);
- block++;
-#ifdef HAVE_SIGSETJMP
- (void) sigsetjmp(timeoutbuf, 1);
-#endif
-send_ack:
- if (swrite(peer, ackbuf, 4) != 4) {
- logmsg("write: fail\n");
- goto abort;
- }
- write_behind(test, pf->f_convert);
- for ( ; ; ) {
-#ifdef HAVE_ALARM
- alarm(rexmtval);
-#endif
- n = sread(peer, dp, PKTSIZE);
-#ifdef HAVE_ALARM
- alarm(0);
-#endif
- if (n < 0) { /* really? */
- logmsg("read: fail\n");
- goto abort;
- }
- dp->th_opcode = ntohs((u_short)dp->th_opcode);
- dp->th_block = ntohs((u_short)dp->th_block);
- if (dp->th_opcode == ERROR)
- goto abort;
- if (dp->th_opcode == DATA) {
- if (dp->th_block == block) {
- break; /* normal */
- }
- /* Re-synchronize with the other side */
- (void) synchnet(peer);
- if (dp->th_block == (block-1))
- goto send_ack; /* rexmit */
- }
- }
-
- size = writeit(test, &dp, (int)(n - 4), pf->f_convert);
- if (size != (n-4)) { /* ahem */
- if (size < 0)
- nak(ERRNO + 100);
- else
- nak(ENOSPACE);
- goto abort;
- }
- } while (size == SEGSIZE);
- write_behind(test, pf->f_convert);
-
- ap->th_opcode = htons((u_short)ACK); /* send the "final" ack */
- ap->th_block = htons((u_short)(block));
- (void) swrite(peer, ackbuf, 4);
-#if defined(HAVE_ALARM) && defined(SIGALRM)
- mysignal(SIGALRM, justtimeout); /* just abort read on timeout */
- alarm(rexmtval);
-#endif
- n = sread(peer, buf, sizeof(buf)); /* normally times out and quits */
-#ifdef HAVE_ALARM
- alarm(0);
-#endif
- if (n >= 4 && /* if read some data */
- dp->th_opcode == DATA && /* and got a data block */
- block == dp->th_block) { /* then my last ack was lost */
- (void) swrite(peer, ackbuf, 4); /* resend final ack */
- }
-abort:
- return;
-}
-
-struct errmsg {
- int e_code;
- const char *e_msg;
-} errmsgs[] = {
- { EUNDEF, "Undefined error code" },
- { ENOTFOUND, "File not found" },
- { EACCESS, "Access violation" },
- { ENOSPACE, "Disk full or allocation exceeded" },
- { EBADOP, "Illegal TFTP operation" },
- { EBADID, "Unknown transfer ID" },
- { EEXISTS, "File already exists" },
- { ENOUSER, "No such user" },
- { -1, 0 }
-};
-
-/*
- * Send a nak packet (error message). Error code passed in is one of the
- * standard TFTP codes, or a UNIX errno offset by 100.
- */
-static void nak(int error)
-{
- struct tftphdr *tp;
- int length;
- struct errmsg *pe;
-
- tp = (struct tftphdr *)buf;
- tp->th_opcode = htons((u_short)ERROR);
- tp->th_code = htons((u_short)error);
- for (pe = errmsgs; pe->e_code >= 0; pe++)
- if (pe->e_code == error)
- break;
- if (pe->e_code < 0) {
- pe->e_msg = strerror(error - 100);
- tp->th_code = EUNDEF; /* set 'undef' errorcode */
- }
- strcpy(tp->th_msg, pe->e_msg);
- length = (int)strlen(pe->e_msg);
- tp->th_msg[length] = '\0';
- length += 5;
- if (swrite(peer, buf, length) != length)
- logmsg("nak: fail\n");
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/server/util.c b/Utilities/cmcurl-7.19.0/tests/server/util.c
deleted file mode 100644
index 6468454..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/util.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-#include "setup.h" /* portability help from the lib directory */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef _XOPEN_SOURCE_EXTENDED
-/* This define is "almost" required to build on HPUX 11 */
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_SYS_POLL_H
-#include <sys/poll.h>
-#elif defined(HAVE_POLL_H)
-#include <poll.h>
-#endif
-
-#define ENABLE_CURLX_PRINTF
-/* make the curlx header define all printf() functions to use the curlx_*
- versions instead */
-#include "curlx.h" /* from the private lib dir */
-#include "getpart.h"
-#include "util.h"
-#include "timeval.h"
-
-#if defined(ENABLE_IPV6) && defined(__MINGW32__)
-const struct in6_addr in6addr_any = {{ IN6ADDR_ANY_INIT }};
-#endif
-
-/* someone else must set this properly */
-extern const char *serverlogfile;
-
-void logmsg(const char *msg, ...)
-{
- va_list ap;
- char buffer[512]; /* possible overflow if you pass in a huge string */
- FILE *logfp;
- int error;
- struct timeval tv;
- time_t sec;
- struct tm *now;
- char timebuf[20];
-
- if (!serverlogfile) {
- fprintf(stderr, "Error: serverlogfile not set\n");
- return;
- }
-
- tv = curlx_tvnow();
- sec = tv.tv_sec;
- now = localtime(&sec); /* not multithread safe but we don't care */
-
- snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld",
- now->tm_hour, now->tm_min, now->tm_sec, tv.tv_usec);
-
- va_start(ap, msg);
- vsprintf(buffer, msg, ap);
- va_end(ap);
-
- logfp = fopen(serverlogfile, "a");
- if(logfp) {
- fprintf(logfp, "%s %s\n", timebuf, buffer);
- fclose(logfp);
- }
- else {
- error = ERRNO;
- fprintf(stderr, "fopen() failed with error: %d %s\n",
- error, strerror(error));
- fprintf(stderr, "Error opening file: %s\n", serverlogfile);
- fprintf(stderr, "Msg not logged: %s %s\n", timebuf, buffer);
- }
-}
-
-#ifdef WIN32
-/* use instead of perror() on generic windows */
-void win32_perror (const char *msg)
-{
- char buf[512];
- DWORD err = SOCKERRNO;
-
- if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
- LANG_NEUTRAL, buf, sizeof(buf), NULL))
- snprintf(buf, sizeof(buf), "Unknown error %lu (%#lx)", err, err);
- if (msg)
- fprintf(stderr, "%s: ", msg);
- fprintf(stderr, "%s\n", buf);
-}
-#endif /* WIN32 */
-
-#ifdef USE_WINSOCK
-void win32_init(void)
-{
- WORD wVersionRequested;
- WSADATA wsaData;
- int err;
- wVersionRequested = MAKEWORD(USE_WINSOCK, USE_WINSOCK);
-
- err = WSAStartup(wVersionRequested, &wsaData);
-
- if (err != 0) {
- perror("Winsock init failed");
- logmsg("Error initialising winsock -- aborting");
- exit(1);
- }
-
- if ( LOBYTE( wsaData.wVersion ) != USE_WINSOCK ||
- HIBYTE( wsaData.wVersion ) != USE_WINSOCK ) {
-
- WSACleanup();
- perror("Winsock init failed");
- logmsg("No suitable winsock.dll found -- aborting");
- exit(1);
- }
-}
-
-void win32_cleanup(void)
-{
- WSACleanup();
-}
-#endif /* USE_WINSOCK */
-
-/* set by the main code to point to where the test dir is */
-const char *path=".";
-
-char *test2file(long testno)
-{
- static char filename[256];
- snprintf(filename, sizeof(filename), TEST_DATA_PATH, path, testno);
- return filename;
-}
-
-/*
- * Portable function used for waiting a specific amount of ms.
- * Waiting indefinitely with this function is not allowed, a
- * zero or negative timeout value will return immediately.
- *
- * Return values:
- * -1 = system call error, or invalid timeout value
- * 0 = specified timeout has elapsed
- */
-int wait_ms(int timeout_ms)
-{
-#if !defined(MSDOS) && !defined(USE_WINSOCK)
-#ifndef HAVE_POLL_FINE
- struct timeval pending_tv;
-#endif
- struct timeval initial_tv;
- int pending_ms;
- int error;
-#endif
- int r = 0;
-
- if(!timeout_ms)
- return 0;
- if(timeout_ms < 0) {
- SET_SOCKERRNO(EINVAL);
- return -1;
- }
-#if defined(MSDOS)
- delay(timeout_ms);
-#elif defined(USE_WINSOCK)
- Sleep(timeout_ms);
-#else
- pending_ms = timeout_ms;
- initial_tv = curlx_tvnow();
- do {
-#if defined(HAVE_POLL_FINE)
- r = poll(NULL, 0, pending_ms);
-#else
- pending_tv.tv_sec = pending_ms / 1000;
- pending_tv.tv_usec = (pending_ms % 1000) * 1000;
- r = select(0, NULL, NULL, NULL, &pending_tv);
-#endif /* HAVE_POLL_FINE */
- if(r != -1)
- break;
- error = SOCKERRNO;
- if(error == EINVAL)
- break;
- pending_ms = timeout_ms - (int)curlx_tvdiff(curlx_tvnow(), initial_tv);
- if(pending_ms <= 0)
- break;
- } while(r == -1);
-#endif /* USE_WINSOCK */
- if(r)
- r = -1;
- return r;
-}
-
-int write_pidfile(const char *filename)
-{
- FILE *pidfile;
- long pid;
-
- pid = (long)getpid();
- pidfile = fopen(filename, "w");
- if(!pidfile) {
- logmsg("Couldn't write pid file: %s %s", filename, strerror(ERRNO));
- return 0; /* fail */
- }
- fprintf(pidfile, "%ld\n", pid);
- fclose(pidfile);
- logmsg("Wrote pid %ld to %s", pid, filename);
- return 1; /* success */
-}
-
-void set_advisor_read_lock(const char *filename)
-{
- FILE *lockfile;
- int error;
- int res;
-
- do {
- lockfile = fopen(filename, "wb");
- } while((lockfile == NULL) && ((error = ERRNO) == EINTR));
- if(lockfile == NULL) {
- logmsg("Error creating lock file %s error: %d %s",
- filename, error, strerror(error));
- return;
- }
-
- do {
- res = fclose(lockfile);
- } while(res && ((error = ERRNO) == EINTR));
- if(res)
- logmsg("Error closing lock file %s error: %d %s",
- filename, error, strerror(error));
-}
-
-void clear_advisor_read_lock(const char *filename)
-{
- int error;
- int res;
-
- do {
- res = unlink(filename);
- } while(res && ((error = ERRNO) == EINTR));
- if(res)
- logmsg("Error removing lock file %s error: %d %s",
- filename, error, strerror(error));
-}
diff --git a/Utilities/cmcurl-7.19.0/tests/server/util.h b/Utilities/cmcurl-7.19.0/tests/server/util.h
deleted file mode 100644
index 9b9dd59..0000000
--- a/Utilities/cmcurl-7.19.0/tests/server/util.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef __SERVER_UTIL_H
-#define __SERVER_UTIL_H
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2008, 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.
- *
- * $Id$
- ***************************************************************************/
-
-void logmsg(const char *msg, ...);
-
-#define TEST_DATA_PATH "%s/data/test%ld"
-
-#define SERVERLOGS_LOCK "log/serverlogs.lock"
-
-/* global variable, where to find the 'data' dir */
-extern const char *path;
-
-#ifdef WIN32
-#include <process.h>
-#include <fcntl.h>
-
-#define sleep(sec) Sleep ((sec)*1000)
-
-#undef perror
-#define perror(m) win32_perror(m)
-void win32_perror (const char *msg);
-#endif /* WIN32 */
-
-#ifdef USE_WINSOCK
-void win32_init(void);
-void win32_cleanup(void);
-#endif /* USE_WINSOCK */
-
-/* returns the path name to the test case file */
-char *test2file(long testno);
-
-int wait_ms(int timeout_ms);
-
-int write_pidfile(const char *filename);
-
-void set_advisor_read_lock(const char *filename);
-
-void clear_advisor_read_lock(const char *filename);
-
-#endif /* __SERVER_UTIL_H */
diff --git a/Utilities/cmcurl-7.19.0/tests/sshhelp.pm b/Utilities/cmcurl-7.19.0/tests/sshhelp.pm
deleted file mode 100644
index 7cd4b5c..0000000
--- a/Utilities/cmcurl-7.19.0/tests/sshhelp.pm
+++ /dev/null
@@ -1,385 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-#***************************************************************************
-
-package sshhelp;
-
-use strict;
-#use warnings;
-use Exporter;
-use File::Spec;
-
-
-#***************************************************************************
-# Global symbols allowed without explicit package name
-#
-use vars qw(
- @ISA
- @EXPORT_OK
- $sshdexe
- $sshexe
- $sftpsrvexe
- $sftpexe
- $sshkeygenexe
- $sshdconfig
- $sshconfig
- $sftpconfig
- $knownhosts
- $sshdlog
- $sshlog
- $sftplog
- $sftpcmds
- $hstprvkeyf
- $hstpubkeyf
- $cliprvkeyf
- $clipubkeyf
- @sftppath
- );
-
-
-#***************************************************************************
-# Inherit Exporter's capabilities
-#
-@ISA = qw(Exporter);
-
-
-#***************************************************************************
-# Global symbols this module will export upon request
-#
-@EXPORT_OK = qw(
- $sshdexe
- $sshexe
- $sftpsrvexe
- $sftpexe
- $sshkeygenexe
- $sshdconfig
- $sshconfig
- $sftpconfig
- $knownhosts
- $sshdlog
- $sshlog
- $sftplog
- $sftpcmds
- $hstprvkeyf
- $hstpubkeyf
- $cliprvkeyf
- $clipubkeyf
- display_sshdconfig
- display_sshconfig
- display_sftpconfig
- display_sshdlog
- display_sshlog
- display_sftplog
- dump_array
- find_sshd
- find_ssh
- find_sftpsrv
- find_sftp
- find_sshkeygen
- logmsg
- sshversioninfo
- );
-
-
-#***************************************************************************
-# Global variables initialization
-#
-$sshdexe = 'sshd' .exe_ext(); # base name and ext of ssh daemon
-$sshexe = 'ssh' .exe_ext(); # base name and ext of ssh client
-$sftpsrvexe = 'sftp-server' .exe_ext(); # base name and ext of sftp-server
-$sftpexe = 'sftp' .exe_ext(); # base name and ext of sftp client
-$sshkeygenexe = 'ssh-keygen' .exe_ext(); # base name and ext of ssh-keygen
-$sshdconfig = 'curl_sshd_config'; # ssh daemon config file
-$sshconfig = 'curl_ssh_config'; # ssh client config file
-$sftpconfig = 'curl_sftp_config'; # sftp client config file
-$sshdlog = 'log/sshd.log'; # ssh daemon log file
-$sshlog = 'log/ssh.log'; # ssh client log file
-$sftplog = 'log/sftp.log'; # sftp client log file
-$sftpcmds = 'curl_sftp_cmds'; # sftp client commands batch file
-$knownhosts = 'curl_client_knownhosts'; # ssh knownhosts file
-$hstprvkeyf = 'curl_host_dsa_key'; # host private key file
-$hstpubkeyf = 'curl_host_dsa_key.pub'; # host public key file
-$cliprvkeyf = 'curl_client_key'; # client private key file
-$clipubkeyf = 'curl_client_key.pub'; # client public key file
-
-
-#***************************************************************************
-# Absolute paths where to look for sftp-server plugin
-#
-@sftppath = qw(
- /usr/lib/openssh
- /usr/libexec/openssh
- /usr/libexec
- /usr/local/libexec
- /opt/local/libexec
- /usr/lib/ssh
- /usr/libexec/ssh
- /usr/sbin
- /usr/lib
- /usr/lib/ssh/openssh
- /usr/lib64/ssh
- /usr/lib64/misc
- /usr/lib/misc
- /usr/local/sbin
- /usr/freeware/bin
- /usr/freeware/sbin
- /usr/freeware/libexec
- /opt/ssh/sbin
- /opt/ssh/libexec
- );
-
-
-#***************************************************************************
-# Return file extension for executable files on this operating system
-#
-sub exe_ext {
- if ($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys' ||
- $^O eq 'dos' || $^O eq 'os2') {
- return '.exe';
- }
-}
-
-
-#***************************************************************************
-# Create or overwrite the given file with lines from an array of strings
-#
-sub dump_array {
- my ($filename, @arr) = @_;
- my $error;
-
- if(!$filename) {
- $error = 'Error: Missing argument 1 for dump_array()';
- }
- elsif(open(TEXTFH, ">$filename")) {
- foreach my $line (@arr) {
- $line .= "\n" unless($line =~ /\n$/);
- print TEXTFH $line;
- }
- if(!close(TEXTFH)) {
- $error = "Error: cannot close file $filename";
- }
- }
- else {
- $error = "Error: cannot write file $filename";
- }
- return $error;
-}
-
-
-#***************************************************************************
-# Display a message
-#
-sub logmsg {
- my ($line) = @_;
- chomp $line if($line);
- $line .= "\n";
- print "$line";
-}
-
-
-#***************************************************************************
-# Display contents of the given file
-#
-sub display_file {
- my $filename = $_[0];
- print "=== Start of file $filename\n";
- if(open(DISPLAYFH, "<$filename")) {
- while(my $line = <DISPLAYFH>) {
- print "$line";
- }
- close DISPLAYFH;
- }
- print "=== End of file $filename\n";
-}
-
-
-#***************************************************************************
-# Display contents of the ssh daemon config file
-#
-sub display_sshdconfig {
- display_file($sshdconfig);
-}
-
-
-#***************************************************************************
-# Display contents of the ssh client config file
-#
-sub display_sshconfig {
- display_file($sshconfig);
-}
-
-
-#***************************************************************************
-# Display contents of the sftp client config file
-#
-sub display_sftpconfig {
- display_file($sftpconfig);
-}
-
-
-#***************************************************************************
-# Display contents of the ssh daemon log file
-#
-sub display_sshdlog {
- display_file($sshdlog);
-}
-
-
-#***************************************************************************
-# Display contents of the ssh client log file
-#
-sub display_sshlog {
- display_file($sshlog);
-}
-
-
-#***************************************************************************
-# Display contents of the sftp client log file
-#
-sub display_sftplog {
- display_file($sftplog);
-}
-
-
-#***************************************************************************
-# Find a file somewhere in the given path
-#
-sub find_file {
- my $fn = $_[0];
- shift;
- my @path = @_;
- foreach (@path) {
- my $file = File::Spec->catfile($_, $fn);
- if(-e $file) {
- return $file;
- }
- }
-}
-
-
-#***************************************************************************
-# Find a file in environment path or in our sftppath
-#
-sub find_sfile {
- my $filename = $_[0];
- my @spath;
- push(@spath, File::Spec->path());
- push(@spath, @sftppath);
- return find_file($filename, @spath);
-}
-
-
-#***************************************************************************
-# Find ssh daemon and return canonical filename
-#
-sub find_sshd {
- return find_sfile($sshdexe);
-}
-
-
-#***************************************************************************
-# Find ssh client and return canonical filename
-#
-sub find_ssh {
- return find_sfile($sshexe);
-}
-
-
-#***************************************************************************
-# Find sftp-server plugin and return canonical filename
-#
-sub find_sftpsrv {
- return find_sfile($sftpsrvexe);
-}
-
-
-#***************************************************************************
-# Find sftp client and return canonical filename
-#
-sub find_sftp {
- return find_sfile($sftpexe);
-}
-
-
-#***************************************************************************
-# Find ssh-keygen and return canonical filename
-#
-sub find_sshkeygen {
- return find_sfile($sshkeygenexe);
-}
-
-
-#***************************************************************************
-# Return version info for the given ssh client or server binaries
-#
-sub sshversioninfo {
- my $sshbin = $_[0]; # canonical filename
- my $major;
- my $minor;
- my $patch;
- my $sshid;
- my $versnum;
- my $versstr;
- my $error;
-
- if(!$sshbin) {
- $error = 'Error: Missing argument 1 for sshversioninfo()';
- }
- elsif(! -x $sshbin) {
- $error = "Error: cannot read or execute $sshbin";
- }
- else {
- my $cmd = ($sshbin =~ /$sshdexe$/) ? "$sshbin -?" : "$sshbin -V";
- $error = "$cmd\n";
- foreach my $tmpstr (qx($cmd 2>&1)) {
- if($tmpstr =~ /OpenSSH[_-](\d+)\.(\d+)(\.(\d+))*/i) {
- $major = $1;
- $minor = $2;
- $patch = $4?$4:0;
- $sshid = 'OpenSSH';
- $versnum = (100*$major) + (10*$minor) + $patch;
- $versstr = "$sshid $major.$minor.$patch";
- $error = undef;
- last;
- }
- if($tmpstr =~ /Sun[_-]SSH[_-](\d+)\.(\d+)(\.(\d+))*/i) {
- $major = $1;
- $minor = $2;
- $patch = $4?$4:0;
- $sshid = 'SunSSH';
- $versnum = (100*$major) + (10*$minor) + $patch;
- $versstr = "$sshid $major.$minor.$patch";
- $error = undef;
- last;
- }
- $error .= $tmpstr;
- }
- chomp $error if($error);
- }
- return ($sshid, $versnum, $versstr, $error);
-}
-
-
-#***************************************************************************
-# End of library
-1;
-
diff --git a/Utilities/cmcurl-7.19.0/tests/sshserver.pl b/Utilities/cmcurl-7.19.0/tests/sshserver.pl
deleted file mode 100755
index 564e615..0000000
--- a/Utilities/cmcurl-7.19.0/tests/sshserver.pl
+++ /dev/null
@@ -1,982 +0,0 @@
-#!/usr/bin/env perl
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-#***************************************************************************
-
-# Starts sshd for use in the SCP, SFTP and SOCKS curl test harness tests.
-# Also creates the ssh configuration files needed for these tests.
-
-# Options:
-#
-# -v
-# -d
-# -u user
-# -l listen address
-# -p SCP/SFTP server port
-# -s SOCKS4/5 server port
-
-use strict;
-#use warnings;
-use Cwd;
-
-#***************************************************************************
-# Variables and subs imported from sshhelp module
-#
-use sshhelp qw(
- $sshdexe
- $sshexe
- $sftpsrvexe
- $sftpexe
- $sshkeygenexe
- $sshdconfig
- $sshconfig
- $sftpconfig
- $knownhosts
- $sshdlog
- $sshlog
- $sftplog
- $sftpcmds
- $hstprvkeyf
- $hstpubkeyf
- $cliprvkeyf
- $clipubkeyf
- display_sshdconfig
- display_sshconfig
- display_sftpconfig
- display_sshdlog
- display_sshlog
- display_sftplog
- dump_array
- find_sshd
- find_ssh
- find_sftpsrv
- find_sftp
- find_sshkeygen
- logmsg
- sshversioninfo
- );
-
-
-#***************************************************************************
-
-my $verbose = 0; # set to 1 for debugging
-my $debugprotocol = 0; # set to 1 for protocol debugging
-my $port = 8999; # our default SCP/SFTP server port
-my $socksport = $port + 1; # our default SOCKS4/5 server port
-my $listenaddr = '127.0.0.1'; # default address on which to listen
-my $path = getcwd(); # current working directory
-my $username = $ENV{USER}; # default user
-
-my $error;
-my @cfgarr;
-
-
-#***************************************************************************
-# Parse command line options
-#
-while(@ARGV) {
- if($ARGV[0] eq '-v') {
- $verbose = 1;
- }
- elsif($ARGV[0] eq '-d') {
- $verbose = 1;
- $debugprotocol = 1;
- }
- elsif($ARGV[0] eq '-u') {
- $username = $ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq '-l') {
- $listenaddr = $ARGV[1];
- shift @ARGV;
- }
- elsif($ARGV[0] eq '-p') {
- if($ARGV[1] =~ /^(\d+)$/) {
- $port = $1;
- }
- shift @ARGV;
- }
- elsif($ARGV[0] eq '-s') {
- if($ARGV[1] =~ /^(\d+)$/) {
- $socksport = $1;
- }
- shift @ARGV;
- }
- shift @ARGV;
-};
-
-
-#***************************************************************************
-# Logging level for ssh server and client
-#
-my $loglevel = $debugprotocol?'DEBUG3':'DEBUG2';
-
-
-#***************************************************************************
-# Validate username
-#
-if(!$username) {
- $error = 'Will not run ssh server without a user name';
-}
-elsif($username eq 'root') {
- $error = 'Will not run ssh server as root to mitigate security risks';
-}
-if($error) {
- logmsg $error;
- exit 1;
-}
-
-
-#***************************************************************************
-# Find out ssh daemon canonical file name
-#
-my $sshd = find_sshd();
-if(!$sshd) {
- logmsg "cannot find $sshdexe";
- exit 1;
-}
-
-
-#***************************************************************************
-# Find out ssh daemon version info
-#
-my ($sshdid, $sshdvernum, $sshdverstr, $sshderror) = sshversioninfo($sshd);
-if(!$sshdid) {
- # Not an OpenSSH or SunSSH ssh daemon
- logmsg $sshderror if($verbose);
- logmsg 'SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later';
- exit 1;
-}
-logmsg "ssh server found $sshd is $sshdverstr" if($verbose);
-
-
-#***************************************************************************
-# ssh daemon command line options we might use and version support
-#
-# -e: log stderr : OpenSSH 2.9.0 and later
-# -f: sshd config file : OpenSSH 1.2.1 and later
-# -D: no daemon forking : OpenSSH 2.5.0 and later
-# -o: command-line option : OpenSSH 3.1.0 and later
-# -t: test config file : OpenSSH 2.9.9 and later
-# -?: sshd version info : OpenSSH 1.2.1 and later
-#
-# -e: log stderr : SunSSH 1.0.0 and later
-# -f: sshd config file : SunSSH 1.0.0 and later
-# -D: no daemon forking : SunSSH 1.0.0 and later
-# -o: command-line option : SunSSH 1.0.0 and later
-# -t: test config file : SunSSH 1.0.0 and later
-# -?: sshd version info : SunSSH 1.0.0 and later
-
-
-#***************************************************************************
-# Verify minimum ssh daemon version
-#
-if((($sshdid =~ /OpenSSH/) && ($sshdvernum < 299)) ||
- (($sshdid =~ /SunSSH/) && ($sshdvernum < 100))) {
- logmsg 'SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later';
- exit 1;
-}
-
-
-#***************************************************************************
-# Find out sftp server plugin canonical file name
-#
-my $sftpsrv = find_sftpsrv();
-if(!$sftpsrv) {
- logmsg "cannot find $sftpsrvexe";
- exit 1;
-}
-logmsg "sftp server plugin found $sftpsrv" if($verbose);
-
-
-#***************************************************************************
-# Find out sftp client canonical file name
-#
-my $sftp = find_sftp();
-if(!$sftp) {
- logmsg "cannot find $sftpexe";
- exit 1;
-}
-logmsg "sftp client found $sftp" if($verbose);
-
-
-#***************************************************************************
-# Find out ssh keygen canonical file name
-#
-my $sshkeygen = find_sshkeygen();
-if(!$sshkeygen) {
- logmsg "cannot find $sshkeygenexe";
- exit 1;
-}
-logmsg "ssh keygen found $sshkeygen" if($verbose);
-
-
-#***************************************************************************
-# Find out ssh client canonical file name
-#
-my $ssh = find_ssh();
-if(!$ssh) {
- logmsg "cannot find $sshexe";
- exit 1;
-}
-
-
-#***************************************************************************
-# Find out ssh client version info
-#
-my ($sshid, $sshvernum, $sshverstr, $ssherror) = sshversioninfo($ssh);
-if(!$sshid) {
- # Not an OpenSSH or SunSSH ssh client
- logmsg $ssherror if($verbose);
- logmsg 'SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later';
- exit 1;
-}
-logmsg "ssh client found $ssh is $sshverstr" if($verbose);
-
-
-#***************************************************************************
-# ssh client command line options we might use and version support
-#
-# -D: dynamic app port forwarding : OpenSSH 2.9.9 and later
-# -F: ssh config file : OpenSSH 2.9.9 and later
-# -N: no shell/command : OpenSSH 2.1.0 and later
-# -p: connection port : OpenSSH 1.2.1 and later
-# -v: verbose messages : OpenSSH 1.2.1 and later
-# -vv: increase verbosity : OpenSSH 2.3.0 and later
-# -V: ssh version info : OpenSSH 1.2.1 and later
-#
-# -D: dynamic app port forwarding : SunSSH 1.0.0 and later
-# -F: ssh config file : SunSSH 1.0.0 and later
-# -N: no shell/command : SunSSH 1.0.0 and later
-# -p: connection port : SunSSH 1.0.0 and later
-# -v: verbose messages : SunSSH 1.0.0 and later
-# -vv: increase verbosity : SunSSH 1.0.0 and later
-# -V: ssh version info : SunSSH 1.0.0 and later
-
-
-#***************************************************************************
-# Verify minimum ssh client version
-#
-if((($sshid =~ /OpenSSH/) && ($sshvernum < 299)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum < 100))) {
- logmsg 'SCP, SFTP and SOCKS tests require OpenSSH 2.9.9 or later';
- exit 1;
-}
-
-
-#***************************************************************************
-# ssh keygen command line options we actually use and version support
-#
-# -C: identity comment : OpenSSH 1.2.1 and later
-# -f: key filename : OpenSSH 1.2.1 and later
-# -N: new passphrase : OpenSSH 1.2.1 and later
-# -q: quiet keygen : OpenSSH 1.2.1 and later
-# -t: key type : OpenSSH 2.5.0 and later
-#
-# -C: identity comment : SunSSH 1.0.0 and later
-# -f: key filename : SunSSH 1.0.0 and later
-# -N: new passphrase : SunSSH 1.0.0 and later
-# -q: quiet keygen : SunSSH 1.0.0 and later
-# -t: key type : SunSSH 1.0.0 and later
-
-
-#***************************************************************************
-# Generate host and client key files for curl's tests
-#
-if((! -e $hstprvkeyf) || (! -e $hstpubkeyf) ||
- (! -e $cliprvkeyf) || (! -e $clipubkeyf)) {
- # Make sure all files are gone so ssh-keygen doesn't complain
- unlink($hstprvkeyf, $hstpubkeyf, $cliprvkeyf, $clipubkeyf);
- logmsg 'generating host keys...' if($verbose);
- if(system "$sshkeygen -q -t dsa -f $hstprvkeyf -C 'curl test server' -N ''") {
- logmsg 'Could not generate host key';
- exit 1;
- }
- logmsg 'generating client keys...' if($verbose);
- if(system "$sshkeygen -q -t dsa -f $cliprvkeyf -C 'curl test client' -N ''") {
- logmsg 'Could not generate client key';
- exit 1;
- }
-}
-
-
-#***************************************************************************
-# ssh daemon configuration file options we might use and version support
-#
-# AFSTokenPassing : OpenSSH 1.2.1 and later [1]
-# AcceptEnv : OpenSSH 3.9.0 and later
-# AddressFamily : OpenSSH 4.0.0 and later
-# AllowGroups : OpenSSH 1.2.1 and later
-# AllowTcpForwarding : OpenSSH 2.3.0 and later
-# AllowUsers : OpenSSH 1.2.1 and later
-# AuthorizedKeysFile : OpenSSH 2.9.9 and later
-# AuthorizedKeysFile2 : OpenSSH 2.9.9 and later
-# Banner : OpenSSH 2.5.0 and later
-# ChallengeResponseAuthentication : OpenSSH 2.5.0 and later
-# Ciphers : OpenSSH 2.1.0 and later [3]
-# ClientAliveCountMax : OpenSSH 2.9.0 and later
-# ClientAliveInterval : OpenSSH 2.9.0 and later
-# Compression : OpenSSH 3.3.0 and later
-# DenyGroups : OpenSSH 1.2.1 and later
-# DenyUsers : OpenSSH 1.2.1 and later
-# ForceCommand : OpenSSH 4.4.0 and later [3]
-# GatewayPorts : OpenSSH 2.1.0 and later
-# GSSAPIAuthentication : OpenSSH 3.7.0 and later [1]
-# GSSAPICleanupCredentials : OpenSSH 3.8.0 and later [1]
-# GSSAPIKeyExchange : SunSSH 1.0.0 and later [1]
-# GSSAPIStoreDelegatedCredentials : SunSSH 1.0.0 and later [1]
-# GSSCleanupCreds : SunSSH 1.0.0 and later [1]
-# GSSUseSessionCredCache : SunSSH 1.0.0 and later [1]
-# HostbasedAuthentication : OpenSSH 2.9.0 and later
-# HostbasedUsesNameFromPacketOnly : OpenSSH 2.9.0 and later
-# HostKey : OpenSSH 1.2.1 and later
-# IgnoreRhosts : OpenSSH 1.2.1 and later
-# IgnoreUserKnownHosts : OpenSSH 1.2.1 and later
-# KbdInteractiveAuthentication : OpenSSH 2.3.0 and later
-# KeepAlive : OpenSSH 1.2.1 and later
-# KerberosAuthentication : OpenSSH 1.2.1 and later [1]
-# KerberosGetAFSToken : OpenSSH 3.8.0 and later [1]
-# KerberosOrLocalPasswd : OpenSSH 1.2.1 and later [1]
-# KerberosTgtPassing : OpenSSH 1.2.1 and later [1]
-# KerberosTicketCleanup : OpenSSH 1.2.1 and later [1]
-# KeyRegenerationInterval : OpenSSH 1.2.1 and later
-# ListenAddress : OpenSSH 1.2.1 and later
-# LoginGraceTime : OpenSSH 1.2.1 and later
-# LogLevel : OpenSSH 1.2.1 and later
-# LookupClientHostnames : SunSSH 1.0.0 and later
-# MACs : OpenSSH 2.5.0 and later [3]
-# Match : OpenSSH 4.4.0 and later [3]
-# MaxAuthTries : OpenSSH 3.9.0 and later
-# MaxStartups : OpenSSH 2.2.0 and later
-# PAMAuthenticationViaKbdInt : OpenSSH 2.9.0 and later [2]
-# PasswordAuthentication : OpenSSH 1.2.1 and later
-# PermitEmptyPasswords : OpenSSH 1.2.1 and later
-# PermitOpen : OpenSSH 4.4.0 and later [3]
-# PermitRootLogin : OpenSSH 1.2.1 and later
-# PermitTunnel : OpenSSH 4.3.0 and later
-# PermitUserEnvironment : OpenSSH 3.5.0 and later
-# PidFile : OpenSSH 2.1.0 and later
-# Port : OpenSSH 1.2.1 and later
-# PrintLastLog : OpenSSH 2.9.0 and later
-# PrintMotd : OpenSSH 1.2.1 and later
-# Protocol : OpenSSH 2.1.0 and later
-# PubkeyAuthentication : OpenSSH 2.5.0 and later
-# RhostsAuthentication : OpenSSH 1.2.1 and later
-# RhostsRSAAuthentication : OpenSSH 1.2.1 and later
-# RSAAuthentication : OpenSSH 1.2.1 and later
-# ServerKeyBits : OpenSSH 1.2.1 and later
-# SkeyAuthentication : OpenSSH 1.2.1 and later [1]
-# StrictModes : OpenSSH 1.2.1 and later
-# Subsystem : OpenSSH 2.2.0 and later
-# SyslogFacility : OpenSSH 1.2.1 and later
-# TCPKeepAlive : OpenSSH 3.8.0 and later
-# UseDNS : OpenSSH 3.7.0 and later
-# UseLogin : OpenSSH 1.2.1 and later
-# UsePAM : OpenSSH 3.7.0 and later [1][2]
-# UsePrivilegeSeparation : OpenSSH 3.2.2 and later
-# VerifyReverseMapping : OpenSSH 3.1.0 and later
-# X11DisplayOffset : OpenSSH 1.2.1 and later [3]
-# X11Forwarding : OpenSSH 1.2.1 and later
-# X11UseLocalhost : OpenSSH 3.1.0 and later
-# XAuthLocation : OpenSSH 2.1.1 and later [3]
-#
-# [1] Option only available if activated at compile time
-# [2] Option specific for portable versions
-# [3] Option not used in our ssh server config file
-
-
-#***************************************************************************
-# Initialize sshd config with options actually supported in OpenSSH 2.9.9
-#
-logmsg 'generating ssh server config file...' if($verbose);
-@cfgarr = ();
-push @cfgarr, '# This is a generated file. Do not edit.';
-push @cfgarr, "# $sshdverstr sshd configuration file for curl testing";
-push @cfgarr, '#';
-push @cfgarr, "DenyUsers !$username";
-push @cfgarr, "AllowUsers $username";
-push @cfgarr, 'DenyGroups';
-push @cfgarr, 'AllowGroups';
-push @cfgarr, '#';
-push @cfgarr, "AuthorizedKeysFile $path/$clipubkeyf";
-push @cfgarr, "AuthorizedKeysFile2 $path/$clipubkeyf";
-push @cfgarr, "HostKey $path/$hstprvkeyf";
-push @cfgarr, "PidFile $path/.ssh.pid";
-push @cfgarr, '#';
-push @cfgarr, "Port $port";
-push @cfgarr, "ListenAddress $listenaddr";
-push @cfgarr, 'Protocol 2';
-push @cfgarr, '#';
-push @cfgarr, 'AllowTcpForwarding yes';
-push @cfgarr, 'Banner none';
-push @cfgarr, 'ChallengeResponseAuthentication no';
-push @cfgarr, 'ClientAliveCountMax 3';
-push @cfgarr, 'ClientAliveInterval 0';
-push @cfgarr, 'GatewayPorts no';
-push @cfgarr, 'HostbasedAuthentication no';
-push @cfgarr, 'HostbasedUsesNameFromPacketOnly no';
-push @cfgarr, 'IgnoreRhosts yes';
-push @cfgarr, 'IgnoreUserKnownHosts yes';
-push @cfgarr, 'KeyRegenerationInterval 0';
-push @cfgarr, 'LoginGraceTime 30';
-push @cfgarr, "LogLevel $loglevel";
-push @cfgarr, 'MaxStartups 5';
-push @cfgarr, 'PasswordAuthentication no';
-push @cfgarr, 'PermitEmptyPasswords no';
-push @cfgarr, 'PermitRootLogin no';
-push @cfgarr, 'PrintLastLog no';
-push @cfgarr, 'PrintMotd no';
-push @cfgarr, 'PubkeyAuthentication yes';
-push @cfgarr, 'RhostsRSAAuthentication no';
-push @cfgarr, 'RSAAuthentication no';
-push @cfgarr, 'ServerKeyBits 768';
-push @cfgarr, 'StrictModes no';
-push @cfgarr, "Subsystem sftp $sftpsrv";
-push @cfgarr, 'SyslogFacility AUTH';
-push @cfgarr, 'UseLogin no';
-push @cfgarr, 'X11Forwarding no';
-push @cfgarr, '#';
-
-
-#***************************************************************************
-# Write out initial sshd configuration file for curl's tests
-#
-$error = dump_array($sshdconfig, @cfgarr);
-if($error) {
- logmsg $error;
- exit 1;
-}
-
-
-#***************************************************************************
-# Verifies at run time if sshd supports a given configuration file option
-#
-sub sshd_supports_opt {
- my ($option, $value) = @_;
- my $err;
- #
- if((($sshdid =~ /OpenSSH/) && ($sshdvernum >= 310)) ||
- ($sshdid =~ /SunSSH/)) {
- # ssh daemon supports command line options -t -f and -o
- $err = grep /((Unsupported)|(Bad configuration)|(Deprecated)) option.*$option/,
- qx($sshd -t -f $sshdconfig -o $option=$value 2>&1);
- return !$err;
- }
- if(($sshdid =~ /OpenSSH/) && ($sshdvernum >= 299)) {
- # ssh daemon supports command line options -t and -f
- $err = dump_array($sshdconfig, (@cfgarr, "$option $value"));
- if($err) {
- logmsg $err;
- return 0;
- }
- $err = grep /((Unsupported)|(Bad configuration)|(Deprecated)) option.*$option/,
- qx($sshd -t -f $sshdconfig 2>&1);
- unlink $sshdconfig;
- return !$err;
- }
- return 0;
-}
-
-
-#***************************************************************************
-# Kerberos Authentication support may have not been built into sshd
-#
-if(sshd_supports_opt('KerberosAuthentication','no')) {
- push @cfgarr, 'KerberosAuthentication no';
-}
-if(sshd_supports_opt('KerberosGetAFSToken','no')) {
- push @cfgarr, 'KerberosGetAFSToken no';
-}
-if(sshd_supports_opt('KerberosOrLocalPasswd','no')) {
- push @cfgarr, 'KerberosOrLocalPasswd no';
-}
-if(sshd_supports_opt('KerberosTgtPassing','no')) {
- push @cfgarr, 'KerberosTgtPassing no';
-}
-if(sshd_supports_opt('KerberosTicketCleanup','yes')) {
- push @cfgarr, 'KerberosTicketCleanup yes';
-}
-
-
-#***************************************************************************
-# Andrew File System support may have not been built into sshd
-#
-if(sshd_supports_opt('AFSTokenPassing','no')) {
- push @cfgarr, 'AFSTokenPassing no';
-}
-
-
-#***************************************************************************
-# S/Key authentication support may have not been built into sshd
-#
-if(sshd_supports_opt('SkeyAuthentication','no')) {
- push @cfgarr, 'SkeyAuthentication no';
-}
-
-
-#***************************************************************************
-# GSSAPI Authentication support may have not been built into sshd
-#
-my $sshd_builtwith_GSSAPI;
-if(sshd_supports_opt('GSSAPIAuthentication','no')) {
- push @cfgarr, 'GSSAPIAuthentication no';
- $sshd_builtwith_GSSAPI = 1;
-}
-if(sshd_supports_opt('GSSAPICleanupCredentials','yes')) {
- push @cfgarr, 'GSSAPICleanupCredentials yes';
-}
-if(sshd_supports_opt('GSSAPIKeyExchange','no')) {
- push @cfgarr, 'GSSAPIKeyExchange no';
-}
-if(sshd_supports_opt('GSSAPIStoreDelegatedCredentials','no')) {
- push @cfgarr, 'GSSAPIStoreDelegatedCredentials no';
-}
-if(sshd_supports_opt('GSSCleanupCreds','yes')) {
- push @cfgarr, 'GSSCleanupCreds yes';
-}
-if(sshd_supports_opt('GSSUseSessionCredCache','no')) {
- push @cfgarr, 'GSSUseSessionCredCache no';
-}
-push @cfgarr, '#';
-
-
-#***************************************************************************
-# Options that might be supported or not in sshd OpenSSH 2.9.9 and later
-#
-if(sshd_supports_opt('AcceptEnv','')) {
- push @cfgarr, 'AcceptEnv';
-}
-if(sshd_supports_opt('AddressFamily','any')) {
- # Address family must be specified before ListenAddress
- splice @cfgarr, 14, 0, 'AddressFamily any';
-}
-if(sshd_supports_opt('Compression','no')) {
- push @cfgarr, 'Compression no';
-}
-if(sshd_supports_opt('KbdInteractiveAuthentication','no')) {
- push @cfgarr, 'KbdInteractiveAuthentication no';
-}
-if(sshd_supports_opt('KeepAlive','no')) {
- push @cfgarr, 'KeepAlive no';
-}
-if(sshd_supports_opt('LookupClientHostnames','no')) {
- push @cfgarr, 'LookupClientHostnames no';
-}
-if(sshd_supports_opt('MaxAuthTries','10')) {
- push @cfgarr, 'MaxAuthTries 10';
-}
-if(sshd_supports_opt('PAMAuthenticationViaKbdInt','no')) {
- push @cfgarr, 'PAMAuthenticationViaKbdInt no';
-}
-if(sshd_supports_opt('PermitTunnel','no')) {
- push @cfgarr, 'PermitTunnel no';
-}
-if(sshd_supports_opt('PermitUserEnvironment','no')) {
- push @cfgarr, 'PermitUserEnvironment no';
-}
-if(sshd_supports_opt('RhostsAuthentication','no')) {
- push @cfgarr, 'RhostsAuthentication no';
-}
-if(sshd_supports_opt('TCPKeepAlive','no')) {
- push @cfgarr, 'TCPKeepAlive no';
-}
-if(sshd_supports_opt('UseDNS','no')) {
- push @cfgarr, 'UseDNS no';
-}
-if(sshd_supports_opt('UsePAM','no')) {
- push @cfgarr, 'UsePAM no';
-}
-
-if($sshdid =~ /OpenSSH/) {
- # http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6492415
- if(sshd_supports_opt('UsePrivilegeSeparation','no')) {
- push @cfgarr, 'UsePrivilegeSeparation no';
- }
-}
-
-if(sshd_supports_opt('VerifyReverseMapping','no')) {
- push @cfgarr, 'VerifyReverseMapping no';
-}
-if(sshd_supports_opt('X11UseLocalhost','yes')) {
- push @cfgarr, 'X11UseLocalhost yes';
-}
-push @cfgarr, '#';
-
-
-#***************************************************************************
-# Write out resulting sshd configuration file for curl's tests
-#
-$error = dump_array($sshdconfig, @cfgarr);
-if($error) {
- logmsg $error;
- exit 1;
-}
-
-
-#***************************************************************************
-# Verify that sshd actually supports our generated configuration file
-#
-if(system "$sshd -t -f $sshdconfig > $sshdlog 2>&1") {
- logmsg "sshd configuration file $sshdconfig failed verification";
- display_sshdlog();
- display_sshdconfig();
- exit 1;
-}
-
-
-#***************************************************************************
-# Generate ssh client host key database file for curl's tests
-#
-if(! -e $knownhosts) {
- logmsg 'generating ssh client known hosts file...' if($verbose);
- if(open(DSAKEYFILE, "<$hstpubkeyf")) {
- my @dsahostkey = do { local $/ = ' '; <DSAKEYFILE> };
- if(close(DSAKEYFILE)) {
- if(open(KNOWNHOSTS, ">$knownhosts")) {
- print KNOWNHOSTS "$listenaddr ssh-dss $dsahostkey[1]\n";
- if(!close(KNOWNHOSTS)) {
- $error = "Error: cannot close file $knownhosts";
- }
- }
- else {
- $error = "Error: cannot write file $knownhosts";
- }
- }
- else {
- $error = "Error: cannot close file $hstpubkeyf";
- }
- }
- else {
- $error = "Error: cannot read file $hstpubkeyf";
- }
- if($error) {
- logmsg $error;
- exit 1;
- }
-}
-
-
-#***************************************************************************
-# ssh client configuration file options we might use and version support
-#
-# AddressFamily : OpenSSH 3.7.0 and later
-# BatchMode : OpenSSH 1.2.1 and later
-# BindAddress : OpenSSH 2.9.9 and later
-# ChallengeResponseAuthentication : OpenSSH 2.5.0 and later
-# CheckHostIP : OpenSSH 1.2.1 and later
-# Cipher : OpenSSH 1.2.1 and later [3]
-# Ciphers : OpenSSH 2.1.0 and later [3]
-# ClearAllForwardings : OpenSSH 2.9.9 and later
-# Compression : OpenSSH 1.2.1 and later
-# CompressionLevel : OpenSSH 1.2.1 and later [3]
-# ConnectionAttempts : OpenSSH 1.2.1 and later
-# ConnectTimeout : OpenSSH 3.7.0 and later
-# ControlMaster : OpenSSH 3.9.0 and later
-# ControlPath : OpenSSH 3.9.0 and later
-# DisableBanner : SunSSH 1.2.0 and later
-# DynamicForward : OpenSSH 2.9.0 and later
-# EnableSSHKeysign : OpenSSH 3.6.0 and later
-# EscapeChar : OpenSSH 1.2.1 and later [3]
-# ExitOnForwardFailure : OpenSSH 4.4.0 and later
-# ForwardAgent : OpenSSH 1.2.1 and later
-# ForwardX11 : OpenSSH 1.2.1 and later
-# ForwardX11Trusted : OpenSSH 3.8.0 and later
-# GatewayPorts : OpenSSH 1.2.1 and later
-# GlobalKnownHostsFile : OpenSSH 1.2.1 and later
-# GSSAPIAuthentication : OpenSSH 3.7.0 and later [1]
-# GSSAPIDelegateCredentials : OpenSSH 3.7.0 and later [1]
-# HashKnownHosts : OpenSSH 4.0.0 and later
-# Host : OpenSSH 1.2.1 and later
-# HostbasedAuthentication : OpenSSH 2.9.0 and later
-# HostKeyAlgorithms : OpenSSH 2.9.0 and later [3]
-# HostKeyAlias : OpenSSH 2.5.0 and later [3]
-# HostName : OpenSSH 1.2.1 and later
-# IdentitiesOnly : OpenSSH 3.9.0 and later
-# IdentityFile : OpenSSH 1.2.1 and later
-# IgnoreIfUnknown : SunSSH 1.2.0 and later
-# KeepAlive : OpenSSH 1.2.1 and later
-# KbdInteractiveAuthentication : OpenSSH 2.3.0 and later
-# KbdInteractiveDevices : OpenSSH 2.3.0 and later [3]
-# LocalCommand : OpenSSH 4.3.0 and later [3]
-# LocalForward : OpenSSH 1.2.1 and later [3]
-# LogLevel : OpenSSH 1.2.1 and later
-# MACs : OpenSSH 2.5.0 and later [3]
-# NoHostAuthenticationForLocalhost : OpenSSH 3.0.0 and later
-# NumberOfPasswordPrompts : OpenSSH 1.2.1 and later
-# PasswordAuthentication : OpenSSH 1.2.1 and later
-# PermitLocalCommand : OpenSSH 4.3.0 and later
-# Port : OpenSSH 1.2.1 and later
-# PreferredAuthentications : OpenSSH 2.5.2 and later
-# Protocol : OpenSSH 2.1.0 and later
-# ProxyCommand : OpenSSH 1.2.1 and later [3]
-# PubkeyAuthentication : OpenSSH 2.5.0 and later
-# RekeyLimit : OpenSSH 3.7.0 and later
-# RemoteForward : OpenSSH 1.2.1 and later [3]
-# RhostsRSAAuthentication : OpenSSH 1.2.1 and later
-# RSAAuthentication : OpenSSH 1.2.1 and later
-# SendEnv : OpenSSH 3.9.0 and later
-# ServerAliveCountMax : OpenSSH 3.8.0 and later
-# ServerAliveInterval : OpenSSH 3.8.0 and later
-# SmartcardDevice : OpenSSH 2.9.9 and later [1][3]
-# StrictHostKeyChecking : OpenSSH 1.2.1 and later
-# TCPKeepAlive : OpenSSH 3.8.0 and later
-# Tunnel : OpenSSH 4.3.0 and later
-# TunnelDevice : OpenSSH 4.3.0 and later [3]
-# UsePAM : OpenSSH 3.7.0 and later [1][2][3]
-# UsePrivilegedPort : OpenSSH 1.2.1 and later
-# User : OpenSSH 1.2.1 and later
-# UserKnownHostsFile : OpenSSH 1.2.1 and later
-# VerifyHostKeyDNS : OpenSSH 3.8.0 and later
-# XAuthLocation : OpenSSH 2.1.1 and later [3]
-#
-# [1] Option only available if activated at compile time
-# [2] Option specific for portable versions
-# [3] Option not used in our ssh client config file
-
-
-#***************************************************************************
-# Initialize ssh config with options actually supported in OpenSSH 2.9.9
-#
-logmsg 'generating ssh client config file...' if($verbose);
-@cfgarr = ();
-push @cfgarr, '# This is a generated file. Do not edit.';
-push @cfgarr, "# $sshverstr ssh client configuration file for curl testing";
-push @cfgarr, '#';
-push @cfgarr, 'Host *';
-push @cfgarr, '#';
-push @cfgarr, "Port $port";
-push @cfgarr, "HostName $listenaddr";
-push @cfgarr, "User $username";
-push @cfgarr, 'Protocol 2';
-push @cfgarr, '#';
-push @cfgarr, "BindAddress $listenaddr";
-push @cfgarr, "DynamicForward $socksport";
-push @cfgarr, '#';
-push @cfgarr, "IdentityFile $path/curl_client_key";
-push @cfgarr, "UserKnownHostsFile $path/$knownhosts";
-push @cfgarr, '#';
-push @cfgarr, 'BatchMode yes';
-push @cfgarr, 'ChallengeResponseAuthentication no';
-push @cfgarr, 'CheckHostIP no';
-push @cfgarr, 'ClearAllForwardings no';
-push @cfgarr, 'Compression no';
-push @cfgarr, 'ConnectionAttempts 3';
-push @cfgarr, 'ForwardAgent no';
-push @cfgarr, 'ForwardX11 no';
-push @cfgarr, 'GatewayPorts no';
-push @cfgarr, 'GlobalKnownHostsFile /dev/null';
-push @cfgarr, 'HostbasedAuthentication no';
-push @cfgarr, 'KbdInteractiveAuthentication no';
-push @cfgarr, "LogLevel $loglevel";
-push @cfgarr, 'NumberOfPasswordPrompts 0';
-push @cfgarr, 'PasswordAuthentication no';
-push @cfgarr, 'PreferredAuthentications publickey';
-push @cfgarr, 'PubkeyAuthentication yes';
-push @cfgarr, 'RhostsRSAAuthentication no';
-push @cfgarr, 'RSAAuthentication no';
-push @cfgarr, 'StrictHostKeyChecking yes';
-push @cfgarr, 'UsePrivilegedPort no';
-push @cfgarr, '#';
-
-
-#***************************************************************************
-# Options supported in ssh client newer than OpenSSH 2.9.9
-#
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 370)) {
- push @cfgarr, 'AddressFamily any';
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum >= 370)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum >= 120))) {
- push @cfgarr, 'ConnectTimeout 30';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 390)) {
- push @cfgarr, 'ControlMaster no';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 420)) {
- push @cfgarr, 'ControlPath none';
-}
-
-if(($sshid =~ /SunSSH/) && ($sshvernum >= 120)) {
- push @cfgarr, 'DisableBanner yes';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 360)) {
- push @cfgarr, 'EnableSSHKeysign no';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 440)) {
- push @cfgarr, 'ExitOnForwardFailure yes';
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum >= 380)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum >= 120))) {
- push @cfgarr, 'ForwardX11Trusted no';
-}
-
-if(($sshd_builtwith_GSSAPI) && ($sshdid eq $sshid) &&
- ($sshdvernum == $sshvernum)) {
- push @cfgarr, 'GSSAPIAuthentication no';
- push @cfgarr, 'GSSAPIDelegateCredentials no';
- if($sshid =~ /SunSSH/) {
- push @cfgarr, 'GSSAPIKeyExchange no';
- }
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum >= 400)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum >= 120))) {
- push @cfgarr, 'HashKnownHosts no';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 390)) {
- push @cfgarr, 'IdentitiesOnly yes';
-}
-
-if(($sshid =~ /SunSSH/) && ($sshvernum >= 120)) {
- push @cfgarr, 'IgnoreIfUnknown no';
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum < 380)) ||
- ($sshid =~ /SunSSH/)) {
- push @cfgarr, 'KeepAlive no';
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum >= 300)) ||
- ($sshid =~ /SunSSH/)) {
- push @cfgarr, 'NoHostAuthenticationForLocalhost no';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 430)) {
- push @cfgarr, 'PermitLocalCommand no';
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum >= 370)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum >= 120))) {
- push @cfgarr, 'RekeyLimit 1G';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 390)) {
- push @cfgarr, 'SendEnv';
-}
-
-if((($sshid =~ /OpenSSH/) && ($sshvernum >= 380)) ||
- (($sshid =~ /SunSSH/) && ($sshvernum >= 120))) {
- push @cfgarr, 'ServerAliveCountMax 3';
- push @cfgarr, 'ServerAliveInterval 0';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 380)) {
- push @cfgarr, 'TCPKeepAlive no';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 430)) {
- push @cfgarr, 'Tunnel no';
-}
-
-if(($sshid =~ /OpenSSH/) && ($sshvernum >= 380)) {
- push @cfgarr, 'VerifyHostKeyDNS no';
-}
-
-push @cfgarr, '#';
-
-
-#***************************************************************************
-# Write out resulting ssh client configuration file for curl's tests
-#
-$error = dump_array($sshconfig, @cfgarr);
-if($error) {
- logmsg $error;
- exit 1;
-}
-
-
-#***************************************************************************
-# Initialize client sftp config with options actually supported.
-#
-logmsg 'generating sftp client config file...' if($verbose);
-splice @cfgarr, 1, 1, "# $sshverstr sftp client configuration file for curl testing";
-#
-for(my $i = scalar(@cfgarr) - 1; $i > 0; $i--) {
- if($cfgarr[$i] =~ /^DynamicForward/) {
- splice @cfgarr, $i, 1;
- next;
- }
- if($cfgarr[$i] =~ /^ClearAllForwardings/) {
- splice @cfgarr, $i, 1, "ClearAllForwardings yes";
- next;
- }
-}
-
-
-#***************************************************************************
-# Write out resulting sftp client configuration file for curl's tests
-#
-$error = dump_array($sftpconfig, @cfgarr);
-if($error) {
- logmsg $error;
- exit 1;
-}
-@cfgarr = ();
-
-
-#***************************************************************************
-# Generate client sftp commands batch file for sftp server verification
-#
-logmsg 'generating sftp client commands file...' if($verbose);
-push @cfgarr, 'pwd';
-push @cfgarr, 'quit';
-$error = dump_array($sftpcmds, @cfgarr);
-if($error) {
- logmsg $error;
- exit 1;
-}
-@cfgarr = ();
-
-
-#***************************************************************************
-# Start the ssh server daemon without forking it
-#
-logmsg "SCP/SFTP server listening on port $port" if($verbose);
-my $rc = system "$sshd -e -D -f $sshdconfig > $sshdlog 2>&1";
-if($rc == -1) {
- logmsg "$sshd failed with: $!";
-}
-elsif($rc & 127) {
- logmsg sprintf("$sshd died with signal %d, and %s coredump",
- ($rc & 127), ($rc & 128)?'a':'no');
-}
-elsif($verbose && ($rc >> 8)) {
- logmsg sprintf("$sshd exited with %d", $rc >> 8);
-}
-
-
-#***************************************************************************
-# Clean up once the server has stopped
-#
-unlink($hstprvkeyf, $hstpubkeyf, $cliprvkeyf, $clipubkeyf, $knownhosts);
-unlink($sshdconfig, $sshconfig, $sftpconfig);
-
-
-exit 0;
diff --git a/Utilities/cmcurl-7.19.0/tests/stunnel.pem b/Utilities/cmcurl-7.19.0/tests/stunnel.pem
deleted file mode 100644
index 1b4d669..0000000
--- a/Utilities/cmcurl-7.19.0/tests/stunnel.pem
+++ /dev/null
@@ -1,142 +0,0 @@
-#
-# This file contains a private key and a certificate used for stunnel.
-# The certificate contains a number of extensions essentially being
-# used in the 509 test. The certificate has been generated using
-# openssl with the parameters listed below up to the line
-# contain [something], after that you find the result.
-#
-#
-extensions = x509v3
-[ x509v3 ]
-subjectAltName = DNS:localhost
-nsCertType = server
-nsComment = "CURL stunnel server test certificate"
-keyUsage = digitalSignature,keyEncipherment
-extendedKeyUsage = serverAuth
-basicConstraints = CA:false
-subjectKeyIdentifier = hash
-subjectInfoAccess = AD_DVCS;URI:"https://localhost:8433/509"
-authorityInfoAccess = AD_DVCS;URI:"https://localhost:8433/509"
-[ req ]
-default_bits = 1234
-distinguished_name = req_DN
-default_md = sha1
-string_mask = pkix
-[ req_DN ]
-countryName = "1. Country Name (2 letter code)"
-countryName_value = SE
-stateOrProvinceName = "2. State or Province Name (full name) "
-stateOrProvinceName_value = Solna
-localityName = "3. Locality Name (eg, city) "
-localityName_value = Mooo
-0.organizationName = "4. Organization Name (eg, company) "
-0.organizationName_value = Haxx
-organizationalUnitName = "5. Organizational Unit Name (eg, section) "
-organizationalUnitName_value = Coolx
-commonName = "6. Common Name (eg, FQDN) "
-commonName_value = "storbror"
-1.commonName = "6. Common Name (eg, FQDN) "
-1.commonName_value = "localhost"
-[something]
------BEGIN RSA PRIVATE KEY-----
-MIIC1AIBAAKBmwNZN+oG6vJ8DAze+FvOKSS49X4xGMxALhKRLhQQb7qvM+7BcMgR
-v+RKxkX7SNgcxKPLcIHf7QQ6DBIlLXuAuVHQtWW9b06q64kBElkEwh6gP5Ia9JrR
-ysGbu2U6NRP+xBU33dVwZjF07ocN9Pp392W4VxEc+g3+FkRzUEaahDGOabmjgKuq
-DdlKdZLzgJj7+9sEKpb7+FdG56rZAgMBAAECgZsCkK1Z1XTUz5x3m7PMuHEiVaKS
-yk/B4ISq6pbO/gxpieARzhR038wNug6L+8VA8UDebXHBvGYYr9Mhb2OZUfIlr+nW
-h7kmHZ+T88M3eH/hQc3jtnvnu1dGmMlIXjTLQOrKgrAn6fYaw2HAGPdGKjpatAy/
-3vRjguv/22pNJLRQmMHdozJdc8mEYY+AhqrQxXCWQT/1peZzlq/IAQJOAfhE2YWf
-qB9iYNmuhxJ1PolPW4I63atXuoavqadbaRoaLm/pqLVB1QjMeyak8O/0TmO6CXk6
-878ps85fLFgARRjSYX+rYwoYNzqxK3cBAk4Bsy4oofReVT8xB+7rFZFMV4McyL7e
-sOABFqecLuNIGT6CdeEU1z7TUfq8sKM1MQ25e0J1PMmoWTqDwzhnxK+ckeFsZ8Te
-dgqVW+Oyy9kCTgHqyc/P/uEZkp1ioDu0WkpAR+1vZa2jeyH+vm9nhE9Z6Uty/r6F
-k4otIx9lMDmTwXqeE03vINJlJshqvjShfbnCe9gK8xrUk1cFl7QPAQJOATD3LQRq
-At2MniioFtiTbUN6n2ZS1C5xnHGq3fnBzxnZw4UmSfuZjG/L3gWPKkyJCK3HYe9K
-ho6ZQhNB6P5d7sQQjG6f+SIRwp+VjwvpAk4AnM4do54FETeLHhY4zy47dM/zdy3u
-iDjiFwoMTR+PfF03evsWe5pW3EaXolGi3FRAZ/idFA+L3Gi2y4xR44z71HkbF32L
-WKaLdOuBQvI=
------END RSA PRIVATE KEY-----
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number:
- 09:c2:f9:ca:9a:d8
- Signature Algorithm: md5WithRSAEncryption
- Issuer: C=SE, ST=Solna, L=Mooo, O=Haxx, OU=Coolx, CN=storbror, CN=localhost
- Validity
- Not Before: Jan 5 11:25:13 2004 GMT
- Not After : Feb 13 11:25:13 2008 GMT
- Subject: C=SE, ST=Solna, L=Mooo, O=Haxx, OU=Coolx, CN=storbror, CN=localhost
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (1234 bit)
- Modulus (1234 bit):
- 03:59:37:ea:06:ea:f2:7c:0c:0c:de:f8:5b:ce:29:
- 24:b8:f5:7e:31:18:cc:40:2e:12:91:2e:14:10:6f:
- ba:af:33:ee:c1:70:c8:11:bf:e4:4a:c6:45:fb:48:
- d8:1c:c4:a3:cb:70:81:df:ed:04:3a:0c:12:25:2d:
- 7b:80:b9:51:d0:b5:65:bd:6f:4e:aa:eb:89:01:12:
- 59:04:c2:1e:a0:3f:92:1a:f4:9a:d1:ca:c1:9b:bb:
- 65:3a:35:13:fe:c4:15:37:dd:d5:70:66:31:74:ee:
- 87:0d:f4:fa:77:f7:65:b8:57:11:1c:fa:0d:fe:16:
- 44:73:50:46:9a:84:31:8e:69:b9:a3:80:ab:aa:0d:
- d9:4a:75:92:f3:80:98:fb:fb:db:04:2a:96:fb:f8:
- 57:46:e7:aa:d9
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Alternative Name:
- DNS:localhost
- Netscape Cert Type:
- SSL Server
- Netscape Comment:
- CURL stunnel server test certificate
- X509v3 Key Usage:
- Digital Signature, Key Encipherment
- X509v3 Extended Key Usage:
- TLS Web Server Authentication
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 35:77:35:3B:9B:98:3C:B6:C7:9A:E7:A8:04:B9:7C:70:AD:FA:37:A9
- Subject Information Access:
- ad dvcs - URI:https://localhost:8433/509
-
- Authority Information Access:
- ad dvcs - URI:https://localhost:8433/509
-
- Signature Algorithm: md5WithRSAEncryption
- 02:47:57:18:5f:54:3f:1d:29:0a:05:7a:d1:0f:e6:b9:2c:8b:
- 29:38:50:bf:c1:a1:7f:73:4a:9d:f1:1b:bf:2e:ea:87:91:dd:
- ff:75:73:57:78:cf:75:52:57:0b:5b:bb:d4:77:b2:dd:e8:0c:
- 06:ce:1b:c0:3d:9f:68:c0:0b:66:b8:f9:46:db:04:a9:2f:a3:
- 5e:9c:c6:70:ff:1d:af:1f:17:9c:38:3d:12:aa:af:7b:72:44:
- a0:44:41:6b:9a:9b:60:8c:50:94:f1:d7:a5:77:6b:d3:0e:66:
- 88:a1:52:63:23:f6:66:a6:ea:f9:d0:df:4d:8a:14:f0:73:c6:
- b6:b6:b6:68:4f:3d:9a:b6:31:ba:19:f3:66:9f:16:6d:87:64:
- 32:53:d2:90:e5:8c:1e:f5:18:61:1a
------BEGIN CERTIFICATE-----
-MIIDujCCAwigAwIBAgIGCcMA3QkhMA0GCSqGSIb3DQEBBAUAMHIxCzAJBgNVBAYT
-AlNFMQ4wDAYDVQQIEwVTb2xuYTENMAsGA1UEBxMETW9vbzENMAsGA1UEChMESGF4
-eDEOMAwGA1UECxMFQ29vbHgxETAPBgNVBAMTCHN0b3Jicm9yMRIwEAYDVQQDEwls
-b2NhbGhvc3QwHhcNMDQwMTA1MTQ0MjU2WhcNMDgwMjEzMTQ0MjU2WjByMQswCQYD
-VQQGEwJTRTEOMAwGA1UECBMFU29sbmExDTALBgNVBAcTBE1vb28xDTALBgNVBAoT
-BEhheHgxDjAMBgNVBAsTBUNvb2x4MREwDwYDVQQDEwhzdG9yYnJvcjESMBAGA1UE
-AxMJbG9jYWxob3N0MIG5MA0GCSqGSIb3DQEBAQUAA4GnADCBowKBmwNZN+oG6vJ8
-DAze+FvOKSS49X4xGMxALhKRLhQQb7qvM+7BcMgRv+RKxkX7SNgcxKPLcIHf7QQ6
-DBIlLXuAuVHQtWW9b06q64kBElkEwh6gP5Ia9JrRysGbu2U6NRP+xBU33dVwZjF0
-7ocN9Pp392W4VxEc+g3+FkRzUEaahDGOabmjgKuqDdlKdZLzgJj7+9sEKpb7+FdG
-56rZAgMBAAGjggEkMIIBIDARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgEN
-BCYWJENVUkwgc3R1bm5lbCBzZXJ2ZXIgdGVzdCBjZXJ0aWZpY2F0ZTALBgNVHQ8E
-BAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCQYDVR0TBAIwADAdBgNVHQ4EFgQU
-NXc1O5uYPLbHmueoBLl8cK36N6kwNgYIKwYBBQUHAQsEKjAoMCYGCCsGAQUFBzAE
-hhpodHRwczovL2xvY2FsaG9zdDo4NDMzLzUwOTA2BggrBgEFBQcBAQQqMCgwJgYI
-KwYBBQUHMASGGmh0dHBzOi8vbG9jYWxob3N0Ojg0MzMvNTA5MBoGA1UdEQQTMBGH
-BH8AAAGCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQQFAAOBnAAAIHkvI0V6padfc8Lv
-onuNqBwCMIg4SugCslkN597Yb8ZDEAUe3ArkOvzAHUngsD5D0gfbKblKP/P0bN6Y
-Ft896NmH4QFsDAetZcCFf24AM4DbUQo5jtG+dkanI/7IxxNYJ1PQ64/yscdQFvHW
-xhIX3Q6FqABjcN5nc80Rog+b6eS8QRX1BRnQqbGtocuptUgW5mWsSb+DR6pZbA==
------END CERTIFICATE-----
------BEGIN DH PARAMETERS-----
-MEYCQQD+KCcagSasA1QSo8tRXpbaLJJ1Ezt3FJFEZ3RVplp4qZwXQpSZ+Vly3xWx
-q3YvALe/enMbIq8F3OUmppq3UHwTAgEC
------END DH PARAMETERS-----
diff --git a/Utilities/cmcurl-7.19.0/tests/testcurl.1 b/Utilities/cmcurl-7.19.0/tests/testcurl.1
deleted file mode 100644
index 9b98eea..0000000
--- a/Utilities/cmcurl-7.19.0/tests/testcurl.1
+++ /dev/null
@@ -1,127 +0,0 @@
-.\" **************************************************************************
-.\" * _ _ ____ _
-.\" * Project ___| | | | _ \| |
-.\" * / __| | | | |_) | |
-.\" * | (__| |_| | _ <| |___
-.\" * \___|\___/|_| \_\_____|
-.\" *
-.\" * Copyright (C) 1998 - 2005, 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.
-.\" *
-.\" * $Id$
-.\" **************************************************************************
-.\"
-.TH testcurl.pl 1 "20 May 2005" "Curl 7.14.1" "testcurl"
-.SH NAME
-testcurl.pl \- (automatically) test curl
-.SH SYNOPSIS
-.B testcurl.pl [options] [dir] > output
-.SH DESCRIPTION
-\fItestcurl.pl\fP is the master script to use for automatic testing of curl
-off CVS or daily snapshots. It is written for the purpose of being run from a
-crontab job or similar at a regular interval. The output is suitable to be
-mailed to curl-autocompile@haxx.se to be dealt with automatically (make sure
-the subject includes the word "autobuild" as the mail gets silently discarded
-otherwise). The most current build status (with a reasonable backlog) will be
-published on the curl site, at http://curl.haxx.se/auto/
-
-\fIoptions\fP may be omitted. See \fI--setup\fP for what happens then.
-
-\fIdir\fP is a curl source dir, possibly a daily snapshot one. Using this will
-make testcurl.pl skip the 'buildconf' stage and thus it removes the dependency
-on automake, autoconf, libtool, GNU m4 and possibly a few other things.
-
-testcurl.pl will run 'buildconf' (or similar), run configure, build curl and
-libcurl in a separate build directory and then run 'make test' to test the
-fresh build.
-.SH OPTIONS
-.IP "--configure=[options]"
-Configure options passed to configure.
-.IP "--crosscompile"
-This is a cross-compile. Makes \fItestcurl.pl\fP skip a few things.
-.IP "--desc=[desc]"
-Description of your test system. Displayed on the build summary page on the
-weba site.
-.IP "--email=[email]"
-Set email address to report as. Displayed in the build logs on the site.
-.IP "--mktarball=[command]"
-Generic command to run after completed test.
-.IP "--name=[name]"
-Set name to report as. Displayed in the build summary on the site.
-.IP "--nobuildconf"
-Don't run buildconf. Useful when many builds use the same source tree, as then
-only one need to do this. Also, if multiple processes run tests simultaneously
-on the same source tree (like several hosts on a NFS mounted dir),
-simultaneous buildconf invokes may cause problems. (Added in 7.14.1)
-.IP "--nocvsup"
-Don't update from CVS even though it is a CVS tree. Useful to still be able to
-test even though your network is down, or similar.
-.IP "--runtestopts=[options]"
-Options that is passed to the runtests.pl script. Useful for disabling valgrind
-by force, and similar.
-.IP "--setup=[file name]"
-File name to read setup from (deprecated). The old style of providing info.
-If info is missing when testcurl.pl is started, it will prompt you and then
-store the info in a 'setup' file, which it will look for on each invoke. Use
-\fI--name\fP, \fI--emacs\fP, \fI--configure\fP and \fI--desc\fP instead.
-.IP "--target=[your os]"
-Specify your target environment. Recognized strings include 'vc', 'mingw32',
-\&'borland' and 'netware'.
-.SH "INITIAL SETUP"
-First you make a checkout from CVS (or you write a script that downloads daily
-snapshots automatically, find inspiration at
-http://curl.haxx.se/auto/autocurl.txt):
-
-.nf
- $ mkdir daily-curl
- $ cd daily-curl
- $ cvs -d :pserver:anonymous@cool.haxx.se:/cvsroot/curl login
- [enter return when prompted for password ]
- $ cvs -d :pserver:anonymous@cool.haxx.se:/cvsroot/curl checkout curl
-.fi
-
-With the curl sources checked out, or downloaded, you can start testing right
-away. If you want to use \fItestcurl.pl\fP without command line arguments and
-to have it store and remember the config in its 'setup' file, then start it
-manually now and fill in the answers to the questions it prompts you for:
-
-.nf
- $ ./curl/tests/testcurl.pl
-.fi
-
-Now you are ready to go. If you let the script run, it will perform a full
-cycle and spit out lots of output. Mail us that output as described above.
-.SH "CRONTAB EXAMPLE"
-The crontab could include something like this:
-
-.nf
-\# autobuild curl:
-0 4 * * * cd daily-curl && ./testit.sh
-.fi
-
-Where testit.sh is a shell script that could look similar to this:
-
-.nf
-mail="mail -s autobuild curl-autocompile@haxx.se"
-name="--name=whoami"
-email="--email=iamme@nowhere"
-desc='"--desc=supermachine Turbo 2000"'
-testprog="perl ./curl/tests/testcurl.pl $name $email $desc"
-opts1="--configure=--enable-debug"
-opts2="--configure=--enable-ipv6"
-
-# run first test
-$testprog $opts1 | $mail
-
-# run second test
-$testprog $opts2 | $mail
diff --git a/Utilities/cmcurl-7.19.0/tests/testcurl.html b/Utilities/cmcurl-7.19.0/tests/testcurl.html
deleted file mode 100644
index 22b299d..0000000
--- a/Utilities/cmcurl-7.19.0/tests/testcurl.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html><head>
-<title>testcurl.pl man page</title>
-<meta name="generator" content="roffit 0.7">
-<STYLE type="text/css">
-P.level0 {
- padding-left: 2em;
-}
-
-P.level1 {
- padding-left: 4em;
-}
-
-P.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">testcurl.pl - (automatically) test curl <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">testcurl.pl [options] [dir] &gt; output</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="emphasis">testcurl.pl</span> is the master script to use for automatic testing of curl off CVS or daily snapshots. It is written for the purpose of being run from a crontab job or similar at a regular interval. The output is suitable to be mailed to curl-autocompile@haxx.se to be dealt with automatically (make sure the subject includes the word "autobuild" as the mail gets silently discarded otherwise). The most current build status (with a reasonable backlog) will be published on the curl site, at <a href="http://curl.haxx.se/auto/">http://curl.haxx.se/auto/</a>
-<p class="level0"><span Class="emphasis">options</span> may be omitted. See <span Class="emphasis">--setup</span> for what happens then.
-<p class="level0"><span Class="emphasis">dir</span> is a curl source dir, possibly a daily snapshot one. Using this will make testcurl.pl skip the 'buildconf' stage and thus it removes the dependency on automake, autoconf, libtool, GNU m4 and possibly a few other things.
-<p class="level0">testcurl.pl will run 'buildconf' (or similar), run configure, build curl and libcurl in a separate build directory and then run 'make test' to test the fresh build. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="--configureoptions"></a><span class="nroffip">--configure=[options]</span>
-<p class="level1">Configure options passed to configure.
-<p class="level0"><a name="--crosscompile"></a><span class="nroffip">--crosscompile</span>
-<p class="level1">This is a cross-compile. Makes <span Class="emphasis">testcurl.pl</span> skip a few things.
-<p class="level0"><a name="--descdesc"></a><span class="nroffip">--desc=[desc]</span>
-<p class="level1">Description of your test system. Displayed on the build summary page on the weba site.
-<p class="level0"><a name="--emailemail"></a><span class="nroffip">--email=[email]</span>
-<p class="level1">Set email address to report as. Displayed in the build logs on the site.
-<p class="level0"><a name="--mktarballcommand"></a><span class="nroffip">--mktarball=[command]</span>
-<p class="level1">Generic command to run after completed test.
-<p class="level0"><a name="--namename"></a><span class="nroffip">--name=[name]</span>
-<p class="level1">Set name to report as. Displayed in the build summary on the site.
-<p class="level0"><a name="--nobuildconf"></a><span class="nroffip">--nobuildconf</span>
-<p class="level1">Don't run buildconf. Useful when many builds use the same source tree, as then only one need to do this. Also, if multiple processes run tests simultaneously on the same source tree (like several hosts on a NFS mounted dir), simultaneous buildconf invokes may cause problems. (Added in 7.14.1)
-<p class="level0"><a name="--nocvsup"></a><span class="nroffip">--nocvsup</span>
-<p class="level1">Don't update from CVS even though it is a CVS tree. Useful to still be able to test even though your network is down, or similar.
-<p class="level0"><a name="--runtestoptsoptions"></a><span class="nroffip">--runtestopts=[options]</span>
-<p class="level1">Options that is passed to the runtests.pl script. Useful for disabling valgrind by force, and similar.
-<p class="level0"><a name="--setupfile"></a><span class="nroffip">--setup=[file name]</span>
-<p class="level1">File name to read setup from (deprecated). The old style of providing info. If info is missing when testcurl.pl is started, it will prompt you and then store the info in a 'setup' file, which it will look for on each invoke. Use <span Class="emphasis">--name</span>, <span Class="emphasis">--emacs</span>, <span Class="emphasis">--configure</span> and <span Class="emphasis">--desc</span> instead.
-<p class="level0"><a name="--targetyour"></a><span class="nroffip">--target=[your os]</span>
-<p class="level1">Specify your target environment. Recognized strings include 'vc', 'mingw32', 'borland' and 'netware'. <a name="INITIAL"></a><h2 class="nroffsh">INITIAL SETUP</h2>
-<p class="level0">First you make a checkout from CVS (or you write a script that downloads daily snapshots automatically, find inspiration at <a href="http://curl.haxx.se/auto/autocurl.txt">http://curl.haxx.se/auto/autocurl.txt</a>):
-<p class="level0"><pre>
-<p class="level0">&nbsp; $ mkdir daily-curl
- &nbsp; $ cd daily-curl
- &nbsp; $ cvs -d :pserver:anonymous@cool.haxx.se:/cvsroot/curl login
- &nbsp; [enter return when prompted for password ]
- &nbsp; $ cvs -d :pserver:anonymous@cool.haxx.se:/cvsroot/curl checkout curl
- <p class="level0">With the curl sources checked out, or downloaded, you can start testing right
- away. If you want to use <span Class="emphasis">testcurl.pl</span> without command line arguments and
- to have it store and remember the config in its 'setup' file, then start it
- manually now and fill in the answers to the questions it prompts you for:
- <p class="level0"><pre>
-<p class="level0">&nbsp; $ ./curl/tests/testcurl.pl
- <p class="level0">Now you are ready to go. If you let the script run, it will perform a full
- cycle and spit out lots of output. Mail us that output as described above.
- </pre>
-<a name="CRONTAB"></a><h2 class="nroffsh">CRONTAB EXAMPLE</h2>
-<p class="level0">The crontab could include something like this:
-<p class="level0"><pre>
-<p class="level0"># autobuild curl:
- 0 4 * * * cd daily-curl && ./testit.sh
- <p class="level0">Where testit.sh is a shell script that could look similar to this:
- <p class="level0"><pre>
-<p class="level0">mail="mail -s autobuild curl-autocompile@haxx.se"
- name="--name=whoami"
- email="--email=iamme@nowhere"
- desc='"--desc=supermachine Turbo 2000"'
- testprog="perl ./curl/tests/testcurl.pl $name $email $desc"
- opts1="--configure=--enable-debug"
- opts2="--configure=--enable-ipv6"
- <p class="level0"># run first test
- $testprog $opts1 | $mail
- <p class="level0"># run second test
- $testprog $opts2 | $mail
- <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/Utilities/cmcurl-7.19.0/tests/testcurl.pdf b/Utilities/cmcurl-7.19.0/tests/testcurl.pdf
deleted file mode 100644
index 396030f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/testcurl.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmcurl-7.19.0/tests/testcurl.pl b/Utilities/cmcurl-7.19.0/tests/testcurl.pl
deleted file mode 100755
index c681477..0000000
--- a/Utilities/cmcurl-7.19.0/tests/testcurl.pl
+++ /dev/null
@@ -1,658 +0,0 @@
-#!/usr/bin/env perl
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2008, 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.
-#
-# $Id$
-###########################################################################
-
-###########################
-# What is This Script?
-###########################
-
-# testcurl.pl is the master script to use for automatic testing of CVS-curl.
-# This is written for the purpose of being run from a crontab job or similar
-# at a regular interval. The output is suitable to be mailed to
-# curl-autocompile@haxx.se to be dealt with automatically (make sure the
-# subject includes the word "autobuild" as the mail gets silently discarded
-# otherwise). The most current build status (with a resonable backlog) will
-# be published on the curl site, at http://curl.haxx.se/auto/
-
-# USAGE:
-# testcurl.pl [options] [curl-daily-name] > output
-
-# Options:
-#
-# --configure=[options] Configure options
-# --crosscompile This is a crosscompile
-# --desc=[desc] Description of your test system
-# --email=[email] Set email address to report as
-# --extvercmd=[command] Command to use for displaying version with cross compiles.
-# --mktarball=[command] Command to run after completed test
-# --name=[name] Set name to report as
-# --nocvsup Don't update from CVS even though it is a CVS tree
-# --nobuildconf Don't run buildconf
-# --runtestopts=[options] Options to pass to runtests.pl
-# --setup=[file name] File name to read setup from (deprecated)
-# --target=[your os] Specify your target environment.
-#
-# if [curl-daily-name] is omitted, a 'curl' CVS directory is assumed.
-#
-
-use strict;
-
-use Cwd;
-
-# Turn on warnings (equivalent to -w, which can't be used with /usr/bin/env)
-#BEGIN { $^W = 1; }
-
-use vars qw($version $fixed $infixed $CURLDIR $CVS $pwd $build $buildlog
- $buildlogname $configurebuild $targetos $confsuffix $binext
- $libext);
-use vars qw($name $email $desc $confopts $runtestopts $setupfile $mktarball
- $extvercmd $nocvsup $nobuildconf $crosscompile $timestamp);
-
-# version of this script
-$version='$Revision$';
-$fixed=0;
-
-# Determine if we're running from CVS or a canned copy of curl,
-# or if we got a specific target option or setup file option.
-$CURLDIR="curl";
-$CVS=1;
-$setupfile = 'setup';
-while ($ARGV[0]) {
- if ($ARGV[0] =~ /--target=/) {
- $targetos = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--setup=/) {
- $setupfile = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--extvercmd=/) {
- $extvercmd = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--mktarball=/) {
- $mktarball = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--name=/) {
- $name = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--email=/) {
- $email = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--desc=/) {
- $desc = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--configure=/) {
- $confopts = (split(/=/, shift @ARGV))[1];
- }
- elsif ($ARGV[0] =~ /--nocvsup/) {
- $nocvsup=1;
- shift @ARGV;
- }
- elsif ($ARGV[0] =~ /--nobuildconf/) {
- $nobuildconf=1;
- shift @ARGV;
- }
- elsif ($ARGV[0] =~ /--crosscompile/) {
- $crosscompile=1;
- shift @ARGV;
- }
- elsif ($ARGV[0] =~ /--runtestopts=/) {
- $runtestopts = (split(/=/, shift @ARGV, 2))[1];
- }
- else {
- $CURLDIR=shift @ARGV;
- $CVS=0;
- }
-}
-
-# Do the platform-specific stuff here
-$configurebuild = 1;
-$confsuffix = '';
-$binext = '';
-$libext = '.la'; # .la since both libcurl and libcares are made with libtool
-if ($^O eq 'MSWin32' || $targetos) {
- if (!$targetos) {
- # If no target defined on Win32 lets assume vc
- $targetos = 'vc';
- }
- if ($targetos =~ /vc/ || $targetos =~ /borland/) {
- $binext = '.exe';
- $libext = '.lib';
- }
- elsif ($targetos =~ /mingw32/) {
- $binext = '.exe';
- if ($^O eq 'MSWin32') {
- $libext = '.a';
- }
- }
- elsif ($targetos =~ /netware/) {
- $configurebuild = 0;
- $binext = '.nlm';
- if ($^O eq 'MSWin32') {
- $libext = '.lib';
- }
- else {
- $libext = '.a';
- }
- }
-}
-
-if (($^O eq 'MSWin32') &&
- ($targetos =~ /vc/ || $targetos =~ /mingw32/ || $targetos =~ /borland/)) {
-
- # Set these things only when building ON Windows and for Win32 platform.
- # FOR Windows since we might be cross-compiling on another system. Non-
- # Windows builds still default to configure-style builds with no confsuffix.
-
- $configurebuild = 0;
- $confsuffix = '-win32';
-}
-
-
-$ENV{LANG}="C";
-
-sub rmtree($) {
- my $target = $_[0];
- if ($^O eq 'MSWin32') {
- foreach (glob($target)) {
- s:/:\\:g;
- system("rd /s /q $_");
- }
- } else {
- system("rm -rf $target");
- }
-}
-
-sub grepfile($$) {
- my ($target, $fn) = @_;
- open(F, $fn) or die;
- while (<F>) {
- if (/$target/) {
- close(F);
- return 1;
- }
- }
- close(F);
- return 0;
-}
-
-sub logit($) {
- my $text=$_[0];
- if ($text) {
- print "testcurl: $text\n";
- }
-}
-
-sub mydie($){
- my $text=$_[0];
- logit "$text";
- chdir $pwd; # cd back to the original root dir
-
- if ($pwd && $build) {
- # we have a build directory name, remove the dir
- logit "removing the $build dir";
- rmtree "$pwd/$build";
- }
- if (-r $buildlog) {
- # we have a build log output file left, remove it
- logit "removing the $buildlogname file";
- unlink "$buildlog";
- }
- logit "ENDING HERE"; # last line logged!
- exit 1;
-}
-
-if (open(F, "$setupfile")) {
- while (<F>) {
- if (/(\w+)=(.*)/) {
- eval "\$$1=$2;";
- }
- }
- close(F);
- $infixed=$fixed;
-} else {
- $infixed=0; # so that "additional args to configure" works properly first time...
-}
-
-if (!$name) {
- print "please enter your name\n";
- $name = <>;
- chomp $name;
- $fixed=1;
-}
-
-if (!$email) {
- print "please enter your contact email address\n";
- $email = <>;
- chomp $email;
- $fixed=2;
-}
-
-if (!$desc) {
- print "please enter a one line system description\n";
- $desc = <>;
- chomp $desc;
- $fixed=3;
-}
-
-if (!$confopts) {
- if ($infixed < 4) {
- print "please enter your additional arguments to configure\n";
- print "examples: --with-ssl --enable-debug --enable-ipv6 --with-krb4\n";
- $confopts = <>;
- chomp $confopts;
- }
-}
-
-
-if ($fixed < 4) {
- $fixed=4;
- open(F, ">$setupfile") or die;
- print F "name='$name'\n";
- print F "email='$email'\n";
- print F "desc='$desc'\n";
- print F "confopts='$confopts'\n";
- print F "fixed='$fixed'\n";
- close(F);
-}
-
-my $str1066os = 'o' x 1066;
-
-# Set timestamp to the UTC this script is running. Its value might
-# be changed later in the script to the value present in curlver.h
-$timestamp = scalar(gmtime)." UTC";
-
-logit "STARTING HERE"; # first line logged, for scripts to trigger on
-logit 'TRANSFER CONTROL ==== 1120 CHAR LINE' . $str1066os . 'LINE_END';
-logit "NAME = $name";
-logit "EMAIL = $email";
-logit "DESC = $desc";
-logit "CONFOPTS = $confopts";
-logit "CPPFLAGS = ".$ENV{CPPFLAGS};
-logit "CFLAGS = ".$ENV{CFLAGS};
-logit "LDFLAGS = ".$ENV{LDFLAGS};
-logit "CC = ".$ENV{CC};
-logit "target = ".$targetos;
-logit "version = $version"; # script version
-logit "date = $timestamp"; # When the test build starts
-
-$str1066os = undef;
-
-# Make $pwd to become the path without newline. We'll use that in order to cut
-# off that path from all possible logs and error messages etc.
-$pwd = getcwd();
-
-if (-d $CURLDIR) {
- if ($CVS && -d "$CURLDIR/CVS") {
- logit "$CURLDIR is verified to be a fine source dir";
- # remove the generated sources to force them to be re-generated each
- # time we run this test
- unlink "$CURLDIR/src/hugehelp.c";
- } elsif (!$CVS && -f "$CURLDIR/tests/testcurl.pl") {
- logit "$CURLDIR is verified to be a fine daily source dir"
- } else {
- mydie "$CURLDIR is not a daily source dir or checked out from CVS!"
- }
-}
-$build="build-$$";
-$buildlogname="buildlog-$$";
-$buildlog="$pwd/$buildlogname";
-
-# remove any previous left-overs
-rmtree "build-*";
-rmtree "buildlog-*";
-
-# this is to remove old build logs that ended up in the wrong dir
-foreach (glob("$CURLDIR/buildlog-*")) { unlink $_; }
-
-# create a dir to build in
-mkdir $build, 0777;
-
-if (-d $build) {
- logit "build dir $build was created fine";
-} else {
- mydie "failed to create dir $build";
-}
-
-# get in the curl source tree root
-chdir $CURLDIR;
-
-# Do the CVS thing, or not...
-if ($CVS) {
-
- # this is a temporary fix to make things work again, remove later
- logit "remove ares/aclocal.m4";
- unlink "ares/aclocal.m4";
-
- logit "update from CVS";
- my $cvsstat;
-
- sub cvsup() {
- # update quietly to the latest CVS
- if($nocvsup) {
- logit "Skipping CVS update (--nocvsup)";
- return 1;
- }
- else {
- logit "run cvs up";
- system("cvs -Q up -dP 2>&1");
- }
-
- $cvsstat=$?;
-
- # return !RETURNVALUE so that errors return 0 while goodness
- # returns 1
- return !$cvsstat;
- }
-
- my $att=0;
- while (!cvsup()) {
- $att++;
- logit "failed CVS update attempt number $att.";
- if ($att > 20) {
- $cvsstat=111;
- last; # get out of the loop
- }
- sleep 5;
- }
-
- if ($cvsstat != 0) {
- mydie "failed to update from CVS ($cvsstat), exiting";
- }
- elsif (!$nocvsup) {
- # Set timestamp to the UTC the CVS update took place.
- $timestamp = scalar(gmtime)." UTC";
- }
-
- if($nobuildconf) {
- logit "told to not run buildconf";
- }
- elsif ($configurebuild) {
- # remove possible left-overs from the past
- unlink "configure";
- unlink "autom4te.cache";
-
- # generate the build files
- logit "invoke buildconf, but filter off aclocal underquoted definition warnings";
- open(F, "./buildconf 2>&1 |") or die;
- open(LOG, ">$buildlog") or die;
- while (<F>) {
- next if /warning: underquoted definition of/;
- print;
- print LOG;
- }
- close(F);
- close(LOG);
-
- if (grepfile("^buildconf: OK", $buildlog)) {
- logit "buildconf was successful";
- }
- else {
- mydie "buildconf was NOT successful";
- }
- }
- else {
- logit "buildconf was successful (dummy message)";
- }
-}
-
-# Set timestamp to the one in curlver.h if this isn't a CVS test build.
-if ((-f "include/curl/curlver.h") &&
- (open(F, "<include/curl/curlver.h"))) {
- while (<F>) {
- chomp;
- if ($_ =~ /^\#define\s+LIBCURL_TIMESTAMP\s+\"(.+)\".*$/) {
- my $stampstring = $1;
- if ($stampstring !~ /CVS/) {
- $stampstring =~ s/\s+UTC//;
- $timestamp = $stampstring." UTC";
- }
- last;
- }
- }
- close(F);
-}
-
-# Show timestamp we are using for this test build.
-logit "timestamp = $timestamp";
-
-if ($configurebuild) {
- if (-f "configure") {
- logit "configure created (at least it exists)";
- } else {
- mydie "no configure created/found";
- }
-} else {
- logit "configure created (dummy message)"; # dummy message to feign success
-}
-
-sub findinpath {
- my $c;
- my $e;
- my $x='';
- $x='.exe' if ($^O eq 'MSWin32');
- my $s=':';
- $s=';' if ($^O eq 'MSWin32');
- my $p=$ENV{'PATH'};
- my @pa = split($s, $p);
- for $c (@_) {
- for $e (@pa) {
- if( -x "$e/$c$x") {
- return $c;
- }
- }
- }
-}
-
-my $make = findinpath("gmake", "make", "nmake");
-if(!$make) {
- mydie "Couldn't find make in the PATH";
-}
-logit "going with $make as make";
-
-# change to build dir
-chdir "$pwd/$build";
-
-if ($configurebuild) {
- # run configure script
- print `../$CURLDIR/configure $confopts 2>&1`;
-
- if (-f "lib/Makefile") {
- logit "configure seems to have finished fine";
- } else {
- mydie "configure didn't work";
- }
-} else {
- logit "copying files to build dir ...";
- if (($^O eq 'MSWin32') && ($targetos !~ /netware/)) {
- system("xcopy /s /q ..\\$CURLDIR .");
- system("buildconf.bat");
- }
- elsif ($targetos =~ /netware/) {
- system("cp -afr ../$CURLDIR/* .");
- system("cp -af ../$CURLDIR/Makefile.dist Makefile");
- system("$make -i -C lib -f Makefile.netware prebuild");
- system("$make -i -C src -f Makefile.netware prebuild");
- }
- elsif ($^O eq 'linux') {
- system("cp -afr ../$CURLDIR/* .");
- system("cp -af ../$CURLDIR/Makefile.dist Makefile");
- system("cp -af ../$CURLDIR/include/curl/curlbuild.h.dist ./include/curl/curlbuild.h");
- system("$make -i -C lib -f Makefile.$targetos prebuild");
- system("$make -i -C src -f Makefile.$targetos prebuild");
- }
-}
-
-if(-f "./include/curl/curlbuild.h") {
- logit "display include/curl/curlbuild.h";
- if(open(F, "<./include/curl/curlbuild.h")) {
- while(<F>) {
- my $ll = $_;
- print $ll if(($ll =~ /^ *# *define/) && ($ll !~ /__CURL_CURLBUILD_H/));
- }
- close(F);
- }
-}
-else {
- mydie "no curlbuild.h created/found";
-}
-
-logit "display lib/config$confsuffix.h";
-open(F, "lib/config$confsuffix.h") or die "lib/config$confsuffix.h: $!";
-while (<F>) {
- print if /^ *#/;
-}
-close(F);
-
-if (grepfile("define USE_ARES", "lib/config$confsuffix.h")) {
- logit "setup to build ares";
-
- logit "display ares/config$confsuffix.h";
- if(open(F, "ares/config$confsuffix.h")) {
- while (<F>) {
- print if /^ *#/;
- }
- close(F);
- }
-
- logit "build ares";
- chdir "ares";
-
- if ($targetos && !$configurebuild) {
- logit "$make -f Makefile.$targetos";
- open(F, "$make -f Makefile.$targetos 2>&1 |") or die;
- }
- else {
- logit "$make";
- open(F, "$make 2>&1 |") or die;
- }
- while (<F>) {
- s/$pwd//g;
- print;
- }
- close(F);
-
- if (-f "libcares$libext") {
- logit "ares is now built successfully (libcares$libext)";
- } else {
- logit "ares build failed (libares$libext)";
- }
-
- # cd back to the curl build dir
- chdir "$pwd/$build";
-}
-
-if ($configurebuild) {
- logit "$make -i";
- open(F, "$make -i 2>&1 |") or die;
- while (<F>) {
- s/$pwd//g;
- print;
- }
- close(F);
-}
-else {
- logit "$make -i $targetos";
- if ($^O eq 'MSWin32') {
- if ($targetos =~ /vc/) {
- open(F, "nmake -i $targetos|") or die;
- }
- else {
- open(F, "$make -i $targetos |") or die;
- }
- }
- else {
- open(F, "$make -i $targetos 2>&1 |") or die;
- }
- while (<F>) {
- s/$pwd//g;
- print;
- }
- close(F);
-}
-
-if (-f "lib/libcurl$libext") {
- logit "libcurl was created fine (libcurl$libext)";
-}
-else {
- mydie "libcurl was not created (libcurl$libext)";
-}
-
-if (-f "src/curl$binext") {
- logit "curl was created fine (curl$binext)";
-}
-else {
- mydie "curl was not created (curl$binext)";
-}
-
-if (!$crosscompile || (($extvercmd ne '') && (-x $extvercmd))) {
- logit "display curl${binext} --version output";
- my $cmd = ($extvercmd ne '' ? $extvercmd.' ' : '')."./src/curl${binext} --version|";
- open(F, $cmd);
- while(<F>) {
- print;
- print LOG;
- }
- close(F);
-}
-
-if ($configurebuild && !$crosscompile) {
- my $o;
- if($runtestopts) {
- $o = "TEST_F=\"$runtestopts\" ";
- }
- logit "$make -k ${o}test-full";
- open(F, "$make -k ${o}test-full 2>&1 |") or die;
- open(LOG, ">$buildlog") or die;
- while (<F>) {
- s/$pwd//g;
- print;
- print LOG;
- }
- close(F);
- close(LOG);
-
- if (grepfile("^TEST", $buildlog)) {
- logit "tests were run";
- } else {
- mydie "test suite failure";
- }
-
- if (grepfile("^TESTFAIL:", $buildlog)) {
- logit "the tests were not successful";
- } else {
- logit "the tests were successful!";
- }
-} else {
- # dummy message to feign success
- if($crosscompile) {
- logit "cross-compiling, can't run tests";
- }
- print "TESTDONE: 1 tests out of 0 (dummy message)\n";
-}
-
-# create a tarball if we got that option.
-if (($mktarball ne '') && (-x $mktarball)) {
- system($mktarball);
-}
-
-# mydie to cleanup
-mydie "ending nicely";
diff --git a/Utilities/cmcurl-7.19.0/tests/valgrind.pm b/Utilities/cmcurl-7.19.0/tests/valgrind.pm
deleted file mode 100644
index 82efe2f..0000000
--- a/Utilities/cmcurl-7.19.0/tests/valgrind.pm
+++ /dev/null
@@ -1,111 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2005, 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.
-#
-# $Id$
-###########################################################################
-
-use File::Basename;
-
-sub valgrindparse {
- my ($srcdir, # the dir in which the runtests script resides
- $sslenabled,
- $file) = @_;
- my $leak;
- my $invalidread;
- my $uninitedvar;
- my $error;
- my $partial;
- my $us;
-
- my @o;
-
- my $bt=0;
-
- open(VAL, "<$file");
- while(<VAL>) {
- if($bt) {
- # back trace parsing
- if($_ =~ /^==(\d+)== *(at|by) 0x([0-9A-F]+): (.*)/) {
- my $w = $4;
- if($w =~ /(.*) \(([^:]*):(\d+)/) {
- my ($func, $source, $line)=($1, $2, $3);
- my $sourcename = basename($source);
- if(-f "$srcdir/../src/$sourcename" ||
- -f "$srcdir/../lib/$sourcename") {
- # this is our source
- # print "$func() at $source:$line\n";
- $us++;
- } #else {print "Not our source: $func, $source, $line\n";}
- }
- }
- else {
- if($us) {
- # the stack trace included source details about us
-
- $error++;
- if($leak) {
- push @o, "\n Leaked $leak bytes\n";
- }
- if($invalidread) {
- push @o, "\n Read $invalidread invalid bytes\n";
- }
- if($uninitedvar) {
- push @o, "\n Conditional jump or move depends on uninitialised value(s)\n";
- }
- }
- $bt = 0; # no more backtrace
- $us = 0;
- }
- }
- else {
- if($_ =~ /(\d+) bytes in (\d+) blocks are definitely lost/) {
- $leak = $1;
- if($leak) {
- $error++;
- }
- $bt = 1;
- }
- elsif($_ =~ /Invalid read of size (\d+)/) {
- $invalidread = $1;
- $error++;
- $bt = 1;
- }
- elsif($_ =~ /Conditional jump or move/) {
- # If we require SSL, this test case most probaly makes
- # us use OpenSSL. OpenSSL produces numerous valgrind
- # errors of this kind, rendering it impossible for us to
- # detect (valid) reports on actual curl or libcurl code.
-
- if(!$sslenabled) {
- $uninitedvar = 1;
- $error++;
- $bt = 1;
- }
- else {
- $partial=1;
- }
- }
- }
- }
- close(VAL);
- return @o;
-}
-
-1;
diff --git a/Utilities/cmcurl-7.19.0/vc6curl.dsw b/Utilities/cmcurl-7.19.0/vc6curl.dsw
deleted file mode 100644
index 65174ba..0000000
--- a/Utilities/cmcurl-7.19.0/vc6curl.dsw
+++ /dev/null
@@ -1,44 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "curllib"=".\lib\curllib.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "curlsrc"=".\src\curlsrc.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name curllib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-